79 |
add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | |
add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | |
80 |
Gdk::POINTER_MOTION_MASK | Gdk::POINTER_MOTION_HINT_MASK); |
Gdk::POINTER_MOTION_MASK | Gdk::POINTER_MOTION_HINT_MASK); |
81 |
|
|
82 |
dimensionManager.articulation_changed_signal.connect( |
dimensionManager.region_to_be_changed_signal.connect( |
83 |
sigc::mem_fun(*this, &RegionChooser::on_dimension_manager_changed) |
region_to_be_changed_signal.make_slot() |
84 |
|
); |
85 |
|
dimensionManager.region_changed_signal.connect( |
86 |
|
region_changed_signal.make_slot() |
87 |
|
); |
88 |
|
dimensionManager.region_changed_signal.connect( |
89 |
|
sigc::hide( |
90 |
|
sigc::mem_fun(*this, &RegionChooser::on_dimension_manager_changed) |
91 |
|
) |
92 |
); |
); |
93 |
} |
} |
94 |
|
|
291 |
|
|
292 |
// place region before r if it's not already there |
// place region before r if it's not already there |
293 |
if (prev_region != region) { |
if (prev_region != region) { |
294 |
|
instrument_struct_to_be_changed_signal.emit(instrument); |
295 |
instrument->MoveRegion(region, r); |
instrument->MoveRegion(region, r); |
296 |
|
instrument_struct_changed_signal.emit(instrument); |
297 |
} |
} |
298 |
} |
} |
299 |
|
|
660 |
if (r->KeyRange.low > new_region_pos) break; |
if (r->KeyRange.low > new_region_pos) break; |
661 |
} |
} |
662 |
|
|
663 |
|
instrument_struct_to_be_changed_signal.emit(instrument); |
664 |
|
|
665 |
region = instrument->AddRegion(); |
region = instrument->AddRegion(); |
666 |
region->KeyRange.low = region->KeyRange.high = new_region_pos; |
region->KeyRange.low = region->KeyRange.high = new_region_pos; |
667 |
|
|
668 |
instrument->MoveRegion(region, r); |
instrument->MoveRegion(region, r); |
669 |
|
|
670 |
|
instrument_struct_changed_signal.emit(instrument); |
671 |
|
|
672 |
queue_draw(); |
queue_draw(); |
673 |
region_selected(); |
region_selected(); |
674 |
instrument_changed(); |
instrument_changed(); |
676 |
|
|
677 |
void RegionChooser::delete_region() |
void RegionChooser::delete_region() |
678 |
{ |
{ |
679 |
|
instrument_struct_to_be_changed_signal.emit(instrument); |
680 |
instrument->DeleteRegion(region); |
instrument->DeleteRegion(region); |
681 |
|
instrument_struct_changed_signal.emit(instrument); |
682 |
|
|
683 |
region = 0; |
region = 0; |
684 |
queue_draw(); |
queue_draw(); |
685 |
region_selected(); |
region_selected(); |
697 |
region_selected(); |
region_selected(); |
698 |
instrument_changed(); |
instrument_changed(); |
699 |
} |
} |
700 |
|
|
701 |
|
sigc::signal<void, gig::Instrument*> RegionChooser::signal_instrument_struct_to_be_changed() { |
702 |
|
return instrument_struct_to_be_changed_signal; |
703 |
|
} |
704 |
|
|
705 |
|
sigc::signal<void, gig::Instrument*> RegionChooser::signal_instrument_struct_changed() { |
706 |
|
return instrument_struct_changed_signal; |
707 |
|
} |
708 |
|
|
709 |
|
sigc::signal<void, gig::Region*> RegionChooser::signal_region_to_be_changed() { |
710 |
|
return region_to_be_changed_signal; |
711 |
|
} |
712 |
|
|
713 |
|
sigc::signal<void, gig::Region*> RegionChooser::signal_region_changed_signal() { |
714 |
|
return region_changed_signal; |
715 |
|
} |