Skip to content

Releases: naomiaro/waveform-playlist

Annotations Enhancement

20 May 22:33
Compare
Choose a tag to compare

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 and linkEndpoints have moved inside the annotationList 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

09 Mar 17:19
Compare
Choose a tag to compare

Small change with rendering so I can create an example 'loop' button.

http://naomiaro.github.io/waveform-playlist/web-audio-editor.html

Annotations Work

12 Feb 19:38
Compare
Choose a tag to compare

A first pass at annotations integration has been completed with the Aeneas format

Annotations Example

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

18 Jan 17:54
Compare
Choose a tag to compare
  • scroll performance is much better, especially on Firefox.
  • removed nested requestAnimationFrame calls to improve rendering performance.

Custom track canvas color

21 Dec 20:31
Compare
Choose a tag to compare
  • new track option added waveOutlineColor . Change the canvas color of a single track in combination with the recently added customClass track option.
  • mono/stereo rendering fixed. Stereo rendering was broken.

New example added for stereo rendering.

Custom classes for track styling

20 Dec 23:16
Compare
Choose a tag to compare

customClass has been added to the track options config to allow easier unique styling for certain tracks.

v2.6.1

18 Dec 17:54
Compare
Choose a tag to compare
  • Fix issues with clear event not fully resetting what is needed.

More detailed loading events

18 Dec 01:20
Compare
Choose a tag to compare

Two new events have been added to the emitter

  • audiosourcesloaded for when all tracks have been loaded and fully decoded by the load method.
  • audiosourcesrendered all tracks loaded via the load method have now been rendered on screen.

Playlist clear & exclusive solo

17 Dec 21:07
Compare
Choose a tag to compare
  • 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

01 Dec 16:52
Compare
Choose a tag to compare

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.