/*
 * Copyright © 2020 Luciano Iam <lucianito@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

 // Example empty callback

 export class ArdourCallback {

	// Connection status
	onConnected () {}
	onDisconnected () {}

	// All messages and errors
 	onMessage (msg) {}	
 	onError (error) {}

	// Globals
	onTempo (bpm) {}
	onPositionTime (seconds) {}
	onTransportRoll (value) {}
	onRecordState (value) {}

	// Strips
	onStripDescription (stripId, name, isVca) {}
	onStripMeter (stripId, db) {}
	onStripGain (stripId, db) {}
	onStripPan (stripId, value) {}
	onStripMute (stripId, value) {}

	// Strip plugins
	onStripPluginDescription (stripId, pluginId, name) {}
	onStripPluginEnable (stripId, pluginId, value) {}

	// Strip plugin parameters
	// valueType
	//   'b' : boolean
	//   'i' : integer
	//   'd' : double
	onStripPluginParamDescription (stripId, pluginId, paramId, name, valueType, min, max, isLog) {}
	onStripPluginParamValue (stripId, pluginId, paramId, value) {}

}
