apostrophe-soundcloud
v0.5.0
Published
It's soundcloud for apostrophe.
Downloads
58
Readme
apostrophe-soundcloud
A simple, style-able soundcloud widget for Apostrophe.
You must have a SoundCloud client id in order to use this module. To obtain a client id, log in to SoundCloud and register an "application" on this page. It doesn't take long.
usage
Enable the module and configure your client id in app.js
modules: {
apostrophe-soundcloud: {
clientId: 'xxxxxxxxxxxxxxx'
}
// ...other modules
}
Now in a template, you can simply call the widget as an aposSingleton
{{ aposSingleton(page, 'sound', 'soundcloud', {}) }}
You can also add it to the controls aray of an aposArea
to make it available in the "Add Content" menu
{{ aposArea(page, 'mixed', {
controls: ['style', 'bold', 'italic', 'slideshow', 'soundcloud']
}) }}
configuration
You can set a multiPlay
option that allows multiple soundcloud widgets to play on the page at once. This defaults to false
, making sure that when a user clicks "play" on a soundcloud widget, the soundcloud manager will stop the playback of any other soundcloud widgets on the page.
You can also pass a displayOptions
object to customize the display of your waveforms
sampleSize
the resolution of the waveform. The higher the number, the chunkier it gets.innerColor
the fill color of the waveform before it has been interacted with.loadedColor
the fill color of the part of waveform that has been loaded after playplayedColor
the fill color for the part of the waveform that has already been playedscrubberColor
the color of the bar that appears when your cursor hovers over a sound that is playing
modules: {
apostrophe-soundcloud: {
clientId: 'xxxxxxxxxxxxxxxxxxx',
multiPlay: false,
displayOptions: {
sampleSize: 1,
innerColor: 'rgba(255, 255, 255)',
loadedColor: 'rgb(240, 240, 240)',
playedColor: 'rgb(160, 160, 160)',
scrubberColor: '#00ff00'
}
}
}
Instead of specifying site-wide displayOptions
, you can pass them directly into your widget. If you have configured displayOptions
in your app.js
, setting them in your singleton's options will extend what you have already set in app.js
{{ aposSingleton(page, 'sound', 'soundcloud', {
displayOptions: {
// override the loadedColor set in app.js but leave the other colors as-is
loadedColor: 'rgb(0, 0, 255)'
}
}) }}