2013-05-18 20:52:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
#ifndef LUPPP_CONTROLLER_H
|
|
|
|
#define LUPPP_CONTROLLER_H
|
|
|
|
|
2013-07-31 19:01:51 +02:00
|
|
|
#include <string>
|
|
|
|
|
2013-08-01 20:58:26 +02:00
|
|
|
#include "../gridlogic.hxx"
|
|
|
|
|
2013-05-18 20:52:12 +02:00
|
|
|
class Controller
|
|
|
|
{
|
|
|
|
public:
|
2013-08-22 15:36:56 +02:00
|
|
|
/// registers subclass instance with ControllerUpdater
|
2013-08-22 14:53:50 +02:00
|
|
|
Controller();
|
|
|
|
|
2013-05-18 22:12:36 +02:00
|
|
|
virtual ~Controller(){};
|
2013-05-18 20:52:12 +02:00
|
|
|
|
2013-07-31 19:01:51 +02:00
|
|
|
/// name string to show in UI
|
|
|
|
virtual std::string getName() = 0;
|
|
|
|
|
2013-08-04 19:49:27 +02:00
|
|
|
/// master
|
2013-09-18 11:09:26 +02:00
|
|
|
virtual void masterVolume(float f){}
|
|
|
|
virtual void metronomeEnable(bool b){}
|
2013-08-04 19:49:27 +02:00
|
|
|
|
|
|
|
/// FX
|
2013-09-18 11:09:26 +02:00
|
|
|
virtual void trackSend(int t, int send, float v){}
|
2013-09-24 19:30:29 +02:00
|
|
|
virtual void trackSendActive(int t, int send, bool a){}
|
2013-08-04 19:49:27 +02:00
|
|
|
|
2013-08-05 18:52:53 +02:00
|
|
|
/// Time
|
2013-09-18 11:09:26 +02:00
|
|
|
virtual void bpm(int bpm){}
|
|
|
|
virtual void tapTempo(bool b){}
|
2013-08-05 18:52:53 +02:00
|
|
|
|
2013-08-04 19:04:26 +02:00
|
|
|
/// track functionality
|
2013-09-18 11:09:26 +02:00
|
|
|
virtual void mute(int t, bool b){}
|
|
|
|
virtual void volume(int t, float f){}
|
|
|
|
virtual void progress(int t, int s, float f){}
|
|
|
|
virtual void recordArm(int t, bool r){}
|
|
|
|
virtual void setSceneState(int track, int scene, GridLogic::State s){}
|
|
|
|
virtual void launchScene( int scene ){}
|
2013-08-26 22:06:55 +02:00
|
|
|
|
|
|
|
/// reset controller
|
|
|
|
virtual void reset();
|
2013-05-18 20:52:12 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // LUPPP_CONTROLLER_H
|
|
|
|
|