From eb2bbe653b8c032b70c8cc6c7b8e15acae782b71 Mon Sep 17 00:00:00 2001 From: Harry van Haaren Date: Tue, 10 Dec 2013 14:15:08 +0000 Subject: [PATCH] -Master Input section saved / restored properly --- src/diskreader.cxx | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/diskwriter.cxx | 10 ++++++++++ src/gmastertrack.cxx | 28 ++++++++++++++++++++++++++++ src/gmastertrack.hxx | 8 ++++++++ 4 files changed, 90 insertions(+) diff --git a/src/diskreader.cxx b/src/diskreader.cxx index 1655e2b..96b1da7 100644 --- a/src/diskreader.cxx +++ b/src/diskreader.cxx @@ -409,6 +409,50 @@ int DiskReader::readMaster() EventTrackVol e( -1, fader->valuedouble ); writeToDspRingbuffer( &e ); } + // input volume + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputVolume"); + EventMasterInputVol e( cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + // input to send + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputToSndVol"); + EventMasterInputTo e( INPUT_TO_SEND, cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + // input to key + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputToXSide"); + EventMasterInputTo e( INPUT_TO_XSIDE, cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + // input to mix + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputToMixVol"); + EventMasterInputTo e( INPUT_TO_MIX, cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + + // input to send active + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputToSndActive"); + EventMasterInputTo e( INPUT_TO_SEND, cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + // input to key active + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputToKeyActive"); + EventMasterInputTo e( INPUT_TO_SIDE_KEY, cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + // input to mix active + { + cJSON* cjson = cJSON_GetObjectItem( master, "inputToMixActive"); + EventMasterInputTo e( INPUT_TO_MIX, cjson->valuedouble ); + writeToDspRingbuffer( &e ); + } + // reverb { cJSON* reverb = cJSON_GetObjectItem( master, "reverb"); diff --git a/src/diskwriter.cxx b/src/diskwriter.cxx index 27df5f2..318ede8 100644 --- a/src/diskwriter.cxx +++ b/src/diskwriter.cxx @@ -363,6 +363,16 @@ void DiskWriter::writeMaster() // TODO add samplerate to session JSON //cJSON_AddNumberToObject( masterTrack, "samplerate", gui->getMasterTrack()->getBpm() ); + cJSON_AddNumberToObject( masterTrack, "inputVolume", gui->getMasterTrack()->getInputVolume()->value() ); + + cJSON_AddNumberToObject( masterTrack, "inputToSndActive", gui->getMasterTrack()->getInputToSend()->value() ); + cJSON_AddNumberToObject( masterTrack, "inputToKeyActive", gui->getMasterTrack()->getInputToSidechainKey()->value() ); + cJSON_AddNumberToObject( masterTrack, "inputToMixActive", gui->getMasterTrack()->getInputToMix()->value() ); + + cJSON_AddNumberToObject( masterTrack, "inputToSndVol", gui->getMasterTrack()->getInputToSendVol()->value() ); + cJSON_AddNumberToObject( masterTrack, "inputToXSide", gui->getMasterTrack()->getInputToXSide()->value() ); + cJSON_AddNumberToObject( masterTrack, "inputToMixVol", gui->getMasterTrack()->getInputToMixVol()->value() ); + // scene names Avtk::ClipSelector* clipSelector = master->getClipSelector(); cJSON* sceneNames = cJSON_CreateArray(); diff --git a/src/gmastertrack.cxx b/src/gmastertrack.cxx index e151505..99bb893 100644 --- a/src/gmastertrack.cxx +++ b/src/gmastertrack.cxx @@ -288,6 +288,34 @@ Avtk::Volume* GMasterTrack::getVolume() { return &volume; } + +Avtk::LightButton* GMasterTrack::getInputToSend() +{ + return &inputToSend; +} +Avtk::LightButton* GMasterTrack::getInputToSidechainKey() +{ + return &inputToSidechainKey; +} +Avtk::LightButton* GMasterTrack::getInputToMix() +{ + return &inputToMix; +} + +Avtk::Dial* GMasterTrack::getInputToSendVol() +{ + return &inputToSendVol; +} +Avtk::Dial* GMasterTrack::getInputToXSide() +{ + return &inputToSidechainSignalVol; +} +Avtk::Dial* GMasterTrack::getInputToMixVol() +{ + return &inputToMixVol; +} + + Avtk::ClipSelector* GMasterTrack::getClipSelector() { return &clipSel; diff --git a/src/gmastertrack.hxx b/src/gmastertrack.hxx index ac3f4c7..cf1202b 100644 --- a/src/gmastertrack.hxx +++ b/src/gmastertrack.hxx @@ -64,6 +64,14 @@ class GMasterTrack : public Fl_Group Avtk::Volume* getVolume(); Avtk::ClipSelector* getClipSelector(); + Avtk::LightButton* getInputToSend(); + Avtk::LightButton* getInputToSidechainKey(); + Avtk::LightButton* getInputToMix(); + + Avtk::Dial* getInputToSendVol(); + Avtk::Dial* getInputToXSide(); + Avtk::Dial* getInputToMixVol(); + ~GMasterTrack(); private: