1.4.6 • Published 8 years ago

start-app v1.4.6

Weekly downloads
7
License
MIT
Repository
github
Last release
8 years ago

start-app unstable

Create demo page for an audio component.

Usage

npm install start-app

var createDemo = require('audio-demo');

var app = createDemo({
	//container to use as a start-app demo
	container: el,

	//audio context (by default audio-context module)
	context: audioContext,

	//default source url to play, if undefined open file dialog will be shown
	source: null,

	//API token for soundcloud
	token: 'xxxxx...',

	//allow dropping files to browser
	dragAndDrop: true,

	//WIP open last user settings from last session: song, time
	saveSession: true,

	//enable open file dialog
	file: true,

	//enable load url input
	url: true,

	//enable microphone input
	mic: false,

	//default color for all elements
	color: 'black',

	//set of icons to use for source input component (svg components)
	icons: {open, record, mic, error, soundcloud, loading, error, url},

	//show fps stats
	fps: true,

	//start song as only as ready
	autoplay: true,

	//repeat played track or stop at the end
	loop: true,

	//show progress bar at the top of the page
	progress: true,

	//show play/pause buttons
	playPause: true,

	//show stop button
	stop: true,

	//show title of track/current source
	title: true,

	//show status icon
	icon: true,

	//github link
	github: 'dfcreative/start-app',

	//reflect params in navigation history
	history: true,

	//enable settings menu, optionally with the passed fields
	params: [
		{
			name: 'logarithmic',
			type: 'checkbox',
			value: true
		},
		{
			name: 'colormap',
			label: 'Color map',
			type: 'select',
			values: {
				cdom: 'cdom',
				inferno: 'inferno',
				plasma: 'plasma'
			},
			value: 'cdom',
			change: function (value) {}
		},
		{
			name: 'text-param',
			label: 'Text Param',
			type: 'text',
			placeholder: 'some value',
			value:'',
		}
	]
});

//called when new source is set, inc. microphone.
app.on('source', (audioNode, url) => {
	//do any sort of connection here
	audioNode.connect(app.context.destination);
});

//set a new audio source
app.setSource(url, cb(audioNode, url)?);

//control playback & menu - play/pause/stop
app.play();
app.pause();
app.reset();

//called when track is played/paused/stopped
app.on('play', (audioNode) => {});
app.on('pause', (audioNode) => {});
app.on('stop', (audioNode) => {});


//call to update options
app.update(opts);

//set color of fonts, icons, fps etc. Better than calling update.
app.setColor(color);


//called when any of settings changed
app.on('change', (name, value, state) => {});

//creating parameters
app.addParams(list|object);
app.addParam('my-param', {
	type: 'range',
	value: 0,
	min: 0,
	max: 100,
	step: 1
}, function onchange (value) {});
app.getParamValue('my-param');

Inspired by

Used by

1.4.6

8 years ago

1.4.5

8 years ago

1.4.4

8 years ago

1.4.3

8 years ago

1.4.2

8 years ago

1.4.1

8 years ago

1.4.0

8 years ago

1.3.23

8 years ago

1.3.22

8 years ago

1.3.21

8 years ago

1.3.20

8 years ago

1.3.19

8 years ago

1.3.18

8 years ago

1.3.17

8 years ago

1.3.16

8 years ago

1.3.15

8 years ago

1.3.14

8 years ago

1.3.13

8 years ago

1.3.12

8 years ago

1.3.11

8 years ago

1.3.10

8 years ago

1.3.9

8 years ago

1.3.8

8 years ago

1.3.7

8 years ago

1.3.6

8 years ago

1.3.5

8 years ago

1.3.4

8 years ago

1.3.3

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.13

8 years ago

1.1.12

8 years ago

1.1.11

8 years ago

1.1.10

8 years ago

1.1.9

8 years ago

1.1.8

8 years ago

1.1.7

8 years ago

1.1.6

8 years ago

1.1.5

8 years ago

1.1.4

8 years ago

1.1.3

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago