Releases: naomiaro/waveform-playlist
Annotations Enhancement
The configuration for the annotations has been updated as well as the CSS used when rendering the annotation list.
- editing of annotation text via contenteditable is now available.
- user defined custom functions are now enabled to help enhance the editing experience
- configuration options
isContinuousPlay
andlinkEndpoints
have moved inside theannotationList
config object.
// configuration object for the annotations add on.
annotationList: {
// Array of annotations in [Aeneas](https://github.com/readbeyond/aeneas) JSON format
annotations: [],
// Whether the annotation texts will be in updateable contenteditable html elements
editable: false,
// User defined functions which can manipulate the loaded annotations
controls: [{
// class names for generated <i> tag separated by '.'
class: 'fa.fa-minus',
// title attribute for the generated <i> tag
title: 'Reduce annotation end by 0.010s',
// function which acts on the given annotation row
// when the corresponding <i> is clicked.
action: (annotation, i, annotations, opts) => {
// @param Object annotation - current annotation
// @param Number i - index of annotation
// @param Array annotations - array of annotations in the playlist
// @param Object opts - configuration options available
// - opts.linkEndpoints
}
}],
// If false when clicking an annotation id segment
// playback will stop after segment completion.
isContinuousPlay: false,
// If true annotation endpoints will remain linked when dragged
// if they were the same value before dragging started.
linkEndpoints: false,
}
v2.10.1
Small change with rendering so I can create an example 'loop' button.
http://naomiaro.github.io/waveform-playlist/web-audio-editor.html
Annotations Work
A first pass at annotations integration has been completed with the Aeneas format
Four new config options for playlist have been added
// Array of annotations in [Aeneas](https://github.com/readbeyond/aeneas) JSON format
annotations: [],
// Whether to automatically scroll the waveform while playing
isAutomaticScroll: false,
// If false when clicking an annotation id segment
// playback will stop after segment completion.
isContinuousPlay: false,
// If true annotation endpoints will remain linked when dragged
// if they were the same value before dragging started.
linkEndpoints: false,
In correspondence, four new events have been added to invoke.
event | arguments | description |
---|---|---|
automaticscroll |
true /false |
Change property isAutomaticScroll . |
continuousplay |
true /false |
Change property isContinuousPlay . |
linkendpoints |
true /false |
Change property linkEndpoints . |
annotationsrequest |
none | Requests to download the annotations to a json file. |
Performance Updates
- scroll performance is much better, especially on Firefox.
- removed nested requestAnimationFrame calls to improve rendering performance.
Custom track canvas color
- new track option added
waveOutlineColor
. Change the canvas color of a single track in combination with the recently addedcustomClass
track option. - mono/stereo rendering fixed. Stereo rendering was broken.
New example added for stereo rendering.
Custom classes for track styling
customClass
has been added to the track options config to allow easier unique styling for certain tracks.
v2.6.1
More detailed loading events
Two new events have been added to the emitter
audiosourcesloaded
for when all tracks have been loaded and fully decoded by theload
method.audiosourcesrendered
all tracks loaded via theload
method have now been rendered on screen.
Playlist clear & exclusive solo
- A new event
clear
can be emitted to stop playback and remove all tracks from the current playlist. - New config flag
exclSolo
can be passed on initialization to make the solo button only solo 1 track at a time.
Removes any need for webpack
A webpack loader worker-loader
was being relied upon previously to load web workers into the project. This dependency has been removed and now package inline-worker
is being used instead to load recorder and exporter workers.
Waveform Playlist can now be included into Electron projects.