#include "tracks.h"
#include "transportque.h"
#include "vframe.h"
-
+#include "zwindow.h"
PatchGUI::PatchGUI(MWindow *mwindow,
mute = 0;
expand = 0;
nudge = 0;
+ mix = 0;
change_source = 0;
- track_id = -1;
- if(track) track_id = track->get_id();
+ track_id = track ? track->get_id() : -1;
+ mixer = 0;
}
PatchGUI::~PatchGUI()
{
- if(title) delete title;
- if(record) delete record;
- if(play) delete play;
-// if(automate) delete automate;
- if(gang) delete gang;
- if(draw) delete draw;
- if(mute) delete mute;
- if(expand) delete expand;
- if(nudge) delete nudge;
+ delete title;
+ delete record;
+ delete play;
+// delete automate;
+ delete gang;
+ delete draw;
+ delete mute;
+ delete expand;
+ delete nudge;
+ delete mix;
}
void PatchGUI::create_objects()
get_value(),
this,
&patch->track->record);
+ patch->title->set_back_color(patch->track->record ?
+ get_resources()->text_background :
+ get_resources()->text_background_disarmed);
+ patch->title->set_text_row(0);
return 1;
}
return 0;
}
-
-
-
TitlePatch::TitlePatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
- : BC_TextBox(x,
- y,
- patch->patchbay->get_w() - 10,
- 1,
- patch->track->title,
- 1, MEDIUMFONT, 1)
+ : BC_TextBox(x, y, patch->patchbay->get_w() - 10, 1,
+ patch->track->title, 1, MEDIUMFONT, 1)
{
this->mwindow = mwindow;
this->patch = patch;
+ set_back_color(patch->track->record ?
+ get_resources()->text_background :
+ get_resources()->text_background_disarmed);
+}
+
+void TitlePatch::update(const char *text)
+{
+ set_back_color(patch->track->record ?
+ get_resources()->text_background :
+ get_resources()->text_background_disarmed);
+ BC_TextBox::update(text);
}
int TitlePatch::handle_event()
}
-
-
-
-
-
-
-
NudgePatch::NudgePatch(MWindow *mwindow,
PatchGUI *patch,
int x,
void NudgePatch::set_value(int64_t value)
{
- mwindow->undo->update_undo_before(_("nudge"), this);
+ mwindow->undo->update_undo_before(_("nudge."), this);
patch->track->nudge = value;
if(patch->track->gang && patch->track->record)
patch->patchbay->synchronize_nudge(patch->track->nudge, patch->track);
- mwindow->undo->update_undo_after(_("nudge"), LOAD_PATCHES);
+ mwindow->undo->update_undo_after(_("nudge."), LOAD_PATCHES);
mwindow->gui->unlock_window();
if(patch->track->data_type == TRACK_VIDEO)
}
+MixPatch::MixPatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
+ : BC_Toggle(x, y, mwindow->theme->get_image_set("mixpatch_data"),
+ patch->mixer, "", 0, 0, 0)
+{
+ this->mwindow = mwindow;
+ this->patch = patch;
+}
+MixPatch::~MixPatch()
+{
+}
+
+int MixPatch::handle_event()
+{
+ int v = patch->track ? get_value() : 0;
+ if( patch->mixer != v ) {
+ if( patch->track )
+ mwindow->gui->update_mixers(patch->track, v);
+ else
+ update(v);
+ mwindow->update_mixer_tracks();
+ }
+ return 1;
+}
+
+void MixPatch::update(int v)
+{
+ patch->mixer = v;
+ BC_Toggle::update(v);
+}