projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add 'v' shortcut in resource wdw, sams proxy icons, update shortcuts doc
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
patchgui.C
diff --git
a/cinelerra-5.1/cinelerra/patchgui.C
b/cinelerra-5.1/cinelerra/patchgui.C
index 1e31919b3b9699756d01aec7216b920f0d4a47df..9ae8c4ef8cae7068ac69c36ac5d00d205321cd6f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/patchgui.C
+++ b/
cinelerra-5.1/cinelerra/patchgui.C
@@
-42,7
+42,7
@@
#include "tracks.h"
#include "transportque.h"
#include "vframe.h"
#include "tracks.h"
#include "transportque.h"
#include "vframe.h"
-
+#include "zwindow.h"
PatchGUI::PatchGUI(MWindow *mwindow,
PatchGUI::PatchGUI(MWindow *mwindow,
@@
-65,22
+65,24
@@
PatchGUI::PatchGUI(MWindow *mwindow,
mute = 0;
expand = 0;
nudge = 0;
mute = 0;
expand = 0;
nudge = 0;
+ mix = 0;
change_source = 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()
{
}
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()
}
void PatchGUI::create_objects()
@@
-199,7
+201,7
@@
int PatchGUI::update(int x, int y)
record->update(track->record);
gang->update(track->gang);
draw->update(track->draw);
record->update(track->record);
gang->update(track->gang);
draw->update(track->draw);
- mute->update(m
ute->get_keyframe(mwindow, this
)->value);
+ mute->update(m
window->get_int_auto(this, AUTOMATION_MUTE
)->value);
expand->update(track->expand_view);
}
}
expand->update(track->expand_view);
}
}
@@
-423,6
+425,10
@@
int RecordPatch::button_press_event()
get_value(),
this,
&patch->track->record);
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;
return 1;
}
return 0;
@@
-555,7
+561,7
@@
int DrawPatch::button_release_event()
MutePatch::MutePatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
: BC_Toggle(x, y,
mwindow->theme->get_image_set("mutepatch_data"),
MutePatch::MutePatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
: BC_Toggle(x, y,
mwindow->theme->get_image_set("mutepatch_data"),
-
get_keyframe(mwindow, patch
)->value,
+
mwindow->get_int_auto(patch, AUTOMATION_MUTE
)->value,
"",
0,
0,
"",
0,
0,
@@
-609,27
+615,6
@@
int MutePatch::button_release_event()
return result;
}
return result;
}
-IntAuto* MutePatch::get_keyframe(MWindow *mwindow, PatchGUI *patch)
-{
- Auto *current = 0;
- double unit_position = mwindow->edl->local_session->get_selectionstart(1);
- unit_position = mwindow->edl->align_to_frame(unit_position, 0);
- unit_position = patch->track->to_units(unit_position, 0);
- return (IntAuto*)patch->track->automation->autos[AUTOMATION_MUTE]->get_prev_auto(
- (int64_t)unit_position,
- PLAY_FORWARD,
- current);
-}
-
-
-
-
-
-
-
-
-
-
ExpandPatch::ExpandPatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
ExpandPatch::ExpandPatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
@@
-677,19
+662,23
@@
int ExpandPatch::button_release_event()
}
}
-
-
-
TitlePatch::TitlePatch(MWindow *mwindow, PatchGUI *patch, int x, int y)
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;
{
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()
}
int TitlePatch::handle_event()
@@
-703,13
+692,6
@@
int TitlePatch::handle_event()
}
}
-
-
-
-
-
-
-
NudgePatch::NudgePatch(MWindow *mwindow,
PatchGUI *patch,
int x,
NudgePatch::NudgePatch(MWindow *mwindow,
PatchGUI *patch,
int x,
@@
-734,13
+716,13
@@
int NudgePatch::handle_event()
void NudgePatch::set_value(int64_t value)
{
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);
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)
mwindow->gui->unlock_window();
if(patch->track->data_type == TRACK_VIDEO)
@@
-810,5
+792,34
@@
void NudgePatch::update()
}
}
+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);
+}