Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add getFilters method #982

Merged
merged 4 commits into from
Feb 12, 2017
Merged

add getFilters method #982

merged 4 commits into from
Feb 12, 2017

Conversation

entonbiba
Copy link
Contributor

@entonbiba entonbiba commented Feb 10, 2017

The method will return an array of all the set filters.

For example when doing something like this:

// setFilters
var lowpass = wavesurfer.backend.ac.createBiquadFilter();
wavesurfer.backend.setFilter(lowpass);

// getFilters
wavesurfer.getFilters();

add 'Filters must be set with setFilters method first' note.
* Filters must be set with setFilters method first
*/
getFilters: function() {
if (typeof this.backend.filters !== 'undefined') {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can simply return without this check.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katspaugh it will return undefined without the check since filters is not set in the wavesurfer.backend by default to empty.

image

Once it's set via wavesurfer.backend.setFilter(lowpass), it contains the filters in .backend.

image

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will return undefined in your current code as well. There's no else-clause, so the function returns nothing, i.e. undefined.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katspaugh I added the else statement to return an empty array.

return this.backend.filters;
} else{
return [];
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return this.backend.filters || [];

@entonbiba
Copy link
Contributor Author

@katspaugh I've made it one line as suggested.
return this.backend.filters || [];

@katspaugh katspaugh merged commit d69fa6e into master Feb 12, 2017
@katspaugh katspaugh deleted the entonbiba-patch-1 branch February 12, 2017 22:29
mspae pushed a commit to mspae/wavesurfer.js that referenced this pull request Mar 6, 2017
* add getFilters method

* add getFilters() method

add 'Filters must be set with setFilters method first' note.

* return empty array if no filters are set

* change to `return this.backend.filters || [];`
mspae added a commit that referenced this pull request Mar 8, 2017
* added contributing info (#1006)

* Readded global audio context singleton, functionally equal to PR #1021

* Cleanup npm package (#995)

* ignore eclipse project files

* exclude everything except dist, plugin and src directories in npm package

* only include minified plugins in npm package

* updated .npmignore to exclude everything except dist and src directories and subdirectories

* Add support for forceDecode (#1009)

* Add support for forceDecode

Adds the `forceDecode` option to force client side decoding of the audio after download regardless if pre-decoded peaks are passed to the `.load/2` method. This is primarily for use with `.zoom/1` to enable high fidelity rendering on zoom. Without local decoding, the zoom on pre-decoded peaks is very low fidelity.

* Update conditional brackets for failing test

* nullify this.arraybuffer when destroying to prevent memory leak

* removed <<<< HEAD

* return array when using getImage() (#1027)

* return array when using getImage()

* return one canvas image data if not multiple canvases

* Update drawer.multicanvas.js

* updated getImage()

* add comments fir getImage()

* updated comments

* updated getImage to es6 syntax and applied jsdoc formatting

* create new labels feature for spectrogram plugin (#984)

* create new labels feature for spectrogram plugin

- create labels parameter (true|false)
- create labels element and canvas
- create labels frequency method loadLabels();
- update createWrapper() method and apply labels feature parameter.

* create new labels feature for spectrogram plugin

create new labels feature for spectrogram plugin

- create labels parameter (true|false)
- create labels element and canvas
- create labels frequency method loadLabels();
- update createWrapper() method and apply labels feature parameter.

* remove extra spaces

* removed one more extra white space :)

* update css formatting

* remove extra space

* remove extra space

* Updated spectrogram labels to es6

* add getFilters method (#982)

* add getFilters method

* add getFilters() method

add 'Filters must be set with setFilters method first' note.

* return empty array if no filters are set

* change to `return this.backend.filters || [];`

* add debounce to resize/orientationchange event for minimap plugin (#987)

* add debounce to resize event
* add orientationchange event

* getVolume method (#978)

* getVolume method

returns the current gainNode volume.

* added getVolume method

* added getVolume method

* updated getVolume to es6 syntax

* avoid error when calling pause before play (#977)

This prevents a `Failed to execute 'stop' on 'AudioBufferSourceNode'` when stop() is called before play().

* fix getDuration() return value when using MediaElement (#941)

* fix getDuration() return value for MediaElement

change getDuration function in mediaelement.js to return the correct duration length same as WebAudio.

from
        var duration = this.media.duration; // incorrect duration value returned
        console.log preview:
        https://cloud.githubusercontent.com/assets/5193884/22399178/6d26c1fe-e565-11e6-9b13-e6107641666a.png
to
        var duration = this.buffer.duration; // correct duration value returned same as WebAudio
        console.log preview:
        https://cloud.githubusercontent.com/assets/5193884/22393549/7b130096-e4d6-11e6-83ff-4ebb78b9e42f.png

* Update mediaelement.js

* add wavesurfer.getPlaybackRate() (#939)

add getPlaybackRate method and return playback rate.
mspae pushed a commit to mspae/wavesurfer.js that referenced this pull request Aug 19, 2017
* add getFilters method

* add getFilters() method

add 'Filters must be set with setFilters method first' note.

* return empty array if no filters are set

* change to `return this.backend.filters || [];`
mspae pushed a commit that referenced this pull request Aug 20, 2017
* add getFilters method

* add getFilters() method

add 'Filters must be set with setFilters method first' note.

* return empty array if no filters are set

* change to `return this.backend.filters || [];`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants