Gtkmm2ext::Choice prompter (prompt, choices);
- prompter.chosen.connect (Gtk::Main::quit.slot());
+ prompter.chosen.connect (ptr_fun (Main::quit));
prompter.show_all ();
- Gtk::Main::run ();
-
+ Main::run ();
+
if (prompter.get_choice() != 0) {
return;
}
}
}
- rpos = (jack_nframes_t) floor ( (float) rpos / speed );
+ rpos = track_frame_to_session_frame(rpos, speed);
if (region_boundary_cache.empty() || rpos != region_boundary_cache.back()) {
if (snap_type == SnapToRegionBoundary) {
track_speed = atav->get_diskstream()->speed();
}
- track_frame = (jack_nframes_t) floor ( (float) frame * track_speed );
+ track_frame = session_frame_to_track_frame(frame, track_speed);
if ((r = (*i)->find_next_region (track_frame, point, dir)) == 0) {
continue;
rpos = r->adjust_to_sync (r->first_frame());
break;
}
- // rpos is a "track frame", converting it to "time frame"
- rpos = (jack_nframes_t) floor ( (float) rpos / track_speed );
+ // rpos is a "track frame", converting it to "session frame"
+ rpos = track_frame_to_session_frame(rpos, track_speed);
if (rpos > frame) {
distance = rpos - frame;
}
}
- pos = (jack_nframes_t) floor ( (float) pos / speed );
-
+ pos = track_frame_to_session_frame(pos, speed);
if (cursor == playhead_cursor) {
session->request_locate (pos);
void
Editor::scroll_tracks_down_line ()
{
- GtkAdjustment* adj = edit_vscrollbar.get_adjustment();
+ Gtk::Adjustment* adj = edit_vscrollbar.get_adjustment();
adj->set_value (adj->get_value() + 10);
}
void
Editor::scroll_tracks_up_line ()
{
- GtkAdjustment* adj = edit_vscrollbar.get_adjustment();
+ Gtk::Adjustment* adj = edit_vscrollbar.get_adjustment();
adj->set_value (adj->get_value() - 10);
}
void
Editor::insert_region_list_drag (AudioRegion& region)
{
- double x, y;
+ int x, y;
double wx, wy;
double cx, cy;
TimeAxisView *tv;
Playlist *playlist;
track_canvas.get_pointer (x, y);
-
track_canvas.window_to_world (x, y, wx, wy);
-
+
GdkEvent event;
event.type = GDK_BUTTON_RELEASE;
event.button.x = wx;
return;
}
- RefPtr<TreeSelection> selected = region_list_display.get_selection();
+ Glib::RefPtr<TreeSelection> selected = region_list_display.get_selection();
- if (selected.count_selected_rows() != 1) {
+ if (selected->count_selected_rows() != 1) {
return;
}
TreeModel::iterator i = region_list_display.get_selection()->get_selected();
- Region* region = (*i)[region_list_display_columns.region];
+ Region* region = (*i)[region_list_columns.region];
begin_reversible_command (_("insert region"));
session->add_undo (playlist->get_memento());
/* recurse */
dialog.show_all ();
- ARDOUR_UI::instance()->allow_focus (true);
Main::run ();
- ARDOUR_UI::instance()->allow_focus (false);
if (region_renamed) {
(*selection->audio_regions.begin())->region.set_name (entry.get_text());
void
Editor::build_interthread_progress_window ()
{
- interthread_progress_window = new ArdourDialog (X_("interthread progress"));
+ interthread_progress_window = new ArdourDialog (X_("interthread progress"), true);
interthread_progress_bar.set_orientation (Gtk::PROGRESS_LEFT_TO_RIGHT);
- interthread_progress_vbox.set_border_width (10);
- interthread_progress_vbox.set_spacing (5);
- interthread_progress_vbox.pack_start (interthread_progress_label, false, false);
- interthread_progress_vbox.pack_start (interthread_progress_bar,false, false);
- interthread_progress_vbox.pack_start (interthread_cancel_button,false, false);
+ interthread_progress_window->get_vbox()->pack_start (interthread_progress_label, false, false);
+ interthread_progress_window->get_vbox()->pack_start (interthread_progress_bar,false, false);
+
+ // GTK2FIX: this button needs a modifiable label
+
+ Button* b = interthread_progress_window->add_button (Stock::CANCEL, RESPONSE_CANCEL);
+ b->signal_clicked().connect (mem_fun(*this, &Editor::interthread_cancel_clicked));
interthread_cancel_button.add (interthread_cancel_label);
- interthread_cancel_button.signal_clicked().connect (mem_fun(*this, &Editor::interthread_cancel_clicked));
-
- interthread_progress_window->set_modal (true);
interthread_progress_window->set_default_size (200, 100);
- interthread_progress_window->add (interthread_progress_vbox);
}
void
string_compose (_("%1\nThis audiofile's sample rate doesn't match the session sample rate!"), path),
choices);
- rate_choice.chosen.connect (Main::quit.slot());
+ rate_choice.chosen.connect (ptr_fun (Main::quit));
rate_choice.show_all ();
Main::run ();
Region *region;
- RefPtr<TreeSelection> selected = region_list_display.get_selection();
+ Glib::RefPtr<TreeSelection> selected = region_list_display.get_selection();
- if (selected.count_selected_rows() != 1) {
+ if (selected->count_selected_rows() != 1) {
return;
}
TreeModel::iterator i = region_list_display.get_selection()->get_selected();
- region = (*i)[region_list_display_columns.region];
+ region = (*i)[region_list_columns.region];
jack_nframes_t start = selection->time[clicked_selection].start;
jack_nframes_t end = selection->time[clicked_selection].end;
begin_reversible_command (_("trim to edit"));
session->add_undo (region.playlist()->get_memento());
- region.trim_end ( (jack_nframes_t) floor( (float)edit_cursor->current_frame * speed), this);
+ region.trim_end( session_frame_to_track_frame(edit_cursor->current_frame, speed), this);
session->add_redo_no_execute (region.playlist()->get_memento());
commit_reversible_command ();
}
begin_reversible_command (_("trim to edit"));
session->add_undo (region.playlist()->get_memento());
- region.trim_front ( (jack_nframes_t) floor( (float)edit_cursor->current_frame * speed), this);
+ region.trim_end( session_frame_to_track_frame(edit_cursor->current_frame, speed), this);
session->add_redo_no_execute (region.playlist()->get_memento());
commit_reversible_command ();
}
pthread_create (&itt.thread, 0, _freeze_thread, this);
- track_canvas_scroller.get_window()->set_cursor (Cursor (WATCH));
+ track_canvas_scroller.get_window()->set_cursor (Gdk::Cursor (Gdk::WATCH));
while (!itt.done && !itt.cancel) {
gtk_main_iteration ();
void
Editor::mouse_paste ()
{
- double x, y;
+ int x, y;
double wx, wy;
track_canvas.get_pointer (x, y);
-
track_canvas.window_to_world (x, y, wx, wy);
-
GdkEvent event;
event.type = GDK_BUTTON_RELEASE;
event.button.x = wx;
void
Editor::paste_named_selection (float times)
{
- TrackSelection::iterator i;
+ TrackSelection::iterator t;
- RefPtr<TreeSelection> selected = named_selection_display.get_selection();
+ Glib::RefPtr<TreeSelection> selected = named_selection_display.get_selection();
- if (selected.count_selected_rows() == 0 || selection->tracks.empty()) {
+ if (selected->count_selected_rows() != 1 || selection->tracks.empty()) {
return;
}
TreeModel::iterator i = selected->get_selected();
- NamedSection* ns = (*i)[named_selection_columns.selection];
+ NamedSelection* ns = (*i)[named_selection_columns.selection];
list<Playlist*>::iterator chunk;
list<Playlist*>::iterator tmp;
begin_reversible_command (_("paste chunk"));
- for (i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
+ for (t = selection->tracks.begin(); t != selection->tracks.end(); ++t) {
AudioTimeAxisView* atv;
Playlist* pl;
AudioPlaylist* apl;
- if ((atv = dynamic_cast<AudioTimeAxisView*> (*i)) == 0) {
+ if ((atv = dynamic_cast<AudioTimeAxisView*> (*t)) == 0) {
continue;
}
choices.push_back (_("Yes, destroy it."));
choices.push_back (_("No, do nothing."));
-
+
Gtkmm2ext::Choice prompter (prompt, choices);
-
- prompter.chosen.connect (Gtk::Main::quit.slot());
+ prompter.chosen.connect (ptr_fun (Main::quit));
prompter.show_all ();
- Gtk::Main::run ();
-
+ Main::run ();
+
if (prompter.get_choice() == 0) {
session->remove_last_capture ();
}
+
} else {
session->remove_last_capture();
}