//printf("MWindowGUI::resize_event %d\n", __LINE__);
mwindow->session->mwindow_w = w;
mwindow->session->mwindow_h = h;
- int x1 = get_w() - MainShBtns::calculate_w(-1, 0, -1) - xS(5);
+ int x1 = w - MainShBtns::calculate_w(-1, 0, -1) - xS(5);
mainshbtns->reposition_window(x1, -1);
int x2 = x1 - mwindow->theme->stack_button_w - xS(5);
stack_button->reposition_window(x2, stack_button->get_y());
if( result ) return result;
Track *this_track = 0, *first_track = 0;
- int collapse = 0, packed = 0, overwrite = 0, plugins = 0;
+ int packed = 0, overwrite = 0, plugins = 0;
double position = 0;
switch( get_keypress() ) {
case 'A':
- if( !alt_down() ) {
- if( !ctrl_down() || !shift_down() ) break;
+ if( !alt_down() && ctrl_down() ) {
mwindow->edl->tracks->clear_selected_edits();
draw_overlays(1);
result = 1;
- break;
- } // fall thru
+ }
+ break;
case 'a':
- if( !alt_down() ) break;
- stop_transport("MWindowGUI::keypress_event 1");
- mwindow->nearest_auto_keyframe(shift_down(),
- !ctrl_down() ? PLAY_FORWARD : PLAY_REVERSE);
- result = 1;
+ if( !ctrl_down() && alt_down() ) {
+ stop_transport("MWindowGUI::keypress_event 1");
+ mwindow->nearest_auto_keyframe(shift_down(),
+ !ctrl_down() ? PLAY_FORWARD : PLAY_REVERSE);
+ result = 1;
+ }
+ else if( ctrl_down() && alt_down() ) {
+ mwindow->select_edits(1);
+ result = 1;
+ }
break;
case 'e':
+ if( ctrl_down() || alt_down() ) break;
mwindow->toggle_editing_mode();
result = 1;
break;
result = 1;
break;
case 'M':
- collapse = 1;
+ mwindow->cut_selected_edits(0, 1);
+ result = 1;
+ break;
case BACKSPACE:
case 'm':
- mwindow->cut_selected_edits(0, collapse);
+ mwindow->cut_selected_edits(0, 0);
result = 1;
break;
case 'z':
- collapse = 1;
+ if( !alt_down() ) {
+ // z and ctrl-z both are undo, z mainmenu item
+ if( mwindow->session->current_operation == NO_OPERATION )
+ mwindow->undo_entry(this);
+ result = 1;
+ }
+ else if( ctrl_down() ) {
+ mwindow->cut_selected_edits(1, 1);
+ result = 1;
+ }
+ break;
case 'x':
if( !ctrl_down() || alt_down() ) break;
- mwindow->cut_selected_edits(1, collapse);
+ mwindow->cut_selected_edits(1, 0);
result = 1;
break;
if( (this_track = pane[i]->over_patchbay()) != 0 ) break;
}
- if( get_keypress() == TAB ) { // Switch the record button
+ if( get_keypress() == TAB ) { // Switch the armed button
if( this_track )
- this_track->record = !this_track->record ? 1 : 0;
+ this_track->armed = !this_track->armed ? 1 : 0;
}
else {
int total_selected = mwindow->edl->tracks->total_of(Tracks::RECORD);
// all selected if nothing previously selected or
// if this patch was previously the only one selected and armed
int selected = !total_selected || (total_selected == 1 &&
- this_track && this_track->record ) ? 1 : 0;
+ this_track && this_track->armed ) ? 1 : 0;
mwindow->edl->tracks->select_all(Tracks::RECORD, selected);
- if( !selected && this_track ) this_track->record = 1;
+ if( !selected && this_track ) this_track->armed = 1;
}
update(0, NORMAL_DRAW, 0, 0, 1, 0, 1);
}
}
+void MWindowGUI::close_keyvalue_popup()
+{
+ if( !keyvalue_popup ) return;
+ delete keyvalue_popup;
+ keyvalue_popup = 0;
+}
+
+void MWindowGUI::open_keyvalue_popup(BC_SubWindow *popup)
+{
+ close_keyvalue_popup();
+ keyvalue_popup = popup;
+}
+
PaneButton::PaneButton(MWindow *mwindow, int x, int y)
: BC_Button(x, y, mwindow->theme->get_image_set("pane"))
{