audiofile support + improved sample rate support + results of a -Wall -Werr
[terminatorX.git] / src / tX_seqpar.cc
index d8efcd33b7203fb250c6452d3ffe25d2fd801aa0..6f42f29966464e2608fe0478f1a3cf1a6d823d99 100644 (file)
@@ -150,7 +150,7 @@ void tX_seqpar :: create_persistence_ids()
        }
 }
 
-tX_seqpar* tX_seqpar :: get_sp_by_persistence_id(int pid)
+tX_seqpar* tX_seqpar :: get_sp_by_persistence_id(unsigned int pid)
 {
        list <tX_seqpar *> :: iterator sp;
        
@@ -227,6 +227,7 @@ const char * tX_seqpar :: get_name()
 float tX_seqpar :: get_value()
 {
        printf("Ooops. tX_seqpar::get_value() called. Trouble.");
+       return 0.0;     
 }
 
 void tX_seqpar :: do_exec(const float value)
@@ -383,7 +384,7 @@ void tX_seqpar_vtt_speed :: handle_mouse_input(float adjustment)
 
 void tX_seqpar_vtt_speed :: do_exec(const float value)
 {
-       tt->speed=value;
+       tt->speed=value*tt->audiofile_pitch_correction;
 }
 
 const char * tX_seqpar_vtt_speed :: get_name()
@@ -433,6 +434,30 @@ const char * tX_seqpar_vtt_volume :: get_name()
         return "Volume";
 }
 
+/**** Sequencable Parameter : Pan ****/
+
+tX_seqpar_vtt_pan :: tX_seqpar_vtt_pan()
+{
+       set_mapping_parameters(1.0, -1.0, TX_SEQPAR_DEFAULT_SCALE, 1);
+}
+
+float tX_seqpar_vtt_pan :: get_value(){ return tt->pan; }
+
+void tX_seqpar_vtt_pan :: do_exec(const float value)
+{
+       tt->set_pan(value);
+}
+
+void tX_seqpar_vtt_pan :: do_update_graphics ()
+{
+       gtk_adjustment_set_value(tt->gui.pan, tt->pan);
+}
+
+const char * tX_seqpar_vtt_pan :: get_name()
+{
+        return "Pan";
+}
+
 /**** Sequencable Parameter: TURNTABLE PITCH ****/
 
 tX_seqpar_vtt_pitch :: tX_seqpar_vtt_pitch()
@@ -705,6 +730,55 @@ const char * tX_seqpar_vtt_ec_feedback :: get_name()
         return "Echo: Feedback";
 }
 
+/**** Sequencable Parameter: TURNTABLE ECHO PAN ****/
+
+tX_seqpar_vtt_ec_pan :: tX_seqpar_vtt_ec_pan()
+{
+       set_mapping_parameters(1.0, -1.0, TX_SEQPAR_DEFAULT_SCALE, 1);
+}
+
+float tX_seqpar_vtt_ec_pan :: get_value() { return tt->ec_pan; }
+
+void tX_seqpar_vtt_ec_pan :: do_exec(const float value)
+{
+       tt->ec_set_pan(value);
+}
+
+void tX_seqpar_vtt_ec_pan :: do_update_graphics ()
+{
+       gtk_adjustment_set_value(tt->gui.ec_pan, tt->ec_pan);
+}
+
+const char * tX_seqpar_vtt_ec_pan :: get_name()
+{
+        return "Echo: Pan";
+}
+
+/**** Sequencable Parameter: TURNTABLE ECHO VOLUME ****/
+
+tX_seqpar_vtt_ec_volume :: tX_seqpar_vtt_ec_volume()
+{
+       set_mapping_parameters(0.0, 3.0, TX_SEQPAR_DEFAULT_SCALE, 1);
+}
+
+float tX_seqpar_vtt_ec_volume :: get_value() { return tt->ec_volume; }
+
+void tX_seqpar_vtt_ec_volume :: do_exec(const float value)
+{
+       tt->ec_set_volume(value);
+}
+
+void tX_seqpar_vtt_ec_volume :: do_update_graphics ()
+{
+       gtk_adjustment_set_value(tt->gui.ec_volume, tt->ec_volume);
+}
+
+const char * tX_seqpar_vtt_ec_volume :: get_name()
+{
+        return "Echo: Volume";
+}
+
+
 /**** Sequencable Parameter: TURNTABLE MUTE ****/
 
 tX_seqpar_vtt_mute :: tX_seqpar_vtt_mute()
@@ -787,6 +861,7 @@ void tX_seqpar_vttfx_float :: do_update_graphics()
 GtkSignalFunc tX_seqpar_vttfx_float :: gtk_callback(GtkWidget* w, tX_seqpar_vttfx_float *sp)
 {
        sp->receive_gui_value(sp->myadj->value);        
+       return NULL;    
 }
 
 #define WID_DYN TRUE, TRUE, 0
@@ -829,6 +904,7 @@ void tX_seqpar_vttfx_int :: do_update_graphics()
 GtkSignalFunc tX_seqpar_vttfx_int :: gtk_callback(GtkWidget* w, tX_seqpar_vttfx_int *sp)
 {
        sp->receive_gui_value(sp->myadj->value);        
+       return NULL;
 }
 
 void tX_seqpar_vttfx_bool :: create_widget()
@@ -852,6 +928,7 @@ void tX_seqpar_vttfx_bool :: do_exec(const float value)
 GtkSignalFunc tX_seqpar_vttfx_bool :: gtk_callback(GtkWidget* w, tX_seqpar_vttfx_bool *sp)
 {
        sp->receive_gui_value(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sp->widget)));     
+       return NULL;
 }
 
 void tX_seqpar_vttfx_bool :: do_update_graphics()