automation_mode_button (_("mode")),
global_automation_button (_("automation")),
+ midi_panic_button (_("Panic")),
+ midi_tools_tearoff (0),
+
#ifdef WITH_CMT
image_socket_listener(0),
#endif
controls_layout.add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
controls_layout.signal_button_release_event().connect (mem_fun(*this, &Editor::edit_controls_button_release));
- controls_layout.signal_size_request().connect (mem_fun (*this, &Editor::controls_layout_size_request));
+ controls_layout_size_request_connection = controls_layout.signal_size_request().connect (mem_fun (*this, &Editor::controls_layout_size_request));
edit_vscrollbar.set_adjustment (vertical_adjustment);
edit_hscrollbar.set_adjustment (horizontal_adjustment);
region_list_display.append_column (_("Start"), region_list_columns.start);
region_list_display.append_column (_("End"), region_list_columns.end);
region_list_display.append_column (_("Length"), region_list_columns.length);
+ region_list_display.append_column (_("Sync"), region_list_columns.sync);
+ region_list_display.append_column (_("Fade In"), region_list_columns.fadein);
+ region_list_display.append_column (_("Fade Out"), region_list_columns.fadeout);
+ region_list_display.append_column (_("L"), region_list_columns.locked);
+ region_list_display.append_column (_("G"), region_list_columns.glued);
+ region_list_display.append_column (_("M"), region_list_columns.muted);
+ region_list_display.append_column (_("O"), region_list_columns.opaque);
region_list_display.append_column (_("Used"), region_list_columns.used);
- region_list_display.append_column (_("Path to parent file"), region_list_columns.path);
+ region_list_display.append_column (_("Path"), region_list_columns.path);
region_list_display.set_headers_visible (true);
-
+ region_list_display.set_grid_lines (TREE_VIEW_GRID_LINES_BOTH);
+
CellRendererText* region_name_cell = dynamic_cast<CellRendererText*>(region_list_display.get_column_cell_renderer (0));
region_name_cell->property_editable() = true;
region_name_cell->signal_edited().connect (mem_fun (*this, &Editor::region_name_edit));
region_list_display.get_selection()->signal_changed().connect (mem_fun(*this, &Editor::region_list_selection_changed));
// region_list_display.signal_popup_menu().connect (bind (mem_fun (*this, &Editor::show_region_list_display_context_menu), 1, 0));
- ARDOUR_UI::instance()->secondary_clock.mode_changed.connect (mem_fun(*this, &Editor::redisplay_regions));
+ //ARDOUR_UI::instance()->secondary_clock.mode_changed.connect (mem_fun(*this, &Editor::redisplay_regions));
+ ARDOUR_UI::instance()->secondary_clock.mode_changed.connect (mem_fun(*this, &Editor::update_all_region_rows));
ARDOUR::Region::RegionPropertyChanged.connect (mem_fun(*this, &Editor::update_region_row));
named_selection_scroller.add (named_selection_display);
break;
}
- const char* action;
+ const char* action=NULL;
switch (_edit_point) {
case EditAtPlayhead:
} else {
- g.base_width = atoi(geometry->property("x_size")->value());
- g.base_height = atoi(geometry->property("y_size")->value());
- x = atoi(geometry->property("x_pos")->value());
- y = atoi(geometry->property("y_pos")->value());
- xoff = atoi(geometry->property("x_off")->value());
- yoff = atoi(geometry->property("y_off")->value());
+ g.base_width = atoi(geometry->property("x-size")->value());
+ g.base_height = atoi(geometry->property("y-size")->value());
+ x = atoi(geometry->property("x-pos")->value());
+ y = atoi(geometry->property("y-pos")->value());
+ xoff = atoi(geometry->property("x-off")->value());
+ yoff = atoi(geometry->property("y-off")->value());
}
set_default_size (g.base_width, g.base_height);
XMLNode* geometry = new XMLNode ("geometry");
snprintf(buf, sizeof(buf), "%d", width);
- geometry->add_property("x_size", string(buf));
+ geometry->add_property("x-size", string(buf));
snprintf(buf, sizeof(buf), "%d", height);
- geometry->add_property("y_size", string(buf));
+ geometry->add_property("y-size", string(buf));
snprintf(buf, sizeof(buf), "%d", x);
- geometry->add_property("x_pos", string(buf));
+ geometry->add_property("x-pos", string(buf));
snprintf(buf, sizeof(buf), "%d", y);
- geometry->add_property("y_pos", string(buf));
+ geometry->add_property("y-pos", string(buf));
snprintf(buf, sizeof(buf), "%d", xoff);
- geometry->add_property("x_off", string(buf));
+ geometry->add_property("x-off", string(buf));
snprintf(buf, sizeof(buf), "%d", yoff);
- geometry->add_property("y_off", string(buf));
+ geometry->add_property("y-off", string(buf));
snprintf(buf,sizeof(buf), "%d",gtk_paned_get_position (static_cast<Paned*>(&edit_pane)->gobj()));
geometry->add_property("edit_pane_pos", string(buf));
toolbar_frame.add (toolbar_base);
}
+void
+Editor::midi_panic_toggle ()
+{
+ if (session) {
+ session->midi_panic();
+ midi_panic_button.set_active (false);
+ midi_panic_button.set_state (STATE_NORMAL);
+ }
+}
void
Editor::setup_midi_toolbar ()
&Editor::midi_edit_mode_toggled), Editing::MidiEditResize));
midi_tool_erase_button.signal_toggled().connect (bind (mem_fun(*this,
&Editor::midi_edit_mode_toggled), Editing::MidiEditErase));
+
+ /* Panic */
+
+ VBox* panic_box = manage (new VBox);
+ midi_panic_button.set_name("MidiPanicButton");
+ midi_panic_button.signal_pressed().connect (
+ mem_fun(this, &Editor::midi_panic_toggle));
+ panic_box->pack_start (midi_panic_button, true, true);
/* Pack everything in... */
midi_toolbar_hbox.set_border_width (1);
midi_toolbar_hbox.pack_start (*midi_tools_tearoff, false, true);
+
+ midi_toolbar_hbox.pack_start(*panic_box, false, true, 4);
midi_tool_button_box.show_all ();
midi_toolbar_hbox.show_all();
width = default_width;
height = default_height;
} else {
- width = atoi(geometry->property("x_size")->value());
- height = atoi(geometry->property("y_size")->value());
+ width = atoi(geometry->property("x-size")->value());
+ height = atoi(geometry->property("y-size")->value());
}
if (which == static_cast<Paned*> (&edit_pane)) {
return;
}
- if (!geometry || (prop = geometry->property ("edit_pane_pos")) == 0) {
+ if (!geometry || (prop = geometry->property ("edit-pane-pos")) == 0) {
/* initial allocation is 90% to canvas, 10% to notebook */
pos = (int) floor (alloc.get_width() * 0.90f);
snprintf (buf, sizeof(buf), "%d", pos);
Editor::new_playlists (TimeAxisView* v)
{
begin_reversible_command (_("new playlists"));
- mapover_tracks (mem_fun (*this, &Editor::mapped_use_new_playlist), v);
+ vector<boost::shared_ptr<ARDOUR::Playlist> > playlists;
+ session->get_playlists(playlists);
+ mapover_tracks ( bind(mem_fun (*this, &Editor::mapped_use_new_playlist), playlists), v );
commit_reversible_command ();
}
Editor::copy_playlists (TimeAxisView* v)
{
begin_reversible_command (_("copy playlists"));
- mapover_tracks (mem_fun (*this, &Editor::mapped_use_copy_playlist), v);
+ vector<boost::shared_ptr<ARDOUR::Playlist> > playlists;
+ session->get_playlists(playlists);
+ mapover_tracks ( bind(mem_fun (*this, &Editor::mapped_use_copy_playlist), playlists), v );
commit_reversible_command ();
}
Editor::clear_playlists (TimeAxisView* v)
{
begin_reversible_command (_("clear playlists"));
- mapover_tracks (mem_fun (*this, &Editor::mapped_clear_playlist), v);
+ vector<boost::shared_ptr<ARDOUR::Playlist> > playlists;
+ session->get_playlists(playlists);
+ mapover_tracks ( mem_fun (*this, &Editor::mapped_clear_playlist), v );
commit_reversible_command ();
}
void
-Editor::mapped_use_new_playlist (RouteTimeAxisView& atv, uint32_t sz)
+Editor::mapped_use_new_playlist (RouteTimeAxisView& atv, uint32_t sz, vector<boost::shared_ptr<ARDOUR::Playlist> > const & playlists)
{
- atv.use_new_playlist (sz > 1 ? false : true);
+ atv.use_new_playlist (sz > 1 ? false : true, playlists);
}
void
-Editor::mapped_use_copy_playlist (RouteTimeAxisView& atv, uint32_t sz)
+Editor::mapped_use_copy_playlist (RouteTimeAxisView& atv, uint32_t sz, vector<boost::shared_ptr<ARDOUR::Playlist> > const & playlists)
{
- atv.use_copy_playlist (sz > 1 ? false : true);
+ atv.use_copy_playlist (sz > 1 ? false : true, playlists);
}
void
}
if (p & VisualChange::TimeOrigin) {
- nframes64_t csf, cef;
+ nframes64_t csf=0, cef=0;
nframes64_t current_time_origin = (nframes64_t) floor (horizontal_adjustment.get_value() * frames_per_unit);
if (session) {
/* if we seek beyond the current end of the canvas, move the end */
if (current_time_origin != pending_visual_change.time_origin) {
- //if (horizontal_adjustment.get_upper() < pending_visual_change.time_origin) {
last_canvas_frame = (cef > (pending_visual_change.time_origin + current_page_frames())) ? cef : pending_visual_change.time_origin + current_page_frames();
horizontal_adjustment.set_upper ((cef - csf) / frames_per_unit);
- //}
horizontal_adjustment.set_value (pending_visual_change.time_origin / frames_per_unit);
} else {
update_fixed_rulers();