diff --git a/src/diskreader.cxx b/src/diskreader.cxx index 2e27a3d..7cd207d 100644 --- a/src/diskreader.cxx +++ b/src/diskreader.cxx @@ -65,7 +65,7 @@ void DiskReader::readSession( std::string path ) readGrid(); - + readMaster(); // cleanup cJSON_Delete( session ); @@ -81,7 +81,27 @@ void DiskReader::readMaster() cJSON* master = cJSON_GetObjectItem( session, "master"); if ( master ) { - cJSON* volume = cJSON_GetObjectItem( master, "volume"); + + // fader + { + cJSON* fader = cJSON_GetObjectItem( master, "fader"); + EventTrackVol e( -1, fader->valuedouble ); + writeToDspRingbuffer( &e ); + } + // reverb + { + cJSON* reverb = cJSON_GetObjectItem( master, "reverb"); + + cJSON* active = cJSON_GetObjectItem( master, "active"); + cJSON* size = cJSON_GetObjectItem( master, "wet"); + cJSON* wet = cJSON_GetObjectItem( master, "dry"); + cJSON* damping = cJSON_GetObjectItem( master, "damping"); + + EventFxReverb e( active->valuedouble, size->valuedouble, + wet->valuedouble, damping->valuedouble ); + writeToDspRingbuffer( &e ); + } + } diff --git a/src/diskwriter.cxx b/src/diskwriter.cxx index f5f2e67..926c7ff 100644 --- a/src/diskwriter.cxx +++ b/src/diskwriter.cxx @@ -74,7 +74,6 @@ void DiskWriter::writeMaster() cJSON_AddNumberToObject( masterTrack, "fader", master->getVolume()->value() ); - // scene names Avtk::ClipSelector* clipSelector = master->getClipSelector(); cJSON* sceneNames = cJSON_CreateArray(); @@ -89,12 +88,13 @@ void DiskWriter::writeMaster() Avtk::Reverb* rev = master->getReverb(); cJSON* reverb = cJSON_CreateObject(); cJSON_AddItemToObject( masterTrack, "reverb", reverb ); + cJSON_AddNumberToObject( reverb, "active", rev->getActive() ); cJSON_AddNumberToObject( reverb, "size", rev->size() ); cJSON_AddNumberToObject( reverb, "wet", rev->wet() ); cJSON_AddNumberToObject( reverb, "damping", rev->damping() ); - cJSON_AddNumberToObject( reverb, "wet", rev->wet() ); - cJSON_AddNumberToObject( reverb, "damping", rev->damping() ); + //cJSON_AddNumberToObject( reverb, "wet", rev->wet() ); + //cJSON_AddNumberToObject( reverb, "damping", rev->damping() ); } @@ -124,7 +124,7 @@ void DiskWriter::writeSession( std::string path, std::string sessionName ) // add track metadata: volumes, sends etc cJSON_AddNumberToObject( track, "ID", t ); - cJSON_AddNumberToObject( track, "volume", 0.4 ); + cJSON_AddNumberToObject( track, "fader", 0.4 ); // write clipData vector into clip placeholder cJSON* clips = cJSON_CreateArray(); diff --git a/src/event.hxx b/src/event.hxx index f9bccdf..4a39f9d 100644 --- a/src/event.hxx +++ b/src/event.hxx @@ -174,13 +174,14 @@ class EventFxReverb : public EventBase int type() { return int(FX_REVERB); } uint32_t size() { return sizeof(EventFxReverb); } - int track; bool enable; - float damping; + float rtSize; + float wet; + float damping; EventFxReverb(){}; - EventFxReverb(int t, bool e, float d, float s): track(t), enable(e), damping(d), rtSize(s) {} + EventFxReverb(bool e, float s, float w, float d): enable(e), rtSize(s), wet(w), damping(d) {} }; class EventTrackSend : public EventBase diff --git a/src/gmastertrack.hxx b/src/gmastertrack.hxx index 2365cb3..0961877 100644 --- a/src/gmastertrack.hxx +++ b/src/gmastertrack.hxx @@ -27,7 +27,7 @@ static void gmastertrack_reverb_cb(Fl_Widget *w, void *data) { int enable = ((Avtk::Reverb*)w)->getActive(); printf("reverb enable %i\n",enable); - EventFxReverb e = EventFxReverb( -1, enable, 0.5, 0.5 ); + EventFxReverb e = EventFxReverb( enable, 0.5, 0.5, 0.5 ); writeToDspRingbuffer( &e ); } diff --git a/src/gui.cxx b/src/gui.cxx index 616d38b..47c0e73 100644 --- a/src/gui.cxx +++ b/src/gui.cxx @@ -89,8 +89,8 @@ static void gui_header_callback(Fl_Widget *w, void *data) break; } } - else if ( strcmp(m->label(), "Save ") == 0 ) { - + else if ( strcmp(m->label(), "Save ") == 0 ) + { const char* name = fl_input( "Save session as", "sessionName" ); if ( name ) {