summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/add_route_dialog.cc14
-rw-r--r--gtk2_ardour/add_route_dialog.h4
-rw-r--r--gtk2_ardour/add_video_dialog.cc2
-rw-r--r--gtk2_ardour/analysis_window.cc6
-rw-r--r--gtk2_ardour/ardour_ui.cc84
-rw-r--r--gtk2_ardour/ardour_ui.h18
-rw-r--r--gtk2_ardour/ardour_ui2.cc8
-rw-r--r--gtk2_ardour/ardour_ui_dependents.cc6
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc4
-rw-r--r--gtk2_ardour/ardour_ui_options.cc4
-rw-r--r--gtk2_ardour/au_pluginui.h2
-rw-r--r--gtk2_ardour/audio_clock.cc280
-rw-r--r--gtk2_ardour/audio_clock.h52
-rw-r--r--gtk2_ardour/audio_region_view.cc102
-rw-r--r--gtk2_ardour/audio_region_view.h18
-rw-r--r--gtk2_ardour/audio_streamview.cc32
-rw-r--r--gtk2_ardour/audio_streamview.h4
-rw-r--r--gtk2_ardour/audio_time_axis.cc8
-rw-r--r--gtk2_ardour/automation_controller.cc8
-rw-r--r--gtk2_ardour/automation_line.cc46
-rw-r--r--gtk2_ardour/automation_line.h26
-rw-r--r--gtk2_ardour/automation_region_view.cc26
-rw-r--r--gtk2_ardour/automation_region_view.h14
-rw-r--r--gtk2_ardour/automation_streamview.cc8
-rw-r--r--gtk2_ardour/automation_streamview.h4
-rw-r--r--gtk2_ardour/automation_time_axis.cc26
-rw-r--r--gtk2_ardour/automation_time_axis.h10
-rw-r--r--gtk2_ardour/clock_group.cc2
-rw-r--r--gtk2_ardour/edit_note_dialog.cc4
-rw-r--r--gtk2_ardour/editor.cc400
-rw-r--r--gtk2_ardour/editor.h214
-rw-r--r--gtk2_ardour/editor_actions.cc16
-rw-r--r--gtk2_ardour/editor_audio_import.cc30
-rw-r--r--gtk2_ardour/editor_canvas.cc70
-rw-r--r--gtk2_ardour/editor_canvas_events.cc8
-rw-r--r--gtk2_ardour/editor_cursors.cc12
-rw-r--r--gtk2_ardour/editor_cursors.h10
-rw-r--r--gtk2_ardour/editor_drag.cc742
-rw-r--r--gtk2_ardour/editor_drag.h162
-rw-r--r--gtk2_ardour/editor_export_audio.cc22
-rw-r--r--gtk2_ardour/editor_keys.cc24
-rw-r--r--gtk2_ardour/editor_markers.cc60
-rw-r--r--gtk2_ardour/editor_mouse.cc40
-rw-r--r--gtk2_ardour/editor_ops.cc830
-rw-r--r--gtk2_ardour/editor_pt_import.cc14
-rw-r--r--gtk2_ardour/editor_regions.cc46
-rw-r--r--gtk2_ardour/editor_regions.h4
-rw-r--r--gtk2_ardour/editor_routes.cc2
-rw-r--r--gtk2_ardour/editor_rulers.cc166
-rw-r--r--gtk2_ardour/editor_selection.cc128
-rw-r--r--gtk2_ardour/editor_summary.cc30
-rw-r--r--gtk2_ardour/editor_summary.h16
-rw-r--r--gtk2_ardour/editor_tempodisplay.cc72
-rw-r--r--gtk2_ardour/editor_timefx.cc6
-rw-r--r--gtk2_ardour/editor_videotimeline.cc2
-rw-r--r--gtk2_ardour/engine_dialog.cc22
-rw-r--r--gtk2_ardour/enums.cc2
-rw-r--r--gtk2_ardour/export_dialog.cc2
-rw-r--r--gtk2_ardour/export_format_dialog.cc24
-rw-r--r--gtk2_ardour/export_report.cc14
-rw-r--r--gtk2_ardour/export_report.h2
-rw-r--r--gtk2_ardour/export_timespan_selector.cc52
-rw-r--r--gtk2_ardour/export_timespan_selector.h8
-rw-r--r--gtk2_ardour/export_video_dialog.cc84
-rw-r--r--gtk2_ardour/export_video_dialog.h2
-rw-r--r--gtk2_ardour/fft_graph.cc2
-rw-r--r--gtk2_ardour/gain_meter.cc4
-rw-r--r--gtk2_ardour/generic_pluginui.cc60
-rw-r--r--gtk2_ardour/insert_remove_time_dialog.cc8
-rw-r--r--gtk2_ardour/insert_remove_time_dialog.h4
-rw-r--r--gtk2_ardour/latency_gui.cc10
-rw-r--r--gtk2_ardour/latency_gui.h10
-rw-r--r--gtk2_ardour/location_ui.cc36
-rw-r--r--gtk2_ardour/location_ui.h4
-rw-r--r--gtk2_ardour/luainstance.cc4
-rw-r--r--gtk2_ardour/lv2_plugin_ui.cc4
-rw-r--r--gtk2_ardour/main.cc2
-rw-r--r--gtk2_ardour/main_clock.cc6
-rw-r--r--gtk2_ardour/main_clock.h2
-rw-r--r--gtk2_ardour/marker.cc18
-rw-r--r--gtk2_ardour/marker.h8
-rw-r--r--gtk2_ardour/marker_selection.h2
-rw-r--r--gtk2_ardour/midi_automation_line.cc2
-rw-r--r--gtk2_ardour/midi_automation_line.h2
-rw-r--r--gtk2_ardour/midi_list_editor.cc6
-rw-r--r--gtk2_ardour/midi_region_view.cc246
-rw-r--r--gtk2_ardour/midi_region_view.h70
-rw-r--r--gtk2_ardour/midi_streamview.cc14
-rw-r--r--gtk2_ardour/midi_streamview.h2
-rw-r--r--gtk2_ardour/midi_time_axis.cc14
-rw-r--r--gtk2_ardour/midi_time_axis.h4
-rw-r--r--gtk2_ardour/midi_tracer.cc4
-rw-r--r--gtk2_ardour/mini_timeline.cc62
-rw-r--r--gtk2_ardour/mini_timeline.h14
-rw-r--r--gtk2_ardour/mixer_strip.cc24
-rw-r--r--gtk2_ardour/mixer_strip.h2
-rw-r--r--gtk2_ardour/mixer_ui.cc30
-rw-r--r--gtk2_ardour/mixer_ui.h6
-rw-r--r--gtk2_ardour/monitor_section.cc4
-rw-r--r--gtk2_ardour/option_editor.cc2
-rw-r--r--gtk2_ardour/panner_ui.cc6
-rw-r--r--gtk2_ardour/patch_change_dialog.cc4
-rw-r--r--gtk2_ardour/patch_change_dialog.h6
-rw-r--r--gtk2_ardour/plugin_display.cc6
-rw-r--r--gtk2_ardour/plugin_display.h2
-rw-r--r--gtk2_ardour/plugin_eq_gui.cc22
-rw-r--r--gtk2_ardour/plugin_eq_gui.h4
-rw-r--r--gtk2_ardour/plugin_selector.cc12
-rw-r--r--gtk2_ardour/plugin_ui.cc6
-rw-r--r--gtk2_ardour/port_insert_ui.cc8
-rw-r--r--gtk2_ardour/processor_box.cc6
-rw-r--r--gtk2_ardour/processor_box.h2
-rw-r--r--gtk2_ardour/public_editor.h70
-rw-r--r--gtk2_ardour/rc_option_editor.cc4
-rw-r--r--gtk2_ardour/region_editor.cc6
-rw-r--r--gtk2_ardour/region_layering_order_editor.cc2
-rw-r--r--gtk2_ardour/region_layering_order_editor.h4
-rw-r--r--gtk2_ardour/region_selection.cc14
-rw-r--r--gtk2_ardour/region_selection.h4
-rw-r--r--gtk2_ardour/region_view.cc162
-rw-r--r--gtk2_ardour/region_view.h28
-rw-r--r--gtk2_ardour/rhythm_ferret.cc10
-rw-r--r--gtk2_ardour/rhythm_ferret.h4
-rw-r--r--gtk2_ardour/route_params_ui.cc72
-rw-r--r--gtk2_ardour/route_params_ui.h18
-rw-r--r--gtk2_ardour/route_time_axis.cc20
-rw-r--r--gtk2_ardour/route_time_axis.h12
-rw-r--r--gtk2_ardour/route_ui.cc8
-rw-r--r--gtk2_ardour/selection.cc22
-rw-r--r--gtk2_ardour/selection.h14
-rw-r--r--gtk2_ardour/selection_memento.cc2
-rw-r--r--gtk2_ardour/session_dialog.cc18
-rw-r--r--gtk2_ardour/session_dialog.h4
-rw-r--r--gtk2_ardour/session_import_dialog.cc10
-rw-r--r--gtk2_ardour/session_import_dialog.h2
-rw-r--r--gtk2_ardour/session_option_editor.cc2
-rw-r--r--gtk2_ardour/sfdb_ui.cc30
-rw-r--r--gtk2_ardour/sfdb_ui.h4
-rw-r--r--gtk2_ardour/simple_progress_dialog.h2
-rw-r--r--gtk2_ardour/soundcloud_export_selector.cc14
-rw-r--r--gtk2_ardour/speaker_dialog.cc10
-rw-r--r--gtk2_ardour/speaker_dialog.h2
-rw-r--r--gtk2_ardour/step_editor.cc30
-rw-r--r--gtk2_ardour/step_editor.h2
-rw-r--r--gtk2_ardour/streamview.cc36
-rw-r--r--gtk2_ardour/streamview.h20
-rw-r--r--gtk2_ardour/strip_silence_dialog.cc16
-rw-r--r--gtk2_ardour/strip_silence_dialog.h4
-rw-r--r--gtk2_ardour/tape_region_view.cc2
-rw-r--r--gtk2_ardour/template_dialog.cc6
-rw-r--r--gtk2_ardour/tempo_curve.cc40
-rw-r--r--gtk2_ardour/tempo_curve.h10
-rw-r--r--gtk2_ardour/tempo_dialog.cc18
-rw-r--r--gtk2_ardour/tempo_dialog.h4
-rw-r--r--gtk2_ardour/tempo_lines.cc30
-rw-r--r--gtk2_ardour/tempo_lines.h16
-rw-r--r--gtk2_ardour/time_axis_view.cc36
-rw-r--r--gtk2_ardour/time_axis_view.h12
-rw-r--r--gtk2_ardour/time_axis_view_item.cc224
-rw-r--r--gtk2_ardour/time_axis_view_item.h60
-rw-r--r--gtk2_ardour/time_fx_dialog.cc4
-rw-r--r--gtk2_ardour/time_fx_dialog.h4
-rw-r--r--gtk2_ardour/time_info_box.cc20
-rw-r--r--gtk2_ardour/time_selection.cc14
-rw-r--r--gtk2_ardour/time_selection.h6
-rw-r--r--gtk2_ardour/transcode_ffmpeg.cc18
-rw-r--r--gtk2_ardour/transcode_ffmpeg.h10
-rw-r--r--gtk2_ardour/transcode_video_dialog.cc4
-rw-r--r--gtk2_ardour/transcode_video_dialog.h2
-rw-r--r--gtk2_ardour/vca_master_strip.cc20
-rw-r--r--gtk2_ardour/vca_master_strip.h2
-rw-r--r--gtk2_ardour/vca_time_axis.cc2
-rw-r--r--gtk2_ardour/verbose_cursor.cc16
-rw-r--r--gtk2_ardour/verbose_cursor.h4
-rw-r--r--gtk2_ardour/video_image_frame.cc22
-rw-r--r--gtk2_ardour/video_image_frame.h22
-rw-r--r--gtk2_ardour/video_monitor.cc42
-rw-r--r--gtk2_ardour/video_monitor.h8
-rw-r--r--gtk2_ardour/video_timeline.cc118
-rw-r--r--gtk2_ardour/video_timeline.h30
180 files changed, 3222 insertions, 3222 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc
index bf218fb8d8..61f23d54e9 100644
--- a/gtk2_ardour/add_route_dialog.cc
+++ b/gtk2_ardour/add_route_dialog.cc
@@ -204,12 +204,12 @@ You may select:\n \
desc_scroller->set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
desc_scroller->add (trk_template_desc);
- //this is the outer frame that surrounds the description and the settings-table
- trk_template_outer_frame.set_name (X_("TextHighlightFrame"));
+ //this is the outer sample that surrounds the description and the settings-table
+ trk_template_outer_sample.set_name (X_("TextHighlightFrame"));
//this is the "inner frame" that surrounds the description text
- trk_template_desc_frame.set_name (X_("TextHighlightFrame"));
- trk_template_desc_frame.add (*desc_scroller);
+ trk_template_desc_sample.set_name (X_("TextHighlightFrame"));
+ trk_template_desc_sample.add (*desc_scroller);
/* template_chooser is the treeview showing available templates */
trk_template_model = TreeStore::create (track_template_columns);
@@ -238,14 +238,14 @@ You may select:\n \
settings_table->set_border_width (12);
VBox* settings_vbox = manage (new VBox);
- settings_vbox->pack_start(trk_template_desc_frame , true, true);
+ settings_vbox->pack_start(trk_template_desc_sample , true, true);
settings_vbox->pack_start(*settings_table , true, true);
settings_vbox->set_border_width (4);
- trk_template_outer_frame.add (*settings_vbox);
+ trk_template_outer_sample.add (*settings_vbox);
template_hbox->pack_start (*template_scroller, true, true);
- template_hbox->pack_start (trk_template_outer_frame, true, true);
+ template_hbox->pack_start (trk_template_outer_sample, true, true);
vbox->pack_start (*template_hbox, true, true);
diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h
index 351022c101..a637e1e6b7 100644
--- a/gtk2_ardour/add_route_dialog.h
+++ b/gtk2_ardour/add_route_dialog.h
@@ -141,8 +141,8 @@ private:
void trk_template_row_selected ();
Gtk::TextView trk_template_desc;
- Gtk::Frame trk_template_outer_frame;
- Gtk::Frame trk_template_desc_frame;
+ Gtk::Frame trk_template_outer_sample;
+ Gtk::Frame trk_template_desc_sample;
void reset_template_option_visibility ();
void new_group_dialog_finished (int, RouteGroupDialog*);
diff --git a/gtk2_ardour/add_video_dialog.cc b/gtk2_ardour/add_video_dialog.cc
index 2e092bb4da..22679755a5 100644
--- a/gtk2_ardour/add_video_dialog.cc
+++ b/gtk2_ardour/add_video_dialog.cc
@@ -693,7 +693,7 @@ AddVideoDialog::request_preview(std::string u)
clip_yoff = (PREVIEW_HEIGHT - clip_height)/2;
char url[2048];
- snprintf(url, sizeof(url), "%s%s?frame=%lli&w=%d&h=%di&file=%s&format=rgb"
+ snprintf(url, sizeof(url), "%s%s?sample=%lli&w=%d&h=%di&file=%s&format=rgb"
, video_server_url.c_str()
, (video_server_url.length()>0 && video_server_url.at(video_server_url.length()-1) == '/')?"":"/"
, (long long) (video_duration * seek_slider.get_value() / 1000.0)
diff --git a/gtk2_ardour/analysis_window.cc b/gtk2_ardour/analysis_window.cc
index e078a7ee2b..91e6d13362 100644
--- a/gtk2_ardour/analysis_window.cc
+++ b/gtk2_ardour/analysis_window.cc
@@ -260,7 +260,7 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/)
int n;
for (int channel = 0; channel < n_inputs; channel++) {
- framecnt_t x = 0;
+ samplecnt_t x = 0;
while (x < j->length()) {
// TODO: What about stereo+ channels? composite all to one, I guess
@@ -313,8 +313,8 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/)
int n;
for (unsigned int channel = 0; channel < arv->region()->n_channels(); channel++) {
- framecnt_t x = 0;
- framecnt_t length = arv->region()->length();
+ samplecnt_t x = 0;
+ samplecnt_t length = arv->region()->length();
while (x < length) {
// TODO: What about stereo+ channels? composite all to one, I guess
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 0e75652856..7819a53fab 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -202,7 +202,7 @@ using namespace Editing;
ARDOUR_UI *ARDOUR_UI::theArdourUI = 0;
-sigc::signal<void, framepos_t, bool, framepos_t> ARDOUR_UI::Clock;
+sigc::signal<void, samplepos_t, bool, samplepos_t> ARDOUR_UI::Clock;
sigc::signal<void> ARDOUR_UI::CloseAllDialogs;
static bool
@@ -1581,7 +1581,7 @@ ARDOUR_UI::set_fps_timeout_connection ()
* signals to the GUI Thread..
*/
interval = floor(500. /* update twice per FPS, since Glib::signal_timeout is very irregular */
- * _session->frame_rate() / _session->nominal_frame_rate()
+ * _session->sample_rate() / _session->nominal_sample_rate()
/ _session->timecode_frames_per_second()
);
#ifdef PLATFORM_WINDOWS
@@ -1601,7 +1601,7 @@ ARDOUR_UI::set_fps_timeout_connection ()
}
void
-ARDOUR_UI::update_sample_rate (framecnt_t)
+ARDOUR_UI::update_sample_rate (samplecnt_t)
{
char buf[64];
@@ -1613,7 +1613,7 @@ ARDOUR_UI::update_sample_rate (framecnt_t)
} else {
- framecnt_t rate = AudioEngine::instance()->sample_rate();
+ samplecnt_t rate = AudioEngine::instance()->sample_rate();
if (rate == 0) {
/* no sample rate available */
@@ -1789,43 +1789,43 @@ ARDOUR_UI::update_disk_space()
return;
}
- boost::optional<framecnt_t> opt_frames = _session->available_capture_duration();
+ boost::optional<samplecnt_t> opt_samples = _session->available_capture_duration();
char buf[64];
- framecnt_t fr = _session->frame_rate();
+ samplecnt_t fr = _session->sample_rate();
if (fr == 0) {
/* skip update - no SR available */
return;
}
- if (!opt_frames) {
+ if (!opt_samples) {
/* Available space is unknown */
snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">Unknown</span>"));
- } else if (opt_frames.get_value_or (0) == max_framecnt) {
+ } else if (opt_samples.get_value_or (0) == max_samplecnt) {
snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">24hrs+</span>"));
} else {
rec_enabled_streams = 0;
_session->foreach_route (this, &ARDOUR_UI::count_recenabled_streams, false);
- framecnt_t frames = opt_frames.get_value_or (0);
+ samplecnt_t samples = opt_samples.get_value_or (0);
if (rec_enabled_streams) {
- frames /= rec_enabled_streams;
+ samples /= rec_enabled_streams;
}
int hrs;
int mins;
int secs;
- hrs = frames / (fr * 3600);
+ hrs = samples / (fr * 3600);
if (hrs > 24) {
snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">&gt;24 hrs</span>"));
} else {
- frames -= hrs * fr * 3600;
- mins = frames / (fr * 60);
- frames -= mins * fr * 60;
- secs = frames / fr;
+ samples -= hrs * fr * 3600;
+ mins = samples / (fr * 60);
+ samples -= mins * fr * 60;
+ secs = samples / fr;
bool const low = (hrs == 0 && mins <= 30);
@@ -2180,7 +2180,7 @@ ARDOUR_UI::transport_goto_start ()
*/
if (editor) {
- editor->center_screen (_session->current_start_frame ());
+ editor->center_screen (_session->current_start_sample ());
}
}
}
@@ -2208,30 +2208,30 @@ ARDOUR_UI::transport_goto_wallclock ()
time_t now;
struct tm tmnow;
- framepos_t frames;
+ samplepos_t samples;
time (&now);
localtime_r (&now, &tmnow);
- framecnt_t frame_rate = _session->frame_rate();
+ samplecnt_t sample_rate = _session->sample_rate();
- if (frame_rate == 0) {
+ if (sample_rate == 0) {
/* no frame rate available */
return;
}
- frames = tmnow.tm_hour * (60 * 60 * frame_rate);
- frames += tmnow.tm_min * (60 * frame_rate);
- frames += tmnow.tm_sec * frame_rate;
+ samples = tmnow.tm_hour * (60 * 60 * sample_rate);
+ samples += tmnow.tm_min * (60 * sample_rate);
+ samples += tmnow.tm_sec * sample_rate;
- _session->request_locate (frames, _session->transport_rolling ());
+ _session->request_locate (samples, _session->transport_rolling ());
/* force displayed area in editor to start no matter
what "follow playhead" setting is.
*/
if (editor) {
- editor->center_screen (frames);
+ editor->center_screen (samples);
}
}
}
@@ -2240,15 +2240,15 @@ void
ARDOUR_UI::transport_goto_end ()
{
if (_session) {
- framepos_t const frame = _session->current_end_frame();
- _session->request_locate (frame);
+ samplepos_t const sample = _session->current_end_sample();
+ _session->request_locate (sample);
/* force displayed area in editor to start no matter
what "follow playhead" setting is.
*/
if (editor) {
- editor->center_screen (frame);
+ editor->center_screen (sample);
}
}
}
@@ -2461,9 +2461,9 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
* want to do this.
*/
- if (UIConfiguration::instance().get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_frame() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits
+ if (UIConfiguration::instance().get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_sample() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits
_session->request_play_range (&editor->get_selection().time, true);
- _session->set_requested_return_frame( editor->get_selection().time.front().start ); //force an auto-return here
+ _session->set_requested_return_sample( editor->get_selection().time.front().start ); //force an auto-return here
}
_session->request_transport_speed (1.0f);
}
@@ -2706,7 +2706,7 @@ ARDOUR_UI::update_clocks ()
if (!_session) return;
if (editor && !editor->dragging_playhead()) {
- Clock (_session->audible_frame(), false, editor->get_preferred_edit_position (EDIT_IGNORE_PHEAD)); /* EMIT_SIGNAL */
+ Clock (_session->audible_sample(), false, editor->get_preferred_edit_position (EDIT_IGNORE_PHEAD)); /* EMIT_SIGNAL */
}
}
@@ -4345,7 +4345,7 @@ ARDOUR_UI::cleanup_peakfiles ()
RegionSelection rs;
TrackViewList empty;
empty.clear();
- editor->get_regions_after(rs, (framepos_t) 0, empty);
+ editor->get_regions_after(rs, (samplepos_t) 0, empty);
std::list<RegionView*> views = rs.by_layer();
// remove displayed audio-region-views waveforms
@@ -4794,10 +4794,10 @@ ARDOUR_UI::add_video (Gtk::Window* float_window)
LTCFileReader ltcr (audio_from_video, video_timeline->get_video_file_fps());
/* TODO ASK user which channel: 0 .. ltcr->channels() - 1 */
- ltc_seq = ltcr.read_ltc (/*channel*/ 0, /*max LTC frames to decode*/ 15);
+ ltc_seq = ltcr.read_ltc (/*channel*/ 0, /*max LTC samples to decode*/ 15);
/* TODO seek near end of file, and read LTC until end.
- * if it fails to find any LTC frames, scan complete file
+ * if it fails to find any LTC samples, scan complete file
*
* calculate drift of LTC compared to video-duration,
* ask user for reference (timecode from start/mid/end)
@@ -4813,16 +4813,16 @@ ARDOUR_UI::add_video (Gtk::Window* float_window)
} else {
/* the very first TC in the file is somteimes not aligned properly */
int i = ltc_seq.size() -1;
- ARDOUR::frameoffset_t video_start_offset =
- _session->nominal_frame_rate() * (ltc_seq[i].timecode_sec - ltc_seq[i].framepos_sec);
+ ARDOUR::sampleoffset_t video_start_offset =
+ _session->nominal_sample_rate() * (ltc_seq[i].timecode_sec - ltc_seq[i].framepos_sec);
PBD::info << string_compose (_("Align video-start to %1 [samples]"), video_start_offset) << endmsg;
video_timeline->set_offset(video_start_offset);
}
}
_session->maybe_update_session_range(
- std::max(video_timeline->get_offset(), (ARDOUR::frameoffset_t) 0),
- std::max(video_timeline->get_offset() + video_timeline->get_duration(), (ARDOUR::frameoffset_t) 0));
+ std::max(video_timeline->get_offset(), (ARDOUR::sampleoffset_t) 0),
+ std::max(video_timeline->get_offset() + video_timeline->get_duration(), (ARDOUR::sampleoffset_t) 0));
if (add_video_dialog->launch_xjadeo() && local_file) {
@@ -4988,7 +4988,7 @@ ARDOUR_UI::keyboard_settings () const
}
void
-ARDOUR_UI::create_xrun_marker (framepos_t where)
+ARDOUR_UI::create_xrun_marker (samplepos_t where)
{
if (_session) {
Location *location = new Location (*_session, where, where, _("xrun"), Location::IsMark, 0);
@@ -5005,7 +5005,7 @@ ARDOUR_UI::halt_on_xrun_message ()
}
void
-ARDOUR_UI::xrun_handler (framepos_t where)
+ARDOUR_UI::xrun_handler (samplepos_t where)
{
if (!_session) {
return;
@@ -5229,7 +5229,7 @@ what you would like to do.\n"), PROGRAM_NAME));
}
int
-ARDOUR_UI::sr_mismatch_dialog (framecnt_t desired, framecnt_t actual)
+ARDOUR_UI::sr_mismatch_dialog (samplecnt_t desired, samplecnt_t actual)
{
HBox* hbox = new HBox();
Image* image = new Image (Stock::DIALOG_WARNING, ICON_SIZE_DIALOG);
@@ -5262,7 +5262,7 @@ audio may be played at the wrong sample rate.\n"), desired, PROGRAM_NAME, actual
}
void
-ARDOUR_UI::sr_mismatch_message (framecnt_t desired, framecnt_t actual)
+ARDOUR_UI::sr_mismatch_message (samplecnt_t desired, samplecnt_t actual)
{
MessageDialog msg (string_compose (_("\
This session was created with a sample rate of %1 Hz, but\n\
@@ -5286,7 +5286,7 @@ ARDOUR_UI::use_config ()
}
void
-ARDOUR_UI::update_transport_clocks (framepos_t pos)
+ARDOUR_UI::update_transport_clocks (samplepos_t pos)
{
if (UIConfiguration::instance().get_primary_clock_delta_edit_cursor()) {
primary_clock->set (pos, false, editor->get_preferred_edit_position (EDIT_IGNORE_PHEAD));
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index fbe1486736..d98977c270 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -228,12 +228,12 @@ public:
static PublicEditor* _instance;
- /** Emitted frequently with the audible frame, false, and the edit point as
+ /** Emitted frequently with the audible sample, false, and the edit point as
* parameters respectively.
*
* (either RapidScreenUpdate || SuperRapidScreenUpdate - user-config)
*/
- static sigc::signal<void, framepos_t, bool, framepos_t> Clock;
+ static sigc::signal<void, samplepos_t, bool, samplepos_t> Clock;
static void close_all_dialogs () { CloseAllDialogs(); }
static sigc::signal<void> CloseAllDialogs;
@@ -249,8 +249,8 @@ public:
gboolean configure_handler (GdkEventConfigure* conf);
void halt_on_xrun_message ();
- void xrun_handler (framepos_t);
- void create_xrun_marker (framepos_t);
+ void xrun_handler (samplepos_t);
+ void create_xrun_marker (samplepos_t);
GUIObjectState* gui_object_state;
@@ -437,7 +437,7 @@ private:
void start_clocking ();
void stop_clocking ();
- void update_transport_clocks (framepos_t pos);
+ void update_transport_clocks (samplepos_t pos);
void record_state_changed ();
std::list<MidiTracer*> _midi_tracer_windows;
@@ -445,7 +445,7 @@ private:
/* Transport Control */
Gtk::Table transport_table;
- Gtk::Frame transport_frame;
+ Gtk::Frame transport_sample;
Gtk::HBox transport_hbox;
ArdourWidgets::ArdourVSpacer* secondary_clock_spacer;
@@ -604,7 +604,7 @@ private:
void update_buffer_load ();
Gtk::Label sample_rate_label;
- void update_sample_rate (ARDOUR::framecnt_t);
+ void update_sample_rate (ARDOUR::samplecnt_t);
Gtk::Label format_label;
void update_format ();
@@ -777,8 +777,8 @@ private:
void session_dialog (std::string);
int pending_state_dialog ();
- int sr_mismatch_dialog (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
- void sr_mismatch_message (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
+ int sr_mismatch_dialog (ARDOUR::samplecnt_t, ARDOUR::samplecnt_t);
+ void sr_mismatch_message (ARDOUR::samplecnt_t, ARDOUR::samplecnt_t);
Gtk::MenuItem* jack_disconnect_item;
Gtk::MenuItem* jack_reconnect_item;
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index a7794faf78..07e835e62f 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -456,19 +456,19 @@ ARDOUR_UI::setup_transport ()
transport_table.set_row_spacings (4);
transport_table.set_border_width (2);
- transport_frame.set_name ("TransportFrame");
- transport_frame.set_shadow_type (Gtk::SHADOW_NONE);
+ transport_sample.set_name ("TransportFrame");
+ transport_sample.set_shadow_type (Gtk::SHADOW_NONE);
/* An event box to hold the table. We use this because we want specific
control over the background color, and without this event box,
- nothing inside the transport_frame actually draws a background. We
+ nothing inside the transport_sample actually draws a background. We
would therefore end up seeing the background of the parent widget,
which is probably some default color. Adding the EventBox adds a
widget that will draw the background, using a style based on
the parent, "TransportFrame".
*/
Gtk::EventBox* ebox = manage (new Gtk::EventBox);
- transport_frame.add (*ebox);
+ transport_sample.add (*ebox);
ebox->add (transport_table);
/* transport controls sub-group */
diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc
index 87beab6b0e..307eac5451 100644
--- a/gtk2_ardour/ardour_ui_dependents.cc
+++ b/gtk2_ardour/ardour_ui_dependents.cc
@@ -296,9 +296,9 @@ ARDOUR_UI::setup_windows ()
main_vpacker.pack_start (top_packer, false, false);
- /* now add the transport frame to the top of main window */
+ /* now add the transport sample to the top of main window */
- main_vpacker.pack_start (transport_frame, false, false);
+ main_vpacker.pack_start (transport_sample, false, false);
main_vpacker.pack_start (_tabs, true, true);
#ifdef TOP_MENUBAR
@@ -336,7 +336,7 @@ ARDOUR_UI::setup_windows ()
*/
_main_window.add (main_vpacker);
- transport_frame.show_all ();
+ transport_sample.show_all ();
const XMLNode* mnode = main_window_settings ();
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index 873d07e9a6..39a92aee86 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -568,7 +568,7 @@ ARDOUR_UI::install_actions ()
ActionManager::session_sensitive_actions.push_back (act);
act = global_actions.register_action (transport_actions, X_("primary-clock-minsec"), _("Minutes & Seconds"), sigc::bind (sigc::mem_fun(primary_clock, &AudioClock::set_mode), AudioClock::MinSec, false));
ActionManager::session_sensitive_actions.push_back (act);
- act = global_actions.register_action (transport_actions, X_("primary-clock-samples"), _("Samples"), sigc::bind (sigc::mem_fun(primary_clock, &AudioClock::set_mode), AudioClock::Frames, false));
+ act = global_actions.register_action (transport_actions, X_("primary-clock-samples"), _("Samples"), sigc::bind (sigc::mem_fun(primary_clock, &AudioClock::set_mode), AudioClock::Samples, false));
ActionManager::session_sensitive_actions.push_back (act);
act = global_actions.register_action (transport_actions, X_("secondary-clock-timecode"), _("Timecode"), sigc::bind (sigc::mem_fun(secondary_clock, &AudioClock::set_mode), AudioClock::Timecode, false));
@@ -577,7 +577,7 @@ ARDOUR_UI::install_actions ()
ActionManager::session_sensitive_actions.push_back (act);
act = global_actions.register_action (transport_actions, X_("secondary-clock-minsec"), _("Minutes & Seconds"), sigc::bind (sigc::mem_fun(secondary_clock, &AudioClock::set_mode), AudioClock::MinSec, false));
ActionManager::session_sensitive_actions.push_back (act);
- act = global_actions.register_action (transport_actions, X_("secondary-clock-samples"), _("Samples"), sigc::bind (sigc::mem_fun(secondary_clock, &AudioClock::set_mode), AudioClock::Frames, false));
+ act = global_actions.register_action (transport_actions, X_("secondary-clock-samples"), _("Samples"), sigc::bind (sigc::mem_fun(secondary_clock, &AudioClock::set_mode), AudioClock::Samples, false));
ActionManager::session_sensitive_actions.push_back (act);
act = global_actions.register_toggle_action (transport_actions, X_("SessionMonitorIn"), _("All Input"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_session_monitoring_in));
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index 14a8695c8b..f624e660ee 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -562,8 +562,8 @@ ARDOUR_UI::reset_main_clocks ()
ENSURE_GUI_THREAD (*this, &ARDOUR_UI::reset_main_clocks)
if (_session) {
- primary_clock->set (_session->audible_frame(), true);
- secondary_clock->set (_session->audible_frame(), true);
+ primary_clock->set (_session->audible_sample(), true);
+ secondary_clock->set (_session->audible_sample(), true);
} else {
primary_clock->set (0, true);
secondary_clock->set (0, true);
diff --git a/gtk2_ardour/au_pluginui.h b/gtk2_ardour/au_pluginui.h
index eafe822078..cf61b99aca 100644
--- a/gtk2_ardour/au_pluginui.h
+++ b/gtk2_ardour/au_pluginui.h
@@ -132,7 +132,7 @@ private:
NSWindow* cocoa_window;
NSView* au_view;
- NSRect last_au_frame;
+ NSRect last_au_sample;
bool in_live_resize;
uint32_t plugin_requested_resize;
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index 3c5d065264..ea61979311 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -453,7 +453,7 @@ AudioClock::get_field (Field f)
case Timecode_Seconds:
return edit_string.substr (7, 2);
break;
- case Timecode_Frames:
+ case Timecode_frames:
return edit_string.substr (10, 2);
break;
case MS_Hours:
@@ -477,7 +477,7 @@ AudioClock::get_field (Field f)
case Ticks:
return edit_string.substr (8, 4);
break;
- case AudioFrames:
+ case S_Samples:
return edit_string;
break;
}
@@ -504,7 +504,7 @@ AudioClock::end_edit (bool modify)
ok = minsec_validate_edit (edit_string);
break;
- case Frames:
+ case Samples:
if (edit_string.length() < 1) {
edit_string = pre_edit_string;
}
@@ -520,27 +520,27 @@ AudioClock::end_edit (bool modify)
} else {
editing = false;
- framepos_t pos = 0; /* stupid gcc */
+ samplepos_t pos = 0; /* stupid gcc */
switch (_mode) {
case Timecode:
- pos = frames_from_timecode_string (edit_string);
+ pos = samples_from_timecode_string (edit_string);
break;
case BBT:
if (is_duration) {
- pos = frame_duration_from_bbt_string (bbt_reference_time, edit_string);
+ pos = sample_duration_from_bbt_string (bbt_reference_time, edit_string);
} else {
- pos = frames_from_bbt_string (0, edit_string);
+ pos = samples_from_bbt_string (0, edit_string);
}
break;
case MinSec:
- pos = frames_from_minsec_string (edit_string);
+ pos = samples_from_minsec_string (edit_string);
break;
- case Frames:
- pos = frames_from_audioframes_string (edit_string);
+ case Samples:
+ pos = samples_from_audioframes_string (edit_string);
break;
}
@@ -575,10 +575,10 @@ AudioClock::drop_focus ()
}
}
-framecnt_t
-AudioClock::parse_as_frames_distance (const std::string& str)
+samplecnt_t
+AudioClock::parse_as_samples_distance (const std::string& str)
{
- framecnt_t f;
+ samplecnt_t f;
if (sscanf (str.c_str(), "%" PRId64, &f) == 1) {
return f;
@@ -587,10 +587,10 @@ AudioClock::parse_as_frames_distance (const std::string& str)
return 0;
}
-framecnt_t
+samplecnt_t
AudioClock::parse_as_minsec_distance (const std::string& str)
{
- framecnt_t sr = _session->frame_rate();
+ samplecnt_t sr = _session->sample_rate();
int msecs;
int secs;
int mins;
@@ -637,12 +637,12 @@ AudioClock::parse_as_minsec_distance (const std::string& str)
return 0;
}
-framecnt_t
+samplecnt_t
AudioClock::parse_as_timecode_distance (const std::string& str)
{
double fps = _session->timecode_frames_per_second();
- framecnt_t sr = _session->frame_rate();
- int frames;
+ samplecnt_t sr = _session->sample_rate();
+ int samples;
int secs;
int mins;
int hrs;
@@ -652,32 +652,32 @@ AudioClock::parse_as_timecode_distance (const std::string& str)
return 0;
case 1:
case 2:
- sscanf (str.c_str(), "%" PRId32, &frames);
- return llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%" PRId32, &samples);
+ return llrint ((samples/(float)fps) * sr);
case 3:
- sscanf (str.c_str(), "%1" PRId32 "%" PRId32, &secs, &frames);
- return (secs * sr) + llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%1" PRId32 "%" PRId32, &secs, &samples);
+ return (secs * sr) + llrint ((samples/(float)fps) * sr);
case 4:
- sscanf (str.c_str(), "%2" PRId32 "%" PRId32, &secs, &frames);
- return (secs * sr) + llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%2" PRId32 "%" PRId32, &secs, &samples);
+ return (secs * sr) + llrint ((samples/(float)fps) * sr);
case 5:
- sscanf (str.c_str(), "%1" PRId32 "%2" PRId32 "%" PRId32, &mins, &secs, &frames);
- return (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%1" PRId32 "%2" PRId32 "%" PRId32, &mins, &secs, &samples);
+ return (mins * 60 * sr) + (secs * sr) + llrint ((samples/(float)fps) * sr);
case 6:
- sscanf (str.c_str(), "%2" PRId32 "%2" PRId32 "%" PRId32, &mins, &secs, &frames);
- return (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%2" PRId32 "%2" PRId32 "%" PRId32, &mins, &secs, &samples);
+ return (mins * 60 * sr) + (secs * sr) + llrint ((samples/(float)fps) * sr);
case 7:
- sscanf (str.c_str(), "%1" PRId32 "%2" PRId32 "%2" PRId32 "%" PRId32, &hrs, &mins, &secs, &frames);
- return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%1" PRId32 "%2" PRId32 "%2" PRId32 "%" PRId32, &hrs, &mins, &secs, &samples);
+ return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + llrint ((samples/(float)fps) * sr);
case 8:
- sscanf (str.c_str(), "%2" PRId32 "%2" PRId32 "%2" PRId32 "%" PRId32, &hrs, &mins, &secs, &frames);
- return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + llrint ((frames/(float)fps) * sr);
+ sscanf (str.c_str(), "%2" PRId32 "%2" PRId32 "%2" PRId32 "%" PRId32, &hrs, &mins, &secs, &samples);
+ return (hrs * 3600 * sr) + (mins * 60 * sr) + (secs * sr) + llrint ((samples/(float)fps) * sr);
default:
break;
@@ -686,21 +686,21 @@ AudioClock::parse_as_timecode_distance (const std::string& str)
return 0;
}
-framecnt_t
+samplecnt_t
AudioClock::parse_as_bbt_distance (const std::string&)
{
return 0;
}
-framecnt_t
+samplecnt_t
AudioClock::parse_as_distance (const std::string& instr)
{
switch (_mode) {
case Timecode:
return parse_as_timecode_distance (instr);
break;
- case Frames:
- return parse_as_frames_distance (instr);
+ case Samples:
+ return parse_as_samples_distance (instr);
break;
case BBT:
return parse_as_bbt_distance (instr);
@@ -730,7 +730,7 @@ AudioClock::end_edit_relative (bool add)
ok = minsec_validate_edit (edit_string);
break;
- case Frames:
+ case Samples:
break;
}
@@ -744,21 +744,21 @@ AudioClock::end_edit_relative (bool add)
return;
}
- framecnt_t frames = parse_as_distance (input_string);
+ samplecnt_t samples = parse_as_distance (input_string);
editing = false;
editing = false;
_layout->set_attributes (normal_attributes);
- if (frames != 0) {
+ if (samples != 0) {
if (add) {
- set (current_time() + frames, true);
+ set (current_time() + samples, true);
} else {
- framepos_t c = current_time();
+ samplepos_t c = current_time();
- if (c > frames || _negative_allowed) {
- set (c - frames, true);
+ if (c > samples || _negative_allowed) {
+ set (c - samples, true);
} else {
set (0, true);
}
@@ -794,7 +794,7 @@ AudioClock::session_configuration_changed (std::string p)
return;
}
- framecnt_t current;
+ samplecnt_t current;
switch (_mode) {
case Timecode:
@@ -811,7 +811,7 @@ AudioClock::session_configuration_changed (std::string p)
}
void
-AudioClock::set (framepos_t when, bool force, framecnt_t offset)
+AudioClock::set (samplepos_t when, bool force, samplecnt_t offset)
{
if ((!force && !is_visible()) || _session == 0) {
return;
@@ -866,8 +866,8 @@ AudioClock::set (framepos_t when, bool force, framecnt_t offset)
set_minsec (when, force);
break;
- case Frames:
- set_frames (when, force);
+ case Samples:
+ set_samples (when, force);
break;
}
}
@@ -970,7 +970,7 @@ AudioClock::set_out_of_bounds (bool negative)
}
void
-AudioClock::set_frames (framepos_t when, bool /*force*/)
+AudioClock::set_samples (samplepos_t when, bool /*force*/)
{
char buf[32];
bool negative = false;
@@ -998,7 +998,7 @@ AudioClock::set_frames (framepos_t when, bool /*force*/)
}
if (_with_info) {
- framecnt_t rate = _session->frame_rate();
+ samplecnt_t rate = _session->sample_rate();
if (fmod (rate, 100.0) == 0.0) {
sprintf (buf, "%.1fkHz", rate/1000.0);
@@ -1020,9 +1020,9 @@ AudioClock::set_frames (framepos_t when, bool /*force*/)
}
void
-AudioClock::print_minsec (framepos_t when, char* buf, size_t bufsize, float frame_rate)
+AudioClock::print_minsec (samplepos_t when, char* buf, size_t bufsize, float sample_rate)
{
- framecnt_t left;
+ samplecnt_t left;
int hrs;
int mins;
int secs;
@@ -1037,13 +1037,13 @@ AudioClock::print_minsec (framepos_t when, char* buf, size_t bufsize, float fram
}
left = when;
- hrs = (int) floor (left / (frame_rate * 60.0f * 60.0f));
- left -= (framecnt_t) floor (hrs * frame_rate * 60.0f * 60.0f);
- mins = (int) floor (left / (frame_rate * 60.0f));
- left -= (framecnt_t) floor (mins * frame_rate * 60.0f);
- secs = (int) floor (left / (float) frame_rate);
- left -= (framecnt_t) floor ((double)(secs * frame_rate));
- millisecs = floor (left * 1000.0 / (float) frame_rate);
+ hrs = (int) floor (left / (sample_rate * 60.0f * 60.0f));
+ left -= (samplecnt_t) floor (hrs * sample_rate * 60.0f * 60.0f);
+ mins = (int) floor (left / (sample_rate * 60.0f));
+ left -= (samplecnt_t) floor (mins * sample_rate * 60.0f);
+ secs = (int) floor (left / (float) sample_rate);
+ left -= (samplecnt_t) floor ((double)(secs * sample_rate));
+ millisecs = floor (left * 1000.0 / (float) sample_rate);
if (negative) {
snprintf (buf, bufsize, "-%02" PRId32 ":%02" PRId32 ":%02" PRId32 ".%03" PRId32, hrs, mins, secs, millisecs);
@@ -1054,7 +1054,7 @@ AudioClock::print_minsec (framepos_t when, char* buf, size_t bufsize, float fram
}
void
-AudioClock::set_minsec (framepos_t when, bool /*force*/)
+AudioClock::set_minsec (samplepos_t when, bool /*force*/)
{
char buf[32];
@@ -1069,7 +1069,7 @@ AudioClock::set_minsec (framepos_t when, bool /*force*/)
if (when >= _limit_pos || when <= -_limit_pos) {
set_out_of_bounds (when < 0);
} else {
- print_minsec (when, buf, sizeof (buf), _session->frame_rate());
+ print_minsec (when, buf, sizeof (buf), _session->sample_rate());
_layout->set_text (buf);
}
@@ -1077,7 +1077,7 @@ AudioClock::set_minsec (framepos_t when, bool /*force*/)
}
void
-AudioClock::set_timecode (framepos_t when, bool /*force*/)
+AudioClock::set_timecode (samplepos_t when, bool /*force*/)
{
Timecode::Time TC;
bool negative = false;
@@ -1113,7 +1113,7 @@ AudioClock::set_timecode (framepos_t when, bool /*force*/)
}
void
-AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/)
+AudioClock::set_bbt (samplepos_t when, samplecnt_t offset, bool /*force*/)
{
char buf[64];
Timecode::BBT_Time BBT;
@@ -1144,15 +1144,15 @@ AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/)
offset = bbt_reference_time;
}
- const double divisions = tmap.meter_section_at_frame (offset).divisions_per_bar();
+ const double divisions = tmap.meter_section_at_sample (offset).divisions_per_bar();
Timecode::BBT_Time sub_bbt;
if (negative) {
- BBT = tmap.bbt_at_beat (tmap.beat_at_frame (offset));
- sub_bbt = tmap.bbt_at_frame (offset - when);
+ BBT = tmap.bbt_at_beat (tmap.beat_at_sample (offset));
+ sub_bbt = tmap.bbt_at_sample (offset - when);
} else {
- BBT = tmap.bbt_at_beat (tmap.beat_at_frame (when + offset));
- sub_bbt = tmap.bbt_at_frame (offset);
+ BBT = tmap.bbt_at_beat (tmap.beat_at_sample (when + offset));
+ sub_bbt = tmap.bbt_at_sample (offset);
}
BBT.bars -= sub_bbt.bars;
@@ -1177,7 +1177,7 @@ AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/)
}
}
} else {
- BBT = _session->tempo_map().bbt_at_frame (when);
+ BBT = _session->tempo_map().bbt_at_sample (when);
}
if (negative) {
@@ -1191,7 +1191,7 @@ AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/)
_layout->set_text (buf);
if (_with_info) {
- framepos_t pos;
+ samplepos_t pos;
if (bbt_reference_time < 0) {
pos = when;
@@ -1202,13 +1202,13 @@ AudioClock::set_bbt (framepos_t when, framecnt_t offset, bool /*force*/)
TempoMetric m (_session->tempo_map().metric_at (pos));
if (m.tempo().note_type() == 4) {
- snprintf (buf, sizeof(buf), "\u2669 = %.3f", _session->tempo_map().tempo_at_frame (pos).note_types_per_minute());
+ snprintf (buf, sizeof(buf), "\u2669 = %.3f", _session->tempo_map().tempo_at_sample (pos).note_types_per_minute());
_left_btn.set_text (string_compose ("%1", buf), true);
} else if (m.tempo().note_type() == 8) {
- snprintf (buf, sizeof(buf), "\u266a = %.3f", _session->tempo_map().tempo_at_frame (pos).note_types_per_minute());
+ snprintf (buf, sizeof(buf), "\u266a = %.3f", _session->tempo_map().tempo_at_sample (pos).note_types_per_minute());
_left_btn.set_text (string_compose ("%1", buf), true);
} else {
- snprintf (buf, sizeof(buf), "%.1f = %.3f", m.tempo().note_type(), _session->tempo_map().tempo_at_frame (pos).note_types_per_minute());
+ snprintf (buf, sizeof(buf), "%.1f = %.3f", m.tempo().note_type(), _session->tempo_map().tempo_at_sample (pos).note_types_per_minute());
_left_btn.set_text (string_compose ("%1: %2", S_("Tempo|T"), buf), true);
}
@@ -1226,7 +1226,7 @@ AudioClock::set_session (Session *s)
int64_t limit_sec = UIConfiguration::instance().get_clock_display_limit ();
if (limit_sec > 0) {
- _limit_pos = (framecnt_t) floor ((double)(limit_sec * _session->frame_rate()));
+ _limit_pos = (samplecnt_t) floor ((double)(limit_sec * _session->sample_rate()));
}
Config->ParameterChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::session_configuration_changed, this, _1), gui_context());
@@ -1268,7 +1268,7 @@ AudioClock::on_key_press_event (GdkEventKey* ev)
string new_text;
char new_char = 0;
int highlight_length;
- framepos_t pos;
+ samplepos_t pos;
switch (ev->keyval) {
case GDK_0:
@@ -1368,7 +1368,7 @@ AudioClock::on_key_press_event (GdkEventKey* ev)
use_input_string:
switch (_mode) {
- case Frames:
+ case Samples:
/* get this one in the right order, and to the right width */
if (ev->keyval == GDK_Delete || ev->keyval == GDK_BackSpace) {
edit_string = edit_string.substr (0, edit_string.length() - 1);
@@ -1487,7 +1487,7 @@ AudioClock::index_to_field (int index) const
} else if (index < 10) {
return Timecode_Seconds;
} else {
- return Timecode_Frames;
+ return Timecode_frames;
}
break;
case BBT:
@@ -1510,8 +1510,8 @@ AudioClock::index_to_field (int index) const
return MS_Milliseconds;
}
break;
- case Frames:
- return AudioFrames;
+ case Samples:
+ return S_Samples;
break;
}
@@ -1601,7 +1601,7 @@ AudioClock::on_button_release_event (GdkEventButton *ev)
f = index_to_field (index);
switch (f) {
- case Timecode_Frames:
+ case Timecode_frames:
case MS_Milliseconds:
case Ticks:
f = Field (0);
@@ -1668,32 +1668,32 @@ AudioClock::on_scroll_event (GdkEventScroll *ev)
}
Field f = index_to_field (index);
- framepos_t frames = 0;
+ samplepos_t samples = 0;
switch (ev->direction) {
case GDK_SCROLL_UP:
- frames = get_frame_step (f, current_time(), 1);
- if (frames != 0) {
+ samples = get_sample_step (f, current_time(), 1);
+ if (samples != 0) {
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- frames *= 10;
+ samples *= 10;
}
- set (current_time() + frames, true);
+ set (current_time() + samples, true);
ValueChanged (); /* EMIT_SIGNAL */
}
break;
case GDK_SCROLL_DOWN:
- frames = get_frame_step (f, current_time(), -1);
- if (frames != 0) {
+ samples = get_sample_step (f, current_time(), -1);
+ if (samples != 0) {
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- frames *= 10;
+ samples *= 10;
}
- if (!_negative_allowed && (double)current_time() - (double)frames < 0.0) {
+ if (!_negative_allowed && (double)current_time() - (double)samples < 0.0) {
set (0, true);
} else {
- set (current_time() - frames, true);
+ set (current_time() - samples, true);
}
ValueChanged (); /* EMIT_SIGNAL */
@@ -1715,35 +1715,35 @@ AudioClock::on_motion_notify_event (GdkEventMotion *ev)
return false;
}
- float pixel_frame_scale_factor = 0.2f;
+ float pixel_sample_scale_factor = 0.2f;
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
- pixel_frame_scale_factor = 0.1f;
+ pixel_sample_scale_factor = 0.1f;
}
if (Keyboard::modifier_state_contains (ev->state,
Keyboard::PrimaryModifier|Keyboard::SecondaryModifier)) {
- pixel_frame_scale_factor = 0.025f;
+ pixel_sample_scale_factor = 0.025f;
}
double y_delta = ev->y - drag_y;
- drag_accum += y_delta*pixel_frame_scale_factor;
+ drag_accum += y_delta*pixel_sample_scale_factor;
drag_y = ev->y;
if (floor (drag_accum) != 0) {
- framepos_t frames;
- framepos_t pos;
+ samplepos_t samples;
+ samplepos_t pos;
int dir;
dir = (drag_accum < 0 ? 1:-1);
pos = current_time();
- frames = get_frame_step (drag_field, pos, dir);
+ samples = get_sample_step (drag_field, pos, dir);
- if (frames != 0 && frames * drag_accum < current_time()) {
- set ((framepos_t) floor (pos - drag_accum * frames), false); // minus because up is negative in GTK
+ if (samples != 0 && samples * drag_accum < current_time()) {
+ set ((samplepos_t) floor (pos - drag_accum * samples), false); // minus because up is negative in GTK
} else {
set (0 , false);
}
@@ -1755,40 +1755,40 @@ AudioClock::on_motion_notify_event (GdkEventMotion *ev)
return true;
}
-framepos_t
-AudioClock::get_frame_step (Field field, framepos_t pos, int dir)
+samplepos_t
+AudioClock::get_sample_step (Field field, samplepos_t pos, int dir)
{
- framecnt_t f = 0;
+ samplecnt_t f = 0;
Timecode::BBT_Time BBT;
switch (field) {
case Timecode_Hours:
- f = (framecnt_t) floor (3600.0 * _session->frame_rate());
+ f = (samplecnt_t) floor (3600.0 * _session->sample_rate());
break;
case Timecode_Minutes:
- f = (framecnt_t) floor (60.0 * _session->frame_rate());
+ f = (samplecnt_t) floor (60.0 * _session->sample_rate());
break;
case Timecode_Seconds:
- f = _session->frame_rate();
+ f = _session->sample_rate();
break;
- case Timecode_Frames:
- f = (framecnt_t) floor (_session->frame_rate() / _session->timecode_frames_per_second());
+ case Timecode_frames:
+ f = (samplecnt_t) floor (_session->sample_rate() / _session->timecode_frames_per_second());
break;
- case AudioFrames:
+ case S_Samples:
f = 1;
break;
case MS_Hours:
- f = (framecnt_t) floor (3600.0 * _session->frame_rate());
+ f = (samplecnt_t) floor (3600.0 * _session->sample_rate());
break;
case MS_Minutes:
- f = (framecnt_t) floor (60.0 * _session->frame_rate());
+ f = (samplecnt_t) floor (60.0 * _session->sample_rate());
break;
case MS_Seconds:
- f = (framecnt_t) _session->frame_rate();
+ f = (samplecnt_t) _session->sample_rate();
break;
case MS_Milliseconds:
- f = (framecnt_t) floor (_session->frame_rate() / 1000.0);
+ f = (samplecnt_t) floor (_session->sample_rate() / 1000.0);
break;
case Bars:
@@ -1810,7 +1810,7 @@ AudioClock::get_frame_step (Field field, framepos_t pos, int dir)
f = _session->tempo_map().bbt_duration_at(pos,BBT,dir);
break;
default:
- error << string_compose (_("programming error: %1"), "attempt to get frames from non-text field!") << endmsg;
+ error << string_compose (_("programming error: %1"), "attempt to get samples from non-text field!") << endmsg;
f = 0;
break;
}
@@ -1818,30 +1818,30 @@ AudioClock::get_frame_step (Field field, framepos_t pos, int dir)
return f;
}
-framepos_t
-AudioClock::current_time (framepos_t) const
+samplepos_t
+AudioClock::current_time (samplepos_t) const
{
return last_when;
}
-framepos_t
-AudioClock::current_duration (framepos_t pos) const
+samplepos_t
+AudioClock::current_duration (samplepos_t pos) const
{
- framepos_t ret = 0;
+ samplepos_t ret = 0;
switch (_mode) {
case Timecode:
ret = last_when;
break;
case BBT:
- ret = frame_duration_from_bbt_string (pos, _layout->get_text());
+ ret = sample_duration_from_bbt_string (pos, _layout->get_text());
break;
case MinSec:
ret = last_when;
break;
- case Frames:
+ case Samples:
ret = last_when;
break;
}
@@ -1930,15 +1930,15 @@ AudioClock::minsec_validate_edit (const string& str)
return true;
}
-framepos_t
-AudioClock::frames_from_timecode_string (const string& str) const
+samplepos_t
+AudioClock::samples_from_timecode_string (const string& str) const
{
if (_session == 0) {
return 0;
}
Timecode::Time TC;
- framepos_t sample;
+ samplepos_t sample;
char ignored[2];
int hours;
@@ -1960,26 +1960,26 @@ AudioClock::frames_from_timecode_string (const string& str) const
return sample;
}
-framepos_t
-AudioClock::frames_from_minsec_string (const string& str) const
+samplepos_t
+AudioClock::samples_from_minsec_string (const string& str) const
{
if (_session == 0) {
return 0;
}
int hrs, mins, secs, millisecs;
- framecnt_t sr = _session->frame_rate();
+ samplecnt_t sr = _session->sample_rate();
if (sscanf (str.c_str(), "%d:%d:%d.%d", &hrs, &mins, &secs, &millisecs) != 4) {
error << string_compose (_("programming error: %1 %2"), "badly formatted minsec clock string", str) << endmsg;
return 0;
}
- return (framepos_t) floor ((hrs * 60.0f * 60.0f * sr) + (mins * 60.0f * sr) + (secs * sr) + (millisecs * sr / 1000.0));
+ return (samplepos_t) floor ((hrs * 60.0f * 60.0f * sr) + (mins * 60.0f * sr) + (secs * sr) + (millisecs * sr / 1000.0));
}
-framepos_t
-AudioClock::frames_from_bbt_string (framepos_t pos, const string& str) const
+samplepos_t
+AudioClock::samples_from_bbt_string (samplepos_t pos, const string& str) const
{
if (_session == 0) {
error << "AudioClock::current_time() called with BBT mode but without session!" << endmsg;
@@ -1996,18 +1996,18 @@ AudioClock::frames_from_bbt_string (framepos_t pos, const string& str) const
if (is_duration) {
any.bbt.bars++;
any.bbt.beats++;
- return _session->any_duration_to_frames (pos, any);
+ return _session->any_duration_to_samples (pos, any);
} else {
- return _session->convert_to_frames (any);
+ return _session->convert_to_samples (any);
}
}
-framepos_t
-AudioClock::frame_duration_from_bbt_string (framepos_t pos, const string& str) const
+samplepos_t
+AudioClock::sample_duration_from_bbt_string (samplepos_t pos, const string& str) const
{
if (_session == 0) {
- error << "AudioClock::frame_duration_from_bbt_string() called with BBT mode but without session!" << endmsg;
+ error << "AudioClock::sample_duration_from_bbt_string() called with BBT mode but without session!" << endmsg;
return 0;
}
@@ -2020,10 +2020,10 @@ AudioClock::frame_duration_from_bbt_string (framepos_t pos, const string& str) c
return _session->tempo_map().bbt_duration_at(pos,bbt,1);
}
-framepos_t
-AudioClock::frames_from_audioframes_string (const string& str) const
+samplepos_t
+AudioClock::samples_from_audioframes_string (const string& str) const
{
- framepos_t f;
+ samplepos_t f;
sscanf (str.c_str(), "%" PRId64, &f);
return f;
}
@@ -2057,7 +2057,7 @@ AudioClock::build_ops_menu ()
ops_items.push_back (MenuElem (_("Timecode"), sigc::bind (sigc::mem_fun(*this, &AudioClock::set_mode), Timecode, false)));
ops_items.push_back (MenuElem (_("Bars:Beats"), sigc::bind (sigc::mem_fun(*this, &AudioClock::set_mode), BBT, false)));
ops_items.push_back (MenuElem (_("Minutes:Seconds"), sigc::bind (sigc::mem_fun(*this, &AudioClock::set_mode), MinSec, false)));
- ops_items.push_back (MenuElem (_("Samples"), sigc::bind (sigc::mem_fun(*this, &AudioClock::set_mode), Frames, false)));
+ ops_items.push_back (MenuElem (_("Samples"), sigc::bind (sigc::mem_fun(*this, &AudioClock::set_mode), Samples, false)));
if (editable && !_off && !is_duration && !_follows_playhead) {
ops_items.push_back (SeparatorElem());
@@ -2075,7 +2075,7 @@ AudioClock::set_from_playhead ()
return;
}
- set (_session->transport_frame());
+ set (_session->transport_sample());
ValueChanged ();
}
@@ -2141,7 +2141,7 @@ AudioClock::set_mode (Mode m, bool noemit)
insert_map.push_back (1);
break;
- case Frames:
+ case Samples:
break;
}
@@ -2155,7 +2155,7 @@ AudioClock::set_mode (Mode m, bool noemit)
}
void
-AudioClock::set_bbt_reference (framepos_t pos)
+AudioClock::set_bbt_reference (samplepos_t pos)
{
bbt_reference_time = pos;
}
diff --git a/gtk2_ardour/audio_clock.h b/gtk2_ardour/audio_clock.h
index 9ff8221229..e48dec0dc5 100644
--- a/gtk2_ardour/audio_clock.h
+++ b/gtk2_ardour/audio_clock.h
@@ -47,7 +47,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
Timecode,
BBT,
MinSec,
- Frames
+ Samples
};
AudioClock (const std::string& clock_name, bool is_transient, const std::string& widget_name,
@@ -66,19 +66,19 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
void focus ();
- void set (framepos_t, bool force = false, ARDOUR::framecnt_t offset = 0);
+ void set (samplepos_t, bool force = false, ARDOUR::samplecnt_t offset = 0);
void set_from_playhead ();
void locate ();
void set_mode (Mode, bool noemit = false);
- void set_bbt_reference (framepos_t);
+ void set_bbt_reference (samplepos_t);
void set_is_duration (bool);
void copy_text_to_clipboard () const;
std::string name() const { return _name; }
- framepos_t current_time (framepos_t position = 0) const;
- framepos_t current_duration (framepos_t position = 0) const;
+ samplepos_t current_time (samplepos_t position = 0) const;
+ samplepos_t current_duration (samplepos_t position = 0) const;
void set_session (ARDOUR::Session *s);
void set_negative_allowed (bool yn);
@@ -93,7 +93,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
*/
void set_scale (double x, double y);
- static void print_minsec (framepos_t, char* buf, size_t bufsize, float frame_rate);
+ static void print_minsec (samplepos_t, char* buf, size_t bufsize, float sample_rate);
sigc::signal<void> ValueChanged;
sigc::signal<void> mode_changed;
@@ -130,7 +130,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
bool _negative_allowed;
bool edit_is_negative;
- framepos_t _limit_pos;
+ samplepos_t _limit_pos;
Glib::RefPtr<Pango::Layout> _layout;
@@ -158,7 +158,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
Timecode_Hours = 1,
Timecode_Minutes,
Timecode_Seconds,
- Timecode_Frames,
+ Timecode_frames,
MS_Hours,
MS_Minutes,
MS_Seconds,
@@ -166,7 +166,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
Bars,
Beats,
Ticks,
- AudioFrames,
+ S_Samples,
};
Field index_to_field (int index) const;
@@ -184,8 +184,8 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
std::string pre_edit_string;
std::string input_string;
- framepos_t bbt_reference_time;
- framepos_t last_when;
+ samplepos_t bbt_reference_time;
+ samplepos_t last_when;
bool last_pdelta;
bool last_sdelta;
@@ -205,25 +205,25 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
bool on_focus_out_event (GdkEventFocus*);
void set_slave_info ();
- void set_timecode (framepos_t, bool);
- void set_bbt (framepos_t, ARDOUR::framecnt_t, bool);
- void set_minsec (framepos_t, bool);
- void set_frames (framepos_t, bool);
+ void set_timecode (samplepos_t, bool);
+ void set_bbt (samplepos_t, ARDOUR::samplecnt_t, bool);
+ void set_minsec (samplepos_t, bool);
+ void set_samples (samplepos_t, bool);
void set_out_of_bounds (bool negative);
void set_clock_dimensions (Gtk::Requisition&);
- framepos_t get_frame_step (Field, framepos_t pos = 0, int dir = 1);
+ samplepos_t get_sample_step (Field, samplepos_t pos = 0, int dir = 1);
bool timecode_validate_edit (const std::string&);
bool bbt_validate_edit (const std::string&);
bool minsec_validate_edit (const std::string&);
- framepos_t frames_from_timecode_string (const std::string&) const;
- framepos_t frames_from_bbt_string (framepos_t, const std::string&) const;
- framepos_t frame_duration_from_bbt_string (framepos_t, const std::string&) const;
- framepos_t frames_from_minsec_string (const std::string&) const;
- framepos_t frames_from_audioframes_string (const std::string&) const;
+ samplepos_t samples_from_timecode_string (const std::string&) const;
+ samplepos_t samples_from_bbt_string (samplepos_t, const std::string&) const;
+ samplepos_t sample_duration_from_bbt_string (samplepos_t, const std::string&) const;
+ samplepos_t samples_from_minsec_string (const std::string&) const;
+ samplepos_t samples_from_audioframes_string (const std::string&) const;
void session_configuration_changed (std::string);
void session_property_changed (const PBD::PropertyChange&);
@@ -234,12 +234,12 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
void end_edit (bool);
void end_edit_relative (bool);
void edit_next_field ();
- ARDOUR::framecnt_t parse_as_distance (const std::string&);
+ ARDOUR::samplecnt_t parse_as_distance (const std::string&);
- ARDOUR::framecnt_t parse_as_timecode_distance (const std::string&);
- ARDOUR::framecnt_t parse_as_minsec_distance (const std::string&);
- ARDOUR::framecnt_t parse_as_bbt_distance (const std::string&);
- ARDOUR::framecnt_t parse_as_frames_distance (const std::string&);
+ ARDOUR::samplecnt_t parse_as_timecode_distance (const std::string&);
+ ARDOUR::samplecnt_t parse_as_minsec_distance (const std::string&);
+ ARDOUR::samplecnt_t parse_as_bbt_distance (const std::string&);
+ ARDOUR::samplecnt_t parse_as_samples_distance (const std::string&);
void set_font (Pango::FontDescription);
void set_colors ();
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index fd35f23645..1e1a9f2c39 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -292,7 +292,7 @@ AudioRegionView::~AudioRegionView ()
}
_data_ready_connections.clear ();
- for (list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator i = feature_lines.begin(); i != feature_lines.end(); ++i) {
+ for (list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator i = feature_lines.begin(); i != feature_lines.end(); ++i) {
delete ((*i).second);
}
@@ -389,7 +389,7 @@ AudioRegionView::region_renamed ()
{
std::string str = RegionView::make_name ();
- if (audio_region()->speed_mismatch (trackview.session()->frame_rate())) {
+ if (audio_region()->speed_mismatch (trackview.session()->sample_rate())) {
str = string ("*") + str;
}
@@ -436,9 +436,9 @@ AudioRegionView::region_resized (const PropertyChange& what_changed)
}
/* hide transient lines that extend beyond the region */
- list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
- framepos_t first = _region->first_frame();
- framepos_t last = _region->last_frame();
+ list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator l;
+ samplepos_t first = _region->first_sample();
+ samplepos_t last = _region->last_sample();
for (l = feature_lines.begin(); l != feature_lines.end(); ++l) {
if (l->first < first || l->first >= last) {
@@ -483,10 +483,10 @@ AudioRegionView::reset_width_dependent_items (double pixel_width)
return;
}
- framepos_t position = _region->position();
+ samplepos_t position = _region->position();
AnalysisFeatureList::const_iterator i;
- list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
+ list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator l;
double y1;
if (_height >= NAME_HIGHLIGHT_THRESH) {
y1 = _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1;
@@ -580,8 +580,8 @@ AudioRegionView::set_height (gdouble height)
reset_fade_shapes ();
/* Update heights for any feature lines */
- framepos_t position = _region->position();
- list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
+ samplepos_t position = _region->position();
+ list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator l;
double y1;
if (_height >= NAME_HIGHLIGHT_THRESH) {
y1 = _height - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 1;
@@ -611,20 +611,20 @@ AudioRegionView::reset_fade_shapes ()
void
AudioRegionView::reset_fade_in_shape ()
{
- reset_fade_in_shape_width (audio_region(), (framecnt_t) audio_region()->fade_in()->back()->when);
+ reset_fade_in_shape_width (audio_region(), (samplecnt_t) audio_region()->fade_in()->back()->when);
}
void
-AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, framecnt_t width, bool drag_active)
+AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, samplecnt_t width, bool drag_active)
{
trim_fade_in_drag_active = drag_active;
if (fade_in_handle == 0) {
return;
}
- /* smallest size for a fade is 64 frames */
+ /* smallest size for a fade is 64 samples */
- width = std::max ((framecnt_t) 64, width);
+ width = std::max ((samplecnt_t) 64, width);
/* round here to prevent little visual glitches with sub-pixel placement */
double const pwidth = floor (width / samples_per_pixel);
@@ -682,33 +682,33 @@ AudioRegionView::reset_fade_in_shape_width (boost::shared_ptr<AudioRegion> ar, f
redraw_start_xfade_to (ar, width, points, effective_height, handle_left);
/* ensure trim handle stays on top */
- if (frame_handle_start) {
- frame_handle_start->raise_to_top();
+ if (sample_handle_start) {
+ sample_handle_start->raise_to_top();
}
}
void
AudioRegionView::reset_fade_out_shape ()
{
- reset_fade_out_shape_width (audio_region(), (framecnt_t) audio_region()->fade_out()->back()->when);
+ reset_fade_out_shape_width (audio_region(), (samplecnt_t) audio_region()->fade_out()->back()->when);
}
void
-AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar, framecnt_t width, bool drag_active)
+AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar, samplecnt_t width, bool drag_active)
{
trim_fade_out_drag_active = drag_active;
if (fade_out_handle == 0) {
return;
}
- /* smallest size for a fade is 64 frames */
+ /* smallest size for a fade is 64 samples */
- width = std::max ((framecnt_t) 64, width);
+ width = std::max ((samplecnt_t) 64, width);
double const pwidth = floor(trackview.editor().sample_to_pixel (width));
- /* the right edge should be right on the region frame is the pixel
+ /* the right edge should be right on the region sample is the pixel
* width is zero. Hence the additional + 1.0 at the end.
*/
@@ -768,18 +768,18 @@ AudioRegionView::reset_fade_out_shape_width (boost::shared_ptr<AudioRegion> ar,
redraw_end_xfade_to (ar, width, points, effective_height, handle_right, pwidth);
/* ensure trim handle stays on top */
- if (frame_handle_end) {
- frame_handle_end->raise_to_top();
+ if (sample_handle_end) {
+ sample_handle_end->raise_to_top();
}
}
-framepos_t
+samplepos_t
AudioRegionView::get_fade_in_shape_width ()
{
return audio_region()->fade_in()->back()->when;
}
-framepos_t
+samplepos_t
AudioRegionView::get_fade_out_shape_width ()
{
return audio_region()->fade_out()->back()->when;
@@ -800,7 +800,7 @@ AudioRegionView::redraw_start_xfade ()
}
void
-AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, framecnt_t /*width*/, Points& points, double effective_height,
+AudioRegionView::redraw_start_xfade_to (boost::shared_ptr<AudioRegion> ar, samplecnt_t /*width*/, Points& points, double effective_height,
double rect_width)
{
if (points.size() < 2) {
@@ -889,7 +889,7 @@ AudioRegionView::redraw_end_xfade ()
}
void
-AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, framecnt_t width, Points& points, double effective_height,
+AudioRegionView::redraw_end_xfade_to (boost::shared_ptr<AudioRegion> ar, samplecnt_t width, Points& points, double effective_height,
double rect_edge, double rect_width)
{
if (points.size() < 2) {
@@ -1234,7 +1234,7 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
}
/* first waveview starts at 1.0, not 0.0 since that will overlap the
- * frame
+ * sample
*/
gdouble yoff = which * ht;
@@ -1303,7 +1303,7 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
/* Restore stacked coverage */
LayerDisplay layer_display;
if (trackview.get_gui_property ("layer-display", layer_display)) {
- update_coverage_frames (layer_display);
+ update_coverage_samples (layer_display);
}
}
@@ -1332,14 +1332,14 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev, b
item->canvas_to_item (mx, my);
- framecnt_t const frame_within_region = (framecnt_t) floor (mx * samples_per_pixel);
+ samplecnt_t const sample_within_region = (samplecnt_t) floor (mx * samples_per_pixel);
- if (!gain_line->control_points_adjacent (frame_within_region, before_p, after_p)) {
+ if (!gain_line->control_points_adjacent (sample_within_region, before_p, after_p)) {
/* no adjacent points */
return;
}
- /*y is in item frame */
+ /*y is in item sample */
double const bx = gain_line->nth (before_p)->get_x();
double const ax = gain_line->nth (after_p)->get_x();
double const click_ratio = (ax - mx) / (ax - bx);
@@ -1349,10 +1349,10 @@ AudioRegionView::add_gain_point_event (ArdourCanvas::Item *item, GdkEvent *ev, b
/* don't create points that can't be seen */
update_envelope_visibility ();
- framepos_t rpos = region ()->position ();
- MusicFrame snap_pos (trackview.editor().pixel_to_sample (mx) + rpos, 0);
+ samplepos_t rpos = region ()->position ();
+ MusicSample snap_pos (trackview.editor().pixel_to_sample (mx) + rpos, 0);
trackview.editor ().snap_to_with_modifier (snap_pos, ev);
- framepos_t fx = snap_pos.frame - rpos;
+ samplepos_t fx = snap_pos.sample - rpos;
if (fx > _region->length()) {
return;
@@ -1589,13 +1589,13 @@ AudioRegionView::set_some_waveform_colors (vector<ArdourWaveView::WaveView*>& wa
}
void
-AudioRegionView::set_frame_color ()
+AudioRegionView::set_sample_color ()
{
- if (!frame) {
+ if (!sample) {
return;
}
- RegionView::set_frame_color ();
+ RegionView::set_sample_color ();
set_waveform_colors ();
}
@@ -1623,9 +1623,9 @@ AudioRegionView::set_fade_visibility (bool yn)
}
void
-AudioRegionView::update_coverage_frames (LayerDisplay d)
+AudioRegionView::update_coverage_samples (LayerDisplay d)
{
- RegionView::update_coverage_frames (d);
+ RegionView::update_coverage_samples (d);
if (d == Stacked) {
if (fade_in_handle) { fade_in_handle->raise_to_top (); }
@@ -1651,9 +1651,9 @@ AudioRegionView::transients_changed ()
{
AnalysisFeatureList analysis_features;
_region->transients (analysis_features);
- framepos_t position = _region->position();
- framepos_t first = _region->first_frame();
- framepos_t last = _region->last_frame();
+ samplepos_t position = _region->position();
+ samplepos_t first = _region->first_sample();
+ samplepos_t last = _region->last_sample();
double y1;
if (_height >= NAME_HIGHLIGHT_THRESH) {
@@ -1686,7 +1686,7 @@ AudioRegionView::transients_changed ()
}
AnalysisFeatureList::const_iterator i;
- list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
+ list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator l;
for (i = analysis_features.begin(), l = feature_lines.begin(); i != analysis_features.end() && l != feature_lines.end(); ++i, ++l) {
@@ -1712,8 +1712,8 @@ AudioRegionView::transients_changed ()
void
AudioRegionView::update_transient(float /*old_pos*/, float new_pos)
{
- /* Find frame at old pos, calulate new frame then update region transients*/
- list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
+ /* Find sample at old pos, calulate new sample then update region transients*/
+ list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator l;
for (l = feature_lines.begin(); l != feature_lines.end(); ++l) {
@@ -1722,10 +1722,10 @@ AudioRegionView::update_transient(float /*old_pos*/, float new_pos)
float* pos = (float*) (*l).second->get_data ("position");
if (rint(new_pos) == rint(*pos)) {
- framepos_t position = _region->position();
- framepos_t old_frame = (*l).first;
- framepos_t new_frame = trackview.editor().pixel_to_sample (new_pos) + position;
- _region->update_transient (old_frame, new_frame);
+ samplepos_t position = _region->position();
+ samplepos_t old_sample = (*l).first;
+ samplepos_t new_sample = trackview.editor().pixel_to_sample (new_pos) + position;
+ _region->update_transient (old_sample, new_sample);
break;
}
}
@@ -1737,9 +1737,9 @@ AudioRegionView::remove_transient (float pos)
/* this is called from Editor::remove_transient () with pos == get_data ("position")
* which is the item's x-coordinate inside the ARV.
*
- * Find frame at old pos, calulate new frame then update region transients
+ * Find sample at old pos, calulate new sample then update region transients
*/
- list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator l;
+ list<std::pair<samplepos_t, ArdourCanvas::Line*> >::iterator l;
for (l = feature_lines.begin(); l != feature_lines.end(); ++l) {
float *line_pos = (float*) (*l).second->get_data ("position");
diff --git a/gtk2_ardour/audio_region_view.h b/gtk2_ardour/audio_region_view.h
index 8841ee2e43..d12d8ff086 100644
--- a/gtk2_ardour/audio_region_view.h
+++ b/gtk2_ardour/audio_region_view.h
@@ -97,14 +97,14 @@ public:
GhostRegion* add_ghost (TimeAxisView&);
- void reset_fade_in_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, framecnt_t, bool drag_active = false);
- void reset_fade_out_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, framecnt_t, bool drag_active = false);
+ void reset_fade_in_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, samplecnt_t, bool drag_active = false);
+ void reset_fade_out_shape_width (boost::shared_ptr<ARDOUR::AudioRegion> ar, samplecnt_t, bool drag_active = false);
- framepos_t get_fade_in_shape_width ();
- framepos_t get_fade_out_shape_width ();
+ samplepos_t get_fade_in_shape_width ();
+ samplepos_t get_fade_out_shape_width ();
void set_fade_visibility (bool);
- void update_coverage_frames (LayerDisplay);
+ void update_coverage_samples (LayerDisplay);
void update_transient(float old_pos, float new_pos);
void remove_transient(float pos);
@@ -119,8 +119,8 @@ public:
void drag_start ();
void drag_end ();
- void redraw_start_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double, double);
- void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, framecnt_t, ArdourCanvas::Points&, double, double, double);
+ void redraw_start_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, samplecnt_t, ArdourCanvas::Points&, double, double);
+ void redraw_end_xfade_to (boost::shared_ptr<ARDOUR::AudioRegion>, samplecnt_t, ArdourCanvas::Points&, double, double, double);
void redraw_start_xfade ();
void redraw_end_xfade ();
@@ -155,7 +155,7 @@ protected:
std::vector<ArdourWaveView::WaveView *> waves;
std::vector<ArdourWaveView::WaveView *> tmp_waves; ///< see ::create_waves()
- std::list<std::pair<framepos_t, ArdourCanvas::Line*> > feature_lines;
+ std::list<std::pair<samplepos_t, ArdourCanvas::Line*> > feature_lines;
ArdourCanvas::Polygon* sync_mark; ///< polgyon for sync position
ArdourCanvas::Rectangle* fade_in_handle; ///< fade in handle, or 0
@@ -197,7 +197,7 @@ protected:
void set_colors ();
void set_waveform_colors ();
void reset_width_dependent_items (double pixel_width);
- void set_frame_color ();
+ void set_sample_color ();
void color_handler ();
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc
index 95f2c6888b..7e79c33893 100644
--- a/gtk2_ardour/audio_streamview.cc
+++ b/gtk2_ardour/audio_streamview.cc
@@ -210,10 +210,10 @@ AudioStreamView::setup_rec_box ()
// handle multi
- framepos_t start = 0;
+ samplepos_t start = 0;
if (rec_regions.size() > 0) {
start = rec_regions.back().first->start()
- + _trackview.track()->get_captured_frames(rec_regions.size()-1);
+ + _trackview.track()->get_captured_samples(rec_regions.size()-1);
}
PropertyList plist;
@@ -227,17 +227,17 @@ AudioStreamView::setup_rec_box ()
boost::dynamic_pointer_cast<AudioRegion>(RegionFactory::create (sources, plist, false)));
assert(region);
- region->set_position (_trackview.session()->transport_frame());
+ region->set_position (_trackview.session()->transport_sample());
rec_regions.push_back (make_pair(region, (RegionView*) 0));
}
/* start a new rec box */
boost::shared_ptr<AudioTrack> at = _trackview.audio_track();
- framepos_t const frame_pos = at->current_capture_start ();
+ samplepos_t const sample_pos = at->current_capture_start ();
double const width = ((at->mode() == Destructive) ? 2 : 0);
- create_rec_box(frame_pos, width);
+ create_rec_box(sample_pos, width);
} else if (rec_active &&
(_trackview.session()->record_status() != Session::Recording ||
@@ -289,7 +289,7 @@ AudioStreamView::setup_rec_box ()
}
void
-AudioStreamView::rec_peak_range_ready (framepos_t start, framecnt_t cnt, boost::weak_ptr<Source> weak_src)
+AudioStreamView::rec_peak_range_ready (samplepos_t start, samplecnt_t cnt, boost::weak_ptr<Source> weak_src)
{
ENSURE_GUI_THREAD (*this, &AudioStreamView::rec_peak_range_ready, start, cnt, weak_src)
@@ -301,8 +301,8 @@ AudioStreamView::rec_peak_range_ready (framepos_t start, framecnt_t cnt, boost::
// this is called from the peak building thread
- if (rec_data_ready_map.size() == 0 || start + cnt > last_rec_data_frame) {
- last_rec_data_frame = start + cnt;
+ if (rec_data_ready_map.size() == 0 || start + cnt > last_rec_data_sample) {
+ last_rec_data_sample = start + cnt;
}
rec_data_ready_map[src] = true;
@@ -314,7 +314,7 @@ AudioStreamView::rec_peak_range_ready (framepos_t start, framecnt_t cnt, boost::
}
void
-AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt)
+AudioStreamView::update_rec_regions (samplepos_t start, samplecnt_t cnt)
{
if (!UIConfiguration::instance().get_show_waveforms_while_recording ()) {
return;
@@ -342,19 +342,19 @@ AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt)
continue;
}
- framecnt_t origlen = region->length();
+ samplecnt_t origlen = region->length();
if (region == rec_regions.back().first && rec_active) {
- if (last_rec_data_frame > region->start()) {
+ if (last_rec_data_sample > region->start()) {
- framecnt_t nlen = last_rec_data_frame - region->start();
+ samplecnt_t nlen = last_rec_data_sample - region->start();
if (nlen != region->length()) {
region->suspend_property_changes ();
/* set non-musical position / length */
- region->set_position (_trackview.track()->get_capture_start_frame(n));
+ region->set_position (_trackview.track()->get_capture_start_sample(n));
region->set_length (nlen, 0);
region->resume_property_changes ();
@@ -374,14 +374,14 @@ AudioStreamView::update_rec_regions (framepos_t start, framecnt_t cnt)
} else {
- framecnt_t nlen = _trackview.track()->get_captured_frames(n);
+ samplecnt_t nlen = _trackview.track()->get_captured_samples(n);
if (nlen != region->length()) {
if (region->source_length(0) >= region->start() + nlen) {
region->suspend_property_changes ();
- region->set_position (_trackview.track()->get_capture_start_frame(n));
+ region->set_position (_trackview.track()->get_capture_start_sample(n));
region->set_length (nlen, 0);
region->resume_property_changes ();
@@ -438,7 +438,7 @@ AudioStreamView::hide_xfades_with (boost::shared_ptr<AudioRegion> ar)
for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
if (arv) {
- switch (arv->region()->coverage (ar->position(), ar->last_frame())) {
+ switch (arv->region()->coverage (ar->position(), ar->last_sample())) {
case Evoral::OverlapNone:
break;
default:
diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h
index 53da6e9eb0..ba118190da 100644
--- a/gtk2_ardour/audio_streamview.h
+++ b/gtk2_ardour/audio_streamview.h
@@ -66,8 +66,8 @@ public:
private:
void setup_rec_box ();
- void rec_peak_range_ready (framepos_t start, ARDOUR::framecnt_t cnt, boost::weak_ptr<ARDOUR::Source> src);
- void update_rec_regions (ARDOUR::framepos_t, ARDOUR::framecnt_t);
+ void rec_peak_range_ready (samplepos_t start, ARDOUR::samplecnt_t cnt, boost::weak_ptr<ARDOUR::Source> src);
+ void update_rec_regions (ARDOUR::samplepos_t, ARDOUR::samplecnt_t);
RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves, bool recording = false);
void remove_audio_region_view (boost::shared_ptr<ARDOUR::AudioRegion> );
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc
index 72af2f846c..7f7900c835 100644
--- a/gtk2_ardour/audio_time_axis.cc
+++ b/gtk2_ardour/audio_time_axis.cc
@@ -93,10 +93,10 @@ AudioTimeAxisView::set_route (boost::shared_ptr<Route> rt)
if (is_audio_track()) {
controls_ebox.set_name ("AudioTrackControlsBaseUnselected");
- time_axis_frame.set_name ("AudioTrackControlsBaseUnselected");
+ time_axis_sample.set_name ("AudioTrackControlsBaseUnselected");
} else { // bus
controls_ebox.set_name ("AudioBusControlsBaseUnselected");
- time_axis_frame.set_name ("AudioBusControlsBaseUnselected");
+ time_axis_sample.set_name ("AudioBusControlsBaseUnselected");
}
/* if set_state above didn't create a gain automation child, we need to make one */
@@ -308,10 +308,10 @@ AudioTimeAxisView::update_control_names ()
if (selected()) {
controls_ebox.set_name (controls_base_selected_name);
- time_axis_frame.set_name (controls_base_selected_name);
+ time_axis_sample.set_name (controls_base_selected_name);
} else {
controls_ebox.set_name (controls_base_unselected_name);
- time_axis_frame.set_name (controls_base_unselected_name);
+ time_axis_sample.set_name (controls_base_unselected_name);
}
}
diff --git a/gtk2_ardour/automation_controller.cc b/gtk2_ardour/automation_controller.cc
index d53c61432e..ac4fcc253e 100644
--- a/gtk2_ardour/automation_controller.cc
+++ b/gtk2_ardour/automation_controller.cc
@@ -194,13 +194,13 @@ AutomationController::value_adjusted ()
void
AutomationController::start_touch()
{
- _controllable->start_touch (_controllable->session().transport_frame());
+ _controllable->start_touch (_controllable->session().transport_sample());
}
void
AutomationController::end_touch ()
{
- _controllable->stop_touch (_controllable->session().transport_frame());
+ _controllable->stop_touch (_controllable->session().transport_sample());
}
bool
@@ -258,8 +258,8 @@ AutomationController::set_freq_beats(double beats)
{
const ARDOUR::ParameterDescriptor& desc = _controllable->desc();
const ARDOUR::Session& session = _controllable->session();
- const framepos_t pos = session.transport_frame();
- const ARDOUR::Tempo& tempo = session.tempo_map().tempo_at_frame (pos);
+ const samplepos_t pos = session.transport_sample();
+ const ARDOUR::Tempo& tempo = session.tempo_map().tempo_at_sample (pos);
const double bpm = tempo.note_types_per_minute();
const double bps = bpm / 60.0;
const double freq = bps / beats;
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index a97ab0df07..2353b6c2fc 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -70,7 +70,7 @@ using namespace ARDOUR;
using namespace PBD;
using namespace Editing;
-/** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session frames.
+/** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session samples.
* This will not be deleted by AutomationLine.
*/
AutomationLine::AutomationLine (const string& name,
@@ -78,14 +78,14 @@ AutomationLine::AutomationLine (const string& name,
ArdourCanvas::Item& parent,
boost::shared_ptr<AutomationList> al,
const ParameterDescriptor& desc,
- Evoral::TimeConverter<double, framepos_t>* converter)
+ Evoral::TimeConverter<double, samplepos_t>* converter)
: trackview (tv)
, _name (name)
, alist (al)
- , _time_converter (converter ? converter : new Evoral::IdentityConverter<double, framepos_t>)
+ , _time_converter (converter ? converter : new Evoral::IdentityConverter<double, samplepos_t>)
, _parent_group (parent)
, _offset (0)
- , _maximum_time (max_framepos)
+ , _maximum_time (max_samplepos)
, _fill (false)
, _desc (desc)
{
@@ -488,9 +488,9 @@ AutomationLine::ContiguousControlPoints::compute_x_bounds (PublicEditor& e)
if (front()->view_index() > 0) {
before_x = line.nth (front()->view_index() - 1)->get_x();
- const framepos_t pos = e.pixel_to_sample(before_x);
- const Meter& meter = map.meter_at_frame (pos);
- const framecnt_t len = ceil (meter.frames_per_bar (map.tempo_at_frame (pos), e.session()->frame_rate())
+ const samplepos_t pos = e.pixel_to_sample(before_x);
+ const Meter& meter = map.meter_at_sample (pos);
+ const samplecnt_t len = ceil (meter.samples_per_bar (map.tempo_at_sample (pos), e.session()->sample_rate())
/ (Timecode::BBT_Time::ticks_per_beat * meter.divisions_per_bar()) );
const double one_tick_in_pixels = e.sample_to_pixel_unrounded (len);
@@ -504,9 +504,9 @@ AutomationLine::ContiguousControlPoints::compute_x_bounds (PublicEditor& e)
if (back()->view_index() < (line.npoints() - 1)) {
after_x = line.nth (back()->view_index() + 1)->get_x();
- const framepos_t pos = e.pixel_to_sample(after_x);
- const Meter& meter = map.meter_at_frame (pos);
- const framecnt_t len = ceil (meter.frames_per_bar (map.tempo_at_frame (pos), e.session()->frame_rate())
+ const samplepos_t pos = e.pixel_to_sample(after_x);
+ const Meter& meter = map.meter_at_sample (pos);
+ const samplecnt_t len = ceil (meter.samples_per_bar (map.tempo_at_sample (pos), e.session()->sample_rate())
/ (Timecode::BBT_Time::ticks_per_beat * meter.divisions_per_bar()));
const double one_tick_in_pixels = e.sample_to_pixel_unrounded (len);
@@ -872,14 +872,14 @@ AutomationLine::remove_point (ControlPoint& cp)
}
/** Get selectable points within an area.
- * @param start Start position in session frames.
- * @param end End position in session frames.
+ * @param start Start position in session samples.
+ * @param end End position in session samples.
* @param bot Bottom y range, as a fraction of line height, where 0 is the bottom of the line.
* @param top Top y range, as a fraction of line height, where 0 is the bottom of the line.
* @param result Filled in with selectable things; in this case, ControlPoints.
*/
void
-AutomationLine::get_selectables (framepos_t start, framepos_t end, double botfrac, double topfrac, list<Selectable*>& results)
+AutomationLine::get_selectables (samplepos_t start, samplepos_t end, double botfrac, double topfrac, list<Selectable*>& results)
{
/* convert fractions to display coordinates with 0 at the top of the track */
double const bot_track = (1 - topfrac) * trackview.current_height ();
@@ -889,12 +889,12 @@ AutomationLine::get_selectables (framepos_t start, framepos_t end, double botfra
double const model_when = (*(*i)->model())->when;
/* model_when is relative to the start of the source, so we just need to add on the origin_b here
- (as it is the session frame position of the start of the source)
+ (as it is the session sample position of the start of the source)
*/
- framepos_t const session_frames_when = _time_converter->to (model_when) + _time_converter->origin_b ();
+ samplepos_t const session_samples_when = _time_converter->to (model_when) + _time_converter->origin_b ();
- if (session_frames_when >= start && session_frames_when <= end && (*i)->get_y() >= bot_track && (*i)->get_y() <= top_track) {
+ if (session_samples_when >= start && session_samples_when <= end && (*i)->get_y() >= bot_track && (*i)->get_y() <= top_track) {
results.push_back (*i);
}
}
@@ -988,7 +988,7 @@ AutomationLine::reset_callback (const Evoral::ControlList& events)
continue;
}
- if (tx >= max_framepos || tx < 0 || tx >= _maximum_time) {
+ if (tx >= max_samplepos || tx < 0 || tx >= _maximum_time) {
continue;
}
@@ -1307,7 +1307,7 @@ AutomationLine::memento_command_binder ()
* to the start of the track or region that it is on.
*/
void
-AutomationLine::set_maximum_time (framecnt_t t)
+AutomationLine::set_maximum_time (samplecnt_t t)
{
if (_maximum_time == t) {
return;
@@ -1318,11 +1318,11 @@ AutomationLine::set_maximum_time (framecnt_t t)
}
-/** @return min and max x positions of points that are in the list, in session frames */
-pair<framepos_t, framepos_t>
+/** @return min and max x positions of points that are in the list, in session samples */
+pair<samplepos_t, samplepos_t>
AutomationLine::get_point_x_range () const
{
- pair<framepos_t, framepos_t> r (max_framepos, 0);
+ pair<samplepos_t, samplepos_t> r (max_samplepos, 0);
for (AutomationList::const_iterator i = the_list()->begin(); i != the_list()->end(); ++i) {
r.first = min (r.first, session_position (i));
@@ -1332,14 +1332,14 @@ AutomationLine::get_point_x_range () const
return r;
}
-framepos_t
+samplepos_t
AutomationLine::session_position (AutomationList::const_iterator p) const
{
return _time_converter->to ((*p)->when) + _offset + _time_converter->origin_b ();
}
void
-AutomationLine::set_offset (framepos_t off)
+AutomationLine::set_offset (samplepos_t off)
{
if (_offset == off) {
return;
diff --git a/gtk2_ardour/automation_line.h b/gtk2_ardour/automation_line.h
index 315f7daf12..57d90a1edc 100644
--- a/gtk2_ardour/automation_line.h
+++ b/gtk2_ardour/automation_line.h
@@ -66,7 +66,7 @@ public:
ArdourCanvas::Item& parent,
boost::shared_ptr<ARDOUR::AutomationList> al,
const ARDOUR::ParameterDescriptor& desc,
- Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0);
+ Evoral::TimeConverter<double, ARDOUR::samplepos_t>* converter = 0);
virtual ~AutomationLine ();
@@ -76,7 +76,7 @@ public:
void set_fill (bool f) { _fill = f; } // owner needs to call set_height
void set_selected_points (PointSelection const &);
- void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*>&);
+ void get_selectables (ARDOUR::samplepos_t, ARDOUR::samplepos_t, double, double, std::list<Selectable*>&);
void get_inverted_selectables (Selection&, std::list<Selectable*>& results);
virtual void remove_point (ControlPoint&);
@@ -145,22 +145,22 @@ public:
virtual MementoCommandBinder<ARDOUR::AutomationList>* memento_command_binder ();
- const Evoral::TimeConverter<double, ARDOUR::framepos_t>& time_converter () const {
+ const Evoral::TimeConverter<double, ARDOUR::samplepos_t>& time_converter () const {
return *_time_converter;
}
- std::pair<ARDOUR::framepos_t, ARDOUR::framepos_t> get_point_x_range () const;
+ std::pair<ARDOUR::samplepos_t, ARDOUR::samplepos_t> get_point_x_range () const;
- void set_maximum_time (ARDOUR::framecnt_t);
- ARDOUR::framecnt_t maximum_time () const {
+ void set_maximum_time (ARDOUR::samplecnt_t);
+ ARDOUR::samplecnt_t maximum_time () const {
return _maximum_time;
}
- void set_offset (ARDOUR::framecnt_t);
- ARDOUR::framecnt_t offset () { return _offset; }
- void set_width (ARDOUR::framecnt_t);
+ void set_offset (ARDOUR::samplecnt_t);
+ ARDOUR::samplecnt_t offset () { return _offset; }
+ void set_width (ARDOUR::samplecnt_t);
- framepos_t session_position (ARDOUR::AutomationList::const_iterator) const;
+ samplepos_t session_position (ARDOUR::AutomationList::const_iterator) const;
protected:
@@ -169,7 +169,7 @@ protected:
uint32_t _line_color;
boost::shared_ptr<ARDOUR::AutomationList> alist;
- Evoral::TimeConverter<double, ARDOUR::framepos_t>* _time_converter;
+ Evoral::TimeConverter<double, ARDOUR::samplepos_t>* _time_converter;
/** true if _time_converter belongs to us (ie we should delete it on destruction) */
bool _our_time_converter;
@@ -225,7 +225,7 @@ private:
/** offset from the start of the automation list to the start of the line, so that
* a +ve offset means that the 0 on the line is at _offset in the list
*/
- ARDOUR::framecnt_t _offset;
+ ARDOUR::samplecnt_t _offset;
bool is_stepped() const;
void update_visibility ();
@@ -238,7 +238,7 @@ private:
PBD::ScopedConnectionList _list_connections;
/** maximum time that a point on this line can be at, relative to the position of its region or start of its track */
- ARDOUR::framecnt_t _maximum_time;
+ ARDOUR::samplecnt_t _maximum_time;
bool _fill;
diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc
index 4a16177d29..9e8ba910ad 100644
--- a/gtk2_ardour/automation_region_view.cc
+++ b/gtk2_ardour/automation_region_view.cc
@@ -83,7 +83,7 @@ AutomationRegionView::init (bool /*wfd*/)
set_height (trackview.current_height());
- fill_color_name = "midi frame base";
+ fill_color_name = "midi sample base";
set_colors ();
_enable_display = true;
@@ -110,11 +110,11 @@ AutomationRegionView::get_fill_color() const
{
const std::string mod_name = (_dragging ? "dragging region" :
trackview.editor().internal_editing() ? "editable region" :
- "midi frame base");
+ "midi sample base");
if (_selected) {
return UIConfiguration::instance().color_mod ("selected region base", mod_name);
} else if (high_enough_for_name || !UIConfiguration::instance().get_color_regions_using_track_color()) {
- return UIConfiguration::instance().color_mod ("midi frame base", mod_name);
+ return UIConfiguration::instance().color_mod ("midi sample base", mod_name);
}
return UIConfiguration::instance().color_mod (fill_color, mod_name);
}
@@ -122,8 +122,8 @@ AutomationRegionView::get_fill_color() const
void
AutomationRegionView::mouse_mode_changed ()
{
- // Adjust frame colour (become more transparent for internal tools)
- set_frame_color();
+ // Adjust sample colour (become more transparent for internal tools)
+ set_sample_color();
}
bool
@@ -160,11 +160,11 @@ AutomationRegionView::canvas_group_event (GdkEvent* ev)
return RegionView::canvas_group_event (ev);
}
-/** @param when Position in frames, where 0 is the start of the region.
+/** @param when Position in samples, where 0 is the start of the region.
* @param y y position, relative to our TimeAxisView.
*/
void
-AutomationRegionView::add_automation_event (GdkEvent *, framepos_t when, double y, bool with_guard_points)
+AutomationRegionView::add_automation_event (GdkEvent *, samplepos_t when, double y, bool with_guard_points)
{
if (!_line) {
boost::shared_ptr<Evoral::Control> c = _region->control(_parameter, true);
@@ -182,9 +182,9 @@ AutomationRegionView::add_automation_event (GdkEvent *, framepos_t when, double
const double h = trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2;
y = 1.0 - (y / h);
- /* snap frame */
+ /* snap sample */
- when = snap_frame_to_frame (when - _region->start ()).frame + _region->start ();
+ when = snap_sample_to_sample (when - _region->start ()).sample + _region->start ();
/* map using line */
@@ -206,7 +206,7 @@ AutomationRegionView::add_automation_event (GdkEvent *, framepos_t when, double
}
bool
-AutomationRegionView::paste (framepos_t pos,
+AutomationRegionView::paste (samplepos_t pos,
unsigned paste_count,
float times,
boost::shared_ptr<const ARDOUR::AutomationList> slist)
@@ -227,7 +227,7 @@ AutomationRegionView::paste (framepos_t pos
/* add multi-paste offset if applicable */
if (parameter_is_midi (src_type)) {
// convert length to samples (incl tempo-ramps)
- len = DoubleBeatsFramesConverter (view->session()->tempo_map(), pos).to (len * paste_count);
+ len = DoubleBeatsSamplesConverter (view->session()->tempo_map(), pos).to (len * paste_count);
pos += view->editor ().get_paste_offset (pos, paste_count > 0 ? 1 : 0, len);
} else {
pos += view->editor ().get_paste_offset (pos, paste_count, len);
@@ -238,7 +238,7 @@ AutomationRegionView::paste (framepos_t pos
pos - _source_relative_time_converter.origin_b());
XMLNode& before = my_list->get_state();
- my_list->paste(*slist, model_pos, DoubleBeatsFramesConverter (view->session()->tempo_map(), pos));
+ my_list->paste(*slist, model_pos, DoubleBeatsSamplesConverter (view->session()->tempo_map(), pos));
view->session()->add_command(
new MementoCommand<ARDOUR::AutomationList>(_line->memento_command_binder(), &before, &my_list->get_state()));
@@ -256,7 +256,7 @@ AutomationRegionView::set_height (double h)
}
bool
-AutomationRegionView::set_position (framepos_t pos, void* src, double* ignored)
+AutomationRegionView::set_position (samplepos_t pos, void* src, double* ignored)
{
if (_line) {
_line->set_maximum_time (_region->length ());
diff --git a/gtk2_ardour/automation_region_view.h b/gtk2_ardour/automation_region_view.h
index 76632901f7..ce34e763d3 100644
--- a/gtk2_ardour/automation_region_view.h
+++ b/gtk2_ardour/automation_region_view.h
@@ -49,16 +49,16 @@ public:
void init (bool wfd);
- bool paste (framepos_t pos,
+ bool paste (samplepos_t pos,
unsigned paste_count,
float times,
boost::shared_ptr<const ARDOUR::AutomationList> slist);
- ARDOUR::DoubleBeatsFramesConverter const & region_relative_time_converter () const {
+ ARDOUR::DoubleBeatsSamplesConverter const & region_relative_time_converter () const {
return _region_relative_time_converter;
}
- ARDOUR::DoubleBeatsFramesConverter const & source_relative_time_converter () const {
+ ARDOUR::DoubleBeatsSamplesConverter const & source_relative_time_converter () const {
return _source_relative_time_converter;
}
@@ -77,17 +77,17 @@ public:
protected:
void create_line(boost::shared_ptr<ARDOUR::AutomationList> list);
- bool set_position(framepos_t pos, void* src, double* ignored);
+ bool set_position(samplepos_t pos, void* src, double* ignored);
void region_resized (const PBD::PropertyChange&);
bool canvas_group_event(GdkEvent* ev);
- void add_automation_event (GdkEvent* event, framepos_t when, double y, bool with_guard_points);
+ void add_automation_event (GdkEvent* event, samplepos_t when, double y, bool with_guard_points);
void mouse_mode_changed ();
void entered();
void exited();
private:
- ARDOUR::DoubleBeatsFramesConverter _region_relative_time_converter;
- ARDOUR::DoubleBeatsFramesConverter _source_relative_time_converter;
+ ARDOUR::DoubleBeatsSamplesConverter _region_relative_time_converter;
+ ARDOUR::DoubleBeatsSamplesConverter _source_relative_time_converter;
Evoral::Parameter _parameter;
boost::shared_ptr<AutomationLine> _line;
PBD::ScopedConnection _mouse_mode_connection;
diff --git a/gtk2_ardour/automation_streamview.cc b/gtk2_ardour/automation_streamview.cc
index 933a4bf55d..60c8912114 100644
--- a/gtk2_ardour/automation_streamview.cc
+++ b/gtk2_ardour/automation_streamview.cc
@@ -275,15 +275,15 @@ AutomationStreamView::clear ()
}
}
-/** @param start Start position in session frames.
- * @param end End position in session frames.
+/** @param start Start position in session samples.
+ * @param end End position in session samples.
* @param bot Bottom position expressed as a fraction of track height where 0 is the bottom of the track.
* @param top Top position expressed as a fraction of track height where 0 is the bottom of the track.
* NOTE: this y system is different to that for the StreamView method that this overrides, which is a little
* confusing.
*/
void
-AutomationStreamView::get_selectables (framepos_t start, framepos_t end, double botfrac, double topfrac, list<Selectable*>& results, bool /*within*/)
+AutomationStreamView::get_selectables (samplepos_t start, samplepos_t end, double botfrac, double topfrac, list<Selectable*>& results, bool /*within*/)
{
for (list<RegionView*>::iterator i = region_views.begin(); i != region_views.end(); ++i) {
AutomationRegionView* arv = dynamic_cast<AutomationRegionView*> (*i);
@@ -319,7 +319,7 @@ AutomationStreamView::get_lines () const
}
bool
-AutomationStreamView::paste (framepos_t pos,
+AutomationStreamView::paste (samplepos_t pos,
unsigned paste_count,
float times,
boost::shared_ptr<ARDOUR::AutomationList> alist)
diff --git a/gtk2_ardour/automation_streamview.h b/gtk2_ardour/automation_streamview.h
index eed0bb7bbb..275b0f3b75 100644
--- a/gtk2_ardour/automation_streamview.h
+++ b/gtk2_ardour/automation_streamview.h
@@ -60,12 +60,12 @@ public:
void clear ();
- void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*> &, bool within = false);
+ void get_selectables (ARDOUR::samplepos_t, ARDOUR::samplepos_t, double, double, std::list<Selectable*> &, bool within = false);
void set_selected_points (PointSelection &);
std::list<boost::shared_ptr<AutomationLine> > get_lines () const;
- bool paste (framepos_t pos,
+ bool paste (samplepos_t pos,
unsigned paste_count,
float times,
boost::shared_ptr<ARDOUR::AutomationList> list);
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index 8e74774e79..6d80b14f3b 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -31,7 +31,7 @@
#include "pbd/unwind.h"
#include "ardour/automation_control.h"
-#include "ardour/beats_frames_converter.h"
+#include "ardour/beats_samples_converter.h"
#include "ardour/event_type_map.h"
#include "ardour/parameter_types.h"
#include "ardour/profile.h"
@@ -275,7 +275,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
controls_base_unselected_name = X_("AutomationTrackControlsBase");
controls_ebox.set_name (controls_base_unselected_name);
- time_axis_frame.set_name (controls_base_unselected_name);
+ time_axis_sample.set_name (controls_base_unselected_name);
/* ask for notifications of any new RegionViews */
if (show_regions) {
@@ -726,7 +726,7 @@ AutomationTimeAxisView::build_display_menu ()
}
void
-AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t frame, double y, bool with_guard_points)
+AutomationTimeAxisView::add_automation_event (GdkEvent* event, samplepos_t sample, double y, bool with_guard_points)
{
if (!_line) {
return;
@@ -741,14 +741,14 @@ AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t frame,
return;
}
- MusicFrame when (frame, 0);
+ MusicSample when (sample, 0);
_editor.snap_to_with_modifier (when, event);
if (UIConfiguration::instance().get_new_automation_points_on_lane()) {
if (_control->list()->size () == 0) {
y = _control->get_value ();
} else {
- y = _control->list()->eval (when.frame);
+ y = _control->list()->eval (when.sample);
}
} else {
double x = 0;
@@ -762,12 +762,12 @@ AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t frame,
XMLNode& before = list->get_state();
std::list<Selectable*> results;
- if (list->editor_add (when.frame, y, with_guard_points)) {
+ if (list->editor_add (when.sample, y, with_guard_points)) {
XMLNode& after = list->get_state();
_editor.begin_reversible_command (_("add automation event"));
_session->add_command (new MementoCommand<ARDOUR::AutomationList> (*list.get (), &before, &after));
- _line->get_selectables (when.frame, when.frame, 0.0, 1.0, results);
+ _line->get_selectables (when.sample, when.sample, 0.0, 1.0, results);
_editor.get_selection ().set (results);
_editor.commit_reversible_command ();
@@ -776,7 +776,7 @@ AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t frame,
}
bool
-AutomationTimeAxisView::paste (framepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t divisions)
+AutomationTimeAxisView::paste (samplepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t divisions)
{
if (_line) {
return paste_one (pos, ctx.count, ctx.times, selection, ctx.counts, ctx.greedy);
@@ -797,7 +797,7 @@ AutomationTimeAxisView::paste (framepos_t pos, const Selection& selection, Paste
}
bool
-AutomationTimeAxisView::paste_one (framepos_t pos, unsigned paste_count, float times, const Selection& selection, ItemCounts& counts, bool greedy)
+AutomationTimeAxisView::paste_one (samplepos_t pos, unsigned paste_count, float times, const Selection& selection, ItemCounts& counts, bool greedy)
{
boost::shared_ptr<AutomationList> alist(_line->the_list());
@@ -824,7 +824,7 @@ AutomationTimeAxisView::paste_one (framepos_t pos, unsigned paste_count, float t
if (parameter_is_midi (src_type)) {
// convert length to samples (incl tempo-ramps)
- len = DoubleBeatsFramesConverter (_session->tempo_map(), pos).to (len * paste_count);
+ len = DoubleBeatsSamplesConverter (_session->tempo_map(), pos).to (len * paste_count);
pos += _editor.get_paste_offset (pos, paste_count > 0 ? 1 : 0, len);
} else {
pos += _editor.get_paste_offset (pos, paste_count, len);
@@ -834,14 +834,14 @@ AutomationTimeAxisView::paste_one (framepos_t pos, unsigned paste_count, float t
double const model_pos = _line->time_converter().from (pos - _line->time_converter().origin_b ());
XMLNode &before = alist->get_state();
- alist->paste (**p, model_pos, DoubleBeatsFramesConverter (_session->tempo_map(), pos));
+ alist->paste (**p, model_pos, DoubleBeatsSamplesConverter (_session->tempo_map(), pos));
_session->add_command (new MementoCommand<AutomationList>(*alist.get(), &before, &alist->get_state()));
return true;
}
void
-AutomationTimeAxisView::get_selectables (framepos_t start, framepos_t end, double top, double bot, list<Selectable*>& results, bool /*within*/)
+AutomationTimeAxisView::get_selectables (samplepos_t start, samplepos_t end, double top, double bot, list<Selectable*>& results, bool /*within*/)
{
if (!_line && !_view) {
return;
@@ -1138,7 +1138,7 @@ AutomationTimeAxisView::cut_copy_clear_one (AutomationLine& line, Selection& sel
XMLNode &before = alist->get_state();
/* convert time selection to automation list model coordinates */
- const Evoral::TimeConverter<double, ARDOUR::framepos_t>& tc = line.time_converter ();
+ const Evoral::TimeConverter<double, ARDOUR::samplepos_t>& tc = line.time_converter ();
double const start = tc.from (selection.time.front().start - tc.origin_b ());
double const end = tc.from (selection.time.front().end - tc.origin_b ());
diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h
index cabe532646..3129ebdc32 100644
--- a/gtk2_ardour/automation_time_axis.h
+++ b/gtk2_ardour/automation_time_axis.h
@@ -80,7 +80,7 @@ public:
boost::shared_ptr<ARDOUR::Stripable> stripable() const;
ARDOUR::PresentationInfo const & presentation_info () const;
- void add_automation_event (GdkEvent *, framepos_t, double, bool with_guard_points);
+ void add_automation_event (GdkEvent *, samplepos_t, double, bool with_guard_points);
void clear_lines ();
@@ -91,16 +91,16 @@ public:
std::list<boost::shared_ptr<AutomationLine> > lines () const;
void set_selected_points (PointSelection&);
- void get_selectables (ARDOUR::framepos_t start, ARDOUR::framepos_t end, double top, double bot, std::list<Selectable *>&, bool within = false);
+ void get_selectables (ARDOUR::samplepos_t start, ARDOUR::samplepos_t end, double top, double bot, std::list<Selectable *>&, bool within = false);
void get_inverted_selectables (Selection&, std::list<Selectable*>& results);
- void show_timestretch (framepos_t /*start*/, framepos_t /*end*/, int /*layers*/, int /*layer*/) {}
+ void show_timestretch (samplepos_t /*start*/, samplepos_t /*end*/, int /*layers*/, int /*layer*/) {}
void hide_timestretch () {}
/* editing operations */
void cut_copy_clear (Selection&, Editing::CutCopyOp);
- bool paste (ARDOUR::framepos_t, const Selection&, PasteContext&, const int32_t sub_num);
+ bool paste (ARDOUR::samplepos_t, const Selection&, PasteContext&, const int32_t sub_num);
int set_state (const XMLNode&, int version);
@@ -183,7 +183,7 @@ protected:
void build_display_menu ();
void cut_copy_clear_one (AutomationLine&, Selection&, Editing::CutCopyOp);
- bool paste_one (ARDOUR::framepos_t, unsigned, float times, const Selection&, ItemCounts& counts, bool greedy=false);
+ bool paste_one (ARDOUR::samplepos_t, unsigned, float times, const Selection&, ItemCounts& counts, bool greedy=false);
void route_going_away ();
void set_automation_state (ARDOUR::AutoState);
diff --git a/gtk2_ardour/clock_group.cc b/gtk2_ardour/clock_group.cc
index f439004aad..5a8c3a9848 100644
--- a/gtk2_ardour/clock_group.cc
+++ b/gtk2_ardour/clock_group.cc
@@ -21,7 +21,7 @@
ClockGroup::ClockGroup ()
: ignore_changes (false)
- , _clock_mode (AudioClock::Frames)
+ , _clock_mode (AudioClock::Samples)
{
}
diff --git a/gtk2_ardour/edit_note_dialog.cc b/gtk2_ardour/edit_note_dialog.cc
index 997713ae2d..d538225b61 100644
--- a/gtk2_ardour/edit_note_dialog.cc
+++ b/gtk2_ardour/edit_note_dialog.cc
@@ -197,7 +197,7 @@ EditNoteDialog::done (int r)
}
}
- framecnt_t const region_samples = _time_clock.current_time() - (_region_view->region()->position() - _region_view->region()->start());
+ samplecnt_t const region_samples = _time_clock.current_time() - (_region_view->region()->position() - _region_view->region()->start());
Evoral::Beats const t = _region_view->source_relative_time_converter().from (region_samples);
if (!_time_all.get_sensitive() || _time_all.get_active ()) {
@@ -211,7 +211,7 @@ EditNoteDialog::done (int r)
if (!_length_all.get_sensitive() || _length_all.get_active ()) {
for (set<NoteBase*>::iterator i = _events.begin(); i != _events.end(); ++i) {
- framepos_t const note_end_sample = region_samples + _length_clock.current_duration (_time_clock.current_time());
+ samplepos_t const note_end_sample = region_samples + _length_clock.current_duration (_time_clock.current_time());
Evoral::Beats const d = _region_view->source_relative_time_converter().from (note_end_sample) - (*i)->note()->time();
if (d != (*i)->note()->length()) {
_region_view->change_note_length (*i, d);
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 1701c38411..cfc324efc6 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -161,8 +161,8 @@ using Gtkmm2ext::Keyboard;
double Editor::timebar_height = 15.0;
static const gchar *_snap_type_strings[] = {
- N_("CD Frames"),
- N_("TC Frames"),
+ N_("CD Samples"),
+ N_("TC Samples"),
N_("TC Seconds"),
N_("TC Minutes"),
N_("Seconds"),
@@ -248,7 +248,7 @@ Editor::Editor ()
, _playlist_selector (0)
, _time_info_box (0)
, no_save_visual (false)
- , leftmost_frame (0)
+ , _leftmost_sample (0)
, samples_per_pixel (2048)
, zoom_focus (ZoomFocusPlayhead)
, mouse_mode (MouseObject)
@@ -702,14 +702,14 @@ Editor::Editor ()
VBox* summary_arrows_right = manage (new VBox);
summary_arrows_right->pack_start (*summary_arrow_right);
- Frame* summary_frame = manage (new Frame);
- summary_frame->set_shadow_type (Gtk::SHADOW_ETCHED_IN);
+ Frame* summary_sample = manage (new Frame);
+ summary_sample->set_shadow_type (Gtk::SHADOW_ETCHED_IN);
- summary_frame->add (*_summary);
- summary_frame->show ();
+ summary_sample->add (*_summary);
+ summary_sample->show ();
_summary_hbox.pack_start (*summary_arrows_left, false, false);
- _summary_hbox.pack_start (*summary_frame, true, true);
+ _summary_hbox.pack_start (*summary_sample, true, true);
_summary_hbox.pack_start (*summary_arrows_right, false, false);
if (!ARDOUR::Profile->get_trx()) {
@@ -1073,25 +1073,25 @@ Editor::control_scroll (float fraction)
/*
_control_scroll_target is an optional<T>
- it acts like a pointer to an framepos_t, with
+ it acts like a pointer to an samplepos_t, with
a operator conversion to boolean to check
that it has a value could possibly use
- playhead_cursor->current_frame to store the
+ playhead_cursor->current_sample to store the
value and a boolean in the class to know
when it's out of date
*/
if (!_control_scroll_target) {
- _control_scroll_target = _session->transport_frame();
+ _control_scroll_target = _session->transport_sample();
_dragging_playhead = true;
}
- if ((fraction < 0.0f) && (*_control_scroll_target <= (framepos_t) fabs(step))) {
+ if ((fraction < 0.0f) && (*_control_scroll_target <= (samplepos_t) fabs(step))) {
*_control_scroll_target = 0;
- } else if ((fraction > 0.0f) && (max_framepos - *_control_scroll_target < step)) {
- *_control_scroll_target = max_framepos - (current_page_samples()*2); // allow room for slop in where the PH is on the screen
+ } else if ((fraction > 0.0f) && (max_samplepos - *_control_scroll_target < step)) {
+ *_control_scroll_target = max_samplepos - (current_page_samples()*2); // allow room for slop in where the PH is on the screen
} else {
- *_control_scroll_target += (framepos_t) trunc (step);
+ *_control_scroll_target += (samplepos_t) trunc (step);
}
/* move visuals, we'll catch up with it later */
@@ -1122,7 +1122,7 @@ Editor::control_scroll (float fraction)
}
bool
-Editor::deferred_control_scroll (framepos_t /*target*/)
+Editor::deferred_control_scroll (samplepos_t /*target*/)
{
_session->request_locate (*_control_scroll_target, _session->transport_rolling());
// reset for next stream
@@ -1234,46 +1234,46 @@ Editor::lock_timeout_callback ()
}
void
-Editor::map_position_change (framepos_t frame)
+Editor::map_position_change (samplepos_t sample)
{
- ENSURE_GUI_THREAD (*this, &Editor::map_position_change, frame)
+ ENSURE_GUI_THREAD (*this, &Editor::map_position_change, sample)
if (_session == 0) {
return;
}
if (_follow_playhead) {
- center_screen (frame);
+ center_screen (sample);
}
- playhead_cursor->set_position (frame);
+ playhead_cursor->set_position (sample);
}
void
-Editor::center_screen (framepos_t frame)
+Editor::center_screen (samplepos_t sample)
{
- framecnt_t const page = _visible_canvas_width * samples_per_pixel;
+ samplecnt_t const page = _visible_canvas_width * samples_per_pixel;
/* if we're off the page, then scroll.
*/
- if (frame < leftmost_frame || frame >= leftmost_frame + page) {
- center_screen_internal (frame, page);
+ if (sample < _leftmost_sample || sample >= _leftmost_sample + page) {
+ center_screen_internal (sample, page);
}
}
void
-Editor::center_screen_internal (framepos_t frame, float page)
+Editor::center_screen_internal (samplepos_t sample, float page)
{
page /= 2;
- if (frame > page) {
- frame -= (framepos_t) page;
+ if (sample > page) {
+ sample -= (samplepos_t) page;
} else {
- frame = 0;
+ sample = 0;
}
- reset_x_origin (frame);
+ reset_x_origin (sample);
}
@@ -1319,9 +1319,9 @@ Editor::set_session (Session *t)
return;
}
- //initialize leftmost_frame to the extents of the session
- //this prevents a bogus setting of leftmost = "0" if the summary view asks for the leftmost frame before the visible state has been loaded from instant.xml
- leftmost_frame = session_gui_extents().first;
+ //initialize _leftmost_sample to the extents of the session
+ //this prevents a bogus setting of leftmost = "0" if the summary view asks for the leftmost sample before the visible state has been loaded from instant.xml
+ _leftmost_sample = session_gui_extents().first;
_playlist_selector->set_session (_session);
nudge_clock->set_session (_session);
@@ -1377,7 +1377,7 @@ Editor::set_session (Session *t)
/* catch up with the playhead */
- _session->request_locate (playhead_cursor->current_frame ());
+ _session->request_locate (playhead_cursor->current_sample ());
_pending_initial_locate = true;
update_title ();
@@ -1740,7 +1740,7 @@ Editor::loudness_analyze_region_selection ()
Selection& s (PublicEditor::instance ().get_selection ());
RegionSelection ars = s.regions;
ARDOUR::AnalysisGraph ag (_session);
- framecnt_t total_work = 0;
+ samplecnt_t total_work = 0;
for (RegionSelection::iterator j = ars.begin (); j != ars.end (); ++j) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (*j);
@@ -1756,7 +1756,7 @@ Editor::loudness_analyze_region_selection ()
SimpleProgressDialog spd (_("Region Loudness Analysis"), sigc::mem_fun (ag, &AnalysisGraph::cancel));
ScopedConnection c;
- ag.set_total_frames (total_work);
+ ag.set_total_samples (total_work);
ag.Progress.connect_same_thread (c, boost::bind (&SimpleProgressDialog::update_progress, &spd, _1, _2));
spd.show();
@@ -1787,7 +1787,7 @@ Editor::loudness_analyze_range_selection ()
Selection& s (PublicEditor::instance ().get_selection ());
TimeSelection ts = s.time;
ARDOUR::AnalysisGraph ag (_session);
- framecnt_t total_work = 0;
+ samplecnt_t total_work = 0;
for (TrackSelection::iterator i = s.tracks.begin (); i != s.tracks.end (); ++i) {
boost::shared_ptr<AudioPlaylist> pl = boost::dynamic_pointer_cast<AudioPlaylist> ((*i)->playlist ());
@@ -1805,7 +1805,7 @@ Editor::loudness_analyze_range_selection ()
SimpleProgressDialog spd (_("Range Loudness Analysis"), sigc::mem_fun (ag, &AnalysisGraph::cancel));
ScopedConnection c;
- ag.set_total_frames (total_work);
+ ag.set_total_samples (total_work);
ag.Progress.connect_same_thread (c, boost::bind (&SimpleProgressDialog::update_progress, &spd, _1, _2));
spd.show();
@@ -1906,7 +1906,7 @@ Editor::add_region_context_items (Menu_Helpers::MenuList& edit_items, boost::sha
act->set_sensitive (true);
}
- const framepos_t position = get_preferred_edit_position (EDIT_IGNORE_NONE, true);
+ const samplepos_t position = get_preferred_edit_position (EDIT_IGNORE_NONE, true);
edit_items.push_back (*_popup_region_menu_item);
if (Config->get_layer_model() == Manual && track->playlist()->count_regions_at (position) > 1 && (layering_order_editor == 0 || !layering_order_editor->is_visible ())) {
@@ -2219,7 +2219,7 @@ Editor::set_snap_to (SnapType st)
case SnapToBeatDiv4:
case SnapToBeatDiv3:
case SnapToBeatDiv2: {
- compute_bbt_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+ compute_bbt_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
update_tempo_based_rulers ();
break;
}
@@ -2301,10 +2301,10 @@ Editor::set_edit_point_preference (EditPoint ep, bool force)
Glib::RefPtr<RadioAction>::cast_dynamic(act)->set_active (true);
}
- framepos_t foo;
+ samplepos_t foo;
bool in_track_canvas;
- if (!mouse_frame (foo, in_track_canvas)) {
+ if (!mouse_sample (foo, in_track_canvas)) {
in_track_canvas = false;
}
@@ -2323,7 +2323,7 @@ Editor::set_state (const XMLNode& node, int version)
Tabbable::set_state (node, version);
- framepos_t ph_pos;
+ samplepos_t ph_pos;
if (_session && node.get_property ("playhead", ph_pos)) {
if (ph_pos >= 0) {
playhead_cursor->set_position (ph_pos);
@@ -2384,7 +2384,7 @@ Editor::set_state (const XMLNode& node, int version)
set_mouse_mode (MouseObject, true);
}
- framepos_t lf_pos;
+ samplepos_t lf_pos;
if (node.get_property ("left-frame", lf_pos)) {
if (lf_pos < 0) {
lf_pos = 0;
@@ -2486,12 +2486,12 @@ Editor::set_state (const XMLNode& node, int version)
}
}
- framepos_t nudge_clock_value;
+ samplepos_t nudge_clock_value;
if (node.get_property ("nudge-clock-value", nudge_clock_value)) {
nudge_clock->set (nudge_clock_value);
} else {
nudge_clock->set_mode (AudioClock::Timecode);
- nudge_clock->set (_session->frame_rate() * 5, true);
+ nudge_clock->set (_session->sample_rate() * 5, true);
}
{
@@ -2559,8 +2559,8 @@ Editor::get_state ()
node->set_property ("edit-point", _edit_point);
node->set_property ("visible-track-count", _visible_track_count);
- node->set_property ("playhead", playhead_cursor->current_frame ());
- node->set_property ("left-frame", leftmost_frame);
+ node->set_property ("playhead", playhead_cursor->current_sample ());
+ node->set_property ("left-frame", _leftmost_sample);
node->set_property ("y-origin", vertical_adjustment.get_value ());
node->set_property ("show-measures", _show_measures);
@@ -2642,7 +2642,7 @@ Editor::trackview_by_y_position (double y, bool trackview_relative_offset) const
* @param event Event to get current key modifier information from, or 0.
*/
void
-Editor::snap_to_with_modifier (MusicFrame& start, GdkEvent const * event, RoundMode direction, bool for_mark)
+Editor::snap_to_with_modifier (MusicSample& start, GdkEvent const * event, RoundMode direction, bool for_mark)
{
if (!_session || !event) {
return;
@@ -2652,7 +2652,7 @@ Editor::snap_to_with_modifier (MusicFrame& start, GdkEvent const * event, RoundM
if (_snap_mode == SnapOff) {
snap_to_internal (start, direction, for_mark);
} else {
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
}
} else {
if (_snap_mode != SnapOff) {
@@ -2661,16 +2661,16 @@ Editor::snap_to_with_modifier (MusicFrame& start, GdkEvent const * event, RoundM
/* SnapOff, but we pressed the snap_delta modifier */
snap_to_internal (start, direction, for_mark);
} else {
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
}
}
}
void
-Editor::snap_to (MusicFrame& start, RoundMode direction, bool for_mark, bool ensure_snap)
+Editor::snap_to (MusicSample& start, RoundMode direction, bool for_mark, bool ensure_snap)
{
if (!_session || (_snap_mode == SnapOff && !ensure_snap)) {
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
return;
}
@@ -2678,11 +2678,11 @@ Editor::snap_to (MusicFrame& start, RoundMode direction, bool for_mark, bool ens
}
void
-Editor::timecode_snap_to_internal (MusicFrame& pos, RoundMode direction, bool /*for_mark*/)
+Editor::timecode_snap_to_internal (MusicSample& pos, RoundMode direction, bool /*for_mark*/)
{
- framepos_t start = pos.frame;
- const framepos_t one_timecode_second = (framepos_t)(rint(_session->timecode_frames_per_second()) * _session->samples_per_timecode_frame());
- framepos_t one_timecode_minute = (framepos_t)(rint(_session->timecode_frames_per_second()) * _session->samples_per_timecode_frame() * 60);
+ samplepos_t start = pos.sample;
+ const samplepos_t one_timecode_second = (samplepos_t)(rint(_session->timecode_frames_per_second()) * _session->samples_per_timecode_frame());
+ samplepos_t one_timecode_minute = (samplepos_t)(rint(_session->timecode_frames_per_second()) * _session->samples_per_timecode_frame() * 60);
switch (_snap_type) {
case SnapToTimecodeFrame:
@@ -2690,9 +2690,9 @@ Editor::timecode_snap_to_internal (MusicFrame& pos, RoundMode direction, bool /*
fmod((double)start, (double)_session->samples_per_timecode_frame()) == 0) {
/* start is already on a whole timecode frame, do nothing */
} else if (((direction == 0) && (fmod((double)start, (double)_session->samples_per_timecode_frame()) > (_session->samples_per_timecode_frame() / 2))) || (direction > 0)) {
- start = (framepos_t) (ceil ((double) start / _session->samples_per_timecode_frame()) * _session->samples_per_timecode_frame());
+ start = (samplepos_t) (ceil ((double) start / _session->samples_per_timecode_frame()) * _session->samples_per_timecode_frame());
} else {
- start = (framepos_t) (floor ((double) start / _session->samples_per_timecode_frame()) * _session->samples_per_timecode_frame());
+ start = (samplepos_t) (floor ((double) start / _session->samples_per_timecode_frame()) * _session->samples_per_timecode_frame());
}
break;
@@ -2706,9 +2706,9 @@ Editor::timecode_snap_to_internal (MusicFrame& pos, RoundMode direction, bool /*
(start % one_timecode_second == 0)) {
/* start is already on a whole second, do nothing */
} else if (((direction == 0) && (start % one_timecode_second > one_timecode_second / 2)) || direction > 0) {
- start = (framepos_t) ceil ((double) start / one_timecode_second) * one_timecode_second;
+ start = (samplepos_t) ceil ((double) start / one_timecode_second) * one_timecode_second;
} else {
- start = (framepos_t) floor ((double) start / one_timecode_second) * one_timecode_second;
+ start = (samplepos_t) floor ((double) start / one_timecode_second) * one_timecode_second;
}
if (_session->config.get_timecode_offset_negative()) {
@@ -2728,9 +2728,9 @@ Editor::timecode_snap_to_internal (MusicFrame& pos, RoundMode direction, bool /*
(start % one_timecode_minute == 0)) {
/* start is already on a whole minute, do nothing */
} else if (((direction == 0) && (start % one_timecode_minute > one_timecode_minute / 2)) || direction > 0) {
- start = (framepos_t) ceil ((double) start / one_timecode_minute) * one_timecode_minute;
+ start = (samplepos_t) ceil ((double) start / one_timecode_minute) * one_timecode_minute;
} else {
- start = (framepos_t) floor ((double) start / one_timecode_minute) * one_timecode_minute;
+ start = (samplepos_t) floor ((double) start / one_timecode_minute) * one_timecode_minute;
}
if (_session->config.get_timecode_offset_negative()) {
start -= _session->config.get_timecode_offset ();
@@ -2747,13 +2747,13 @@ Editor::timecode_snap_to_internal (MusicFrame& pos, RoundMode direction, bool /*
}
void
-Editor::snap_to_internal (MusicFrame& start, RoundMode direction, bool for_mark, bool ensure_snap)
+Editor::snap_to_internal (MusicSample& start, RoundMode direction, bool for_mark, bool ensure_snap)
{
- const framepos_t one_second = _session->frame_rate();
- const framepos_t one_minute = _session->frame_rate() * 60;
- framepos_t presnap = start.frame;
- framepos_t before;
- framepos_t after;
+ const samplepos_t one_second = _session->sample_rate();
+ const samplepos_t one_minute = _session->sample_rate() * 60;
+ samplepos_t presnap = start.sample;
+ samplepos_t before;
+ samplepos_t after;
switch (_snap_type) {
case SnapToTimecodeFrame:
@@ -2763,104 +2763,104 @@ Editor::snap_to_internal (MusicFrame& start, RoundMode direction, bool for_mark,
case SnapToCDFrame:
if ((direction == RoundUpMaybe || direction == RoundDownMaybe) &&
- start.frame % (one_second/75) == 0) {
- /* start is already on a whole CD frame, do nothing */
- } else if (((direction == 0) && (start.frame % (one_second/75) > (one_second/75) / 2)) || (direction > 0)) {
- start.frame = (framepos_t) ceil ((double) start.frame / (one_second / 75)) * (one_second / 75);
+ start.sample % (one_second/75) == 0) {
+ /* start is already on a whole CD sample, do nothing */
+ } else if (((direction == 0) && (start.sample % (one_second/75) > (one_second/75) / 2)) || (direction > 0)) {
+ start.sample = (samplepos_t) ceil ((double) start.sample / (one_second / 75)) * (one_second / 75);
} else {
- start.frame = (framepos_t) floor ((double) start.frame / (one_second / 75)) * (one_second / 75);
+ start.sample = (samplepos_t) floor ((double) start.sample / (one_second / 75)) * (one_second / 75);
}
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
break;
case SnapToSeconds:
if ((direction == RoundUpMaybe || direction == RoundDownMaybe) &&
- start.frame % one_second == 0) {
+ start.sample % one_second == 0) {
/* start is already on a whole second, do nothing */
- } else if (((direction == 0) && (start.frame % one_second > one_second / 2)) || (direction > 0)) {
- start.frame = (framepos_t) ceil ((double) start.frame / one_second) * one_second;
+ } else if (((direction == 0) && (start.sample % one_second > one_second / 2)) || (direction > 0)) {
+ start.sample = (samplepos_t) ceil ((double) start.sample / one_second) * one_second;
} else {
- start.frame = (framepos_t) floor ((double) start.frame / one_second) * one_second;
+ start.sample = (samplepos_t) floor ((double) start.sample / one_second) * one_second;
}
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
break;
case SnapToMinutes:
if ((direction == RoundUpMaybe || direction == RoundDownMaybe) &&
- start.frame % one_minute == 0) {
+ start.sample % one_minute == 0) {
/* start is already on a whole minute, do nothing */
- } else if (((direction == 0) && (start.frame % one_minute > one_minute / 2)) || (direction > 0)) {
- start.frame = (framepos_t) ceil ((double) start.frame / one_minute) * one_minute;
+ } else if (((direction == 0) && (start.sample % one_minute > one_minute / 2)) || (direction > 0)) {
+ start.sample = (samplepos_t) ceil ((double) start.sample / one_minute) * one_minute;
} else {
- start.frame = (framepos_t) floor ((double) start.frame / one_minute) * one_minute;
+ start.sample = (samplepos_t) floor ((double) start.sample / one_minute) * one_minute;
}
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
break;
case SnapToBar:
- start = _session->tempo_map().round_to_bar (start.frame, direction);
+ start = _session->tempo_map().round_to_bar (start.sample, direction);
break;
case SnapToBeat:
- start = _session->tempo_map().round_to_beat (start.frame, direction);
+ start = _session->tempo_map().round_to_beat (start.sample, direction);
break;
case SnapToBeatDiv128:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 128, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 128, direction);
break;
case SnapToBeatDiv64:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 64, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 64, direction);
break;
case SnapToBeatDiv32:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 32, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 32, direction);
break;
case SnapToBeatDiv28:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 28, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 28, direction);
break;
case SnapToBeatDiv24:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 24, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 24, direction);
break;
case SnapToBeatDiv20:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 20, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 20, direction);
break;
case SnapToBeatDiv16:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 16, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 16, direction);
break;
case SnapToBeatDiv14:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 14, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 14, direction);
break;
case SnapToBeatDiv12:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 12, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 12, direction);
break;
case SnapToBeatDiv10:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 10, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 10, direction);
break;
case SnapToBeatDiv8:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 8, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 8, direction);
break;
case SnapToBeatDiv7:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 7, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 7, direction);
break;
case SnapToBeatDiv6:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 6, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 6, direction);
break;
case SnapToBeatDiv5:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 5, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 5, direction);
break;
case SnapToBeatDiv4:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 4, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 4, direction);
break;
case SnapToBeatDiv3:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 3, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 3, direction);
break;
case SnapToBeatDiv2:
- start = _session->tempo_map().round_to_quarter_note_subdivision (start.frame, 2, direction);
+ start = _session->tempo_map().round_to_quarter_note_subdivision (start.sample, 2, direction);
break;
case SnapToMark:
@@ -2868,30 +2868,30 @@ Editor::snap_to_internal (MusicFrame& start, RoundMode direction, bool for_mark,
return;
}
- _session->locations()->marks_either_side (start.frame, before, after);
+ _session->locations()->marks_either_side (start.sample, before, after);
- if (before == max_framepos && after == max_framepos) {
+ if (before == max_samplepos && after == max_samplepos) {
/* No marks to snap to, so just don't snap */
return;
- } else if (before == max_framepos) {
- start.frame = after;
- } else if (after == max_framepos) {
- start.frame = before;
- } else if (before != max_framepos && after != max_framepos) {
+ } else if (before == max_samplepos) {
+ start.sample = after;
+ } else if (after == max_samplepos) {
+ start.sample = before;
+ } else if (before != max_samplepos && after != max_samplepos) {
if ((direction == RoundUpMaybe || direction == RoundUpAlways))
- start.frame = after;
+ start.sample = after;
else if ((direction == RoundDownMaybe || direction == RoundDownAlways))
- start.frame = before;
+ start.sample = before;
else if (direction == 0 ) {
- if ((start.frame - before) < (after - start.frame)) {
- start.frame = before;
+ if ((start.sample - before) < (after - start.sample)) {
+ start.sample = before;
} else {
- start.frame = after;
+ start.sample = after;
}
}
}
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
break;
@@ -2901,13 +2901,13 @@ Editor::snap_to_internal (MusicFrame& start, RoundMode direction, bool for_mark,
case SnapToRegionBoundary:
if (!region_boundary_cache.empty()) {
- vector<framepos_t>::iterator prev = region_boundary_cache.end ();
- vector<framepos_t>::iterator next = region_boundary_cache.end ();
+ vector<samplepos_t>::iterator prev = region_boundary_cache.end ();
+ vector<samplepos_t>::iterator next = region_boundary_cache.end ();
if (direction > 0) {
- next = std::upper_bound (region_boundary_cache.begin(), region_boundary_cache.end(), start.frame);
+ next = std::upper_bound (region_boundary_cache.begin(), region_boundary_cache.end(), start.sample);
} else {
- next = std::lower_bound (region_boundary_cache.begin(), region_boundary_cache.end(), start.frame);
+ next = std::lower_bound (region_boundary_cache.begin(), region_boundary_cache.end(), start.sample);
}
if (next != region_boundary_cache.begin ()) {
@@ -2915,17 +2915,17 @@ Editor::snap_to_internal (MusicFrame& start, RoundMode direction, bool for_mark,
prev--;
}
- framepos_t const p = (prev == region_boundary_cache.end()) ? region_boundary_cache.front () : *prev;
- framepos_t const n = (next == region_boundary_cache.end()) ? region_boundary_cache.back () : *next;
+ samplepos_t const p = (prev == region_boundary_cache.end()) ? region_boundary_cache.front () : *prev;
+ samplepos_t const n = (next == region_boundary_cache.end()) ? region_boundary_cache.back () : *next;
- if (start.frame > (p + n) / 2) {
- start.frame = n;
+ if (start.sample > (p + n) / 2) {
+ start.sample = n;
} else {
- start.frame = p;
+ start.sample = p;
}
}
- start.set (start.frame, 0);
+ start.set (start.sample, 0);
break;
}
@@ -2940,13 +2940,13 @@ Editor::snap_to_internal (MusicFrame& start, RoundMode direction, bool for_mark,
return;
}
- if (presnap > start.frame) {
- if (presnap > (start.frame + pixel_to_sample(snap_threshold))) {
+ if (presnap > start.sample) {
+ if (presnap > (start.sample + pixel_to_sample(snap_threshold))) {
start.set (presnap, 0);
}
- } else if (presnap < start.frame) {
- if (presnap < (start.frame - pixel_to_sample(snap_threshold))) {
+ } else if (presnap < start.sample) {
+ if (presnap < (start.sample - pixel_to_sample(snap_threshold))) {
start.set (presnap, 0);
}
}
@@ -3795,7 +3795,7 @@ Editor::set_zoom_preset (int64_t ms)
return;
}
- ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+ ARDOUR::samplecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
temporal_zoom( (sample_rate * ms / 1000) / _visible_canvas_width );
}
@@ -3942,7 +3942,7 @@ Editor::set_show_measures (bool yn)
}
std::vector<TempoMap::BBTPoint> grid;
- compute_current_bbt_points (grid, leftmost_frame, leftmost_frame + current_page_samples());
+ compute_current_bbt_points (grid, _leftmost_sample, _leftmost_sample + current_page_samples());
draw_measures (grid);
}
@@ -4004,8 +4004,8 @@ Editor::playlist_selector () const
return *_playlist_selector;
}
-framecnt_t
-Editor::get_paste_offset (framepos_t pos, unsigned paste_count, framecnt_t duration)
+samplecnt_t
+Editor::get_paste_offset (samplepos_t pos, unsigned paste_count, samplecnt_t duration)
{
if (paste_count == 0) {
/* don't bother calculating an offset that will be zero anyway */
@@ -4013,18 +4013,18 @@ Editor::get_paste_offset (framepos_t pos, unsigned paste_count, framecnt_t durat
}
/* calculate basic unsnapped multi-paste offset */
- framecnt_t offset = paste_count * duration;
+ samplecnt_t offset = paste_count * duration;
/* snap offset so pos + offset is aligned to the grid */
- MusicFrame offset_pos (pos + offset, 0);
+ MusicSample offset_pos (pos + offset, 0);
snap_to(offset_pos, RoundUpMaybe);
- offset = offset_pos.frame - pos;
+ offset = offset_pos.sample - pos;
return offset;
}
unsigned
-Editor::get_grid_beat_divisions(framepos_t position)
+Editor::get_grid_beat_divisions(samplepos_t position)
{
switch (_snap_type) {
case SnapToBeatDiv128: return 128;
@@ -4091,7 +4091,7 @@ Editor::get_grid_music_divisions (uint32_t event_state)
}
Evoral::Beats
-Editor::get_grid_type_as_beats (bool& success, framepos_t position)
+Editor::get_grid_type_as_beats (bool& success, samplepos_t position)
{
success = true;
@@ -4102,10 +4102,10 @@ Editor::get_grid_type_as_beats (bool& success, framepos_t position)
switch (_snap_type) {
case SnapToBeat:
- return Evoral::Beats(4.0 / _session->tempo_map().meter_at_frame (position).note_divisor());
+ return Evoral::Beats(4.0 / _session->tempo_map().meter_at_sample (position).note_divisor());
case SnapToBar:
if (_session) {
- const Meter& m = _session->tempo_map().meter_at_frame (position);
+ const Meter& m = _session->tempo_map().meter_at_sample (position);
return Evoral::Beats((4.0 * m.divisions_per_bar()) / m.note_divisor());
}
break;
@@ -4117,10 +4117,10 @@ Editor::get_grid_type_as_beats (bool& success, framepos_t position)
return Evoral::Beats();
}
-framecnt_t
-Editor::get_nudge_distance (framepos_t pos, framecnt_t& next)
+samplecnt_t
+Editor::get_nudge_distance (samplepos_t pos, samplecnt_t& next)
{
- framecnt_t ret;
+ samplecnt_t ret;
ret = nudge_clock->current_duration (pos);
next = ret + 1; /* XXXX fix me */
@@ -4180,7 +4180,7 @@ Editor::playlist_deletion_dialog (boost::shared_ptr<Playlist> pl)
}
bool
-Editor::audio_region_selection_covers (framepos_t where)
+Editor::audio_region_selection_covers (samplepos_t where)
{
for (RegionSelection::iterator a = selection->regions.begin(); a != selection->regions.end(); ++a) {
if ((*a)->region()->covers (where)) {
@@ -4351,13 +4351,13 @@ Editor::get_y_origin () const
}
/** Queue up a change to the viewport x origin.
- * @param frame New x origin.
+ * @param sample New x origin.
*/
void
-Editor::reset_x_origin (framepos_t frame)
+Editor::reset_x_origin (samplepos_t sample)
{
pending_visual_change.add (VisualChange::TimeOrigin);
- pending_visual_change.time_origin = frame;
+ pending_visual_change.time_origin = sample;
ensure_visual_change_idle_handler ();
}
@@ -4370,7 +4370,7 @@ Editor::reset_y_origin (double y)
}
void
-Editor::reset_zoom (framecnt_t spp)
+Editor::reset_zoom (samplecnt_t spp)
{
if (spp == samples_per_pixel) {
return;
@@ -4382,9 +4382,9 @@ Editor::reset_zoom (framecnt_t spp)
}
void
-Editor::reposition_and_zoom (framepos_t frame, double fpu)
+Editor::reposition_and_zoom (samplepos_t sample, double fpu)
{
- reset_x_origin (frame);
+ reset_x_origin (sample);
reset_zoom (fpu);
if (!no_save_visual) {
@@ -4408,7 +4408,7 @@ Editor::current_visual_state (bool with_tracks)
VisualState* vs = new VisualState (with_tracks);
vs->y_position = vertical_adjustment.get_value();
vs->samples_per_pixel = samples_per_pixel;
- vs->leftmost_frame = leftmost_frame;
+ vs->_leftmost_sample = _leftmost_sample;
vs->zoom_focus = zoom_focus;
if (with_tracks) {
@@ -4474,7 +4474,7 @@ Editor::use_visual_state (VisualState& vs)
vertical_adjustment.set_value (vs.y_position);
set_zoom_focus (vs.zoom_focus);
- reposition_and_zoom (vs.leftmost_frame, vs.samples_per_pixel);
+ reposition_and_zoom (vs._leftmost_sample, vs.samples_per_pixel);
if (vs.gui_state) {
ARDOUR_UI::instance()->gui_object_state->set_state (vs.gui_state->get_state());
@@ -4493,14 +4493,14 @@ Editor::use_visual_state (VisualState& vs)
* @param spp new number of samples per pixel
*/
void
-Editor::set_samples_per_pixel (framecnt_t spp)
+Editor::set_samples_per_pixel (samplecnt_t spp)
{
if (spp < 1) {
return;
}
- const framecnt_t three_days = 3 * 24 * 60 * 60 * (_session ? _session->frame_rate() : 48000);
- const framecnt_t lots_of_pixels = 4000;
+ const samplecnt_t three_days = 3 * 24 * 60 * 60 * (_session ? _session->sample_rate() : 48000);
+ const samplecnt_t lots_of_pixels = 4000;
/* if the zoom level is greater than what you'd get trying to display 3
* days of audio on a really big screen, then it's too big.
@@ -4522,7 +4522,7 @@ Editor::on_samples_per_pixel_changed ()
bool const showing_time_selection = selection->time.length() > 0;
- if (showing_time_selection && selection->time.start () != selection->time.end_frame ()) {
+ if (showing_time_selection && selection->time.start () != selection->time.end_sample ()) {
for (TrackViewList::iterator i = selection->tracks.begin(); i != selection->tracks.end(); ++i) {
(*i)->reshow_selection (selection->time);
}
@@ -4538,7 +4538,7 @@ Editor::on_samples_per_pixel_changed ()
}
if (playhead_cursor) {
- playhead_cursor->set_position (playhead_cursor->current_frame ());
+ playhead_cursor->set_position (playhead_cursor->current_sample ());
}
refresh_location_display();
@@ -4549,10 +4549,10 @@ Editor::on_samples_per_pixel_changed ()
instant_save ();
}
-framepos_t
+samplepos_t
Editor::playhead_cursor_sample () const
{
- return playhead_cursor->current_frame();
+ return playhead_cursor->current_sample();
}
void
@@ -4697,11 +4697,11 @@ Editor::sort_track_selection (TrackViewList& sel)
sel.sort (cmp);
}
-framepos_t
+samplepos_t
Editor::get_preferred_edit_position (EditIgnoreOption ignore, bool from_context_menu, bool from_outside_canvas)
{
bool ignored;
- framepos_t where = 0;
+ samplepos_t where = 0;
EditPoint ep = _edit_point;
if (Profile->get_mixbus()) {
@@ -4729,14 +4729,14 @@ Editor::get_preferred_edit_position (EditIgnoreOption ignore, bool from_context_
ep = EditAtPlayhead;
}
- MusicFrame snap_mf (0, 0);
+ MusicSample snap_mf (0, 0);
switch (ep) {
case EditAtPlayhead:
if (_dragging_playhead && _control_scroll_target) {
where = *_control_scroll_target;
} else {
- where = _session->audible_frame();
+ where = _session->audible_sample();
}
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("GPEP: use playhead @ %1\n", where));
break;
@@ -4759,13 +4759,13 @@ Editor::get_preferred_edit_position (EditIgnoreOption ignore, bool from_context_
default:
case EditAtMouse:
- if (!mouse_frame (where, ignored)) {
+ if (!mouse_sample (where, ignored)) {
/* XXX not right but what can we do ? */
return 0;
}
- snap_mf.frame = where;
+ snap_mf.sample = where;
snap_to (snap_mf);
- where = snap_mf.frame;
+ where = snap_mf.sample;
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("GPEP: use mouse @ %1\n", where));
break;
}
@@ -4774,7 +4774,7 @@ Editor::get_preferred_edit_position (EditIgnoreOption ignore, bool from_context_
}
void
-Editor::set_loop_range (framepos_t start, framepos_t end, string cmd)
+Editor::set_loop_range (samplepos_t start, samplepos_t end, string cmd)
{
if (!_session) return;
@@ -4801,7 +4801,7 @@ Editor::set_loop_range (framepos_t start, framepos_t end, string cmd)
}
void
-Editor::set_punch_range (framepos_t start, framepos_t end, string cmd)
+Editor::set_punch_range (samplepos_t start, samplepos_t end, string cmd)
{
if (!_session) return;
@@ -4833,7 +4833,7 @@ Editor::set_punch_range (framepos_t start, framepos_t end, string cmd)
* @param ts Tracks to look on; if this is empty, all tracks are examined.
*/
void
-Editor::get_regions_at (RegionSelection& rs, framepos_t where, const TrackViewList& ts) const
+Editor::get_regions_at (RegionSelection& rs, samplepos_t where, const TrackViewList& ts) const
{
const TrackViewList* tracks;
@@ -4867,7 +4867,7 @@ Editor::get_regions_at (RegionSelection& rs, framepos_t where, const TrackViewLi
}
void
-Editor::get_regions_after (RegionSelection& rs, framepos_t where, const TrackViewList& ts) const
+Editor::get_regions_after (RegionSelection& rs, samplepos_t where, const TrackViewList& ts) const
{
const TrackViewList* tracks;
@@ -4885,7 +4885,7 @@ Editor::get_regions_after (RegionSelection& rs, framepos_t where, const TrackVie
if ((tr = rtv->track()) && ((pl = tr->playlist()))) {
- boost::shared_ptr<RegionList> regions = pl->regions_touched (where, max_framepos);
+ boost::shared_ptr<RegionList> regions = pl->regions_touched (where, max_samplepos);
for (RegionList::iterator i = regions->begin(); i != regions->end(); ++i) {
@@ -4930,7 +4930,7 @@ Editor::get_regions_from_selection_and_edit_point (EditIgnoreOption ignore, bool
/* no region selected or entered, but some selected tracks:
* act on all regions on the selected tracks at the edit point
*/
- framepos_t const where = get_preferred_edit_position (ignore, from_context_menu, from_outside_canvas);
+ samplepos_t const where = get_preferred_edit_position (ignore, from_context_menu, from_outside_canvas);
get_regions_at(regions, where, tracks);
}
}
@@ -4950,7 +4950,7 @@ Editor::get_regions_from_selection_and_edit_point (EditIgnoreOption ignore, bool
* Note that we have forced the rule that selected regions and selected tracks are mutually exclusive
*/
RegionSelection
-Editor::get_regions_from_selection_and_mouse (framepos_t pos)
+Editor::get_regions_from_selection_and_mouse (samplepos_t pos)
{
RegionSelection regions;
@@ -5233,7 +5233,7 @@ Editor::located ()
ENSURE_GUI_THREAD (*this, &Editor::located);
if (_session) {
- playhead_cursor->set_position (_session->audible_frame ());
+ playhead_cursor->set_position (_session->audible_sample ());
if (_follow_playhead && !_pending_initial_locate) {
reset_x_origin_to_follow_playhead ();
}
@@ -5727,39 +5727,39 @@ Editor::scroll_release ()
void
Editor::reset_x_origin_to_follow_playhead ()
{
- framepos_t const frame = playhead_cursor->current_frame ();
+ samplepos_t const sample = playhead_cursor->current_sample ();
- if (frame < leftmost_frame || frame > leftmost_frame + current_page_samples()) {
+ if (sample < _leftmost_sample || sample > _leftmost_sample + current_page_samples()) {
if (_session->transport_speed() < 0) {
- if (frame > (current_page_samples() / 2)) {
- center_screen (frame-(current_page_samples()/2));
+ if (sample > (current_page_samples() / 2)) {
+ center_screen (sample-(current_page_samples()/2));
} else {
center_screen (current_page_samples()/2);
}
} else {
- framepos_t l = 0;
+ samplepos_t l = 0;
- if (frame < leftmost_frame) {
+ if (sample < _leftmost_sample) {
/* moving left */
if (_session->transport_rolling()) {
/* rolling; end up with the playhead at the right of the page */
- l = frame - current_page_samples ();
+ l = sample - current_page_samples ();
} else {
/* not rolling: end up with the playhead 1/4 of the way along the page */
- l = frame - current_page_samples() / 4;
+ l = sample - current_page_samples() / 4;
}
} else {
/* moving right */
if (_session->transport_rolling()) {
/* rolling: end up with the playhead on the left of the page */
- l = frame;
+ l = sample;
} else {
/* not rolling: end up with the playhead 3/4 of the way along the page */
- l = frame - 3 * current_page_samples() / 4;
+ l = sample - 3 * current_page_samples() / 4;
}
}
@@ -5805,7 +5805,7 @@ Editor::super_rapid_screen_update ()
* will move the playhead before the locate request is processed, causing
* a visual glitch.
* 2. if we're not rolling, there's nothing to do here (locates are handled elsewhere).
- * 3. if we're still at the same frame that we were last time, there's nothing to do.
+ * 3. if we're still at the same sample that we were last time, there's nothing to do.
*/
if (_pending_locate_request || !_session->transport_rolling ()) {
_last_update_time = 0;
@@ -5818,7 +5818,7 @@ Editor::super_rapid_screen_update ()
}
bool latent_locate = false;
- framepos_t frame = _session->audible_frame (&latent_locate);
+ samplepos_t sample = _session->audible_sample (&latent_locate);
const int64_t now = g_get_monotonic_time ();
double err = 0;
@@ -5831,20 +5831,20 @@ Editor::super_rapid_screen_update ()
if (_last_update_time > 0) {
/* interpolate and smoothen playhead position */
- const double ds = (now - _last_update_time) * _session->transport_speed() * _session->nominal_frame_rate () * 1e-6;
- framepos_t guess = playhead_cursor->current_frame () + rint (ds);
- err = frame - guess;
+ const double ds = (now - _last_update_time) * _session->transport_speed() * _session->nominal_sample_rate () * 1e-6;
+ samplepos_t guess = playhead_cursor->current_sample () + rint (ds);
+ err = sample - guess;
guess += err * .12 + _err_screen_engine; // time-constant based on 25fps (super_rapid_screen_update)
_err_screen_engine += .0144 * (err - _err_screen_engine); // tc^2
#if 0 // DEBUG
printf ("eng: %ld gui:%ld (%+6.1f) diff: %6.1f (err: %7.2f)\n",
- frame, guess, ds,
+ sample, guess, ds,
err, _err_screen_engine);
#endif
- frame = guess;
+ sample = guess;
} else {
_err_screen_engine = 0;
}
@@ -5852,18 +5852,18 @@ Editor::super_rapid_screen_update ()
if (err > 8192 || latent_locate) {
// in case of x-runs or freewheeling
_last_update_time = 0;
- frame = _session->audible_frame ();
+ sample = _session->audible_sample ();
} else {
_last_update_time = now;
}
- if (playhead_cursor->current_frame () == frame) {
+ if (playhead_cursor->current_sample () == sample) {
return;
}
- playhead_cursor->set_position (frame);
+ playhead_cursor->set_position (sample);
- if (_session->requested_return_frame() >= 0) {
+ if (_session->requested_return_sample() >= 0) {
_last_update_time = 0;
return;
}
@@ -5882,13 +5882,13 @@ Editor::super_rapid_screen_update ()
if (!_stationary_playhead) {
reset_x_origin_to_follow_playhead ();
} else {
- framepos_t const frame = playhead_cursor->current_frame ();
- double target = ((double)frame - (double)current_page_samples() / 2.0);
+ samplepos_t const sample = playhead_cursor->current_sample ();
+ double target = ((double)sample - (double)current_page_samples() / 2.0);
if (target <= 0.0) {
target = 0.0;
}
// compare to EditorCursor::set_position()
- double const old_pos = sample_to_pixel_unrounded (leftmost_frame);
+ double const old_pos = sample_to_pixel_unrounded (_leftmost_sample);
double const new_pos = sample_to_pixel_unrounded (target);
if (rint (new_pos) != rint (old_pos)) {
reset_x_origin (pixel_to_sample (new_pos));
@@ -5991,7 +5991,7 @@ Editor::show_editor_list (bool yn)
void
Editor::change_region_layering_order (bool from_context_menu)
{
- const framepos_t position = get_preferred_edit_position (EDIT_IGNORE_NONE, from_context_menu);
+ const samplepos_t position = get_preferred_edit_position (EDIT_IGNORE_NONE, from_context_menu);
if (!clicked_routeview) {
if (layering_order_editor) {
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 68ba110123..3eed94ddcf 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -149,10 +149,10 @@ public:
void first_idle ();
virtual bool have_idled () const { return _have_idled; }
- framepos_t leftmost_sample() const { return leftmost_frame; }
+ samplepos_t leftmost_sample() const { return _leftmost_sample; }
- framecnt_t current_page_samples() const {
- return (framecnt_t) _visible_canvas_width * samples_per_pixel;
+ samplecnt_t current_page_samples() const {
+ return (samplecnt_t) _visible_canvas_width * samples_per_pixel;
}
double visible_canvas_height () const {
@@ -219,7 +219,7 @@ public:
account any scrolling offsets.
*/
- framepos_t pixel_to_sample_from_event (double pixel) const {
+ samplepos_t pixel_to_sample_from_event (double pixel) const {
/* pixel can be less than zero when motion events
are processed. since we've already run the world->canvas
@@ -234,22 +234,22 @@ public:
}
}
- framepos_t pixel_to_sample (double pixel) const {
+ samplepos_t pixel_to_sample (double pixel) const {
return pixel * samples_per_pixel;
}
- double sample_to_pixel (framepos_t sample) const {
+ double sample_to_pixel (samplepos_t sample) const {
return round (sample / (double) samples_per_pixel);
}
- double sample_to_pixel_unrounded (framepos_t sample) const {
+ double sample_to_pixel_unrounded (samplepos_t sample) const {
return sample / (double) samples_per_pixel;
}
/* selection */
Selection& get_selection() const { return *selection; }
- bool get_selection_extents (framepos_t &start, framepos_t &end) const; // the time extents of the current selection, whether Range, Region(s), Control Points, or Notes
+ bool get_selection_extents (samplepos_t &start, samplepos_t &end) const; // the time extents of the current selection, whether Range, Region(s), Control Points, or Notes
Selection& get_cut_buffer() const { return *cut_buffer; }
void set_selection (std::list<Selectable*>, Selection::Operation);
@@ -257,7 +257,7 @@ public:
bool extend_selection_to_track (TimeAxisView&);
void play_selection ();
- void maybe_locate_with_edit_preroll (framepos_t);
+ void maybe_locate_with_edit_preroll (samplepos_t);
void play_with_preroll ();
void rec_with_preroll ();
void rec_with_count_in ();
@@ -266,7 +266,7 @@ public:
void invert_selection_in_track ();
void invert_selection ();
void deselect_all ();
- long select_range (framepos_t, framepos_t);
+ long select_range (samplepos_t, samplepos_t);
void set_selected_regionview_from_region_list (boost::shared_ptr<ARDOUR::Region> region, Selection::Operation op = Selection::Set);
@@ -297,7 +297,7 @@ public:
void set_zoom_focus (Editing::ZoomFocus);
Editing::ZoomFocus get_zoom_focus () const { return zoom_focus; }
- framecnt_t get_current_zoom () const { return samples_per_pixel; }
+ samplecnt_t get_current_zoom () const { return samples_per_pixel; }
void cycle_zoom_focus ();
void temporal_zoom_step (bool zoom_out);
void temporal_zoom_step_scale (bool zoom_out, double scale);
@@ -331,10 +331,10 @@ public:
/* nudge is initiated by transport controls owned by ARDOUR_UI */
- framecnt_t get_nudge_distance (framepos_t pos, framecnt_t& next);
- framecnt_t get_paste_offset (framepos_t pos, unsigned paste_count, framecnt_t duration);
- unsigned get_grid_beat_divisions(framepos_t position);
- Evoral::Beats get_grid_type_as_beats (bool& success, framepos_t position);
+ samplecnt_t get_nudge_distance (samplepos_t pos, samplecnt_t& next);
+ samplecnt_t get_paste_offset (samplepos_t pos, unsigned paste_count, samplecnt_t duration);
+ unsigned get_grid_beat_divisions(samplepos_t position);
+ Evoral::Beats get_grid_type_as_beats (bool& success, samplepos_t position);
int32_t get_grid_music_divisions (uint32_t event_state);
@@ -365,7 +365,7 @@ public:
void toggle_measure_visibility ();
/* returns the left-most and right-most time that the gui should allow the user to scroll to */
- std::pair <framepos_t,framepos_t> session_gui_extents( bool use_extra = true ) const;
+ std::pair <samplepos_t,samplepos_t> session_gui_extents( bool use_extra = true ) const;
/* fades */
@@ -401,13 +401,13 @@ public:
void restore_editing_space();
double get_y_origin () const;
- void reset_x_origin (framepos_t);
+ void reset_x_origin (samplepos_t);
void reset_x_origin_to_follow_playhead ();
void reset_y_origin (double);
- void reset_zoom (framecnt_t);
- void reposition_and_zoom (framepos_t, double);
+ void reset_zoom (samplecnt_t);
+ void reposition_and_zoom (samplepos_t, double);
- framepos_t get_preferred_edit_position (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE,
+ samplepos_t get_preferred_edit_position (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE,
bool use_context_click = false,
bool from_outside_canvas = false);
@@ -439,13 +439,13 @@ public:
ARDOUR::SrcQuality quality,
ARDOUR::MidiTrackNameSource mts,
ARDOUR::MidiTempoMapDisposition mtd,
- framepos_t& pos,
+ samplepos_t& pos,
boost::shared_ptr<ARDOUR::PluginInfo> instrument = boost::shared_ptr<ARDOUR::PluginInfo>());
void do_embed (std::vector<std::string> paths,
Editing::ImportDisposition disposition,
Editing::ImportMode mode,
- framepos_t& pos,
+ samplepos_t& pos,
boost::shared_ptr<ARDOUR::PluginInfo> instrument = boost::shared_ptr<ARDOUR::PluginInfo>());
void get_regions_corresponding_to (boost::shared_ptr<ARDOUR::Region> region, std::vector<RegionView*>& regions, bool src_comparison);
@@ -453,22 +453,22 @@ public:
void get_regionviews_by_id (PBD::ID const id, RegionSelection & regions) const;
void get_per_region_note_selection (std::list<std::pair<PBD::ID, std::set<boost::shared_ptr<Evoral::Note<Evoral::Beats> > > > >&) const;
- void center_screen (framepos_t);
+ void center_screen (samplepos_t);
TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const;
- void snap_to (ARDOUR::MusicFrame& first,
+ void snap_to (ARDOUR::MusicSample& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false,
bool ensure_snap = false);
- void snap_to_with_modifier (ARDOUR::MusicFrame& first,
+ void snap_to_with_modifier (ARDOUR::MusicSample& first,
GdkEvent const * ev,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false);
- void snap_to (ARDOUR::MusicFrame& first,
- ARDOUR::MusicFrame& last,
+ void snap_to (ARDOUR::MusicSample& first,
+ ARDOUR::MusicSample& last,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false);
@@ -546,19 +546,19 @@ public:
void metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>&, gdouble, gdouble, gint);
/* editing operations that need to be public */
- void mouse_add_new_marker (framepos_t where, bool is_cd=false);
- void split_regions_at (ARDOUR::MusicFrame, RegionSelection&, bool snap = true);
+ void mouse_add_new_marker (samplepos_t where, bool is_cd=false);
+ void split_regions_at (ARDOUR::MusicSample, RegionSelection&, bool snap = true);
void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false);
- RegionSelection get_regions_from_selection_and_mouse (framepos_t);
+ RegionSelection get_regions_from_selection_and_mouse (samplepos_t);
- void mouse_add_new_tempo_event (framepos_t where);
- void mouse_add_new_meter_event (framepos_t where);
+ void mouse_add_new_tempo_event (samplepos_t where);
+ void mouse_add_new_meter_event (samplepos_t where);
void edit_tempo_section (ARDOUR::TempoSection*);
void edit_meter_section (ARDOUR::MeterSection*);
protected:
void map_transport_state ();
- void map_position_change (framepos_t);
+ void map_position_change (samplepos_t);
void transport_looped ();
void on_realize();
@@ -573,7 +573,7 @@ private:
bool constructed;
// to keep track of the playhead position for control_scroll
- boost::optional<framepos_t> _control_scroll_target;
+ boost::optional<samplepos_t> _control_scroll_target;
PlaylistSelector* _playlist_selector;
@@ -585,8 +585,8 @@ private:
VisualState (bool with_tracks);
~VisualState ();
double y_position;
- framecnt_t samples_per_pixel;
- framepos_t leftmost_frame;
+ samplecnt_t samples_per_pixel;
+ samplepos_t _leftmost_sample;
Editing::ZoomFocus zoom_focus;
GUIObjectState* gui_state;
};
@@ -604,11 +604,11 @@ private:
void start_visual_state_op (uint32_t n);
void cancel_visual_state_op (uint32_t n);
- framepos_t leftmost_frame;
- framecnt_t samples_per_pixel;
+ samplepos_t _leftmost_sample;
+ samplecnt_t samples_per_pixel;
Editing::ZoomFocus zoom_focus;
- void set_samples_per_pixel (framecnt_t);
+ void set_samples_per_pixel (samplecnt_t);
void on_samples_per_pixel_changed ();
Editing::MouseMode mouse_mode;
@@ -688,7 +688,7 @@ private:
void setup_lines ();
void set_name (const std::string&);
- void set_position (framepos_t start, framepos_t end = 0);
+ void set_position (samplepos_t start, samplepos_t end = 0);
void set_color_rgba (uint32_t);
};
@@ -716,9 +716,9 @@ private:
void hide_marker (ArdourCanvas::Item*, GdkEvent*);
void clear_marker_display ();
- void mouse_add_new_range (framepos_t);
- void mouse_add_new_loop (framepos_t);
- void mouse_add_new_punch (framepos_t);
+ void mouse_add_new_range (samplepos_t);
+ void mouse_add_new_loop (samplepos_t);
+ void mouse_add_new_punch (samplepos_t);
bool choose_new_marker_name(std::string &name);
void update_cd_marker_display ();
void ensure_cd_marker_updated (LocationMarkers * lam, ARDOUR::Location * location);
@@ -915,7 +915,7 @@ private:
void compute_fixed_ruler_scale (); //calculates the RulerScale of the fixed rulers
void update_fixed_rulers ();
void update_tempo_based_rulers ();
- void popup_ruler_menu (framepos_t where = 0, ItemType type = RegionItem);
+ void popup_ruler_menu (samplepos_t where = 0, ItemType type = RegionItem);
void update_ruler_visibility ();
void set_ruler_visible (RulerType, bool);
void toggle_ruler_visibility (RulerType rt);
@@ -936,14 +936,14 @@ private:
MinsecRulerScale minsec_ruler_scale;
- framecnt_t minsec_mark_interval;
+ samplecnt_t minsec_mark_interval;
gint minsec_mark_modulo;
gint minsec_nmarks;
- void set_minsec_ruler_scale (framepos_t, framepos_t);
+ void set_minsec_ruler_scale (samplepos_t, samplepos_t);
enum TimecodeRulerScale {
timecode_show_bits,
- timecode_show_frames,
+ timecode_show_samples,
timecode_show_seconds,
timecode_show_minutes,
timecode_show_hours,
@@ -954,10 +954,10 @@ private:
gint timecode_mark_modulo;
gint timecode_nmarks;
- void set_timecode_ruler_scale (framepos_t, framepos_t);
+ void set_timecode_ruler_scale (samplepos_t, samplepos_t);
- framecnt_t _samples_ruler_interval;
- void set_samples_ruler_scale (framepos_t, framepos_t);
+ samplecnt_t _samples_ruler_interval;
+ void set_samples_ruler_scale (samplepos_t, samplepos_t);
enum BBTRulerScale {
bbt_show_many,
@@ -977,7 +977,7 @@ private:
gint bbt_nmarks;
uint32_t bbt_bar_helper_on;
uint32_t bbt_accent_modulo;
- void compute_bbt_ruler_scale (framepos_t lower, framepos_t upper);
+ void compute_bbt_ruler_scale (samplepos_t lower, samplepos_t upper);
ArdourCanvas::Ruler* timecode_ruler;
ArdourCanvas::Ruler* bbt_ruler;
@@ -1013,7 +1013,7 @@ private:
Glib::RefPtr<Gtk::ToggleAction> xjadeo_proc_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_ontop_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_timecode_action;
- Glib::RefPtr<Gtk::ToggleAction> xjadeo_frame_action;
+ Glib::RefPtr<Gtk::ToggleAction> xjadeo_sample_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_osdbg_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_fullscreen_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_letterbox_action;
@@ -1032,9 +1032,9 @@ private:
friend class EditorCursor;
EditorCursor* playhead_cursor;
- framepos_t playhead_cursor_sample () const;
+ samplepos_t playhead_cursor_sample () const;
- framepos_t get_region_boundary (framepos_t pos, int32_t dir, bool with_selection, bool only_onscreen);
+ samplepos_t get_region_boundary (samplepos_t pos, int32_t dir, bool with_selection, bool only_onscreen);
void cursor_to_region_boundary (bool with_selection, int32_t dir);
void cursor_to_next_region_boundary (bool with_selection);
@@ -1059,10 +1059,10 @@ private:
void select_all_selectables_between (bool within);
void select_range_between ();
- boost::shared_ptr<ARDOUR::Region> find_next_region (ARDOUR::framepos_t, ARDOUR::RegionPoint, int32_t dir, TrackViewList&, TimeAxisView ** = 0);
- ARDOUR::framepos_t find_next_region_boundary (ARDOUR::framepos_t, int32_t dir, const TrackViewList&);
+ boost::shared_ptr<ARDOUR::Region> find_next_region (ARDOUR::samplepos_t, ARDOUR::RegionPoint, int32_t dir, TrackViewList&, TimeAxisView ** = 0);
+ ARDOUR::samplepos_t find_next_region_boundary (ARDOUR::samplepos_t, int32_t dir, const TrackViewList&);
- std::vector<ARDOUR::framepos_t> region_boundary_cache;
+ std::vector<ARDOUR::samplepos_t> region_boundary_cache;
void build_region_boundary_cache ();
Gtk::HBox toplevel_hpacker;
@@ -1119,7 +1119,7 @@ private:
void control_unselect ();
void access_action (const std::string&, const std::string&);
void set_toggleaction (const std::string&, const std::string&, bool);
- bool deferred_control_scroll (framepos_t);
+ bool deferred_control_scroll (samplepos_t);
sigc::connection control_scroll_connection;
void tie_vertical_scrolling ();
@@ -1135,8 +1135,8 @@ private:
};
Type pending;
- framepos_t time_origin;
- framecnt_t samples_per_pixel;
+ samplepos_t time_origin;
+ samplecnt_t samples_per_pixel;
double y_origin;
int idle_handler_id;
@@ -1173,7 +1173,7 @@ private:
TrackViewList get_tracks_for_range_action () const;
sigc::connection super_rapid_screen_update_connection;
- void center_screen_internal (framepos_t, float);
+ void center_screen_internal (samplepos_t, float);
void super_rapid_screen_update ();
@@ -1182,8 +1182,8 @@ private:
void session_going_away ();
- framepos_t cut_buffer_start;
- framecnt_t cut_buffer_length;
+ samplepos_t cut_buffer_start;
+ samplecnt_t cut_buffer_length;
boost::shared_ptr<CursorContext> _press_cursor_ctx; ///< Button press cursor context
@@ -1216,7 +1216,7 @@ private:
/* CUT/COPY/PASTE */
- framepos_t last_paste_pos;
+ samplepos_t last_paste_pos;
unsigned paste_count;
void cut_copy (Editing::CutCopyOp);
@@ -1227,7 +1227,7 @@ private:
void cut_copy_midi (Editing::CutCopyOp);
void mouse_paste ();
- void paste_internal (framepos_t position, float times, const int32_t sub_num);
+ void paste_internal (samplepos_t position, float times, const int32_t sub_num);
/* EDITING OPERATIONS */
@@ -1255,14 +1255,14 @@ private:
void lower_region_to_bottom ();
void split_region_at_transients ();
void crop_region_to_selection ();
- void crop_region_to (framepos_t start, framepos_t end);
- void set_sync_point (framepos_t, const RegionSelection&);
+ void crop_region_to (samplepos_t start, samplepos_t end);
+ void set_sync_point (samplepos_t, const RegionSelection&);
void set_region_sync_position ();
void remove_region_sync();
void align_regions (ARDOUR::RegionPoint);
void align_regions_relative (ARDOUR::RegionPoint point);
- void align_region (boost::shared_ptr<ARDOUR::Region>, ARDOUR::RegionPoint point, framepos_t position);
- void align_region_internal (boost::shared_ptr<ARDOUR::Region>, ARDOUR::RegionPoint point, framepos_t position);
+ void align_region (boost::shared_ptr<ARDOUR::Region>, ARDOUR::RegionPoint point, samplepos_t position);
+ void align_region_internal (boost::shared_ptr<ARDOUR::Region>, ARDOUR::RegionPoint point, samplepos_t position);
void remove_selected_regions ();
void remove_clicked_region ();
void show_region_properties ();
@@ -1295,10 +1295,10 @@ private:
void fork_region ();
void do_insert_time ();
- void insert_time (framepos_t, framecnt_t, Editing::InsertTimeOption, bool, bool, bool, bool, bool, bool);
+ void insert_time (samplepos_t, samplecnt_t, Editing::InsertTimeOption, bool, bool, bool, bool, bool, bool);
void do_remove_time ();
- void remove_time (framepos_t pos, framecnt_t distance, Editing::InsertTimeOption opt, bool ignore_music_glue, bool markers_too,
+ void remove_time (samplepos_t pos, samplecnt_t distance, Editing::InsertTimeOption opt, bool ignore_music_glue, bool markers_too,
bool glued_markers_too, bool locked_markers_too, bool tempo_too);
void tab_to_transient (bool forward);
@@ -1306,7 +1306,7 @@ private:
void set_tempo_from_region ();
void use_range_as_bar ();
- void define_one_bar (framepos_t start, framepos_t end);
+ void define_one_bar (samplepos_t start, samplepos_t end);
void audition_region_from_region_list ();
void hide_region_from_region_list ();
@@ -1339,13 +1339,13 @@ private:
void play_location (ARDOUR::Location&);
void loop_location (ARDOUR::Location&);
- void calc_extra_zoom_edges(framepos_t &start, framepos_t &end);
+ void calc_extra_zoom_edges(samplepos_t &start, samplepos_t &end);
void temporal_zoom_selection (Editing::ZoomAxis);
void temporal_zoom_session ();
void temporal_zoom_extents ();
- void temporal_zoom (framecnt_t samples_per_pixel);
- void temporal_zoom_by_frame (framepos_t start, framepos_t end);
- void temporal_zoom_to_frame (bool coarser, framepos_t frame);
+ void temporal_zoom (samplecnt_t samples_per_pixel);
+ void temporal_zoom_by_sample (samplepos_t start, samplepos_t end);
+ void temporal_zoom_to_sample (bool coarser, samplepos_t sample);
void insert_region_list_selection (float times);
@@ -1370,16 +1370,16 @@ private:
SoundFileOmega* sfbrowser;
- void bring_in_external_audio (Editing::ImportMode mode, framepos_t& pos);
+ void bring_in_external_audio (Editing::ImportMode mode, samplepos_t& pos);
- bool idle_drop_paths (std::vector<std::string> paths, framepos_t frame, double ypos, bool copy);
- void drop_paths_part_two (const std::vector<std::string>& paths, framepos_t frame, double ypos, bool copy);
+ bool idle_drop_paths (std::vector<std::string> paths, samplepos_t sample, double ypos, bool copy);
+ void drop_paths_part_two (const std::vector<std::string>& paths, samplepos_t sample, double ypos, bool copy);
int import_sndfiles (std::vector<std::string> paths,
Editing::ImportDisposition disposition,
Editing::ImportMode mode,
ARDOUR::SrcQuality quality,
- framepos_t& pos,
+ samplepos_t& pos,
int target_regions,
int target_tracks,
boost::shared_ptr<ARDOUR::Track>& track,
@@ -1391,7 +1391,7 @@ private:
bool& check_sample_rate,
Editing::ImportDisposition disposition,
Editing::ImportMode mode,
- framepos_t& pos,
+ samplepos_t& pos,
int target_regions,
int target_tracks,
boost::shared_ptr<ARDOUR::Track>& track,
@@ -1399,7 +1399,7 @@ private:
int add_sources (std::vector<std::string> paths,
ARDOUR::SourceList& sources,
- framepos_t& pos,
+ samplepos_t& pos,
Editing::ImportDisposition disposition,
Editing::ImportMode mode,
int target_regions,
@@ -1411,7 +1411,7 @@ private:
int finish_bringing_in_material (boost::shared_ptr<ARDOUR::Region> region,
uint32_t in_chans,
uint32_t out_chans,
- framepos_t& pos,
+ samplepos_t& pos,
Editing::ImportMode mode,
boost::shared_ptr<ARDOUR::Track>& existing_track,
const std::string& new_track_name,
@@ -1434,7 +1434,7 @@ private:
struct EditorImportStatus : public ARDOUR::ImportStatus {
Editing::ImportMode mode;
- framepos_t pos;
+ samplepos_t pos;
int target_tracks;
int target_regions;
boost::shared_ptr<ARDOUR::Track> track;
@@ -1450,7 +1450,7 @@ private:
void import_audio (bool as_tracks);
void do_import (std::vector<std::string> paths, bool split, bool as_tracks);
- void import_smf_tempo_map (Evoral::SMF const &, framepos_t pos);
+ void import_smf_tempo_map (Evoral::SMF const &, samplepos_t pos);
void move_to_start ();
void move_to_end ();
void center_playhead ();
@@ -1480,7 +1480,7 @@ private:
void set_selection_from_loop ();
void set_selection_from_region ();
- void add_location_mark (framepos_t where);
+ void add_location_mark (samplepos_t where);
void add_location_from_region ();
void add_locations_from_region ();
void add_location_from_selection ();
@@ -1495,8 +1495,8 @@ private:
void set_loop_from_region (bool play);
- void set_loop_range (framepos_t start, framepos_t end, std::string cmd);
- void set_punch_range (framepos_t start, framepos_t end, std::string cmd);
+ void set_loop_range (samplepos_t start, samplepos_t end, std::string cmd);
+ void set_punch_range (samplepos_t start, samplepos_t end, std::string cmd);
void toggle_location_at_playhead_cursor ();
void add_location_from_playhead_cursor ();
@@ -1511,7 +1511,7 @@ private:
int scrubbing_direction;
int scrub_reversals;
int scrub_reverse_distance;
- void scrub (framepos_t, double);
+ void scrub (samplepos_t, double);
void set_punch_start_from_edit_point ();
void set_punch_end_from_edit_point ();
@@ -1521,7 +1521,7 @@ private:
void keyboard_selection_begin ( Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE );
void keyboard_selection_finish (bool add, Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE);
bool have_pending_keyboard_selection;
- framepos_t pending_keyboard_selection_start;
+ samplepos_t pending_keyboard_selection_start;
void move_range_selection_start_or_end_to_region_boundary (bool, bool);
@@ -1583,7 +1583,7 @@ private:
bool can_remove_control_point (ArdourCanvas::Item *);
void remove_control_point (ArdourCanvas::Item *);
- void mouse_brush_insert_region (RegionView*, framepos_t pos);
+ void mouse_brush_insert_region (RegionView*, samplepos_t pos);
/* Canvas event handlers */
@@ -1601,7 +1601,7 @@ private:
bool canvas_fade_out_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*, bool trim = false);
bool canvas_region_view_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_wave_view_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
- bool canvas_frame_handle_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
+ bool canvas_sample_handle_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_highlight_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_feature_line_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*);
@@ -1628,7 +1628,7 @@ private:
void toggle_video_timeline_locked ();
void set_video_timeline_locked (const bool);
void queue_visual_videotimeline_update ();
- void embed_audio_from_video (std::string, framepos_t n = 0, bool lock_position_to_video = true);
+ void embed_audio_from_video (std::string, samplepos_t n = 0, bool lock_position_to_video = true);
bool track_selection_change_without_scroll () const {
return _track_selection_change_without_scroll;
@@ -1754,7 +1754,7 @@ private:
void remove_metric_marks ();
void draw_metric_marks (const ARDOUR::Metrics& metrics);
- void compute_current_bbt_points (std::vector<ARDOUR::TempoMap::BBTPoint>& grid, framepos_t left, framepos_t right);
+ void compute_current_bbt_points (std::vector<ARDOUR::TempoMap::BBTPoint>& grid, samplepos_t left, samplepos_t right);
void tempo_map_changed (const PBD::PropertyChange&);
void tempometric_position_changed (const PBD::PropertyChange&);
@@ -1889,7 +1889,7 @@ private:
bool get_smart_mode() const;
- bool audio_region_selection_covers (framepos_t where);
+ bool audio_region_selection_covers (samplepos_t where);
/* transport range select process */
@@ -1913,7 +1913,7 @@ private:
/* object rubberband select process */
- void select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool);
+ void select_all_within (samplepos_t, samplepos_t, double, double, TrackViewList const &, Selection::Operation, bool);
ArdourCanvas::Rectangle* rubberband_rect;
@@ -1947,7 +1947,7 @@ private:
void stop_canvas_autoscroll ();
/* trimming */
- void point_trim (GdkEvent *, framepos_t);
+ void point_trim (GdkEvent *, samplepos_t);
void trim_region_front();
void trim_region_back();
@@ -2047,19 +2047,19 @@ private:
void duplicate_range (bool with_dialog);
void duplicate_regions (float times);
- /** computes the timeline frame (sample) of an event whose coordinates
+ /** computes the timeline sample (sample) of an event whose coordinates
* are in canvas units (pixels, scroll offset included).
*/
- framepos_t canvas_event_sample (GdkEvent const *, double* px = 0, double* py = 0) const;
+ samplepos_t canvas_event_sample (GdkEvent const *, double* px = 0, double* py = 0) const;
- /** computes the timeline frame (sample) of an event whose coordinates
+ /** computes the timeline sample (sample) of an event whose coordinates
* are in window units (pixels, no scroll offset).
*/
- framepos_t window_event_sample (GdkEvent const *, double* px = 0, double* py = 0) const;
+ samplepos_t window_event_sample (GdkEvent const *, double* px = 0, double* py = 0) const;
/* returns false if mouse pointer is not in track or marker canvas
*/
- bool mouse_frame (framepos_t&, bool& in_track_canvas) const;
+ bool mouse_sample (samplepos_t&, bool& in_track_canvas) const;
TimeFXDialog* current_timefx;
static void* timefx_thread (void *arg);
@@ -2166,10 +2166,10 @@ private:
void selected_marker_moved (ARDOUR::Location*);
- bool get_edit_op_range (framepos_t& start, framepos_t& end) const;
+ bool get_edit_op_range (samplepos_t& start, samplepos_t& end) const;
- void get_regions_at (RegionSelection&, framepos_t where, const TrackViewList& ts) const;
- void get_regions_after (RegionSelection&, framepos_t where, const TrackViewList& ts) const;
+ void get_regions_at (RegionSelection&, samplepos_t where, const TrackViewList& ts) const;
+ void get_regions_after (RegionSelection&, samplepos_t where, const TrackViewList& ts) const;
RegionSelection get_regions_from_selection_and_edit_point (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE,
bool use_context_click = false,
@@ -2183,12 +2183,12 @@ private:
void select_next_stripable (bool routes_only = true);
void select_prev_stripable (bool routes_only = true);
- void snap_to_internal (ARDOUR::MusicFrame& first,
+ void snap_to_internal (ARDOUR::MusicSample& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false,
bool ensure_snap = false);
- void timecode_snap_to_internal (ARDOUR::MusicFrame& first,
+ void timecode_snap_to_internal (ARDOUR::MusicSample& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false);
diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc
index 8a447beecf..33fd27f323 100644
--- a/gtk2_ardour/editor_actions.cc
+++ b/gtk2_ardour/editor_actions.cc
@@ -613,7 +613,7 @@ Editor::register_actions ()
xjadeo_ontop_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-ontop"), _("Always on Top"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 1)));
xjadeo_timecode_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-timecode"), _("Timecode"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 2)));
- xjadeo_frame_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-frame"), _("Frame number"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 3)));
+ xjadeo_sample_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-frame"), _("Frame number"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 3)));
xjadeo_osdbg_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-osdbg"), _("Timecode Background"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 4)));
xjadeo_fullscreen_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-fullscreen"), _("Fullscreen"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 5)));
xjadeo_letterbox_action = Glib::RefPtr<ToggleAction>::cast_static (myactions.register_toggle_action (editor_actions, X_("toggle-vmon-letterbox"), _("Letterbox"), sigc::bind (sigc::mem_fun (*this, &Editor::set_xjadeo_viewoption), (int) 6)));
@@ -654,8 +654,8 @@ Editor::register_actions ()
xjadeo_ontop_action->set_sensitive (false);
xjadeo_timecode_action->set_active (false);
xjadeo_timecode_action->set_sensitive (false);
- xjadeo_frame_action->set_active (false);
- xjadeo_frame_action->set_sensitive (false);
+ xjadeo_sample_action->set_active (false);
+ xjadeo_sample_action->set_sensitive (false);
xjadeo_osdbg_action->set_active (false);
xjadeo_osdbg_action->set_sensitive (false);
xjadeo_fullscreen_action->set_active (false);
@@ -873,7 +873,7 @@ Editor::toggle_xjadeo_proc (int state)
bool onoff = xjadeo_proc_action->get_active();
xjadeo_ontop_action->set_sensitive(onoff);
xjadeo_timecode_action->set_sensitive(onoff);
- xjadeo_frame_action->set_sensitive(onoff);
+ xjadeo_sample_action->set_sensitive(onoff);
xjadeo_osdbg_action->set_sensitive(onoff);
xjadeo_fullscreen_action->set_sensitive(onoff);
xjadeo_letterbox_action->set_sensitive(onoff);
@@ -902,7 +902,7 @@ Editor::toggle_xjadeo_viewoption (int what, int state)
action = xjadeo_timecode_action;
break;
case 3:
- action = xjadeo_frame_action;
+ action = xjadeo_sample_action;
break;
case 4:
action = xjadeo_osdbg_action;
@@ -944,7 +944,7 @@ Editor::set_xjadeo_viewoption (int what)
action = xjadeo_timecode_action;
break;
case 3:
- action = xjadeo_frame_action;
+ action = xjadeo_sample_action;
break;
case 4:
action = xjadeo_osdbg_action;
@@ -981,14 +981,14 @@ Editor::toggle_measure_visibility ()
void
Editor::edit_current_meter ()
{
- ARDOUR::MeterSection* ms = const_cast<ARDOUR::MeterSection*>(&_session->tempo_map().meter_section_at_frame (ARDOUR_UI::instance()->primary_clock->absolute_time()));
+ ARDOUR::MeterSection* ms = const_cast<ARDOUR::MeterSection*>(&_session->tempo_map().meter_section_at_sample (ARDOUR_UI::instance()->primary_clock->absolute_time()));
edit_meter_section (ms);
}
void
Editor::edit_current_tempo ()
{
- ARDOUR::TempoSection* ts = const_cast<ARDOUR::TempoSection*>(&_session->tempo_map().tempo_section_at_frame (ARDOUR_UI::instance()->primary_clock->absolute_time()));
+ ARDOUR::TempoSection* ts = const_cast<ARDOUR::TempoSection*>(&_session->tempo_map().tempo_section_at_sample (ARDOUR_UI::instance()->primary_clock->absolute_time()));
edit_tempo_section (ts);
}
diff --git a/gtk2_ardour/editor_audio_import.cc b/gtk2_ardour/editor_audio_import.cc
index 0ee0810ff2..2d668d214c 100644
--- a/gtk2_ardour/editor_audio_import.cc
+++ b/gtk2_ardour/editor_audio_import.cc
@@ -263,7 +263,7 @@ Editor::get_nth_selected_midi_track (int nth) const
}
void
-Editor::import_smf_tempo_map (Evoral::SMF const & smf, framepos_t pos)
+Editor::import_smf_tempo_map (Evoral::SMF const & smf, samplepos_t pos)
{
if (!_session) {
return;
@@ -275,7 +275,7 @@ Editor::import_smf_tempo_map (Evoral::SMF const & smf, framepos_t pos)
return;
}
- const framecnt_t sample_rate = _session->frame_rate ();
+ const samplecnt_t sample_rate = _session->sample_rate ();
TempoMap new_map (sample_rate);
Meter last_meter (4.0, 4.0);
bool have_initial_meter = false;
@@ -297,8 +297,8 @@ Editor::import_smf_tempo_map (Evoral::SMF const & smf, framepos_t pos)
}
} else {
- new_map.replace_meter (new_map.meter_section_at_frame (0), meter, bbt, pos, AudioTime);
- new_map.replace_tempo (new_map.tempo_section_at_frame (0), tempo, 0.0, pos, AudioTime);
+ new_map.replace_meter (new_map.meter_section_at_sample (0), meter, bbt, pos, AudioTime);
+ new_map.replace_tempo (new_map.tempo_section_at_sample (0), tempo, 0.0, pos, AudioTime);
have_initial_meter = true;
}
@@ -322,7 +322,7 @@ Editor::do_import (vector<string> paths,
SrcQuality quality,
MidiTrackNameSource midi_track_name_source,
MidiTempoMapDisposition smf_tempo_disposition,
- framepos_t& pos,
+ samplepos_t& pos,
ARDOUR::PluginInfoPtr instrument)
{
boost::shared_ptr<Track> track;
@@ -461,7 +461,7 @@ Editor::do_import (vector<string> paths,
}
void
-Editor::do_embed (vector<string> paths, ImportDisposition import_as, ImportMode mode, framepos_t& pos, ARDOUR::PluginInfoPtr instrument)
+Editor::do_embed (vector<string> paths, ImportDisposition import_as, ImportMode mode, samplepos_t& pos, ARDOUR::PluginInfoPtr instrument)
{
boost::shared_ptr<Track> track;
bool check_sample_rate = true;
@@ -547,7 +547,7 @@ Editor::import_sndfiles (vector<string> paths,
ImportDisposition disposition,
ImportMode mode,
SrcQuality quality,
- framepos_t& pos,
+ samplepos_t& pos,
int target_regions,
int target_tracks,
boost::shared_ptr<Track>& track,
@@ -617,7 +617,7 @@ Editor::embed_sndfiles (vector<string> paths,
bool& check_sample_rate,
ImportDisposition disposition,
ImportMode mode,
- framepos_t& pos,
+ samplepos_t& pos,
int target_regions,
int target_tracks,
boost::shared_ptr<Track>& track,
@@ -643,7 +643,7 @@ Editor::embed_sndfiles (vector<string> paths,
return -3;
}
- if (check_sample_rate && (finfo.samplerate != (int) _session->frame_rate())) {
+ if (check_sample_rate && (finfo.samplerate != (int) _session->sample_rate())) {
vector<string> choices;
if (multifile) {
@@ -739,7 +739,7 @@ Editor::embed_sndfiles (vector<string> paths,
int
Editor::add_sources (vector<string> paths,
SourceList& sources,
- framepos_t& pos,
+ samplepos_t& pos,
ImportDisposition disposition,
ImportMode mode,
int target_regions,
@@ -857,12 +857,12 @@ Editor::add_sources (vector<string> paths,
/* Fudge region length to ensure it is non-zero; make it 1 beat at 120bpm
for want of a better idea. It can't be too small, otherwise if this
- is a MIDI region the conversion from frames -> beats -> frames will
+ is a MIDI region the conversion from samples -> beats -> samples will
round it back down to 0 again.
*/
- framecnt_t len = (*x)->length (pos);
+ samplecnt_t len = (*x)->length (pos);
if (len == 0) {
- len = (60.0 / 120.0) * _session->frame_rate ();
+ len = (60.0 / 120.0) * _session->sample_rate ();
}
plist.add (ARDOUR::Properties::start, 0);
@@ -899,7 +899,7 @@ Editor::add_sources (vector<string> paths,
}
int n = 0;
- framepos_t rlen = 0;
+ samplepos_t rlen = 0;
begin_reversible_command (Operations::insert_file);
@@ -970,7 +970,7 @@ int
Editor::finish_bringing_in_material (boost::shared_ptr<Region> region,
uint32_t in_chans,
uint32_t out_chans,
- framepos_t& pos,
+ samplepos_t& pos,
ImportMode mode,
boost::shared_ptr<Track>& existing_track,
const string& new_track_name,
diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc
index 56571c3de8..5aeed49f43 100644
--- a/gtk2_ardour/editor_canvas.cc
+++ b/gtk2_ardour/editor_canvas.cc
@@ -379,14 +379,14 @@ Editor::track_canvas_drag_data_received (const RefPtr<Gdk::DragContext>& context
}
bool
-Editor::idle_drop_paths (vector<string> paths, framepos_t frame, double ypos, bool copy)
+Editor::idle_drop_paths (vector<string> paths, samplepos_t sample, double ypos, bool copy)
{
- drop_paths_part_two (paths, frame, ypos, copy);
+ drop_paths_part_two (paths, sample, ypos, copy);
return false;
}
void
-Editor::drop_paths_part_two (const vector<string>& paths, framepos_t frame, double ypos, bool copy)
+Editor::drop_paths_part_two (const vector<string>& paths, samplepos_t sample, double ypos, bool copy)
{
RouteTimeAxisView* tv;
@@ -412,15 +412,15 @@ Editor::drop_paths_part_two (const vector<string>& paths, framepos_t frame, doub
/* drop onto canvas background: create new tracks */
- frame = 0;
+ sample = 0;
InstrumentSelector is; // instantiation builds instrument-list and sets default.
- do_import (midi_paths, Editing::ImportDistinctFiles, ImportAsTrack, SrcBest, SMFTrackName, SMFTempoIgnore, frame, is.selected_instrument());
+ do_import (midi_paths, Editing::ImportDistinctFiles, ImportAsTrack, SrcBest, SMFTrackName, SMFTempoIgnore, sample, is.selected_instrument());
if (UIConfiguration::instance().get_only_copy_imported_files() || copy) {
do_import (audio_paths, Editing::ImportDistinctFiles, Editing::ImportAsTrack,
- SrcBest, SMFTrackName, SMFTempoIgnore, frame);
+ SrcBest, SMFTrackName, SMFTempoIgnore, sample);
} else {
- do_embed (audio_paths, Editing::ImportDistinctFiles, ImportAsTrack, frame);
+ do_embed (audio_paths, Editing::ImportDistinctFiles, ImportAsTrack, sample);
}
} else if ((tv = dynamic_cast<RouteTimeAxisView*> (tvp.first)) != 0) {
@@ -432,13 +432,13 @@ Editor::drop_paths_part_two (const vector<string>& paths, framepos_t frame, doub
selection->set (tv);
do_import (midi_paths, Editing::ImportSerializeFiles, ImportToTrack,
- SrcBest, SMFTrackName, SMFTempoIgnore, frame);
+ SrcBest, SMFTrackName, SMFTempoIgnore, sample);
if (UIConfiguration::instance().get_only_copy_imported_files() || copy) {
do_import (audio_paths, Editing::ImportSerializeFiles, Editing::ImportToTrack,
- SrcBest, SMFTrackName, SMFTempoIgnore, frame);
+ SrcBest, SMFTrackName, SMFTempoIgnore, sample);
} else {
- do_embed (audio_paths, Editing::ImportSerializeFiles, ImportToTrack, frame);
+ do_embed (audio_paths, Editing::ImportSerializeFiles, ImportToTrack, sample);
}
}
}
@@ -463,7 +463,7 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context,
ev.button.x = x;
ev.button.y = y;
- MusicFrame when (window_event_sample (&ev, 0, &cy), 0);
+ MusicSample when (window_event_sample (&ev, 0, &cy), 0);
snap_to (when);
bool copy = ((context->get_actions() & (Gdk::ACTION_COPY | Gdk::ACTION_LINK | Gdk::ACTION_MOVE)) == Gdk::ACTION_COPY);
@@ -472,9 +472,9 @@ Editor::drop_paths (const RefPtr<Gdk::DragContext>& context,
the main event loop with GTK/Quartz. Since import/embed wants
to push up a progress dialog, defer all this till we go idle.
*/
- Glib::signal_idle().connect (sigc::bind (sigc::mem_fun (*this, &Editor::idle_drop_paths), paths, when.frame, cy, copy));
+ Glib::signal_idle().connect (sigc::bind (sigc::mem_fun (*this, &Editor::idle_drop_paths), paths, when.sample, cy, copy));
#else
- drop_paths_part_two (paths, when.frame, cy, copy);
+ drop_paths_part_two (paths, when.sample, cy, copy);
#endif
}
@@ -569,7 +569,7 @@ Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert, bool from_headers)
toplevel->get_window()->get_pointer (x, y, mask);
- if ((allow_horiz && ((x < scrolling_boundary.x0 && leftmost_frame > 0) || x >= scrolling_boundary.x1)) ||
+ if ((allow_horiz && ((x < scrolling_boundary.x0 && _leftmost_sample > 0) || x >= scrolling_boundary.x1)) ||
(allow_vert && ((y < scrolling_boundary.y0 && vertical_adjustment.get_value() > 0)|| y >= scrolling_boundary.y1))) {
start_canvas_autoscroll (allow_horiz, allow_vert, scrolling_boundary);
}
@@ -581,15 +581,15 @@ Editor::autoscroll_active () const
return autoscroll_connection.connected ();
}
-std::pair <framepos_t,framepos_t>
+std::pair <samplepos_t,samplepos_t>
Editor::session_gui_extents ( bool use_extra ) const
{
if (!_session) {
- return std::pair <framepos_t,framepos_t>(max_framepos,0);
+ return std::pair <samplepos_t,samplepos_t>(max_samplepos,0);
}
- framecnt_t session_extent_start = _session->current_start_frame();
- framecnt_t session_extent_end = _session->current_end_frame();
+ samplecnt_t session_extent_start = _session->current_start_sample();
+ samplecnt_t session_extent_end = _session->current_end_sample();
//calculate the extents of all regions in every playlist
//NOTE: we should listen to playlists, and cache these values so we don't calculate them every time.
@@ -600,7 +600,7 @@ Editor::session_gui_extents ( bool use_extra ) const
if (tr) {
boost::shared_ptr<Playlist> pl = tr->playlist();
if ( pl && !pl->all_regions_empty() ) {
- pair<framepos_t, framepos_t> e;
+ pair<samplepos_t, samplepos_t> e;
e = pl->get_extent();
if (e.first < session_extent_start) {
session_extent_start = e.first;
@@ -617,20 +617,20 @@ Editor::session_gui_extents ( bool use_extra ) const
//add additional time to the ui extents ( user-defined in config )
if (use_extra) {
- framecnt_t const extra = UIConfiguration::instance().get_extra_ui_extents_time() * 60 * _session->nominal_frame_rate();
+ samplecnt_t const extra = UIConfiguration::instance().get_extra_ui_extents_time() * 60 * _session->nominal_sample_rate();
session_extent_end += extra;
session_extent_start -= extra;
}
//range-check
- if (session_extent_end > max_framepos) {
- session_extent_end = max_framepos;
+ if (session_extent_end > max_samplepos) {
+ session_extent_end = max_samplepos;
}
if (session_extent_start < 0) {
session_extent_start = 0;
}
- std::pair <framepos_t,framepos_t> ret (session_extent_start, session_extent_end);
+ std::pair <samplepos_t,samplepos_t> ret (session_extent_start, session_extent_end);
return ret;
}
@@ -639,7 +639,7 @@ Editor::autoscroll_canvas ()
{
int x, y;
Gdk::ModifierType mask;
- frameoffset_t dx = 0;
+ sampleoffset_t dx = 0;
bool no_stop = false;
Gtk::Window* toplevel = dynamic_cast<Gtk::Window*>(contents().get_toplevel());
@@ -654,7 +654,7 @@ Editor::autoscroll_canvas ()
if (autoscroll_horizontal_allowed) {
- framepos_t new_frame = leftmost_frame;
+ samplepos_t new_sample = _leftmost_sample;
/* horizontal */
@@ -668,10 +668,10 @@ Editor::autoscroll_canvas ()
dx *= UIConfiguration::instance().get_draggable_playhead_speed();
- if (leftmost_frame < max_framepos - dx) {
- new_frame = leftmost_frame + dx;
+ if (_leftmost_sample < max_samplepos - dx) {
+ new_sample = _leftmost_sample + dx;
} else {
- new_frame = max_framepos;
+ new_sample = max_samplepos;
}
no_stop = true;
@@ -685,17 +685,17 @@ Editor::autoscroll_canvas ()
dx *= UIConfiguration::instance().get_draggable_playhead_speed();
- if (leftmost_frame >= dx) {
- new_frame = leftmost_frame - dx;
+ if (_leftmost_sample >= dx) {
+ new_sample = _leftmost_sample - dx;
} else {
- new_frame = 0;
+ new_sample = 0;
}
no_stop = true;
}
- if (new_frame != leftmost_frame) {
- vc.time_origin = new_frame;
+ if (new_sample != _leftmost_sample) {
+ vc.time_origin = new_sample;
vc.add (VisualChange::TimeOrigin);
}
}
@@ -969,7 +969,7 @@ Editor::set_horizontal_position (double p)
{
horizontal_adjustment.set_value (p);
- leftmost_frame = (framepos_t) floor (p * samples_per_pixel);
+ _leftmost_sample = (samplepos_t) floor (p * samples_per_pixel);
}
void
@@ -1052,7 +1052,7 @@ Editor::color_handler()
double
Editor::horizontal_position () const
{
- return sample_to_pixel (leftmost_frame);
+ return sample_to_pixel (_leftmost_sample);
}
bool
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 2848649a5e..fbdb730b4a 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -797,11 +797,11 @@ Editor::canvas_selection_end_trim_event (GdkEvent *event, ArdourCanvas::Item* it
}
bool
-Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, RegionView* rv)
+Editor::canvas_sample_handle_event (GdkEvent* event, ArdourCanvas::Item* item, RegionView* rv)
{
bool ret = false;
- /* frame handles are not active when in internal edit mode, because actual notes
+ /* sample handles are not active when in internal edit mode, because actual notes
might be in the area occupied by the handle - we want them to be editable as normal.
*/
@@ -809,7 +809,7 @@ Editor::canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item* item, Re
return false;
}
- /* NOTE: frame handles pretend to be the colored trim bar from an event handling
+ /* NOTE: sample handles pretend to be the colored trim bar from an event handling
perspective. XXX change this ??
*/
@@ -1264,7 +1264,7 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
event.button.y = y;
/* assume we're dragging with button 1 */
event.motion.state = Gdk::BUTTON1_MASK;
- framepos_t const pos = window_event_sample (&event, &px, &py);
+ samplepos_t const pos = window_event_sample (&event, &px, &py);
boost::shared_ptr<Region> region = _regions->get_dragged_region ();
if (!region) { return; }
diff --git a/gtk2_ardour/editor_cursors.cc b/gtk2_ardour/editor_cursors.cc
index de89274fcc..7f39cbe175 100644
--- a/gtk2_ardour/editor_cursors.cc
+++ b/gtk2_ardour/editor_cursors.cc
@@ -50,7 +50,7 @@ EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,Ardour
_track_canvas_item->set_x (0);
- _current_frame = 1; /* force redraw at 0 */
+ _current_sample = 1; /* force redraw at 0 */
}
EditorCursor::EditorCursor (Editor& ed)
@@ -66,7 +66,7 @@ EditorCursor::EditorCursor (Editor& ed)
_track_canvas_item->set_x (0);
- _current_frame = 1; /* force redraw at 0 */
+ _current_sample = 1; /* force redraw at 0 */
}
EditorCursor::~EditorCursor ()
@@ -75,17 +75,17 @@ EditorCursor::~EditorCursor ()
}
void
-EditorCursor::set_position (framepos_t frame)
+EditorCursor::set_position (samplepos_t sample)
{
- if (_current_frame != frame) { PositionChanged (frame); }
+ if (_current_sample != sample) { PositionChanged (sample); }
- double const new_pos = _editor.sample_to_pixel_unrounded (frame);
+ double const new_pos = _editor.sample_to_pixel_unrounded (sample);
if (rint(new_pos) != rint(_track_canvas_item->x ())) {
_track_canvas_item->set_x (new_pos);
}
- _current_frame = frame;
+ _current_sample = sample;
}
void
diff --git a/gtk2_ardour/editor_cursors.h b/gtk2_ardour/editor_cursors.h
index f6d4997690..4b8b4b67da 100644
--- a/gtk2_ardour/editor_cursors.h
+++ b/gtk2_ardour/editor_cursors.h
@@ -36,7 +36,7 @@ public:
EditorCursor (Editor&);
~EditorCursor ();
- void set_position (framepos_t);
+ void set_position (samplepos_t);
void show ();
@@ -44,20 +44,20 @@ public:
void set_color (Gtkmm2ext::Color);
void set_sensitive (bool);
- framepos_t current_frame () const {
- return _current_frame;
+ samplepos_t current_sample () const {
+ return _current_sample;
}
ArdourCanvas::Arrow& track_canvas_item () {
return *_track_canvas_item;
}
- PBD::Signal1<void, framepos_t> PositionChanged;
+ PBD::Signal1<void, samplepos_t> PositionChanged;
private:
Editor& _editor;
ArdourCanvas::Arrow* _track_canvas_item;
- framepos_t _current_frame;
+ samplepos_t _current_sample;
};
#endif // __gtk_ardour_editor_cursors_h__
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index 9b5838aaad..aad1778972 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -86,7 +86,7 @@ DragManager::DragManager (Editor* e)
, _ending (false)
, _current_pointer_x (0.0)
, _current_pointer_y (0.0)
- , _current_pointer_frame (0)
+ , _current_pointer_sample (0)
, _old_follow_playhead (false)
{
}
@@ -139,7 +139,7 @@ DragManager::start_grab (GdkEvent* e, Gdk::Cursor* c)
_old_follow_playhead = _editor->follow_playhead ();
_editor->set_follow_playhead (false);
- _current_pointer_frame = _editor->canvas_event_sample (e, &_current_pointer_x, &_current_pointer_y);
+ _current_pointer_sample = _editor->canvas_event_sample (e, &_current_pointer_x, &_current_pointer_y);
for (list<Drag*>::const_iterator i = _drags.begin(); i != _drags.end(); ++i) {
(*i)->start_grab (e, c);
@@ -191,7 +191,7 @@ DragManager::motion_handler (GdkEvent* e, bool from_autoscroll)
* Can we guarantee that this is true?
*/
- _current_pointer_frame = _editor->canvas_event_sample (e, &_current_pointer_x, &_current_pointer_y);
+ _current_pointer_sample = _editor->canvas_event_sample (e, &_current_pointer_x, &_current_pointer_y);
for (list<Drag*>::iterator i = _drags.begin(); i != _drags.end(); ++i) {
bool const t = (*i)->motion_handler (e, from_autoscroll);
@@ -222,7 +222,7 @@ Drag::Drag (Editor* e, ArdourCanvas::Item* i, bool trackview_only)
: _editor (e)
, _drags (0)
, _item (i)
- , _pointer_frame_offset (0)
+ , _pointer_sample_offset (0)
, _x_constrained (false)
, _y_constrained (false)
, _was_rolling (false)
@@ -235,9 +235,9 @@ Drag::Drag (Editor* e, ArdourCanvas::Item* i, bool trackview_only)
, _grab_y (0.0)
, _last_pointer_x (0.0)
, _last_pointer_y (0.0)
- , _raw_grab_frame (0)
- , _grab_frame (0)
- , _last_pointer_frame (0)
+ , _raw_grab_sample (0)
+ , _grab_sample (0)
+ , _last_pointer_sample (0)
, _snap_delta (0)
, _snap_delta_music (0.0)
, _constraint_pressed (false)
@@ -267,11 +267,11 @@ Drag::start_grab (GdkEvent* event, Gdk::Cursor *cursor)
/* we set up x/y dragging constraints on first move */
_constraint_pressed = ArdourKeyboard::indicates_constraint (event->button.state);
- _raw_grab_frame = _editor->canvas_event_sample (event, &_grab_x, &_grab_y);
+ _raw_grab_sample = _editor->canvas_event_sample (event, &_grab_x, &_grab_y);
- setup_pointer_frame_offset ();
- _grab_frame = adjusted_frame (_raw_grab_frame, event).frame;
- _last_pointer_frame = _grab_frame;
+ setup_pointer_sample_offset ();
+ _grab_sample = adjusted_sample (_raw_grab_sample, event).sample;
+ _last_pointer_sample = _grab_sample;
_last_pointer_x = _grab_x;
if (_trackview_only) {
@@ -326,13 +326,13 @@ Drag::end_grab (GdkEvent* event)
return _move_threshold_passed;
}
-MusicFrame
-Drag::adjusted_frame (framepos_t f, GdkEvent const * event, bool snap) const
+MusicSample
+Drag::adjusted_sample (samplepos_t f, GdkEvent const * event, bool snap) const
{
- MusicFrame pos (0, 0);
+ MusicSample pos (0, 0);
- if (f > _pointer_frame_offset) {
- pos.frame = f - _pointer_frame_offset;
+ if (f > _pointer_sample_offset) {
+ pos.sample = f - _pointer_sample_offset;
}
if (snap) {
@@ -342,13 +342,13 @@ Drag::adjusted_frame (framepos_t f, GdkEvent const * event, bool snap) const
return pos;
}
-framepos_t
-Drag::adjusted_current_frame (GdkEvent const * event, bool snap) const
+samplepos_t
+Drag::adjusted_current_sample (GdkEvent const * event, bool snap) const
{
- return adjusted_frame (_drags->current_pointer_frame (), event, snap).frame;
+ return adjusted_sample (_drags->current_pointer_sample (), event, snap).sample;
}
-frameoffset_t
+sampleoffset_t
Drag::snap_delta (guint state) const
{
if (ArdourKeyboard::indicates_snap_delta (state)) {
@@ -384,17 +384,17 @@ Drag::current_pointer_y () const
}
void
-Drag::setup_snap_delta (MusicFrame pos)
+Drag::setup_snap_delta (MusicSample pos)
{
TempoMap& map (_editor->session()->tempo_map());
- MusicFrame snap (pos);
+ MusicSample snap (pos);
_editor->snap_to (snap, ARDOUR::RoundNearest, false, true);
- _snap_delta = snap.frame - pos.frame;
+ _snap_delta = snap.sample - pos.sample;
_snap_delta_music = 0.0;
if (_snap_delta != 0) {
- _snap_delta_music = map.exact_qn_at_frame (snap.frame, snap.division) - map.exact_qn_at_frame (pos.frame, pos.division);
+ _snap_delta_music = map.exact_qn_at_sample (snap.sample, snap.division) - map.exact_qn_at_sample (pos.sample, pos.division);
}
}
@@ -408,13 +408,13 @@ Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
return false;
}
- pair<framecnt_t, int> const threshold = move_threshold ();
+ pair<samplecnt_t, int> const threshold = move_threshold ();
bool const old_move_threshold_passed = _move_threshold_passed;
if (!_move_threshold_passed) {
- bool const xp = (::llabs (_drags->current_pointer_frame () - _raw_grab_frame) >= threshold.first);
+ bool const xp = (::llabs (_drags->current_pointer_sample () - _raw_grab_sample) >= threshold.first);
bool const yp = (::fabs ((current_pointer_y () - _grab_y)) >= threshold.second);
_move_threshold_passed = ((xp && x_movement_matters()) || (yp && y_movement_matters()));
@@ -485,7 +485,7 @@ Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
_last_pointer_x = _drags->current_pointer_x ();
_last_pointer_y = current_pointer_y ();
- _last_pointer_frame = adjusted_current_frame (event, false);
+ _last_pointer_sample = adjusted_current_sample (event, false);
}
return true;
@@ -510,14 +510,14 @@ Drag::abort ()
}
void
-Drag::show_verbose_cursor_time (framepos_t frame)
+Drag::show_verbose_cursor_time (samplepos_t sample)
{
- _editor->verbose_cursor()->set_time (frame);
+ _editor->verbose_cursor()->set_time (sample);
_editor->verbose_cursor()->show ();
}
void
-Drag::show_verbose_cursor_duration (framepos_t start, framepos_t end, double /*xoffset*/)
+Drag::show_verbose_cursor_duration (samplepos_t start, samplepos_t end, double /*xoffset*/)
{
_editor->verbose_cursor()->set_duration (start, end);
_editor->verbose_cursor()->show ();
@@ -535,12 +535,12 @@ Drag::add_midi_region (MidiTimeAxisView* view, bool commit)
{
if (_editor->session()) {
const TempoMap& map (_editor->session()->tempo_map());
- framecnt_t pos = grab_frame();
+ samplecnt_t pos = grab_sample();
/* not that the frame rate used here can be affected by pull up/down which
might be wrong.
*/
- framecnt_t len = map.frame_at_beat (max (0.0, map.beat_at_frame (pos)) + 1.0) - pos;
- return view->add_region (grab_frame(), len, commit);
+ samplecnt_t len = map.sample_at_beat (max (0.0, map.beat_at_sample (pos)) + 1.0) - pos;
+ return view->add_region (grab_sample(), len, commit);
}
return boost::shared_ptr<Region>();
@@ -640,7 +640,7 @@ RegionMotionDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
Drag::start_grab (event, cursor);
setup_snap_delta (_last_position);
- show_verbose_cursor_time (_last_position.frame);
+ show_verbose_cursor_time (_last_position.sample);
pair<TimeAxisView*, double> const tv = _editor->trackview_by_y_position (current_pointer_y ());
if (tv.first) {
@@ -660,9 +660,9 @@ RegionMotionDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
double
-RegionMotionDrag::compute_x_delta (GdkEvent const * event, MusicFrame* pending_region_position)
+RegionMotionDrag::compute_x_delta (GdkEvent const * event, MusicSample* pending_region_position)
{
- /* compute the amount of pointer motion in frames, and where
+ /* compute the amount of pointer motion in samples, and where
the region would be if we moved it by that much.
*/
if (_x_constrained) {
@@ -670,30 +670,30 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, MusicFrame* pending_r
return 0.0;
}
- *pending_region_position = adjusted_frame (_drags->current_pointer_frame (), event, false);
+ *pending_region_position = adjusted_sample (_drags->current_pointer_sample (), event, false);
- framecnt_t sync_offset;
+ samplecnt_t sync_offset;
int32_t sync_dir;
sync_offset = _primary->region()->sync_offset (sync_dir);
/* we don't handle a sync point that lies before zero.
*/
- if (sync_dir >= 0 || (sync_dir < 0 && pending_region_position->frame >= sync_offset)) {
+ if (sync_dir >= 0 || (sync_dir < 0 && pending_region_position->sample >= sync_offset)) {
- framecnt_t const sd = snap_delta (event->button.state);
- MusicFrame sync_snap (pending_region_position->frame + (sync_dir * sync_offset) + sd, 0);
+ samplecnt_t const sd = snap_delta (event->button.state);
+ MusicSample sync_snap (pending_region_position->sample + (sync_dir * sync_offset) + sd, 0);
_editor->snap_to_with_modifier (sync_snap, event);
if (sync_offset == 0 && sd == 0) {
*pending_region_position = sync_snap;
} else {
- pending_region_position->set (_primary->region()->adjust_to_sync (sync_snap.frame) - sd, 0);
+ pending_region_position->set (_primary->region()->adjust_to_sync (sync_snap.sample) - sd, 0);
}
} else {
*pending_region_position = _last_position;
}
- if (pending_region_position->frame > max_framepos - _primary->region()->length()) {
+ if (pending_region_position->sample > max_samplepos - _primary->region()->length()) {
*pending_region_position = _last_position;
}
@@ -701,19 +701,19 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, MusicFrame* pending_r
bool const x_move_allowed = !_x_constrained;
- if ((pending_region_position->frame != _last_position.frame) && x_move_allowed) {
+ if ((pending_region_position->sample != _last_position.sample) && x_move_allowed) {
/* x movement since last time (in pixels) */
- dx = _editor->sample_to_pixel_unrounded (pending_region_position->frame - _last_position.frame);
+ dx = _editor->sample_to_pixel_unrounded (pending_region_position->sample - _last_position.sample);
/* total x movement */
- framecnt_t total_dx = _editor->pixel_to_sample (_total_x_delta + dx);
+ samplecnt_t total_dx = _editor->pixel_to_sample (_total_x_delta + dx);
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
- frameoffset_t const off = i->view->region()->position() + total_dx;
+ sampleoffset_t const off = i->view->region()->position() + total_dx;
if (off < 0) {
dx = dx - _editor->sample_to_pixel_unrounded (off);
- *pending_region_position = MusicFrame (pending_region_position->frame - off, 0);
+ *pending_region_position = MusicSample (pending_region_position->sample - off, 0);
break;
}
}
@@ -954,11 +954,11 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
/* Work out the change in x */
TempoMap& tmap = _editor->session()->tempo_map();
- MusicFrame pending_region_position (0, 0);
+ MusicSample pending_region_position (0, 0);
double const x_delta = compute_x_delta (event, &pending_region_position);
- double const last_pos_qn = tmap.exact_qn_at_frame (_last_position.frame, _last_position.division);
- double const qn_delta = tmap.exact_qn_at_frame (pending_region_position.frame, pending_region_position.division) - last_pos_qn;
+ double const last_pos_qn = tmap.exact_qn_at_sample (_last_position.sample, _last_position.division);
+ double const qn_delta = tmap.exact_qn_at_sample (pending_region_position.sample, pending_region_position.division) - last_pos_qn;
_last_position = pending_region_position;
@@ -1163,7 +1163,7 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
i->layer += this_delta_layer;
if (_brushing) {
- _editor->mouse_brush_insert_region (rv, pending_region_position.frame);
+ _editor->mouse_brush_insert_region (rv, pending_region_position.sample);
} else {
Duple track_origin;
@@ -1204,8 +1204,8 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
/* Now move the region view */
if (rv->region()->position_lock_style() == MusicTime) {
- double const last_qn = tmap.quarter_note_at_frame (rv->get_position());
- framepos_t const x_pos_music = tmap.frame_at_quarter_note (last_qn + qn_delta);
+ double const last_qn = tmap.quarter_note_at_sample (rv->get_position());
+ samplepos_t const x_pos_music = tmap.sample_at_quarter_note (last_qn + qn_delta);
rv->set_position (x_pos_music, 0);
rv->move (0, y_delta);
@@ -1218,7 +1218,7 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
_total_x_delta += x_delta;
if (x_delta != 0 && !_brushing) {
- show_verbose_cursor_time (_last_position.frame);
+ show_verbose_cursor_time (_last_position.sample);
}
/* keep track of pointer movement */
@@ -1406,7 +1406,7 @@ RegionMoveDrag::finished (GdkEvent* ev, bool movement_occurred)
i->view->get_canvas_group()->show ();
}
- bool const changed_position = (_last_position.frame != _primary->region()->position());
+ bool const changed_position = (_last_position.sample != _primary->region()->position());
bool const changed_tracks = (_time_axis_views[_views.front().time_axis_view] != &_views.front().view->get_time_axis_view());
if (_copy) {
@@ -1468,15 +1468,15 @@ RegionMoveDrag::create_destination_time_axis (boost::shared_ptr<Region> region,
}
void
-RegionMoveDrag::finished_copy (bool const changed_position, bool const /*changed_tracks*/, MusicFrame last_position, int32_t const ev_state)
+RegionMoveDrag::finished_copy (bool const changed_position, bool const /*changed_tracks*/, MusicSample last_position, int32_t const ev_state)
{
RegionSelection new_views;
PlaylistSet modified_playlists;
RouteTimeAxisView* new_time_axis_view = 0;
- framecnt_t const drag_delta = _primary->region()->position() - _last_position.frame;
+ samplecnt_t const drag_delta = _primary->region()->position() - _last_position.sample;
TempoMap& tmap (_editor->session()->tempo_map());
- const double last_pos_qn = tmap.exact_qn_at_frame (last_position.frame, last_position.division);
+ const double last_pos_qn = tmap.exact_qn_at_sample (last_position.sample, last_position.division);
const double qn_delta = _primary->region()->quarter_note() - last_pos_qn;
if (_brushing) {
@@ -1502,7 +1502,7 @@ RegionMoveDrag::finished_copy (bool const changed_position, bool const /*changed
continue;
}
- MusicFrame where (0, 0);
+ MusicSample where (0, 0);
double quarter_note;
if (changed_position && !_x_constrained) {
@@ -1585,7 +1585,7 @@ void
RegionMoveDrag::finished_no_copy (
bool const changed_position,
bool const changed_tracks,
- MusicFrame last_position,
+ MusicSample last_position,
int32_t const ev_state
)
{
@@ -1594,13 +1594,13 @@ RegionMoveDrag::finished_no_copy (
PlaylistSet frozen_playlists;
set<RouteTimeAxisView*> views_to_update;
RouteTimeAxisView* new_time_axis_view = 0;
- framecnt_t const drag_delta = _primary->region()->position() - last_position.frame;
+ samplecnt_t const drag_delta = _primary->region()->position() - last_position.sample;
typedef map<boost::shared_ptr<Playlist>, RouteTimeAxisView*> PlaylistMapping;
PlaylistMapping playlist_mapping;
TempoMap& tmap (_editor->session()->tempo_map());
- const double last_pos_qn = tmap.exact_qn_at_frame (last_position.frame, last_position.division);
+ const double last_pos_qn = tmap.exact_qn_at_sample (last_position.sample, last_position.division);
const double qn_delta = _primary->region()->quarter_note() - last_pos_qn;
std::set<boost::shared_ptr<const Region> > uniq;
@@ -1651,7 +1651,7 @@ RegionMoveDrag::finished_no_copy (
views_to_update.insert (dest_rtv);
- MusicFrame where (0, 0);
+ MusicSample where (0, 0);
double quarter_note;
if (changed_position && !_x_constrained) {
@@ -1743,11 +1743,11 @@ RegionMoveDrag::finished_no_copy (
playlist->freeze ();
}
if (rv == _primary) {
- rv->region()->set_position (where.frame, last_position.division);
+ rv->region()->set_position (where.sample, last_position.division);
} else {
if (rv->region()->position_lock_style() == AudioTime) {
- /* move by frame offset */
- rv->region()->set_position (where.frame, 0);
+ /* move by sample offset */
+ rv->region()->set_position (where.sample, 0);
} else {
/* move by music offset */
rv->region()->set_position_music (rv->region()->quarter_note() - qn_delta);
@@ -1854,7 +1854,7 @@ RegionMoveDrag::insert_region_into_playlist (
boost::shared_ptr<Region> region,
RouteTimeAxisView* dest_rtv,
layer_t dest_layer,
- MusicFrame where,
+ MusicSample where,
double quarter_note,
PlaylistSet& modified_playlists,
bool for_music
@@ -1875,9 +1875,9 @@ RegionMoveDrag::insert_region_into_playlist (
dest_playlist->clear_changes ();
}
if (for_music) {
- dest_playlist->add_region (region, where.frame, 1.0, false, where.division, quarter_note, true);
+ dest_playlist->add_region (region, where.sample, 1.0, false, where.division, quarter_note, true);
} else {
- dest_playlist->add_region (region, where.frame, 1.0, false, where.division);
+ dest_playlist->add_region (region, where.sample, 1.0, false, where.division);
}
if (dest_rtv->view()->layer_display() == Stacked || dest_rtv->view()->layer_display() == Expanded) {
@@ -1967,16 +1967,16 @@ RegionMoveDrag::RegionMoveDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p,
{
DEBUG_TRACE (DEBUG::Drags, "New RegionMoveDrag\n");
- _last_position = MusicFrame (_primary->region()->position(), 0);
+ _last_position = MusicSample (_primary->region()->position(), 0);
}
void
-RegionMoveDrag::setup_pointer_frame_offset ()
+RegionMoveDrag::setup_pointer_sample_offset ()
{
- _pointer_frame_offset = raw_grab_frame() - _last_position.frame;
+ _pointer_sample_offset = raw_grab_sample() - _last_position.sample;
}
-RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, RouteTimeAxisView* v, framepos_t pos)
+RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, RouteTimeAxisView* v, samplepos_t pos)
: RegionMotionDrag (e, 0, 0, list<RegionView*> (), false)
{
DEBUG_TRACE (DEBUG::Drags, "New RegionInsertDrag\n");
@@ -1990,7 +1990,7 @@ RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr<Region> r, Rout
_primary->set_position (pos, 0);
_views.push_back (DraggingView (_primary, this, v));
- _last_position = MusicFrame (pos, 0);
+ _last_position = MusicSample (pos, 0);
_item = _primary->get_canvas_group ();
}
@@ -2012,11 +2012,11 @@ RegionInsertDrag::finished (GdkEvent * event, bool)
playlist->clear_changes ();
_editor->snap_to_with_modifier (_last_position, event);
- playlist->add_region (_primary->region (), _last_position.frame, 1.0, false, _last_position.division);
+ playlist->add_region (_primary->region (), _last_position.sample, 1.0, false, _last_position.division);
// Mixbus doesn't seem to ripple when inserting regions from the list: should we? yes, probably
if (Config->get_edit_mode() == Ripple) {
- playlist->ripple (_last_position.frame, _primary->region()->length(), _primary->region());
+ playlist->ripple (_last_position.sample, _primary->region()->length(), _primary->region());
}
_editor->session()->add_command (new StatefulDiffCommand (playlist));
@@ -2080,7 +2080,7 @@ RegionSpliceDrag::motion (GdkEvent* event, bool)
RegionSelection copy;
_editor->selection->regions.by_position(copy);
- framepos_t const pf = adjusted_current_frame (event);
+ samplepos_t const pf = adjusted_current_sample (event);
for (RegionSelection::iterator i = copy.begin(); i != copy.end(); ++i) {
@@ -2101,11 +2101,11 @@ RegionSpliceDrag::motion (GdkEvent* event, bool)
}
if (dir > 0) {
- if (pf < (*i)->region()->last_frame() + 1) {
+ if (pf < (*i)->region()->last_sample() + 1) {
continue;
}
} else {
- if (pf > (*i)->region()->first_frame()) {
+ if (pf > (*i)->region()->first_sample()) {
continue;
}
}
@@ -2132,10 +2132,10 @@ RegionSpliceDrag::aborted (bool)
*/
void
-RegionRippleDrag::add_all_after_to_views(TimeAxisView *tav, framepos_t where, const RegionSelection &exclude, bool drag_in_progress)
+RegionRippleDrag::add_all_after_to_views(TimeAxisView *tav, samplepos_t where, const RegionSelection &exclude, bool drag_in_progress)
{
- boost::shared_ptr<RegionList> rl = tav->playlist()->regions_with_start_within (Evoral::Range<framepos_t>(where, max_framepos));
+ boost::shared_ptr<RegionList> rl = tav->playlist()->regions_with_start_within (Evoral::Range<samplepos_t>(where, max_samplepos));
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(tav);
RegionSelection to_ripple;
@@ -2172,7 +2172,7 @@ RegionRippleDrag::add_all_after_to_views(TimeAxisView *tav, framepos_t where, co
}
void
-RegionRippleDrag::remove_unselected_from_views(framecnt_t amount, bool move_regions)
+RegionRippleDrag::remove_unselected_from_views(samplecnt_t amount, bool move_regions)
{
for (std::list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ) {
@@ -2227,7 +2227,7 @@ RegionRippleDrag::RegionRippleDrag (Editor* e, ArdourCanvas::Item* i, RegionView
DEBUG_TRACE (DEBUG::Drags, "New RegionRippleDrag\n");
// compute length of selection
RegionSelection selected_regions = _editor->selection->regions;
- selection_length = selected_regions.end_frame() - selected_regions.start();
+ selection_length = selected_regions.end_sample() - selected_regions.start();
// we'll only allow dragging to another track in ripple mode if all the regions
// being dragged start off on the same track
@@ -2291,17 +2291,17 @@ RegionRippleDrag::motion (GdkEvent* event, bool first_move)
return;
}
- framepos_t where = adjusted_current_frame (event);
+ samplepos_t where = adjusted_current_sample (event);
assert (where >= 0);
- MusicFrame after (0, 0);
+ MusicSample after (0, 0);
double delta = compute_x_delta (event, &after);
- framecnt_t amount = _editor->pixel_to_sample (delta);
+ samplecnt_t amount = _editor->pixel_to_sample (delta);
if (allow_moves_across_tracks) {
// all the originally selected regions were on the same track
- framecnt_t adjust = 0;
+ samplecnt_t adjust = 0;
if (prev_tav && tv != prev_tav) {
// dragged onto a different track
// remove the unselected regions from _views, restore them to their original positions
@@ -2430,19 +2430,19 @@ RegionCreateDrag::motion (GdkEvent* event, bool first_move)
} else {
if (_region) {
- framepos_t const f = adjusted_current_frame (event);
- if (f <= grab_frame()) {
+ samplepos_t const f = adjusted_current_sample (event);
+ if (f <= grab_sample()) {
_region->set_initial_position (f);
}
- /* Don't use a zero-length region, and subtract 1 frame from the snapped length
+ /* Don't use a zero-length region, and subtract 1 sample from the snapped length
so that if this region is duplicated, its duplicate starts on
- a snap point rather than 1 frame after a snap point. Otherwise things get
- a bit confusing as if a region starts 1 frame after a snap point, one cannot
+ a snap point rather than 1 sample after a snap point. Otherwise things get
+ a bit confusing as if a region starts 1 sample after a snap point, one cannot
place snapped notes at the start of the region.
*/
- if (f != grab_frame()) {
- framecnt_t const len = (framecnt_t) fabs ((double)(f - grab_frame () - 1));
+ if (f != grab_sample()) {
+ samplecnt_t const len = (samplecnt_t) fabs ((double)(f - grab_sample () - 1));
_region->set_length (len < 1 ? 1 : len, _editor->get_grid_music_divisions (event->button.state));
}
}
@@ -2698,7 +2698,7 @@ VideoTimeLineDrag::VideoTimeLineDrag (Editor* e, ArdourCanvas::Item* i)
RegionSelection rs;
TrackViewList empty;
empty.clear();
- _editor->get_regions_after(rs, (framepos_t) 0, empty);
+ _editor->get_regions_after(rs, (samplepos_t) 0, empty);
std::list<RegionView*> views = rs.by_layer();
_stuck = false;
@@ -2741,7 +2741,7 @@ VideoTimeLineDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
for (list<AVDraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
if (i->initial_position < _max_backwards_drag || _max_backwards_drag < 0) {
- _max_backwards_drag = ARDOUR_UI::instance()->video_timeline->quantify_frames_to_apv (i->initial_position);
+ _max_backwards_drag = ARDOUR_UI::instance()->video_timeline->quantify_samples_to_apv (i->initial_position);
}
}
DEBUG_TRACE (DEBUG::Drags, string_compose("VideoTimeLineDrag: max backwards-drag: %1\n", _max_backwards_drag));
@@ -2767,8 +2767,8 @@ VideoTimeLineDrag::motion (GdkEvent* event, bool first_move)
return;
}
- framecnt_t dt = adjusted_current_frame (event) - raw_grab_frame() + _pointer_frame_offset;
- dt = ARDOUR_UI::instance()->video_timeline->quantify_frames_to_apv(_startdrag_video_offset+dt) - _startdrag_video_offset;
+ samplecnt_t dt = adjusted_current_sample (event) - raw_grab_sample() + _pointer_sample_offset;
+ dt = ARDOUR_UI::instance()->video_timeline->quantify_samples_to_apv(_startdrag_video_offset+dt) - _startdrag_video_offset;
if (_max_backwards_drag >= 0 && dt <= - _max_backwards_drag) {
dt = - _max_backwards_drag;
@@ -2789,7 +2789,7 @@ VideoTimeLineDrag::motion (GdkEvent* event, bool first_move)
rv->region_changed(ARDOUR::Properties::position);
}
- const framepos_t offset = ARDOUR_UI::instance()->video_timeline->get_offset();
+ const samplepos_t offset = ARDOUR_UI::instance()->video_timeline->get_offset();
Timecode::Time timecode;
Timecode::Time timediff;
char buf[128];
@@ -2837,8 +2837,8 @@ VideoTimeLineDrag::finished (GdkEvent * /*event*/, bool movement_occurred)
}
_editor->session()->maybe_update_session_range(
- std::max(ARDOUR_UI::instance()->video_timeline->get_offset(), (ARDOUR::frameoffset_t) 0),
- std::max(ARDOUR_UI::instance()->video_timeline->get_offset() + ARDOUR_UI::instance()->video_timeline->get_duration(), (ARDOUR::frameoffset_t) 0)
+ std::max(ARDOUR_UI::instance()->video_timeline->get_offset(), (ARDOUR::sampleoffset_t) 0),
+ std::max(ARDOUR_UI::instance()->video_timeline->get_offset() + ARDOUR_UI::instance()->video_timeline->get_duration(), (ARDOUR::sampleoffset_t) 0)
);
@@ -2875,12 +2875,12 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
TimeAxisView* tvp = &_primary->get_time_axis_view ();
RouteTimeAxisView* tv = dynamic_cast<RouteTimeAxisView*>(tvp);
- framepos_t const region_start = _primary->region()->position();
- framepos_t const region_end = _primary->region()->last_frame();
- framecnt_t const region_length = _primary->region()->length();
+ samplepos_t const region_start = _primary->region()->position();
+ samplepos_t const region_end = _primary->region()->last_sample();
+ samplecnt_t const region_length = _primary->region()->length();
- framepos_t const pf = adjusted_current_frame (event);
- setup_snap_delta (MusicFrame(region_start, 0));
+ samplepos_t const pf = adjusted_current_sample (event);
+ setup_snap_delta (MusicSample(region_start, 0));
if (Keyboard::modifier_state_equals (event->button.state, ArdourKeyboard::trim_contents_modifier ())) {
/* Move the contents of the region around without changing the region bounds */
@@ -2937,10 +2937,10 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
TimeAxisView* tvp = &_primary->get_time_axis_view ();
RouteTimeAxisView* tv = dynamic_cast<RouteTimeAxisView*>(tvp);
pair<set<boost::shared_ptr<Playlist> >::iterator,bool> insert_result;
- frameoffset_t frame_delta = 0;
+ sampleoffset_t sample_delta = 0;
- MusicFrame adj_frame = adjusted_frame (_drags->current_pointer_frame () + snap_delta (event->button.state), event, true);
- framecnt_t dt = adj_frame.frame - raw_grab_frame () + _pointer_frame_offset - snap_delta (event->button.state);
+ MusicSample adj_sample = adjusted_sample (_drags->current_pointer_sample () + snap_delta (event->button.state), event, true);
+ samplecnt_t dt = adj_sample.sample - raw_grab_sample () + _pointer_sample_offset - snap_delta (event->button.state);
if (first_move) {
@@ -3020,7 +3020,7 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
if (!arv) continue;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
if (ar->locked()) continue;
- framecnt_t len = ar->fade_in()->back()->when;
+ samplecnt_t len = ar->fade_in()->back()->when;
if (len < dt) dt = min(dt, len);
}
break;
@@ -3030,7 +3030,7 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
if (!arv) continue;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
if (ar->locked()) continue;
- framecnt_t len = ar->fade_out()->back()->when;
+ samplecnt_t len = ar->fade_out()->back()->when;
if (len < -dt) dt = max(dt, -len);
}
break;
@@ -3043,15 +3043,15 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
case StartTrim:
for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
bool changed = i->view->trim_front (i->initial_position + dt, non_overlap_trim
- , adj_frame.division);
+ , adj_sample.division);
if (changed && _preserve_fade_anchor) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) {
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
- framecnt_t len = ar->fade_in()->back()->when;
- framecnt_t diff = ar->first_frame() - i->initial_position;
- framepos_t new_length = len - diff;
+ samplecnt_t len = ar->fade_in()->back()->when;
+ samplecnt_t diff = ar->first_sample() - i->initial_position;
+ samplepos_t new_length = len - diff;
i->anchored_fade_length = min (ar->length(), new_length);
//i->anchored_fade_length = ar->verify_xfade_bounds (new_length, true /*START*/ );
arv->reset_fade_in_shape_width (ar, i->anchored_fade_length, true);
@@ -3062,14 +3062,14 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
case EndTrim:
for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
- bool changed = i->view->trim_end (i->initial_end + dt, non_overlap_trim, adj_frame.division);
+ bool changed = i->view->trim_end (i->initial_end + dt, non_overlap_trim, adj_sample.division);
if (changed && _preserve_fade_anchor) {
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (i->view);
if (arv) {
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
- framecnt_t len = ar->fade_out()->back()->when;
- framecnt_t diff = 1 + ar->last_frame() - i->initial_end;
- framepos_t new_length = len + diff;
+ samplecnt_t len = ar->fade_out()->back()->when;
+ samplecnt_t diff = 1 + ar->last_sample() - i->initial_end;
+ samplepos_t new_length = len + diff;
i->anchored_fade_length = min (ar->length(), new_length);
//i->anchored_fade_length = ar->verify_xfade_bounds (new_length, false /*END*/ );
arv->reset_fade_out_shape_width (ar, i->anchored_fade_length, true);
@@ -3080,10 +3080,10 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
case ContentsTrim:
{
- frame_delta = (last_pointer_frame() - adjusted_current_frame(event));
+ sample_delta = (last_pointer_sample() - adjusted_current_sample(event));
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
- i->view->move_contents (frame_delta);
+ i->view->move_contents (sample_delta);
}
}
break;
@@ -3094,10 +3094,10 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
show_verbose_cursor_time (rv->region()->position());
break;
case EndTrim:
- show_verbose_cursor_duration (rv->region()->position(), rv->region()->last_frame());
+ show_verbose_cursor_duration (rv->region()->position(), rv->region()->last_sample());
break;
case ContentsTrim:
- // show_verbose_cursor_time (frame_delta);
+ // show_verbose_cursor_time (sample_delta);
break;
}
}
@@ -3174,8 +3174,8 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
} else {
/* no mouse movement */
- if (adjusted_current_frame (event) != adjusted_frame (_drags->current_pointer_frame(), event, false).frame) {
- _editor->point_trim (event, adjusted_current_frame (event));
+ if (adjusted_current_sample (event) != adjusted_sample (_drags->current_pointer_sample(), event, false).sample) {
+ _editor->point_trim (event, adjusted_current_sample (event));
}
}
@@ -3205,7 +3205,7 @@ TrimDrag::aborted (bool movement_occurred)
}
void
-TrimDrag::setup_pointer_frame_offset ()
+TrimDrag::setup_pointer_sample_offset ()
{
list<DraggingView>::iterator i = _views.begin ();
while (i != _views.end() && i->view != _primary) {
@@ -3218,10 +3218,10 @@ TrimDrag::setup_pointer_frame_offset ()
switch (_operation) {
case StartTrim:
- _pointer_frame_offset = raw_grab_frame() - i->initial_position;
+ _pointer_sample_offset = raw_grab_sample() - i->initial_position;
break;
case EndTrim:
- _pointer_frame_offset = raw_grab_frame() - i->initial_end;
+ _pointer_sample_offset = raw_grab_sample() - i->initial_end;
break;
case ContentsTrim:
break;
@@ -3246,13 +3246,13 @@ void
MeterMarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
{
Drag::start_grab (event, cursor);
- show_verbose_cursor_time (adjusted_current_frame(event));
+ show_verbose_cursor_time (adjusted_current_sample(event));
}
void
-MeterMarkerDrag::setup_pointer_frame_offset ()
+MeterMarkerDrag::setup_pointer_sample_offset ()
{
- _pointer_frame_offset = raw_grab_frame() - _marker->meter().frame();
+ _pointer_sample_offset = raw_grab_sample() - _marker->meter().sample();
}
void
@@ -3288,14 +3288,14 @@ MeterMarkerDrag::motion (GdkEvent* event, bool first_move)
Timecode::BBT_Time bbt = _real_section->bbt();
/* we can't add a meter where one currently exists */
- if (_real_section->frame() < adjusted_current_frame (event, false)) {
+ if (_real_section->sample() < adjusted_current_sample (event, false)) {
++bbt.bars;
} else {
--bbt.bars;
}
- const framepos_t frame = map.frame_at_bbt (bbt);
+ const samplepos_t sample = map.sample_at_bbt (bbt);
_real_section = map.add_meter (Meter (_marker->meter().divisions_per_bar(), _marker->meter().note_divisor())
- , bbt, frame, _real_section->position_lock_style());
+ , bbt, sample, _real_section->position_lock_style());
if (!_real_section) {
aborted (true);
return;
@@ -3309,19 +3309,19 @@ MeterMarkerDrag::motion (GdkEvent* event, bool first_move)
}
}
- framepos_t pf = adjusted_current_frame (event);
+ samplepos_t pf = adjusted_current_sample (event);
if (_real_section->position_lock_style() == AudioTime && _editor->snap_musical()) {
/* never snap to music for audio locked */
- pf = adjusted_current_frame (event, false);
+ pf = adjusted_current_sample (event, false);
}
_editor->session()->tempo_map().gui_set_meter_position (_real_section, pf);
/* fake marker meeds to stay under the mouse, unlike the real one. */
- _marker->set_position (adjusted_current_frame (event, false));
+ _marker->set_position (adjusted_current_sample (event, false));
- show_verbose_cursor_time (_real_section->frame());
+ show_verbose_cursor_time (_real_section->sample());
}
void
@@ -3352,7 +3352,7 @@ MeterMarkerDrag::finished (GdkEvent* event, bool movement_occurred)
void
MeterMarkerDrag::aborted (bool moved)
{
- _marker->set_position (_marker->meter().frame ());
+ _marker->set_position (_marker->meter().sample ());
if (moved) {
/* reinstate old snap setting */
_editor->set_snap_to (_old_snap_type);
@@ -3389,14 +3389,14 @@ TempoMarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
if (!_real_section->active()) {
show_verbose_cursor_text (_("inactive"));
} else {
- show_verbose_cursor_time (adjusted_current_frame (event));
+ show_verbose_cursor_time (adjusted_current_sample (event));
}
}
void
-TempoMarkerDrag::setup_pointer_frame_offset ()
+TempoMarkerDrag::setup_pointer_sample_offset ()
{
- _pointer_frame_offset = raw_grab_frame() - _real_section->frame();
+ _pointer_sample_offset = raw_grab_sample() - _real_section->sample();
}
void
@@ -3436,15 +3436,15 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
} else {
const Tempo tempo (_marker->tempo());
- const framepos_t frame = adjusted_current_frame (event) + 1;
+ const samplepos_t sample = adjusted_current_sample (event) + 1;
_editor->begin_reversible_command (_("copy tempo mark"));
if (_real_section->position_lock_style() == MusicTime) {
const int32_t divisions = _editor->get_grid_music_divisions (event->button.state);
- _real_section = map.add_tempo (tempo, map.exact_qn_at_frame (frame, divisions), 0, MusicTime);
+ _real_section = map.add_tempo (tempo, map.exact_qn_at_sample (sample, divisions), 0, MusicTime);
} else {
- _real_section = map.add_tempo (tempo, 0.0, frame, AudioTime);
+ _real_section = map.add_tempo (tempo, 0.0, sample, AudioTime);
}
if (!_real_section) {
@@ -3470,15 +3470,15 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
show_verbose_cursor_text (strs.str());
} else if (_movable && !_real_section->locked_to_meter()) {
- framepos_t pf;
+ samplepos_t pf;
if (_editor->snap_musical()) {
/* we can't snap to a grid that we are about to move.
* gui_move_tempo() will sort out snap using the supplied beat divisions.
*/
- pf = adjusted_current_frame (event, false);
+ pf = adjusted_current_sample (event, false);
} else {
- pf = adjusted_current_frame (event);
+ pf = adjusted_current_sample (event);
}
/* snap to beat is 1, snap to bar is -1 (sorry) */
@@ -3486,9 +3486,9 @@ TempoMarkerDrag::motion (GdkEvent* event, bool first_move)
map.gui_set_tempo_position (_real_section, pf, sub_num);
- show_verbose_cursor_time (_real_section->frame());
+ show_verbose_cursor_time (_real_section->sample());
}
- _marker->set_position (adjusted_current_frame (event, false));
+ _marker->set_position (adjusted_current_sample (event, false));
}
void
@@ -3518,7 +3518,7 @@ TempoMarkerDrag::finished (GdkEvent* event, bool movement_occurred)
void
TempoMarkerDrag::aborted (bool moved)
{
- _marker->set_position (_marker->tempo().frame());
+ _marker->set_position (_marker->tempo().sample());
if (moved) {
TempoMap& map (_editor->session()->tempo_map());
map.set_state (*_before_state, Stateful::current_state_version);
@@ -3543,9 +3543,9 @@ BBTRulerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
{
Drag::start_grab (event, cursor);
TempoMap& map (_editor->session()->tempo_map());
- _tempo = const_cast<TempoSection*> (&map.tempo_section_at_frame (raw_grab_frame()));
+ _tempo = const_cast<TempoSection*> (&map.tempo_section_at_sample (raw_grab_sample()));
- if (adjusted_current_frame (event, false) <= _tempo->frame()) {
+ if (adjusted_current_sample (event, false) <= _tempo->sample()) {
_drag_valid = false;
return;
}
@@ -3565,29 +3565,29 @@ BBTRulerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
void
-BBTRulerDrag::setup_pointer_frame_offset ()
+BBTRulerDrag::setup_pointer_sample_offset ()
{
TempoMap& map (_editor->session()->tempo_map());
/* get current state */
_before_state = &map.get_state();
- const double beat_at_frame = max (0.0, map.beat_at_frame (raw_grab_frame()));
+ const double beat_at_sample = max (0.0, map.beat_at_sample (raw_grab_sample()));
const uint32_t divisions = _editor->get_grid_beat_divisions (0);
double beat = 0.0;
if (divisions > 0) {
- beat = floor (beat_at_frame) + (floor (((beat_at_frame - floor (beat_at_frame)) * divisions)) / divisions);
+ beat = floor (beat_at_sample) + (floor (((beat_at_sample - floor (beat_at_sample)) * divisions)) / divisions);
} else {
/* while it makes some sense for the user to determine the division to 'grab',
grabbing a bar often leads to confusing results wrt the actual tempo section being altered
and the result over steep tempo curves. Use sixteenths.
*/
- beat = floor (beat_at_frame) + (floor (((beat_at_frame - floor (beat_at_frame)) * 4)) / 4);
+ beat = floor (beat_at_sample) + (floor (((beat_at_sample - floor (beat_at_sample)) * 4)) / 4);
}
_grab_qn = map.quarter_note_at_beat (beat);
- _pointer_frame_offset = raw_grab_frame() - map.frame_at_quarter_note (_grab_qn);
+ _pointer_sample_offset = raw_grab_sample() - map.sample_at_quarter_note (_grab_qn);
}
@@ -3603,17 +3603,17 @@ BBTRulerDrag::motion (GdkEvent* event, bool first_move)
}
TempoMap& map (_editor->session()->tempo_map());
- framepos_t pf;
+ samplepos_t pf;
if (_editor->snap_musical()) {
- pf = adjusted_current_frame (event, false);
+ pf = adjusted_current_sample (event, false);
} else {
- pf = adjusted_current_frame (event);
+ pf = adjusted_current_sample (event);
}
if (ArdourKeyboard::indicates_constraint (event->button.state)) {
- /* adjust previous tempo to match pointer frame */
- _editor->session()->tempo_map().gui_stretch_tempo (_tempo, map.frame_at_quarter_note (_grab_qn), pf, _grab_qn, map.quarter_note_at_frame (pf));
+ /* adjust previous tempo to match pointer sample */
+ _editor->session()->tempo_map().gui_stretch_tempo (_tempo, map.sample_at_quarter_note (_grab_qn), pf, _grab_qn, map.quarter_note_at_sample (pf));
}
ostringstream sstr;
@@ -3683,7 +3683,7 @@ TempoTwistDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
TempoMap& map (_editor->session()->tempo_map());
/* get current state */
_before_state = &map.get_state();
- _tempo = const_cast<TempoSection*> (&map.tempo_section_at_frame (raw_grab_frame()));
+ _tempo = const_cast<TempoSection*> (&map.tempo_section_at_sample (raw_grab_sample()));
if (_tempo->locked_to_meter()) {
_drag_valid = false;
@@ -3714,26 +3714,26 @@ TempoTwistDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
void
-TempoTwistDrag::setup_pointer_frame_offset ()
+TempoTwistDrag::setup_pointer_sample_offset ()
{
TempoMap& map (_editor->session()->tempo_map());
- const double beat_at_frame = max (0.0, map.beat_at_frame (raw_grab_frame()));
+ const double beat_at_sample = max (0.0, map.beat_at_sample (raw_grab_sample()));
const uint32_t divisions = _editor->get_grid_beat_divisions (0);
double beat = 0.0;
if (divisions > 0) {
- beat = floor (beat_at_frame) + (floor (((beat_at_frame - floor (beat_at_frame)) * divisions)) / divisions);
+ beat = floor (beat_at_sample) + (floor (((beat_at_sample - floor (beat_at_sample)) * divisions)) / divisions);
} else {
/* while it makes some sense for the user to determine the division to 'grab',
grabbing a bar often leads to confusing results wrt the actual tempo section being altered
and the result over steep tempo curves. Use sixteenths.
*/
- beat = floor (beat_at_frame) + (floor (((beat_at_frame - floor (beat_at_frame)) * 4)) / 4);
+ beat = floor (beat_at_sample) + (floor (((beat_at_sample - floor (beat_at_sample)) * 4)) / 4);
}
_grab_qn = map.quarter_note_at_beat (beat);
- _pointer_frame_offset = raw_grab_frame() - map.frame_at_quarter_note (_grab_qn);
+ _pointer_sample_offset = raw_grab_sample() - map.sample_at_quarter_note (_grab_qn);
}
@@ -3751,17 +3751,17 @@ TempoTwistDrag::motion (GdkEvent* event, bool first_move)
_editor->begin_reversible_command (_("twist tempo"));
}
- framepos_t pf;
+ samplepos_t pf;
if (_editor->snap_musical()) {
- pf = adjusted_current_frame (event, false);
+ pf = adjusted_current_sample (event, false);
} else {
- pf = adjusted_current_frame (event);
+ pf = adjusted_current_sample (event);
}
- /* adjust this and the next tempi to match pointer frame */
+ /* adjust this and the next tempi to match pointer sample */
double new_bpm = max (1.5, _grab_tempo.note_types_per_minute() + ((grab_y() - min (-1.0, current_pointer_y())) / 5.0));
- _editor->session()->tempo_map().gui_twist_tempi (_tempo, new_bpm, map.frame_at_quarter_note (_grab_qn), pf);
+ _editor->session()->tempo_map().gui_twist_tempi (_tempo, new_bpm, map.sample_at_quarter_note (_grab_qn), pf);
ostringstream sstr;
sstr << "start: " << fixed << setprecision(3) << _tempo->note_types_per_minute() << "\n";
@@ -3826,7 +3826,7 @@ TempoEndDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
TempoSection* prev = 0;
if ((prev = tmap.previous_tempo_section (_tempo)) != 0) {
_editor->tempo_curve_selected (tmap.previous_tempo_section (_tempo), true);
- sstr << "end: " << fixed << setprecision(3) << tmap.tempo_section_at_frame (_tempo->frame() - 1).end_note_types_per_minute() << "\n";
+ sstr << "end: " << fixed << setprecision(3) << tmap.tempo_section_at_sample (_tempo->sample() - 1).end_note_types_per_minute() << "\n";
}
if (_tempo->clamped()) {
@@ -3838,11 +3838,11 @@ TempoEndDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
void
-TempoEndDrag::setup_pointer_frame_offset ()
+TempoEndDrag::setup_pointer_sample_offset ()
{
TempoMap& map (_editor->session()->tempo_map());
- _pointer_frame_offset = raw_grab_frame() - map.frame_at_quarter_note (_grab_qn);
+ _pointer_sample_offset = raw_grab_sample() - map.sample_at_quarter_note (_grab_qn);
}
@@ -3859,11 +3859,11 @@ TempoEndDrag::motion (GdkEvent* event, bool first_move)
_editor->begin_reversible_command (_("stretch end tempo"));
}
- framepos_t const pf = adjusted_current_frame (event, false);
- map.gui_stretch_tempo_end (&map.tempo_section_at_frame (_tempo->frame() - 1), map.frame_at_quarter_note (_grab_qn), pf);
+ samplepos_t const pf = adjusted_current_sample (event, false);
+ map.gui_stretch_tempo_end (&map.tempo_section_at_sample (_tempo->sample() - 1), map.sample_at_quarter_note (_grab_qn), pf);
ostringstream sstr;
- sstr << "end: " << fixed << setprecision(3) << map.tempo_section_at_frame (_tempo->frame() - 1).end_note_types_per_minute() << "\n";
+ sstr << "end: " << fixed << setprecision(3) << map.tempo_section_at_sample (_tempo->sample() - 1).end_note_types_per_minute() << "\n";
if (_tempo->clamped()) {
sstr << "start: " << fixed << setprecision(3) << _tempo->note_types_per_minute();
@@ -3918,7 +3918,7 @@ CursorDrag::CursorDrag (Editor* e, EditorCursor& c, bool s)
* the diskstream buffers to be refilled, which is too slow).
*/
void
-CursorDrag::fake_locate (framepos_t t)
+CursorDrag::fake_locate (samplepos_t t)
{
if (_editor->session () == 0) {
return;
@@ -3928,7 +3928,7 @@ CursorDrag::fake_locate (framepos_t t)
Session* s = _editor->session ();
if (s->timecode_transmission_suspended ()) {
- framepos_t const f = _editor->playhead_cursor->current_frame ();
+ samplepos_t const f = _editor->playhead_cursor->current_sample ();
/* This is asynchronous so it will be sent "now"
*/
s->send_mmc_locate (f);
@@ -3947,15 +3947,15 @@ void
CursorDrag::start_grab (GdkEvent* event, Gdk::Cursor* c)
{
Drag::start_grab (event, c);
- setup_snap_delta (MusicFrame (_editor->playhead_cursor->current_frame(), 0));
+ setup_snap_delta (MusicSample (_editor->playhead_cursor->current_sample(), 0));
_grab_zoom = _editor->samples_per_pixel;
- MusicFrame where (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ MusicSample where (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (where, event);
_editor->_dragging_playhead = true;
- _editor->_control_scroll_target = where.frame;
+ _editor->_control_scroll_target = where.sample;
Session* s = _editor->session ();
@@ -3989,7 +3989,7 @@ CursorDrag::start_grab (GdkEvent* event, Gdk::Cursor* c)
}
}
- fake_locate (where.frame - snap_delta (event->button.state));
+ fake_locate (where.sample - snap_delta (event->button.state));
_last_y_delta = 0;
}
@@ -3997,12 +3997,12 @@ CursorDrag::start_grab (GdkEvent* event, Gdk::Cursor* c)
void
CursorDrag::motion (GdkEvent* event, bool)
{
- MusicFrame where (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ MusicSample where (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (where, event);
- if (where.frame != last_pointer_frame()) {
- fake_locate (where.frame - snap_delta (event->button.state));
+ if (where.sample != last_pointer_sample()) {
+ fake_locate (where.sample - snap_delta (event->button.state));
}
//maybe do zooming, too, if the option is enabled
@@ -4054,7 +4054,7 @@ CursorDrag::finished (GdkEvent* event, bool movement_occurred)
Session* s = _editor->session ();
if (s) {
- s->request_locate (_editor->playhead_cursor->current_frame (), _was_rolling);
+ s->request_locate (_editor->playhead_cursor->current_sample (), _was_rolling);
_editor->_pending_locate_request = true;
s->request_resume_timecode_transmission ();
}
@@ -4070,7 +4070,7 @@ CursorDrag::aborted (bool)
_editor->_dragging_playhead = false;
}
- _editor->playhead_cursor->set_position (adjusted_frame (grab_frame (), 0, false).frame);
+ _editor->playhead_cursor->set_position (adjusted_sample (grab_sample (), 0, false).sample);
}
FadeInDrag::FadeInDrag (Editor* e, ArdourCanvas::Item* i, RegionView* p, list<RegionView*> const & v)
@@ -4086,37 +4086,37 @@ FadeInDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (_primary);
boost::shared_ptr<AudioRegion> const r = arv->audio_region ();
- setup_snap_delta (MusicFrame (r->position(), 0));
+ setup_snap_delta (MusicSample (r->position(), 0));
show_verbose_cursor_duration (r->position(), r->position() + r->fade_in()->back()->when, 32);
}
void
-FadeInDrag::setup_pointer_frame_offset ()
+FadeInDrag::setup_pointer_sample_offset ()
{
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (_primary);
boost::shared_ptr<AudioRegion> const r = arv->audio_region ();
- _pointer_frame_offset = raw_grab_frame() - ((framecnt_t) r->fade_in()->back()->when + r->position());
+ _pointer_sample_offset = raw_grab_sample() - ((samplecnt_t) r->fade_in()->back()->when + r->position());
}
void
FadeInDrag::motion (GdkEvent* event, bool)
{
- framecnt_t fade_length;
+ samplecnt_t fade_length;
- MusicFrame pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ MusicSample pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (pos, event);
- pos.frame -= snap_delta (event->button.state);
+ pos.sample -= snap_delta (event->button.state);
boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion> (_primary->region ());
- if (pos.frame < (region->position() + 64)) {
+ if (pos.sample < (region->position() + 64)) {
fade_length = 64; // this should be a minimum defined somewhere
- } else if (pos.frame > region->position() + region->length() - region->fade_out()->back()->when) {
+ } else if (pos.sample > region->position() + region->length() - region->fade_out()->back()->when) {
fade_length = region->length() - region->fade_out()->back()->when - 1;
} else {
- fade_length = pos.frame - region->position();
+ fade_length = pos.sample - region->position();
}
for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
@@ -4140,20 +4140,20 @@ FadeInDrag::finished (GdkEvent* event, bool movement_occurred)
return;
}
- framecnt_t fade_length;
- MusicFrame pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ samplecnt_t fade_length;
+ MusicSample pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (pos, event);
- pos.frame -= snap_delta (event->button.state);
+ pos.sample -= snap_delta (event->button.state);
boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion> (_primary->region ());
- if (pos.frame < (region->position() + 64)) {
+ if (pos.sample < (region->position() + 64)) {
fade_length = 64; // this should be a minimum defined somewhere
- } else if (pos.frame >= region->position() + region->length() - region->fade_out()->back()->when) {
+ } else if (pos.sample >= region->position() + region->length() - region->fade_out()->back()->when) {
fade_length = region->length() - region->fade_out()->back()->when - 1;
} else {
- fade_length = pos.frame - region->position();
+ fade_length = pos.sample - region->position();
}
bool in_command = false;
@@ -4212,36 +4212,36 @@ FadeOutDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (_primary);
boost::shared_ptr<AudioRegion> r = arv->audio_region ();
- setup_snap_delta (MusicFrame (r->last_frame(), 0));
+ setup_snap_delta (MusicSample (r->last_sample(), 0));
- show_verbose_cursor_duration (r->last_frame() - r->fade_out()->back()->when, r->last_frame());
+ show_verbose_cursor_duration (r->last_sample() - r->fade_out()->back()->when, r->last_sample());
}
void
-FadeOutDrag::setup_pointer_frame_offset ()
+FadeOutDrag::setup_pointer_sample_offset ()
{
AudioRegionView* arv = dynamic_cast<AudioRegionView*> (_primary);
boost::shared_ptr<AudioRegion> r = arv->audio_region ();
- _pointer_frame_offset = raw_grab_frame() - (r->length() - (framecnt_t) r->fade_out()->back()->when + r->position());
+ _pointer_sample_offset = raw_grab_sample() - (r->length() - (samplecnt_t) r->fade_out()->back()->when + r->position());
}
void
FadeOutDrag::motion (GdkEvent* event, bool)
{
- framecnt_t fade_length;
- MusicFrame pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ samplecnt_t fade_length;
+ MusicSample pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (pos, event);
- pos.frame -= snap_delta (event->button.state);
+ pos.sample -= snap_delta (event->button.state);
boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion> (_primary->region ());
- if (pos.frame > (region->last_frame() - 64)) {
+ if (pos.sample > (region->last_sample() - 64)) {
fade_length = 64; // this should really be a minimum fade defined somewhere
- } else if (pos.frame <= region->position() + region->fade_in()->back()->when) {
+ } else if (pos.sample <= region->position() + region->fade_in()->back()->when) {
fade_length = region->length() - region->fade_in()->back()->when - 1;
} else {
- fade_length = region->last_frame() - pos.frame;
+ fade_length = region->last_sample() - pos.sample;
}
for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
@@ -4255,7 +4255,7 @@ FadeOutDrag::motion (GdkEvent* event, bool)
tmp->reset_fade_out_shape_width (tmp->audio_region(), fade_length);
}
- show_verbose_cursor_duration (region->last_frame() - fade_length, region->last_frame());
+ show_verbose_cursor_duration (region->last_sample() - fade_length, region->last_sample());
}
void
@@ -4265,20 +4265,20 @@ FadeOutDrag::finished (GdkEvent* event, bool movement_occurred)
return;
}
- framecnt_t fade_length;
- MusicFrame pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ samplecnt_t fade_length;
+ MusicSample pos (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (pos, event);
- pos.frame -= snap_delta (event->button.state);
+ pos.sample -= snap_delta (event->button.state);
boost::shared_ptr<AudioRegion> region = boost::dynamic_pointer_cast<AudioRegion> (_primary->region ());
- if (pos.frame > (region->last_frame() - 64)) {
+ if (pos.sample > (region->last_sample() - 64)) {
fade_length = 64; // this should really be a minimum fade defined somewhere
- } else if (pos.frame <= region->position() + region->fade_in()->back()->when) {
+ } else if (pos.sample <= region->position() + region->fade_in()->back()->when) {
fade_length = region->length() - region->fade_in()->back()->when - 1;
} else {
- fade_length = region->last_frame() - pos.frame;
+ fade_length = region->last_sample() - pos.sample;
}
bool in_command = false;
@@ -4373,7 +4373,7 @@ MarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
} else {
show_verbose_cursor_time (location->end());
}
- setup_snap_delta (MusicFrame (is_start ? location->start() : location->end(), 0));
+ setup_snap_delta (MusicSample (is_start ? location->start() : location->end(), 0));
Selection::Operation op = ArdourKeyboard::selection_type (event->button.state);
@@ -4391,13 +4391,13 @@ MarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
{
Locations::LocationList ll;
list<ArdourMarker*> to_add;
- framepos_t s, e;
+ samplepos_t s, e;
_editor->selection->markers.range (s, e);
s = min (_marker->position(), s);
e = max (_marker->position(), e);
s = min (s, e);
e = max (s, e);
- if (e < max_framepos) {
+ if (e < max_samplepos) {
++e;
}
_editor->session()->locations()->find_all_between (s, e, ll, Location::Flags (0));
@@ -4460,25 +4460,25 @@ MarkerDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
void
-MarkerDrag::setup_pointer_frame_offset ()
+MarkerDrag::setup_pointer_sample_offset ()
{
bool is_start;
Location *location = _editor->find_location_from_marker (_marker, is_start);
- _pointer_frame_offset = raw_grab_frame() - (is_start ? location->start() : location->end());
+ _pointer_sample_offset = raw_grab_sample() - (is_start ? location->start() : location->end());
}
void
MarkerDrag::motion (GdkEvent* event, bool)
{
- framecnt_t f_delta = 0;
+ samplecnt_t f_delta = 0;
bool is_start;
bool move_both = false;
Location *real_location;
Location *copy_location = 0;
- framecnt_t const sd = snap_delta (event->button.state);
+ samplecnt_t const sd = snap_delta (event->button.state);
- framecnt_t const newframe = adjusted_frame (_drags->current_pointer_frame () + sd, event, true).frame - sd;
- framepos_t next = newframe;
+ samplecnt_t const newframe = adjusted_sample (_drags->current_pointer_sample () + sd, event, true).sample - sd;
+ samplepos_t next = newframe;
if (Keyboard::modifier_state_contains (event->button.state, ArdourKeyboard::push_points_modifier ())) {
move_both = true;
@@ -4560,8 +4560,8 @@ MarkerDrag::motion (GdkEvent* event, bool)
} else {
- framepos_t new_start = copy_location->start() + f_delta;
- framepos_t new_end = copy_location->end() + f_delta;
+ samplepos_t new_start = copy_location->start() + f_delta;
+ samplepos_t new_end = copy_location->end() + f_delta;
if (is_start) { // start-of-range marker
@@ -4760,7 +4760,7 @@ ControlPointDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
_fixed_grab_x = _point->get_x() + _editor->sample_to_pixel_unrounded (_point->line().offset());
_fixed_grab_y = _point->get_y();
- setup_snap_delta (MusicFrame (_editor->pixel_to_sample (_fixed_grab_x), 0));
+ setup_snap_delta (MusicSample (_editor->pixel_to_sample (_fixed_grab_x), 0));
float const fraction = 1 - (_point->get_y() / _point->line().height());
show_verbose_cursor_text (_point->line().get_verbose_cursor_string (fraction));
@@ -4813,14 +4813,14 @@ ControlPointDrag::motion (GdkEvent* event, bool first_motion)
cy = zero_gain_y;
}
- MusicFrame cx_mf (_editor->pixel_to_sample (cx) + snap_delta (event->button.state), 0);
+ MusicSample cx_mf (_editor->pixel_to_sample (cx) + snap_delta (event->button.state), 0);
if (!_x_constrained && need_snap) {
_editor->snap_to_with_modifier (cx_mf, event);
}
- cx_mf.frame -= snap_delta (event->button.state);
- cx_mf.frame = min (cx_mf.frame, _point->line().maximum_time() + _point->line().offset());
+ cx_mf.sample -= snap_delta (event->button.state);
+ cx_mf.sample = min (cx_mf.sample, _point->line().maximum_time() + _point->line().offset());
float const fraction = 1.0 - (cy / _point->line().height());
@@ -4830,7 +4830,7 @@ ControlPointDrag::motion (GdkEvent* event, bool first_motion)
_point->line().start_drag_single (_point, _fixed_grab_x, initial_fraction);
}
pair<float, float> result;
- result = _point->line().drag_motion (_editor->sample_to_pixel_unrounded (cx_mf.frame), fraction, false, _pushing, _final_index);
+ result = _point->line().drag_motion (_editor->sample_to_pixel_unrounded (cx_mf.sample), fraction, false, _pushing, _final_index);
show_verbose_cursor_text (_point->line().get_verbose_cursor_relative_string (result.first, result.second));
}
@@ -4897,16 +4897,16 @@ LineDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
_line->grab_item().canvas_to_item (mx, my);
- framecnt_t const frame_within_region = (framecnt_t) floor (mx * _editor->samples_per_pixel);
+ samplecnt_t const sample_within_region = (samplecnt_t) floor (mx * _editor->samples_per_pixel);
- if (!_line->control_points_adjacent (frame_within_region, _before, _after)) {
+ if (!_line->control_points_adjacent (sample_within_region, _before, _after)) {
/* no adjacent points */
return;
}
Drag::start_grab (event, _editor->cursors()->fader);
- /* store grab start in item frame */
+ /* store grab start in item sample */
double const bx = _line->nth (_before)->get_x();
double const ax = _line->nth (_after)->get_x();
double const click_ratio = (ax - mx) / (ax - bx);
@@ -4967,7 +4967,7 @@ LineDrag::finished (GdkEvent* event, bool movement_occurred)
AutomationTimeAxisView* atv;
if ((atv = dynamic_cast<AutomationTimeAxisView*>(_editor->clicked_axisview)) != 0) {
- framepos_t where = grab_frame ();
+ samplepos_t where = grab_sample ();
double cx = 0;
double cy = _fixed_grab_y;
@@ -5018,7 +5018,7 @@ FeatureLineDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
_item->parent()->canvas_to_item (cx, cy);
- /* store grab start in parent frame */
+ /* store grab start in parent sample */
_region_view_grab_x = cx;
_before = *(float*) _item->get_data ("position");
@@ -5082,33 +5082,33 @@ void
RubberbandSelectDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
{
Drag::start_grab (event);
- show_verbose_cursor_time (adjusted_current_frame (event, UIConfiguration::instance().get_rubberbanding_snaps_to_grid()));
+ show_verbose_cursor_time (adjusted_current_sample (event, UIConfiguration::instance().get_rubberbanding_snaps_to_grid()));
}
void
RubberbandSelectDrag::motion (GdkEvent* event, bool)
{
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
double y1;
double y2;
- framepos_t const pf = adjusted_current_frame (event, UIConfiguration::instance().get_rubberbanding_snaps_to_grid());
- MusicFrame grab (grab_frame (), 0);
+ samplepos_t const pf = adjusted_current_sample (event, UIConfiguration::instance().get_rubberbanding_snaps_to_grid());
+ MusicSample grab (grab_sample (), 0);
if (UIConfiguration::instance().get_rubberbanding_snaps_to_grid ()) {
_editor->snap_to_with_modifier (grab, event);
} else {
- grab.frame = raw_grab_frame ();
+ grab.sample = raw_grab_sample ();
}
/* base start and end on initial click position */
- if (pf < grab.frame) {
+ if (pf < grab.sample) {
start = pf;
- end = grab.frame;
+ end = grab.sample;
} else {
end = pf;
- start = grab.frame;
+ start = grab.sample;
}
if (current_pointer_y() < grab_y()) {
@@ -5167,13 +5167,13 @@ RubberbandSelectDrag::motion (GdkEvent* event, bool)
void
RubberbandSelectDrag::do_select_things (GdkEvent* event, bool drag_in_progress)
{
- framepos_t x1;
- framepos_t x2;
- framepos_t grab = grab_frame ();
- framepos_t lpf = last_pointer_frame ();
+ samplepos_t x1;
+ samplepos_t x2;
+ samplepos_t grab = grab_sample ();
+ samplepos_t lpf = last_pointer_sample ();
if (!UIConfiguration::instance().get_rubberbanding_snaps_to_grid ()) {
- grab = raw_grab_frame ();
+ grab = raw_grab_sample ();
lpf = _editor->pixel_to_sample_from_event (last_pointer_x());
}
@@ -5257,10 +5257,10 @@ TimeFXDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
_editor->get_selection().add (_primary);
- MusicFrame where (_primary->region()->position(), 0);
+ MusicSample where (_primary->region()->position(), 0);
setup_snap_delta (where);
- show_verbose_cursor_duration (where.frame, adjusted_current_frame (event), 0);
+ show_verbose_cursor_duration (where.sample, adjusted_current_sample (event), 0);
}
void
@@ -5271,16 +5271,16 @@ TimeFXDrag::motion (GdkEvent* event, bool)
pair<TimeAxisView*, double> const tv = _editor->trackview_by_y_position (grab_y());
int layer = tv.first->layer_display() == Overlaid ? 0 : tv.second;
int layers = tv.first->layer_display() == Overlaid ? 1 : cv->layers();
- MusicFrame pf (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
+ MusicSample pf (_editor->canvas_event_sample (event) + snap_delta (event->button.state), 0);
_editor->snap_to_with_modifier (pf, event);
- pf.frame -= snap_delta (event->button.state);
+ pf.sample -= snap_delta (event->button.state);
- if (pf.frame > rv->region()->position()) {
- rv->get_time_axis_view().show_timestretch (rv->region()->position(), pf.frame, layers, layer);
+ if (pf.sample > rv->region()->position()) {
+ rv->get_time_axis_view().show_timestretch (rv->region()->position(), pf.sample, layers, layer);
}
- show_verbose_cursor_duration (_primary->region()->position(), pf.frame, 0);
+ show_verbose_cursor_duration (_primary->region()->position(), pf.sample, 0);
}
void
@@ -5299,14 +5299,14 @@ TimeFXDrag::finished (GdkEvent* event, bool movement_occurred)
_primary->get_time_axis_view().hide_timestretch ();
- framepos_t adjusted_frame_pos = adjusted_current_frame (event);
+ samplepos_t adjusted_sample_pos = adjusted_current_sample (event);
- if (adjusted_frame_pos < _primary->region()->position()) {
+ if (adjusted_sample_pos < _primary->region()->position()) {
/* backwards drag of the left edge - not usable */
return;
}
- framecnt_t newlen = adjusted_frame_pos - _primary->region()->position();
+ samplecnt_t newlen = adjusted_sample_pos - _primary->region()->position();
fraction = (double) newlen / (double) _primary->region()->length();
@@ -5352,7 +5352,7 @@ ScrubDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
void
ScrubDrag::motion (GdkEvent* /*event*/, bool)
{
- _editor->scrub (adjusted_current_frame (0, false), _drags->current_pointer_x ());
+ _editor->scrub (adjusted_current_sample (0, false), _drags->current_pointer_x ());
}
void
@@ -5381,7 +5381,7 @@ SelectionDrag::SelectionDrag (Editor* e, ArdourCanvas::Item* i, Operation o)
if (_time_selection_at_start) {
start_at_start = _editor->get_selection().time.start();
- end_at_start = _editor->get_selection().time.end_frame();
+ end_at_start = _editor->get_selection().time.end_sample();
}
}
@@ -5431,25 +5431,25 @@ SelectionDrag::start_grab (GdkEvent* event, Gdk::Cursor*)
if (_operation == SelectionMove) {
show_verbose_cursor_time (_editor->selection->time[_editor->clicked_selection].start);
} else {
- show_verbose_cursor_time (adjusted_current_frame (event));
+ show_verbose_cursor_time (adjusted_current_sample (event));
}
}
void
-SelectionDrag::setup_pointer_frame_offset ()
+SelectionDrag::setup_pointer_sample_offset ()
{
switch (_operation) {
case CreateSelection:
- _pointer_frame_offset = 0;
+ _pointer_sample_offset = 0;
break;
case SelectionStartTrim:
case SelectionMove:
- _pointer_frame_offset = raw_grab_frame() - _editor->selection->time[_editor->clicked_selection].start;
+ _pointer_sample_offset = raw_grab_sample() - _editor->selection->time[_editor->clicked_selection].start;
break;
case SelectionEndTrim:
- _pointer_frame_offset = raw_grab_frame() - _editor->selection->time[_editor->clicked_selection].end;
+ _pointer_sample_offset = raw_grab_sample() - _editor->selection->time[_editor->clicked_selection].end;
break;
case SelectionExtend:
@@ -5460,14 +5460,14 @@ SelectionDrag::setup_pointer_frame_offset ()
void
SelectionDrag::motion (GdkEvent* event, bool first_move)
{
- framepos_t start = 0;
- framepos_t end = 0;
- framecnt_t length = 0;
- framecnt_t distance = 0;
- MusicFrame start_mf (0, 0);
- framepos_t const pending_position = adjusted_current_frame (event);
+ samplepos_t start = 0;
+ samplepos_t end = 0;
+ samplecnt_t length = 0;
+ samplecnt_t distance = 0;
+ MusicSample start_mf (0, 0);
+ samplepos_t const pending_position = adjusted_current_sample (event);
- if (_operation != CreateSelection && pending_position == last_pointer_frame()) {
+ if (_operation != CreateSelection && pending_position == last_pointer_sample()) {
return;
}
@@ -5478,22 +5478,22 @@ SelectionDrag::motion (GdkEvent* event, bool first_move)
switch (_operation) {
case CreateSelection:
{
- MusicFrame grab (grab_frame (), 0);
+ MusicSample grab (grab_sample (), 0);
if (first_move) {
- grab.frame = adjusted_current_frame (event, false);
- if (grab.frame < pending_position) {
+ grab.sample = adjusted_current_sample (event, false);
+ if (grab.sample < pending_position) {
_editor->snap_to (grab, RoundDownMaybe);
} else {
_editor->snap_to (grab, RoundUpMaybe);
}
}
- if (pending_position < grab.frame) {
+ if (pending_position < grab.sample) {
start = pending_position;
- end = grab.frame;
+ end = grab.sample;
} else {
end = pending_position;
- start = grab.frame;
+ start = grab.sample;
}
/* first drag: Either add to the selection
@@ -5634,10 +5634,10 @@ SelectionDrag::motion (GdkEvent* event, bool first_move)
distance = pending_position - start;
start = pending_position;
- start_mf.frame = start;
+ start_mf.sample = start;
_editor->snap_to (start_mf);
- end = start_mf.frame + length;
+ end = start_mf.sample + length;
break;
@@ -5688,7 +5688,7 @@ SelectionDrag::finished (GdkEvent* event, bool movement_occurred)
}
if (_editor->get_selection().time.length() != 0) {
- s->set_range_selection (_editor->get_selection().time.start(), _editor->get_selection().time.end_frame());
+ s->set_range_selection (_editor->get_selection().time.start(), _editor->get_selection().time.end_sample());
} else {
s->clear_range_selection ();
}
@@ -5707,9 +5707,9 @@ SelectionDrag::finished (GdkEvent* event, bool movement_occurred)
if (_operation == SelectionExtend) {
if (_time_selection_at_start) {
- framepos_t pos = adjusted_current_frame (event, false);
- framepos_t start = min (pos, start_at_start);
- framepos_t end = max (pos, end_at_start);
+ samplepos_t pos = adjusted_current_sample (event, false);
+ samplepos_t start = min (pos, start_at_start);
+ samplepos_t end = max (pos, end_at_start);
_editor->selection->set (start, end);
}
} else {
@@ -5800,14 +5800,14 @@ RangeMarkerBarDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
Drag::start_grab (event, cursor);
- show_verbose_cursor_time (adjusted_current_frame (event));
+ show_verbose_cursor_time (adjusted_current_sample (event));
}
void
RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
{
- framepos_t start = 0;
- framepos_t end = 0;
+ samplepos_t start = 0;
+ samplepos_t end = 0;
ArdourCanvas::Rectangle *crect;
switch (_operation) {
@@ -5829,18 +5829,18 @@ RangeMarkerBarDrag::motion (GdkEvent* event, bool first_move)
break;
}
- framepos_t const pf = adjusted_current_frame (event);
+ samplepos_t const pf = adjusted_current_sample (event);
if (_operation == CreateSkipMarker || _operation == CreateRangeMarker || _operation == CreateTransportMarker || _operation == CreateCDMarker) {
- MusicFrame grab (grab_frame (), 0);
+ MusicSample grab (grab_sample (), 0);
_editor->snap_to (grab);
- if (pf < grab_frame()) {
+ if (pf < grab_sample()) {
start = pf;
- end = grab.frame;
+ end = grab.sample;
} else {
end = pf;
- start = grab.frame;
+ start = grab.sample;
}
/* first drag: Either add to the selection
@@ -5933,7 +5933,7 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
/* didn't drag, so just locate */
- _editor->session()->request_locate (grab_frame(), _editor->session()->transport_rolling());
+ _editor->session()->request_locate (grab_sample(), _editor->session()->transport_rolling());
} else if (_operation == CreateCDMarker) {
@@ -5942,17 +5942,17 @@ RangeMarkerBarDrag::finished (GdkEvent* event, bool movement_occurred)
} else { /* operation == CreateRangeMarker || CreateSkipMarker */
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
- _editor->session()->locations()->marks_either_side (grab_frame(), start, end);
+ _editor->session()->locations()->marks_either_side (grab_sample(), start, end);
- if (end == max_framepos) {
- end = _editor->session()->current_end_frame ();
+ if (end == max_samplepos) {
+ end = _editor->session()->current_end_sample ();
}
- if (start == max_framepos) {
- start = _editor->session()->current_start_frame ();
+ if (start == max_samplepos) {
+ start = _editor->session()->current_start_sample ();
}
switch (_editor->mouse_mode) {
@@ -6010,10 +6010,10 @@ NoteDrag::NoteDrag (Editor* e, ArdourCanvas::Item* i)
}
void
-NoteDrag::setup_pointer_frame_offset ()
+NoteDrag::setup_pointer_sample_offset ()
{
- _pointer_frame_offset = raw_grab_frame()
- - _editor->session()->tempo_map().frame_at_quarter_note (_region->session_relative_qn (_primary->note()->time().to_double()));
+ _pointer_sample_offset = raw_grab_sample()
+ - _editor->session()->tempo_map().sample_at_quarter_note (_region->session_relative_qn (_primary->note()->time().to_double()));
}
void
@@ -6027,7 +6027,7 @@ NoteDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
_copy = false;
}
- setup_snap_delta (MusicFrame (_region->source_beats_to_absolute_frames (_primary->note()->time ()), 0));
+ setup_snap_delta (MusicSample (_region->source_beats_to_absolute_samples (_primary->note()->time ()), 0));
if (!(_was_selected = _primary->selected())) {
@@ -6061,22 +6061,22 @@ NoteDrag::total_dx (GdkEvent * event) const
TempoMap& map (_editor->session()->tempo_map());
- /* dx in frames */
- frameoffset_t const dx = _editor->pixel_to_sample (_drags->current_pointer_x() - grab_x());
+ /* dx in samples */
+ sampleoffset_t const dx = _editor->pixel_to_sample (_drags->current_pointer_x() - grab_x());
/* primary note time */
- frameoffset_t const n = map.frame_at_quarter_note (_region->session_relative_qn (_primary->note()->time().to_double()));
+ sampleoffset_t const n = map.sample_at_quarter_note (_region->session_relative_qn (_primary->note()->time().to_double()));
/* primary note time in quarter notes */
double const n_qn = _region->session_relative_qn (_primary->note()->time().to_double());
- /* new time of the primary note in session frames */
- frameoffset_t st = n + dx + snap_delta (event->button.state);
+ /* new time of the primary note in session samples */
+ sampleoffset_t st = n + dx + snap_delta (event->button.state);
/* possibly snap and return corresponding delta in quarter notes */
- MusicFrame snap (st, 0);
+ MusicSample snap (st, 0);
_editor->snap_to_with_modifier (snap, event);
- double ret = map.exact_qn_at_frame (snap.frame, snap.division) - n_qn - snap_delta_music (event->button.state);
+ double ret = map.exact_qn_at_sample (snap.sample, snap.division) - n_qn - snap_delta_music (event->button.state);
/* prevent the earliest note being dragged earlier than the region's start position */
if (_earliest + ret < _region->midi_region()->start_beats()) {
@@ -6254,7 +6254,7 @@ AutomationRangeDrag::setup (list<boost::shared_ptr<AutomationLine> > const & lin
list<boost::shared_ptr<AutomationLine> >::const_iterator j = i;
++j;
- pair<framepos_t, framepos_t> r = (*i)->get_point_x_range ();
+ pair<samplepos_t, samplepos_t> r = (*i)->get_point_x_range ();
/* check this range against all the AudioRanges that we are using */
list<AudioRange>::const_iterator k = _ranges.begin ();
@@ -6335,7 +6335,7 @@ AutomationRangeDrag::motion (GdkEvent*, bool first_move)
for (list<AudioRange>::const_iterator i = _ranges.begin(); i != _ranges.end(); ++i) {
- framecnt_t const half = (i->start + i->end) / 2;
+ samplecnt_t const half = (i->start + i->end) / 2;
/* find the line that this audio range starts in */
list<Line>::iterator j = _lines.begin();
@@ -6350,7 +6350,7 @@ AutomationRangeDrag::motion (GdkEvent*, bool first_move)
64 samples length plucked out of thin air.
*/
- framepos_t a = i->start + 64;
+ samplepos_t a = i->start + 64;
if (a > half) {
a = half;
}
@@ -6382,7 +6382,7 @@ AutomationRangeDrag::motion (GdkEvent*, bool first_move)
64 samples length plucked out of thin air.
*/
- framepos_t b = i->end - 64;
+ samplepos_t b = i->end - 64;
if (b < half) {
b = half;
}
@@ -6491,19 +6491,19 @@ PatchChangeDrag::PatchChangeDrag (Editor* e, PatchChange* i, MidiRegionView* r)
, _cumulative_dx (0)
{
DEBUG_TRACE (DEBUG::Drags, string_compose ("New PatchChangeDrag, patch @ %1, grab @ %2\n",
- _region_view->source_beats_to_absolute_frames (_patch_change->patch()->time()),
- grab_frame()));
+ _region_view->source_beats_to_absolute_samples (_patch_change->patch()->time()),
+ grab_sample()));
}
void
PatchChangeDrag::motion (GdkEvent* ev, bool)
{
- framepos_t f = adjusted_current_frame (ev);
+ samplepos_t f = adjusted_current_sample (ev);
boost::shared_ptr<Region> r = _region_view->region ();
f = max (f, r->position ());
- f = min (f, r->last_frame ());
+ f = min (f, r->last_sample ());
- framecnt_t const dxf = f - grab_frame(); // permitted dx in frames
+ samplecnt_t const dxf = f - grab_sample(); // permitted dx in samples
double const dxu = _editor->sample_to_pixel (dxf); // permitted fx in units
_patch_change->move (ArdourCanvas::Duple (dxu - _cumulative_dx, 0));
_cumulative_dx = dxu;
@@ -6520,13 +6520,13 @@ PatchChangeDrag::finished (GdkEvent* ev, bool movement_occurred)
}
boost::shared_ptr<Region> r (_region_view->region ());
- framepos_t f = adjusted_current_frame (ev);
+ samplepos_t f = adjusted_current_sample (ev);
f = max (f, r->position ());
- f = min (f, r->last_frame ());
+ f = min (f, r->last_sample ());
_region_view->move_patch_change (
*_patch_change,
- _region_view->region_frames_to_region_beats (f - (r->position() - r->start()))
+ _region_view->region_samples_to_region_beats (f - (r->position() - r->start()))
);
}
@@ -6537,10 +6537,10 @@ PatchChangeDrag::aborted (bool)
}
void
-PatchChangeDrag::setup_pointer_frame_offset ()
+PatchChangeDrag::setup_pointer_sample_offset ()
{
boost::shared_ptr<Region> region = _region_view->region ();
- _pointer_frame_offset = raw_grab_frame() - _region_view->source_beats_to_absolute_frames (_patch_change->patch()->time());
+ _pointer_sample_offset = raw_grab_sample() - _region_view->source_beats_to_absolute_samples (_patch_change->patch()->time());
}
MidiRubberbandSelectDrag::MidiRubberbandSelectDrag (Editor* e, MidiRegionView* rv)
@@ -6551,7 +6551,7 @@ MidiRubberbandSelectDrag::MidiRubberbandSelectDrag (Editor* e, MidiRegionView* r
}
void
-MidiRubberbandSelectDrag::select_things (int button_state, framepos_t x1, framepos_t x2, double y1, double y2, bool /*drag_in_progress*/)
+MidiRubberbandSelectDrag::select_things (int button_state, samplepos_t x1, samplepos_t x2, double y1, double y2, bool /*drag_in_progress*/)
{
_region_view->update_drag_selection (
x1, x2, y1, y2,
@@ -6572,7 +6572,7 @@ MidiVerticalSelectDrag::MidiVerticalSelectDrag (Editor* e, MidiRegionView* rv)
}
void
-MidiVerticalSelectDrag::select_things (int button_state, framepos_t /*x1*/, framepos_t /*x2*/, double y1, double y2, bool /*drag_in_progress*/)
+MidiVerticalSelectDrag::select_things (int button_state, samplepos_t /*x1*/, samplepos_t /*x2*/, double y1, double y2, bool /*drag_in_progress*/)
{
double const y = _region_view->midi_view()->y_position ();
@@ -6599,7 +6599,7 @@ EditorRubberbandSelectDrag::EditorRubberbandSelectDrag (Editor* e, ArdourCanvas:
}
void
-EditorRubberbandSelectDrag::select_things (int button_state, framepos_t x1, framepos_t x2, double y1, double y2, bool drag_in_progress)
+EditorRubberbandSelectDrag::select_things (int button_state, samplepos_t x1, samplepos_t x2, double y1, double y2, bool drag_in_progress)
{
if (drag_in_progress) {
/* We just want to select things at the end of the drag, not during it */
@@ -6642,15 +6642,15 @@ NoteCreateDrag::~NoteCreateDrag ()
delete _drag_rect;
}
-framecnt_t
-NoteCreateDrag::grid_frames (framepos_t t) const
+samplecnt_t
+NoteCreateDrag::grid_samples (samplepos_t t) const
{
const Evoral::Beats grid_beats = _region_view->get_grid_beats (t);
- const Evoral::Beats t_beats = _region_view->region_frames_to_region_beats (t);
+ const Evoral::Beats t_beats = _region_view->region_samples_to_region_beats (t);
- return _region_view->region_beats_to_region_frames (t_beats + grid_beats)
- - _region_view->region_beats_to_region_frames (t_beats);
+ return _region_view->region_beats_to_region_samples (t_beats + grid_beats)
+ - _region_view->region_beats_to_region_samples (t_beats);
}
void
@@ -6661,16 +6661,16 @@ NoteCreateDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
_drag_rect = new ArdourCanvas::Rectangle (_region_view->get_canvas_group ());
TempoMap& map (_editor->session()->tempo_map());
- const framepos_t pf = _drags->current_pointer_frame ();
+ const samplepos_t pf = _drags->current_pointer_sample ();
const int32_t divisions = _editor->get_grid_music_divisions (event->button.state);
const Evoral::Beats grid_beats = _region_view->get_grid_beats (pf);
- double eqaf = map.exact_qn_at_frame (pf, divisions);
+ double eqaf = map.exact_qn_at_sample (pf, divisions);
if (divisions != 0) {
- const double qaf = map.quarter_note_at_frame (pf);
+ const double qaf = map.quarter_note_at_sample (pf);
/* Hack so that we always snap to the note that we are over, instead of snapping
to the next one if we're more than halfway through the one we're over.
@@ -6682,9 +6682,9 @@ NoteCreateDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
}
}
- _note[0] = map.frame_at_quarter_note (eqaf) - _region_view->region()->position();
+ _note[0] = map.sample_at_quarter_note (eqaf) - _region_view->region()->position();
/* minimum initial length is grid beats */
- _note[1] = map.frame_at_quarter_note (eqaf + grid_beats.to_double()) - _region_view->region()->position();
+ _note[1] = map.sample_at_quarter_note (eqaf + grid_beats.to_double()) - _region_view->region()->position();
double const x0 = _editor->sample_to_pixel (_note[0]);
double const x1 = _editor->sample_to_pixel (_note[1]);
@@ -6700,15 +6700,15 @@ void
NoteCreateDrag::motion (GdkEvent* event, bool)
{
TempoMap& map (_editor->session()->tempo_map());
- const framepos_t pf = _drags->current_pointer_frame ();
+ const samplepos_t pf = _drags->current_pointer_sample ();
const int32_t divisions = _editor->get_grid_music_divisions (event->button.state);
- double eqaf = map.exact_qn_at_frame (pf, divisions);
+ double eqaf = map.exact_qn_at_sample (pf, divisions);
if (divisions != 0) {
const Evoral::Beats grid_beats = _region_view->get_grid_beats (pf);
- const double qaf = map.quarter_note_at_frame (pf);
+ const double qaf = map.quarter_note_at_sample (pf);
/* Hack so that we always snap to the note that we are over, instead of snapping
to the next one if we're more than halfway through the one we're over.
*/
@@ -6720,7 +6720,7 @@ NoteCreateDrag::motion (GdkEvent* event, bool)
eqaf += grid_beats.to_double();
}
- _note[1] = max ((framepos_t)0, map.frame_at_quarter_note (eqaf) - _region_view->region()->position ());
+ _note[1] = max ((samplepos_t)0, map.sample_at_quarter_note (eqaf) - _region_view->region()->position ());
double const x0 = _editor->sample_to_pixel (_note[0]);
double const x1 = _editor->sample_to_pixel (_note[1]);
@@ -6732,17 +6732,17 @@ void
NoteCreateDrag::finished (GdkEvent* ev, bool had_movement)
{
/* we create a note even if there was no movement */
- framepos_t const start = min (_note[0], _note[1]);
- framepos_t const start_sess_rel = start + _region_view->region()->position();
- framecnt_t length = max (_editor->pixel_to_sample (1.0), (framecnt_t) fabs ((double)(_note[0] - _note[1])));
- framecnt_t const g = grid_frames (start_sess_rel);
+ samplepos_t const start = min (_note[0], _note[1]);
+ samplepos_t const start_sess_rel = start + _region_view->region()->position();
+ samplecnt_t length = max (_editor->pixel_to_sample (1.0), (samplecnt_t) fabs ((double)(_note[0] - _note[1])));
+ samplecnt_t const g = grid_samples (start_sess_rel);
if (_editor->get_grid_music_divisions (ev->button.state) != 0 && length < g) {
length = g;
}
TempoMap& map (_editor->session()->tempo_map());
- const double qn_length = map.quarter_notes_between_frames (start_sess_rel, start_sess_rel + length);
+ const double qn_length = map.quarter_notes_between_samples (start_sess_rel, start_sess_rel + length);
Evoral::Beats qn_length_beats = max (Evoral::Beats::ticks(1), Evoral::Beats (qn_length));
_editor->begin_reversible_command (_("Create Note"));
@@ -6786,10 +6786,10 @@ HitCreateDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
_y = _region_view->note_to_y (_region_view->y_to_note (y_to_region (event->button.y)));
- const framepos_t pf = _drags->current_pointer_frame ();
+ const samplepos_t pf = _drags->current_pointer_sample ();
const int32_t divisions = _editor->get_grid_music_divisions (event->button.state);
- const double eqaf = map.exact_qn_at_frame (pf, divisions);
+ const double eqaf = map.exact_qn_at_sample (pf, divisions);
boost::shared_ptr<MidiRegion> mr = _region_view->midi_region();
@@ -6797,7 +6797,7 @@ HitCreateDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
return;
}
- const framepos_t start = map.frame_at_quarter_note (eqaf) - _region_view->region()->position();
+ const samplepos_t start = map.sample_at_quarter_note (eqaf) - _region_view->region()->position();
Evoral::Beats length = _region_view->get_grid_beats (pf);
_editor->begin_reversible_command (_("Create Hit"));
@@ -6812,15 +6812,15 @@ HitCreateDrag::motion (GdkEvent* event, bool)
{
TempoMap& map (_editor->session()->tempo_map());
- const framepos_t pf = _drags->current_pointer_frame ();
+ const samplepos_t pf = _drags->current_pointer_sample ();
const int32_t divisions = _editor->get_grid_music_divisions (event->button.state);
if (divisions == 0) {
return;
}
- const double eqaf = map.exact_qn_at_frame (pf, divisions);
- const framepos_t start = map.frame_at_quarter_note (eqaf) - _region_view->region()->position ();
+ const double eqaf = map.exact_qn_at_sample (pf, divisions);
+ const samplepos_t start = map.sample_at_quarter_note (eqaf) - _region_view->region()->position ();
if (_last_pos == start) {
return;
@@ -6879,7 +6879,7 @@ CrossfadeEdgeDrag::motion (GdkEvent*, bool)
{
double distance;
double new_length;
- framecnt_t len;
+ samplecnt_t len;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
@@ -6911,7 +6911,7 @@ CrossfadeEdgeDrag::finished (GdkEvent*, bool)
{
double distance;
double new_length;
- framecnt_t len;
+ samplecnt_t len;
boost::shared_ptr<AudioRegion> ar (arv->audio_region());
@@ -6956,7 +6956,7 @@ CrossfadeEdgeDrag::aborted (bool)
}
}
-RegionCutDrag::RegionCutDrag (Editor* e, ArdourCanvas::Item* item, framepos_t pos)
+RegionCutDrag::RegionCutDrag (Editor* e, ArdourCanvas::Item* item, samplepos_t pos)
: Drag (e, item, true)
, line (new EditorCursor (*e))
{
@@ -6980,10 +6980,10 @@ RegionCutDrag::start_grab (GdkEvent* event, Gdk::Cursor* c)
void
RegionCutDrag::motion (GdkEvent* event, bool)
{
- MusicFrame pos (_drags->current_pointer_frame(), 0);
+ MusicSample pos (_drags->current_pointer_sample(), 0);
_editor->snap_to_with_modifier (pos, event);
- line->set_position (pos.frame);
+ line->set_position (pos.sample);
}
void
@@ -6992,11 +6992,11 @@ RegionCutDrag::finished (GdkEvent* event, bool)
_editor->get_track_canvas()->canvas()->re_enter();
- MusicFrame pos (_drags->current_pointer_frame(), 0);
+ MusicSample pos (_drags->current_pointer_sample(), 0);
_editor->snap_to_with_modifier (pos, event);
line->hide ();
- RegionSelection rs = _editor->get_regions_from_selection_and_mouse (pos.frame);
+ RegionSelection rs = _editor->get_regions_from_selection_and_mouse (pos.sample);
if (rs.empty()) {
return;
diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h
index df54c6bda7..53006676be 100644
--- a/gtk2_ardour/editor_drag.h
+++ b/gtk2_ardour/editor_drag.h
@@ -109,9 +109,9 @@ public:
return _current_pointer_y;
}
- /** @return current pointer frame */
- ARDOUR::framepos_t current_pointer_frame () const {
- return _current_pointer_frame;
+ /** @return current pointer sample */
+ ARDOUR::samplepos_t current_pointer_sample () const {
+ return _current_pointer_sample;
}
private:
@@ -120,7 +120,7 @@ private:
bool _ending; ///< true if end_grab or abort is in progress, otherwise false
double _current_pointer_x; ///< canvas-coordinate space x of the current pointer
double _current_pointer_y; ///< canvas-coordinate space y of the current pointer
- ARDOUR::framepos_t _current_pointer_frame; ///< frame that the pointer is now at
+ ARDOUR::samplepos_t _current_pointer_sample; ///< sample that the pointer is now at
bool _old_follow_playhead; ///< state of Editor::follow_playhead() before the drags started
};
@@ -144,8 +144,8 @@ public:
bool motion_handler (GdkEvent*, bool);
void abort ();
- ARDOUR::MusicFrame adjusted_frame (ARDOUR::framepos_t, GdkEvent const *, bool snap = true) const;
- ARDOUR::framepos_t adjusted_current_frame (GdkEvent const *, bool snap = true) const;
+ ARDOUR::MusicSample adjusted_sample (ARDOUR::samplepos_t, GdkEvent const *, bool snap = true) const;
+ ARDOUR::samplepos_t adjusted_current_sample (GdkEvent const *, bool snap = true) const;
bool was_double_click() const { return _was_double_click; }
void set_double_click (bool yn) { _was_double_click = yn; }
@@ -183,8 +183,8 @@ public:
return true;
}
- /** @return minimum number of frames (in x) and pixels (in y) that should be considered a movement */
- virtual std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ /** @return minimum number of samples (in x) and pixels (in y) that should be considered a movement */
+ virtual std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (1, 1);
}
@@ -206,9 +206,9 @@ public:
return _initially_vertical;
}
- /** Set up the _pointer_frame_offset */
- virtual void setup_pointer_frame_offset () {
- _pointer_frame_offset = 0;
+ /** Set up the _pointer_sample_offset */
+ virtual void setup_pointer_sample_offset () {
+ _pointer_sample_offset = 0;
}
protected:
@@ -221,12 +221,12 @@ protected:
return _grab_y;
}
- ARDOUR::framepos_t raw_grab_frame () const {
- return _raw_grab_frame;
+ ARDOUR::samplepos_t raw_grab_sample () const {
+ return _raw_grab_sample;
}
- ARDOUR::framepos_t grab_frame () const {
- return _grab_frame;
+ ARDOUR::samplepos_t grab_sample () const {
+ return _grab_sample;
}
double last_pointer_x () const {
@@ -237,30 +237,30 @@ protected:
return _last_pointer_y;
}
- ARDOUR::framepos_t last_pointer_frame () const {
- return _last_pointer_frame;
+ ARDOUR::samplepos_t last_pointer_sample () const {
+ return _last_pointer_sample;
}
- ARDOUR::frameoffset_t snap_delta (guint const) const;
+ ARDOUR::sampleoffset_t snap_delta (guint const) const;
double snap_delta_music (guint const) const;
double current_pointer_x () const;
double current_pointer_y () const;
/* sets snap delta from unsnapped pos */
- void setup_snap_delta (ARDOUR::MusicFrame pos);
+ void setup_snap_delta (ARDOUR::MusicSample pos);
boost::shared_ptr<ARDOUR::Region> add_midi_region (MidiTimeAxisView*, bool commit);
- void show_verbose_cursor_time (framepos_t);
- void show_verbose_cursor_duration (framepos_t, framepos_t, double xoffset = 0);
+ void show_verbose_cursor_time (samplepos_t);
+ void show_verbose_cursor_duration (samplepos_t, samplepos_t, double xoffset = 0);
void show_verbose_cursor_text (std::string const &);
Editor* _editor; ///< our editor
DragManager* _drags;
ArdourCanvas::Item* _item; ///< our item
/** Offset from the mouse's position for the drag to the start of the thing that is being dragged */
- ARDOUR::framecnt_t _pointer_frame_offset;
+ ARDOUR::samplecnt_t _pointer_sample_offset;
bool _x_constrained; ///< true if x motion is constrained, otherwise false
bool _y_constrained; ///< true if y motion is constrained, otherwise false
bool _was_rolling; ///< true if the session was rolling before the drag started, otherwise false
@@ -275,14 +275,14 @@ private:
double _grab_y; ///< y of the grab start position, possibly adjusted if _trackview_only is true
double _last_pointer_x; ///< trackview x of the pointer last time a motion occurred
double _last_pointer_y; ///< trackview y of the pointer last time a motion occurred
- ARDOUR::framepos_t _raw_grab_frame; ///< unsnapped frame that the mouse was at when start_grab was called, or 0
- ARDOUR::framepos_t _grab_frame; ///< adjusted_frame that the mouse was at when start_grab was called, or 0
- ARDOUR::framepos_t _last_pointer_frame; ///< adjusted_frame the last time a motion occurred
+ ARDOUR::samplepos_t _raw_grab_sample; ///< unsnapped sample that the mouse was at when start_grab was called, or 0
+ ARDOUR::samplepos_t _grab_sample; ///< adjusted_sample that the mouse was at when start_grab was called, or 0
+ ARDOUR::samplepos_t _last_pointer_sample; ///< adjusted_sample the last time a motion occurred
/* difference between some key position's snapped and unsnapped
- * framepos. used for relative snap.
+ * samplepos. used for relative snap.
*/
- framepos_t _snap_delta;
+ samplepos_t _snap_delta;
double _snap_delta_music;
CursorContext::Handle _cursor_ctx; ///< cursor change context
bool _constraint_pressed; ///< if the keyboard indicated constraint modifier was pressed on start_grab()
@@ -307,9 +307,9 @@ public:
*/
double layer;
double initial_y; ///< the initial y position of the view before any reparenting
- framepos_t initial_position; ///< initial position of the region
- framepos_t initial_end; ///< initial end position of the region
- framepos_t anchored_fade_length; ///< fade_length when anchored during drag
+ samplepos_t initial_position; ///< initial position of the region
+ samplepos_t initial_end; ///< initial end position of the region
+ samplepos_t anchored_fade_length; ///< fade_length when anchored during drag
boost::shared_ptr<ARDOUR::Playlist> initial_playlist;
TimeAxisView* initial_time_axis_view;
};
@@ -364,12 +364,12 @@ public:
protected:
- double compute_x_delta (GdkEvent const *, ARDOUR::MusicFrame *);
+ double compute_x_delta (GdkEvent const *, ARDOUR::MusicSample *);
virtual bool y_movement_allowed (int, double, int skip_invisible = 0) const;
bool _brushing;
bool _ignore_video_lock;
- ARDOUR::MusicFrame _last_position; ///< last position of the thing being dragged
+ ARDOUR::MusicSample _last_position; ///< last position of the thing being dragged
double _total_x_delta;
int _last_pointer_time_axis_view;
double _last_pointer_layer;
@@ -397,11 +397,11 @@ public:
return true;
}
- std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (4, 4);
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
protected:
typedef std::set<boost::shared_ptr<ARDOUR::Playlist> > PlaylistSet;
@@ -411,14 +411,14 @@ private:
void finished_no_copy (
bool const,
bool const,
- ARDOUR::MusicFrame,
+ ARDOUR::MusicSample,
int32_t const ev_state
);
void finished_copy (
bool const,
bool const,
- ARDOUR::MusicFrame,
+ ARDOUR::MusicSample,
int32_t const ev_state
);
@@ -426,7 +426,7 @@ private:
boost::shared_ptr<ARDOUR::Region>,
RouteTimeAxisView*,
ARDOUR::layer_t,
- ARDOUR::MusicFrame,
+ ARDOUR::MusicSample,
double quarter_note,
PlaylistSet&,
bool for_music = false
@@ -450,7 +450,7 @@ private:
class RegionInsertDrag : public RegionMotionDrag
{
public:
- RegionInsertDrag (Editor *, boost::shared_ptr<ARDOUR::Region>, RouteTimeAxisView*, ARDOUR::framepos_t);
+ RegionInsertDrag (Editor *, boost::shared_ptr<ARDOUR::Region>, RouteTimeAxisView*, ARDOUR::samplepos_t);
void finished (GdkEvent *, bool);
void aborted (bool);
@@ -488,13 +488,13 @@ protected:
private:
TimeAxisView *prev_tav; // where regions were most recently dragged from
TimeAxisView *orig_tav; // where drag started
- ARDOUR::framecnt_t prev_amount;
- ARDOUR::framepos_t prev_position;
- ARDOUR::framecnt_t selection_length;
+ ARDOUR::samplecnt_t prev_amount;
+ ARDOUR::samplepos_t prev_position;
+ ARDOUR::samplecnt_t selection_length;
bool allow_moves_across_tracks; // only if all selected regions are on one track
ARDOUR::RegionList *exclude;
- void add_all_after_to_views (TimeAxisView *tav, ARDOUR::framepos_t where, const RegionSelection &exclude, bool drag_in_progress);
- void remove_unselected_from_views (ARDOUR::framecnt_t amount, bool move_regions);
+ void add_all_after_to_views (TimeAxisView *tav, ARDOUR::samplepos_t where, const RegionSelection &exclude, bool drag_in_progress);
+ void remove_unselected_from_views (ARDOUR::samplecnt_t amount, bool move_regions);
};
@@ -502,7 +502,7 @@ private:
class RegionCutDrag : public Drag
{
public:
- RegionCutDrag (Editor*, ArdourCanvas::Item*, framepos_t);
+ RegionCutDrag (Editor*, ArdourCanvas::Item*, samplepos_t);
~RegionCutDrag ();
void start_grab (GdkEvent *, Gdk::Cursor* c = 0);
@@ -559,7 +559,7 @@ public:
void finished (GdkEvent *, bool);
void aborted (bool);
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
double total_dx (GdkEvent * event) const; // total movement in quarter notes
@@ -596,16 +596,16 @@ public:
private:
double y_to_region (double) const;
- ARDOUR::framecnt_t grid_frames (framepos_t) const;
+ ARDOUR::samplecnt_t grid_samples (samplepos_t) const;
- /** @return minimum number of frames (in x) and pixels (in y) that should be considered a movement */
- virtual std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ /** @return minimum number of samples (in x) and pixels (in y) that should be considered a movement */
+ virtual std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (0, 0);
}
MidiRegionView* _region_view;
ArdourCanvas::Rectangle* _drag_rect;
- framepos_t _note[2];
+ samplepos_t _note[2];
};
class HitCreateDrag : public Drag
@@ -629,15 +629,15 @@ public:
private:
double y_to_region (double) const;
- ARDOUR::framecnt_t grid_frames (framepos_t) const;
+ ARDOUR::samplecnt_t grid_samples (samplepos_t) const;
- /** @return minimum number of frames (in x) and pixels (in y) that should be considered a movement */
- virtual std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ /** @return minimum number of samples (in x) and pixels (in y) that should be considered a movement */
+ virtual std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (0, 0);
}
MidiRegionView* _region_view;
- framepos_t _last_pos;
+ samplepos_t _last_pos;
double _y;
};
@@ -656,7 +656,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
MidiRegionView* _region_view;
@@ -671,7 +671,7 @@ public:
AVDraggingView (RegionView *);
RegionView* view; ///< the view
- framepos_t initial_position; ///< initial position of the region
+ samplepos_t initial_position; ///< initial position of the region
};
/** Drag of video offset */
@@ -698,8 +698,8 @@ protected:
std::list<AVDraggingView> _views; ///< information about all audio that are being dragged along
private:
- ARDOUR::frameoffset_t _startdrag_video_offset;
- ARDOUR::frameoffset_t _max_backwards_drag;
+ ARDOUR::sampleoffset_t _startdrag_video_offset;
+ ARDOUR::sampleoffset_t _max_backwards_drag;
bool _stuck;
};
@@ -724,7 +724,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
@@ -753,7 +753,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
MeterMarker* _marker;
@@ -784,7 +784,7 @@ public:
return true;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
TempoMarker* _marker;
@@ -816,7 +816,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
double _grab_qn;
@@ -844,7 +844,7 @@ public:
return true;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
double _grab_qn;
@@ -875,7 +875,7 @@ public:
return true;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
double _grab_qn;
@@ -904,11 +904,11 @@ public:
}
private:
- void fake_locate (framepos_t);
+ void fake_locate (samplepos_t);
EditorCursor& _cursor;
bool _stop; ///< true to stop the transport on starting the drag, otherwise false
- double _grab_zoom; ///< editor frames per unit when our grab started
+ double _grab_zoom; ///< editor samples per unit when our grab started
//used for zooming
int _last_mx;
@@ -932,7 +932,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
};
/** Region fade-out drag */
@@ -950,7 +950,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
};
/** Marker drag */
@@ -973,7 +973,7 @@ public:
return false;
}
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
void update_item (ARDOUR::Location *);
@@ -1072,7 +1072,7 @@ public:
void finished (GdkEvent *, bool);
void aborted (bool);
- std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (8, 1);
}
@@ -1080,13 +1080,13 @@ public:
/** Select some things within a rectangle.
* @param button_state The button state from the GdkEvent.
- * @param x1 The left-hand side of the rectangle in session frames.
- * @param x2 The right-hand side of the rectangle in session frames.
+ * @param x1 The left-hand side of the rectangle in session samples.
+ * @param x2 The right-hand side of the rectangle in session samples.
* @param y1 The top of the rectangle in trackview coordinates.
* @param y2 The bottom of the rectangle in trackview coordinates.
* @param drag_in_progress true if the drag is currently happening.
*/
- virtual void select_things (int button_state, framepos_t x1, framepos_t x2, double y1, double y2, bool drag_in_progress) = 0;
+ virtual void select_things (int button_state, samplepos_t x1, samplepos_t x2, double y1, double y2, bool drag_in_progress) = 0;
virtual void deselect_things () = 0;
@@ -1100,7 +1100,7 @@ class EditorRubberbandSelectDrag : public RubberbandSelectDrag
public:
EditorRubberbandSelectDrag (Editor *, ArdourCanvas::Item *);
- void select_things (int, framepos_t, framepos_t, double, double, bool);
+ void select_things (int, samplepos_t, samplepos_t, double, double, bool);
void deselect_things ();
};
@@ -1110,7 +1110,7 @@ class MidiRubberbandSelectDrag : public RubberbandSelectDrag
public:
MidiRubberbandSelectDrag (Editor *, MidiRegionView *);
- void select_things (int, framepos_t, framepos_t, double, double, bool);
+ void select_things (int, samplepos_t, samplepos_t, double, double, bool);
void deselect_things ();
private:
@@ -1123,7 +1123,7 @@ class MidiVerticalSelectDrag : public RubberbandSelectDrag
public:
MidiVerticalSelectDrag (Editor *, MidiRegionView *);
- void select_things (int, framepos_t, framepos_t, double, double, bool);
+ void select_things (int, samplepos_t, samplepos_t, double, double, bool);
void deselect_things ();
private:
@@ -1173,15 +1173,15 @@ public:
void finished (GdkEvent *, bool);
void aborted (bool);
- void setup_pointer_frame_offset ();
+ void setup_pointer_sample_offset ();
private:
Operation _operation;
bool _add;
TrackSelection _track_selection_at_start;
bool _time_selection_at_start;
- framepos_t start_at_start;
- framepos_t end_at_start;
+ samplepos_t start_at_start;
+ samplepos_t end_at_start;
};
/** Range marker drag */
@@ -1230,7 +1230,7 @@ public:
void finished (GdkEvent *, bool);
void aborted (bool);
- std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (4, 4);
}
@@ -1267,7 +1267,7 @@ private:
struct Line {
boost::shared_ptr<AutomationLine> line; ///< the line
std::list<ControlPoint*> points; ///< points to drag on the line
- std::pair<ARDOUR::framepos_t, ARDOUR::framepos_t> range; ///< the range of all points on the line, in session frames
+ std::pair<ARDOUR::samplepos_t, ARDOUR::samplepos_t> range; ///< the range of all points on the line, in session samples
XMLNode* state; ///< the XML state node before the drag
double original_fraction; ///< initial y-fraction before the drag
};
@@ -1294,7 +1294,7 @@ public:
return false;
}
- virtual std::pair<ARDOUR::framecnt_t, int> move_threshold () const {
+ virtual std::pair<ARDOUR::samplecnt_t, int> move_threshold () const {
return std::make_pair (4, 4);
}
diff --git a/gtk2_ardour/editor_export_audio.cc b/gtk2_ardour/editor_export_audio.cc
index 1a4f88e2f2..8159b784bc 100644
--- a/gtk2_ardour/editor_export_audio.cc
+++ b/gtk2_ardour/editor_export_audio.cc
@@ -213,11 +213,11 @@ bool
Editor::write_region (string path, boost::shared_ptr<AudioRegion> region)
{
boost::shared_ptr<AudioFileSource> fs;
- const framepos_t chunk_size = 4096;
- framepos_t to_read;
+ const samplepos_t chunk_size = 4096;
+ samplepos_t to_read;
Sample buf[chunk_size];
gain_t gain_buffer[chunk_size];
- framepos_t pos;
+ samplepos_t pos;
char s[PATH_MAX+1];
uint32_t cnt;
vector<boost::shared_ptr<AudioFileSource> > sources;
@@ -266,7 +266,7 @@ Editor::write_region (string path, boost::shared_ptr<AudioRegion> region)
fs = boost::dynamic_pointer_cast<AudioFileSource> (
SourceFactory::createWritable (DataType::AUDIO, *_session,
path, true,
- false, _session->frame_rate()));
+ false, _session->sample_rate()));
}
catch (failed_constructor& err) {
@@ -285,7 +285,7 @@ Editor::write_region (string path, boost::shared_ptr<AudioRegion> region)
pos = region->position();
while (to_read) {
- framepos_t this_time;
+ samplepos_t this_time;
this_time = min (to_read, chunk_size);
@@ -363,11 +363,11 @@ bool
Editor::write_audio_range (AudioPlaylist& playlist, const ChanCount& count, list<AudioRange>& range)
{
boost::shared_ptr<AudioFileSource> fs;
- const framepos_t chunk_size = 4096;
- framepos_t nframes;
+ const samplepos_t chunk_size = 4096;
+ samplepos_t nframes;
Sample buf[chunk_size];
gain_t gain_buffer[chunk_size];
- framepos_t pos;
+ samplepos_t pos;
char s[PATH_MAX+1];
uint32_t cnt;
string path;
@@ -405,7 +405,7 @@ Editor::write_audio_range (AudioPlaylist& playlist, const ChanCount& count, list
fs = boost::dynamic_pointer_cast<AudioFileSource> (
SourceFactory::createWritable (DataType::AUDIO, *_session,
path, true,
- false, _session->frame_rate()));
+ false, _session->sample_rate()));
}
catch (failed_constructor& err) {
@@ -423,7 +423,7 @@ Editor::write_audio_range (AudioPlaylist& playlist, const ChanCount& count, list
pos = (*i).start;
while (nframes) {
- framepos_t this_time;
+ samplepos_t this_time;
this_time = min (nframes, chunk_size);
@@ -455,7 +455,7 @@ Editor::write_audio_range (AudioPlaylist& playlist, const ChanCount& count, list
while (nframes) {
- framepos_t this_time = min (nframes, chunk_size);
+ samplepos_t this_time = min (nframes, chunk_size);
memset (buf, 0, sizeof (Sample) * this_time);
for (uint32_t n=0; n < channels; ++n) {
diff --git a/gtk2_ardour/editor_keys.cc b/gtk2_ardour/editor_keys.cc
index 2c64d6f4f3..2be9f8d6de 100644
--- a/gtk2_ardour/editor_keys.cc
+++ b/gtk2_ardour/editor_keys.cc
@@ -43,10 +43,10 @@ Editor::keyboard_selection_finish (bool /*add*/, Editing::EditIgnoreOption ign)
{
if (_session) {
- MusicFrame start (selection->time.start(), 0);
- framepos_t end;
+ MusicSample start (selection->time.start(), 0);
+ samplepos_t end;
if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
- end = _session->audible_frame();
+ end = _session->audible_sample();
} else {
end = get_preferred_edit_position(ign);
}
@@ -58,7 +58,7 @@ Editor::keyboard_selection_finish (bool /*add*/, Editing::EditIgnoreOption ign)
if ( (_edit_point == EditAtPlayhead) && selection->tracks.empty() )
select_all_tracks();
- selection->set (start.frame, end);
+ selection->set (start.sample, end);
//if session is playing a range, cancel that
if (_session->get_play_range())
@@ -72,25 +72,25 @@ Editor::keyboard_selection_begin (Editing::EditIgnoreOption ign)
{
if (_session) {
- MusicFrame start (0, 0);
- MusicFrame end (selection->time.end_frame(), 0);
+ MusicSample start (0, 0);
+ MusicSample end (selection->time.end_sample(), 0);
if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
- start.frame = _session->audible_frame();
+ start.sample = _session->audible_sample();
} else {
- start.frame = get_preferred_edit_position(ign);
+ start.sample = get_preferred_edit_position(ign);
}
//snap the selection start/end
snap_to(start);
//if there's not already a sensible selection endpoint, go "forever"
- if (start.frame > end.frame) {
+ if (start.sample > end.sample) {
#ifdef MIXBUS
// 4hours at most.
// This works around a visual glitch in red-bordered selection rect.
- end.frame = start.frame + _session->nominal_frame_rate() * 60 * 60 * 4;
+ end.sample = start.sample + _session->nominal_sample_rate() * 60 * 60 * 4;
#else
- end.frame = max_framepos;
+ end.sample = max_samplepos;
#endif
}
@@ -98,7 +98,7 @@ Editor::keyboard_selection_begin (Editing::EditIgnoreOption ign)
if ( selection->tracks.empty() )
select_all_tracks();
- selection->set (start.frame, end.frame);
+ selection->set (start.sample, end.sample);
//if session is playing a range, cancel that
if (_session->get_play_range())
diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc
index 996b5878bd..782c1e5f9a 100644
--- a/gtk2_ardour/editor_markers.cc
+++ b/gtk2_ardour/editor_markers.cc
@@ -597,8 +597,8 @@ Editor::LocationMarkers::set_name (const string& str)
}
void
-Editor::LocationMarkers::set_position (framepos_t startf,
- framepos_t endf)
+Editor::LocationMarkers::set_position (samplepos_t startf,
+ samplepos_t endf)
{
start->set_position (startf);
if (end) {
@@ -643,7 +643,7 @@ Editor::LocationMarkers::setup_lines ()
}
void
-Editor::mouse_add_new_marker (framepos_t where, bool is_cd)
+Editor::mouse_add_new_marker (samplepos_t where, bool is_cd)
{
string markername;
int flags = (is_cd ? Location::IsCDMarker|Location::IsMark : Location::IsMark);
@@ -674,7 +674,7 @@ Editor::mouse_add_new_marker (framepos_t where, bool is_cd)
}
void
-Editor::mouse_add_new_loop (framepos_t where)
+Editor::mouse_add_new_loop (samplepos_t where)
{
if (!_session) {
return;
@@ -684,13 +684,13 @@ Editor::mouse_add_new_loop (framepos_t where)
it's reasonably easy to manipulate after creation.
*/
- framepos_t const end = where + current_page_samples() / 8;
+ samplepos_t const end = where + current_page_samples() / 8;
set_loop_range (where, end, _("set loop range"));
}
void
-Editor::mouse_add_new_punch (framepos_t where)
+Editor::mouse_add_new_punch (samplepos_t where)
{
if (!_session) {
return;
@@ -700,13 +700,13 @@ Editor::mouse_add_new_punch (framepos_t where)
it's reasonably easy to manipulate after creation.
*/
- framepos_t const end = where + current_page_samples() / 8;
+ samplepos_t const end = where + current_page_samples() / 8;
set_punch_range (where, end, _("set punch range"));
}
void
-Editor::mouse_add_new_range (framepos_t where)
+Editor::mouse_add_new_range (samplepos_t where)
{
if (!_session) {
return;
@@ -716,7 +716,7 @@ Editor::mouse_add_new_range (framepos_t where)
it's reasonably easy to manipulate after creation.
*/
- framepos_t const end = where + current_page_samples() / 8;
+ samplepos_t const end = where + current_page_samples() / 8;
string name;
_session->locations()->next_available_name (name, _("range"));
@@ -1220,11 +1220,11 @@ Editor::marker_menu_range_to_next ()
return;
}
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
_session->locations()->marks_either_side (marker->position(), start, end);
- if (end != max_framepos) {
+ if (end != max_samplepos) {
string range_name = l->name();
range_name += "-range";
@@ -1250,13 +1250,13 @@ Editor::marker_menu_set_from_playhead ()
if ((l = find_location_from_marker (marker, is_start)) != 0) {
if (l->is_mark()) {
- l->set_start (_session->audible_frame (), false, true, divisions);
+ l->set_start (_session->audible_sample (), false, true, divisions);
}
else {
if (is_start) {
- l->set_start (_session->audible_frame (), false, true, divisions);
+ l->set_start (_session->audible_sample (), false, true, divisions);
} else {
- l->set_end (_session->audible_frame (), false, true, divisions);
+ l->set_end (_session->audible_sample (), false, true, divisions);
}
}
}
@@ -1284,9 +1284,9 @@ Editor::marker_menu_set_from_selection (bool /*force_regions*/)
} else {
if (!selection->time.empty()) {
- l->set (selection->time.start(), selection->time.end_frame());
+ l->set (selection->time.start(), selection->time.end_sample());
} else if (!selection->regions.empty()) {
- l->set (selection->regions.start(), selection->regions.end_frame());
+ l->set (selection->regions.start(), selection->regions.end_sample());
}
}
}
@@ -1353,18 +1353,18 @@ Editor::marker_menu_zoom_to_range ()
return;
}
- framecnt_t const extra = l->length() * 0.05;
- framepos_t a = l->start ();
+ samplecnt_t const extra = l->length() * 0.05;
+ samplepos_t a = l->start ();
if (a >= extra) {
a -= extra;
}
- framepos_t b = l->end ();
- if (b < (max_framepos - extra)) {
+ samplepos_t b = l->end ();
+ if (b < (max_samplepos - extra)) {
b += extra;
}
- temporal_zoom_by_frame (a, b);
+ temporal_zoom_by_sample (a, b);
}
void
@@ -1426,7 +1426,7 @@ Editor::toggle_marker_lock_style ()
const Timecode::BBT_Time bbt (msp->bbt());
const PositionLockStyle pls = (msp->position_lock_style() == AudioTime) ? MusicTime : AudioTime;
- _session->tempo_map().replace_meter (*msp, meter, bbt, msp->frame(), pls);
+ _session->tempo_map().replace_meter (*msp, meter, bbt, msp->sample(), pls);
XMLNode &after = _session->tempo_map().get_state();
_session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after));
@@ -1435,14 +1435,14 @@ Editor::toggle_marker_lock_style ()
TempoSection* tsp = &tm->tempo();
const double pulse = tsp->pulse();
- const framepos_t frame = tsp->frame();
+ const samplepos_t sample = tsp->sample();
const PositionLockStyle pls = (tsp->position_lock_style() == AudioTime) ? MusicTime : AudioTime;
const Tempo tempo (tsp->note_types_per_minute(), tsp->note_type(), tsp->end_note_types_per_minute());
begin_reversible_command (_("change tempo lock style"));
XMLNode &before = _session->tempo_map().get_state();
- _session->tempo_map().replace_tempo (*tsp, tempo, pulse, frame, pls);
+ _session->tempo_map().replace_tempo (*tsp, tempo, pulse, sample, pls);
XMLNode &after = _session->tempo_map().get_state();
_session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after));
@@ -1462,13 +1462,13 @@ Editor::toggle_tempo_type ()
const Tempo tempo (tsp->note_types_per_minute(), tsp->note_type());
const double pulse = tsp->pulse();
- const framepos_t frame = tsp->frame();
+ const samplepos_t sample = tsp->sample();
const PositionLockStyle pls = tsp->position_lock_style();
begin_reversible_command (_("set tempo to constant"));
XMLNode &before = _session->tempo_map().get_state();
- _session->tempo_map().replace_tempo (*tsp, tempo, pulse, frame, pls);
+ _session->tempo_map().replace_tempo (*tsp, tempo, pulse, sample, pls);
XMLNode &after = _session->tempo_map().get_state();
_session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after));
@@ -1518,13 +1518,13 @@ Editor::ramp_to_next_tempo ()
if (next_ts) {
const Tempo tempo (tsp->note_types_per_minute(), tsp->note_type(), next_ts->note_types_per_minute());
const double pulse = tsp->pulse();
- const framepos_t frame = tsp->frame();
+ const samplepos_t sample = tsp->sample();
const PositionLockStyle pls = tsp->position_lock_style();
begin_reversible_command (_("ramp to next tempo"));
XMLNode &before = _session->tempo_map().get_state();
- tmap.replace_tempo (*tsp, tempo, pulse, frame, pls);
+ tmap.replace_tempo (*tsp, tempo, pulse, sample, pls);
XMLNode &after = _session->tempo_map().get_state();
_session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after));
@@ -1696,7 +1696,7 @@ Editor::update_punch_range_view ()
if (_session->config.get_punch_out()) {
pixel_end = sample_to_pixel (tpl->end());
} else {
- pixel_end = sample_to_pixel (max_framepos);
+ pixel_end = sample_to_pixel (max_samplepos);
}
transport_punch_range_rect->set_x0 (pixel_start);
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index 21ace734c2..2509889853 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -83,7 +83,7 @@ using namespace Editing;
using Gtkmm2ext::Keyboard;
bool
-Editor::mouse_frame (framepos_t& where, bool& in_track_canvas) const
+Editor::mouse_sample (samplepos_t& where, bool& in_track_canvas) const
{
/* gdk_window_get_pointer() has X11's XQueryPointer semantics in that it only
pays attentions to subwindows. this means that menu windows are ignored, and
@@ -130,7 +130,7 @@ Editor::mouse_frame (framepos_t& where, bool& in_track_canvas) const
return true;
}
-framepos_t
+samplepos_t
Editor::window_event_sample (GdkEvent const * event, double* pcx, double* pcy) const
{
ArdourCanvas::Duple d;
@@ -155,7 +155,7 @@ Editor::window_event_sample (GdkEvent const * event, double* pcx, double* pcy) c
return pixel_to_sample (d.x);
}
-framepos_t
+samplepos_t
Editor::canvas_event_sample (GdkEvent const * event, double* pcx, double* pcy) const
{
double x;
@@ -178,7 +178,7 @@ Editor::canvas_event_sample (GdkEvent const * event, double* pcx, double* pcy) c
/* note that pixel_to_sample_from_event() never returns less than zero, so even if the pixel
position is negative (as can be the case with motion events in particular),
- the frame location is always positive.
+ the sample location is always positive.
*/
return pixel_to_sample_from_event (x);
@@ -535,7 +535,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
std::list<Selectable*> selectables;
uint32_t before, after;
- framecnt_t const where = (framecnt_t) floor (event->button.x * samples_per_pixel) - clicked_regionview->region ()->position ();
+ samplecnt_t const where = (samplecnt_t) floor (event->button.x * samples_per_pixel) - clicked_regionview->region ()->position ();
if (!argl || !argl->control_points_adjacent (where, before, after)) {
break;
@@ -581,7 +581,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
al->grab_item().canvas_to_item (mx, my);
uint32_t before, after;
- framecnt_t const where = (framecnt_t) floor (mx * samples_per_pixel);
+ samplecnt_t const where = (samplecnt_t) floor (mx * samples_per_pixel);
if (!al || !al->control_points_adjacent (where, before, after)) {
break;
@@ -1052,7 +1052,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
_drags->set (new RegionCreateDrag (this, item, parent), event);
} else {
/* See if there's a region before the click that we can extend, and extend it if so */
- framepos_t const t = canvas_event_sample (event);
+ samplepos_t const t = canvas_event_sample (event);
boost::shared_ptr<Region> prev = pl->find_next_region (t, End, -1);
if (!prev) {
_drags->set (new RegionCreateDrag (this, item, parent), event);
@@ -1283,9 +1283,9 @@ Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemTyp
UIConfiguration::instance().get_follow_edits() &&
!_session->config.get_external_sync()) {
- MusicFrame where (canvas_event_sample (event), 0);
+ MusicSample where (canvas_event_sample (event), 0);
snap_to (where);
- _session->request_locate (where.frame, false);
+ _session->request_locate (where.sample, false);
}
switch (event->button.button) {
@@ -1332,7 +1332,7 @@ Editor::button_release_dispatch (GdkEventButton* ev)
bool
Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type)
{
- MusicFrame where (canvas_event_sample (event), 0);
+ MusicSample where (canvas_event_sample (event), 0);
AutomationTimeAxisView* atv = 0;
_press_cursor_ctx.reset();
@@ -1480,7 +1480,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case SamplesRulerItem:
case MinsecRulerItem:
case BBTRulerItem:
- popup_ruler_menu (where.frame, item_type);
+ popup_ruler_menu (where.sample, item_type);
break;
case MarkerItem:
@@ -1572,7 +1572,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
case MarkerBarItem:
if (!_dragging_playhead) {
snap_to_with_modifier (where, event, RoundNearest, true);
- mouse_add_new_marker (where.frame);
+ mouse_add_new_marker (where.sample);
}
return true;
@@ -1580,14 +1580,14 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
if (!_dragging_playhead) {
// if we get here then a dragged range wasn't done
snap_to_with_modifier (where, event, RoundNearest, true);
- mouse_add_new_marker (where.frame, true);
+ mouse_add_new_marker (where.sample, true);
}
return true;
case TempoBarItem:
case TempoCurveItem:
if (!_dragging_playhead && Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
snap_to_with_modifier (where, event);
- mouse_add_new_tempo_event (where.frame);
+ mouse_add_new_tempo_event (where.sample);
}
return true;
@@ -1631,7 +1631,7 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
bool with_guard_points = Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier);
atv = dynamic_cast<AutomationTimeAxisView*>(clicked_axisview);
if (atv) {
- atv->add_automation_event (event, where.frame, event->button.y, with_guard_points);
+ atv->add_automation_event (event, where.sample, event->button.y, with_guard_points);
}
return true;
break;
@@ -1967,13 +1967,13 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
}
void
-Editor::scrub (framepos_t frame, double current_x)
+Editor::scrub (samplepos_t sample, double current_x)
{
double delta;
if (scrubbing_direction == 0) {
/* first move */
- _session->request_locate (frame, false);
+ _session->request_locate (sample, false);
_session->request_transport_speed (0.1);
scrubbing_direction = 1;
@@ -2208,7 +2208,7 @@ Editor::region_view_item_click (AudioRegionView& rv, GdkEventButton* event)
TimeAxisView* tv = &rv.get_time_axis_view();
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*>(tv);
- framepos_t where = get_preferred_edit_position();
+ samplepos_t where = get_preferred_edit_position();
if (where >= 0) {
@@ -2263,7 +2263,7 @@ Editor::cancel_time_selection ()
}
void
-Editor::point_trim (GdkEvent* event, framepos_t new_bound)
+Editor::point_trim (GdkEvent* event, samplepos_t new_bound)
{
RegionView* rv = clicked_regionview;
@@ -2366,7 +2366,7 @@ Editor::mouse_rename_region (ArdourCanvas::Item* /*item*/, GdkEvent* /*event*/)
void
-Editor::mouse_brush_insert_region (RegionView* rv, framepos_t pos)
+Editor::mouse_brush_insert_region (RegionView* rv, samplepos_t pos)
{
/* no brushing without a useful snap setting */
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index b0eba11cd9..4bd853002c 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -173,7 +173,7 @@ Editor::redo (uint32_t n)
}
void
-Editor::split_regions_at (MusicFrame where, RegionSelection& regions, bool snap_frame)
+Editor::split_regions_at (MusicSample where, RegionSelection& regions, bool snap_sample)
{
bool frozen = false;
@@ -199,12 +199,12 @@ Editor::split_regions_at (MusicFrame where, RegionSelection& regions, bool snap_
case SnapToRegionEnd:
break;
default:
- if (snap_frame) {
+ if (snap_sample) {
snap_to (where);
}
}
} else {
- if (snap_frame) {
+ if (snap_sample) {
snap_to (where);
}
@@ -220,7 +220,7 @@ Editor::split_regions_at (MusicFrame where, RegionSelection& regions, bool snap_
have something to split.
*/
- if (!(*a)->region()->covers (where.frame)) {
+ if (!(*a)->region()->covers (where.sample)) {
++a;
continue;
}
@@ -298,7 +298,7 @@ Editor::split_regions_at (MusicFrame where, RegionSelection& regions, bool snap_
}
for (RegionSelection::iterator ri = latest_regionviews.begin(); ri != latest_regionviews.end(); ri++) {
- if ((*ri)->region()->position() < where.frame) {
+ if ((*ri)->region()->position() < where.sample) {
// new regions created before the split
if (rsas & NewlyCreatedLeft) {
selection->add (*ri);
@@ -330,15 +330,15 @@ Editor::split_regions_at (MusicFrame where, RegionSelection& regions, bool snap_
void
Editor::move_range_selection_start_or_end_to_region_boundary (bool move_end, bool next)
{
- if (selection->time.start() == selection->time.end_frame()) {
+ if (selection->time.start() == selection->time.end_sample()) {
return;
}
- framepos_t start = selection->time.start ();
- framepos_t end = selection->time.end_frame ();
+ samplepos_t start = selection->time.start ();
+ samplepos_t end = selection->time.end_sample ();
/* the position of the thing we may move */
- framepos_t pos = move_end ? end : start;
+ samplepos_t pos = move_end ? end : start;
int dir = next ? 1 : -1;
/* so we don't find the current region again */
@@ -346,7 +346,7 @@ Editor::move_range_selection_start_or_end_to_region_boundary (bool move_end, boo
pos += dir;
}
- framepos_t const target = get_region_boundary (pos, dir, true, false);
+ samplepos_t const target = get_region_boundary (pos, dir, true, false);
if (target < 0) {
return;
}
@@ -392,8 +392,8 @@ Editor::nudge_backward_release (GdkEventButton* ev)
void
Editor::nudge_forward (bool next, bool force_playhead)
{
- framepos_t distance;
- framepos_t next_distance;
+ samplepos_t distance;
+ samplepos_t next_distance;
if (!_session) {
return;
@@ -441,20 +441,20 @@ Editor::nudge_forward (bool next, bool force_playhead)
if (next) {
distance = next_distance;
}
- if (max_framepos - distance > loc->start() + loc->length()) {
+ if (max_samplepos - distance > loc->start() + loc->length()) {
loc->set_start (loc->start() + distance, false, true, divisions);
} else {
- loc->set_start (max_framepos - loc->length(), false, true, divisions);
+ loc->set_start (max_samplepos - loc->length(), false, true, divisions);
}
} else {
distance = get_nudge_distance (loc->end(), next_distance);
if (next) {
distance = next_distance;
}
- if (max_framepos - distance > loc->end()) {
+ if (max_samplepos - distance > loc->end()) {
loc->set_end (loc->end() + distance, false, true, divisions);
} else {
- loc->set_end (max_framepos, false, true, divisions);
+ loc->set_end (max_samplepos, false, true, divisions);
}
if (loc->is_session_range()) {
_session->set_end_is_free (false);
@@ -473,16 +473,16 @@ Editor::nudge_forward (bool next, bool force_playhead)
commit_reversible_command ();
}
} else {
- distance = get_nudge_distance (playhead_cursor->current_frame (), next_distance);
- _session->request_locate (playhead_cursor->current_frame () + distance);
+ distance = get_nudge_distance (playhead_cursor->current_sample (), next_distance);
+ _session->request_locate (playhead_cursor->current_sample () + distance);
}
}
void
Editor::nudge_backward (bool next, bool force_playhead)
{
- framepos_t distance;
- framepos_t next_distance;
+ samplepos_t distance;
+ samplepos_t next_distance;
if (!_session) {
return;
@@ -568,10 +568,10 @@ Editor::nudge_backward (bool next, bool force_playhead)
} else {
- distance = get_nudge_distance (playhead_cursor->current_frame (), next_distance);
+ distance = get_nudge_distance (playhead_cursor->current_sample (), next_distance);
- if (playhead_cursor->current_frame () > distance) {
- _session->request_locate (playhead_cursor->current_frame () - distance);
+ if (playhead_cursor->current_sample () > distance) {
+ _session->request_locate (playhead_cursor->current_sample () - distance);
} else {
_session->goto_start();
}
@@ -589,7 +589,7 @@ Editor::nudge_forward_capture_offset ()
begin_reversible_command (_("nudge forward"));
- framepos_t const distance = _session->worst_output_latency();
+ samplepos_t const distance = _session->worst_output_latency();
for (RegionSelection::iterator i = rs.begin(); i != rs.end(); ++i) {
boost::shared_ptr<Region> r ((*i)->region());
@@ -613,7 +613,7 @@ Editor::nudge_backward_capture_offset ()
begin_reversible_command (_("nudge backward"));
- framepos_t const distance = _session->worst_output_latency();
+ samplepos_t const distance = _session->worst_output_latency();
for (RegionSelection::iterator i = rs.begin(); i != rs.end(); ++i) {
boost::shared_ptr<Region> r ((*i)->region());
@@ -640,8 +640,8 @@ struct RegionSelectionPositionSorter {
void
Editor::sequence_regions ()
{
- framepos_t r_end;
- framepos_t r_end_prev;
+ samplepos_t r_end;
+ samplepos_t r_end_prev;
int iCount=0;
@@ -705,13 +705,13 @@ void
Editor::move_to_end ()
{
- _session->request_locate (_session->current_end_frame());
+ _session->request_locate (_session->current_end_sample());
}
void
Editor::build_region_boundary_cache ()
{
- framepos_t pos = 0;
+ samplepos_t pos = 0;
vector<RegionPoint> interesting_points;
boost::shared_ptr<Region> r;
TrackViewList tracks;
@@ -723,12 +723,12 @@ Editor::build_region_boundary_cache ()
return;
}
- bool maybe_first_frame = false;
+ bool maybe_first_sample = false;
switch (_snap_type) {
case SnapToRegionStart:
interesting_points.push_back (Start);
- maybe_first_frame = true;
+ maybe_first_sample = true;
break;
case SnapToRegionEnd:
interesting_points.push_back (End);
@@ -739,7 +739,7 @@ Editor::build_region_boundary_cache ()
case SnapToRegionBoundary:
interesting_points.push_back (Start);
interesting_points.push_back (End);
- maybe_first_frame = true;
+ maybe_first_sample = true;
break;
default:
fatal << string_compose (_("build_region_boundary_cache called with snap_type = %1"), _snap_type) << endmsg;
@@ -756,7 +756,7 @@ Editor::build_region_boundary_cache ()
tlist = track_views.filter_to_unique_playlists ();
}
- if (maybe_first_frame) {
+ if (maybe_first_sample) {
TrackViewList::const_iterator i;
for (i = tlist.begin(); i != tlist.end(); ++i) {
boost::shared_ptr<Playlist> pl = (*i)->playlist();
@@ -767,10 +767,10 @@ Editor::build_region_boundary_cache ()
}
}
- while (pos < _session->current_end_frame() && !at_end) {
+ while (pos < _session->current_end_sample() && !at_end) {
- framepos_t rpos;
- framepos_t lpos = max_framepos;
+ samplepos_t rpos;
+ samplepos_t lpos = max_samplepos;
for (vector<RegionPoint>::iterator p = interesting_points.begin(); p != interesting_points.end(); ++p) {
@@ -784,11 +784,11 @@ Editor::build_region_boundary_cache ()
switch (*p) {
case Start:
- rpos = r->first_frame();
+ rpos = r->first_sample();
break;
case End:
- rpos = r->last_frame();
+ rpos = r->last_sample();
break;
case SyncPoint:
@@ -807,7 +807,7 @@ Editor::build_region_boundary_cache ()
to sort later.
*/
- vector<framepos_t>::iterator ri;
+ vector<samplepos_t>::iterator ri;
for (ri = region_boundary_cache.begin(); ri != region_boundary_cache.end(); ++ri) {
if (*ri == rpos) {
@@ -829,34 +829,34 @@ Editor::build_region_boundary_cache ()
}
boost::shared_ptr<Region>
-Editor::find_next_region (framepos_t frame, RegionPoint point, int32_t dir, TrackViewList& tracks, TimeAxisView **ontrack)
+Editor::find_next_region (samplepos_t sample, RegionPoint point, int32_t dir, TrackViewList& tracks, TimeAxisView **ontrack)
{
TrackViewList::iterator i;
- framepos_t closest = max_framepos;
+ samplepos_t closest = max_samplepos;
boost::shared_ptr<Region> ret;
- framepos_t rpos = 0;
+ samplepos_t rpos = 0;
- framepos_t track_frame;
+ samplepos_t track_sample;
RouteTimeAxisView *rtav;
for (i = tracks.begin(); i != tracks.end(); ++i) {
- framecnt_t distance;
+ samplecnt_t distance;
boost::shared_ptr<Region> r;
- track_frame = frame;
+ track_sample = sample;
- if ((r = (*i)->find_next_region (track_frame, point, dir)) == 0) {
+ if ((r = (*i)->find_next_region (track_sample, point, dir)) == 0) {
continue;
}
switch (point) {
case Start:
- rpos = r->first_frame ();
+ rpos = r->first_sample ();
break;
case End:
- rpos = r->last_frame ();
+ rpos = r->last_sample ();
break;
case SyncPoint:
@@ -864,10 +864,10 @@ Editor::find_next_region (framepos_t frame, RegionPoint point, int32_t dir, Trac
break;
}
- if (rpos > frame) {
- distance = rpos - frame;
+ if (rpos > sample) {
+ distance = rpos - sample;
} else {
- distance = frame - rpos;
+ distance = sample - rpos;
}
if (distance < closest) {
@@ -881,15 +881,15 @@ Editor::find_next_region (framepos_t frame, RegionPoint point, int32_t dir, Trac
return ret;
}
-framepos_t
-Editor::find_next_region_boundary (framepos_t pos, int32_t dir, const TrackViewList& tracks)
+samplepos_t
+Editor::find_next_region_boundary (samplepos_t pos, int32_t dir, const TrackViewList& tracks)
{
- framecnt_t distance = max_framepos;
- framepos_t current_nearest = -1;
+ samplecnt_t distance = max_samplepos;
+ samplepos_t current_nearest = -1;
for (TrackViewList::const_iterator i = tracks.begin(); i != tracks.end(); ++i) {
- framepos_t contender;
- framecnt_t d;
+ samplepos_t contender;
+ samplecnt_t d;
RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (*i);
@@ -912,10 +912,10 @@ Editor::find_next_region_boundary (framepos_t pos, int32_t dir, const TrackViewL
return current_nearest;
}
-framepos_t
-Editor::get_region_boundary (framepos_t pos, int32_t dir, bool with_selection, bool only_onscreen)
+samplepos_t
+Editor::get_region_boundary (samplepos_t pos, int32_t dir, bool with_selection, bool only_onscreen)
{
- framepos_t target;
+ samplepos_t target;
TrackViewList tvl;
if (with_selection && Config->get_region_boundaries_from_selected_tracks()) {
@@ -950,8 +950,8 @@ Editor::get_region_boundary (framepos_t pos, int32_t dir, bool with_selection, b
void
Editor::cursor_to_region_boundary (bool with_selection, int32_t dir)
{
- framepos_t pos = playhead_cursor->current_frame ();
- framepos_t target;
+ samplepos_t pos = playhead_cursor->current_sample ();
+ samplepos_t target;
if (!_session) {
return;
@@ -985,7 +985,7 @@ void
Editor::cursor_to_region_point (EditorCursor* cursor, RegionPoint point, int32_t dir)
{
boost::shared_ptr<Region> r;
- framepos_t pos = cursor->current_frame ();
+ samplepos_t pos = cursor->current_sample ();
if (!_session) {
return;
@@ -1019,11 +1019,11 @@ Editor::cursor_to_region_point (EditorCursor* cursor, RegionPoint point, int32_t
switch (point) {
case Start:
- pos = r->first_frame ();
+ pos = r->first_sample ();
break;
case End:
- pos = r->last_frame ();
+ pos = r->last_sample ();
break;
case SyncPoint:
@@ -1053,7 +1053,7 @@ Editor::cursor_to_previous_region_point (EditorCursor* cursor, RegionPoint point
void
Editor::cursor_to_selection_start (EditorCursor *cursor)
{
- framepos_t pos = 0;
+ samplepos_t pos = 0;
switch (mouse_mode) {
case MouseObject:
@@ -1082,18 +1082,18 @@ Editor::cursor_to_selection_start (EditorCursor *cursor)
void
Editor::cursor_to_selection_end (EditorCursor *cursor)
{
- framepos_t pos = 0;
+ samplepos_t pos = 0;
switch (mouse_mode) {
case MouseObject:
if (!selection->regions.empty()) {
- pos = selection->regions.end_frame();
+ pos = selection->regions.end_sample();
}
break;
case MouseRange:
if (!selection->time.empty()) {
- pos = selection->time.end_frame ();
+ pos = selection->time.end_sample ();
}
break;
@@ -1111,7 +1111,7 @@ Editor::cursor_to_selection_end (EditorCursor *cursor)
void
Editor::selected_marker_to_region_boundary (bool with_selection, int32_t dir)
{
- framepos_t target;
+ samplepos_t target;
Location* loc;
bool ignored;
@@ -1120,10 +1120,10 @@ Editor::selected_marker_to_region_boundary (bool with_selection, int32_t dir)
}
if (selection->markers.empty()) {
- framepos_t mouse;
+ samplepos_t mouse;
bool ignored;
- if (!mouse_frame (mouse, ignored)) {
+ if (!mouse_sample (mouse, ignored)) {
return;
}
@@ -1134,7 +1134,7 @@ Editor::selected_marker_to_region_boundary (bool with_selection, int32_t dir)
return;
}
- framepos_t pos = loc->start();
+ samplepos_t pos = loc->start();
// so we don't find the current region again..
if (dir > 0 || pos > 0) {
@@ -1164,7 +1164,7 @@ void
Editor::selected_marker_to_region_point (RegionPoint point, int32_t dir)
{
boost::shared_ptr<Region> r;
- framepos_t pos;
+ samplepos_t pos;
Location* loc;
bool ignored;
@@ -1199,15 +1199,15 @@ Editor::selected_marker_to_region_point (RegionPoint point, int32_t dir)
switch (point) {
case Start:
- pos = r->first_frame ();
+ pos = r->first_sample ();
break;
case End:
- pos = r->last_frame ();
+ pos = r->last_sample ();
break;
case SyncPoint:
- pos = r->adjust_to_sync (r->first_frame());
+ pos = r->adjust_to_sync (r->first_sample());
break;
}
@@ -1229,7 +1229,7 @@ Editor::selected_marker_to_previous_region_point (RegionPoint point)
void
Editor::selected_marker_to_selection_start ()
{
- framepos_t pos = 0;
+ samplepos_t pos = 0;
Location* loc;
bool ignored;
@@ -1264,7 +1264,7 @@ Editor::selected_marker_to_selection_start ()
void
Editor::selected_marker_to_selection_end ()
{
- framepos_t pos = 0;
+ samplepos_t pos = 0;
Location* loc;
bool ignored;
@@ -1279,13 +1279,13 @@ Editor::selected_marker_to_selection_end ()
switch (mouse_mode) {
case MouseObject:
if (!selection->regions.empty()) {
- pos = selection->regions.end_frame();
+ pos = selection->regions.end_sample();
}
break;
case MouseRange:
if (!selection->time.empty()) {
- pos = selection->time.end_frame ();
+ pos = selection->time.end_sample ();
}
break;
@@ -1299,18 +1299,18 @@ Editor::selected_marker_to_selection_end ()
void
Editor::scroll_playhead (bool forward)
{
- framepos_t pos = playhead_cursor->current_frame ();
- framecnt_t delta = (framecnt_t) floor (current_page_samples() / 0.8);
+ samplepos_t pos = playhead_cursor->current_sample ();
+ samplecnt_t delta = (samplecnt_t) floor (current_page_samples() / 0.8);
if (forward) {
- if (pos == max_framepos) {
+ if (pos == max_samplepos) {
return;
}
- if (pos < max_framepos - delta) {
+ if (pos < max_samplepos - delta) {
pos += delta ;
} else {
- pos = max_framepos;
+ pos = max_samplepos;
}
} else {
@@ -1354,10 +1354,10 @@ Editor::cursor_align (bool playhead_to_edit)
Location* loc = find_location_from_marker (*i, ignored);
if (loc->is_mark()) {
- loc->set_start (playhead_cursor->current_frame (), false, true, divisions);
+ loc->set_start (playhead_cursor->current_sample (), false, true, divisions);
} else {
- loc->set (playhead_cursor->current_frame (),
- playhead_cursor->current_frame () + loc->length(), true, divisions);
+ loc->set (playhead_cursor->current_sample (),
+ playhead_cursor->current_sample () + loc->length(), true, divisions);
}
}
}
@@ -1366,33 +1366,33 @@ Editor::cursor_align (bool playhead_to_edit)
void
Editor::scroll_backward (float pages)
{
- framepos_t const one_page = (framepos_t) rint (_visible_canvas_width * samples_per_pixel);
- framepos_t const cnt = (framepos_t) floor (pages * one_page);
+ samplepos_t const one_page = (samplepos_t) rint (_visible_canvas_width * samples_per_pixel);
+ samplepos_t const cnt = (samplepos_t) floor (pages * one_page);
- framepos_t frame;
- if (leftmost_frame < cnt) {
- frame = 0;
+ samplepos_t sample;
+ if (_leftmost_sample < cnt) {
+ sample = 0;
} else {
- frame = leftmost_frame - cnt;
+ sample = _leftmost_sample - cnt;
}
- reset_x_origin (frame);
+ reset_x_origin (sample);
}
void
Editor::scroll_forward (float pages)
{
- framepos_t const one_page = (framepos_t) rint (_visible_canvas_width * samples_per_pixel);
- framepos_t const cnt = (framepos_t) floor (pages * one_page);
+ samplepos_t const one_page = (samplepos_t) rint (_visible_canvas_width * samples_per_pixel);
+ samplepos_t const cnt = (samplepos_t) floor (pages * one_page);
- framepos_t frame;
- if (max_framepos - cnt < leftmost_frame) {
- frame = max_framepos - cnt;
+ samplepos_t sample;
+ if (max_samplepos - cnt < _leftmost_sample) {
+ sample = max_samplepos - cnt;
} else {
- frame = leftmost_frame + cnt;
+ sample = _leftmost_sample + cnt;
}
- reset_x_origin (frame);
+ reset_x_origin (sample);
}
void
@@ -1611,10 +1611,10 @@ Editor::scroll_up_one_track (bool skip_child_views)
void
Editor::scroll_left_step ()
{
- framepos_t xdelta = (current_page_samples() / 8);
+ samplepos_t xdelta = (current_page_samples() / 8);
- if (leftmost_frame > xdelta) {
- reset_x_origin (leftmost_frame - xdelta);
+ if (_leftmost_sample > xdelta) {
+ reset_x_origin (_leftmost_sample - xdelta);
} else {
reset_x_origin (0);
}
@@ -1624,21 +1624,21 @@ Editor::scroll_left_step ()
void
Editor::scroll_right_step ()
{
- framepos_t xdelta = (current_page_samples() / 8);
+ samplepos_t xdelta = (current_page_samples() / 8);
- if (max_framepos - xdelta > leftmost_frame) {
- reset_x_origin (leftmost_frame + xdelta);
+ if (max_samplepos - xdelta > _leftmost_sample) {
+ reset_x_origin (_leftmost_sample + xdelta);
} else {
- reset_x_origin (max_framepos - current_page_samples());
+ reset_x_origin (max_samplepos - current_page_samples());
}
}
void
Editor::scroll_left_half_page ()
{
- framepos_t xdelta = (current_page_samples() / 2);
- if (leftmost_frame > xdelta) {
- reset_x_origin (leftmost_frame - xdelta);
+ samplepos_t xdelta = (current_page_samples() / 2);
+ if (_leftmost_sample > xdelta) {
+ reset_x_origin (_leftmost_sample - xdelta);
} else {
reset_x_origin (0);
}
@@ -1647,11 +1647,11 @@ Editor::scroll_left_half_page ()
void
Editor::scroll_right_half_page ()
{
- framepos_t xdelta = (current_page_samples() / 2);
- if (max_framepos - xdelta > leftmost_frame) {
- reset_x_origin (leftmost_frame + xdelta);
+ samplepos_t xdelta = (current_page_samples() / 2);
+ if (max_samplepos - xdelta > _leftmost_sample) {
+ reset_x_origin (_leftmost_sample + xdelta);
} else {
- reset_x_origin (max_framepos - current_page_samples());
+ reset_x_origin (max_samplepos - current_page_samples());
}
}
@@ -1732,7 +1732,7 @@ Editor::temporal_zoom_step_scale (bool zoom_out, double scale)
{
ENSURE_GUI_THREAD (*this, &Editor::temporal_zoom_step, zoom_out, scale)
- framecnt_t nspp = samples_per_pixel;
+ samplecnt_t nspp = samples_per_pixel;
if (zoom_out) {
nspp *= scale;
@@ -1748,8 +1748,8 @@ Editor::temporal_zoom_step_scale (bool zoom_out, double scale)
//zoom-behavior-tweaks
//limit our maximum zoom to the session gui extents value
- std::pair<framepos_t, framepos_t> ext = session_gui_extents();
- framecnt_t session_extents_pp = ( ext.second - ext.first ) / _visible_canvas_width;
+ std::pair<samplepos_t, samplepos_t> ext = session_gui_extents();
+ samplecnt_t session_extents_pp = ( ext.second - ext.first ) / _visible_canvas_width;
if (nspp > session_extents_pp)
nspp = session_extents_pp;
@@ -1757,23 +1757,23 @@ Editor::temporal_zoom_step_scale (bool zoom_out, double scale)
}
void
-Editor::temporal_zoom (framecnt_t fpp)
+Editor::temporal_zoom (samplecnt_t fpp)
{
if (!_session) {
return;
}
- framepos_t current_page = current_page_samples();
- framepos_t current_leftmost = leftmost_frame;
- framepos_t current_rightmost;
- framepos_t current_center;
- framepos_t new_page_size;
- framepos_t half_page_size;
- framepos_t leftmost_after_zoom = 0;
- framepos_t where;
+ samplepos_t current_page = current_page_samples();
+ samplepos_t current_leftmost = _leftmost_sample;
+ samplepos_t current_rightmost;
+ samplepos_t current_center;
+ samplepos_t new_page_size;
+ samplepos_t half_page_size;
+ samplepos_t leftmost_after_zoom = 0;
+ samplepos_t where;
bool in_track_canvas;
- bool use_mouse_frame = true;
- framecnt_t nfpp;
+ bool use_mouse_sample = true;
+ samplecnt_t nfpp;
double l;
if (fpp == samples_per_pixel) {
@@ -1788,10 +1788,10 @@ Editor::temporal_zoom (framecnt_t fpp)
// all of which is used for the editor track displays. The whole day
// would be 4147200000 samples, so 2592000 samples per pixel.
- nfpp = min (fpp, (framecnt_t) 2592000);
- nfpp = max ((framecnt_t) 1, nfpp);
+ nfpp = min (fpp, (samplecnt_t) 2592000);
+ nfpp = max ((samplecnt_t) 1, nfpp);
- new_page_size = (framepos_t) floor (_visible_canvas_width * nfpp);
+ new_page_size = (samplepos_t) floor (_visible_canvas_width * nfpp);
half_page_size = new_page_size / 2;
switch (zoom_focus) {
@@ -1800,7 +1800,7 @@ Editor::temporal_zoom (framecnt_t fpp)
break;
case ZoomFocusRight:
- current_rightmost = leftmost_frame + current_page;
+ current_rightmost = _leftmost_sample + current_page;
if (current_rightmost < new_page_size) {
leftmost_after_zoom = 0;
} else {
@@ -1819,14 +1819,14 @@ Editor::temporal_zoom (framecnt_t fpp)
case ZoomFocusPlayhead:
/* centre playhead */
- l = playhead_cursor->current_frame () - (new_page_size * 0.5);
+ l = playhead_cursor->current_sample () - (new_page_size * 0.5);
if (l < 0) {
leftmost_after_zoom = 0;
- } else if (l > max_framepos) {
- leftmost_after_zoom = max_framepos - new_page_size;
+ } else if (l > max_samplepos) {
+ leftmost_after_zoom = max_samplepos - new_page_size;
} else {
- leftmost_after_zoom = (framepos_t) l;
+ leftmost_after_zoom = (samplepos_t) l;
}
break;
@@ -1834,24 +1834,24 @@ Editor::temporal_zoom (framecnt_t fpp)
/* try to keep the mouse over the same point in the display */
if (_drags->active()) {
- where = _drags->current_pointer_frame ();
- } else if (!mouse_frame (where, in_track_canvas)) {
- use_mouse_frame = false;
+ where = _drags->current_pointer_sample ();
+ } else if (!mouse_sample (where, in_track_canvas)) {
+ use_mouse_sample = false;
}
- if (use_mouse_frame) {
+ if (use_mouse_sample) {
l = - ((new_page_size * ((where - current_leftmost)/(double)current_page)) - where);
if (l < 0) {
leftmost_after_zoom = 0;
- } else if (l > max_framepos) {
- leftmost_after_zoom = max_framepos - new_page_size;
+ } else if (l > max_samplepos) {
+ leftmost_after_zoom = max_samplepos - new_page_size;
} else {
- leftmost_after_zoom = (framepos_t) l;
+ leftmost_after_zoom = (samplepos_t) l;
}
} else {
/* use playhead instead */
- where = playhead_cursor->current_frame ();
+ where = playhead_cursor->current_sample ();
if (where < half_page_size) {
leftmost_after_zoom = 0;
@@ -1871,10 +1871,10 @@ Editor::temporal_zoom (framecnt_t fpp)
if (l < 0) {
leftmost_after_zoom = 0;
- } else if (l > max_framepos) {
- leftmost_after_zoom = max_framepos - new_page_size;
+ } else if (l > max_samplepos) {
+ leftmost_after_zoom = max_samplepos - new_page_size;
} else {
- leftmost_after_zoom = (framepos_t) l;
+ leftmost_after_zoom = (samplepos_t) l;
}
} else {
@@ -1885,13 +1885,13 @@ Editor::temporal_zoom (framecnt_t fpp)
}
- // leftmost_after_zoom = min (leftmost_after_zoom, _session->current_end_frame());
+ // leftmost_after_zoom = min (leftmost_after_zoom, _session->current_end_sample());
reposition_and_zoom (leftmost_after_zoom, nfpp);
}
void
-Editor::calc_extra_zoom_edges(framepos_t &start, framepos_t &end)
+Editor::calc_extra_zoom_edges(samplepos_t &start, samplepos_t &end)
{
/* this func helps make sure we leave a little space
at each end of the editor so that the zoom doesn't fit the region
@@ -1904,9 +1904,9 @@ Editor::calc_extra_zoom_edges(framepos_t &start, framepos_t &end)
const double pix_per_mm = (double) pixwidth/ (double) mmwidth;
const double one_centimeter_in_pixels = pix_per_mm * 10.0;
- const framepos_t range = end - start;
- const framecnt_t new_fpp = (framecnt_t) ceil ((double) range / (double) _visible_canvas_width);
- const framepos_t extra_samples = (framepos_t) floor (one_centimeter_in_pixels * new_fpp);
+ const samplepos_t range = end - start;
+ const samplecnt_t new_fpp = (samplecnt_t) ceil ((double) range / (double) _visible_canvas_width);
+ const samplepos_t extra_samples = (samplepos_t) floor (one_centimeter_in_pixels * new_fpp);
if (start > extra_samples) {
start -= extra_samples;
@@ -1914,17 +1914,17 @@ Editor::calc_extra_zoom_edges(framepos_t &start, framepos_t &end)
start = 0;
}
- if (max_framepos - extra_samples > end) {
+ if (max_samplepos - extra_samples > end) {
end += extra_samples;
} else {
- end = max_framepos;
+ end = max_samplepos;
}
}
bool
-Editor::get_selection_extents (framepos_t &start, framepos_t &end) const
+Editor::get_selection_extents (samplepos_t &start, samplepos_t &end) const
{
- start = max_framepos;
+ start = max_samplepos;
end = 0;
bool ret = true;
@@ -1941,14 +1941,14 @@ Editor::get_selection_extents (framepos_t &start, framepos_t &end) const
start = (*i)->region()->position();
}
- if ((*i)->region()->last_frame() + 1 > end) {
- end = (*i)->region()->last_frame() + 1;
+ if ((*i)->region()->last_sample() + 1 > end) {
+ end = (*i)->region()->last_sample() + 1;
}
}
} else if (!selection->time.empty()) {
start = selection->time.start();
- end = selection->time.end_frame();
+ end = selection->time.end_sample();
} else
ret = false; //no selection found
@@ -1972,10 +1972,10 @@ Editor::temporal_zoom_selection (Editing::ZoomAxis axes)
if (axes == Horizontal || axes == Both) {
- framepos_t start, end;
+ samplepos_t start, end;
if (get_selection_extents (start, end)) {
calc_extra_zoom_edges (start, end);
- temporal_zoom_by_frame (start, end);
+ temporal_zoom_by_sample (start, end);
}
}
@@ -1990,18 +1990,18 @@ Editor::temporal_zoom_session ()
ENSURE_GUI_THREAD (*this, &Editor::temporal_zoom_session)
if (_session) {
- framecnt_t start = _session->current_start_frame();
- framecnt_t end = _session->current_end_frame();
+ samplecnt_t start = _session->current_start_sample();
+ samplecnt_t end = _session->current_end_sample();
if (_session->actively_recording () ) {
- framepos_t cur = playhead_cursor->current_frame ();
+ samplepos_t cur = playhead_cursor->current_sample ();
if (cur > end) {
/* recording beyond the end marker; zoom out
* by 5 seconds more so that if 'follow
* playhead' is active we don't immediately
* scroll.
*/
- end = cur + _session->frame_rate() * 5;
+ end = cur + _session->sample_rate() * 5;
}
}
@@ -2011,7 +2011,7 @@ Editor::temporal_zoom_session ()
calc_extra_zoom_edges(start, end);
- temporal_zoom_by_frame (start, end);
+ temporal_zoom_by_sample (start, end);
}
}
@@ -2021,20 +2021,20 @@ Editor::temporal_zoom_extents ()
ENSURE_GUI_THREAD (*this, &Editor::temporal_zoom_extents)
if (_session) {
- std::pair<framepos_t, framepos_t> ext = session_gui_extents( false ); //in this case we want to zoom to the extents explicitly; ignore the users prefs for extra padding
+ std::pair<samplepos_t, samplepos_t> ext = session_gui_extents( false ); //in this case we want to zoom to the extents explicitly; ignore the users prefs for extra padding
- framecnt_t start = ext.first;
- framecnt_t end = ext.second;
+ samplecnt_t start = ext.first;
+ samplecnt_t end = ext.second;
if (_session->actively_recording () ) {
- framepos_t cur = playhead_cursor->current_frame ();
+ samplepos_t cur = playhead_cursor->current_sample ();
if (cur > end) {
/* recording beyond the end marker; zoom out
* by 5 seconds more so that if 'follow
* playhead' is active we don't immediately
* scroll.
*/
- end = cur + _session->frame_rate() * 5;
+ end = cur + _session->sample_rate() * 5;
}
}
@@ -2044,12 +2044,12 @@ Editor::temporal_zoom_extents ()
calc_extra_zoom_edges(start, end);
- temporal_zoom_by_frame (start, end);
+ temporal_zoom_by_sample (start, end);
}
}
void
-Editor::temporal_zoom_by_frame (framepos_t start, framepos_t end)
+Editor::temporal_zoom_by_sample (samplepos_t start, samplepos_t end)
{
if (!_session) return;
@@ -2057,13 +2057,13 @@ Editor::temporal_zoom_by_frame (framepos_t start, framepos_t end)
return;
}
- framepos_t range = end - start;
+ samplepos_t range = end - start;
- const framecnt_t new_fpp = (framecnt_t) ceil ((double) range / (double) _visible_canvas_width);
+ const samplecnt_t new_fpp = (samplecnt_t) ceil ((double) range / (double) _visible_canvas_width);
- framepos_t new_page = range;
- framepos_t middle = (framepos_t) floor ((double) start + ((double) range / 2.0f));
- framepos_t new_leftmost = (framepos_t) floor ((double) middle - ((double) new_page / 2.0f));
+ samplepos_t new_page = range;
+ samplepos_t middle = (samplepos_t) floor ((double) start + ((double) range / 2.0f));
+ samplepos_t new_leftmost = (samplepos_t) floor ((double) middle - ((double) new_page / 2.0f));
if (new_leftmost > middle) {
new_leftmost = 0;
@@ -2077,14 +2077,14 @@ Editor::temporal_zoom_by_frame (framepos_t start, framepos_t end)
}
void
-Editor::temporal_zoom_to_frame (bool coarser, framepos_t frame)
+Editor::temporal_zoom_to_sample (bool coarser, samplepos_t sample)
{
if (!_session) {
return;
}
- framecnt_t range_before = frame - leftmost_frame;
- framecnt_t new_spp;
+ samplecnt_t range_before = sample - _leftmost_sample;
+ samplecnt_t new_spp;
if (coarser) {
if (samples_per_pixel <= 1) {
@@ -2110,13 +2110,13 @@ Editor::temporal_zoom_to_frame (bool coarser, framepos_t frame)
return;
}
- /* zoom focus is automatically taken as @param frame when this
+ /* zoom focus is automatically taken as @param sample when this
method is used.
*/
- framepos_t new_leftmost = frame - (framepos_t)range_before;
+ samplepos_t new_leftmost = sample - (samplepos_t)range_before;
- if (new_leftmost > frame) {
+ if (new_leftmost > sample) {
new_leftmost = 0;
}
@@ -2177,8 +2177,8 @@ Editor::add_location_from_selection ()
return;
}
- framepos_t start = selection->time[clicked_selection].start;
- framepos_t end = selection->time[clicked_selection].end;
+ samplepos_t start = selection->time[clicked_selection].start;
+ samplepos_t end = selection->time[clicked_selection].end;
_session->locations()->next_available_name(rangename,"selection");
Location *location = new Location (*_session, start, end, rangename, Location::IsRangeMarker, get_grid_music_divisions(0));
@@ -2194,7 +2194,7 @@ Editor::add_location_from_selection ()
}
void
-Editor::add_location_mark (framepos_t where)
+Editor::add_location_mark (samplepos_t where)
{
string markername;
@@ -2223,11 +2223,11 @@ Editor::set_session_start_from_playhead ()
Location* loc;
if ((loc = _session->locations()->session_range_location()) == 0) { //should never happen
- _session->set_session_extents ( _session->audible_frame(), _session->audible_frame() );
+ _session->set_session_extents ( _session->audible_sample(), _session->audible_sample() );
} else {
XMLNode &before = loc->get_state();
- _session->set_session_extents ( _session->audible_frame(), loc->end() );
+ _session->set_session_extents ( _session->audible_sample(), loc->end() );
XMLNode &after = loc->get_state();
@@ -2247,11 +2247,11 @@ Editor::set_session_end_from_playhead ()
Location* loc;
if ((loc = _session->locations()->session_range_location()) == 0) { //should never happen
- _session->set_session_extents ( _session->audible_frame(), _session->audible_frame() );
+ _session->set_session_extents ( _session->audible_sample(), _session->audible_sample() );
} else {
XMLNode &before = loc->get_state();
- _session->set_session_extents ( loc->start(), _session->audible_frame() );
+ _session->set_session_extents ( loc->start(), _session->audible_sample() );
XMLNode &after = loc->get_state();
@@ -2278,7 +2278,7 @@ Editor::toggle_location_at_playhead_cursor ()
void
Editor::add_location_from_playhead_cursor ()
{
- add_location_mark (_session->audible_frame());
+ add_location_mark (_session->audible_sample());
}
bool
@@ -2291,7 +2291,7 @@ Editor::do_remove_location_at_playhead_cursor ()
//find location(s) at this time
Locations::LocationList locs;
- _session->locations()->find_all_between (_session->audible_frame(), _session->audible_frame()+1, locs, Location::Flags(0));
+ _session->locations()->find_all_between (_session->audible_sample(), _session->audible_sample()+1, locs, Location::Flags(0));
for (Locations::LocationList::iterator i = locs.begin(); i != locs.end(); ++i) {
if ((*i)->is_mark()) {
_session->locations()->remove (*i);
@@ -2333,7 +2333,7 @@ Editor::add_locations_from_region ()
boost::shared_ptr<Region> region = (*i)->region ();
- Location *location = new Location (*_session, region->position(), region->last_frame(), region->name(), Location::IsRangeMarker, 0);
+ Location *location = new Location (*_session, region->position(), region->last_sample(), region->name(), Location::IsRangeMarker, 0);
_session->locations()->add (location, true);
commit = true;
@@ -2374,7 +2374,7 @@ Editor::add_location_from_region ()
}
// single range spanning all selected
- Location *location = new Location (*_session, selection->regions.start(), selection->regions.end_frame(), markername, Location::IsRangeMarker, 0);
+ Location *location = new Location (*_session, selection->regions.start(), selection->regions.end_sample(), markername, Location::IsRangeMarker, 0);
_session->locations()->add (location, true);
begin_reversible_command (_("add marker"));
@@ -2392,7 +2392,7 @@ Editor::jump_forward_to_mark ()
return;
}
- framepos_t pos = _session->locations()->first_mark_after (playhead_cursor->current_frame());
+ samplepos_t pos = _session->locations()->first_mark_after (playhead_cursor->current_sample());
if (pos < 0) {
return;
@@ -2408,12 +2408,12 @@ Editor::jump_backward_to_mark ()
return;
}
- framepos_t pos = _session->locations()->first_mark_before (playhead_cursor->current_frame());
+ samplepos_t pos = _session->locations()->first_mark_before (playhead_cursor->current_sample());
//handle the case where we are rolling, and we're less than one-half second past the mark, we want to go to the prior mark...
if ( _session->transport_rolling() ) {
- if ( (playhead_cursor->current_frame() - pos) < _session->frame_rate()/2 ) {
- framepos_t prior = _session->locations()->first_mark_before ( pos );
+ if ( (playhead_cursor->current_sample() - pos) < _session->sample_rate()/2 ) {
+ samplepos_t prior = _session->locations()->first_mark_before ( pos );
pos = prior;
}
}
@@ -2428,7 +2428,7 @@ Editor::jump_backward_to_mark ()
void
Editor::set_mark ()
{
- framepos_t const pos = _session->audible_frame ();
+ samplepos_t const pos = _session->audible_sample ();
string markername;
_session->locations()->next_available_name (markername, "mark");
@@ -2593,7 +2593,7 @@ Editor::transition_to_rolling (bool fwd)
void
Editor::play_from_start ()
{
- _session->request_locate (_session->current_start_frame(), true);
+ _session->request_locate (_session->current_start_sample(), true);
}
void
@@ -2605,31 +2605,31 @@ Editor::play_from_edit_point ()
void
Editor::play_from_edit_point_and_return ()
{
- framepos_t start_frame;
- framepos_t return_frame;
+ samplepos_t start_sample;
+ samplepos_t return_sample;
- start_frame = get_preferred_edit_position ( EDIT_IGNORE_PHEAD );
+ start_sample = get_preferred_edit_position ( EDIT_IGNORE_PHEAD );
if (_session->transport_rolling()) {
- _session->request_locate (start_frame, false);
+ _session->request_locate (start_sample, false);
return;
}
- /* don't reset the return frame if its already set */
+ /* don't reset the return sample if its already set */
- if ((return_frame = _session->requested_return_frame()) < 0) {
- return_frame = _session->audible_frame();
+ if ((return_sample = _session->requested_return_sample()) < 0) {
+ return_sample = _session->audible_sample();
}
- if (start_frame >= 0) {
- _session->request_roll_at_and_return (start_frame, return_frame);
+ if (start_sample >= 0) {
+ _session->request_roll_at_and_return (start_sample, return_sample);
}
}
void
Editor::play_selection ()
{
- framepos_t start, end;
+ samplepos_t start, end;
if (!get_selection_extents ( start, end))
return;
@@ -2642,7 +2642,7 @@ Editor::play_selection ()
void
-Editor::maybe_locate_with_edit_preroll (framepos_t location)
+Editor::maybe_locate_with_edit_preroll (samplepos_t location)
{
if ( _session->transport_rolling() || !UIConfiguration::instance().get_follow_edits() || _session->config.get_external_sync() )
return;
@@ -2656,8 +2656,8 @@ Editor::maybe_locate_with_edit_preroll (framepos_t location)
//if follow_playhead is on, keep the playhead on the screen
if ( _follow_playhead )
- if ( location < leftmost_frame )
- location = leftmost_frame;
+ if ( location < _leftmost_sample )
+ location = _leftmost_sample;
_session->request_locate( location );
}
@@ -2665,11 +2665,11 @@ Editor::maybe_locate_with_edit_preroll (framepos_t location)
void
Editor::play_with_preroll ()
{
- framepos_t start, end;
+ samplepos_t start, end;
if ( UIConfiguration::instance().get_follow_edits() && get_selection_extents ( start, end) ) {
- const framepos_t preroll = _session->preroll_samples (start);
+ const samplepos_t preroll = _session->preroll_samples (start);
- framepos_t ret = start;
+ samplepos_t ret = start;
if (start > preroll) {
start = start - preroll;
@@ -2682,26 +2682,26 @@ Editor::play_with_preroll ()
lar.push_back (ar);
_session->request_play_range (&lar, true);
- _session->set_requested_return_frame (ret); //force auto-return to return to range start, without the preroll
+ _session->set_requested_return_sample (ret); //force auto-return to return to range start, without the preroll
} else {
- framepos_t ph = playhead_cursor->current_frame ();
- const framepos_t preroll = _session->preroll_samples (ph);
- framepos_t start;
+ samplepos_t ph = playhead_cursor->current_sample ();
+ const samplepos_t preroll = _session->preroll_samples (ph);
+ samplepos_t start;
if (ph > preroll) {
start = ph - preroll;
} else {
start = 0;
}
_session->request_locate (start, true);
- _session->set_requested_return_frame (ph); //force auto-return to return to playhead location, without the preroll
+ _session->set_requested_return_sample (ph); //force auto-return to return to playhead location, without the preroll
}
}
void
Editor::rec_with_preroll ()
{
- framepos_t ph = playhead_cursor->current_frame ();
- framepos_t preroll = _session->preroll_samples (ph);
+ samplepos_t ph = playhead_cursor->current_sample ();
+ samplepos_t preroll = _session->preroll_samples (ph);
_session->request_preroll_record_trim (ph, preroll);
}
@@ -2905,7 +2905,7 @@ Editor::rename_region ()
void
Editor::play_edit_range ()
{
- framepos_t start, end;
+ samplepos_t start, end;
if (get_edit_op_range (start, end)) {
_session->request_bounded_roll (start, end);
@@ -2915,8 +2915,8 @@ Editor::play_edit_range ()
void
Editor::play_selected_region ()
{
- framepos_t start = max_framepos;
- framepos_t end = 0;
+ samplepos_t start = max_samplepos;
+ samplepos_t end = 0;
RegionSelection rs = get_regions_from_selection_and_entered ();
@@ -2928,8 +2928,8 @@ Editor::play_selected_region ()
if ((*i)->region()->position() < start) {
start = (*i)->region()->position();
}
- if ((*i)->region()->last_frame() + 1 > end) {
- end = (*i)->region()->last_frame() + 1;
+ if ((*i)->region()->last_sample() + 1 > end) {
+ end = (*i)->region()->last_sample() + 1;
}
}
@@ -2953,17 +2953,17 @@ Editor::region_from_selection ()
return;
}
- framepos_t start = selection->time[clicked_selection].start;
- framepos_t end = selection->time[clicked_selection].end;
+ samplepos_t start = selection->time[clicked_selection].start;
+ samplepos_t end = selection->time[clicked_selection].end;
TrackViewList tracks = get_tracks_for_range_action ();
- framepos_t selection_cnt = end - start + 1;
+ samplepos_t selection_cnt = end - start + 1;
for (TrackSelection::iterator i = tracks.begin(); i != tracks.end(); ++i) {
boost::shared_ptr<Region> current;
boost::shared_ptr<Playlist> pl;
- framepos_t internal_start;
+ samplepos_t internal_start;
string new_name;
if ((pl = (*i)->playlist()) == 0) {
@@ -2995,13 +2995,13 @@ Editor::create_region_from_selection (vector<boost::shared_ptr<Region> >& new_re
return;
}
- framepos_t start, end;
+ samplepos_t start, end;
if (clicked_selection) {
start = selection->time[clicked_selection].start;
end = selection->time[clicked_selection].end;
} else {
start = selection->time.start();
- end = selection->time.end_frame();
+ end = selection->time.end_sample();
}
TrackViewList ts = selection->tracks.filter_to_unique_playlists ();
@@ -3010,7 +3010,7 @@ Editor::create_region_from_selection (vector<boost::shared_ptr<Region> >& new_re
for (TrackSelection::iterator i = ts.begin(); i != ts.end(); ++i) {
boost::shared_ptr<Region> current;
boost::shared_ptr<Playlist> playlist;
- framepos_t internal_start;
+ samplepos_t internal_start;
string new_name;
if ((playlist = (*i)->playlist()) == 0) {
@@ -3208,8 +3208,8 @@ Editor::separate_region_from_selection ()
} else {
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
if (get_edit_op_range (start, end)) {
@@ -3315,10 +3315,10 @@ Editor::separate_under_selected_regions ()
}
//Partition on the region bounds
- playlist->partition ((*rl)->first_frame() - 1, (*rl)->last_frame() + 1, true);
+ playlist->partition ((*rl)->first_sample() - 1, (*rl)->last_sample() + 1, true);
//Re-add region that was just removed due to the partition operation
- playlist->add_region( (*rl), (*rl)->first_frame() );
+ playlist->add_region( (*rl), (*rl)->first_sample() );
}
vector<PlaylistState>::iterator pl;
@@ -3343,8 +3343,8 @@ Editor::crop_region_to_selection ()
commit_reversible_command();
} else {
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
if (get_edit_op_range (start, end)) {
begin_reversible_command (_("Crop Regions to Edit Range"));
@@ -3358,7 +3358,7 @@ Editor::crop_region_to_selection ()
}
void
-Editor::crop_region_to (framepos_t start, framepos_t end)
+Editor::crop_region_to (samplepos_t start, samplepos_t end)
{
vector<boost::shared_ptr<Playlist> > playlists;
boost::shared_ptr<Playlist> playlist;
@@ -3394,10 +3394,10 @@ Editor::crop_region_to (framepos_t start, framepos_t end)
return;
}
- framepos_t pos;
- framepos_t new_start;
- framepos_t new_end;
- framecnt_t new_length;
+ samplepos_t pos;
+ samplepos_t new_start;
+ samplepos_t new_end;
+ samplecnt_t new_length;
for (vector<boost::shared_ptr<Playlist> >::iterator i = playlists.begin(); i != playlists.end(); ++i) {
@@ -3419,10 +3419,10 @@ Editor::crop_region_to (framepos_t start, framepos_t end)
pos = (*i)->position();
new_start = max (start, pos);
- if (max_framepos - pos > (*i)->length()) {
+ if (max_samplepos - pos > (*i)->length()) {
new_end = pos + (*i)->length() - 1;
} else {
- new_end = max_framepos;
+ new_end = max_samplepos;
}
new_end = min (end, new_end);
new_length = new_end - new_start + 1;
@@ -3441,15 +3441,15 @@ Editor::region_fill_track ()
RegionSelection regions = get_regions_from_selection_and_entered ();
RegionSelection foo;
- framepos_t const end = _session->current_end_frame ();
+ samplepos_t const end = _session->current_end_sample ();
- if (regions.empty () || regions.end_frame () + 1 >= end) {
+ if (regions.empty () || regions.end_sample () + 1 >= end) {
return;
}
- framepos_t const start_frame = regions.start ();
- framepos_t const end_frame = regions.end_frame ();
- framecnt_t const gap = end_frame - start_frame + 1;
+ samplepos_t const start_sample = regions.start ();
+ samplepos_t const end_sample = regions.end_sample ();
+ samplecnt_t const gap = end_sample - start_sample + 1;
begin_reversible_command (Operations::region_fill);
@@ -3464,7 +3464,7 @@ Editor::region_fill_track ()
latest_regionviews.clear ();
sigc::connection c = rtv->view()->RegionViewAdded.connect (sigc::mem_fun(*this, &Editor::collect_new_region_view));
- framepos_t const position = end_frame + (r->first_frame() - start_frame + 1);
+ samplepos_t const position = end_sample + (r->first_sample() - start_sample + 1);
playlist = (*i)->region()->playlist();
playlist->clear_changes ();
playlist->duplicate_until (r, position, gap, end);
@@ -3489,7 +3489,7 @@ Editor::set_region_sync_position ()
}
void
-Editor::set_sync_point (framepos_t where, const RegionSelection& rs)
+Editor::set_sync_point (samplepos_t where, const RegionSelection& rs)
{
bool in_command = false;
@@ -3573,7 +3573,7 @@ Editor::align_regions (RegionPoint what)
begin_reversible_command (_("align selection"));
- framepos_t const position = get_preferred_edit_position ();
+ samplepos_t const position = get_preferred_edit_position ();
for (RegionSelection::const_iterator i = rs.begin(); i != rs.end(); ++i) {
align_region_internal ((*i)->region(), what, position);
@@ -3597,10 +3597,10 @@ Editor::align_regions_relative (RegionPoint point)
return;
}
- framepos_t const position = get_preferred_edit_position ();
+ samplepos_t const position = get_preferred_edit_position ();
- framepos_t distance = 0;
- framepos_t pos = 0;
+ samplepos_t distance = 0;
+ samplepos_t pos = 0;
int dir = 1;
list<RegionView*> sorted;
@@ -3620,11 +3620,11 @@ Editor::align_regions_relative (RegionPoint point)
break;
case End:
- if (position > r->last_frame()) {
- distance = position - r->last_frame();
+ if (position > r->last_sample()) {
+ distance = position - r->last_sample();
pos = r->position() + distance;
} else {
- distance = r->last_frame() - position;
+ distance = r->last_sample() - position;
pos = r->position() - distance;
dir = -1;
}
@@ -3677,7 +3677,7 @@ Editor::align_regions_relative (RegionPoint point)
}
void
-Editor::align_region (boost::shared_ptr<Region> region, RegionPoint point, framepos_t position)
+Editor::align_region (boost::shared_ptr<Region> region, RegionPoint point, samplepos_t position)
{
begin_reversible_command (_("align region"));
align_region_internal (region, point, position);
@@ -3685,7 +3685,7 @@ Editor::align_region (boost::shared_ptr<Region> region, RegionPoint point, frame
}
void
-Editor::align_region_internal (boost::shared_ptr<Region> region, RegionPoint point, framepos_t position)
+Editor::align_region_internal (boost::shared_ptr<Region> region, RegionPoint point, samplepos_t position)
{
region->clear_changes ();
@@ -3723,7 +3723,7 @@ Editor::trim_region_back ()
void
Editor::trim_region (bool front)
{
- framepos_t where = get_preferred_edit_position();
+ samplepos_t where = get_preferred_edit_position();
RegionSelection rs = get_regions_from_selection_and_edit_point ();
if (rs.empty()) {
@@ -3793,8 +3793,8 @@ Editor::trim_region_to_location (const Location& loc, const char* str)
return;
}
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
start = loc.start();
end = loc.end();
@@ -3855,24 +3855,24 @@ Editor::trim_to_region(bool forward)
if (forward) {
- next_region = playlist->find_next_region (region->first_frame(), Start, 1);
+ next_region = playlist->find_next_region (region->first_sample(), Start, 1);
if (!next_region) {
continue;
}
- region->trim_end (next_region->first_frame() - 1);
+ region->trim_end (next_region->first_sample() - 1);
arv->region_changed (PropertyChange (ARDOUR::Properties::length));
}
else {
- next_region = playlist->find_next_region (region->first_frame(), Start, 0);
+ next_region = playlist->find_next_region (region->first_sample(), Start, 0);
if (!next_region) {
continue;
}
- region->trim_front (next_region->last_frame() + 1);
+ region->trim_front (next_region->last_sample() + 1);
arv->region_changed (ARDOUR::bounds_change);
}
@@ -4008,9 +4008,9 @@ Editor::bounce_range_selection (bool replace, bool enable_processing)
}
}
- framepos_t start = selection->time[clicked_selection].start;
- framepos_t end = selection->time[clicked_selection].end;
- framepos_t cnt = end - start + 1;
+ samplepos_t start = selection->time[clicked_selection].start;
+ samplepos_t end = selection->time[clicked_selection].end;
+ samplepos_t cnt = end - start + 1;
bool in_command = false;
for (TrackViewList::iterator i = views.begin(); i != views.end(); ++i) {
@@ -4197,7 +4197,7 @@ Editor::cut_copy (CutCopyOp op)
}
}
} else if (selection->time.empty()) {
- framepos_t start, end;
+ samplepos_t start, end;
/* no time selection, see if we can get an edit range
and use that.
*/
@@ -4284,7 +4284,7 @@ Editor::cut_copy_points (Editing::CutCopyOp op, Evoral::Beats earliest, bool mid
}
/* Add all selected points to the relevant copy ControlLists */
- MusicFrame start (std::numeric_limits<framepos_t>::max(), 0);
+ MusicSample start (std::numeric_limits<samplepos_t>::max(), 0);
for (PointSelection::iterator sel_point = selection->points.begin(); sel_point != selection->points.end(); ++sel_point) {
boost::shared_ptr<AutomationList> al = (*sel_point)->line().the_list();
AutomationList::const_iterator ctrl_evt = (*sel_point)->model ();
@@ -4294,8 +4294,8 @@ Editor::cut_copy_points (Editing::CutCopyOp op, Evoral::Beats earliest, bool mid
/* Update earliest MIDI start time in beats */
earliest = std::min(earliest, Evoral::Beats((*ctrl_evt)->when));
} else {
- /* Update earliest session start time in frames */
- start.frame = std::min(start.frame, (*sel_point)->line().session_position(ctrl_evt));
+ /* Update earliest session start time in samples */
+ start.sample = std::min(start.sample, (*sel_point)->line().session_position(ctrl_evt));
}
}
@@ -4306,13 +4306,13 @@ Editor::cut_copy_points (Editing::CutCopyOp op, Evoral::Beats earliest, bool mid
}
earliest.round_down_to_beat();
} else {
- if (start.frame == std::numeric_limits<double>::max()) {
- start.frame = 0; // Weird... don't offset
+ if (start.sample == std::numeric_limits<double>::max()) {
+ start.sample = 0; // Weird... don't offset
}
snap_to(start, RoundDownMaybe);
}
- const double line_offset = midi ? earliest.to_double() : start.frame;
+ const double line_offset = midi ? earliest.to_double() : start.sample;
for (Lists::iterator i = lists.begin(); i != lists.end(); ++i) {
/* Correct this copy list so that it is relative to the earliest
start time, so relative ordering between points is preserved
@@ -4524,7 +4524,7 @@ Editor::cut_copy_regions (CutCopyOp op, RegionSelection& rs)
vector<PlaylistMapping> pmap;
- framepos_t first_position = max_framepos;
+ samplepos_t first_position = max_samplepos;
typedef set<boost::shared_ptr<Playlist> > FreezeList;
FreezeList freezelist;
@@ -4535,7 +4535,7 @@ Editor::cut_copy_regions (CutCopyOp op, RegionSelection& rs)
for (RegionSelection::iterator x = rs.begin(); x != rs.end(); ++x) {
- first_position = min ((framepos_t) (*x)->region()->position(), first_position);
+ first_position = min ((samplepos_t) (*x)->region()->position(), first_position);
if (op == Cut || op == Clear || op == Delete) {
boost::shared_ptr<Playlist> pl = (*x)->region()->playlist();
@@ -4715,25 +4715,25 @@ void
Editor::paste (float times, bool from_context)
{
DEBUG_TRACE (DEBUG::CutNPaste, "paste to preferred edit pos\n");
- MusicFrame where (get_preferred_edit_position (EDIT_IGNORE_NONE, from_context), 0);
- paste_internal (where.frame, times, 0);
+ MusicSample where (get_preferred_edit_position (EDIT_IGNORE_NONE, from_context), 0);
+ paste_internal (where.sample, times, 0);
}
void
Editor::mouse_paste ()
{
- MusicFrame where (0, 0);
+ MusicSample where (0, 0);
bool ignored;
- if (!mouse_frame (where.frame, ignored)) {
+ if (!mouse_sample (where.sample, ignored)) {
return;
}
snap_to (where);
- paste_internal (where.frame, 1, where.division);
+ paste_internal (where.sample, 1, where.division);
}
void
-Editor::paste_internal (framepos_t position, float times, const int32_t sub_num)
+Editor::paste_internal (samplepos_t position, float times, const int32_t sub_num)
{
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("apparent paste position is %1\n", position));
@@ -4741,7 +4741,7 @@ Editor::paste_internal (framepos_t position, float times, const int32_t sub_num)
return;
}
- if (position == max_framepos) {
+ if (position == max_samplepos) {
position = get_preferred_edit_position();
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("preferred edit position is %1\n", position));
}
@@ -4859,9 +4859,9 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times)
RegionSelection sel = regions; // clear (below) may clear the argument list if its the current region selection
RegionSelection foo;
- framepos_t const start_frame = regions.start ();
- framepos_t const end_frame = regions.end_frame ();
- framecnt_t const gap = end_frame - start_frame + 1;
+ samplepos_t const start_sample = regions.start ();
+ samplepos_t const end_sample = regions.end_sample ();
+ samplecnt_t const gap = end_sample - start_sample + 1;
begin_reversible_command (Operations::duplicate_region);
@@ -4876,7 +4876,7 @@ Editor::duplicate_some_regions (RegionSelection& regions, float times)
latest_regionviews.clear ();
sigc::connection c = rtv->view()->RegionViewAdded.connect (sigc::mem_fun(*this, &Editor::collect_new_region_view));
- framepos_t const position = end_frame + (r->first_frame() - start_frame + 1);
+ samplepos_t const position = end_sample + (r->first_sample() - start_sample + 1);
playlist = (*i)->region()->playlist();
playlist->clear_changes ();
playlist->duplicate (r, position, gap, times);
@@ -4930,13 +4930,13 @@ Editor::duplicate_selection (float times)
if (in_command) {
if (times == 1.0f) {
// now "move" range selection to after the current range selection
- framecnt_t distance = 0;
+ samplecnt_t distance = 0;
if (clicked_selection) {
distance =
selection->time[clicked_selection].end - selection->time[clicked_selection].start;
} else {
- distance = selection->time.end_frame () - selection->time.start ();
+ distance = selection->time.end_sample () - selection->time.start ();
}
selection->move_time (distance);
@@ -4959,7 +4959,7 @@ void
Editor::center_playhead ()
{
float const page = _visible_canvas_width * samples_per_pixel;
- center_screen_internal (playhead_cursor->current_frame (), page);
+ center_screen_internal (playhead_cursor->current_sample (), page);
}
void
@@ -4982,9 +4982,9 @@ void
Editor::nudge_track (bool use_edit, bool forwards)
{
boost::shared_ptr<Playlist> playlist;
- framepos_t distance;
- framepos_t next_distance;
- framepos_t start;
+ samplepos_t distance;
+ samplepos_t next_distance;
+ samplepos_t start;
if (use_edit) {
start = get_preferred_edit_position();
@@ -5535,7 +5535,7 @@ Editor::insert_patch_change (bool from_context)
return;
}
- const framepos_t p = get_preferred_edit_position (EDIT_IGNORE_NONE, from_context);
+ const samplepos_t p = get_preferred_edit_position (EDIT_IGNORE_NONE, from_context);
/* XXX: bit of a hack; use the MIDNAM from the first selected region;
there may be more than one, but the PatchChangeDialog can only offer
@@ -5553,7 +5553,7 @@ Editor::insert_patch_change (bool from_context)
for (RegionSelection::iterator i = rs.begin (); i != rs.end(); ++i) {
MidiRegionView* const mrv = dynamic_cast<MidiRegionView*> (*i);
if (mrv) {
- if (p >= mrv->region()->first_frame() && p <= mrv->region()->last_frame()) {
+ if (p >= mrv->region()->first_sample() && p <= mrv->region()->last_sample()) {
mrv->add_patch_change (p - mrv->region()->position(), d.patch ());
}
}
@@ -5948,11 +5948,11 @@ Editor::set_fade_length (bool in)
RegionView* rv = rs.front ();
- framepos_t pos = get_preferred_edit_position();
- framepos_t len;
+ samplepos_t pos = get_preferred_edit_position();
+ samplepos_t len;
char const * cmd;
- if (pos > rv->region()->last_frame() || pos < rv->region()->first_frame()) {
+ if (pos > rv->region()->last_sample() || pos < rv->region()->first_sample()) {
/* edit point is outside the relevant region */
return;
}
@@ -5965,11 +5965,11 @@ Editor::set_fade_length (bool in)
len = pos - rv->region()->position();
cmd = _("set fade in length");
} else {
- if (pos >= rv->region()->last_frame()) {
+ if (pos >= rv->region()->last_sample()) {
/* can't do it */
return;
}
- len = rv->region()->last_frame() - pos;
+ len = rv->region()->last_sample() - pos;
cmd = _("set fade out length");
}
@@ -6234,9 +6234,9 @@ void
Editor::set_edit_point ()
{
bool ignored;
- MusicFrame where (0, 0);
+ MusicSample where (0, 0);
- if (!mouse_frame (where.frame, ignored)) {
+ if (!mouse_sample (where.sample, ignored)) {
return;
}
@@ -6244,7 +6244,7 @@ Editor::set_edit_point ()
if (selection->markers.empty()) {
- mouse_add_new_marker (where.frame);
+ mouse_add_new_marker (where.sample);
} else {
bool ignored;
@@ -6252,7 +6252,7 @@ Editor::set_edit_point ()
Location* loc = find_location_from_marker (selection->markers.front(), ignored);
if (loc) {
- loc->move_to (where.frame, where.division);
+ loc->move_to (where.sample, where.division);
}
}
}
@@ -6263,17 +6263,17 @@ Editor::set_playhead_cursor ()
if (entered_marker) {
_session->request_locate (entered_marker->position(), _session->transport_rolling());
} else {
- MusicFrame where (0, 0);
+ MusicSample where (0, 0);
bool ignored;
- if (!mouse_frame (where.frame, ignored)) {
+ if (!mouse_sample (where.sample, ignored)) {
return;
}
snap_to (where);
if (_session) {
- _session->request_locate (where.frame, _session->transport_rolling());
+ _session->request_locate (where.sample, _session->transport_rolling());
}
}
@@ -6301,9 +6301,9 @@ Editor::split_region ()
if (current_mouse_mode() == MouseObject) { //don't try this for Internal Edit, Stretch, Draw, etc.
RegionSelection rs = get_regions_from_selection_and_edit_point ();
- const framepos_t pos = get_preferred_edit_position();
+ const samplepos_t pos = get_preferred_edit_position();
const int32_t division = get_grid_music_divisions (0);
- MusicFrame where (pos, division);
+ MusicSample where (pos, division);
if (rs.empty()) {
return;
@@ -6399,7 +6399,7 @@ Editor::set_loop_from_selection (bool play)
return;
}
- framepos_t start, end;
+ samplepos_t start, end;
if (!get_selection_extents ( start, end))
return;
@@ -6413,7 +6413,7 @@ Editor::set_loop_from_selection (bool play)
void
Editor::set_loop_from_region (bool play)
{
- framepos_t start, end;
+ samplepos_t start, end;
if (!get_selection_extents ( start, end))
return;
@@ -6432,7 +6432,7 @@ Editor::set_punch_from_selection ()
return;
}
- framepos_t start, end;
+ samplepos_t start, end;
if (!get_selection_extents ( start, end))
return;
@@ -6454,9 +6454,9 @@ Editor::set_auto_punch_range ()
}
Location* tpl = transport_punch_location();
- framepos_t now = playhead_cursor->current_frame();
- framepos_t begin = now;
- framepos_t end = _session->current_end_frame();
+ samplepos_t now = playhead_cursor->current_sample();
+ samplepos_t begin = now;
+ samplepos_t end = _session->current_end_sample();
if (!_session->config.get_punch_in()) {
// First Press - set punch in and create range from here to eternity
@@ -6470,7 +6470,7 @@ Editor::set_auto_punch_range ()
set_punch_range (begin, end, _("Auto Punch In/Out"));
} else {
// normal case for 2nd press - set the punch out
- end = playhead_cursor->current_frame ();
+ end = playhead_cursor->current_sample ();
set_punch_range (tpl->start(), now, _("Auto Punch In/Out"));
_session->config.set_punch_out(true);
}
@@ -6499,7 +6499,7 @@ Editor::set_session_extents_from_selection ()
return;
}
- framepos_t start, end;
+ samplepos_t start, end;
if (!get_selection_extents ( start, end))
return;
@@ -6528,8 +6528,8 @@ Editor::set_punch_start_from_edit_point ()
{
if (_session) {
- MusicFrame start (0, 0);
- framepos_t end = max_framepos;
+ MusicSample start (0, 0);
+ samplepos_t end = max_samplepos;
//use the existing punch end, if any
Location* tpl = transport_punch_location();
@@ -6538,20 +6538,20 @@ Editor::set_punch_start_from_edit_point ()
}
if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
- start.frame = _session->audible_frame();
+ start.sample = _session->audible_sample();
} else {
- start.frame = get_preferred_edit_position();
+ start.sample = get_preferred_edit_position();
}
//snap the selection start/end
snap_to(start);
//if there's not already a sensible selection endpoint, go "forever"
- if (start.frame > end ) {
- end = max_framepos;
+ if (start.sample > end ) {
+ end = max_samplepos;
}
- set_punch_range (start.frame, end, _("set punch start from EP"));
+ set_punch_range (start.sample, end, _("set punch start from EP"));
}
}
@@ -6561,8 +6561,8 @@ Editor::set_punch_end_from_edit_point ()
{
if (_session) {
- framepos_t start = 0;
- MusicFrame end (max_framepos, 0);
+ samplepos_t start = 0;
+ MusicSample end (max_samplepos, 0);
//use the existing punch start, if any
Location* tpl = transport_punch_location();
@@ -6571,15 +6571,15 @@ Editor::set_punch_end_from_edit_point ()
}
if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
- end.frame = _session->audible_frame();
+ end.sample = _session->audible_sample();
} else {
- end.frame = get_preferred_edit_position();
+ end.sample = get_preferred_edit_position();
}
//snap the selection start/end
snap_to (end);
- set_punch_range (start, end.frame, _("set punch end from EP"));
+ set_punch_range (start, end.sample, _("set punch end from EP"));
}
}
@@ -6589,8 +6589,8 @@ Editor::set_loop_start_from_edit_point ()
{
if (_session) {
- MusicFrame start (0, 0);
- framepos_t end = max_framepos;
+ MusicSample start (0, 0);
+ samplepos_t end = max_samplepos;
//use the existing loop end, if any
Location* tpl = transport_loop_location();
@@ -6599,20 +6599,20 @@ Editor::set_loop_start_from_edit_point ()
}
if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
- start.frame = _session->audible_frame();
+ start.sample = _session->audible_sample();
} else {
- start.frame = get_preferred_edit_position();
+ start.sample = get_preferred_edit_position();
}
//snap the selection start/end
snap_to (start);
//if there's not already a sensible selection endpoint, go "forever"
- if (start.frame > end ) {
- end = max_framepos;
+ if (start.sample > end ) {
+ end = max_samplepos;
}
- set_loop_range (start.frame, end, _("set loop start from EP"));
+ set_loop_range (start.sample, end, _("set loop start from EP"));
}
}
@@ -6622,8 +6622,8 @@ Editor::set_loop_end_from_edit_point ()
{
if (_session) {
- framepos_t start = 0;
- MusicFrame end (max_framepos, 0);
+ samplepos_t start = 0;
+ MusicSample end (max_samplepos, 0);
//use the existing loop start, if any
Location* tpl = transport_loop_location();
@@ -6632,22 +6632,22 @@ Editor::set_loop_end_from_edit_point ()
}
if ((_edit_point == EditAtPlayhead) && _session->transport_rolling()) {
- end.frame = _session->audible_frame();
+ end.sample = _session->audible_sample();
} else {
- end.frame = get_preferred_edit_position();
+ end.sample = get_preferred_edit_position();
}
//snap the selection start/end
snap_to(end);
- set_loop_range (start, end.frame, _("set loop end from EP"));
+ set_loop_range (start, end.sample, _("set loop end from EP"));
}
}
void
Editor::set_punch_from_region ()
{
- framepos_t start, end;
+ samplepos_t start, end;
if (!get_selection_extents ( start, end))
return;
@@ -6684,40 +6684,40 @@ Editor::set_tempo_from_region ()
RegionView* rv = rs.front();
- define_one_bar (rv->region()->position(), rv->region()->last_frame() + 1);
+ define_one_bar (rv->region()->position(), rv->region()->last_sample() + 1);
}
void
Editor::use_range_as_bar ()
{
- framepos_t start, end;
+ samplepos_t start, end;
if (get_edit_op_range (start, end)) {
define_one_bar (start, end);
}
}
void
-Editor::define_one_bar (framepos_t start, framepos_t end)
+Editor::define_one_bar (samplepos_t start, samplepos_t end)
{
- framepos_t length = end - start;
+ samplepos_t length = end - start;
- const Meter& m (_session->tempo_map().meter_at_frame (start));
+ const Meter& m (_session->tempo_map().meter_at_sample (start));
/* length = 1 bar */
/* We're going to deliver a constant tempo here,
- so we can use frames per beat to determine length.
- now we want frames per beat.
- we have frames per bar, and beats per bar, so ...
+ so we can use samples per beat to determine length.
+ now we want samples per beat.
+ we have samples per bar, and beats per bar, so ...
*/
/* XXXX METER MATH */
- double frames_per_beat = length / m.divisions_per_bar();
+ double samples_per_beat = length / m.divisions_per_bar();
/* beats per minute = */
- double beats_per_minute = (_session->frame_rate() * 60.0) / frames_per_beat;
+ double beats_per_minute = (_session->sample_rate() * 60.0) / samples_per_beat;
/* now decide whether to:
@@ -6726,7 +6726,7 @@ Editor::define_one_bar (framepos_t start, framepos_t end)
*/
- const TempoSection& t (_session->tempo_map().tempo_section_at_frame (start));
+ const TempoSection& t (_session->tempo_map().tempo_section_at_sample (start));
bool do_global = false;
@@ -6774,7 +6774,7 @@ Editor::define_one_bar (framepos_t start, framepos_t end)
if (do_global) {
_session->tempo_map().change_initial_tempo (beats_per_minute, t.note_type(), t.end_note_types_per_minute());
- } else if (t.frame() == start) {
+ } else if (t.sample() == start) {
_session->tempo_map().change_existing_tempo_at (start, beats_per_minute, t.note_type(), t.end_note_types_per_minute());
} else {
/* constant tempo */
@@ -6890,10 +6890,10 @@ Editor::split_region_at_points (boost::shared_ptr<Region> r, AnalysisFeatureList
pl->freeze ();
pl->remove_region (r);
- framepos_t pos = 0;
+ samplepos_t pos = 0;
- framepos_t rstart = r->first_frame ();
- framepos_t rend = r->last_frame ();
+ samplepos_t rstart = r->first_sample ();
+ samplepos_t rend = r->last_sample ();
while (x != positions.end()) {
@@ -6905,11 +6905,11 @@ Editor::split_region_at_points (boost::shared_ptr<Region> r, AnalysisFeatureList
/* file start = original start + how far we from the initial position ? */
- framepos_t file_start = r->start() + pos;
+ samplepos_t file_start = r->start() + pos;
/* length = next position - current position */
- framepos_t len = (*x) - pos - rstart;
+ samplepos_t len = (*x) - pos - rstart;
/* XXX we do we really want to allow even single-sample regions?
* shouldn't we have some kind of lower limit on region size?
@@ -6959,7 +6959,7 @@ Editor::split_region_at_points (boost::shared_ptr<Region> r, AnalysisFeatureList
PropertyList plist;
plist.add (ARDOUR::Properties::start, r->start() + pos);
- plist.add (ARDOUR::Properties::length, r->last_frame() - (r->position() + pos) + 1);
+ plist.add (ARDOUR::Properties::length, r->last_sample() - (r->position() + pos) + 1);
plist.add (ARDOUR::Properties::name, new_name);
plist.add (ARDOUR::Properties::layer, 0);
@@ -7006,7 +7006,7 @@ Editor::place_transient()
return;
}
- framepos_t where = get_preferred_edit_position();
+ samplepos_t where = get_preferred_edit_position();
begin_reversible_command (_("place transient"));
@@ -7057,9 +7057,9 @@ Editor::snap_regions_to_grid ()
}
(*r)->region()->clear_changes ();
- MusicFrame start ((*r)->region()->first_frame (), 0);
+ MusicSample start ((*r)->region()->first_sample (), 0);
snap_to (start);
- (*r)->region()->set_position (start.frame, start.division);
+ (*r)->region()->set_position (start.sample, start.division);
_session->add_command(new StatefulDiffCommand ((*r)->region()));
}
@@ -7119,11 +7119,11 @@ Editor::close_region_gaps ()
return;
}
- framepos_t crossfade_len = spin_crossfade.get_value();
- framepos_t pull_back_frames = spin_pullback.get_value();
+ samplepos_t crossfade_len = spin_crossfade.get_value();
+ samplepos_t pull_back_samples = spin_pullback.get_value();
- crossfade_len = lrintf (crossfade_len * _session->frame_rate()/1000);
- pull_back_frames = lrintf (pull_back_frames * _session->frame_rate()/1000);
+ crossfade_len = lrintf (crossfade_len * _session->sample_rate()/1000);
+ pull_back_samples = lrintf (pull_back_samples * _session->sample_rate()/1000);
/* Iterate over the region list and make adjacent regions overlap by crossfade_len_ms */
@@ -7146,7 +7146,7 @@ Editor::close_region_gaps ()
pl->freeze();
}
- framepos_t position = (*r)->region()->position();
+ samplepos_t position = (*r)->region()->position();
if (idx == 0 || position < last_region->position()){
last_region = (*r)->region();
@@ -7155,10 +7155,10 @@ Editor::close_region_gaps ()
}
(*r)->region()->clear_changes ();
- (*r)->region()->trim_front( (position - pull_back_frames));
+ (*r)->region()->trim_front( (position - pull_back_samples));
last_region->clear_changes ();
- last_region->trim_end( (position - pull_back_frames + crossfade_len));
+ last_region->trim_end( (position - pull_back_samples + crossfade_len));
_session->add_command (new StatefulDiffCommand ((*r)->region()));
_session->add_command (new StatefulDiffCommand (last_region));
@@ -7187,7 +7187,7 @@ Editor::tab_to_transient (bool forward)
return;
}
- framepos_t pos = _session->audible_frame ();
+ samplepos_t pos = _session->audible_sample ();
if (!selection->tracks.empty()) {
@@ -7205,7 +7205,7 @@ Editor::tab_to_transient (bool forward)
if (tr) {
boost::shared_ptr<Playlist> pl = tr->playlist ();
if (pl) {
- framepos_t result = pl->find_next_transient (pos, forward ? 1 : -1);
+ samplepos_t result = pl->find_next_transient (pos, forward ? 1 : -1);
if (result >= 0) {
positions.push_back (result);
@@ -7226,7 +7226,7 @@ Editor::tab_to_transient (bool forward)
}
}
- TransientDetector::cleanup_transients (positions, _session->frame_rate(), 3.0);
+ TransientDetector::cleanup_transients (positions, _session->sample_rate(), 3.0);
if (forward) {
AnalysisFeatureList::iterator x;
@@ -7263,12 +7263,12 @@ Editor::playhead_forward_to_grid ()
return;
}
- MusicFrame pos (playhead_cursor->current_frame (), 0);
+ MusicSample pos (playhead_cursor->current_sample (), 0);
- if (pos.frame < max_framepos - 1) {
- pos.frame += 2;
+ if (pos.sample < max_samplepos - 1) {
+ pos.sample += 2;
snap_to_internal (pos, RoundUpAlways, false, true);
- _session->request_locate (pos.frame);
+ _session->request_locate (pos.sample);
}
}
@@ -7280,12 +7280,12 @@ Editor::playhead_backward_to_grid ()
return;
}
- MusicFrame pos (playhead_cursor->current_frame (), 0);
+ MusicSample pos (playhead_cursor->current_sample (), 0);
- if (pos.frame > 2) {
- pos.frame -= 2;
+ if (pos.sample > 2) {
+ pos.sample -= 2;
snap_to_internal (pos, RoundDownAlways, false, true);
- _session->request_locate (pos.frame);
+ _session->request_locate (pos.sample);
}
}
@@ -7543,7 +7543,7 @@ Editor::do_insert_time ()
void
Editor::insert_time (
- framepos_t pos, framecnt_t frames, InsertTimeOption opt,
+ samplepos_t pos, samplecnt_t samples, InsertTimeOption opt,
bool all_playlists, bool ignore_music_glue, bool markers_too, bool glued_markers_too, bool locked_markers_too, bool tempo_too
)
{
@@ -7592,10 +7592,10 @@ Editor::insert_time (
if (opt == SplitIntersected) {
/* non musical split */
- (*i)->split (MusicFrame (pos, 0));
+ (*i)->split (MusicSample (pos, 0));
}
- (*i)->shift (pos, frames, (opt == MoveIntersected), ignore_music_glue);
+ (*i)->shift (pos, samples, (opt == MoveIntersected), ignore_music_glue);
vector<Command*> cmds;
(*i)->rdiff (cmds);
@@ -7611,7 +7611,7 @@ Editor::insert_time (
begin_reversible_command (_("insert time"));
in_command = true;
}
- rtav->route ()->shift (pos, frames);
+ rtav->route ()->shift (pos, samples);
}
}
@@ -7635,9 +7635,9 @@ Editor::insert_time (
if ((*i)->start() >= pos) {
// move end first, in case we're moving by more than the length of the range
if (!(*i)->is_mark()) {
- (*i)->set_end ((*i)->end() + frames, false, true, divisions);
+ (*i)->set_end ((*i)->end() + samples, false, true, divisions);
}
- (*i)->set_start ((*i)->start() + frames, false, true, divisions);
+ (*i)->set_start ((*i)->start() + samples, false, true, divisions);
moved = true;
}
@@ -7663,7 +7663,7 @@ Editor::insert_time (
in_command = true;
}
XMLNode& before (_session->tempo_map().get_state());
- _session->tempo_map().insert_time (pos, frames);
+ _session->tempo_map().insert_time (pos, samples);
XMLNode& after (_session->tempo_map().get_state());
_session->add_command (new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after));
}
@@ -7688,7 +7688,7 @@ Editor::do_remove_time ()
return;
}
- framecnt_t distance = d.distance();
+ samplecnt_t distance = d.distance();
if (distance == 0) {
return;
@@ -7707,7 +7707,7 @@ Editor::do_remove_time ()
}
void
-Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
+Editor::remove_time (samplepos_t pos, samplecnt_t samples, InsertTimeOption opt,
bool ignore_music_glue, bool markers_too, bool glued_markers_too, bool locked_markers_too, bool tempo_too)
{
if (Config->get_edit_mode() == Lock) {
@@ -7730,10 +7730,10 @@ Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
}
std::list<AudioRange> rl;
- AudioRange ar(pos, pos+frames, 0);
+ AudioRange ar(pos, pos+samples, 0);
rl.push_back(ar);
pl->cut (rl);
- pl->shift (pos, -frames, true, ignore_music_glue);
+ pl->shift (pos, -samples, true, ignore_music_glue);
XMLNode &after = pl->get_state();
@@ -7747,7 +7747,7 @@ Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
begin_reversible_command (_("remove time"));
in_command = true;
}
- rtav->route ()->shift (pos, -frames);
+ rtav->route ()->shift (pos, -samples);
}
}
@@ -7770,39 +7770,39 @@ Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
if (!(*i)->is_mark()) { // it's a range; have to handle both start and end
if ((*i)->end() >= pos
- && (*i)->end() < pos+frames
+ && (*i)->end() < pos+samples
&& (*i)->start() >= pos
- && (*i)->end() < pos+frames) { // range is completely enclosed; kill it
+ && (*i)->end() < pos+samples) { // range is completely enclosed; kill it
moved = true;
loc_kill_list.push_back(*i);
} else { // only start or end is included, try to do the right thing
// move start before moving end, to avoid trying to move the end to before the start
// if we're removing more time than the length of the range
- if ((*i)->start() >= pos && (*i)->start() < pos+frames) {
+ if ((*i)->start() >= pos && (*i)->start() < pos+samples) {
// start is within cut
(*i)->set_start (pos, false, true,divisions); // bring the start marker to the beginning of the cut
moved = true;
- } else if ((*i)->start() >= pos+frames) {
+ } else if ((*i)->start() >= pos+samples) {
// start (and thus entire range) lies beyond end of cut
- (*i)->set_start ((*i)->start() - frames, false, true, divisions); // slip the start marker back
+ (*i)->set_start ((*i)->start() - samples, false, true, divisions); // slip the start marker back
moved = true;
}
- if ((*i)->end() >= pos && (*i)->end() < pos+frames) {
+ if ((*i)->end() >= pos && (*i)->end() < pos+samples) {
// end is inside cut
(*i)->set_end (pos, false, true, divisions); // bring the end to the cut
moved = true;
- } else if ((*i)->end() >= pos+frames) {
+ } else if ((*i)->end() >= pos+samples) {
// end is beyond end of cut
- (*i)->set_end ((*i)->end() - frames, false, true, divisions); // slip the end marker back
+ (*i)->set_end ((*i)->end() - samples, false, true, divisions); // slip the end marker back
moved = true;
}
}
- } else if ((*i)->start() >= pos && (*i)->start() < pos+frames ) {
+ } else if ((*i)->start() >= pos && (*i)->start() < pos+samples ) {
loc_kill_list.push_back(*i);
moved = true;
} else if ((*i)->start() >= pos) {
- (*i)->set_start ((*i)->start() -frames, false, true, divisions);
+ (*i)->set_start ((*i)->start() -samples, false, true, divisions);
moved = true;
}
@@ -7829,7 +7829,7 @@ Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
if (tempo_too) {
XMLNode& before (_session->tempo_map().get_state());
- if (_session->tempo_map().remove_time (pos, frames) ) {
+ if (_session->tempo_map().remove_time (pos, samples) ) {
if (!in_command) {
begin_reversible_command (_("remove time"));
in_command = true;
diff --git a/gtk2_ardour/editor_pt_import.cc b/gtk2_ardour/editor_pt_import.cc
index 55c3b0b43c..3f6a337569 100644
--- a/gtk2_ardour/editor_pt_import.cc
+++ b/gtk2_ardour/editor_pt_import.cc
@@ -122,12 +122,12 @@ Editor::do_ptimport (std::string ptpath,
bool ok = false;
bool onefailed = false;
PTFFormat ptf;
- framepos_t pos = -1;
+ samplepos_t pos = -1;
vector<ptflookup_t> ptfwavpair;
vector<ptflookup_t> ptfregpair;
- if (ptf.load(ptpath, _session->frame_rate()) == -1) {
+ if (ptf.load(ptpath, _session->sample_rate()) == -1) {
MessageDialog msg (_("Doesn't seem to be a valid PT session file"));
msg.run ();
return;
@@ -229,9 +229,9 @@ Editor::do_ptimport (std::string ptpath,
/* Empty wave - assume MIDI region */
boost::shared_ptr<MidiTrack> midi_track = mt.back();
boost::shared_ptr<Playlist> playlist = midi_track->playlist();
- framepos_t f = (framepos_t)a->startpos;
- framecnt_t length = (framecnt_t)a->length;
- MusicFrame pos (f, 0);
+ samplepos_t f = (samplepos_t)a->startpos;
+ samplecnt_t length = (samplecnt_t)a->length;
+ MusicSample pos (f, 0);
boost::shared_ptr<Source> src = _session->create_midi_source_by_stealing_name (midi_track);
PropertyList plist;
plist.add (ARDOUR::Properties::start, 0);
@@ -239,8 +239,8 @@ Editor::do_ptimport (std::string ptpath,
plist.add (ARDOUR::Properties::name, PBD::basename_nosuffix(src->name()));
boost::shared_ptr<Region> region = (RegionFactory::create (src, plist));
/* sets beat position */
- region->set_position (pos.frame, pos.division);
- midi_track->playlist()->add_region (region, pos.frame, 1.0, false, pos.division);
+ region->set_position (pos.sample, pos.division);
+ midi_track->playlist()->add_region (region, pos.sample, 1.0, false, pos.division);
boost::shared_ptr<MidiRegion> mr = boost::dynamic_pointer_cast<MidiRegion>(region);
boost::shared_ptr<MidiModel> mm = mr->midi_source(0)->model();
diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc
index 0372e1f3d8..c74dc6b6e3 100644
--- a/gtk2_ardour/editor_regions.cc
+++ b/gtk2_ardour/editor_regions.cc
@@ -727,7 +727,7 @@ EditorRegions::update_all_rows ()
}
void
-EditorRegions::format_position (framepos_t pos, char* buf, size_t bufsize, bool onoff)
+EditorRegions::format_position (samplepos_t pos, char* buf, size_t bufsize, bool onoff)
{
Timecode::BBT_Time bbt;
Timecode::Time timecode;
@@ -740,7 +740,7 @@ EditorRegions::format_position (framepos_t pos, char* buf, size_t bufsize, bool
switch (ARDOUR_UI::instance()->secondary_clock->mode ()) {
case AudioClock::BBT:
- bbt = _session->tempo_map().bbt_at_frame (pos);
+ bbt = _session->tempo_map().bbt_at_sample (pos);
if (onoff) {
snprintf (buf, bufsize, "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
} else {
@@ -749,17 +749,17 @@ EditorRegions::format_position (framepos_t pos, char* buf, size_t bufsize, bool
break;
case AudioClock::MinSec:
- framepos_t left;
+ samplepos_t left;
int hrs;
int mins;
float secs;
left = pos;
- hrs = (int) floor (left / (_session->frame_rate() * 60.0f * 60.0f));
- left -= (framecnt_t) floor (hrs * _session->frame_rate() * 60.0f * 60.0f);
- mins = (int) floor (left / (_session->frame_rate() * 60.0f));
- left -= (framecnt_t) floor (mins * _session->frame_rate() * 60.0f);
- secs = left / (float) _session->frame_rate();
+ hrs = (int) floor (left / (_session->sample_rate() * 60.0f * 60.0f));
+ left -= (samplecnt_t) floor (hrs * _session->sample_rate() * 60.0f * 60.0f);
+ mins = (int) floor (left / (_session->sample_rate() * 60.0f));
+ left -= (samplecnt_t) floor (mins * _session->sample_rate() * 60.0f);
+ secs = left / (float) _session->sample_rate();
if (onoff) {
snprintf (buf, bufsize, "%02d:%02d:%06.3f", hrs, mins, secs);
} else {
@@ -767,7 +767,7 @@ EditorRegions::format_position (framepos_t pos, char* buf, size_t bufsize, bool
}
break;
- case AudioClock::Frames:
+ case AudioClock::Samples:
if (onoff) {
snprintf (buf, bufsize, "%" PRId64, pos);
} else {
@@ -840,27 +840,27 @@ EditorRegions::populate_row (boost::shared_ptr<Region> region, TreeModel::Row co
#if 0
if (audioRegion && fades_in_seconds) {
- framepos_t left;
+ samplepos_t left;
int mins;
int millisecs;
left = audioRegion->fade_in()->back()->when;
- mins = (int) floor (left / (_session->frame_rate() * 60.0f));
- left -= (framepos_t) floor (mins * _session->frame_rate() * 60.0f);
- millisecs = (int) floor ((left * 1000.0f) / _session->frame_rate());
+ mins = (int) floor (left / (_session->sample_rate() * 60.0f));
+ left -= (samplepos_t) floor (mins * _session->sample_rate() * 60.0f);
+ millisecs = (int) floor ((left * 1000.0f) / _session->sample_rate());
- if (audioRegion->fade_in()->back()->when >= _session->frame_rate()) {
+ if (audioRegion->fade_in()->back()->when >= _session->sample_rate()) {
sprintf (fadein_str, "%01dM %01dmS", mins, millisecs);
} else {
sprintf (fadein_str, "%01dmS", millisecs);
}
left = audioRegion->fade_out()->back()->when;
- mins = (int) floor (left / (_session->frame_rate() * 60.0f));
- left -= (framepos_t) floor (mins * _session->frame_rate() * 60.0f);
- millisecs = (int) floor ((left * 1000.0f) / _session->frame_rate());
+ mins = (int) floor (left / (_session->sample_rate() * 60.0f));
+ left -= (samplepos_t) floor (mins * _session->sample_rate() * 60.0f);
+ millisecs = (int) floor ((left * 1000.0f) / _session->sample_rate());
- if (audioRegion->fade_out()->back()->when >= _session->frame_rate()) {
+ if (audioRegion->fade_out()->back()->when >= _session->sample_rate()) {
sprintf (fadeout_str, "%01dM %01dmS", mins, millisecs);
} else {
sprintf (fadeout_str, "%01dmS", millisecs);
@@ -883,7 +883,7 @@ EditorRegions::populate_row_length (boost::shared_ptr<Region> region, TreeModel:
if (ARDOUR_UI::instance()->secondary_clock->mode () == AudioClock::BBT) {
TempoMap& map (_session->tempo_map());
- Timecode::BBT_Time bbt = map.bbt_at_beat (map.beat_at_frame (region->last_frame()) - map.beat_at_frame (region->first_frame()));
+ Timecode::BBT_Time bbt = map.bbt_at_beat (map.beat_at_sample (region->last_sample()) - map.beat_at_sample (region->first_sample()));
snprintf (buf, sizeof (buf), "%03d|%02d|%04d" , bbt.bars, bbt.beats, bbt.ticks);
} else {
format_position (region->length(), buf, sizeof (buf));
@@ -899,9 +899,9 @@ EditorRegions::populate_row_end (boost::shared_ptr<Region> region, TreeModel::Ro
row[_columns.end] = "";
} else if (used > 1) {
row[_columns.end] = _("Mult.");
- } else if (region->last_frame() >= region->first_frame()) {
+ } else if (region->last_sample() >= region->first_sample()) {
char buf[16];
- format_position (region->last_frame(), buf, sizeof (buf));
+ format_position (region->last_sample(), buf, sizeof (buf));
row[_columns.end] = buf;
} else {
row[_columns.end] = "empty";
@@ -932,7 +932,7 @@ EditorRegions::populate_row_sync (boost::shared_ptr<Region> region, TreeModel::R
} else {
if (region->sync_position() == region->position()) {
row[_columns.sync] = _("Start");
- } else if (region->sync_position() == (region->last_frame())) {
+ } else if (region->sync_position() == (region->last_sample())) {
row[_columns.sync] = _("End");
} else {
char buf[16];
@@ -1319,7 +1319,7 @@ EditorRegions::drag_data_received (const RefPtr<Gdk::DragContext>& context,
}
if (_editor->convert_drop_to_paths (paths, context, x, y, data, info, time) == 0) {
- framepos_t pos = 0;
+ samplepos_t pos = 0;
bool copy = ((context->get_actions() & (Gdk::ACTION_COPY | Gdk::ACTION_LINK | Gdk::ACTION_MOVE)) == Gdk::ACTION_COPY);
if (UIConfiguration::instance().get_only_copy_imported_files() || copy) {
diff --git a/gtk2_ardour/editor_regions.h b/gtk2_ardour/editor_regions.h
index 3284259ed7..c36f338ae5 100644
--- a/gtk2_ardour/editor_regions.h
+++ b/gtk2_ardour/editor_regions.h
@@ -155,7 +155,7 @@ private:
int sorter (Gtk::TreeModel::iterator, Gtk::TreeModel::iterator);
- void format_position (ARDOUR::framepos_t pos, char* buf, size_t bufsize, bool onoff = true);
+ void format_position (ARDOUR::samplepos_t pos, char* buf, size_t bufsize, bool onoff = true);
void add_region (boost::shared_ptr<ARDOUR::Region>);
@@ -194,7 +194,7 @@ private:
Gtk::Menu* _menu;
Gtk::ScrolledWindow _scroller;
- Gtk::Frame _frame;
+ Gtk::Frame _sample;
Gtkmm2ext::DnDTreeView<boost::shared_ptr<ARDOUR::Region> > _display;
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 809dfd267f..a08c1f0f78 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -1782,7 +1782,7 @@ EditorRoutes::solo_changed_so_update_mute ()
void
EditorRoutes::show_tracks_with_regions_at_playhead ()
{
- boost::shared_ptr<RouteList> const r = _session->get_routes_with_regions_at (_session->transport_frame ());
+ boost::shared_ptr<RouteList> const r = _session->get_routes_with_regions_at (_session->transport_sample ());
set<TimeAxisView*> show;
for (RouteList::const_iterator i = r->begin(); i != r->end(); ++i) {
diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc
index 997d79efa9..661184b9ad 100644
--- a/gtk2_ardour/editor_rulers.cc
+++ b/gtk2_ardour/editor_rulers.cc
@@ -193,7 +193,7 @@ Editor::ruler_label_button_release (GdkEventButton* ev)
}
void
-Editor::popup_ruler_menu (framepos_t where, ItemType t)
+Editor::popup_ruler_menu (samplepos_t where, ItemType t)
{
using namespace Menu_Helpers;
@@ -602,10 +602,10 @@ Editor::update_just_timecode ()
return;
}
- framepos_t rightmost_frame = leftmost_frame + current_page_samples();
+ samplepos_t rightmost_sample = _leftmost_sample + current_page_samples();
if (ruler_timecode_action->get_active()) {
- timecode_ruler->set_range (leftmost_frame, rightmost_frame);
+ timecode_ruler->set_range (_leftmost_sample, rightmost_sample);
}
}
@@ -617,22 +617,22 @@ Editor::compute_fixed_ruler_scale ()
}
if (ruler_timecode_action->get_active()) {
- set_timecode_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+ set_timecode_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
}
if (ruler_minsec_action->get_active()) {
- set_minsec_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+ set_minsec_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
}
if (ruler_samples_action->get_active()) {
- set_samples_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+ set_samples_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
}
}
void
Editor::update_fixed_rulers ()
{
- framepos_t rightmost_frame;
+ samplepos_t rightmost_sample;
if (_session == 0) {
return;
@@ -644,22 +644,22 @@ Editor::update_fixed_rulers ()
_samples_metric->units_per_pixel = samples_per_pixel;
_minsec_metric->units_per_pixel = samples_per_pixel;
- rightmost_frame = leftmost_frame + current_page_samples();
+ rightmost_sample = _leftmost_sample + current_page_samples();
/* these force a redraw, which in turn will force execution of the metric callbacks
to compute the relevant ticks to display.
*/
if (ruler_timecode_action->get_active()) {
- timecode_ruler->set_range (leftmost_frame, rightmost_frame);
+ timecode_ruler->set_range (_leftmost_sample, rightmost_sample);
}
if (ruler_samples_action->get_active()) {
- samples_ruler->set_range (leftmost_frame, rightmost_frame);
+ samples_ruler->set_range (_leftmost_sample, rightmost_sample);
}
if (ruler_minsec_action->get_active()) {
- minsec_ruler->set_range (leftmost_frame, rightmost_frame);
+ minsec_ruler->set_range (_leftmost_sample, rightmost_sample);
}
}
@@ -673,54 +673,54 @@ Editor::update_tempo_based_rulers ()
_bbt_metric->units_per_pixel = samples_per_pixel;
if (ruler_bbt_action->get_active()) {
- bbt_ruler->set_range (leftmost_frame, leftmost_frame+current_page_samples());
+ bbt_ruler->set_range (_leftmost_sample, _leftmost_sample+current_page_samples());
}
}
void
-Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
+Editor::set_timecode_ruler_scale (samplepos_t lower, samplepos_t upper)
{
using namespace std;
- framepos_t spacer;
- framepos_t fr;
+ samplepos_t spacer;
+ samplepos_t fr;
if (_session == 0) {
return;
}
- fr = _session->frame_rate();
+ fr = _session->sample_rate();
- if (lower > (spacer = (framepos_t) (128 * Editor::get_current_zoom ()))) {
+ if (lower > (spacer = (samplepos_t) (128 * Editor::get_current_zoom ()))) {
lower = lower - spacer;
} else {
lower = 0;
}
upper = upper + spacer;
- framecnt_t const range = upper - lower;
+ samplecnt_t const range = upper - lower;
- if (range < (2 * _session->samples_per_timecode_frame())) { /* 0 - 2 frames */
+ if (range < (2 * _session->samples_per_timecode_frame())) { /* 0 - 2 samples */
timecode_ruler_scale = timecode_show_bits;
timecode_mark_modulo = 20;
timecode_nmarks = 2 + (2 * _session->config.get_subframes_per_frame());
- } else if (range <= (fr / 4)) { /* 2 frames - 0.250 second */
- timecode_ruler_scale = timecode_show_frames;
+ } else if (range <= (fr / 4)) { /* 2 samples - 0.250 second */
+ timecode_ruler_scale = timecode_show_samples;
timecode_mark_modulo = 1;
- timecode_nmarks = 2 + (range / (framepos_t)_session->samples_per_timecode_frame());
+ timecode_nmarks = 2 + (range / (samplepos_t)_session->samples_per_timecode_frame());
} else if (range <= (fr / 2)) { /* 0.25-0.5 second */
- timecode_ruler_scale = timecode_show_frames;
+ timecode_ruler_scale = timecode_show_samples;
timecode_mark_modulo = 2;
- timecode_nmarks = 2 + (range / (framepos_t)_session->samples_per_timecode_frame());
+ timecode_nmarks = 2 + (range / (samplepos_t)_session->samples_per_timecode_frame());
} else if (range <= fr) { /* 0.5-1 second */
- timecode_ruler_scale = timecode_show_frames;
+ timecode_ruler_scale = timecode_show_samples;
timecode_mark_modulo = 5;
- timecode_nmarks = 2 + (range / (framepos_t)_session->samples_per_timecode_frame());
+ timecode_nmarks = 2 + (range / (samplepos_t)_session->samples_per_timecode_frame());
} else if (range <= 2 * fr) { /* 1-2 seconds */
- timecode_ruler_scale = timecode_show_frames;
+ timecode_ruler_scale = timecode_show_samples;
timecode_mark_modulo = 10;
- timecode_nmarks = 2 + (range / (framepos_t)_session->samples_per_timecode_frame());
+ timecode_nmarks = 2 + (range / (samplepos_t)_session->samples_per_timecode_frame());
} else if (range <= 8 * fr) { /* 2-8 seconds */
timecode_ruler_scale = timecode_show_seconds;
timecode_mark_modulo = 1;
@@ -771,7 +771,7 @@ Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
timecode_nmarks = 2 + 24;
} else {
- const framecnt_t hours_in_range = range / (60 * 60 * fr);
+ const samplecnt_t hours_in_range = range / (60 * 60 * fr);
const int text_width_rough_guess = 120; /* pixels, very very approximate guess at how wide the tick mark text is */
/* Normally we do not need to know anything about the width of the canvas
@@ -786,15 +786,15 @@ Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
timecode_nmarks = _track_canvas->width() / text_width_rough_guess;
timecode_ruler_scale = timecode_show_many_hours;
- timecode_mark_modulo = max ((framecnt_t) 1, 1 + (hours_in_range / timecode_nmarks));
+ timecode_mark_modulo = max ((samplecnt_t) 1, 1 + (hours_in_range / timecode_nmarks));
}
}
void
Editor::metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
{
- framepos_t pos;
- framecnt_t spacer;
+ samplepos_t pos;
+ samplecnt_t spacer;
Timecode::Time timecode;
gchar buf[16];
gint n;
@@ -804,13 +804,13 @@ Editor::metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdou
return;
}
- if (lower > (spacer = (framecnt_t)(128 * Editor::get_current_zoom ()))) {
+ if (lower > (spacer = (samplecnt_t)(128 * Editor::get_current_zoom ()))) {
lower = lower - spacer;
} else {
lower = 0;
}
- pos = (framecnt_t) floor (lower);
+ pos = (samplecnt_t) floor (lower);
switch (timecode_ruler_scale) {
case timecode_show_bits:
@@ -838,11 +838,11 @@ Editor::metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdou
}
break;
- case timecode_show_frames:
+ case timecode_show_samples:
// Find timecode time of this sample (pos)
_session->sample_to_timecode(pos, timecode, true /* use_offset */, false /* use_subframes */ );
- // Go to next whole frame down
- Timecode::frames_floor( timecode );
+ // Go to next whole sample down
+ Timecode::frames_floot( timecode );
for (n = 0; n < timecode_nmarks; n++) {
_session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
if ((timecode.frames % timecode_mark_modulo) == 0) {
@@ -961,7 +961,7 @@ Editor::metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdou
}
void
-Editor::compute_bbt_ruler_scale (framepos_t lower, framepos_t upper)
+Editor::compute_bbt_ruler_scale (samplepos_t lower, samplepos_t upper)
{
if (_session == 0) {
return;
@@ -969,14 +969,14 @@ Editor::compute_bbt_ruler_scale (framepos_t lower, framepos_t upper)
std::vector<TempoMap::BBTPoint>::const_iterator i;
Timecode::BBT_Time lower_beat, upper_beat; // the beats at each end of the ruler
- double floor_lower_beat = floor(max (0.0, _session->tempo_map().beat_at_frame (lower)));
+ double floor_lower_beat = floor(max (0.0, _session->tempo_map().beat_at_sample (lower)));
if (floor_lower_beat < 0.0) {
floor_lower_beat = 0.0;
}
- const framecnt_t beat_before_lower_pos = _session->tempo_map().frame_at_beat (floor_lower_beat);
- const framecnt_t beat_after_upper_pos = _session->tempo_map().frame_at_beat (floor (max (0.0, _session->tempo_map().beat_at_frame (upper))) + 1.0);
+ const samplecnt_t beat_before_lower_pos = _session->tempo_map().sample_at_beat (floor_lower_beat);
+ const samplecnt_t beat_after_upper_pos = _session->tempo_map().sample_at_beat (floor (max (0.0, _session->tempo_map().beat_at_sample (upper))) + 1.0);
_session->bbt_time (beat_before_lower_pos, lower_beat);
_session->bbt_time (beat_after_upper_pos, upper_beat);
@@ -1060,7 +1060,7 @@ Editor::compute_bbt_ruler_scale (framepos_t lower, framepos_t upper)
break;
}
- const double ceil_upper_beat = floor (max (0.0, _session->tempo_map().beat_at_frame (upper))) + 1.0;
+ const double ceil_upper_beat = floor (max (0.0, _session->tempo_map().beat_at_sample (upper))) + 1.0;
if (ceil_upper_beat == floor_lower_beat) {
return;
}
@@ -1118,7 +1118,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
char buf[64];
gint n = 0;
- framepos_t pos;
+ samplepos_t pos;
Timecode::BBT_Time next_beat;
uint32_t beats = 0;
uint32_t tick = 0;
@@ -1151,7 +1151,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
for (n = 1, i = grid.begin(); n < bbt_nmarks && i != grid.end(); ++i) {
- if ((*i).frame < lower && (bbt_bar_helper_on)) {
+ if ((*i).sample < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
edit_last_mark_label (marks, buf);
} else {
@@ -1167,7 +1167,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
buf[0] = '\0';
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
n++;
}
@@ -1190,7 +1190,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
for (n = 1, i = grid.begin(); n < bbt_nmarks && i != grid.end(); ++i) {
- if ((*i).frame < lower && (bbt_bar_helper_on)) {
+ if ((*i).sample < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
edit_last_mark_label (marks, buf);
helper_active = true;
@@ -1203,11 +1203,11 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).beat);
}
- if (((*i).frame < bbt_position_of_helper) && helper_active) {
+ if (((*i).sample < bbt_position_of_helper) && helper_active) {
buf[0] = '\0';
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
n++;
}
@@ -1221,7 +1221,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
next_beat.beats = (*i).beat;
next_beat.bars = (*i).bar;
next_beat.ticks = tick;
- pos = _session->tempo_map().frame_at_bbt (next_beat);
+ pos = _session->tempo_map().sample_at_bbt (next_beat);
if (t % bbt_accent_modulo == (bbt_accent_modulo - 1)) {
i_am_accented = true;
@@ -1259,7 +1259,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
for (n = 1, i = grid.begin(); n < bbt_nmarks && i != grid.end(); ++i) {
- if ((*i).frame < lower && (bbt_bar_helper_on)) {
+ if ((*i).sample < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
edit_last_mark_label (marks, buf);
helper_active = true;
@@ -1272,11 +1272,11 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).beat);
}
- if (((*i).frame < bbt_position_of_helper) && helper_active) {
+ if (((*i).sample < bbt_position_of_helper) && helper_active) {
buf[0] = '\0';
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
n++;
}
@@ -1291,7 +1291,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
next_beat.beats = (*i).beat;
next_beat.bars = (*i).bar;
next_beat.ticks = tick;
- pos = _session->tempo_map().frame_at_bbt (next_beat);
+ pos = _session->tempo_map().sample_at_bbt (next_beat);
if (t % bbt_accent_modulo == (bbt_accent_modulo - 1)) {
i_am_accented = true;
@@ -1335,7 +1335,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
for (n = 1, i = grid.begin(); n < bbt_nmarks && i != grid.end(); ++i) {
- if ((*i).frame < lower && (bbt_bar_helper_on)) {
+ if ((*i).sample < lower && (bbt_bar_helper_on)) {
snprintf (buf, sizeof(buf), "<%" PRIu32 "|%" PRIu32, (*i).bar, (*i).beat);
edit_last_mark_label (marks, buf);
helper_active = true;
@@ -1348,11 +1348,11 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
mark.style = ArdourCanvas::Ruler::Mark::Minor;
snprintf (buf, sizeof(buf), "%" PRIu32, (*i).beat);
}
- if (((*i).frame < bbt_position_of_helper) && helper_active) {
+ if (((*i).sample < bbt_position_of_helper) && helper_active) {
buf[0] = '\0';
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
n++;
}
@@ -1367,7 +1367,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
while (tick < Timecode::BBT_Time::ticks_per_beat && (n < bbt_nmarks)) {
next_beat.ticks = tick;
- pos = _session->tempo_map().frame_at_bbt (next_beat);
+ pos = _session->tempo_map().sample_at_bbt (next_beat);
if (t % bbt_accent_modulo == (bbt_accent_modulo - 1)) {
i_am_accented = true;
}
@@ -1423,7 +1423,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
}
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
++n;
}
@@ -1448,7 +1448,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
}
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
++n;
}
@@ -1473,7 +1473,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
}
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
++n;
}
@@ -1498,7 +1498,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
}
}
mark.label = buf;
- mark.position = (*i).frame;
+ mark.position = (*i).sample;
marks.push_back (mark);
++n;
}
@@ -1509,7 +1509,7 @@ Editor::metric_get_bbt (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble l
}
void
-Editor::set_samples_ruler_scale (framepos_t lower, framepos_t upper)
+Editor::set_samples_ruler_scale (samplepos_t lower, samplepos_t upper)
{
_samples_ruler_interval = (upper - lower) / 5;
}
@@ -1517,8 +1517,8 @@ Editor::set_samples_ruler_scale (framepos_t lower, framepos_t upper)
void
Editor::metric_get_samples (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble /*upper*/, gint /*maxchars*/)
{
- framepos_t pos;
- framepos_t const ilower = (framepos_t) floor (lower);
+ samplepos_t pos;
+ samplepos_t const ilower = (samplepos_t) floor (lower);
gchar buf[16];
gint nmarks;
gint n;
@@ -1539,15 +1539,15 @@ Editor::metric_get_samples (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoub
}
static void
-sample_to_clock_parts ( framepos_t sample,
- framepos_t sample_rate,
+sample_to_clock_parts ( samplepos_t sample,
+ samplepos_t sample_rate,
long *hrs_p,
long *mins_p,
long *secs_p,
long *millisecs_p)
{
- framepos_t left;
+ samplepos_t left;
long hrs;
long mins;
long secs;
@@ -1571,10 +1571,10 @@ sample_to_clock_parts ( framepos_t sample,
}
void
-Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
+Editor::set_minsec_ruler_scale (samplepos_t lower, samplepos_t upper)
{
- framepos_t fr = _session->frame_rate() * 1000;
- framepos_t spacer;
+ samplepos_t fr = _session->sample_rate() * 1000;
+ samplepos_t spacer;
if (_session == 0) {
return;
@@ -1582,13 +1582,13 @@ Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
/* to prevent 'flashing' */
- if (lower > (spacer = (framepos_t)(128 * Editor::get_current_zoom ()))) {
+ if (lower > (spacer = (samplepos_t)(128 * Editor::get_current_zoom ()))) {
lower -= spacer;
} else {
lower = 0;
}
upper += spacer;
- framecnt_t const range = (upper - lower) * 1000;
+ samplecnt_t const range = (upper - lower) * 1000;
if (range <= (fr / 10)) { /* 0-0.1 second */
minsec_mark_interval = fr / 1000; /* show 1/1000 seconds */
@@ -1672,7 +1672,7 @@ Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
minsec_nmarks = 2 + (range / minsec_mark_interval);
} else {
- const framecnt_t hours_in_range = range / (60 * 60 * fr);
+ const samplecnt_t hours_in_range = range / (60 * 60 * fr);
const int text_width_rough_guess = 70; /* pixels, very very approximate guess at how wide the tick mark text is */
/* Normally we do not need to know anything about the width of the canvas
@@ -1686,7 +1686,7 @@ Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
*/
minsec_nmarks = _track_canvas->width() / text_width_rough_guess;
- minsec_mark_modulo = max ((framecnt_t) 1, 1 + (hours_in_range / minsec_nmarks));
+ minsec_mark_modulo = max ((samplecnt_t) 1, 1 + (hours_in_range / minsec_nmarks));
minsec_mark_interval = minsec_mark_modulo * (60 * 60 * fr);
minsec_ruler_scale = minsec_show_many_hours;
}
@@ -1695,8 +1695,8 @@ Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
void
Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdouble lower, gdouble upper, gint /*maxchars*/)
{
- framepos_t pos;
- framepos_t spacer;
+ samplepos_t pos;
+ samplepos_t spacer;
long hrs, mins, secs, millisecs;
gchar buf[16];
gint n;
@@ -1707,19 +1707,19 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
}
/* to prevent 'flashing' */
- if (lower > (spacer = (framepos_t) (128 * Editor::get_current_zoom ()))) {
+ if (lower > (spacer = (samplepos_t) (128 * Editor::get_current_zoom ()))) {
lower = lower - spacer;
} else {
lower = 0;
}
- pos = (((1000 * (framepos_t) floor(lower)) + (minsec_mark_interval/2))/minsec_mark_interval) * minsec_mark_interval;
+ pos = (((1000 * (samplepos_t) floor(lower)) + (minsec_mark_interval/2))/minsec_mark_interval) * minsec_mark_interval;
switch (minsec_ruler_scale) {
case minsec_show_msecs:
for (n = 0; n < minsec_nmarks && n < upper; pos += minsec_mark_interval, ++n) {
- sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
+ sample_to_clock_parts (pos, _session->sample_rate(), &hrs, &mins, &secs, &millisecs);
if (millisecs % minsec_mark_modulo == 0) {
if (millisecs == 0) {
mark.style = ArdourCanvas::Ruler::Mark::Major;
@@ -1739,7 +1739,7 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
case minsec_show_seconds:
for (n = 0; n < minsec_nmarks; pos += minsec_mark_interval, ++n) {
- sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
+ sample_to_clock_parts (pos, _session->sample_rate(), &hrs, &mins, &secs, &millisecs);
if (secs % minsec_mark_modulo == 0) {
if (secs == 0) {
mark.style = ArdourCanvas::Ruler::Mark::Major;
@@ -1759,7 +1759,7 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
case minsec_show_minutes:
for (n = 0; n < minsec_nmarks; pos += minsec_mark_interval, ++n) {
- sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
+ sample_to_clock_parts (pos, _session->sample_rate(), &hrs, &mins, &secs, &millisecs);
if (mins % minsec_mark_modulo == 0) {
if (mins == 0) {
mark.style = ArdourCanvas::Ruler::Mark::Major;
@@ -1779,7 +1779,7 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
case minsec_show_hours:
for (n = 0; n < minsec_nmarks; pos += minsec_mark_interval, ++n) {
- sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
+ sample_to_clock_parts (pos, _session->sample_rate(), &hrs, &mins, &secs, &millisecs);
if (hrs % minsec_mark_modulo == 0) {
mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%02ld:%02ld", hrs, mins);
@@ -1795,7 +1795,7 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
case minsec_show_many_hours:
for (n = 0; n < minsec_nmarks; ) {
- sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
+ sample_to_clock_parts (pos, _session->sample_rate(), &hrs, &mins, &secs, &millisecs);
if (hrs % minsec_mark_modulo == 0) {
mark.style = ArdourCanvas::Ruler::Mark::Major;
snprintf (buf, sizeof(buf), "%02ld:00", hrs);
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index b5a0be1c78..d705189cdf 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -667,24 +667,24 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
} else if (op == Selection::Extend) {
list<Selectable*> results;
- framepos_t last_frame;
- framepos_t first_frame;
+ samplepos_t last_sample;
+ samplepos_t first_sample;
bool same_track = false;
/* 1. find the last selected regionview in the track that was clicked in */
- last_frame = 0;
- first_frame = max_framepos;
+ last_sample = 0;
+ first_sample = max_samplepos;
for (RegionSelection::iterator x = selection->regions.begin(); x != selection->regions.end(); ++x) {
if (&(*x)->get_time_axis_view() == &clicked_regionview->get_time_axis_view()) {
- if ((*x)->region()->last_frame() > last_frame) {
- last_frame = (*x)->region()->last_frame();
+ if ((*x)->region()->last_sample() > last_sample) {
+ last_sample = (*x)->region()->last_sample();
}
- if ((*x)->region()->first_frame() < first_frame) {
- first_frame = (*x)->region()->first_frame();
+ if ((*x)->region()->first_sample() < first_sample) {
+ first_sample = (*x)->region()->first_sample();
}
same_track = true;
@@ -695,34 +695,34 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
/* 2. figure out the boundaries for our search for new objects */
- switch (clicked_regionview->region()->coverage (first_frame, last_frame)) {
+ switch (clicked_regionview->region()->coverage (first_sample, last_sample)) {
case Evoral::OverlapNone:
- if (last_frame < clicked_regionview->region()->first_frame()) {
- first_frame = last_frame;
- last_frame = clicked_regionview->region()->last_frame();
+ if (last_sample < clicked_regionview->region()->first_sample()) {
+ first_sample = last_sample;
+ last_sample = clicked_regionview->region()->last_sample();
} else {
- last_frame = first_frame;
- first_frame = clicked_regionview->region()->first_frame();
+ last_sample = first_sample;
+ first_sample = clicked_regionview->region()->first_sample();
}
break;
case Evoral::OverlapExternal:
- if (last_frame < clicked_regionview->region()->first_frame()) {
- first_frame = last_frame;
- last_frame = clicked_regionview->region()->last_frame();
+ if (last_sample < clicked_regionview->region()->first_sample()) {
+ first_sample = last_sample;
+ last_sample = clicked_regionview->region()->last_sample();
} else {
- last_frame = first_frame;
- first_frame = clicked_regionview->region()->first_frame();
+ last_sample = first_sample;
+ first_sample = clicked_regionview->region()->first_sample();
}
break;
case Evoral::OverlapInternal:
- if (last_frame < clicked_regionview->region()->first_frame()) {
- first_frame = last_frame;
- last_frame = clicked_regionview->region()->last_frame();
+ if (last_sample < clicked_regionview->region()->first_sample()) {
+ first_sample = last_sample;
+ last_sample = clicked_regionview->region()->last_sample();
} else {
- last_frame = first_frame;
- first_frame = clicked_regionview->region()->first_frame();
+ last_sample = first_sample;
+ first_sample = clicked_regionview->region()->first_sample();
}
break;
@@ -742,15 +742,15 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
*/
- first_frame = clicked_regionview->region()->position();
- last_frame = clicked_regionview->region()->last_frame();
+ first_sample = clicked_regionview->region()->position();
+ last_sample = clicked_regionview->region()->last_sample();
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
- if ((*i)->region()->position() < first_frame) {
- first_frame = (*i)->region()->position();
+ if ((*i)->region()->position() < first_sample) {
+ first_sample = (*i)->region()->position();
}
- if ((*i)->region()->last_frame() + 1 > last_frame) {
- last_frame = (*i)->region()->last_frame();
+ if ((*i)->region()->last_sample() + 1 > last_sample) {
+ last_sample = (*i)->region()->last_sample();
}
}
}
@@ -863,7 +863,7 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op)
*/
for (set<RouteTimeAxisView*>::iterator t = relevant_tracks.begin(); t != relevant_tracks.end(); ++t) {
- (*t)->get_selectables (first_frame, last_frame, -1.0, -1.0, results);
+ (*t)->get_selectables (first_sample, last_sample, -1.0, -1.0, results);
}
/* 4. convert to a vector of regions */
@@ -1186,7 +1186,7 @@ Editor::time_selection_changed ()
if (_session && !_drags->active()) {
if (selection->time.length() != 0) {
- _session->set_range_selection (selection->time.start(), selection->time.end_frame());
+ _session->set_range_selection (selection->time.start(), selection->time.end_sample());
} else {
_session->clear_range_selection ();
}
@@ -1251,7 +1251,7 @@ Editor::sensitize_the_right_region_actions (bool because_canvas_crossing)
}
} else {
RegionSelection at_edit_point;
- framepos_t const where = get_preferred_edit_position (Editing::EDIT_IGNORE_NONE, false, !within_track_canvas);
+ samplepos_t const where = get_preferred_edit_position (Editing::EDIT_IGNORE_NONE, false, !within_track_canvas);
get_regions_at (at_edit_point, where, selection->tracks);
if (!at_edit_point.empty()) {
have_edit_point = true;
@@ -1569,7 +1569,7 @@ Editor::region_selection_changed ()
if (_session) {
if (!selection->regions.empty()) {
- _session->set_object_selection (selection->regions.start(), selection->regions.end_frame());
+ _session->set_object_selection (selection->regions.start(), selection->regions.end_sample());
} else {
_session->clear_object_selection ();
}
@@ -1596,7 +1596,7 @@ Editor::select_all_in_track (Selection::Operation op)
begin_reversible_selection_op (X_("Select All in Track"));
- clicked_routeview->get_selectables (0, max_framepos, 0, DBL_MAX, touched);
+ clicked_routeview->get_selectables (0, max_samplepos, 0, DBL_MAX, touched);
switch (op) {
case Selection::Toggle:
@@ -1659,7 +1659,7 @@ Editor::select_all_objects (Selection::Operation op)
if ((*iter)->hidden()) {
continue;
}
- (*iter)->get_selectables (0, max_framepos, 0, DBL_MAX, touched);
+ (*iter)->get_selectables (0, max_samplepos, 0, DBL_MAX, touched);
}
begin_reversible_selection_op (X_("select all"));
@@ -1722,15 +1722,15 @@ Editor::invert_selection ()
commit_reversible_selection_op ();
}
-/** @param start Start time in session frames.
- * @param end End time in session frames.
+/** @param start Start time in session samples.
+ * @param end End time in session samples.
* @param top Top (lower) y limit in trackview coordinates (ie 0 at the top of the track view)
* @param bottom Bottom (higher) y limit in trackview coordinates (ie 0 at the top of the track view)
* @param preserve_if_selected true to leave the current selection alone if we're adding to the selection and all of the selectables
* within the region are already selected.
*/
void
-Editor::select_all_within (framepos_t start, framepos_t end, double top, double bot, const TrackViewList& tracklist, Selection::Operation op, bool preserve_if_selected)
+Editor::select_all_within (samplepos_t start, samplepos_t end, double top, double bot, const TrackViewList& tracklist, Selection::Operation op, bool preserve_if_selected)
{
list<Selectable*> found;
@@ -1799,7 +1799,7 @@ Editor::set_selection_from_region ()
/* select range (this will clear the region selection) */
- selection->set (selection->regions.start(), selection->regions.end_frame());
+ selection->set (selection->regions.start(), selection->regions.end_sample());
/* and select the tracks */
@@ -1854,8 +1854,8 @@ Editor::select_all_selectables_using_time_selection ()
return;
}
- framepos_t start = selection->time[clicked_selection].start;
- framepos_t end = selection->time[clicked_selection].end;
+ samplepos_t start = selection->time[clicked_selection].start;
+ samplepos_t end = selection->time[clicked_selection].end;
if (end - start < 1) {
return;
@@ -1947,17 +1947,17 @@ Editor::select_all_selectables_using_loop()
void
Editor::select_all_selectables_using_cursor (EditorCursor *cursor, bool after)
{
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
list<Selectable *> touched;
if (after) {
- start = cursor->current_frame();
- end = _session->current_end_frame();
+ start = cursor->current_sample();
+ end = _session->current_end_sample();
} else {
- if (cursor->current_frame() > 0) {
+ if (cursor->current_sample() > 0) {
start = 0;
- end = cursor->current_frame() - 1;
+ end = cursor->current_sample() - 1;
} else {
return;
}
@@ -2000,13 +2000,13 @@ Editor::select_all_selectables_using_cursor (EditorCursor *cursor, bool after)
void
Editor::select_all_selectables_using_edit (bool after, bool from_context_menu)
{
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
list<Selectable *> touched;
if (after) {
start = get_preferred_edit_position(EDIT_IGNORE_NONE, from_context_menu);
- end = _session->current_end_frame();
+ end = _session->current_end_sample();
} else {
if ((end = get_preferred_edit_position(EDIT_IGNORE_NONE, from_context_menu)) > 1) {
start = 0;
@@ -2051,8 +2051,8 @@ Editor::select_all_selectables_using_edit (bool after, bool from_context_menu)
void
Editor::select_all_selectables_between (bool within)
{
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
list<Selectable *> touched;
if (!get_edit_op_range (start, end)) {
@@ -2090,8 +2090,8 @@ Editor::select_all_selectables_between (bool within)
void
Editor::select_range_between ()
{
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
if ( !selection->time.empty() ) {
selection->clear_time ();
@@ -2111,9 +2111,9 @@ Editor::select_range_between ()
}
bool
-Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
+Editor::get_edit_op_range (samplepos_t& start, samplepos_t& end) const
{
-// framepos_t m;
+// samplepos_t m;
// bool ignored;
/* if an explicit range exists, use it */
@@ -2121,7 +2121,7 @@ Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
if ( (mouse_mode == MouseRange || get_smart_mode() ) && !selection->time.empty()) {
/* we know that these are ordered */
start = selection->time.start();
- end = selection->time.end_frame();
+ end = selection->time.end_sample();
return true;
} else {
start = 0;
@@ -2129,7 +2129,7 @@ Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
return false;
}
-// if (!mouse_frame (m, ignored)) {
+// if (!mouse_sample (m, ignored)) {
// /* mouse is not in a canvas, try playhead+selected marker.
// this is probably most true when using menus.
// */
@@ -2139,7 +2139,7 @@ Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
// }
// start = selection->markers.front()->position();
-// end = _session->audible_frame();
+// end = _session->audible_sample();
// } else {
@@ -2148,10 +2148,10 @@ Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
// if (selection->markers.empty()) {
// /* use mouse + playhead */
// start = m;
-// end = _session->audible_frame();
+// end = _session->audible_sample();
// } else {
// /* use playhead + selected marker */
-// start = _session->audible_frame();
+// start = _session->audible_sample();
// end = selection->markers.front()->position();
// }
// break;
@@ -2160,7 +2160,7 @@ Editor::get_edit_op_range (framepos_t& start, framepos_t& end) const
// /* use mouse + selected marker */
// if (selection->markers.empty()) {
// start = m;
-// end = _session->audible_frame();
+// end = _session->audible_sample();
// } else {
// start = selection->markers.front()->position();
// end = m;
@@ -2220,7 +2220,7 @@ Editor::deselect_all ()
}
long
-Editor::select_range (framepos_t s, framepos_t e)
+Editor::select_range (samplepos_t s, samplepos_t e)
{
begin_reversible_selection_op (X_("Select Range"));
selection->add (clicked_axisview);
diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc
index 95b54cdf02..6a894eae24 100644
--- a/gtk2_ardour/editor_summary.cc
+++ b/gtk2_ardour/editor_summary.cc
@@ -118,7 +118,7 @@ EditorSummary::set_session (Session* s)
_editor->selection->RegionsChanged.connect (sigc::mem_fun(*this, &EditorSummary::set_background_dirty));
}
- _leftmost = max_framepos;
+ _leftmost = max_samplepos;
_rightmost = 0;
}
@@ -138,7 +138,7 @@ EditorSummary::render_background_image ()
/* compute start and end points for the summary */
- std::pair<framepos_t, framepos_t> ext = _editor->session_gui_extents();
+ std::pair<samplepos_t, samplepos_t> ext = _editor->session_gui_extents();
double theoretical_start = ext.first;
double theoretical_end = ext.second;
@@ -150,7 +150,7 @@ EditorSummary::render_background_image ()
/* range-check */
_start = theoretical_start > 0 ? theoretical_start : 0;
- _end = theoretical_end < max_framepos ? theoretical_end : max_framepos;
+ _end = theoretical_end < max_samplepos ? theoretical_end : max_samplepos;
/* calculate x scale */
if (_end != _start) {
@@ -212,11 +212,11 @@ EditorSummary::render_background_image ()
cairo_set_line_width (cr, 1);
cairo_set_source_rgb (cr, 1, 1, 0);
- const double p = (_session->current_start_frame() - _start) * _x_scale;
+ const double p = (_session->current_start_sample() - _start) * _x_scale;
cairo_move_to (cr, p, 0);
cairo_line_to (cr, p, get_height());
- double const q = (_session->current_end_frame() - _start) * _x_scale;
+ double const q = (_session->current_end_sample() - _start) * _x_scale;
cairo_move_to (cr, q, 0);
cairo_line_to (cr, q, get_height());
cairo_stroke (cr);
@@ -237,12 +237,12 @@ EditorSummary::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle
}
/* maintain the leftmost and rightmost locations that we've ever reached */
- framecnt_t const leftmost = _editor->leftmost_sample ();
+ samplecnt_t const leftmost = _editor->leftmost_sample ();
if ( leftmost < _leftmost) {
_leftmost = leftmost;
_background_dirty = true;
}
- framecnt_t const rightmost = leftmost + _editor->current_page_samples();
+ samplecnt_t const rightmost = leftmost + _editor->current_page_samples();
if ( rightmost > _rightmost) {
_rightmost = rightmost;
_background_dirty = true;
@@ -289,7 +289,7 @@ EditorSummary::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle
/* XXX: colour should be set from configuration file */
cairo_set_source_rgba (cr, 1, 0, 0, 1);
- const double ph= playhead_frame_to_position (_editor->playhead_cursor->current_frame());
+ const double ph= playhead_sample_to_position (_editor->playhead_cursor->current_sample());
cairo_move_to (cr, ph, 0);
cairo_line_to (cr, ph, get_height());
cairo_stroke (cr);
@@ -407,7 +407,7 @@ EditorSummary::on_key_press_event (GdkEventKey* key)
if (key->keyval == set_playhead_accel.accel_key && (int) key->state == set_playhead_accel.accel_mods) {
if (_session) {
get_pointer (x, y);
- _session->request_locate (_start + (framepos_t) x / _x_scale, _session->transport_rolling());
+ _session->request_locate (_start + (samplepos_t) x / _x_scale, _session->transport_rolling());
return true;
}
}
@@ -577,7 +577,7 @@ void
EditorSummary::reset_to_extents()
{
//reset as if the user never went anywhere outside the extents
- _leftmost = max_framepos;
+ _leftmost = max_samplepos;
_rightmost = 0;
_editor->temporal_zoom_extents ();
@@ -890,10 +890,10 @@ EditorSummary::set_editor_x (pair<double, double> x)
}
void
-EditorSummary::playhead_position_changed (framepos_t p)
+EditorSummary::playhead_position_changed (samplepos_t p)
{
int const o = int (_last_playhead);
- int const n = int (playhead_frame_to_position (p));
+ int const n = int (playhead_sample_to_position (p));
if (_session && o != n) {
int a = max(2, min (o, n));
int b = max (o, n);
@@ -948,13 +948,13 @@ EditorSummary::route_gui_changed (PBD::PropertyChange const& what_changed)
}
double
-EditorSummary::playhead_frame_to_position (framepos_t t) const
+EditorSummary::playhead_sample_to_position (samplepos_t t) const
{
return (t - _start) * _x_scale;
}
-framepos_t
-EditorSummary::position_to_playhead_frame_to_position (double pos) const
+samplepos_t
+EditorSummary::position_to_playhead_sample_to_position (double pos) const
{
return _start + (pos * _x_scale);
}
diff --git a/gtk2_ardour/editor_summary.h b/gtk2_ardour/editor_summary.h
index 6639285eea..d875c7a382 100644
--- a/gtk2_ardour/editor_summary.h
+++ b/gtk2_ardour/editor_summary.h
@@ -75,28 +75,28 @@ private:
void set_editor (std::pair<double, double>);
void set_editor_x (double);
void set_editor_x (std::pair<double, double>);
- void playhead_position_changed (framepos_t);
+ void playhead_position_changed (samplepos_t);
double editor_y_to_summary (double) const;
Position get_position (double, double) const;
void set_cursor (Position);
void route_gui_changed (PBD::PropertyChange const&);
bool suspending_editor_updates () const;
- double playhead_frame_to_position (framepos_t) const;
- framepos_t position_to_playhead_frame_to_position (double pos) const;
+ double playhead_sample_to_position (samplepos_t) const;
+ samplepos_t position_to_playhead_sample_to_position (double pos) const;
void set_overlays_dirty_rect (int, int, int, int);
void summary_zoom_step ( int steps );
- framepos_t _start; ///< start frame of the overview
- framepos_t _end; ///< end frame of the overview
+ samplepos_t _start; ///< start sample of the overview
+ samplepos_t _end; ///< end sample of the overview
- framepos_t _leftmost; ///< the earliest frame we ever viewed
- framepos_t _rightmost; ///< the latest frame we ever viewed
+ samplepos_t _leftmost; ///< the earliest sample we ever viewed
+ samplepos_t _rightmost; ///< the latest sample we ever viewed
/** fraction of the session length by which the overview size should extend past the start and end markers */
double _overhang_fraction;
- double _x_scale; ///< pixels per frame for the x axis of the pixmap
+ double _x_scale; ///< pixels per sample for the x axis of the pixmap
double _track_height;
double _last_playhead;
diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc
index b71ab32087..7817e419be 100644
--- a/gtk2_ardour/editor_tempodisplay.cc
+++ b/gtk2_ardour/editor_tempodisplay.cc
@@ -77,7 +77,7 @@ Editor::remove_metric_marks ()
}
struct CurveComparator {
bool operator() (TempoCurve const * a, TempoCurve const * b) {
- return a->tempo().frame() < b->tempo().frame();
+ return a->tempo().sample() < b->tempo().sample();
}
};
void
@@ -112,7 +112,7 @@ Editor::draw_metric_marks (const Metrics& metrics)
uint32_t const tc_color = UIConfiguration::instance().color ("tempo curve");
tempo_curves.push_back (new TempoCurve (*this, *tempo_group, tc_color,
- *(const_cast<TempoSection*>(ts)), ts->frame(), false));
+ *(const_cast<TempoSection*>(ts)), ts->sample(), false));
const std::string tname (X_(""));
if (ts->position_lock_style() == MusicTime) {
@@ -147,9 +147,9 @@ Editor::draw_metric_marks (const Metrics& metrics)
(*x)->set_min_tempo (min_tempo);
++tmp;
if (tmp != tempo_curves.end()) {
- (*x)->set_position ((*x)->tempo().frame(), (*tmp)->tempo().frame());
+ (*x)->set_position ((*x)->tempo().sample(), (*tmp)->tempo().sample());
} else {
- (*x)->set_position ((*x)->tempo().frame(), UINT32_MAX);
+ (*x)->set_position ((*x)->tempo().sample(), UINT32_MAX);
}
if (!(*x)->tempo().active()) {
@@ -184,10 +184,10 @@ Editor::tempo_map_changed (const PropertyChange& /*ignored*/)
tempo_lines->tempo_map_changed(_session->tempo_map().music_origin());
}
- compute_bbt_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+ compute_bbt_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
std::vector<TempoMap::BBTPoint> grid;
if (bbt_ruler_scale != bbt_show_many) {
- compute_current_bbt_points (grid, leftmost_frame, leftmost_frame + current_page_samples());
+ compute_current_bbt_points (grid, _leftmost_sample, _leftmost_sample + current_page_samples());
}
_session->tempo_map().apply_with_metrics (*this, &Editor::draw_metric_marks); // redraw metric markers
draw_measures (grid);
@@ -220,7 +220,7 @@ Editor::tempometric_position_changed (const PropertyChange& /*ignored*/)
if ((tempo_marker = dynamic_cast<TempoMarker*> (*x)) != 0) {
if ((ts = &tempo_marker->tempo()) != 0) {
- tempo_marker->set_position (ts->frame ());
+ tempo_marker->set_position (ts->sample ());
if (prev_ts && abs (prev_ts->end_note_types_per_minute() - ts->note_types_per_minute()) < 1.0) {
tempo_marker->set_points_color (UIConfiguration::instance().color ("tempo marker music"));
@@ -238,7 +238,7 @@ Editor::tempometric_position_changed (const PropertyChange& /*ignored*/)
}
if ((meter_marker = dynamic_cast<MeterMarker*> (*x)) != 0) {
if ((ms = &meter_marker->meter()) != 0) {
- meter_marker->set_position (ms->frame ());
+ meter_marker->set_position (ms->sample ());
}
}
}
@@ -259,9 +259,9 @@ Editor::tempometric_position_changed (const PropertyChange& /*ignored*/)
(*x)->set_min_tempo (min_tempo);
++tmp;
if (tmp != tempo_curves.end()) {
- (*x)->set_position ((*x)->tempo().frame(), (*tmp)->tempo().frame());
+ (*x)->set_position ((*x)->tempo().sample(), (*tmp)->tempo().sample());
} else {
- (*x)->set_position ((*x)->tempo().frame(), UINT32_MAX);
+ (*x)->set_position ((*x)->tempo().sample(), UINT32_MAX);
}
if (!(*x)->tempo().active()) {
@@ -280,11 +280,11 @@ Editor::tempometric_position_changed (const PropertyChange& /*ignored*/)
}
}
- compute_bbt_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+ compute_bbt_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
std::vector<TempoMap::BBTPoint> grid;
if (bbt_ruler_scale != bbt_show_many) {
- compute_current_bbt_points (grid, leftmost_frame, leftmost_frame + current_page_samples());
+ compute_current_bbt_points (grid, _leftmost_sample, _leftmost_sample + current_page_samples());
}
draw_measures (grid);
@@ -301,12 +301,12 @@ Editor::redisplay_tempo (bool immediate_redraw)
if (immediate_redraw) {
//only recalculate bbt_ruler_scale on a zoom or snap-change; not every redraw; if a case is found where this is necessary, uncomment this line.
-// compute_bbt_ruler_scale (leftmost_frame, leftmost_frame + current_page_samples());
+// compute_bbt_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
std::vector<TempoMap::BBTPoint> grid;
if (bbt_ruler_scale != bbt_show_many) {
- compute_current_bbt_points (grid, leftmost_frame, leftmost_frame + current_page_samples());
+ compute_current_bbt_points (grid, _leftmost_sample, _leftmost_sample + current_page_samples());
}
draw_measures (grid);
@@ -337,7 +337,7 @@ Editor::tempo_curve_selected (TempoSection* ts, bool yn)
/* computes a grid starting a beat before and ending a beat after leftmost and rightmost respectively */
void
-Editor::compute_current_bbt_points (std::vector<TempoMap::BBTPoint>& grid, framepos_t leftmost, framepos_t rightmost)
+Editor::compute_current_bbt_points (std::vector<TempoMap::BBTPoint>& grid, samplepos_t leftmost, samplepos_t rightmost)
{
if (!_session) {
return;
@@ -345,35 +345,35 @@ Editor::compute_current_bbt_points (std::vector<TempoMap::BBTPoint>& grid, frame
/* prevent negative values of leftmost from creeping into tempomap
*/
- const double lower_beat = floor (max (0.0, _session->tempo_map().beat_at_frame (leftmost))) - 1.0;
+ const double lower_beat = floor (max (0.0, _session->tempo_map().beat_at_sample (leftmost))) - 1.0;
switch (bbt_ruler_scale) {
case bbt_show_beats:
case bbt_show_ticks:
case bbt_show_ticks_detail:
case bbt_show_ticks_super_detail:
- _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost);
+ _session->tempo_map().get_grid (grid, max (_session->tempo_map().sample_at_beat (lower_beat), (samplepos_t) 0), rightmost);
break;
case bbt_show_1:
- _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost, 1);
+ _session->tempo_map().get_grid (grid, max (_session->tempo_map().sample_at_beat (lower_beat), (samplepos_t) 0), rightmost, 1);
break;
case bbt_show_4:
- _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost, 4);
+ _session->tempo_map().get_grid (grid, max (_session->tempo_map().sample_at_beat (lower_beat), (samplepos_t) 0), rightmost, 4);
break;
case bbt_show_16:
- _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost, 16);
+ _session->tempo_map().get_grid (grid, max (_session->tempo_map().sample_at_beat (lower_beat), (samplepos_t) 0), rightmost, 16);
break;
case bbt_show_64:
- _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost, 64);
+ _session->tempo_map().get_grid (grid, max (_session->tempo_map().sample_at_beat (lower_beat), (samplepos_t) 0), rightmost, 64);
break;
default:
/* bbt_show_many */
- _session->tempo_map().get_grid (grid, max (_session->tempo_map().frame_at_beat (lower_beat), (framepos_t) 0), rightmost, 128);
+ _session->tempo_map().get_grid (grid, max (_session->tempo_map().sample_at_beat (lower_beat), (samplepos_t) 0), rightmost, 128);
break;
}
}
@@ -394,15 +394,15 @@ Editor::draw_measures (std::vector<ARDOUR::TempoMap::BBTPoint>& grid)
}
if (tempo_lines == 0) {
- tempo_lines = new TempoLines (time_line_group, ArdourCanvas::LineSet::Vertical, new BeatsFramesConverter (_session->tempo_map(), _session->tempo_map().music_origin()));
+ tempo_lines = new TempoLines (time_line_group, ArdourCanvas::LineSet::Vertical, new BeatsSamplesConverter (_session->tempo_map(), _session->tempo_map().music_origin()));
}
- const unsigned divisions = get_grid_beat_divisions(leftmost_frame);
- tempo_lines->draw (grid, divisions, leftmost_frame, _session->frame_rate());
+ const unsigned divisions = get_grid_beat_divisions(_leftmost_sample);
+ tempo_lines->draw (grid, divisions, _leftmost_sample, _session->sample_rate());
}
void
-Editor::mouse_add_new_tempo_event (framepos_t frame)
+Editor::mouse_add_new_tempo_event (samplepos_t sample)
{
if (_session == 0) {
return;
@@ -411,12 +411,12 @@ Editor::mouse_add_new_tempo_event (framepos_t frame)
TempoMap& map(_session->tempo_map());
begin_reversible_command (_("add tempo mark"));
- const double pulse = map.exact_qn_at_frame (frame, get_grid_music_divisions (0)) / 4.0;
+ const double pulse = map.exact_qn_at_sample (sample, get_grid_music_divisions (0)) / 4.0;
if (pulse > 0.0) {
XMLNode &before = map.get_state();
- /* add music-locked ramped (?) tempo using the bpm/note type at frame*/
- map.add_tempo (map.tempo_at_frame (frame), pulse, 0, MusicTime);
+ /* add music-locked ramped (?) tempo using the bpm/note type at sample*/
+ map.add_tempo (map.tempo_at_sample (sample), pulse, 0, MusicTime);
XMLNode &after = map.get_state();
_session->add_command(new MementoCommand<TempoMap>(map, &before, &after));
@@ -427,7 +427,7 @@ Editor::mouse_add_new_tempo_event (framepos_t frame)
}
void
-Editor::mouse_add_new_meter_event (framepos_t frame)
+Editor::mouse_add_new_meter_event (samplepos_t sample)
{
if (_session == 0) {
return;
@@ -435,7 +435,7 @@ Editor::mouse_add_new_meter_event (framepos_t frame)
TempoMap& map(_session->tempo_map());
- MeterDialog meter_dialog (map, frame, _("add"));
+ MeterDialog meter_dialog (map, sample, _("add"));
switch (meter_dialog.run ()) {
case RESPONSE_ACCEPT:
@@ -452,14 +452,14 @@ Editor::mouse_add_new_meter_event (framepos_t frame)
Timecode::BBT_Time requested;
meter_dialog.get_bbt_time (requested);
- const double al_frame = map.frame_at_bbt (requested);
+ const double al_sample = map.sample_at_bbt (requested);
begin_reversible_command (_("add meter mark"));
XMLNode &before = map.get_state();
if (meter_dialog.get_lock_style() == MusicTime) {
map.add_meter (Meter (bpb, note_type), requested, 0, MusicTime);
} else {
- map.add_meter (Meter (bpb, note_type), requested, al_frame, AudioTime);
+ map.add_meter (Meter (bpb, note_type), requested, al_sample, AudioTime);
}
_session->add_command(new MementoCommand<TempoMap>(map, &before, &map.get_state()));
@@ -509,13 +509,13 @@ Editor::edit_meter_section (MeterSection* section)
Timecode::BBT_Time when;
meter_dialog.get_bbt_time (when);
- const framepos_t frame = _session->tempo_map().frame_at_bbt (when);
+ const samplepos_t sample = _session->tempo_map().sample_at_bbt (when);
const PositionLockStyle pls = (meter_dialog.get_lock_style() == AudioTime) ? AudioTime : MusicTime;
begin_reversible_command (_("replace meter mark"));
XMLNode &before = _session->tempo_map().get_state();
- _session->tempo_map().replace_meter (*section, meter, when, frame, pls);
+ _session->tempo_map().replace_meter (*section, meter, when, sample, pls);
XMLNode &after = _session->tempo_map().get_state();
_session->add_command(new MementoCommand<TempoMap>(_session->tempo_map(), &before, &after));
@@ -547,7 +547,7 @@ Editor::edit_tempo_section (TempoSection* section)
XMLNode &before = _session->tempo_map().get_state();
if (tempo_dialog.get_lock_style() == AudioTime) {
- framepos_t const f = _session->tempo_map().predict_tempo_position (section, when).second;
+ samplepos_t const f = _session->tempo_map().predict_tempo_position (section, when).second;
_session->tempo_map().replace_tempo (*section, tempo, 0.0, f, AudioTime);
} else {
double const p = _session->tempo_map().predict_tempo_position (section, when).first;
diff --git a/gtk2_ardour/editor_timefx.cc b/gtk2_ardour/editor_timefx.cc
index 31bac68561..39cda63517 100644
--- a/gtk2_ardour/editor_timefx.cc
+++ b/gtk2_ardour/editor_timefx.cc
@@ -150,9 +150,9 @@ Editor::time_fx (RegionList& regions, float val, bool pitching)
return 0;
}
- const framecnt_t oldlen = (framecnt_t) (regions.front()->length());
- const framecnt_t newlen = (framecnt_t) (regions.front()->length() * val);
- const framecnt_t pos = regions.front()->position ();
+ const samplecnt_t oldlen = (samplecnt_t) (regions.front()->length());
+ const samplecnt_t newlen = (samplecnt_t) (regions.front()->length() * val);
+ const samplecnt_t pos = regions.front()->position ();
delete current_timefx;
current_timefx = new TimeFXDialog (*this, pitching, oldlen, newlen, pos);
diff --git a/gtk2_ardour/editor_videotimeline.cc b/gtk2_ardour/editor_videotimeline.cc
index e087034af0..b5184539fc 100644
--- a/gtk2_ardour/editor_videotimeline.cc
+++ b/gtk2_ardour/editor_videotimeline.cc
@@ -82,7 +82,7 @@ Editor::toggle_video_timeline_locked ()
}
void
-Editor::embed_audio_from_video (std::string path, framepos_t n, bool lock_position_to_video)
+Editor::embed_audio_from_video (std::string path, samplepos_t n, bool lock_position_to_video)
{
vector<std::string> paths;
paths.push_back(path);
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 3939fec8cb..92a85a3a2a 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -2833,7 +2833,7 @@ EngineControl::check_audio_latency_measurement ()
}
char buf[256];
- ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+ ARDOUR::samplecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
if (sample_rate == 0) {
lm_results.set_markup (string_compose (results_markup, _("Disconnected from audio engine")));
@@ -2841,12 +2841,12 @@ EngineControl::check_audio_latency_measurement ()
return false;
}
- int frames_total = mtdm->del();
- int extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+ int samples_total = mtdm->del();
+ int extra = samples_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
snprintf (buf, sizeof (buf), "%s%d samples (%.3lf ms)\n%s%d samples (%.3lf ms)",
_("Detected roundtrip latency: "),
- frames_total, frames_total * 1000.0f/sample_rate,
+ samples_total, samples_total * 1000.0f/sample_rate,
_("Systemic latency: "),
extra, extra * 1000.0f/sample_rate);
@@ -2887,7 +2887,7 @@ EngineControl::check_midi_latency_measurement ()
}
char buf[256];
- ARDOUR::framecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
+ ARDOUR::samplecnt_t const sample_rate = ARDOUR::AudioEngine::instance()->sample_rate();
if (sample_rate == 0) {
lm_results.set_markup (string_compose (results_markup, _("Disconnected from audio engine")));
@@ -2895,11 +2895,11 @@ EngineControl::check_midi_latency_measurement ()
return false;
}
- ARDOUR::framecnt_t frames_total = mididm->latency();
- ARDOUR::framecnt_t extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+ ARDOUR::samplecnt_t samples_total = mididm->latency();
+ ARDOUR::samplecnt_t extra = samples_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
snprintf (buf, sizeof (buf), "%s%" PRId64" samples (%.1lf ms) dev: %.2f[spl]\n%s%" PRId64" samples (%.1lf ms)",
_("Detected roundtrip latency: "),
- frames_total, frames_total * 1000.0f / sample_rate, mididm->deviation (),
+ samples_total, samples_total * 1000.0f / sample_rate, mididm->deviation (),
_("Systemic latency: "),
extra, extra * 1000.0f / sample_rate);
@@ -3000,9 +3000,9 @@ EngineControl::use_latency_button_clicked ()
if (!mididm) {
return;
}
- ARDOUR::framecnt_t frames_total = mididm->latency();
- ARDOUR::framecnt_t extra = frames_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
- uint32_t one_way = max ((ARDOUR::framecnt_t) 0, extra / 2);
+ ARDOUR::samplecnt_t samples_total = mididm->latency();
+ ARDOUR::samplecnt_t extra = samples_total - ARDOUR::AudioEngine::instance()->latency_signal_delay();
+ uint32_t one_way = max ((ARDOUR::samplecnt_t) 0, extra / 2);
_measure_midi->input_latency = one_way;
_measure_midi->output_latency = one_way;
if (backend->can_change_systemic_latency_when_running ()) {
diff --git a/gtk2_ardour/enums.cc b/gtk2_ardour/enums.cc
index 608d257645..728a523384 100644
--- a/gtk2_ardour/enums.cc
+++ b/gtk2_ardour/enums.cc
@@ -59,7 +59,7 @@ setup_gtk_ardour_enums ()
REGISTER_CLASS_ENUM (AudioClock, Timecode);
REGISTER_CLASS_ENUM (AudioClock, BBT);
REGISTER_CLASS_ENUM (AudioClock, MinSec);
- REGISTER_CLASS_ENUM (AudioClock, Frames);
+ REGISTER_CLASS_ENUM (AudioClock, Samples);
REGISTER (clock_mode);
REGISTER_ENUM (Wide);
diff --git a/gtk2_ardour/export_dialog.cc b/gtk2_ardour/export_dialog.cc
index 9ba65a6646..6b7f13dba6 100644
--- a/gtk2_ardour/export_dialog.cc
+++ b/gtk2_ardour/export_dialog.cc
@@ -402,7 +402,7 @@ ExportDialog::progress_timeout ()
case ExportStatus::Exporting:
status_text = string_compose (_("Exporting '%3' (timespan %1 of %2)"),
status->timespan, status->total_timespans, status->timespan_name);
- progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
+ progress = ((float) status->processed_samples_current_timespan) / status->total_samples_current_timespan;
break;
case ExportStatus::Normalizing:
status_text = string_compose (_("Normalizing '%3' (timespan %1 of %2)"),
diff --git a/gtk2_ardour/export_format_dialog.cc b/gtk2_ardour/export_format_dialog.cc
index 6062d51500..184bcdc3bb 100644
--- a/gtk2_ardour/export_format_dialog.cc
+++ b/gtk2_ardour/export_format_dialog.cc
@@ -300,7 +300,7 @@ ExportFormatDialog::set_session (ARDOUR::Session* s)
if (sample_rate_view.get_selection()->count_selected_rows() == 0) {
Gtk::ListStore::Children::iterator it;
for (it = sample_rate_list->children().begin(); it != sample_rate_list->children().end(); ++it) {
- if ((framecnt_t) (*it)->get_value (sample_rate_cols.ptr)->rate == _session->nominal_frame_rate()) {
+ if ((samplecnt_t) (*it)->get_value (sample_rate_cols.ptr)->rate == _session->nominal_sample_rate()) {
sample_rate_view.get_selection()->select (it);
break;
}
@@ -691,7 +691,7 @@ ExportFormatDialog::change_sample_rate_selection (bool select, WeakSampleRatePtr
if (select) {
ExportFormatManager::SampleRatePtr ptr = rate.lock();
if (ptr && _session) {
- src_quality_combo.set_sensitive ((uint32_t) ptr->rate != _session->frame_rate());
+ src_quality_combo.set_sensitive ((uint32_t) ptr->rate != _session->sample_rate());
}
}
}
@@ -877,7 +877,7 @@ void
ExportFormatDialog::update_clock (AudioClock & clock, ARDOUR::AnyTime const & time)
{
// TODO position
- clock.set (_session->convert_to_frames (time), true);
+ clock.set (_session->convert_to_samples (time), true);
AudioClock::Mode mode(AudioClock::Timecode);
@@ -888,8 +888,8 @@ ExportFormatDialog::update_clock (AudioClock & clock, ARDOUR::AnyTime const & ti
case AnyTime::BBT:
mode = AudioClock::BBT;
break;
- case AnyTime::Frames:
- mode = AudioClock::Frames;
+ case AnyTime::Samples:
+ mode = AudioClock::Samples;
break;
case AnyTime::Seconds:
mode = AudioClock::MinSec;
@@ -906,24 +906,24 @@ ExportFormatDialog::update_time (AnyTime & time, AudioClock const & clock)
return;
}
- framecnt_t frames = clock.current_duration();
+ samplecnt_t samples = clock.current_duration();
switch (clock.mode()) {
case AudioClock::Timecode:
time.type = AnyTime::Timecode;
- _session->timecode_time (frames, time.timecode);
+ _session->timecode_time (samples, time.timecode);
break;
case AudioClock::BBT:
time.type = AnyTime::BBT;
- _session->bbt_time (frames, time.bbt);
+ _session->bbt_time (samples, time.bbt);
break;
case AudioClock::MinSec:
time.type = AnyTime::Seconds;
- time.seconds = (double) frames / _session->frame_rate();
+ time.seconds = (double) samples / _session->sample_rate();
break;
- case AudioClock::Frames:
- time.type = AnyTime::Frames;
- time.frames = frames;
+ case AudioClock::Samples:
+ time.type = AnyTime::Samples;
+ time.samples = samples;
break;
}
}
diff --git a/gtk2_ardour/export_report.cc b/gtk2_ardour/export_report.cc
index 5840597554..0c7270db72 100644
--- a/gtk2_ardour/export_report.cc
+++ b/gtk2_ardour/export_report.cc
@@ -123,9 +123,9 @@ ExportReport::init (const AnalysisResults & ar, bool with_file)
SoundFileInfo info;
std::string errmsg;
- framecnt_t file_length = 0;
- framecnt_t sample_rate = 0;
- framecnt_t start_off = 0;
+ samplecnt_t file_length = 0;
+ samplecnt_t sample_rate = 0;
+ samplecnt_t start_off = 0;
unsigned int channels = 0;
std::string file_fmt;
@@ -141,7 +141,7 @@ ExportReport::init (const AnalysisResults & ar, bool with_file)
/* File Info Table */
- framecnt_t const nfr = _session ? _session->nominal_frame_rate () : 25;
+ samplecnt_t const nfr = _session ? _session->nominal_sample_rate () : 25;
double src_coef = (double) nfr / info.samplerate;
l = manage (new Label (_("Format:"), ALIGN_END));
@@ -961,7 +961,7 @@ ExportReport::audition (std::string path, unsigned n_chn, int page)
SourceFactory::createExternal (DataType::AUDIO, *_session,
path, n,
Source::Flag (ARDOUR::AudioFileSource::NoPeakFile), false));
- if (afs->sample_rate() != _session->nominal_frame_rate()) {
+ if (afs->sample_rate() != _session->nominal_sample_rate()) {
boost::shared_ptr<SrcFileSource> sfs (new SrcFileSource(*_session, afs, ARDOUR::SrcGood));
srclist.push_back(sfs);
} else {
@@ -1034,7 +1034,7 @@ ExportReport::on_switch_page (GtkNotebookPage*, guint page_num)
}
void
-ExportReport::audition_progress (framecnt_t pos, framecnt_t len)
+ExportReport::audition_progress (samplecnt_t pos, samplecnt_t len)
{
if (_audition_num == _page_num && timeline.find (_audition_num) != timeline.end ()) {
const float p = (float)pos / len;
@@ -1169,7 +1169,7 @@ ExportReport::draw_waveform (Cairo::RefPtr<Cairo::ImageSurface>& wave, ExportAna
// >= -1dBTP (coeff >= .89125, libs/vamp-plugins/TruePeak.cpp)
cr->set_source_rgba (1.0, 0.7, 0, 0.7);
- for (std::set<framepos_t>::const_iterator i = p->truepeakpos[c].begin (); i != p->truepeakpos[c].end (); ++i) {
+ for (std::set<samplepos_t>::const_iterator i = p->truepeakpos[c].begin (); i != p->truepeakpos[c].end (); ++i) {
cr->move_to (m_l + (*i) - .5, clip_top);
cr->line_to (m_l + (*i) - .5, clip_bot);
cr->stroke ();
diff --git a/gtk2_ardour/export_report.h b/gtk2_ardour/export_report.h
index af91ee2dbe..9fdf5c7b40 100644
--- a/gtk2_ardour/export_report.h
+++ b/gtk2_ardour/export_report.h
@@ -204,7 +204,7 @@ private:
void play_audition ();
void audition_active (bool);
void audition_seek (int, float);
- void audition_progress (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
+ void audition_progress (ARDOUR::samplecnt_t, ARDOUR::samplecnt_t);
void on_switch_page (GtkNotebookPage*, guint page_num);
void on_logscale_toggled (Gtk::ToggleButton*);
void on_rectivied_toggled (Gtk::ToggleButton*);
diff --git a/gtk2_ardour/export_timespan_selector.cc b/gtk2_ardour/export_timespan_selector.cc
index 0228bd9130..56b6653ade 100644
--- a/gtk2_ardour/export_timespan_selector.cc
+++ b/gtk2_ardour/export_timespan_selector.cc
@@ -221,28 +221,28 @@ ExportTimespanSelector::construct_label (ARDOUR::Location const * location) cons
std::string start;
std::string end;
- framepos_t start_frame = location->start();
- framepos_t end_frame = location->end();
+ samplepos_t start_sample = location->start();
+ samplepos_t end_sample = location->end();
switch (state->time_format) {
case AudioClock::BBT:
- start = bbt_str (start_frame);
- end = bbt_str (end_frame);
+ start = bbt_str (start_sample);
+ end = bbt_str (end_sample);
break;
case AudioClock::Timecode:
- start = timecode_str (start_frame);
- end = timecode_str (end_frame);
+ start = timecode_str (start_sample);
+ end = timecode_str (end_sample);
break;
case AudioClock::MinSec:
- start = ms_str (start_frame);
- end = ms_str (end_frame);
+ start = ms_str (start_sample);
+ end = ms_str (end_sample);
break;
- case AudioClock::Frames:
- start = to_string (start_frame);
- end = to_string (end_frame);
+ case AudioClock::Samples:
+ start = to_string (start_sample);
+ end = to_string (end_sample);
break;
}
@@ -287,7 +287,7 @@ ExportTimespanSelector::construct_length (ARDOUR::Location const * location) con
s << ms_str (location->length ());
break;
- case AudioClock::Frames:
+ case AudioClock::Samples:
s << location->length ();
break;
}
@@ -297,7 +297,7 @@ ExportTimespanSelector::construct_length (ARDOUR::Location const * location) con
std::string
-ExportTimespanSelector::bbt_str (framepos_t frames) const
+ExportTimespanSelector::bbt_str (samplepos_t samples) const
{
if (!_session) {
return "Error!";
@@ -305,14 +305,14 @@ ExportTimespanSelector::bbt_str (framepos_t frames) const
std::ostringstream oss;
Timecode::BBT_Time time;
- _session->bbt_time (frames, time);
+ _session->bbt_time (samples, time);
print_padded (oss, time);
return oss.str ();
}
std::string
-ExportTimespanSelector::timecode_str (framecnt_t frames) const
+ExportTimespanSelector::timecode_str (samplecnt_t samples) const
{
if (!_session) {
return "Error!";
@@ -321,7 +321,7 @@ ExportTimespanSelector::timecode_str (framecnt_t frames) const
std::ostringstream oss;
Timecode::Time time;
- _session->timecode_time (frames, time);
+ _session->timecode_time (samples, time);
oss << std::setfill('0') << std::right <<
std::setw(2) <<
@@ -337,27 +337,27 @@ ExportTimespanSelector::timecode_str (framecnt_t frames) const
}
std::string
-ExportTimespanSelector::ms_str (framecnt_t frames) const
+ExportTimespanSelector::ms_str (samplecnt_t samples) const
{
if (!_session) {
return "Error!";
}
std::ostringstream oss;
- framecnt_t left;
+ samplecnt_t left;
int hrs;
int mins;
int secs;
int sec_promilles;
- left = frames;
- hrs = (int) floor (left / (_session->frame_rate() * 60.0f * 60.0f));
- left -= (framecnt_t) floor (hrs * _session->frame_rate() * 60.0f * 60.0f);
- mins = (int) floor (left / (_session->frame_rate() * 60.0f));
- left -= (framecnt_t) floor (mins * _session->frame_rate() * 60.0f);
- secs = (int) floor (left / (float) _session->frame_rate());
- left -= (framecnt_t) floor ((double)(secs * _session->frame_rate()));
- sec_promilles = (int) (left * 1000 / (float) _session->frame_rate() + 0.5);
+ left = samples;
+ hrs = (int) floor (left / (_session->sample_rate() * 60.0f * 60.0f));
+ left -= (samplecnt_t) floor (hrs * _session->sample_rate() * 60.0f * 60.0f);
+ mins = (int) floor (left / (_session->sample_rate() * 60.0f));
+ left -= (samplecnt_t) floor (mins * _session->sample_rate() * 60.0f);
+ secs = (int) floor (left / (float) _session->sample_rate());
+ left -= (samplecnt_t) floor ((double)(secs * _session->sample_rate()));
+ sec_promilles = (int) (left * 1000 / (float) _session->sample_rate() + 0.5);
oss << std::setfill('0') << std::right <<
std::setw(2) <<
diff --git a/gtk2_ardour/export_timespan_selector.h b/gtk2_ardour/export_timespan_selector.h
index 1e1460db6c..1f7a5ae9c2 100644
--- a/gtk2_ardour/export_timespan_selector.h
+++ b/gtk2_ardour/export_timespan_selector.h
@@ -52,7 +52,7 @@ namespace ARDOUR {
}
using ARDOUR::CDMarkerFormat;
-using ARDOUR::framecnt_t;
+using ARDOUR::samplecnt_t;
/// Timespan Selector base
class ExportTimespanSelector : public Gtk::VBox, public ARDOUR::SessionHandlePtr
@@ -94,9 +94,9 @@ protected:
std::string construct_label (ARDOUR::Location const * location) const;
std::string construct_length (ARDOUR::Location const * location) const;
- std::string bbt_str (framepos_t frames) const;
- std::string timecode_str (framecnt_t frames) const;
- std::string ms_str (framecnt_t frames) const;
+ std::string bbt_str (samplepos_t samples) const;
+ std::string timecode_str (samplecnt_t samples) const;
+ std::string ms_str (samplecnt_t samples) const;
void update_range_name (std::string const & path, std::string const & new_text);
diff --git a/gtk2_ardour/export_video_dialog.cc b/gtk2_ardour/export_video_dialog.cc
index 1972561ed2..2eb177788c 100644
--- a/gtk2_ardour/export_video_dialog.cc
+++ b/gtk2_ardour/export_video_dialog.cc
@@ -96,7 +96,7 @@ ExportVideoDialog::ExportVideoDialog ()
, optimizations_checkbox (_("Codec Optimizations:"))
, optimizations_label ("-")
, deinterlace_checkbox (_("Deinterlace"))
- , bframes_checkbox (_("Use [2] B-frames (MPEG 2 or 4 only)"))
+ , bframes_checkbox (_("Use [2] B-samples (MPEG 2 or 4 only)"))
, fps_checkbox (_("Override FPS (Default is to retain FPS from the input video file):"))
, meta_checkbox (_("Include Session Metadata"))
#if 1 /* tentative debug mode */
@@ -334,14 +334,14 @@ ExportVideoDialog::apply_state (TimeSelection &tme, bool range)
outfn_path_entry.set_text (_session->session_directory().export_path() + G_DIR_SEPARATOR +"export.avi");
// TODO remember setting for export-range.. somehow, (let explicit range override)
- frameoffset_t av_offset = ARDOUR_UI::instance()->video_timeline->get_offset();
+ sampleoffset_t av_offset = ARDOUR_UI::instance()->video_timeline->get_offset();
if (av_offset < 0 ) {
insnd_combo.append_text (_("from 00:00:00:00 to the video's end"));
} else {
insnd_combo.append_text (_("from the video's start to the video's end"));
}
if (!export_range.empty()) {
- insnd_combo.append_text (_("Selected range")); // TODO show export_range.start() -> export_range.end_frame()
+ insnd_combo.append_text (_("Selected range")); // TODO show export_range.start() -> export_range.end_sample()
}
if (range) {
insnd_combo.set_active(2);
@@ -424,7 +424,7 @@ ExportVideoDialog::apply_state (TimeSelection &tme, bool range)
if (node->get_property (X_("Deinterlace"), yn)) {
deinterlace_checkbox.set_active (yn);
}
- if (node->get_property (X_("BFrames"), yn)) {
+ if (node->get_property (X_("BSamples"), yn)) {
bframes_checkbox.set_active (yn);
}
if (node->get_property (X_("ChangeFPS"), yn)) {
@@ -513,7 +513,7 @@ ExportVideoDialog::get_state ()
node->set_property (X_("TwoPassEncode"), twopass_checkbox.get_active());
node->set_property (X_("CodecOptimzations"), optimizations_checkbox.get_active());
node->set_property (X_("Deinterlace"), deinterlace_checkbox.get_active());
- node->set_property (X_("BFrames"), bframes_checkbox.get_active());
+ node->set_property (X_("BSamples"), bframes_checkbox.get_active());
node->set_property (X_("ChangeFPS"), fps_checkbox.get_active());
node->set_property (X_("Metadata"), meta_checkbox.get_active());
@@ -555,7 +555,7 @@ ExportVideoDialog::abort_clicked ()
}
void
-ExportVideoDialog::update_progress (framecnt_t c, framecnt_t a)
+ExportVideoDialog::update_progress (samplecnt_t c, samplecnt_t a)
{
if (a == 0 || c > a) {
pbar.set_pulse_step(.1);
@@ -586,7 +586,7 @@ ExportVideoDialog::audio_progress_display ()
break;
case ExportStatus::Exporting:
pbar.set_text (_("Exporting audio"));
- progress = ((float) status->processed_frames_current_timespan) / status->total_frames_current_timespan;
+ progress = ((float) status->processed_samples_current_timespan) / status->total_samples_current_timespan;
progress = progress / ((_twopass ? 2.0 : 1.0) + (_normalize ? 2.0 : 1.0));
break;
default:
@@ -685,13 +685,13 @@ ExportVideoDialog::launch_export ()
" <Start>"
" <Trim enabled=\"false\"/>"
" <Add enabled=\"false\">"
-" <Duration format=\"Timecode\" hours=\"0\" minutes=\"0\" seconds=\"0\" frames=\"0\"/>"
+" <Duration format=\"Timecode\" hours=\"0\" minutes=\"0\" seconds=\"0\" samples=\"0\"/>"
" </Add>"
" </Start>"
" <End>"
" <Trim enabled=\"false\"/>"
" <Add enabled=\"false\">"
-" <Duration format=\"Timecode\" hours=\"0\" minutes=\"0\" seconds=\"0\" frames=\"0\"/>"
+" <Duration format=\"Timecode\" hours=\"0\" minutes=\"0\" seconds=\"0\" samples=\"0\"/>"
" </Add>"
" </End>"
" </Silence>"
@@ -701,19 +701,19 @@ ExportVideoDialog::launch_export ()
boost::shared_ptr<ExportFormatSpecification> fmp = _session->get_export_handler()->add_format(*tree.root());
/* set up range */
- framepos_t start, end;
+ samplepos_t start, end;
start = end = 0;
if (insnd_combo.get_active_row_number() == 1) {
_transcoder = new TranscodeFfmpeg(invid_path_entry.get_text());
if (_transcoder->probe_ok() && _transcoder->get_fps() > 0) {
- end = _transcoder->get_duration() * _session->nominal_frame_rate() / _transcoder->get_fps();
+ end = _transcoder->get_duration() * _session->nominal_sample_rate() / _transcoder->get_fps();
} else {
warning << _("Export Video: Cannot query duration of video-file, using duration from timeline instead.") << endmsg;
end = ARDOUR_UI::instance()->video_timeline->get_duration();
}
if (_transcoder) {delete _transcoder; _transcoder = 0;}
- frameoffset_t av_offset = ARDOUR_UI::instance()->video_timeline->get_offset();
+ sampleoffset_t av_offset = ARDOUR_UI::instance()->video_timeline->get_offset();
#if 0 /* DEBUG */
printf("audio-range -- AV offset: %lld\n", av_offset);
#endif
@@ -723,19 +723,19 @@ ExportVideoDialog::launch_export ()
end += av_offset;
}
else if (insnd_combo.get_active_row_number() == 2) {
- start = ARDOUR_UI::instance()->video_timeline->quantify_frames_to_apv(export_range.start());
- end = ARDOUR_UI::instance()->video_timeline->quantify_frames_to_apv(export_range.end_frame());
+ start = ARDOUR_UI::instance()->video_timeline->quantify_samples_to_apv(export_range.start());
+ end = ARDOUR_UI::instance()->video_timeline->quantify_samples_to_apv(export_range.end_sample());
}
if (end <= 0) {
- start = _session->current_start_frame();
- end = _session->current_end_frame();
+ start = _session->current_start_sample();
+ end = _session->current_end_sample();
}
#if 0 /* DEBUG */
printf("audio export-range %lld -> %lld\n", start, end);
#endif
- const frameoffset_t vstart = ARDOUR_UI::instance()->video_timeline->get_offset();
- const frameoffset_t vend = vstart + ARDOUR_UI::instance()->video_timeline->get_duration();
+ const sampleoffset_t vstart = ARDOUR_UI::instance()->video_timeline->get_offset();
+ const sampleoffset_t vend = vstart + ARDOUR_UI::instance()->video_timeline->get_duration();
if ( (start >= end) || (end < vstart) || (start > vend)) {
warning << _("Export Video: export-range does not include video.") << endmsg;
@@ -936,23 +936,23 @@ ExportVideoDialog::encode_pass (int pass)
ffs["-passlogfile"] = Glib::path_get_dirname (outfn) + G_DIR_SEPARATOR + "ffmpeg2pass";
}
- frameoffset_t av_offset = ARDOUR_UI::instance()->video_timeline->get_offset();
+ sampleoffset_t av_offset = ARDOUR_UI::instance()->video_timeline->get_offset();
double duration_s = 0;
if (insnd_combo.get_active_row_number() == 0) {
/* session start to session end */
- framecnt_t duration_f = _session->current_end_frame() - _session->current_start_frame();
- duration_s = (double)duration_f / (double)_session->nominal_frame_rate();
+ samplecnt_t duration_f = _session->current_end_sample() - _session->current_start_sample();
+ duration_s = (double)duration_f / (double)_session->nominal_sample_rate();
} else if (insnd_combo.get_active_row_number() == 2) {
/* selected range */
- duration_s = export_range.length() / (double)_session->nominal_frame_rate();
+ duration_s = export_range.length() / (double)_session->nominal_sample_rate();
} else {
/* video start to end */
- framecnt_t duration_f = ARDOUR_UI::instance()->video_timeline->get_duration();
+ samplecnt_t duration_f = ARDOUR_UI::instance()->video_timeline->get_duration();
if (av_offset < 0 ) {
duration_f += av_offset;
}
- duration_s = (double)duration_f / (double)_session->nominal_frame_rate();
+ duration_s = (double)duration_f / (double)_session->nominal_sample_rate();
}
std::ostringstream osstream; osstream << duration_s;
@@ -960,14 +960,14 @@ ExportVideoDialog::encode_pass (int pass)
_transcoder->set_duration(duration_s * _transcoder->get_fps());
if (insnd_combo.get_active_row_number() == 0 || insnd_combo.get_active_row_number() == 2) {
- framepos_t start, snend;
- const frameoffset_t vid_duration = ARDOUR_UI::instance()->video_timeline->get_duration();
+ samplepos_t start, snend;
+ const sampleoffset_t vid_duration = ARDOUR_UI::instance()->video_timeline->get_duration();
if (insnd_combo.get_active_row_number() == 0) {
- start = _session->current_start_frame();
- snend = _session->current_end_frame();
+ start = _session->current_start_sample();
+ snend = _session->current_end_sample();
} else {
start = export_range.start();
- snend = export_range.end_frame();
+ snend = export_range.end_sample();
}
#if 0 /* DEBUG */
@@ -976,27 +976,27 @@ ExportVideoDialog::encode_pass (int pass)
#endif
if (av_offset > start && av_offset + vid_duration < snend) {
- _transcoder->set_leadinout((av_offset - start) / (double)_session->nominal_frame_rate(),
- (snend - (av_offset + vid_duration)) / (double)_session->nominal_frame_rate());
+ _transcoder->set_leadinout((av_offset - start) / (double)_session->nominal_sample_rate(),
+ (snend - (av_offset + vid_duration)) / (double)_session->nominal_sample_rate());
} else if (av_offset > start) {
- _transcoder->set_leadinout((av_offset - start) / (double)_session->nominal_frame_rate(), 0);
+ _transcoder->set_leadinout((av_offset - start) / (double)_session->nominal_sample_rate(), 0);
} else if (av_offset + vid_duration < snend) {
- _transcoder->set_leadinout(0, (snend - (av_offset + vid_duration)) / (double)_session->nominal_frame_rate());
- _transcoder->set_avoffset((av_offset - start) / (double)_session->nominal_frame_rate());
+ _transcoder->set_leadinout(0, (snend - (av_offset + vid_duration)) / (double)_session->nominal_sample_rate());
+ _transcoder->set_avoffset((av_offset - start) / (double)_session->nominal_sample_rate());
}
#if 0
else if (start > av_offset) {
- std::ostringstream osstream; osstream << ((start - av_offset) / (double)_session->nominal_frame_rate());
+ std::ostringstream osstream; osstream << ((start - av_offset) / (double)_session->nominal_sample_rate());
ffs["-ss"] = osstream.str();
}
#endif
else {
- _transcoder->set_avoffset((av_offset - start) / (double)_session->nominal_frame_rate());
+ _transcoder->set_avoffset((av_offset - start) / (double)_session->nominal_sample_rate());
}
} else if (av_offset < 0) {
/* from 00:00:00:00 to video-end */
- _transcoder->set_avoffset(av_offset / (double)_session->nominal_frame_rate());
+ _transcoder->set_avoffset(av_offset / (double)_session->nominal_sample_rate());
}
TranscodeFfmpeg::FFSettings meta = _transcoder->default_meta_data();
@@ -1157,7 +1157,7 @@ ExportVideoDialog::preset_combo_changed ()
video_codec_combo.set_active(6);
audio_bitrate_combo.set_active(2);
video_bitrate_combo.set_active(4);
- if (_session->nominal_frame_rate() == 48000 || _session->nominal_frame_rate() == 96000) {
+ if (_session->nominal_sample_rate() == 48000 || _session->nominal_sample_rate() == 96000) {
audio_samplerate_combo.set_active(2);
} else {
audio_samplerate_combo.set_active(1);
@@ -1169,7 +1169,7 @@ ExportVideoDialog::preset_combo_changed ()
video_codec_combo.set_active(2);
audio_bitrate_combo.set_active(3);
video_bitrate_combo.set_active(4);
- if (_session->nominal_frame_rate() == 48000 || _session->nominal_frame_rate() == 96000) {
+ if (_session->nominal_sample_rate() == 48000 || _session->nominal_sample_rate() == 96000) {
audio_samplerate_combo.set_active(2);
} else {
audio_samplerate_combo.set_active(1);
@@ -1181,7 +1181,7 @@ ExportVideoDialog::preset_combo_changed ()
video_codec_combo.set_active(7);
audio_bitrate_combo.set_active(3);
video_bitrate_combo.set_active(4);
- if (_session->nominal_frame_rate() == 48000 || _session->nominal_frame_rate() == 96000) {
+ if (_session->nominal_sample_rate() == 48000 || _session->nominal_sample_rate() == 96000) {
audio_samplerate_combo.set_active(2);
} else {
audio_samplerate_combo.set_active(1);
@@ -1212,7 +1212,7 @@ ExportVideoDialog::preset_combo_changed ()
video_codec_combo.set_active(5);
audio_bitrate_combo.set_active(4);
video_bitrate_combo.set_active(5);
- if (_session->nominal_frame_rate() == 48000 || _session->nominal_frame_rate() == 96000) {
+ if (_session->nominal_sample_rate() == 48000 || _session->nominal_sample_rate() == 96000) {
audio_samplerate_combo.set_active(2);
} else {
audio_samplerate_combo.set_active(1);
@@ -1224,7 +1224,7 @@ ExportVideoDialog::preset_combo_changed ()
video_codec_combo.set_active(6);
audio_bitrate_combo.set_active(0);
video_bitrate_combo.set_active(0);
- if (_session->nominal_frame_rate() == 48000 || _session->nominal_frame_rate() == 96000) {
+ if (_session->nominal_sample_rate() == 48000 || _session->nominal_sample_rate() == 96000) {
audio_samplerate_combo.set_active(2);
} else {
audio_samplerate_combo.set_active(1);
diff --git a/gtk2_ardour/export_video_dialog.h b/gtk2_ardour/export_video_dialog.h
index 6e9b00558e..12c75ec141 100644
--- a/gtk2_ardour/export_video_dialog.h
+++ b/gtk2_ardour/export_video_dialog.h
@@ -88,7 +88,7 @@ private:
bool _normalize;
void finished ();
- void update_progress (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
+ void update_progress (ARDOUR::samplecnt_t, ARDOUR::samplecnt_t);
boost::shared_ptr<ARDOUR::ExportStatus> status;
sigc::connection audio_progress_connection;
diff --git a/gtk2_ardour/fft_graph.cc b/gtk2_ardour/fft_graph.cc
index ec54acbaaa..27d5b06f3e 100644
--- a/gtk2_ardour/fft_graph.cc
+++ b/gtk2_ardour/fft_graph.cc
@@ -651,7 +651,7 @@ FFTGraph::on_size_allocate (Gtk::Allocation & alloc)
void
FFTGraph::update_size ()
{
- framecnt_t SR = PublicEditor::instance ().session ()->nominal_frame_rate ();
+ samplecnt_t SR = PublicEditor::instance ().session ()->nominal_sample_rate ();
_fft_start = SR / (double)_dataSize;
_fft_end = .5 * SR;
_fft_log_base = logf (.5 * _dataSize);
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 02c3967f16..edb1217911 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -733,13 +733,13 @@ GainMeterBase::meter_point_clicked (MeterPoint mp)
void
GainMeterBase::amp_start_touch ()
{
- _control->start_touch (_control->session().transport_frame());
+ _control->start_touch (_control->session().transport_sample());
}
void
GainMeterBase::amp_stop_touch ()
{
- _control->stop_touch (_control->session().transport_frame());
+ _control->stop_touch (_control->session().transport_sample());
effective_gain_display ();
}
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index 8be90cfa3f..0e9935b291 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -429,8 +429,8 @@ GenericPluginUI::automatic_layout (const std::vector<ControlUI*>& control_uis)
Gtk::Table* button_table = manage (new Gtk::Table (initial_button_rows, initial_button_cols));
Gtk::Table* output_table = manage (new Gtk::Table (initial_output_rows, initial_output_cols));
- Frame* frame;
- Frame* bt_frame;
+ Frame* sample;
+ Frame* bt_sample;
VBox* box;
int output_row, output_col;
int button_row, button_col;
@@ -460,21 +460,21 @@ GenericPluginUI::automatic_layout (const std::vector<ControlUI*>& control_uis)
output_table->set_border_width (5);
- bt_frame = manage (new Frame);
- bt_frame->set_name ("BaseFrame");
- bt_frame->set_label (_("Switches"));
- bt_frame->add (*button_table);
- hpacker.pack_start(*bt_frame, true, true);
+ bt_sample = manage (new Frame);
+ bt_sample->set_name ("BaseFrame");
+ bt_sample->set_label (_("Switches"));
+ bt_sample->add (*button_table);
+ hpacker.pack_start(*bt_sample, true, true);
box = manage (new VBox);
box->set_border_width (5);
box->set_spacing (1);
- frame = manage (new Frame);
- frame->set_name ("BaseFrame");
- frame->set_label (_("Controls"));
- frame->add (*box);
- hpacker.pack_start(*frame, true, true);
+ sample = manage (new Frame);
+ sample->set_name ("BaseFrame");
+ sample->set_label (_("Controls"));
+ sample->add (*box);
+ hpacker.pack_start(*sample, true, true);
// Add special controls to UI, and build list of normal controls to be layed out later
std::vector<ControlUI *> cui_controls_list;
@@ -576,14 +576,14 @@ GenericPluginUI::automatic_layout (const std::vector<ControlUI*>& control_uis)
if (x > max_controls_per_column || similarity_scores[i] <= similarity_threshold) {
if (x > min_controls_per_column) {
- frame = manage (new Frame);
- frame->set_name ("BaseFrame");
- frame->set_label (_("Controls"));
+ sample = manage (new Frame);
+ sample->set_name ("BaseFrame");
+ sample->set_label (_("Controls"));
box = manage (new VBox);
box->set_border_width (5);
box->set_spacing (1);
- frame->add (*box);
- hpacker.pack_start(*frame, true, true);
+ sample->add (*box);
+ hpacker.pack_start(*sample, true, true);
x = 0;
} else {
HSeparator *split = new HSeparator();
@@ -600,22 +600,22 @@ GenericPluginUI::automatic_layout (const std::vector<ControlUI*>& control_uis)
}
if (box->children().empty()) {
- hpacker.remove (*frame);
+ hpacker.remove (*sample);
}
if (button_table->children().empty()) {
- hpacker.remove (*bt_frame);
+ hpacker.remove (*bt_sample);
delete button_table;
} else {
button_table->show_all ();
}
if (!output_table->children().empty()) {
- frame = manage (new Frame);
- frame->set_name ("BaseFrame");
- frame->set_label(_("Meters"));
- frame->add (*output_table);
- hpacker.pack_end (*frame, true, true);
+ sample = manage (new Frame);
+ sample->set_name ("BaseFrame");
+ sample->set_label(_("Meters"));
+ sample->add (*output_table);
+ hpacker.pack_end (*sample, true, true);
output_table->show_all ();
} else {
delete output_table;
@@ -660,15 +660,15 @@ GenericPluginUI::build_midi_table ()
pgm_table->set_border_width (5);
pgm_table->set_col_spacing (2, 10);
- Frame* frame = manage (new Frame);
- frame->set_name ("BaseFrame");
+ Frame* sample = manage (new Frame);
+ sample->set_name ("BaseFrame");
if (dynamic_cast<MidiTrack*> (insert->owner())) {
- frame->set_label (_("MIDI Progams (sent to track)"));
+ sample->set_label (_("MIDI Progams (sent to track)"));
} else {
- frame->set_label (_("MIDI Progams (volatile)"));
+ sample->set_label (_("MIDI Progams (volatile)"));
}
- frame->add (*pgm_table);
- hpacker.pack_start (*frame, false, false);
+ sample->add (*pgm_table);
+ hpacker.pack_start (*sample, false, false);
for (uint8_t chn = 0; chn < 16; ++chn) {
int col = 3 * (chn / 8);
diff --git a/gtk2_ardour/insert_remove_time_dialog.cc b/gtk2_ardour/insert_remove_time_dialog.cc
index f58bfdbaea..162559e539 100644
--- a/gtk2_ardour/insert_remove_time_dialog.cc
+++ b/gtk2_ardour/insert_remove_time_dialog.cc
@@ -74,10 +74,10 @@ InsertRemoveTimeDialog::InsertRemoveTimeDialog (PublicEditor& e, bool remove)
//if a Range is selected, assume the user wants to insert/remove the length of the range
if ( _editor.get_selection().time.length() != 0 ) {
position_clock.set ( _editor.get_selection().time.start(), true );
- duration_clock.set ( _editor.get_selection().time.end_frame(), true, _editor.get_selection().time.start() );
+ duration_clock.set ( _editor.get_selection().time.end_sample(), true, _editor.get_selection().time.start() );
duration_clock.set_bbt_reference (_editor.get_selection().time.start());
} else {
- framepos_t const pos = _editor.get_preferred_edit_position (EDIT_IGNORE_MOUSE);
+ samplepos_t const pos = _editor.get_preferred_edit_position (EDIT_IGNORE_MOUSE);
position_clock.set ( pos, true );
duration_clock.set_bbt_reference (pos);
duration_clock.set (0);
@@ -189,13 +189,13 @@ InsertRemoveTimeDialog::move_locked_markers () const
return _move_locked_markers.get_active ();
}
-framepos_t
+samplepos_t
InsertRemoveTimeDialog::position () const
{
return position_clock.current_time();
}
-framepos_t
+samplepos_t
InsertRemoveTimeDialog::distance () const
{
return duration_clock.current_duration ( position_clock.current_time() );
diff --git a/gtk2_ardour/insert_remove_time_dialog.h b/gtk2_ardour/insert_remove_time_dialog.h
index 999c0ca272..4b0cef6dd9 100644
--- a/gtk2_ardour/insert_remove_time_dialog.h
+++ b/gtk2_ardour/insert_remove_time_dialog.h
@@ -34,8 +34,8 @@ public:
bool move_glued_markers () const;
bool move_locked_markers () const;
bool move_tempos () const;
- framepos_t position () const;
- framepos_t distance () const;
+ samplepos_t position () const;
+ samplepos_t distance () const;
private:
void move_markers_toggled ();
diff --git a/gtk2_ardour/latency_gui.cc b/gtk2_ardour/latency_gui.cc
index de7e7b0b57..870fda9282 100644
--- a/gtk2_ardour/latency_gui.cc
+++ b/gtk2_ardour/latency_gui.cc
@@ -54,7 +54,7 @@ LatencyBarController::get_label (double&)
std::stringstream s;
if (nframes < (_latency_gui->sample_rate / 1000.0)) {
- const framepos_t nf = (framepos_t) rint (nframes);
+ const samplepos_t nf = (samplepos_t) rint (nframes);
s << string_compose (P_("%1 sample", "%1 samples", nf), nf);
} else {
s << std::fixed << std::setprecision (2) << (nframes / (_latency_gui->sample_rate / 1000.0)) << " ms";
@@ -63,13 +63,13 @@ LatencyBarController::get_label (double&)
return s.str ();
}
-LatencyGUI::LatencyGUI (Latent& l, framepos_t sr, framepos_t psz)
+LatencyGUI::LatencyGUI (Latent& l, samplepos_t sr, samplepos_t psz)
: _latent (l),
initial_value (_latent.user_latency()),
sample_rate (sr),
period_size (psz),
ignored (new PBD::IgnorableControllable()),
- /* max 1 second, step by frames, page by msecs */
+ /* max 1 second, step by samples, page by msecs */
adjustment (initial_value, 0.0, sample_rate, 1.0, sample_rate / 1000.0f),
bc (adjustment, this),
reset_button (_("Reset"))
@@ -116,7 +116,7 @@ LatencyGUI::LatencyGUI (Latent& l, framepos_t sr, framepos_t psz)
void
LatencyGUI::finish ()
{
- framepos_t new_value = (framepos_t) adjustment.get_value();
+ samplepos_t new_value = (samplepos_t) adjustment.get_value();
if (new_value != initial_value) {
_latent.set_user_latency (new_value);
}
@@ -161,7 +161,7 @@ LatencyGUI::change_latency_from_button (int dir)
}
}
-LatencyDialog::LatencyDialog (const std::string& title, Latent& l, framepos_t sr, framepos_t psz)
+LatencyDialog::LatencyDialog (const std::string& title, Latent& l, samplepos_t sr, samplepos_t psz)
: ArdourDialog (title, false, true),
lwidget (l, sr, psz)
{
diff --git a/gtk2_ardour/latency_gui.h b/gtk2_ardour/latency_gui.h
index d9b2a3bf4a..943944571e 100644
--- a/gtk2_ardour/latency_gui.h
+++ b/gtk2_ardour/latency_gui.h
@@ -57,7 +57,7 @@ private:
class LatencyGUI : public Gtk::VBox
{
public:
- LatencyGUI (ARDOUR::Latent&, framepos_t sample_rate, framepos_t period_size);
+ LatencyGUI (ARDOUR::Latent&, samplepos_t sample_rate, samplepos_t period_size);
~LatencyGUI() { }
void finish ();
@@ -66,9 +66,9 @@ public:
private:
ARDOUR::Latent& _latent;
- framepos_t initial_value;
- framepos_t sample_rate;
- framepos_t period_size;
+ samplepos_t initial_value;
+ samplepos_t sample_rate;
+ samplepos_t period_size;
boost::shared_ptr<PBD::IgnorableControllable> ignored;
Gtk::Adjustment adjustment;
@@ -91,7 +91,7 @@ private:
class LatencyDialog : public ArdourDialog
{
public:
- LatencyDialog (const std::string& title, ARDOUR::Latent&, framepos_t sample_rate, framepos_t period_size);
+ LatencyDialog (const std::string& title, ARDOUR::Latent&, samplepos_t sample_rate, samplepos_t period_size);
~LatencyDialog() {}
private:
diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc
index 658b7326d9..7f2e2bb3ba 100644
--- a/gtk2_ardour/location_ui.cc
+++ b/gtk2_ardour/location_ui.cc
@@ -284,7 +284,7 @@ LocationEditRow::set_location (Location *loc)
cd_check_button.set_active (location->is_cd_marker());
cd_check_button.show();
- if (location->start() == _session->current_start_frame()) {
+ if (location->start() == _session->current_start_sample()) {
cd_check_button.set_sensitive (false);
} else {
cd_check_button.set_sensitive (true);
@@ -418,10 +418,10 @@ LocationEditRow::to_playhead_button_pressed (LocationPart part)
switch (part) {
case LocStart:
- location->set_start (_session->transport_frame (), false, true, divisions);
+ location->set_start (_session->transport_sample (), false, true, divisions);
break;
case LocEnd:
- location->set_end (_session->transport_frame (), false, true,divisions);
+ location->set_end (_session->transport_sample (), false, true,divisions);
if (location->is_session_range()) {
_session->set_end_is_free (false);
}
@@ -524,7 +524,7 @@ LocationEditRow::cd_toggled ()
//}
if (cd_check_button.get_active()) {
- if (location->start() <= _session->current_start_frame()) {
+ if (location->start() <= _session->current_start_sample()) {
error << _("You cannot put a CD marker at the start of the session") << endmsg;
cd_check_button.set_active (false);
return;
@@ -646,7 +646,7 @@ LocationEditRow::start_changed ()
start_clock.set (location->start());
- if (location->start() == _session->current_start_frame()) {
+ if (location->start() == _session->current_start_sample()) {
cd_check_button.set_sensitive (false);
} else {
cd_check_button.set_sensitive (true);
@@ -753,7 +753,7 @@ LocationEditRow::set_clock_editable_status ()
LocationUI::LocationUI (std::string state_node_name)
: add_location_button (_("New Marker"))
, add_range_button (_("New Range"))
- , _mode (AudioClock::Frames)
+ , _mode (AudioClock::Samples)
, _mode_set (false)
, _state_node_name (state_node_name)
{
@@ -808,15 +808,15 @@ LocationUI::LocationUI (std::string state_node_name)
newest_location = 0;
- loc_frame_box.set_spacing (5);
- loc_frame_box.set_border_width (5);
- loc_frame_box.set_name("LocationFrameBox");
+ loc_sample_box.set_spacing (5);
+ loc_sample_box.set_border_width (5);
+ loc_sample_box.set_name("LocationFrameBox");
- loc_frame_box.pack_start (location_rows_scroller, true, true);
+ loc_sample_box.pack_start (location_rows_scroller, true, true);
add_location_button.set_name ("LocationAddLocationButton");
- table->attach (loc_frame_box, 0, 2, table_row, table_row + 1);
+ table->attach (loc_sample_box, 0, 2, table_row, table_row + 1);
++table_row;
loc_range_panes.add (*table);
@@ -841,14 +841,14 @@ LocationUI::LocationUI (std::string state_node_name)
range_rows_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
range_rows_scroller.set_size_request (-1, 130);
- range_frame_box.set_spacing (5);
- range_frame_box.set_name("LocationFrameBox");
- range_frame_box.set_border_width (5);
- range_frame_box.pack_start (range_rows_scroller, true, true);
+ range_sample_box.set_spacing (5);
+ range_sample_box.set_name("LocationFrameBox");
+ range_sample_box.set_border_width (5);
+ range_sample_box.pack_start (range_rows_scroller, true, true);
add_range_button.set_name ("LocationAddRangeButton");
- table->attach (range_frame_box, 0, 2, table_row, table_row + 1);
+ table->attach (range_sample_box, 0, 2, table_row, table_row + 1);
++table_row;
loc_range_panes.add (*table);
@@ -1047,7 +1047,7 @@ LocationUI::add_new_location()
string markername;
if (_session) {
- framepos_t where = _session->audible_frame();
+ samplepos_t where = _session->audible_sample();
_session->locations()->next_available_name(markername,"mark");
Location *location = new Location (*_session, where, where, markername, Location::IsMark);
if (UIConfiguration::instance().get_name_new_markers()) {
@@ -1069,7 +1069,7 @@ LocationUI::add_new_range()
string rangename;
if (_session) {
- framepos_t where = _session->audible_frame();
+ samplepos_t where = _session->audible_sample();
_session->locations()->next_available_name(rangename,"unnamed");
Location *location = new Location (*_session, where, where, rangename, Location::IsRangeMarker);
PublicEditor::instance().begin_reversible_command (_("add range marker"));
diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h
index 46495aa4fc..7c3f4b69c4 100644
--- a/gtk2_ardour/location_ui.h
+++ b/gtk2_ardour/location_ui.h
@@ -182,12 +182,12 @@ private:
ArdourWidgets::VPane loc_range_panes;
- Gtk::VBox loc_frame_box;
+ Gtk::VBox loc_sample_box;
Gtk::Button add_location_button;
Gtk::ScrolledWindow location_rows_scroller;
Gtk::VBox location_rows;
- Gtk::VBox range_frame_box;
+ Gtk::VBox range_sample_box;
Gtk::Button add_range_button;
Gtk::ScrolledWindow range_rows_scroller;
Gtk::VBox range_rows;
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc
index ff2c8d3164..a20405a599 100644
--- a/gtk2_ardour/luainstance.cc
+++ b/gtk2_ardour/luainstance.cc
@@ -728,14 +728,14 @@ LuaInstance::register_classes (lua_State* L)
.beginClass <RegionSelection> ("RegionSelection")
.addFunction ("start", &RegionSelection::start)
- .addFunction ("end_frame", &RegionSelection::end_frame)
+ .addFunction ("end_frame", &RegionSelection::end_sample)
.addFunction ("n_midi_regions", &RegionSelection::n_midi_regions)
.addFunction ("regionlist", &RegionSelection::regionlist) // XXX check windows binding (libardour)
.endClass ()
.deriveClass <TimeSelection, std::list<ARDOUR::AudioRange> > ("TimeSelection")
.addFunction ("start", &TimeSelection::start)
- .addFunction ("end_frame", &TimeSelection::end_frame)
+ .addFunction ("end_frame", &TimeSelection::end_sample)
.addFunction ("length", &TimeSelection::length)
.endClass ()
diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc
index 25fdf1ed72..641fa8dce8 100644
--- a/gtk2_ardour/lv2_plugin_ui.cc
+++ b/gtk2_ardour/lv2_plugin_ui.cc
@@ -103,9 +103,9 @@ LV2PluginUI::touch(void* controller,
ControllableRef control = me->_controllables[port_index];
if (grabbed) {
- control->start_touch(control->session().transport_frame());
+ control->start_touch(control->session().transport_sample());
} else {
- control->stop_touch(control->session().transport_frame());
+ control->stop_touch(control->session().transport_sample());
}
}
diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc
index 65ce353817..1afe9a21fb 100644
--- a/gtk2_ardour/main.cc
+++ b/gtk2_ardour/main.cc
@@ -137,7 +137,7 @@ static void ardour_g_log (const gchar *log_domain, GLogLevelFlags log_level, con
static gboolean
tell_about_backend_death (void* /* ignored */)
{
- if (AudioEngine::instance()->processed_frames() == 0) {
+ if (AudioEngine::instance()->processed_samples() == 0) {
/* died during startup */
MessageDialog msg (string_compose (_("The audio backend (%1) has failed, or terminated"), AudioEngine::instance()->current_backend_name()), false);
msg.set_position (Gtk::WIN_POS_CENTER);
diff --git a/gtk2_ardour/main_clock.cc b/gtk2_ardour/main_clock.cc
index 6a759eb9dc..ff68e9e22c 100644
--- a/gtk2_ardour/main_clock.cc
+++ b/gtk2_ardour/main_clock.cc
@@ -76,7 +76,7 @@ MainClock::build_ops_menu ()
ops_items.push_back (MenuElem (_("Insert Meter Change"), sigc::mem_fun(*this, &MainClock::insert_new_meter)));
}
-framepos_t
+samplepos_t
MainClock::absolute_time () const
{
if (get_is_duration ()) {
@@ -101,7 +101,7 @@ void
MainClock::edit_current_tempo ()
{
if (!PublicEditor::instance().session()) return;
- ARDOUR::TempoSection* ts = const_cast<ARDOUR::TempoSection*>(&PublicEditor::instance().session()->tempo_map().tempo_section_at_frame (absolute_time()));
+ ARDOUR::TempoSection* ts = const_cast<ARDOUR::TempoSection*>(&PublicEditor::instance().session()->tempo_map().tempo_section_at_sample (absolute_time()));
PublicEditor::instance().edit_tempo_section (ts);
}
@@ -109,7 +109,7 @@ void
MainClock::edit_current_meter ()
{
if (!PublicEditor::instance().session()) return;
- ARDOUR::MeterSection* ms = const_cast<ARDOUR::MeterSection*>(&PublicEditor::instance().session()->tempo_map().meter_section_at_frame (absolute_time()));
+ ARDOUR::MeterSection* ms = const_cast<ARDOUR::MeterSection*>(&PublicEditor::instance().session()->tempo_map().meter_section_at_sample (absolute_time()));
PublicEditor::instance().edit_meter_section (ms);
}
diff --git a/gtk2_ardour/main_clock.h b/gtk2_ardour/main_clock.h
index 28cc988506..3e7b5db046 100644
--- a/gtk2_ardour/main_clock.h
+++ b/gtk2_ardour/main_clock.h
@@ -29,7 +29,7 @@ class MainClock : public AudioClock
{
public:
MainClock (const std::string& clock_name, const std::string& widget_name, bool primary);
- framepos_t absolute_time () const;
+ samplepos_t absolute_time () const;
void set_session (ARDOUR::Session *s);
private:
diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc
index 0b52d144db..b578939f7a 100644
--- a/gtk2_ardour/marker.cc
+++ b/gtk2_ardour/marker.cc
@@ -64,7 +64,7 @@ void ArdourMarker::setup_sizes(const double timebar_height)
}
ArdourMarker::ArdourMarker (PublicEditor& ed, ArdourCanvas::Container& parent, guint32 rgba, const string& annotation,
- Type type, framepos_t frame, bool handle_events)
+ Type type, samplepos_t sample, bool handle_events)
: editor (ed)
, _parent (&parent)
@@ -255,8 +255,8 @@ ArdourMarker::ArdourMarker (PublicEditor& ed, ArdourCanvas::Container& parent, g
}
- frame_position = frame;
- unit_position = editor.sample_to_pixel (frame);
+ sample_position = sample;
+ unit_position = editor.sample_to_pixel (sample);
unit_position -= _shift;
group = new ArdourCanvas::Container (&parent, ArdourCanvas::Duple (unit_position, 1));
@@ -460,18 +460,18 @@ ArdourMarker::setup_name_display ()
}
void
-ArdourMarker::set_position (framepos_t frame)
+ArdourMarker::set_position (samplepos_t sample)
{
- unit_position = editor.sample_to_pixel (frame) - _shift;
+ unit_position = editor.sample_to_pixel (sample) - _shift;
group->set_x_position (unit_position);
setup_line ();
- frame_position = frame;
+ sample_position = sample;
}
void
ArdourMarker::reposition ()
{
- set_position (frame_position);
+ set_position (sample_position);
}
void
@@ -550,7 +550,7 @@ ArdourMarker::set_right_label_limit (double p)
TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Container& parent, guint32 rgba, const string& text,
ARDOUR::TempoSection& temp)
- : ArdourMarker (editor, parent, rgba, text, Tempo, temp.frame(), false),
+ : ArdourMarker (editor, parent, rgba, text, Tempo, temp.sample(), false),
_tempo (temp)
{
group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_tempo_marker_event), group, this));
@@ -584,7 +584,7 @@ TempoMarker::update_height_mark (const double ratio)
MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Container& parent, guint32 rgba, const string& text,
ARDOUR::MeterSection& m)
- : ArdourMarker (editor, parent, rgba, text, Meter, m.frame(), false),
+ : ArdourMarker (editor, parent, rgba, text, Meter, m.sample(), false),
_meter (m)
{
group->Event.connect (sigc::bind (sigc::mem_fun (editor, &PublicEditor::canvas_meter_marker_event), group, this));
diff --git a/gtk2_ardour/marker.h b/gtk2_ardour/marker.h
index 391653f090..443a3646b7 100644
--- a/gtk2_ardour/marker.h
+++ b/gtk2_ardour/marker.h
@@ -61,7 +61,7 @@ public:
ArdourMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, Type,
- framepos_t frame = 0, bool handle_events = true);
+ samplepos_t sample = 0, bool handle_events = true);
virtual ~ArdourMarker ();
@@ -75,13 +75,13 @@ public:
void set_show_line (bool);
void canvas_height_set (double);
- void set_position (framepos_t);
+ void set_position (samplepos_t);
void set_name (const std::string&);
void set_points_color (uint32_t rgba);
void set_color_rgba (uint32_t rgba);
void setup_line ();
- framepos_t position() const { return frame_position; }
+ samplepos_t position() const { return sample_position; }
ArdourCanvas::Container * get_parent() { return _parent; }
void reparent (ArdourCanvas::Container & parent);
@@ -115,7 +115,7 @@ protected:
std::string _name;
double unit_position;
- framepos_t frame_position;
+ samplepos_t sample_position;
double _shift;
Type _type;
int name_height;
diff --git a/gtk2_ardour/marker_selection.h b/gtk2_ardour/marker_selection.h
index 1b322d0885..8633685325 100644
--- a/gtk2_ardour/marker_selection.h
+++ b/gtk2_ardour/marker_selection.h
@@ -27,7 +27,7 @@
class MarkerSelection : public std::list<ArdourMarker*>
{
public:
- void range (ARDOUR::framepos_t& start, ARDOUR::framepos_t& end);
+ void range (ARDOUR::samplepos_t& start, ARDOUR::samplepos_t& end);
};
#endif /* __ardour_gtk_marker_selection_h__ */
diff --git a/gtk2_ardour/midi_automation_line.cc b/gtk2_ardour/midi_automation_line.cc
index 9a40ebbac3..6f86efbea6 100644
--- a/gtk2_ardour/midi_automation_line.cc
+++ b/gtk2_ardour/midi_automation_line.cc
@@ -36,7 +36,7 @@ MidiAutomationLine::MidiAutomationLine (
boost::shared_ptr<ARDOUR::AutomationList> list,
boost::shared_ptr<ARDOUR::MidiRegion> region,
Evoral::Parameter parameter,
- Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter)
+ Evoral::TimeConverter<double, ARDOUR::samplepos_t>* converter)
: AutomationLine (name, tav, parent, list, parameter, converter)
, _region (region)
, _parameter (parameter)
diff --git a/gtk2_ardour/midi_automation_line.h b/gtk2_ardour/midi_automation_line.h
index e0da2a00d7..dd5b229dd2 100644
--- a/gtk2_ardour/midi_automation_line.h
+++ b/gtk2_ardour/midi_automation_line.h
@@ -33,7 +33,7 @@ public:
boost::shared_ptr<ARDOUR::AutomationList>,
boost::shared_ptr<ARDOUR::MidiRegion>,
Evoral::Parameter,
- Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0);
+ Evoral::TimeConverter<double, ARDOUR::samplepos_t>* converter = 0);
MementoCommandBinder<ARDOUR::AutomationList>* memento_command_binder ();
diff --git a/gtk2_ardour/midi_list_editor.cc b/gtk2_ardour/midi_list_editor.cc
index b6100aa552..4c0903fddd 100644
--- a/gtk2_ardour/midi_list_editor.cc
+++ b/gtk2_ardour/midi_list_editor.cc
@@ -24,7 +24,7 @@
#include "evoral/midi_util.h"
#include "evoral/Note.hpp"
-#include "ardour/beats_frames_converter.h"
+#include "ardour/beats_samples_converter.h"
#include "ardour/midi_model.h"
#include "ardour/midi_region.h"
#include "ardour/midi_source.h"
@@ -759,7 +759,7 @@ MidiListEditor::redisplay_model ()
if (_session) {
- BeatsFramesConverter conv (_session->tempo_map(), region->position());
+ BeatsSamplesConverter conv (_session->tempo_map(), region->position());
MidiModel::Notes notes = region->midi_source(0)->model()->notes();
TreeModel::Row row;
stringstream ss;
@@ -771,7 +771,7 @@ MidiListEditor::redisplay_model ()
row[columns.note] = (*i)->note();
row[columns.velocity] = (*i)->velocity();
- Timecode::BBT_Time bbt (_session->tempo_map().bbt_at_frame (region->position() + conv.to ((*i)->time())));
+ Timecode::BBT_Time bbt (_session->tempo_map().bbt_at_sample (region->position() + conv.to ((*i)->time())));
ss.str ("");
ss << bbt;
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index a8124a9675..c751c5f58b 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -269,7 +269,7 @@ MidiRegionView::init (bool wfd)
_model = midi_region()->midi_source(0)->model();
_enable_display = false;
- fill_color_name = "midi frame base";
+ fill_color_name = "midi sample base";
RegionView::init (false);
@@ -416,8 +416,8 @@ MidiRegionView::leave_notify (GdkEventCrossing*)
void
MidiRegionView::mouse_mode_changed ()
{
- // Adjust frame colour (become more transparent for internal tools)
- set_frame_color();
+ // Adjust sample colour (become more transparent for internal tools)
+ set_sample_color();
if (_entered) {
if (!trackview.editor().internal_editing()) {
@@ -457,12 +457,12 @@ MidiRegionView::enter_internal (uint32_t state)
_grabbed_keyboard = true;
}
- // Lower frame handles below notes so they don't steal events
- if (frame_handle_start) {
- frame_handle_start->lower_to_bottom();
+ // Lower sample handles below notes so they don't steal events
+ if (sample_handle_start) {
+ sample_handle_start->lower_to_bottom();
}
- if (frame_handle_end) {
- frame_handle_end->lower_to_bottom();
+ if (sample_handle_end) {
+ sample_handle_end->lower_to_bottom();
}
}
@@ -478,12 +478,12 @@ MidiRegionView::leave_internal()
_grabbed_keyboard = false;
}
- // Raise frame handles above notes so they catch events
- if (frame_handle_start) {
- frame_handle_start->raise_to_top();
+ // Raise sample handles above notes so they catch events
+ if (sample_handle_start) {
+ sample_handle_start->raise_to_top();
}
- if (frame_handle_end) {
- frame_handle_end->raise_to_top();
+ if (sample_handle_end) {
+ sample_handle_end->raise_to_top();
}
}
@@ -917,13 +917,13 @@ MidiRegionView::show_list_editor ()
}
/** Add a note to the model, and the view, at a canvas (click) coordinate.
- * \param t time in frames relative to the position of the region
+ * \param t time in samples relative to the position of the region
* \param y vertical position in pixels
* \param length duration of the note in beats
* \param snap_t true to snap t to the grid, otherwise false.
*/
void
-MidiRegionView::create_note_at (framepos_t t, double y, Evoral::Beats length, uint32_t state, bool shift_snap)
+MidiRegionView::create_note_at (samplepos_t t, double y, Evoral::Beats length, uint32_t state, bool shift_snap)
{
if (length < 2 * DBL_EPSILON) {
return;
@@ -937,9 +937,9 @@ MidiRegionView::create_note_at (framepos_t t, double y, Evoral::Beats length, ui
return;
}
- // Start of note in frames relative to region start
+ // Start of note in samples relative to region start
const int32_t divisions = trackview.editor().get_grid_music_divisions (state);
- Evoral::Beats beat_time = snap_frame_to_grid_underneath (t, divisions, shift_snap);
+ Evoral::Beats beat_time = snap_sample_to_grid_underneath (t, divisions, shift_snap);
const double note = view->y_to_note(y);
const uint8_t chan = mtv->get_channel_for_add();
@@ -1175,7 +1175,7 @@ MidiRegionView::redisplay_model()
{
if (_active_notes) {
// Currently recording
- const framecnt_t zoom = trackview.editor().get_current_zoom();
+ const samplecnt_t zoom = trackview.editor().get_current_zoom();
if (zoom != _last_display_zoom) {
/* Update resolved canvas notes to reflect changes in zoom without
touching model. Leave active notes (with length 0) alone since
@@ -1331,12 +1331,12 @@ MidiRegionView::display_patch_changes_on_channel (uint8_t channel, bool active_c
if ((p = find_canvas_patch_change (*i)) != 0) {
- const framecnt_t region_frames = source_beats_to_region_frames ((*i)->time());
+ const samplecnt_t region_samples = source_beats_to_region_samples ((*i)->time());
- if (region_frames < 0 || region_frames >= _region->length()) {
+ if (region_samples < 0 || region_samples >= _region->length()) {
p->hide();
} else {
- const double x = trackview.editor().sample_to_pixel (region_frames);
+ const double x = trackview.editor().sample_to_pixel (region_samples);
const string patch_name = instrument_info().get_patch_name ((*i)->bank(), (*i)->program(), channel);
p->canvas_item()->set_position (ArdourCanvas::Duple (x, 1.0));
p->set_text (patch_name);
@@ -1367,14 +1367,14 @@ MidiRegionView::display_sysexes()
}
if (have_periodic_system_messages) {
- double zoom = trackview.editor().get_current_zoom (); // frames per pixel
+ double zoom = trackview.editor().get_current_zoom (); // samples per pixel
/* get an approximate value for the number of samples per video frame */
- double video_frame = trackview.session()->frame_rate() * (1.0/30);
+ double video_frame = trackview.session()->sample_rate() * (1.0/30);
/* if we are zoomed out beyond than the cutoff (i.e. more
- * frames per pixel than frames per 4 video frames), don't
+ * samples per pixel than samples per 4 video frames), don't
* show periodic sysex messages.
*/
@@ -1406,7 +1406,7 @@ MidiRegionView::display_sysexes()
}
string text = str.str();
- const double x = trackview.editor().sample_to_pixel(source_beats_to_region_frames(time));
+ const double x = trackview.editor().sample_to_pixel(source_beats_to_region_samples(time));
double height = midi_stream_view()->contents_height();
@@ -1424,7 +1424,7 @@ MidiRegionView::display_sysexes()
}
// Show unless message is beyond the region bounds
-// XXX REQUIRES APPROPRIATE OPERATORS FOR Evoral::Beats and framepos? say what?
+// XXX REQUIRES APPROPRIATE OPERATORS FOR Evoral::Beats and samplepos? say what?
#warning paul fix this
// if (time - _region->start() >= _region->length() || time < _region->start()) {
// sysex->hide();
@@ -1623,9 +1623,9 @@ MidiRegionView::resolve_note(uint8_t note, Evoral::Beats end_time)
end_time - _active_notes[note]->note()->time());
/* End time is relative to the region being recorded. */
- const framepos_t end_time_frames = region_beats_to_region_frames(end_time);
+ const samplepos_t end_time_samples = region_beats_to_region_samples(end_time);
- _active_notes[note]->set_x1 (trackview.editor().sample_to_pixel(end_time_frames));
+ _active_notes[note]->set_x1 (trackview.editor().sample_to_pixel(end_time_samples));
_active_notes[note]->set_outline_all ();
_active_notes[note] = 0;
}
@@ -1738,9 +1738,9 @@ MidiRegionView::update_sustained (Note* ev, bool update_ghost_regions)
boost::shared_ptr<NoteType> note = ev->note();
const double session_source_start = _region->quarter_note() - mr->start_beats();
- const framepos_t note_start_frames = map.frame_at_quarter_note (note->time().to_double() + session_source_start) - _region->position();
+ const samplepos_t note_start_samples = map.sample_at_quarter_note (note->time().to_double() + session_source_start) - _region->position();
- const double x0 = trackview.editor().sample_to_pixel (note_start_frames);
+ const double x0 = trackview.editor().sample_to_pixel (note_start_samples);
double x1;
const double y0 = 1 + floor(note_to_y(note->note()));
double y1;
@@ -1753,9 +1753,9 @@ MidiRegionView::update_sustained (Note* ev, bool update_ghost_regions)
note_end_time = mr->start_beats() + mr->length_beats();
}
- const framepos_t note_end_frames = map.frame_at_quarter_note (session_source_start + note_end_time) - _region->position();
+ const samplepos_t note_end_samples = map.sample_at_quarter_note (session_source_start + note_end_time) - _region->position();
- x1 = std::max(1., trackview.editor().sample_to_pixel (note_end_frames)) - 1;
+ x1 = std::max(1., trackview.editor().sample_to_pixel (note_end_samples)) - 1;
} else {
x1 = std::max(1., trackview.editor().sample_to_pixel (_region->length())) - 1;
}
@@ -1798,9 +1798,9 @@ MidiRegionView::update_hit (Hit* ev, bool update_ghost_regions)
boost::shared_ptr<NoteType> note = ev->note();
const double note_time_qn = note->time().to_double() + (_region->quarter_note() - midi_region()->start_beats());
- const framepos_t note_start_frames = trackview.session()->tempo_map().frame_at_quarter_note (note_time_qn) - _region->position();
+ const samplepos_t note_start_samples = trackview.session()->tempo_map().sample_at_quarter_note (note_time_qn) - _region->position();
- const double x = trackview.editor().sample_to_pixel(note_start_frames);
+ const double x = trackview.editor().sample_to_pixel(note_start_samples);
const double diamond_size = std::max(1., floor(note_height()) - 2.);
const double y = 1.5 + floor(note_to_y(note->note())) + diamond_size * .5;
@@ -1896,12 +1896,12 @@ MidiRegionView::step_add_note (uint8_t channel, uint8_t number, uint8_t velocity
/* potentially extend region to hold new note */
- framepos_t end_frame = source_beats_to_absolute_frames (new_note->end_time());
- framepos_t region_end = _region->last_frame();
+ samplepos_t end_sample = source_beats_to_absolute_samples (new_note->end_time());
+ samplepos_t region_end = _region->last_sample();
- if (end_frame > region_end) {
+ if (end_sample > region_end) {
/* XX sets length in beats from audio space. make musical */
- _region->set_length (end_frame - _region->position(), 0);
+ _region->set_length (end_sample - _region->position(), 0);
}
MidiTimeAxisView* const mtv = dynamic_cast<MidiTimeAxisView*>(&trackview);
@@ -1935,8 +1935,8 @@ MidiRegionView::step_sustain (Evoral::Beats beats)
void
MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const string& displaytext, bool /*active_channel*/)
{
- framecnt_t region_frames = source_beats_to_region_frames (patch->time());
- const double x = trackview.editor().sample_to_pixel (region_frames);
+ samplecnt_t region_samples = source_beats_to_region_samples (patch->time());
+ const double x = trackview.editor().sample_to_pixel (region_samples);
double const height = midi_stream_view()->contents_height();
@@ -1957,7 +1957,7 @@ MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const
if (patch_change->item().width() < _pixel_width) {
// Show unless patch change is beyond the region bounds
- if (region_frames < 0 || region_frames >= _region->length()) {
+ if (region_samples < 0 || region_samples >= _region->length()) {
patch_change->hide();
} else {
patch_change->show();
@@ -2077,12 +2077,12 @@ MidiRegionView::change_patch_change (MidiModel::PatchChangePtr old_change, const
}
/** Add a patch change to the region.
- * @param t Time in frames relative to region position
+ * @param t Time in samples relative to region position
* @param patch Patch to add; time and channel are ignored (time is converted from t, and channel comes from
* MidiTimeAxisView::get_channel_for_add())
*/
void
-MidiRegionView::add_patch_change (framecnt_t t, Evoral::PatchChange<Evoral::Beats> const & patch)
+MidiRegionView::add_patch_change (samplecnt_t t, Evoral::PatchChange<Evoral::Beats> const & patch)
{
string name = _("add patch change");
@@ -2090,7 +2090,7 @@ MidiRegionView::add_patch_change (framecnt_t t, Evoral::PatchChange<Evoral::Beat
MidiModel::PatchChangeDiffCommand* c = _model->new_patch_change_diff_command (name);
c->add (MidiModel::PatchChangePtr (
new Evoral::PatchChange<Evoral::Beats> (
- absolute_frames_to_source_beats (_region->position() + t),
+ absolute_samples_to_source_beats (_region->position() + t),
patch.channel(), patch.program(), patch.bank()
)
)
@@ -2242,12 +2242,12 @@ MidiRegionView::select_all_notes ()
}
void
-MidiRegionView::select_range (framepos_t start, framepos_t end)
+MidiRegionView::select_range (samplepos_t start, samplepos_t end)
{
clear_editor_note_selection ();
for (Events::iterator i = _events.begin(); i != _events.end(); ++i) {
- framepos_t t = source_beats_to_absolute_frames(i->first->time());
+ samplepos_t t = source_beats_to_absolute_samples(i->first->time());
if (t >= start && t <= end) {
add_to_selection (i->second);
}
@@ -2436,15 +2436,15 @@ MidiRegionView::note_deselected(NoteBase* ev)
}
void
-MidiRegionView::update_drag_selection(framepos_t start, framepos_t end, double gy0, double gy1, bool extend)
+MidiRegionView::update_drag_selection(samplepos_t start, samplepos_t end, double gy0, double gy1, bool extend)
{
PublicEditor& editor = trackview.editor();
// Convert to local coordinates
- const framepos_t p = _region->position();
+ const samplepos_t p = _region->position();
const double y = midi_view()->y_position();
- const double x0 = editor.sample_to_pixel(max((framepos_t)0, start - p));
- const double x1 = editor.sample_to_pixel(max((framepos_t)0, end - p));
+ const double x0 = editor.sample_to_pixel(max((samplepos_t)0, start - p));
+ const double x1 = editor.sample_to_pixel(max((samplepos_t)0, end - p));
const double y0 = max(0.0, gy0 - y);
const double y1 = max(0.0, gy1 - y);
@@ -2581,13 +2581,13 @@ MidiRegionView::move_selection(double dx_qn, double dy, double cumulative_dy)
double const note_time_qn = session_relative_qn (n->note()->time().to_double());
double dx = 0.0;
if (midi_view()->note_mode() == Sustained) {
- dx = editor->sample_to_pixel_unrounded (tmap.frame_at_quarter_note (note_time_qn + dx_qn))
+ dx = editor->sample_to_pixel_unrounded (tmap.sample_at_quarter_note (note_time_qn + dx_qn))
- n->item()->item_to_canvas (ArdourCanvas::Duple (n->x0(), 0)).x;
} else {
/* Hit::x0() is offset by _position.x, unlike Note::x0() */
Hit* hit = dynamic_cast<Hit*>(n);
if (hit) {
- dx = editor->sample_to_pixel_unrounded (tmap.frame_at_quarter_note (note_time_qn + dx_qn))
+ dx = editor->sample_to_pixel_unrounded (tmap.sample_at_quarter_note (note_time_qn + dx_qn))
- n->item()->item_to_canvas (ArdourCanvas::Duple (((hit->x0() + hit->x1()) / 2.0) - hit->position().x, 0)).x;
}
}
@@ -2598,7 +2598,7 @@ MidiRegionView::move_selection(double dx_qn, double dy, double cumulative_dy)
if (midi_view()->note_mode() == Sustained) {
Note* sus = dynamic_cast<Note*> (*i);
double const len_dx = editor->sample_to_pixel_unrounded (
- tmap.frame_at_quarter_note (note_time_qn + dx_qn + n->note()->length().to_double()));
+ tmap.sample_at_quarter_note (note_time_qn + dx_qn + n->note()->length().to_double()));
sus->set_x1 (n->item()->canvas_to_item (ArdourCanvas::Duple (len_dx, 0)).x);
}
@@ -2678,12 +2678,12 @@ MidiRegionView::move_copies (double dx_qn, double dy, double cumulative_dy)
double const note_time_qn = session_relative_qn (n->note()->time().to_double());
double dx = 0.0;
if (midi_view()->note_mode() == Sustained) {
- dx = editor->sample_to_pixel_unrounded (tmap.frame_at_quarter_note (note_time_qn + dx_qn))
+ dx = editor->sample_to_pixel_unrounded (tmap.sample_at_quarter_note (note_time_qn + dx_qn))
- n->item()->item_to_canvas (ArdourCanvas::Duple (n->x0(), 0)).x;
} else {
Hit* hit = dynamic_cast<Hit*>(n);
if (hit) {
- dx = editor->sample_to_pixel_unrounded (tmap.frame_at_quarter_note (note_time_qn + dx_qn))
+ dx = editor->sample_to_pixel_unrounded (tmap.sample_at_quarter_note (note_time_qn + dx_qn))
- n->item()->item_to_canvas (ArdourCanvas::Duple (((hit->x0() + hit->x1()) / 2.0) - hit->position().x, 0)).x;
}
}
@@ -2693,7 +2693,7 @@ MidiRegionView::move_copies (double dx_qn, double dy, double cumulative_dy)
if (midi_view()->note_mode() == Sustained) {
Note* sus = dynamic_cast<Note*> (*i);
double const len_dx = editor->sample_to_pixel_unrounded (
- tmap.frame_at_quarter_note (note_time_qn + dx_qn + n->note()->length().to_double()));
+ tmap.sample_at_quarter_note (note_time_qn + dx_qn + n->note()->length().to_double()));
sus->set_x1 (n->item()->canvas_to_item (ArdourCanvas::Duple (len_dx, 0)).x);
}
@@ -2837,13 +2837,13 @@ MidiRegionView::note_dropped(NoteBase *, double d_qn, int8_t dnote, bool copy)
/** @param x Pixel relative to the region position.
* @param ensure_snap defaults to false. true = snap always, ignoring snap mode and magnetic snap.
* Used for inverting the snap logic with key modifiers and snap delta calculation.
- * @return Snapped frame relative to the region position.
+ * @return Snapped sample relative to the region position.
*/
-framepos_t
+samplepos_t
MidiRegionView::snap_pixel_to_sample(double x, bool ensure_snap)
{
PublicEditor& editor (trackview.editor());
- return snap_frame_to_frame (editor.pixel_to_sample (x), ensure_snap).frame;
+ return snap_sample_to_sample (editor.pixel_to_sample (x), ensure_snap).sample;
}
/** @param x Pixel relative to the region position.
@@ -2859,55 +2859,55 @@ MidiRegionView::snap_to_pixel(double x, bool ensure_snap)
double
MidiRegionView::get_position_pixels()
{
- framepos_t region_frame = get_position();
- return trackview.editor().sample_to_pixel(region_frame);
+ samplepos_t region_sample = get_position();
+ return trackview.editor().sample_to_pixel(region_sample);
}
double
MidiRegionView::get_end_position_pixels()
{
- framepos_t frame = get_position() + get_duration ();
- return trackview.editor().sample_to_pixel(frame);
+ samplepos_t sample = get_position() + get_duration ();
+ return trackview.editor().sample_to_pixel(sample);
}
-framepos_t
-MidiRegionView::source_beats_to_absolute_frames(Evoral::Beats beats) const
+samplepos_t
+MidiRegionView::source_beats_to_absolute_samples(Evoral::Beats beats) const
{
- /* the time converter will return the frame corresponding to `beats'
+ /* the time converter will return the sample corresponding to `beats'
relative to the start of the source. The start of the source
is an implied position given by region->position - region->start
*/
- const framepos_t source_start = _region->position() - _region->start();
+ const samplepos_t source_start = _region->position() - _region->start();
return source_start + _source_relative_time_converter.to (beats);
}
Evoral::Beats
-MidiRegionView::absolute_frames_to_source_beats(framepos_t frames) const
+MidiRegionView::absolute_samples_to_source_beats(samplepos_t samples) const
{
- /* the `frames' argument needs to be converted into a frame count
+ /* the `samples' argument needs to be converted into a sample count
relative to the start of the source before being passed in to the
converter.
*/
- const framepos_t source_start = _region->position() - _region->start();
- return _source_relative_time_converter.from (frames - source_start);
+ const samplepos_t source_start = _region->position() - _region->start();
+ return _source_relative_time_converter.from (samples - source_start);
}
-framepos_t
-MidiRegionView::region_beats_to_region_frames(Evoral::Beats beats) const
+samplepos_t
+MidiRegionView::region_beats_to_region_samples(Evoral::Beats beats) const
{
return _region_relative_time_converter.to(beats);
}
Evoral::Beats
-MidiRegionView::region_frames_to_region_beats(framepos_t frames) const
+MidiRegionView::region_samples_to_region_beats(samplepos_t samples) const
{
- return _region_relative_time_converter.from(frames);
+ return _region_relative_time_converter.from(samples);
}
double
-MidiRegionView::region_frames_to_region_beats_double (framepos_t frames) const
+MidiRegionView::region_samples_to_region_beats_double (samplepos_t samples) const
{
- return _region_relative_time_converter_double.from(frames);
+ return _region_relative_time_converter_double.from(samples);
}
void
@@ -2988,7 +2988,7 @@ MidiRegionView::update_resizing (NoteBase* primary, bool at_front, double delta_
}
if (current_x < 0) {
- // This works even with snapping because RegionView::snap_frame_to_frame()
+ // This works even with snapping because RegionView::snap_sample_to_sample()
// snaps forward if the snapped sample is before the beginning of the region
current_x = 0;
}
@@ -3014,15 +3014,15 @@ MidiRegionView::update_resizing (NoteBase* primary, bool at_front, double delta_
if (!cursor_set) {
/* Convert snap delta from pixels to beats. */
- framepos_t snap_delta_samps = trackview.editor().pixel_to_sample (snap_delta);
+ samplepos_t snap_delta_samps = trackview.editor().pixel_to_sample (snap_delta);
double snap_delta_beats = 0.0;
int sign = 1;
/* negative beat offsets aren't allowed */
if (snap_delta_samps > 0) {
- snap_delta_beats = region_frames_to_region_beats_double (snap_delta_samps);
+ snap_delta_beats = region_samples_to_region_beats_double (snap_delta_samps);
} else if (snap_delta_samps < 0) {
- snap_delta_beats = region_frames_to_region_beats_double ( - snap_delta_samps);
+ snap_delta_beats = region_samples_to_region_beats_double ( - snap_delta_samps);
sign = -1;
}
@@ -3035,7 +3035,7 @@ MidiRegionView::update_resizing (NoteBase* primary, bool at_front, double delta_
} else {
snapped_x = trackview.editor ().pixel_to_sample (current_x);
}
- const Evoral::Beats beats = Evoral::Beats (tmap.exact_beat_at_frame (snapped_x + midi_region()->position(), divisions)
+ const Evoral::Beats beats = Evoral::Beats (tmap.exact_beat_at_sample (snapped_x + midi_region()->position(), divisions)
- midi_region()->beat()) + midi_region()->start_beats();
Evoral::Beats len = Evoral::Beats();
@@ -3108,20 +3108,20 @@ MidiRegionView::commit_resizing (NoteBase* primary, bool at_front, double delta_
}
/* Convert snap delta from pixels to beats with sign. */
- framepos_t snap_delta_samps = trackview.editor().pixel_to_sample (snap_delta);
+ samplepos_t snap_delta_samps = trackview.editor().pixel_to_sample (snap_delta);
double snap_delta_beats = 0.0;
int sign = 1;
if (snap_delta_samps > 0) {
- snap_delta_beats = region_frames_to_region_beats_double (snap_delta_samps);
+ snap_delta_beats = region_samples_to_region_beats_double (snap_delta_samps);
} else if (snap_delta_samps < 0) {
- snap_delta_beats = region_frames_to_region_beats_double ( - snap_delta_samps);
+ snap_delta_beats = region_samples_to_region_beats_double ( - snap_delta_samps);
sign = -1;
}
uint32_t divisions = 0;
- /* Convert the new x position to a frame within the source */
- framepos_t current_fr;
+ /* Convert the new x position to a sample within the source */
+ samplepos_t current_fr;
if (with_snap) {
current_fr = snap_pixel_to_sample (current_x, ensure_snap);
divisions = trackview.editor().get_grid_music_divisions (0);
@@ -3130,7 +3130,7 @@ MidiRegionView::commit_resizing (NoteBase* primary, bool at_front, double delta_
}
/* and then to beats */
- const double e_qaf = tmap.exact_qn_at_frame (current_fr + midi_region()->position(), divisions);
+ const double e_qaf = tmap.exact_qn_at_sample (current_fr + midi_region()->position(), divisions);
const double quarter_note_start = _region->quarter_note() - midi_region()->start_beats();
const Evoral::Beats x_beats = Evoral::Beats (e_qaf - quarter_note_start);
@@ -3475,41 +3475,41 @@ MidiRegionView::nudge_notes (bool forward, bool fine)
into a vector and sort before using the first one.
*/
- const framepos_t ref_point = source_beats_to_absolute_frames ((*(_selection.begin()))->note()->time());
+ const samplepos_t ref_point = source_beats_to_absolute_samples ((*(_selection.begin()))->note()->time());
Evoral::Beats delta;
if (!fine) {
/* non-fine, move by 1 bar regardless of snap */
- delta = Evoral::Beats(trackview.session()->tempo_map().meter_at_frame (ref_point).divisions_per_bar());
+ delta = Evoral::Beats(trackview.session()->tempo_map().meter_at_sample (ref_point).divisions_per_bar());
} else if (trackview.editor().snap_mode() == Editing::SnapOff) {
/* grid is off - use nudge distance */
- framepos_t unused;
- const framecnt_t distance = trackview.editor().get_nudge_distance (ref_point, unused);
- delta = region_frames_to_region_beats (fabs ((double)distance));
+ samplepos_t unused;
+ const samplecnt_t distance = trackview.editor().get_nudge_distance (ref_point, unused);
+ delta = region_samples_to_region_beats (fabs ((double)distance));
} else {
/* use grid */
- MusicFrame next_pos (ref_point, 0);
+ MusicSample next_pos (ref_point, 0);
if (forward) {
- if (max_framepos - 1 < next_pos.frame) {
- next_pos.frame += 1;
+ if (max_samplepos - 1 < next_pos.sample) {
+ next_pos.sample += 1;
}
} else {
- if (next_pos.frame == 0) {
+ if (next_pos.sample == 0) {
return;
}
- next_pos.frame -= 1;
+ next_pos.sample -= 1;
}
trackview.editor().snap_to (next_pos, (forward ? RoundUpAlways : RoundDownAlways), false);
- const framecnt_t distance = ref_point - next_pos.frame;
- delta = region_frames_to_region_beats (fabs ((double)distance));
+ const samplecnt_t distance = ref_point - next_pos.sample;
+ delta = region_samples_to_region_beats (fabs ((double)distance));
}
if (!delta) {
@@ -3643,12 +3643,12 @@ MidiRegionView::get_fill_color() const
{
const std::string mod_name = (_dragging ? "dragging region" :
trackview.editor().internal_editing() ? "editable region" :
- "midi frame base");
+ "midi sample base");
if (_selected) {
return UIConfiguration::instance().color_mod ("selected region base", mod_name);
} else if ((!UIConfiguration::instance().get_show_name_highlight() || high_enough_for_name) &&
!UIConfiguration::instance().get_color_regions_using_track_color()) {
- return UIConfiguration::instance().color_mod ("midi frame base", mod_name);
+ return UIConfiguration::instance().color_mod ("midi sample base", mod_name);
}
return UIConfiguration::instance().color_mod (fill_color, mod_name);
}
@@ -3738,7 +3738,7 @@ MidiRegionView::selection_as_cut_buffer () const
/** This method handles undo */
bool
-MidiRegionView::paste (framepos_t pos, const ::Selection& selection, PasteContext& ctx, const int32_t sub_num)
+MidiRegionView::paste (samplepos_t pos, const ::Selection& selection, PasteContext& ctx, const int32_t sub_num)
{
bool commit = false;
// Paste notes, if available
@@ -3771,7 +3771,7 @@ MidiRegionView::paste (framepos_t pos, const ::Selection& selection, PasteContex
/** This method handles undo */
void
-MidiRegionView::paste_internal (framepos_t pos, unsigned paste_count, float times, const MidiCutBuffer& mcb)
+MidiRegionView::paste_internal (samplepos_t pos, unsigned paste_count, float times, const MidiCutBuffer& mcb)
{
if (mcb.empty()) {
return;
@@ -3785,7 +3785,7 @@ MidiRegionView::paste_internal (framepos_t pos, unsigned paste_count, float time
const Evoral::Beats duration = last_time - first_time;
const Evoral::Beats snap_duration = duration.snap_to(snap_beats);
const Evoral::Beats paste_offset = snap_duration * paste_count;
- const Evoral::Beats quarter_note = absolute_frames_to_source_beats(pos) + paste_offset;
+ const Evoral::Beats quarter_note = absolute_samples_to_source_beats(pos) + paste_offset;
Evoral::Beats end_point = Evoral::Beats();
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("Paste data spans from %1 to %2 (%3) ; paste pos beats = %4 (based on %5 - %6)\n",
@@ -3813,16 +3813,16 @@ MidiRegionView::paste_internal (framepos_t pos, unsigned paste_count, float time
/* if we pasted past the current end of the region, extend the region */
- framepos_t end_frame = source_beats_to_absolute_frames (end_point);
- framepos_t region_end = _region->position() + _region->length() - 1;
+ samplepos_t end_sample = source_beats_to_absolute_samples (end_point);
+ samplepos_t region_end = _region->position() + _region->length() - 1;
- if (end_frame > region_end) {
+ if (end_sample > region_end) {
- DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("Paste extended region from %1 to %2\n", region_end, end_frame));
+ DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("Paste extended region from %1 to %2\n", region_end, end_sample));
_region->clear_changes ();
/* we probably need to get the snap modifier somehow to make this correct for non-musical use */
- _region->set_length (end_frame - _region->position(), trackview.editor().get_grid_music_divisions (0));
+ _region->set_length (end_sample - _region->position(), trackview.editor().get_grid_music_divisions (0));
trackview.session()->add_command (new StatefulDiffCommand (_region));
}
@@ -3959,11 +3959,11 @@ MidiRegionView::update_ghost_note (double x, double y, uint32_t state)
PublicEditor& editor = trackview.editor ();
- framepos_t const unsnapped_frame = editor.pixel_to_sample (x);
+ samplepos_t const unsnapped_sample = editor.pixel_to_sample (x);
const int32_t divisions = editor.get_grid_music_divisions (state);
const bool shift_snap = midi_view()->note_mode() != Percussive;
- const Evoral::Beats snapped_beats = snap_frame_to_grid_underneath (unsnapped_frame, divisions, shift_snap);
+ const Evoral::Beats snapped_beats = snap_sample_to_grid_underneath (unsnapped_sample, divisions, shift_snap);
/* prevent Percussive mode from displaying a ghost hit at region end */
if (!shift_snap && snapped_beats >= midi_region()->start_beats() + midi_region()->length_beats()) {
@@ -3982,7 +3982,7 @@ MidiRegionView::update_ghost_note (double x, double y, uint32_t state)
}
/* calculate time in beats relative to start of source */
- const Evoral::Beats length = get_grid_beats(unsnapped_frame + _region->position());
+ const Evoral::Beats length = get_grid_beats(unsnapped_sample + _region->position());
_ghost_note->note()->set_time (snapped_beats);
_ghost_note->note()->set_length (length);
@@ -4128,7 +4128,7 @@ MidiRegionView::move_step_edit_cursor (Evoral::Beats pos)
_step_edit_cursor_position = pos;
if (_step_edit_cursor) {
- double pixel = trackview.editor().sample_to_pixel (region_beats_to_region_frames (pos));
+ double pixel = trackview.editor().sample_to_pixel (region_beats_to_region_samples (pos));
_step_edit_cursor->set_x0 (pixel);
set_step_edit_cursor_width (_step_edit_cursor_width);
}
@@ -4149,8 +4149,8 @@ MidiRegionView::set_step_edit_cursor_width (Evoral::Beats beats)
if (_step_edit_cursor) {
_step_edit_cursor->set_x1 (_step_edit_cursor->x0() + trackview.editor().sample_to_pixel (
- region_beats_to_region_frames (_step_edit_cursor_position + beats)
- - region_beats_to_region_frames (_step_edit_cursor_position)));
+ region_beats_to_region_samples (_step_edit_cursor_position + beats)
+ - region_beats_to_region_samples (_step_edit_cursor_position)));
}
}
@@ -4175,7 +4175,7 @@ MidiRegionView::data_recorded (boost::weak_ptr<MidiSource> w)
boost::shared_ptr<MidiBuffer> buf = mtv->midi_track()->get_gui_feed_buffer ();
- framepos_t back = max_framepos;
+ samplepos_t back = max_samplepos;
for (MidiBuffer::iterator i = buf->begin(); i != buf->end(); ++i) {
const Evoral::Event<MidiBuffer::TimeType>& ev = *i;
@@ -4188,7 +4188,7 @@ MidiRegionView::data_recorded (boost::weak_ptr<MidiSource> w)
}
}
- /* convert from session frames to source beats */
+ /* convert from session samples to source beats */
Evoral::Beats const time_beats = _source_relative_time_converter.from(
ev.time() - src->timeline_position() + _region->start());
@@ -4348,19 +4348,19 @@ MidiRegionView::get_velocity_for_add (MidiModel::TimeType time) const
return (*n)->velocity() + (frac * ((*m)->velocity() - (*n)->velocity()));
}
-/** @param p A session framepos.
+/** @param p A session samplepos.
* @param divisions beat division to snap given by Editor::get_grid_music_divisions() where
* bar is -1, 0 is audio samples and a positive integer is beat subdivisions.
* @return beat duration of p snapped to the grid subdivision underneath it.
*/
Evoral::Beats
-MidiRegionView::snap_frame_to_grid_underneath (framepos_t p, int32_t divisions, bool shift_snap) const
+MidiRegionView::snap_sample_to_grid_underneath (samplepos_t p, int32_t divisions, bool shift_snap) const
{
TempoMap& map (trackview.session()->tempo_map());
- double eqaf = map.exact_qn_at_frame (p + _region->position(), divisions);
+ double eqaf = map.exact_qn_at_sample (p + _region->position(), divisions);
if (divisions != 0 && shift_snap) {
- const double qaf = map.quarter_note_at_frame (p + _region->position());
+ const double qaf = map.quarter_note_at_sample (p + _region->position());
/* Hack so that we always snap to the note that we are over, instead of snapping
to the next one if we're more than halfway through the one we're over.
*/
@@ -4391,7 +4391,7 @@ MidiRegionView::get_selected_channels () const
Evoral::Beats
-MidiRegionView::get_grid_beats(framepos_t pos) const
+MidiRegionView::get_grid_beats(samplepos_t pos) const
{
PublicEditor& editor = trackview.editor();
bool success = false;
diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h
index 20a1ee5b25..d08e0177b7 100644
--- a/gtk2_ardour/midi_region_view.h
+++ b/gtk2_ardour/midi_region_view.h
@@ -122,8 +122,8 @@ public:
void resolve_note(uint8_t note_num, Evoral::Beats end_time);
void cut_copy_clear (Editing::CutCopyOp);
- bool paste (framepos_t pos, const ::Selection& selection, PasteContext& ctx, const int32_t sub_num);
- void paste_internal (framepos_t pos, unsigned paste_count, float times, const MidiCutBuffer&);
+ bool paste (samplepos_t pos, const ::Selection& selection, PasteContext& ctx, const int32_t sub_num);
+ void paste_internal (samplepos_t pos, unsigned paste_count, float times, const MidiCutBuffer&);
void add_canvas_patch_change (ARDOUR::MidiModel::PatchChangePtr patch, const std::string& displaytext, bool);
void remove_canvas_patch_change (PatchChange* pc);
@@ -147,7 +147,7 @@ public:
void change_patch_change (PatchChange& old_patch, const MIDI::Name::PatchPrimaryKey& new_patch);
void change_patch_change (ARDOUR::MidiModel::PatchChangePtr, Evoral::PatchChange<Evoral::Beats> const &);
- void add_patch_change (framecnt_t, Evoral::PatchChange<Evoral::Beats> const &);
+ void add_patch_change (samplecnt_t, Evoral::PatchChange<Evoral::Beats> const &);
void move_patch_change (PatchChange &, Evoral::Beats);
void delete_patch_change (PatchChange *);
void edit_patch_change (PatchChange *);
@@ -197,7 +197,7 @@ public:
void delete_note (boost::shared_ptr<NoteType>);
size_t selection_size() { return _selection.size(); }
void select_all_notes ();
- void select_range(framepos_t start, framepos_t end);
+ void select_range(samplepos_t start, samplepos_t end);
void invert_selection ();
Evoral::Beats earliest_in_selection ();
@@ -259,42 +259,42 @@ public:
*/
double snap_to_pixel(double x, bool ensure_snap = false);
- /** Snap a region relative pixel coordinate to frame units.
+ /** Snap a region relative pixel coordinate to sample units.
* @param x a pixel coordinate relative to region start
* @param ensure_snap ignore SnapOff and magnetic snap.
* Required for inverting snap logic with modifier keys and snap delta calculation.
- * @return the snapped framepos_t coordinate relative to region start
+ * @return the snapped samplepos_t coordinate relative to region start
*/
- framepos_t snap_pixel_to_sample(double x, bool ensure_snap = false);
+ samplepos_t snap_pixel_to_sample(double x, bool ensure_snap = false);
- /** Convert a timestamp in beats into frames (both relative to region position) */
- framepos_t region_beats_to_region_frames(Evoral::Beats beats) const;
- /** Convert a timestamp in beats into absolute frames */
- framepos_t region_beats_to_absolute_frames(Evoral::Beats beats) const {
- return _region->position() + region_beats_to_region_frames (beats);
+ /** Convert a timestamp in beats into samples (both relative to region position) */
+ samplepos_t region_beats_to_region_samples(Evoral::Beats beats) const;
+ /** Convert a timestamp in beats into absolute samples */
+ samplepos_t region_beats_to_absolute_samples(Evoral::Beats beats) const {
+ return _region->position() + region_beats_to_region_samples (beats);
}
- /** Convert a timestamp in frames to beats (both relative to region position) */
- Evoral::Beats region_frames_to_region_beats(framepos_t) const;
- double region_frames_to_region_beats_double(framepos_t) const;
-
- /** Convert a timestamp in beats measured from source start into absolute frames */
- framepos_t source_beats_to_absolute_frames(Evoral::Beats beats) const;
- /** Convert a timestamp in beats measured from source start into region-relative frames */
- framepos_t source_beats_to_region_frames(Evoral::Beats beats) const {
- return source_beats_to_absolute_frames (beats) - _region->position();
+ /** Convert a timestamp in samples to beats (both relative to region position) */
+ Evoral::Beats region_samples_to_region_beats(samplepos_t) const;
+ double region_samples_to_region_beats_double(samplepos_t) const;
+
+ /** Convert a timestamp in beats measured from source start into absolute samples */
+ samplepos_t source_beats_to_absolute_samples(Evoral::Beats beats) const;
+ /** Convert a timestamp in beats measured from source start into region-relative samples */
+ samplepos_t source_beats_to_region_samples(Evoral::Beats beats) const {
+ return source_beats_to_absolute_samples (beats) - _region->position();
}
- /** Convert a timestamp in absolute frames to beats measured from source start*/
- Evoral::Beats absolute_frames_to_source_beats(framepos_t) const;
+ /** Convert a timestamp in absolute samples to beats measured from source start*/
+ Evoral::Beats absolute_samples_to_source_beats(samplepos_t) const;
- ARDOUR::BeatsFramesConverter const & region_relative_time_converter () const {
+ ARDOUR::BeatsSamplesConverter const & region_relative_time_converter () const {
return _region_relative_time_converter;
}
- ARDOUR::BeatsFramesConverter const & source_relative_time_converter () const {
+ ARDOUR::BeatsSamplesConverter const & source_relative_time_converter () const {
return _source_relative_time_converter;
}
- ARDOUR::DoubleBeatsFramesConverter const & region_relative_time_converter_double () const {
+ ARDOUR::DoubleBeatsSamplesConverter const & region_relative_time_converter_double () const {
return _region_relative_time_converter_double;
}
@@ -327,13 +327,13 @@ public:
void trim_front_ending ();
/** Add a note to the model, and the view, at a canvas (click) coordinate.
- * \param t time in frames relative to the position of the region
+ * \param t time in samples relative to the position of the region
* \param y vertical position in pixels
* \param length duration of the note in beats
* \param state the keyboard modifier mask for the canvas event (click).
* \param shift_snap true alters snap behavior to round down always (false if the gui has already done that).
*/
- void create_note_at (framepos_t t, double y, Evoral::Beats length, uint32_t state, bool shift_snap);
+ void create_note_at (samplepos_t t, double y, Evoral::Beats length, uint32_t state, bool shift_snap);
/** An external request to clear the note selection, remove MRV from editor
* selection.
@@ -399,7 +399,7 @@ private:
void trim_note(NoteBase* ev, ARDOUR::MidiModel::TimeType start_delta,
ARDOUR::MidiModel::TimeType end_delta);
- void update_drag_selection (framepos_t start, framepos_t end, double y0, double y1, bool extend);
+ void update_drag_selection (samplepos_t start, samplepos_t end, double y0, double y1, bool extend);
void update_vertical_drag_selection (double last_y, double y, bool extend);
void add_to_selection (NoteBase*);
@@ -420,9 +420,9 @@ private:
typedef boost::unordered_map<ARDOUR::MidiModel::constSysExPtr, boost::shared_ptr<SysEx> > SysExes;
typedef std::vector<NoteBase*> CopyDragEvents;
- ARDOUR::BeatsFramesConverter _region_relative_time_converter;
- ARDOUR::BeatsFramesConverter _source_relative_time_converter;
- ARDOUR::DoubleBeatsFramesConverter _region_relative_time_converter_double;
+ ARDOUR::BeatsSamplesConverter _region_relative_time_converter;
+ ARDOUR::BeatsSamplesConverter _source_relative_time_converter;
+ ARDOUR::DoubleBeatsSamplesConverter _region_relative_time_converter_double;
boost::shared_ptr<ARDOUR::MidiModel> _model;
Events _events;
@@ -503,7 +503,7 @@ private:
void data_recorded (boost::weak_ptr<ARDOUR::MidiSource>);
/** Get grid type as beats, or default to 1 if not snapped to beats. */
- Evoral::Beats get_grid_beats(framepos_t pos) const;
+ Evoral::Beats get_grid_beats(samplepos_t pos) const;
void remove_ghost_note ();
void mouse_mode_changed ();
@@ -511,7 +511,7 @@ private:
void leave_internal ();
void hide_verbose_cursor ();
- framecnt_t _last_display_zoom;
+ samplecnt_t _last_display_zoom;
double _last_event_x;
double _last_event_y;
@@ -524,7 +524,7 @@ private:
Gtkmm2ext::Color _patch_change_outline;
Gtkmm2ext::Color _patch_change_fill;
- Evoral::Beats snap_frame_to_grid_underneath (framepos_t p, int32_t divisions, bool shift_snap) const;
+ Evoral::Beats snap_sample_to_grid_underneath (samplepos_t p, int32_t divisions, bool shift_snap) const;
PBD::ScopedConnection _mouse_mode_connection;
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc
index d3a316194d..5e2f055582 100644
--- a/gtk2_ardour/midi_streamview.cc
+++ b/gtk2_ardour/midi_streamview.cc
@@ -467,10 +467,10 @@ MidiStreamView::setup_rec_box ()
// handle multi
- framepos_t start = 0;
+ samplepos_t start = 0;
if (rec_regions.size() > 0) {
start = rec_regions.back().first->start()
- + _trackview.track()->get_captured_frames(rec_regions.size()-1);
+ + _trackview.track()->get_captured_samples(rec_regions.size()-1);
}
if (!rec_regions.empty()) {
@@ -486,10 +486,10 @@ MidiStreamView::setup_rec_box ()
is so that the RegionView gets created with a non-zero width, as apparently
creating a RegionView with a zero width causes it never to be displayed
(there is a warning in TimeAxisViewItem::init about this). However, we
- must also set length_beats to something non-zero, otherwise the frame length
+ must also set length_beats to something non-zero, otherwise the sample length
of 1 causes length_beats to be set to some small quantity << 1. Then
when the position is set up below, this length_beats is used to recompute
- length using BeatsFramesConverter::to, which is slightly innacurate for small
+ length using BeatsSamplesConverter::to, which is slightly innacurate for small
beats values because it converts floating point beats to bars, beats and
integer ticks. The upshot of which being that length gets set back to 0,
meaning no region view is ever seen, meaning no MIDI notes during record (#3820).
@@ -502,8 +502,8 @@ MidiStreamView::setup_rec_box ()
(RegionFactory::create (sources, plist, false)));
if (region) {
region->set_start (_trackview.track()->current_capture_start()
- - _trackview.track()->get_capture_start_frame (0));
- region->set_position (_trackview.session()->transport_frame());
+ - _trackview.track()->get_capture_start_sample (0));
+ region->set_position (_trackview.session()->transport_sample());
RegionView* rv = add_region_view_internal (region, false, true);
MidiRegionView* mrv = dynamic_cast<MidiRegionView*> (rv);
@@ -675,7 +675,7 @@ struct RegionPositionSorter {
};
bool
-MidiStreamView::paste (ARDOUR::framepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
+MidiStreamView::paste (ARDOUR::samplepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
{
/* Paste into the first region which starts on or before pos. Only called when
using an internal editing tool. */
diff --git a/gtk2_ardour/midi_streamview.h b/gtk2_ardour/midi_streamview.h
index f4328ab093..92d4095844 100644
--- a/gtk2_ardour/midi_streamview.h
+++ b/gtk2_ardour/midi_streamview.h
@@ -103,7 +103,7 @@ public:
RegionView* create_region_view (boost::shared_ptr<ARDOUR::Region>, bool, bool);
- bool paste (ARDOUR::framepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num);
+ bool paste (ARDOUR::samplepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num);
void apply_note_range(uint8_t lowest, uint8_t highest, bool to_region_views);
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 91cf2b9544..6dfc770a03 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -1330,10 +1330,10 @@ MidiTimeAxisView::update_control_names ()
if (selected()) {
controls_ebox.set_name (controls_base_selected_name);
- time_axis_frame.set_name (controls_base_selected_name);
+ time_axis_sample.set_name (controls_base_selected_name);
} else {
controls_ebox.set_name (controls_base_unselected_name);
- time_axis_frame.set_name (controls_base_unselected_name);
+ time_axis_sample.set_name (controls_base_unselected_name);
}
}
@@ -1535,10 +1535,10 @@ MidiTimeAxisView::automation_child_menu_item (Evoral::Parameter param)
}
boost::shared_ptr<MidiRegion>
-MidiTimeAxisView::add_region (framepos_t f, framecnt_t length, bool commit)
+MidiTimeAxisView::add_region (samplepos_t f, samplecnt_t length, bool commit)
{
Editor* real_editor = dynamic_cast<Editor*> (&_editor);
- MusicFrame pos (f, 0);
+ MusicSample pos (f, 0);
if (commit) {
real_editor->begin_reversible_command (Operations::create_region);
@@ -1556,8 +1556,8 @@ MidiTimeAxisView::add_region (framepos_t f, framecnt_t length, bool commit)
boost::shared_ptr<Region> region = (RegionFactory::create (src, plist));
/* sets beat position */
- region->set_position (pos.frame, pos.division);
- playlist()->add_region (region, pos.frame, 1.0, false, pos.division);
+ region->set_position (pos.sample, pos.division);
+ playlist()->add_region (region, pos.sample, 1.0, false, pos.division);
_session->add_command (new StatefulDiffCommand (playlist()));
if (commit) {
@@ -1632,7 +1632,7 @@ MidiTimeAxisView::contents_height_changed ()
}
bool
-MidiTimeAxisView::paste (framepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
+MidiTimeAxisView::paste (samplepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
{
if (!_editor.internal_editing()) {
// Non-internal paste, paste regions like any other route
diff --git a/gtk2_ardour/midi_time_axis.h b/gtk2_ardour/midi_time_axis.h
index cbfc816c27..8af67421be 100644
--- a/gtk2_ardour/midi_time_axis.h
+++ b/gtk2_ardour/midi_time_axis.h
@@ -82,13 +82,13 @@ public:
void set_height (uint32_t, TrackHeightMode m = OnlySelf);
- boost::shared_ptr<ARDOUR::MidiRegion> add_region (ARDOUR::framepos_t, ARDOUR::framecnt_t, bool);
+ boost::shared_ptr<ARDOUR::MidiRegion> add_region (ARDOUR::samplepos_t, ARDOUR::samplecnt_t, bool);
void show_all_automation (bool apply_to_selection = false);
void show_existing_automation (bool apply_to_selection = false);
void create_automation_child (const Evoral::Parameter& param, bool show);
- bool paste (ARDOUR::framepos_t, const Selection&, PasteContext& ctx, const int32_t sub_num);
+ bool paste (ARDOUR::samplepos_t, const Selection&, PasteContext& ctx, const int32_t sub_num);
ARDOUR::NoteMode note_mode() const { return _note_mode; }
ARDOUR::ColorMode color_mode() const { return _color_mode; }
diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc
index 2f97e5b6d5..df99afbad8 100644
--- a/gtk2_ardour/midi_tracer.cc
+++ b/gtk2_ardour/midi_tracer.cc
@@ -342,9 +342,9 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len)
} else if (len == 10 && msg[0] == 0xf0 && msg[1] == 0x7f && msg[9] == 0xf7) {
- /* MTC full frame */
+ /* MTC full sample */
s += snprintf (
- &buf[s], bufsize, " MTC full frame to %02d:%02d:%02d:%02d\n", msg[5] & 0x1f, msg[6], msg[7], msg[8]
+ &buf[s], bufsize, " MTC full sample to %02d:%02d:%02d:%02d\n", msg[5] & 0x1f, msg[6], msg[7], msg[8]
);
} else if (len == 3 && msg[0] == MIDI::position) {
diff --git a/gtk2_ardour/mini_timeline.cc b/gtk2_ardour/mini_timeline.cc
index 443da0a6f6..43cf76491a 100644
--- a/gtk2_ardour/mini_timeline.cc
+++ b/gtk2_ardour/mini_timeline.cc
@@ -41,7 +41,7 @@
using namespace ARDOUR;
MiniTimeline::MiniTimeline ()
- : _last_update_frame (-1)
+ : _last_update_sample (-1)
, _clock_mode (AudioClock::Timecode)
, _time_width (0)
, _time_height (0)
@@ -180,7 +180,7 @@ MiniTimeline::on_size_allocate (Gtk::Allocation& alloc)
}
void
-MiniTimeline::set_span (framecnt_t ts)
+MiniTimeline::set_span (samplecnt_t ts)
{
assert (_session);
if (_session->config.get_minitimeline_span () == ts) {
@@ -198,11 +198,11 @@ MiniTimeline::super_rapid_update ()
if (!_session || !_session->engine().running() || !is_mapped ()) {
return;
}
- framepos_t const frame = PublicEditor::instance().playhead_cursor_sample ();
+ samplepos_t const sample = PublicEditor::instance().playhead_cursor_sample ();
AudioClock::Mode m = ARDOUR_UI::instance()->primary_clock->mode();
bool change = false;
- if (fabs ((_last_update_frame - frame) * _px_per_sample) >= 1.0) {
+ if (fabs ((_last_update_sample - sample) * _px_per_sample) >= 1.0) {
change = true;
}
@@ -218,7 +218,7 @@ MiniTimeline::super_rapid_update ()
}
if (change) {
- _last_update_frame = frame;
+ _last_update_sample = sample;
update_minitimeline ();
}
}
@@ -242,7 +242,7 @@ MiniTimeline::calculate_time_width ()
case AudioClock::MinSec:
_layout->set_text ("88:88:88,88");
break;
- case AudioClock::Frames:
+ case AudioClock::Samples:
_layout->set_text ("8888888888");
break;
}
@@ -258,15 +258,15 @@ MiniTimeline::calculate_time_spacing ()
return;
}
- const framecnt_t time_span = _session->config.get_minitimeline_span () / 2;
- _time_span_samples = time_span * _session->nominal_frame_rate ();
- _time_granularity = _session->nominal_frame_rate () * ceil (2. * time_span / _n_labels);
+ const samplecnt_t time_span = _session->config.get_minitimeline_span () / 2;
+ _time_span_samples = time_span * _session->nominal_sample_rate ();
+ _time_granularity = _session->nominal_sample_rate () * ceil (2. * time_span / _n_labels);
_px_per_sample = get_width () / (2. * _time_span_samples);
//_px_per_sample = 1.0 / round (1.0 / _px_per_sample);
}
void
-MiniTimeline::format_time (framepos_t when)
+MiniTimeline::format_time (samplepos_t when)
{
switch (_clock_mode) {
case AudioClock::Timecode:
@@ -280,7 +280,7 @@ MiniTimeline::format_time (framepos_t when)
case AudioClock::BBT:
{
char buf[64];
- Timecode::BBT_Time BBT = _session->tempo_map().bbt_at_frame (when);
+ Timecode::BBT_Time BBT = _session->tempo_map().bbt_at_sample (when);
snprintf (buf, sizeof (buf), "%03" PRIu32 BBT_BAR_CHAR "%02" PRIu32 BBT_BAR_CHAR "%04" PRIu32,
BBT.bars, BBT.beats, BBT.ticks);
_layout->set_text (buf);
@@ -289,11 +289,11 @@ MiniTimeline::format_time (framepos_t when)
case AudioClock::MinSec:
{
char buf[32];
- AudioClock::print_minsec (when, buf, sizeof (buf), _session->frame_rate());
+ AudioClock::print_minsec (when, buf, sizeof (buf), _session->sample_rate());
_layout->set_text (std::string(buf).substr(1));
}
break;
- case AudioClock::Frames:
+ case AudioClock::Samples:
{
char buf[32];
snprintf (buf, sizeof (buf), "%" PRId64, when);
@@ -475,10 +475,10 @@ MiniTimeline::draw_edge (cairo_t* cr, int x0, int x1, bool left, const std::stri
struct LocationMarker {
- LocationMarker (const std::string& l, framepos_t w)
+ LocationMarker (const std::string& l, samplepos_t w)
: label (l), when (w) {}
std::string label;
- framepos_t when;
+ samplepos_t when;
};
struct LocationMarkerSort {
@@ -514,12 +514,12 @@ MiniTimeline::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
}
/* time */
- const framepos_t p = _last_update_frame;
- const framepos_t lower = (std::max ((framepos_t)0, (p - _time_span_samples)) / _time_granularity) * _time_granularity;
+ const samplepos_t p = _last_update_sample;
+ const samplepos_t lower = (std::max ((samplepos_t)0, (p - _time_span_samples)) / _time_granularity) * _time_granularity;
int dot_left = width * .5 + (lower - p) * _px_per_sample;
for (int i = 0; i < 2 + _n_labels; ++i) {
- framepos_t when = lower + i * _time_granularity;
+ samplepos_t when = lower + i * _time_granularity;
double xpos = width * .5 + (when - p) * _px_per_sample;
// TODO round to nearest display TC in +/- 1px
@@ -542,8 +542,8 @@ MiniTimeline::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
draw_dots (cr, dot_left, width, height - PADDING - _time_height * .5, text);
/* locations */
- framepos_t lmin = std::max ((framepos_t)0, (p - _time_span_samples));
- framepos_t lmax = p + _time_span_samples;
+ samplepos_t lmin = std::max ((samplepos_t)0, (p - _time_span_samples));
+ samplepos_t lmax = p + _time_span_samples;
int tw, th;
_layout->set_text (X_("Marker@"));
@@ -585,7 +585,7 @@ MiniTimeline::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
int id = 0;
for (std::vector<LocationMarker>::const_iterator l = lm.begin(); l != lm.end(); ++id) {
- framepos_t when = (*l).when;
+ samplepos_t when = (*l).when;
if (when < lmin) {
outside_left = l;
if (++l != lm.end()) {
@@ -660,13 +660,13 @@ MiniTimeline::build_minitl_context_menu ()
assert (_session);
- const framecnt_t time_span = _session->config.get_minitimeline_span ();
+ const samplecnt_t time_span = _session->config.get_minitimeline_span ();
_minitl_context_menu = new Gtk::Menu();
MenuList& items = _minitl_context_menu->items();
// ideally this would have a heading (or rather be a sub-menu to "Visible Time")
- std::map<framecnt_t, std::string> spans;
+ std::map<samplecnt_t, std::string> spans;
spans[30] = _("30 sec");
spans[60] = _("1 min");
spans[120] = _("2 mins");
@@ -675,7 +675,7 @@ MiniTimeline::build_minitl_context_menu ()
spans[1200] = _("20 mins");
RadioMenuItem::Group span_group;
- for (std::map<framecnt_t, std::string>::const_iterator i = spans.begin (); i != spans.end (); ++i) {
+ for (std::map<samplecnt_t, std::string>::const_iterator i = spans.begin (); i != spans.end (); ++i) {
items.push_back (RadioMenuElem (span_group, i->second, sigc::bind (sigc::mem_fun (*this, &MiniTimeline::set_span), i->first)));
if (time_span == i->first) {
static_cast<RadioMenuItem*>(&items.back())->set_active ();
@@ -717,8 +717,8 @@ MiniTimeline::on_button_release_event (GdkEventButton *ev)
}
if (ev->button == 1) {
- framepos_t when = _last_update_frame + (ev->x - get_width() * .5) / _px_per_sample;
- _session->request_locate (std::max ((framepos_t)0, when), _session->transport_rolling ());
+ samplepos_t when = _last_update_sample + (ev->x - get_width() * .5) / _px_per_sample;
+ _session->request_locate (std::max ((samplepos_t)0, when), _session->transport_rolling ());
}
return true;
@@ -774,8 +774,8 @@ MiniTimeline::on_scroll_event (GdkEventScroll *ev)
{
if (!_session) { return true; }
if (_session->actively_recording ()) { return true; }
- const framecnt_t time_span = _session->config.get_minitimeline_span ();
- framepos_t when = _session->audible_frame ();
+ const samplecnt_t time_span = _session->config.get_minitimeline_span ();
+ samplepos_t when = _session->audible_sample ();
double scale = time_span / 60.0;
@@ -790,16 +790,16 @@ MiniTimeline::on_scroll_event (GdkEventScroll *ev)
switch (ev->direction) {
case GDK_SCROLL_UP:
case GDK_SCROLL_RIGHT:
- when += scale * _session->nominal_frame_rate ();
+ when += scale * _session->nominal_sample_rate ();
break;
case GDK_SCROLL_DOWN:
case GDK_SCROLL_LEFT:
- when -= scale * _session->nominal_frame_rate ();
+ when -= scale * _session->nominal_sample_rate ();
break;
default:
return true;
break;
}
- _session->request_locate (std::max ((framepos_t)0, when), _session->transport_rolling ());
+ _session->request_locate (std::max ((samplepos_t)0, when), _session->transport_rolling ());
return true;
}
diff --git a/gtk2_ardour/mini_timeline.h b/gtk2_ardour/mini_timeline.h
index 1dd1a527b7..21b316df39 100644
--- a/gtk2_ardour/mini_timeline.h
+++ b/gtk2_ardour/mini_timeline.h
@@ -69,7 +69,7 @@ private:
int draw_edge (cairo_t*, int x0, int x1, bool left, const std::string&, bool& prelight);
void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
- void format_time (framepos_t when);
+ void format_time (samplepos_t when);
bool on_button_press_event (GdkEventButton*);
bool on_button_release_event (GdkEventButton*);
@@ -78,22 +78,22 @@ private:
bool on_leave_notify_event (GdkEventCrossing*);
void build_minitl_context_menu ();
- void set_span (ARDOUR::framecnt_t);
+ void set_span (ARDOUR::samplecnt_t);
Glib::RefPtr<Pango::Layout> _layout;
sigc::connection super_rapid_connection;
PBD::ScopedConnectionList marker_connection;
PBD::ScopedConnectionList session_connection;
- framepos_t _last_update_frame;
+ samplepos_t _last_update_sample;
AudioClock::Mode _clock_mode;
int _time_width;
int _time_height;
int _n_labels;
double _px_per_sample;
- ARDOUR::framecnt_t _time_granularity;
- ARDOUR::framecnt_t _time_span_samples;
+ ARDOUR::samplecnt_t _time_granularity;
+ ARDOUR::samplecnt_t _time_span_samples;
int _marker_height;
int _pointer_x;
@@ -102,11 +102,11 @@ private:
Gtk::Menu* _minitl_context_menu;
struct JumpRange {
- JumpRange (int l, int r, framepos_t t, bool p = false)
+ JumpRange (int l, int r, samplepos_t t, bool p = false)
: left (l), right (r), to (t), prelight (p) {}
int left;
int right;
- framepos_t to;
+ samplepos_t to;
bool prelight;
};
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index c3e9b6e1f2..cdd9cac466 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -335,11 +335,11 @@ MixerStrip::init ()
global_vpacker.pack_end (spacer, false, false);
#endif
- global_frame.add (global_vpacker);
- global_frame.set_shadow_type (Gtk::SHADOW_IN);
- global_frame.set_name ("BaseFrame");
+ global_sample.add (global_vpacker);
+ global_sample.set_shadow_type (Gtk::SHADOW_IN);
+ global_sample.set_name ("BaseFrame");
- add (global_frame);
+ add (global_sample);
/* force setting of visible selected status */
@@ -504,7 +504,7 @@ MixerStrip::trim_start_touch ()
{
assert (_route && _session);
if (route()->trim() && route()->trim()->active() && route()->n_inputs().n_audio() > 0) {
- route()->trim()->gain_control ()->start_touch (_session->transport_frame());
+ route()->trim()->gain_control ()->start_touch (_session->transport_sample());
}
}
@@ -513,7 +513,7 @@ MixerStrip::trim_end_touch ()
{
assert (_route && _session);
if (route()->trim() && route()->trim()->active() && route()->n_inputs().n_audio() > 0) {
- route()->trim()->gain_control ()->stop_touch (_session->transport_frame());
+ route()->trim()->gain_control ()->stop_touch (_session->transport_sample());
}
}
@@ -734,7 +734,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
width_button.show();
width_hide_box.show();
- global_frame.show();
+ global_sample.show();
global_vpacker.show();
mute_solo_table.show();
bottom_button_table.show();
@@ -1835,14 +1835,14 @@ MixerStrip::set_selected (bool yn)
AxisView::set_selected (yn);
if (selected()) {
- global_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
- global_frame.set_name ("MixerStripSelectedFrame");
+ global_sample.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
+ global_sample.set_name ("MixerStripSelectedFrame");
} else {
- global_frame.set_shadow_type (Gtk::SHADOW_IN);
- global_frame.set_name ("MixerStripFrame");
+ global_sample.set_shadow_type (Gtk::SHADOW_IN);
+ global_sample.set_name ("MixerStripFrame");
}
- global_frame.queue_draw ();
+ global_sample.queue_draw ();
// if (!yn)
// processor_box.deselect_all_processors();
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index e4cecf3586..7b0ab8d2e6 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -168,7 +168,7 @@ private:
void hide_clicked();
bool width_button_pressed (GdkEventButton *);
- Gtk::Frame global_frame;
+ Gtk::Frame global_sample;
Gtk::VBox global_vpacker;
ProcessorBox processor_box;
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index ee2f22031f..5232ab32cf 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -213,9 +213,9 @@ Mixer_UI::Mixer_UI ()
group_display_vbox.pack_start (group_display_scroller, true, true);
group_display_vbox.pack_start (*route_group_display_button_box, false, false);
- group_display_frame.set_name ("BaseFrame");
- group_display_frame.set_shadow_type (Gtk::SHADOW_IN);
- group_display_frame.add (group_display_vbox);
+ group_display_sample.set_name ("BaseFrame");
+ group_display_sample.set_shadow_type (Gtk::SHADOW_IN);
+ group_display_sample.add (group_display_vbox);
list<TargetEntry> target_list;
@@ -244,15 +244,15 @@ Mixer_UI::Mixer_UI ()
favorite_plugins_scroller.add (favorite_plugins_display);
favorite_plugins_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
- favorite_plugins_frame.set_name ("BaseFrame");
- favorite_plugins_frame.set_shadow_type (Gtk::SHADOW_IN);
- favorite_plugins_frame.add (favorite_plugins_scroller);
+ favorite_plugins_sample.set_name ("BaseFrame");
+ favorite_plugins_sample.set_shadow_type (Gtk::SHADOW_IN);
+ favorite_plugins_sample.add (favorite_plugins_scroller);
- rhs_pane1.add (favorite_plugins_frame);
- rhs_pane1.add (track_display_frame);
+ rhs_pane1.add (favorite_plugins_sample);
+ rhs_pane1.add (track_display_sample);
rhs_pane2.add (rhs_pane1);
- rhs_pane2.add (group_display_frame);
+ rhs_pane2.add (group_display_sample);
list_vpacker.pack_start (rhs_pane2, true, true);
@@ -331,8 +331,8 @@ Mixer_UI::Mixer_UI ()
group_display_scroller.show();
favorite_plugins_scroller.show();
group_display_vbox.show();
- group_display_frame.show();
- favorite_plugins_frame.show();
+ group_display_sample.show();
+ favorite_plugins_sample.show();
rhs_pane1.show();
rhs_pane2.show();
strip_packer.show();
@@ -2358,12 +2358,12 @@ Mixer_UI::setup_track_display ()
v->pack_start (*b, false, false);
- track_display_frame.set_name("BaseFrame");
- track_display_frame.set_shadow_type (Gtk::SHADOW_IN);
- track_display_frame.add (*v);
+ track_display_sample.set_name("BaseFrame");
+ track_display_sample.set_shadow_type (Gtk::SHADOW_IN);
+ track_display_sample.add (*v);
track_display_scroller.show();
- track_display_frame.show();
+ track_display_sample.show();
track_display.show();
}
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h
index d0a051dfce..3ab097f8b0 100644
--- a/gtk2_ardour/mixer_ui.h
+++ b/gtk2_ardour/mixer_ui.h
@@ -151,9 +151,9 @@ private:
Gtk::ScrolledWindow group_display_scroller;
Gtk::ScrolledWindow favorite_plugins_scroller;
Gtk::VBox group_display_vbox;
- Gtk::Frame track_display_frame;
- Gtk::Frame group_display_frame;
- Gtk::Frame favorite_plugins_frame;
+ Gtk::Frame track_display_sample;
+ Gtk::Frame group_display_sample;
+ Gtk::Frame favorite_plugins_sample;
ArdourWidgets::VPane rhs_pane1;
ArdourWidgets::VPane rhs_pane2;
ArdourWidgets::HPane inner_pane;
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc
index 4ec75a4ce4..e52b48c7c7 100644
--- a/gtk2_ardour/monitor_section.cc
+++ b/gtk2_ardour/monitor_section.cc
@@ -441,9 +441,9 @@ MonitorSection::MonitorSection (Session* s)
vpacker.pack_start (master_packer, false, false, PX_SCALE(10));
vpacker.pack_end (*out_packer, false, false,
#ifdef MIXBUS
- scrollbar_height - 2 /* no outer frame */
+ scrollbar_height - 2 /* no outer sample */
#else
- scrollbar_height + 2 /* frame borders */
+ scrollbar_height + 2 /* sample borders */
#endif
);
diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc
index e639dd3a14..97912eab4c 100644
--- a/gtk2_ardour/option_editor.cc
+++ b/gtk2_ardour/option_editor.cc
@@ -574,7 +574,7 @@ void
ClockOption::set_state_from_config ()
{
Timecode::Time TC;
- framepos_t when;
+ samplepos_t when;
if (!Timecode::parse_timecode_format(_get(), TC)) {
_clock.set (0, true);
}
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index 046e20a68a..60f6fa8f6a 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -308,7 +308,7 @@ PannerUI::setup_pan ()
twod_panner->set_size_request (-1, rintf(61.f * scale));
twod_panner->set_send_drawing_mode (_send_mode);
- /* and finally, add it to the panner frame */
+ /* and finally, add it to the panner sample */
pan_vbox.pack_start (*twod_panner, false, false);
}
@@ -345,7 +345,7 @@ PannerUI::start_touch (boost::weak_ptr<AutomationControl> wac)
if (!ac) {
return;
}
- ac->start_touch (ac->session().transport_frame());
+ ac->start_touch (ac->session().transport_sample());
}
void
@@ -355,7 +355,7 @@ PannerUI::stop_touch (boost::weak_ptr<AutomationControl> wac)
if (!ac) {
return;
}
- ac->stop_touch (ac->session().transport_frame());
+ ac->stop_touch (ac->session().transport_sample());
}
bool
diff --git a/gtk2_ardour/patch_change_dialog.cc b/gtk2_ardour/patch_change_dialog.cc
index 32a102af1f..9a7b746b89 100644
--- a/gtk2_ardour/patch_change_dialog.cc
+++ b/gtk2_ardour/patch_change_dialog.cc
@@ -27,7 +27,7 @@
#include "midi++/midnam_patch.h"
-#include "ardour/beats_frames_converter.h"
+#include "ardour/beats_samples_converter.h"
#include "ardour/instrument_info.h"
#include "patch_change_dialog.h"
@@ -41,7 +41,7 @@ using namespace Gtkmm2ext;
/** @param tc If non-0, a time converter for this patch change. If 0, time control will be desensitized */
PatchChangeDialog::PatchChangeDialog (
- const ARDOUR::BeatsFramesConverter* tc,
+ const ARDOUR::BeatsSamplesConverter* tc,
ARDOUR::Session* session,
Evoral::PatchChange<Evoral::Beats> const & patch,
ARDOUR::InstrumentInfo& info,
diff --git a/gtk2_ardour/patch_change_dialog.h b/gtk2_ardour/patch_change_dialog.h
index 0390ecfffa..9a35778986 100644
--- a/gtk2_ardour/patch_change_dialog.h
+++ b/gtk2_ardour/patch_change_dialog.h
@@ -26,7 +26,7 @@
#include "audio_clock.h"
namespace ARDOUR {
- class BeatsFramesConverter;
+ class BeatsSamplesConverter;
class Session;
class InstrumentInfo;
}
@@ -41,7 +41,7 @@ class PatchChangeDialog : public ArdourDialog
{
public:
PatchChangeDialog (
- const ARDOUR::BeatsFramesConverter *,
+ const ARDOUR::BeatsSamplesConverter *,
ARDOUR::Session *,
Evoral::PatchChange<Evoral::Beats> const &,
ARDOUR::InstrumentInfo&,
@@ -68,7 +68,7 @@ private:
int get_14bit_bank () const;
- const ARDOUR::BeatsFramesConverter* _time_converter;
+ const ARDOUR::BeatsSamplesConverter* _time_converter;
ARDOUR::InstrumentInfo& _info;
AudioClock _time;
Gtk::SpinButton _channel;
diff --git a/gtk2_ardour/plugin_display.cc b/gtk2_ardour/plugin_display.cc
index 24d8658d42..e00e8e9559 100644
--- a/gtk2_ardour/plugin_display.cc
+++ b/gtk2_ardour/plugin_display.cc
@@ -145,7 +145,7 @@ PluginDisplay::on_expose_event (GdkEventExpose* ev)
cairo_save (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
- display_frame(cr, width, height);
+ display_sample(cr, width, height);
cairo_clip (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
@@ -168,7 +168,7 @@ PluginDisplay::on_expose_event (GdkEventExpose* ev)
std::string name = get_name();
Gtkmm2ext::Color fill_color = UIConfiguration::instance().color (string_compose ("%1: fill active", name), &failed);
- display_frame(cr, width, height);
+ display_sample(cr, width, height);
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
cairo_set_line_width(cr, 1.0);
if (failed) {
@@ -183,7 +183,7 @@ PluginDisplay::on_expose_event (GdkEventExpose* ev)
}
void
-PluginDisplay::display_frame (cairo_t* cr, double w, double h)
+PluginDisplay::display_sample (cairo_t* cr, double w, double h)
{
cairo_rectangle (cr, 0.0, 0.0, w, h);
}
diff --git a/gtk2_ardour/plugin_display.h b/gtk2_ardour/plugin_display.h
index 2573af2578..38c2777caf 100644
--- a/gtk2_ardour/plugin_display.h
+++ b/gtk2_ardour/plugin_display.h
@@ -43,7 +43,7 @@ protected:
virtual void update_height_alloc (uint32_t inline_height);
virtual uint32_t render_inline (cairo_t *, uint32_t width);
- virtual void display_frame (cairo_t* cr, double w, double h);
+ virtual void display_sample (cairo_t* cr, double w, double h);
boost::shared_ptr<ARDOUR::Plugin> _plug;
PBD::ScopedConnection _qdraw_connection;
diff --git a/gtk2_ardour/plugin_eq_gui.cc b/gtk2_ardour/plugin_eq_gui.cc
index c637968181..274cf014da 100644
--- a/gtk2_ardour/plugin_eq_gui.cc
+++ b/gtk2_ardour/plugin_eq_gui.cc
@@ -65,7 +65,7 @@ PluginEqGui::PluginEqGui(boost::shared_ptr<ARDOUR::PluginInsert> pluginInsert)
, _plugin_insert(pluginInsert)
{
_signal_analysis_running = false;
- _samplerate = ARDOUR_UI::instance()->the_session()->frame_rate();
+ _samplerate = ARDOUR_UI::instance()->the_session()->sample_rate();
_log_coeff = (1.0 - 2.0 * (1000.0/(_samplerate/2.0))) / powf(1000.0/(_samplerate/2.0), 2.0);
_log_max = log10f(1 + _log_coeff);
@@ -366,7 +366,7 @@ PluginEqGui::run_impulse_analysis()
_plugin->set_block_size (_buffer_size);
_plugin->connect_and_run(_bufferset, 0, _buffer_size, 1.0, in_map, out_map, _buffer_size, 0);
- framecnt_t f = _plugin->signal_latency ();
+ samplecnt_t f = _plugin->signal_latency ();
// Adding user_latency() could be interesting
// Gather all output, taking latency into account.
@@ -387,9 +387,9 @@ PluginEqGui::run_impulse_analysis()
}
} else {
//int C = 0;
- //std::cerr << (++C) << ": latency is " << f << " frames, doing split processing.." << std::endl;
- framecnt_t target_offset = 0;
- framecnt_t frames_left = _buffer_size; // refaktoroi
+ //std::cerr << (++C) << ": latency is " << f << " samples, doing split processing.." << std::endl;
+ samplecnt_t target_offset = 0;
+ samplecnt_t samples_left = _buffer_size; // refaktoroi
do {
if (f >= _buffer_size) {
//std::cerr << (++C) << ": f (=" << f << ") is larger than buffer_size, still trying to reach the actual output" << std::endl;
@@ -399,11 +399,11 @@ PluginEqGui::run_impulse_analysis()
// this buffer contains either the first, last or a whole bu the output of the impulse
// first part: offset is 0, so we copy to the start of _collect_bufferset
// we start at output offset "f"
- // .. and copy "buffer size" - "f" - "offset" frames
+ // .. and copy "buffer size" - "f" - "offset" samples
- framecnt_t length = _buffer_size - f - target_offset;
+ samplecnt_t length = _buffer_size - f - target_offset;
- //std::cerr << (++C) << ": copying " << length << " frames to _collect_bufferset.get_audio(i)+" << target_offset << " from bufferset at offset " << f << std::endl;
+ //std::cerr << (++C) << ": copying " << length << " samples to _collect_bufferset.get_audio(i)+" << target_offset << " from bufferset at offset " << f << std::endl;
for (uint32_t i = 0; i < outputs; ++i) {
memcpy(_collect_bufferset.get_audio(i).data(target_offset),
_bufferset.get_audio(inputs + i).data() + f,
@@ -411,10 +411,10 @@ PluginEqGui::run_impulse_analysis()
}
target_offset += length;
- frames_left -= length;
+ samples_left -= length;
f = 0;
}
- if (frames_left > 0) {
+ if (samples_left > 0) {
// Silence the buffers
for (uint32_t i = 0; i < inputs; ++i) {
ARDOUR::AudioBuffer &buf = _bufferset.get_audio(i);
@@ -424,7 +424,7 @@ PluginEqGui::run_impulse_analysis()
_plugin->connect_and_run (_bufferset, target_offset, target_offset + _buffer_size, 1.0, in_map, out_map, _buffer_size, 0);
}
- } while ( frames_left > 0);
+ } while ( samples_left > 0);
}
diff --git a/gtk2_ardour/plugin_eq_gui.h b/gtk2_ardour/plugin_eq_gui.h
index 428fd76d3c..ec6e7364ef 100644
--- a/gtk2_ardour/plugin_eq_gui.h
+++ b/gtk2_ardour/plugin_eq_gui.h
@@ -100,8 +100,8 @@ private:
float _log_coeff;
float _log_max;
- ARDOUR::framecnt_t _buffer_size;
- ARDOUR::framecnt_t _signal_buffer_size;
+ ARDOUR::samplecnt_t _buffer_size;
+ ARDOUR::samplecnt_t _signal_buffer_size;
// buffers
ARDOUR::BufferSet _bufferset;
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc
index 0a609eb9cd..fc16aa3751 100644
--- a/gtk2_ardour/plugin_selector.cc
+++ b/gtk2_ardour/plugin_selector.cc
@@ -205,18 +205,18 @@ PluginSelector::PluginSelector (PluginManager& mgr)
filter_table->set_col_spacings (2);
filter_table->set_row_spacings (4);
- Frame* filter_frame = manage (new Frame);
- filter_frame->set_name ("BaseFrame");
- filter_frame->set_label (_("Filter"));
- filter_frame->add (*filter_table);
+ Frame* filter_sample = manage (new Frame);
+ filter_sample->set_name ("BaseFrame");
+ filter_sample->set_label (_("Filter"));
+ filter_sample->add (*filter_table);
- filter_frame->show_all ();
+ filter_sample->show_all ();
HBox* side_by_side = manage (new HBox);
VBox* right_side = manage (new VBox);
table->attach (scroller, 0, 7, 0, 5);
- table->attach (*filter_frame, 0, 7, 6, 7, FILL|EXPAND, FILL, 5, 5);
+ table->attach (*filter_sample, 0, 7, 6, 7, FILL|EXPAND, FILL, 5, 5);
right_side->pack_start (ascroller);
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index 93da6e8df8..a91a0b8197 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -549,8 +549,8 @@ PlugUIBase::plugin_going_away ()
void
PlugUIBase::set_latency_label ()
{
- framecnt_t const l = insert->effective_latency ();
- framecnt_t const sr = insert->session().frame_rate ();
+ samplecnt_t const l = insert->effective_latency ();
+ samplecnt_t const sr = insert->session().sample_rate ();
string t;
@@ -567,7 +567,7 @@ void
PlugUIBase::latency_button_clicked ()
{
if (!latency_gui) {
- latency_gui = new LatencyGUI (*(insert.get()), insert->session().frame_rate(), insert->session().get_block_size());
+ latency_gui = new LatencyGUI (*(insert.get()), insert->session().sample_rate(), insert->session().get_block_size());
latency_dialog = new ArdourWindow (_("Edit Latency"));
/* use both keep-above and transient for to try cover as many
different WM's as possible.
diff --git a/gtk2_ardour/port_insert_ui.cc b/gtk2_ardour/port_insert_ui.cc
index d0497357cd..ffe2d34f06 100644
--- a/gtk2_ardour/port_insert_ui.cc
+++ b/gtk2_ardour/port_insert_ui.cc
@@ -67,12 +67,12 @@ PortInsertUI::PortInsertUI (Gtk::Window* parent, ARDOUR::Session* sess, boost::s
void
PortInsertUI::update_latency_display ()
{
- framecnt_t const sample_rate = AudioEngine::instance()->sample_rate();
+ samplecnt_t const sample_rate = AudioEngine::instance()->sample_rate();
if (sample_rate == 0) {
latency_display.set_text (_("Disconnected from audio engine"));
} else {
char buf[64];
- snprintf (buf, sizeof (buf), "%10.3lf frames %10.3lf ms",
+ snprintf (buf, sizeof (buf), "%10.3lf samples %10.3lf ms",
(float)_pi->latency(), (float)_pi->latency() * 1000.0f/sample_rate);
latency_display.set_text(buf);
}
@@ -94,7 +94,7 @@ PortInsertUI::check_latency_measurement ()
}
char buf[128];
- framecnt_t const sample_rate = AudioEngine::instance()->sample_rate();
+ samplecnt_t const sample_rate = AudioEngine::instance()->sample_rate();
if (sample_rate == 0) {
latency_display.set_text (_("Disconnected from audio engine"));
@@ -102,7 +102,7 @@ PortInsertUI::check_latency_measurement ()
return false;
}
- snprintf (buf, sizeof (buf), "%10.3lf frames %10.3lf ms", mtdm->del (), mtdm->del () * 1000.0f/sample_rate);
+ snprintf (buf, sizeof (buf), "%10.3lf samples %10.3lf ms", mtdm->del (), mtdm->del () * 1000.0f/sample_rate);
bool solid = true;
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index 18b4b50ef1..b512e11144 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -912,7 +912,7 @@ ProcessorEntry::Control::start_touch ()
if (!c) {
return;
}
- c->start_touch (c->session().transport_frame());
+ c->start_touch (c->session().transport_sample());
}
void
@@ -922,7 +922,7 @@ ProcessorEntry::Control::end_touch ()
if (!c) {
return;
}
- c->stop_touch (c->session().transport_frame());
+ c->stop_touch (c->session().transport_sample());
}
void
@@ -1648,7 +1648,7 @@ ProcessorEntry::PluginInlineDisplay::update_height_alloc (uint32_t inline_height
}
void
-ProcessorEntry::PluginInlineDisplay::display_frame (cairo_t* cr, double w, double h)
+ProcessorEntry::PluginInlineDisplay::display_sample (cairo_t* cr, double w, double h)
{
Gtkmm2ext::rounded_rectangle (cr, .5, -1.5, w - 1, h + 1, 7);
}
diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h
index cb13f42b43..410e5b91d7 100644
--- a/gtk2_ardour/processor_box.h
+++ b/gtk2_ardour/processor_box.h
@@ -255,7 +255,7 @@ private:
bool on_button_press_event (GdkEventButton *ev);
void update_height_alloc (uint32_t inline_height);
- void display_frame (cairo_t* cr, double w, double h);
+ void display_sample (cairo_t* cr, double w, double h);
ProcessorEntry& _entry;
bool _scroll;
diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h
index 375594f2bc..9a3f68da71 100644
--- a/gtk2_ardour/public_editor.h
+++ b/gtk2_ardour/public_editor.h
@@ -100,8 +100,8 @@ bool relay_key_press (GdkEventKey* ev, Gtk::Window* win);
bool forward_key_press (GdkEventKey* ev);
}
-using ARDOUR::framepos_t;
-using ARDOUR::framecnt_t;
+using ARDOUR::samplepos_t;
+using ARDOUR::samplecnt_t;
/// Representation of the interface of the Editor class
@@ -151,7 +151,7 @@ public:
* Snap a value according to the current snap setting.
* ensure_snap overrides SnapOff and magnetic snap
*/
- virtual void snap_to (ARDOUR::MusicFrame& first,
+ virtual void snap_to (ARDOUR::MusicSample& first,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false,
bool ensure_snap = false) = 0;
@@ -202,13 +202,13 @@ public:
virtual void separate_region_from_selection () = 0;
virtual void transition_to_rolling (bool fwd) = 0;
- virtual framepos_t pixel_to_sample (double pixel) const = 0;
- virtual framepos_t playhead_cursor_sample () const = 0;
- virtual double sample_to_pixel (framepos_t frame) const = 0;
- virtual double sample_to_pixel_unrounded (framepos_t frame) const = 0;
+ virtual samplepos_t pixel_to_sample (double pixel) const = 0;
+ virtual samplepos_t playhead_cursor_sample () const = 0;
+ virtual double sample_to_pixel (samplepos_t sample) const = 0;
+ virtual double sample_to_pixel_unrounded (samplepos_t sample) const = 0;
virtual Selection& get_selection () const = 0;
- virtual bool get_selection_extents (framepos_t &start, framepos_t &end) const = 0;
+ virtual bool get_selection_extents (samplepos_t &start, samplepos_t &end) const = 0;
virtual Selection& get_cut_buffer () const = 0;
virtual void set_selection (std::list<Selectable*>, Selection::Operation) = 0;
@@ -218,7 +218,7 @@ public:
virtual void play_with_preroll () = 0;
virtual void rec_with_preroll () = 0;
virtual void rec_with_count_in () = 0;
- virtual void maybe_locate_with_edit_preroll (framepos_t location) = 0;
+ virtual void maybe_locate_with_edit_preroll (samplepos_t location) = 0;
virtual void goto_nth_marker (int nth) = 0;
virtual void trigger_script (int nth) = 0;
virtual void add_location_from_playhead_cursor () = 0;
@@ -226,8 +226,8 @@ public:
virtual void set_show_measures (bool yn) = 0;
virtual bool show_measures () const = 0;
virtual void remove_tracks () = 0;
- virtual void set_loop_range (framepos_t start, framepos_t end, std::string cmd) = 0;
- virtual void set_punch_range (framepos_t start, framepos_t end, std::string cmd) = 0;
+ virtual void set_loop_range (samplepos_t start, samplepos_t end, std::string cmd) = 0;
+ virtual void set_punch_range (samplepos_t start, samplepos_t end, std::string cmd) = 0;
virtual void jump_forward_to_mark () = 0;
virtual void jump_backward_to_mark () = 0;
@@ -255,10 +255,10 @@ public:
/** Import existing media */
virtual void do_import (std::vector<std::string> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality,
- ARDOUR::MidiTrackNameSource, ARDOUR::MidiTempoMapDisposition, framepos_t&,
+ ARDOUR::MidiTrackNameSource, ARDOUR::MidiTempoMapDisposition, samplepos_t&,
boost::shared_ptr<ARDOUR::PluginInfo> instrument=boost::shared_ptr<ARDOUR::PluginInfo>()) = 0;
virtual void do_embed (std::vector<std::string> paths, Editing::ImportDisposition, Editing::ImportMode mode,
- framepos_t&,
+ samplepos_t&,
boost::shared_ptr<ARDOUR::PluginInfo> instrument=boost::shared_ptr<ARDOUR::PluginInfo>()) = 0;
/** Open main export dialog */
@@ -276,8 +276,8 @@ public:
virtual void register_actions () = 0;
virtual void set_zoom_focus (Editing::ZoomFocus) = 0;
virtual Editing::ZoomFocus get_zoom_focus () const = 0;
- virtual framecnt_t get_current_zoom () const = 0;
- virtual void reset_zoom (framecnt_t) = 0;
+ virtual samplecnt_t get_current_zoom () const = 0;
+ virtual void reset_zoom (samplecnt_t) = 0;
virtual PlaylistSelector& playlist_selector() const = 0;
virtual void clear_playlist (boost::shared_ptr<ARDOUR::Playlist>) = 0;
virtual void new_playlists (TimeAxisView*) = 0;
@@ -308,8 +308,8 @@ public:
/** @return true if the playhead is currently being dragged, otherwise false */
virtual bool dragging_playhead () const = 0;
- virtual framepos_t leftmost_sample() const = 0;
- virtual framecnt_t current_page_samples() const = 0;
+ virtual samplepos_t leftmost_sample() const = 0;
+ virtual samplecnt_t current_page_samples() const = 0;
virtual double visible_canvas_height () const = 0;
virtual void temporal_zoom_step (bool coarser) = 0;
virtual void ensure_time_axis_view_is_visible (TimeAxisView const & tav, bool at_top = false) = 0;
@@ -321,7 +321,7 @@ public:
virtual void select_topmost_track () = 0;
virtual void prepare_for_cleanup () = 0;
virtual void finish_cleanup () = 0;
- virtual void reset_x_origin (framepos_t frame) = 0;
+ virtual void reset_x_origin (samplepos_t sample) = 0;
virtual double get_y_origin () const = 0;
virtual void reset_y_origin (double pos) = 0;
virtual void set_visible_track_count (int32_t) = 0;
@@ -329,17 +329,17 @@ public:
virtual void remove_last_capture () = 0;
virtual void maximise_editing_space () = 0;
virtual void restore_editing_space () = 0;
- virtual framepos_t get_preferred_edit_position (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE, bool from_context_menu = false, bool from_outside_canvas = false) = 0;
+ virtual samplepos_t get_preferred_edit_position (Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE, bool from_context_menu = false, bool from_outside_canvas = false) = 0;
virtual void toggle_meter_updating() = 0;
- virtual void split_regions_at (ARDOUR::MusicFrame, RegionSelection&, bool snap) = 0;
+ virtual void split_regions_at (ARDOUR::MusicSample, RegionSelection&, bool snap) = 0;
virtual void split_region_at_points (boost::shared_ptr<ARDOUR::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false) = 0;
- virtual void mouse_add_new_marker (framepos_t where, bool is_cd=false) = 0;
+ virtual void mouse_add_new_marker (samplepos_t where, bool is_cd=false) = 0;
virtual void foreach_time_axis_view (sigc::slot<void,TimeAxisView&>) = 0;
virtual void add_to_idle_resize (TimeAxisView*, int32_t) = 0;
- virtual framecnt_t get_nudge_distance (framepos_t pos, framecnt_t& next) = 0;
- virtual framecnt_t get_paste_offset (framepos_t pos, unsigned paste_count, framecnt_t duration) = 0;
- virtual unsigned get_grid_beat_divisions(framepos_t position) = 0;
- virtual Evoral::Beats get_grid_type_as_beats (bool& success, framepos_t position) = 0;
+ virtual samplecnt_t get_nudge_distance (samplepos_t pos, samplecnt_t& next) = 0;
+ virtual samplecnt_t get_paste_offset (samplepos_t pos, unsigned paste_count, samplecnt_t duration) = 0;
+ virtual unsigned get_grid_beat_divisions(samplepos_t position) = 0;
+ virtual Evoral::Beats get_grid_type_as_beats (bool& success, samplepos_t position) = 0;
virtual int32_t get_grid_music_divisions (uint32_t event_state) = 0;
virtual void edit_notes (MidiRegionView*) = 0;
@@ -351,7 +351,7 @@ public:
virtual void set_xjadeo_sensitive (bool onoff) = 0;
virtual int get_videotl_bar_height () const = 0;
virtual void set_video_timeline_height (const int h) = 0;
- virtual void embed_audio_from_video (std::string, framepos_t n = 0, bool lock_position_to_video = true) = 0;
+ virtual void embed_audio_from_video (std::string, samplepos_t n = 0, bool lock_position_to_video = true) = 0;
virtual bool track_selection_change_without_scroll () const = 0;
@@ -365,7 +365,7 @@ public:
sigc::signal<void> ZoomChanged;
sigc::signal<void> Realized;
- sigc::signal<void,framepos_t> UpdateAllTransportClocks;
+ sigc::signal<void,samplepos_t> UpdateAllTransportClocks;
static sigc::signal<void> DropDownKeys;
@@ -397,7 +397,7 @@ public:
virtual bool canvas_fade_out_handle_event (GdkEvent* event, ArdourCanvas::Item*, AudioRegionView*, bool) = 0;
virtual bool canvas_region_view_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_wave_view_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
- virtual bool canvas_frame_handle_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
+ virtual bool canvas_sample_handle_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_region_view_name_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
virtual bool canvas_feature_line_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*) = 0;
@@ -431,7 +431,7 @@ public:
virtual void set_current_trimmable (boost::shared_ptr<ARDOUR::Trimmable>) = 0;
virtual void set_current_movable (boost::shared_ptr<ARDOUR::Movable>) = 0;
- virtual void center_screen (framepos_t) = 0;
+ virtual void center_screen (samplepos_t) = 0;
virtual TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const = 0;
virtual TrackViewList const & get_track_views () const = 0;
@@ -461,19 +461,19 @@ public:
virtual ARDOUR::Location* find_location_from_marker (ArdourMarker *, bool &) const = 0;
virtual ArdourMarker* find_marker_from_location_id (PBD::ID const &, bool) const = 0;
- virtual void snap_to_with_modifier (ARDOUR::MusicFrame& first,
+ virtual void snap_to_with_modifier (ARDOUR::MusicSample& first,
GdkEvent const * ev,
ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
bool for_mark = false) = 0;
- virtual void get_regions_at (RegionSelection &, framepos_t where, TrackViewList const &) const = 0;
- virtual void get_regions_after (RegionSelection&, framepos_t where, const TrackViewList& ts) const = 0;
- virtual RegionSelection get_regions_from_selection_and_mouse (framepos_t) = 0;
+ virtual void get_regions_at (RegionSelection &, samplepos_t where, TrackViewList const &) const = 0;
+ virtual void get_regions_after (RegionSelection&, samplepos_t where, const TrackViewList& ts) const = 0;
+ virtual RegionSelection get_regions_from_selection_and_mouse (samplepos_t) = 0;
virtual void get_regionviews_by_id (PBD::ID const id, RegionSelection & regions) const = 0;
virtual void get_per_region_note_selection (std::list<std::pair<PBD::ID, std::set<boost::shared_ptr<Evoral::Note<Evoral::Beats> > > > >&) const = 0;
- virtual void mouse_add_new_tempo_event (framepos_t where) = 0;
- virtual void mouse_add_new_meter_event (framepos_t where) = 0;
+ virtual void mouse_add_new_tempo_event (samplepos_t where) = 0;
+ virtual void mouse_add_new_meter_event (samplepos_t where) = 0;
virtual void edit_tempo_section (ARDOUR::TempoSection*) = 0;
virtual void edit_meter_section (ARDOUR::MeterSection*) = 0;
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index 787cfcd07d..fe8b1150da 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -3189,8 +3189,8 @@ RCOptionEditor::RCOptionEditor ()
(_sync_source_2997->tip_widget(),
_("<b>When enabled</b> the external timecode source is assumed to use 29.97 fps instead of 30000/1001.\n"
"SMPTE 12M-1999 specifies 29.97df as 30000/1001. The spec further mentions that "
- "drop-frame timecode has an accumulated error of -86ms over a 24-hour period.\n"
- "Drop-frame timecode would compensate exactly for a NTSC color frame rate of 30 * 0.9990 (ie 29.970000). "
+ "drop-sample timecode has an accumulated error of -86ms over a 24-hour period.\n"
+ "Drop-sample timecode would compensate exactly for a NTSC color frame rate of 30 * 0.9990 (ie 29.970000). "
"That is not the actual rate. However, some vendors use that rate - despite it being against the specs - "
"because the variant of using exactly 29.97 fps has zero timecode drift.\n"
));
diff --git a/gtk2_ardour/region_editor.cc b/gtk2_ardour/region_editor.cc
index bb0199678e..3d4181dd2b 100644
--- a/gtk2_ardour/region_editor.cc
+++ b/gtk2_ardour/region_editor.cc
@@ -315,7 +315,7 @@ RegionEditor::end_clock_changed ()
void
RegionEditor::length_clock_changed ()
{
- framecnt_t frames = length_clock.current_time();
+ samplecnt_t samples = length_clock.current_time();
bool in_command = false;
boost::shared_ptr<Playlist> pl = _region->playlist();
@@ -324,7 +324,7 @@ RegionEditor::length_clock_changed ()
in_command = true;
_region->clear_changes ();
- _region->trim_end (_region->position() + frames - 1);
+ _region->trim_end (_region->position() + samples - 1);
_session->add_command(new StatefulDiffCommand (_region));
}
@@ -370,7 +370,7 @@ RegionEditor::bounds_changed (const PropertyChange& what_changed)
if (what_changed.contains (ARDOUR::Properties::sync_position) || what_changed.contains (ARDOUR::Properties::position)) {
int dir;
- frameoffset_t off = _region->sync_offset (dir);
+ sampleoffset_t off = _region->sync_offset (dir);
if (dir == -1) {
off = -off;
}
diff --git a/gtk2_ardour/region_layering_order_editor.cc b/gtk2_ardour/region_layering_order_editor.cc
index 35f493654e..63a39cd270 100644
--- a/gtk2_ardour/region_layering_order_editor.cc
+++ b/gtk2_ardour/region_layering_order_editor.cc
@@ -186,7 +186,7 @@ RegionLayeringOrderEditor::refill ()
}
void
-RegionLayeringOrderEditor::set_context (const string& a_name, Session* s, TimeAxisView* tav, boost::shared_ptr<Playlist> pl, framepos_t pos)
+RegionLayeringOrderEditor::set_context (const string& a_name, Session* s, TimeAxisView* tav, boost::shared_ptr<Playlist> pl, samplepos_t pos)
{
track_name_label.set_text (a_name);
diff --git a/gtk2_ardour/region_layering_order_editor.h b/gtk2_ardour/region_layering_order_editor.h
index 05ce273f1f..58ef4f8e0e 100644
--- a/gtk2_ardour/region_layering_order_editor.h
+++ b/gtk2_ardour/region_layering_order_editor.h
@@ -43,14 +43,14 @@ public:
RegionLayeringOrderEditor (PublicEditor&);
virtual ~RegionLayeringOrderEditor ();
- void set_context (const std::string &, ARDOUR::Session *, TimeAxisView *, boost::shared_ptr<ARDOUR::Playlist>, ARDOUR::framepos_t);
+ void set_context (const std::string &, ARDOUR::Session *, TimeAxisView *, boost::shared_ptr<ARDOUR::Playlist>, ARDOUR::samplepos_t);
void maybe_present ();
protected:
virtual bool on_key_press_event (GdkEventKey* event);
private:
- framepos_t position;
+ samplepos_t position;
bool in_row_change;
uint32_t regions_at_position;
diff --git a/gtk2_ardour/region_selection.cc b/gtk2_ardour/region_selection.cc
index c0f3f60e3f..e5cc93a0b1 100644
--- a/gtk2_ardour/region_selection.cc
+++ b/gtk2_ardour/region_selection.cc
@@ -261,27 +261,27 @@ RegionSelection::involves (const TimeAxisView& tv) const
return false;
}
-framepos_t
+samplepos_t
RegionSelection::start () const
{
- framepos_t s = max_framepos;
+ samplepos_t s = max_samplepos;
for (RegionSelection::const_iterator i = begin(); i != end(); ++i) {
s = min (s, (*i)->region()->position ());
}
- if (s == max_framepos) {
+ if (s == max_samplepos) {
return 0;
}
return s;
}
-framepos_t
-RegionSelection::end_frame () const
+samplepos_t
+RegionSelection::end_sample () const
{
- framepos_t e = 0;
+ samplepos_t e = 0;
for (RegionSelection::const_iterator i = begin(); i != end(); ++i) {
- e = max (e, (*i)->region()->last_frame ());
+ e = max (e, (*i)->region()->last_sample ());
}
return e;
diff --git a/gtk2_ardour/region_selection.h b/gtk2_ardour/region_selection.h
index 433f92e336..4cbeb2d747 100644
--- a/gtk2_ardour/region_selection.h
+++ b/gtk2_ardour/region_selection.h
@@ -52,11 +52,11 @@ public:
void clear_all();
- framepos_t start () const;
+ samplepos_t start () const;
/* "end" collides with list<>::end */
- framepos_t end_frame () const;
+ samplepos_t end_sample () const;
const std::list<RegionView *>& by_layer() const { return _bylayer; }
void by_position (std::list<RegionView*>&) const;
diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc
index d94c1fae64..daca247297 100644
--- a/gtk2_ardour/region_view.cc
+++ b/gtk2_ardour/region_view.cc
@@ -156,18 +156,18 @@ RegionView::init (bool wfd)
name_highlight->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_region_view_name_highlight_event), name_highlight, this));
}
- if (frame_handle_start) {
- frame_handle_start->set_data ("regionview", this);
- frame_handle_start->set_data ("isleft", (void*) 1);
- frame_handle_start->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_frame_handle_event), frame_handle_start, this));
- frame_handle_start->raise_to_top();
+ if (sample_handle_start) {
+ sample_handle_start->set_data ("regionview", this);
+ sample_handle_start->set_data ("isleft", (void*) 1);
+ sample_handle_start->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_sample_handle_event), sample_handle_start, this));
+ sample_handle_start->raise_to_top();
}
- if (frame_handle_end) {
- frame_handle_end->set_data ("regionview", this);
- frame_handle_end->set_data ("isleft", (void*) 0);
- frame_handle_end->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_frame_handle_event), frame_handle_end, this));
- frame_handle_end->raise_to_top();
+ if (sample_handle_end) {
+ sample_handle_end->set_data ("regionview", this);
+ sample_handle_end->set_data ("isleft", (void*) 0);
+ sample_handle_end->Event.connect (sigc::bind (sigc::mem_fun (PublicEditor::instance(), &PublicEditor::canvas_sample_handle_event), sample_handle_end, this));
+ sample_handle_end->raise_to_top();
}
if (name_text) {
@@ -199,11 +199,11 @@ RegionView::~RegionView ()
delete *g;
}
- for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_frames.begin (); i != _coverage_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_samples.begin (); i != _coverage_samples.end (); ++i) {
delete *i;
}
- drop_silent_frames ();
+ drop_silent_samples ();
delete editor;
}
@@ -218,12 +218,12 @@ RegionView::canvas_group_event (GdkEvent* event)
}
void
-RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*threshold*/)
+RegionView::set_silent_samples (const AudioIntervalResult& silences, double /*threshold*/)
{
- framecnt_t shortest = max_framecnt;
+ samplecnt_t shortest = max_samplecnt;
- /* remove old silent frames */
- drop_silent_frames ();
+ /* remove old silent samples */
+ drop_silent_samples ();
if (silences.empty()) {
return;
@@ -235,7 +235,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
ArdourCanvas::Rectangle* cr = new ArdourCanvas::Rectangle (group);
cr->set_ignore_events (true);
- _silent_frames.push_back (cr);
+ _silent_samples.push_back (cr);
/* coordinates for the rect are relative to the regionview origin */
@@ -250,11 +250,11 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
}
/* Find shortest audible segment */
- framecnt_t shortest_audible = max_framecnt;
+ samplecnt_t shortest_audible = max_samplecnt;
- framecnt_t s = _region->start();
+ samplecnt_t s = _region->start();
for (AudioIntervalResult::const_iterator i = silences.begin(); i != silences.end(); ++i) {
- framecnt_t const dur = i->first - s;
+ samplecnt_t const dur = i->first - s;
if (dur > 0) {
shortest_audible = min (shortest_audible, dur);
}
@@ -262,7 +262,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
s = i->second;
}
- framecnt_t const dur = _region->start() + _region->length() - 1 - s;
+ samplecnt_t const dur = _region->start() + _region->length() - 1 - s;
if (dur > 0) {
shortest_audible = min (shortest_audible, dur);
}
@@ -277,7 +277,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
_silence_text->set_x_position (trackview.editor().sample_to_pixel (silences.front().first - _region->start()) + 10.0);
_silence_text->set_y_position (20.0);
- double ms = (float) shortest/_region->session().frame_rate();
+ double ms = (float) shortest/_region->session().sample_rate();
/* ms are now in seconds */
@@ -297,9 +297,9 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
+ ", "
+ string_compose (_("shortest = %1 %2"), ms, sunits);
- if (shortest_audible != max_framepos) {
+ if (shortest_audible != max_samplepos) {
/* ms are now in seconds */
- double ma = (float) shortest_audible / _region->session().frame_rate();
+ double ma = (float) shortest_audible / _region->session().sample_rate();
char const * aunits;
if (ma >= 60.0) {
@@ -319,21 +319,21 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
}
void
-RegionView::hide_silent_frames ()
+RegionView::hide_silent_samples ()
{
- for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_frames.begin (); i != _silent_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_samples.begin (); i != _silent_samples.end (); ++i) {
(*i)->hide ();
}
_silence_text->hide();
}
void
-RegionView::drop_silent_frames ()
+RegionView::drop_silent_samples ()
{
- for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_frames.begin (); i != _silent_frames.end (); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_samples.begin (); i != _silent_samples.end (); ++i) {
delete *i;
}
- _silent_frames.clear ();
+ _silent_samples.clear ();
delete _silence_text;
_silence_text = 0;
@@ -432,14 +432,14 @@ RegionView::reset_width_dependent_items (double pixel_width)
void
RegionView::region_muted ()
{
- set_frame_color ();
+ set_sample_color ();
region_renamed ();
}
void
RegionView::region_opacity ()
{
- set_frame_color ();
+ set_sample_color ();
}
void
@@ -455,7 +455,7 @@ RegionView::lower_to_bottom ()
}
bool
-RegionView::set_position (framepos_t pos, void* /*src*/, double* ignored)
+RegionView::set_position (samplepos_t pos, void* /*src*/, double* ignored)
{
double delta;
bool ret;
@@ -491,9 +491,9 @@ RegionView::set_samples_per_pixel (double fpp)
}
bool
-RegionView::set_duration (framecnt_t frames, void *src)
+RegionView::set_duration (samplecnt_t samples, void *src)
{
- if (!TimeAxisViewItem::set_duration (frames, src)) {
+ if (!TimeAxisViewItem::set_duration (samples, src)) {
return false;
}
@@ -600,7 +600,7 @@ void
RegionView::region_sync_changed ()
{
int sync_dir;
- framecnt_t sync_offset;
+ samplecnt_t sync_offset;
sync_offset = _region->sync_offset (sync_dir);
@@ -728,7 +728,7 @@ RegionView::set_height (double h)
if (sync_line) {
Points points;
int sync_dir;
- framecnt_t sync_offset;
+ samplecnt_t sync_offset;
sync_offset = _region->sync_offset (sync_dir);
double offset = sync_offset / samples_per_pixel;
@@ -738,30 +738,30 @@ RegionView::set_height (double h)
);
}
- for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_frames.begin(); i != _coverage_frames.end(); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_samples.begin(); i != _coverage_samples.end(); ++i) {
(*i)->set_y1 (h + 1);
}
- for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_frames.begin(); i != _silent_frames.end(); ++i) {
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _silent_samples.begin(); i != _silent_samples.end(); ++i) {
(*i)->set_y1 (h + 1);
}
}
-/** Remove old coverage frames and make new ones, if we're in a LayerDisplay mode
+/** Remove old coverage samples and make new ones, if we're in a LayerDisplay mode
* which uses them. */
void
-RegionView::update_coverage_frames (LayerDisplay d)
+RegionView::update_coverage_samples (LayerDisplay d)
{
- /* remove old coverage frames */
- for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_frames.begin (); i != _coverage_frames.end (); ++i) {
+ /* remove old coverage samples */
+ for (list<ArdourCanvas::Rectangle*>::iterator i = _coverage_samples.begin (); i != _coverage_samples.end (); ++i) {
delete *i;
}
- _coverage_frames.clear ();
+ _coverage_samples.clear ();
if (d != Stacked) {
- /* don't do coverage frames unless we're in stacked mode */
+ /* don't do coverage samples unless we're in stacked mode */
return;
}
@@ -770,9 +770,9 @@ RegionView::update_coverage_frames (LayerDisplay d)
return;
}
- framepos_t const position = _region->first_frame ();
- framepos_t t = position;
- framepos_t const end = _region->last_frame ();
+ samplepos_t const position = _region->first_sample ();
+ samplepos_t t = position;
+ samplepos_t const end = _region->last_sample ();
ArdourCanvas::Rectangle* cr = 0;
bool me = false;
@@ -795,7 +795,7 @@ RegionView::update_coverage_frames (LayerDisplay d)
/* start off any new rect, if required */
if (cr == 0 || me != new_me) {
cr = new ArdourCanvas::Rectangle (group);
- _coverage_frames.push_back (cr);
+ _coverage_samples.push_back (cr);
cr->set_x0 (trackview.editor().sample_to_pixel (t - position));
cr->set_y0 (1);
cr->set_y1 (_height + 1);
@@ -821,12 +821,12 @@ RegionView::update_coverage_frames (LayerDisplay d)
cr->set_x1 (trackview.editor().sample_to_pixel (end - position));
}
- if (frame_handle_start) {
- frame_handle_start->raise_to_top ();
+ if (sample_handle_start) {
+ sample_handle_start->raise_to_top ();
}
- if (frame_handle_end) {
- frame_handle_end->raise_to_top ();
+ if (sample_handle_end) {
+ sample_handle_end->raise_to_top ();
}
if (name_highlight) {
@@ -839,13 +839,13 @@ RegionView::update_coverage_frames (LayerDisplay d)
}
bool
-RegionView::trim_front (framepos_t new_bound, bool no_overlap, const int32_t sub_num)
+RegionView::trim_front (samplepos_t new_bound, bool no_overlap, const int32_t sub_num)
{
if (_region->locked()) {
return false;
}
- framepos_t const pre_trim_first_frame = _region->first_frame();
+ samplepos_t const pre_trim_first_sample = _region->first_sample();
if (_region->position() == new_bound) {
return false;
@@ -856,50 +856,50 @@ RegionView::trim_front (framepos_t new_bound, bool no_overlap, const int32_t sub
if (no_overlap) {
// Get the next region on the left of this region and shrink/expand it.
boost::shared_ptr<Playlist> playlist (_region->playlist());
- boost::shared_ptr<Region> region_left = playlist->find_next_region (pre_trim_first_frame, End, 0);
+ boost::shared_ptr<Region> region_left = playlist->find_next_region (pre_trim_first_sample, End, 0);
bool regions_touching = false;
- if (region_left != 0 && (pre_trim_first_frame == region_left->last_frame() + 1)) {
+ if (region_left != 0 && (pre_trim_first_sample == region_left->last_sample() + 1)) {
regions_touching = true;
}
- // Only trim region on the left if the first frame has gone beyond the left region's last frame.
- if (region_left != 0 && (region_left->last_frame() > _region->first_frame() || regions_touching)) {
- region_left->trim_end (_region->first_frame() - 1);
+ // Only trim region on the left if the first sample has gone beyond the left region's last sample.
+ if (region_left != 0 && (region_left->last_sample() > _region->first_sample() || regions_touching)) {
+ region_left->trim_end (_region->first_sample() - 1);
}
}
region_changed (ARDOUR::bounds_change);
- return (pre_trim_first_frame != _region->first_frame()); //return true if we actually changed something
+ return (pre_trim_first_sample != _region->first_sample()); //return true if we actually changed something
}
bool
-RegionView::trim_end (framepos_t new_bound, bool no_overlap, const int32_t sub_num)
+RegionView::trim_end (samplepos_t new_bound, bool no_overlap, const int32_t sub_num)
{
if (_region->locked()) {
return false;
}
- framepos_t const pre_trim_last_frame = _region->last_frame();
+ samplepos_t const pre_trim_last_sample = _region->last_sample();
_region->trim_end (new_bound, sub_num);
if (no_overlap) {
// Get the next region on the right of this region and shrink/expand it.
boost::shared_ptr<Playlist> playlist (_region->playlist());
- boost::shared_ptr<Region> region_right = playlist->find_next_region (pre_trim_last_frame, Start, 1);
+ boost::shared_ptr<Region> region_right = playlist->find_next_region (pre_trim_last_sample, Start, 1);
bool regions_touching = false;
- if (region_right != 0 && (pre_trim_last_frame == region_right->first_frame() - 1)) {
+ if (region_right != 0 && (pre_trim_last_sample == region_right->first_sample() - 1)) {
regions_touching = true;
}
- // Only trim region on the right if the last frame has gone beyond the right region's first frame.
- if (region_right != 0 && (region_right->first_frame() < _region->last_frame() || regions_touching)) {
- region_right->trim_front (_region->last_frame() + 1, sub_num);
+ // Only trim region on the right if the last sample has gone beyond the right region's first sample.
+ if (region_right != 0 && (region_right->first_sample() < _region->last_sample() || regions_touching)) {
+ region_right->trim_front (_region->last_sample() + 1, sub_num);
}
region_changed (ARDOUR::bounds_change);
@@ -908,7 +908,7 @@ RegionView::trim_end (framepos_t new_bound, bool no_overlap, const int32_t sub_n
region_changed (PropertyChange (ARDOUR::Properties::length));
}
- return (pre_trim_last_frame != _region->last_frame()); //return true if we actually changed something
+ return (pre_trim_last_sample != _region->last_sample()); //return true if we actually changed something
}
@@ -924,7 +924,7 @@ RegionView::thaw_after_trim ()
void
-RegionView::move_contents (frameoffset_t distance)
+RegionView::move_contents (sampleoffset_t distance)
{
if (_region->locked()) {
return;
@@ -933,29 +933,29 @@ RegionView::move_contents (frameoffset_t distance)
region_changed (PropertyChange (ARDOUR::Properties::start));
}
-/** Snap a frame offset within our region using the current snap settings.
+/** Snap a sample offset within our region using the current snap settings.
* @param x Frame offset from this region's position.
* @param ensure_snap whether to ignore snap_mode (in the case of SnapOff) and magnetic snap.
* Used when inverting snap mode logic with key modifiers, or snap distance calculation.
- * @return Snapped frame offset from this region's position.
+ * @return Snapped sample offset from this region's position.
*/
-MusicFrame
-RegionView::snap_frame_to_frame (frameoffset_t x, bool ensure_snap) const
+MusicSample
+RegionView::snap_sample_to_sample (sampleoffset_t x, bool ensure_snap) const
{
PublicEditor& editor = trackview.editor();
- /* x is region relative, convert it to global absolute frames */
- framepos_t const session_frame = x + _region->position();
+ /* x is region relative, convert it to global absolute samples */
+ samplepos_t const session_sample = x + _region->position();
/* try a snap in either direction */
- MusicFrame frame (session_frame, 0);
- editor.snap_to (frame, RoundNearest, false, ensure_snap);
+ MusicSample sample (session_sample, 0);
+ editor.snap_to (sample, RoundNearest, false, ensure_snap);
/* if we went off the beginning of the region, snap forwards */
- if (frame.frame < _region->position ()) {
- frame.frame = session_frame;
- editor.snap_to (frame, RoundUpAlways, false, ensure_snap);
+ if (sample.sample < _region->position ()) {
+ sample.sample = session_sample;
+ editor.snap_to (sample, RoundUpAlways, false, ensure_snap);
}
/* back to region relative, keeping the relevant divisor */
- return MusicFrame (frame.frame - _region->position(), frame.division);
+ return MusicSample (sample.sample - _region->position(), sample.division);
}
diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h
index 7cc4c6b964..e7b1789491 100644
--- a/gtk2_ardour/region_view.h
+++ b/gtk2_ardour/region_view.h
@@ -27,7 +27,7 @@
#include <sigc++/signal.h>
#include "ardour/region.h"
-#include "ardour/beats_frames_converter.h"
+#include "ardour/beats_samples_converter.h"
#include "canvas/fwd.h"
@@ -71,14 +71,14 @@ public:
virtual void set_height (double);
virtual void set_samples_per_pixel (double);
- virtual bool set_duration (framecnt_t, void*);
+ virtual bool set_duration (samplecnt_t, void*);
void move (double xdelta, double ydelta);
void raise_to_top ();
void lower_to_bottom ();
- bool set_position(framepos_t pos, void* src, double* delta = 0);
+ bool set_position(samplepos_t pos, void* src, double* delta = 0);
virtual void show_region_editor ();
void hide_region_editor ();
@@ -95,25 +95,25 @@ public:
virtual void exited () {}
virtual void enable_display(bool yn) { _enable_display = yn; }
- virtual void update_coverage_frames (LayerDisplay);
+ virtual void update_coverage_samples (LayerDisplay);
static PBD::Signal1<void,RegionView*> RegionViewGoingAway;
/** Called when a front trim is about to begin */
virtual void trim_front_starting () {}
- bool trim_front (framepos_t, bool, const int32_t sub_num);
+ bool trim_front (samplepos_t, bool, const int32_t sub_num);
/** Called when a start trim has finished */
virtual void trim_front_ending () {}
- bool trim_end (framepos_t, bool, const int32_t sub_num);
- void move_contents (ARDOUR::frameoffset_t);
+ bool trim_end (samplepos_t, bool, const int32_t sub_num);
+ void move_contents (ARDOUR::sampleoffset_t);
virtual void thaw_after_trim ();
- void set_silent_frames (const ARDOUR::AudioIntervalResult&, double threshold);
- void drop_silent_frames ();
- void hide_silent_frames ();
+ void set_silent_samples (const ARDOUR::AudioIntervalResult&, double threshold);
+ void drop_silent_samples ();
+ void hide_silent_samples ();
struct PositionOrder {
bool operator()(const RegionView* a, const RegionView* b) {
@@ -121,7 +121,7 @@ public:
}
};
- ARDOUR::MusicFrame snap_frame_to_frame (ARDOUR::frameoffset_t, bool ensure_snap = false) const;
+ ARDOUR::MusicSample snap_sample_to_sample (ARDOUR::sampleoffset_t, bool ensure_snap = false) const;
protected:
@@ -179,14 +179,14 @@ protected:
* different bits of regions according to whether or not they are the one
* that will be played at any given time.
*/
- std::list<ArdourCanvas::Rectangle*> _coverage_frames;
+ std::list<ArdourCanvas::Rectangle*> _coverage_samples;
/** a list of rectangles used to show silent segments
*/
- std::list<ArdourCanvas::Rectangle*> _silent_frames;
+ std::list<ArdourCanvas::Rectangle*> _silent_samples;
/** a list of rectangles used to show the current silence threshold
*/
- std::list<ArdourCanvas::Rectangle*> _silent_threshold_frames;
+ std::list<ArdourCanvas::Rectangle*> _silent_threshold_samples;
/** a text item to display strip silence statistics */
ArdourCanvas::Text* _silence_text;
};
diff --git a/gtk2_ardour/rhythm_ferret.cc b/gtk2_ardour/rhythm_ferret.cc
index aa4a8c908a..8eb64840f6 100644
--- a/gtk2_ardour/rhythm_ferret.cc
+++ b/gtk2_ardour/rhythm_ferret.cc
@@ -257,10 +257,10 @@ RhythmFerret::run_analysis ()
}
int
-RhythmFerret::run_percussion_onset_analysis (boost::shared_ptr<Readable> readable, frameoffset_t /*offset*/, AnalysisFeatureList& results)
+RhythmFerret::run_percussion_onset_analysis (boost::shared_ptr<Readable> readable, sampleoffset_t /*offset*/, AnalysisFeatureList& results)
{
try {
- TransientDetector t (_session->frame_rate());
+ TransientDetector t (_session->sample_rate());
for (uint32_t i = 0; i < readable->n_channels(); ++i) {
@@ -312,10 +312,10 @@ RhythmFerret::get_note_onset_function ()
}
int
-RhythmFerret::run_note_onset_analysis (boost::shared_ptr<Readable> readable, frameoffset_t /*offset*/, AnalysisFeatureList& results)
+RhythmFerret::run_note_onset_analysis (boost::shared_ptr<Readable> readable, sampleoffset_t /*offset*/, AnalysisFeatureList& results)
{
try {
- OnsetDetector t (_session->frame_rate());
+ OnsetDetector t (_session->sample_rate());
for (uint32_t i = 0; i < readable->n_channels(); ++i) {
@@ -347,7 +347,7 @@ RhythmFerret::run_note_onset_analysis (boost::shared_ptr<Readable> readable, fra
}
if (!results.empty()) {
- OnsetDetector::cleanup_onsets (results, _session->frame_rate(), trigger_gap_adjustment.get_value());
+ OnsetDetector::cleanup_onsets (results, _session->sample_rate(), trigger_gap_adjustment.get_value());
}
return 0;
diff --git a/gtk2_ardour/rhythm_ferret.h b/gtk2_ardour/rhythm_ferret.h
index df0a9b3dfe..5f14509a18 100644
--- a/gtk2_ardour/rhythm_ferret.h
+++ b/gtk2_ardour/rhythm_ferret.h
@@ -115,8 +115,8 @@ private:
int get_note_onset_function ();
void run_analysis ();
- int run_percussion_onset_analysis (boost::shared_ptr<ARDOUR::Readable> region, ARDOUR::frameoffset_t offset, ARDOUR::AnalysisFeatureList& results);
- int run_note_onset_analysis (boost::shared_ptr<ARDOUR::Readable> region, ARDOUR::frameoffset_t offset, ARDOUR::AnalysisFeatureList& results);
+ int run_percussion_onset_analysis (boost::shared_ptr<ARDOUR::Readable> region, ARDOUR::sampleoffset_t offset, ARDOUR::AnalysisFeatureList& results);
+ int run_note_onset_analysis (boost::shared_ptr<ARDOUR::Readable> region, ARDOUR::sampleoffset_t offset, ARDOUR::AnalysisFeatureList& results);
void do_action ();
void do_split_action ();
diff --git a/gtk2_ardour/route_params_ui.cc b/gtk2_ardour/route_params_ui.cc
index 2077412670..0b2477dd1a 100644
--- a/gtk2_ardour/route_params_ui.cc
+++ b/gtk2_ardour/route_params_ui.cc
@@ -70,9 +70,9 @@ RouteParams_UI::RouteParams_UI ()
using namespace Notebook_Helpers;
- input_frame.set_shadow_type(Gtk::SHADOW_NONE);
- output_frame.set_shadow_type(Gtk::SHADOW_NONE);
- latency_frame.set_shadow_type (Gtk::SHADOW_NONE);
+ input_sample.set_shadow_type(Gtk::SHADOW_NONE);
+ output_sample.set_shadow_type(Gtk::SHADOW_NONE);
+ latency_sample.set_shadow_type (Gtk::SHADOW_NONE);
notebook.set_show_tabs (true);
notebook.set_show_border (true);
@@ -96,16 +96,16 @@ RouteParams_UI::RouteParams_UI ()
route_select_scroller.add(route_display);
route_select_scroller.set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
- route_select_frame.set_name("RouteSelectBaseFrame");
- route_select_frame.set_shadow_type (Gtk::SHADOW_IN);
- route_select_frame.add(route_select_scroller);
+ route_select_sample.set_name("RouteSelectBaseFrame");
+ route_select_sample.set_shadow_type (Gtk::SHADOW_IN);
+ route_select_sample.add(route_select_scroller);
- list_vpacker.pack_start (route_select_frame, true, true);
+ list_vpacker.pack_start (route_select_sample, true, true);
- notebook.pages().push_back (TabElem (input_frame, _("Inputs")));
- notebook.pages().push_back (TabElem (output_frame, _("Outputs")));
+ notebook.pages().push_back (TabElem (input_sample, _("Inputs")));
+ notebook.pages().push_back (TabElem (output_sample, _("Outputs")));
notebook.pages().push_back (TabElem (redir_hpane, _("Plugins, Inserts & Sends")));
- notebook.pages().push_back (TabElem (latency_frame, _("Latency")));
+ notebook.pages().push_back (TabElem (latency_sample, _("Latency")));
notebook.set_name ("InspectorNotebook");
@@ -117,8 +117,8 @@ RouteParams_UI::RouteParams_UI ()
delay_label.set_alignment (0, 0.5);
// changeable area
- route_param_frame.set_name("RouteParamsBaseFrame");
- route_param_frame.set_shadow_type (Gtk::SHADOW_IN);
+ route_param_sample.set_name("RouteParamsBaseFrame");
+ route_param_sample.set_shadow_type (Gtk::SHADOW_IN);
route_hpacker.pack_start (notebook, true, true);
@@ -276,10 +276,10 @@ RouteParams_UI::refresh_latency ()
}
void
-RouteParams_UI::cleanup_latency_frame ()
+RouteParams_UI::cleanup_latency_sample ()
{
if (latency_widget) {
- latency_frame.remove ();
+ latency_sample.remove ();
latency_packer.remove (*latency_widget);
latency_packer.remove (latency_button_box);
latency_packer.remove (delay_label);
@@ -293,9 +293,9 @@ RouteParams_UI::cleanup_latency_frame ()
}
void
-RouteParams_UI::setup_latency_frame ()
+RouteParams_UI::setup_latency_sample ()
{
- latency_widget = new LatencyGUI (*(_route->output()), _session->frame_rate(), AudioEngine::instance()->samples_per_cycle());
+ latency_widget = new LatencyGUI (*(_route->output()), _session->sample_rate(), AudioEngine::instance()->samples_per_cycle());
char buf[128];
snprintf (buf, sizeof (buf), _("Playback delay: %" PRId64 " samples"), _route->initial_delay());
@@ -309,34 +309,34 @@ RouteParams_UI::setup_latency_frame ()
_route->signal_latency_changed.connect (latency_connections, invalidator (*this), boost::bind (&RouteParams_UI::refresh_latency, this), gui_context());
_route->initial_delay_changed.connect (latency_connections, invalidator (*this), boost::bind (&RouteParams_UI::refresh_latency, this), gui_context());
- latency_frame.add (latency_packer);
- latency_frame.show_all ();
+ latency_sample.add (latency_packer);
+ latency_sample.show_all ();
}
void
-RouteParams_UI::setup_io_frames()
+RouteParams_UI::setup_io_samples()
{
- cleanup_io_frames();
+ cleanup_io_samples();
// input
_input_iosel = new IOSelector (this, _session, _route->input());
_input_iosel->setup ();
- input_frame.add (*_input_iosel);
- input_frame.show_all();
+ input_sample.add (*_input_iosel);
+ input_sample.show_all();
// output
_output_iosel = new IOSelector (this, _session, _route->output());
_output_iosel->setup ();
- output_frame.add (*_output_iosel);
- output_frame.show_all();
+ output_sample.add (*_output_iosel);
+ output_sample.show_all();
}
void
-RouteParams_UI::cleanup_io_frames()
+RouteParams_UI::cleanup_io_samples()
{
if (_input_iosel) {
_input_iosel->Finished (IOSelector::Cancelled);
- input_frame.remove();
+ input_sample.remove();
delete _input_iosel;
_input_iosel = 0;
}
@@ -344,7 +344,7 @@ RouteParams_UI::cleanup_io_frames()
if (_output_iosel) {
_output_iosel->Finished (IOSelector::Cancelled);
- output_frame.remove();
+ output_sample.remove();
delete _output_iosel;
_output_iosel = 0;
}
@@ -391,7 +391,7 @@ RouteParams_UI::route_removed (boost::weak_ptr<Route> wr)
}
if (route == _route) {
- cleanup_io_frames();
+ cleanup_io_samples();
cleanup_view();
cleanup_processor_boxes();
@@ -429,10 +429,10 @@ RouteParams_UI::session_going_away ()
route_display_model->clear();
- cleanup_io_frames();
+ cleanup_io_samples();
cleanup_view();
cleanup_processor_boxes();
- cleanup_latency_frame ();
+ cleanup_latency_sample ();
_route.reset ((Route*) 0);
_processor.reset ((Processor*) 0);
@@ -459,17 +459,17 @@ RouteParams_UI::route_selected()
_route_processors_connection.disconnect ();
cleanup_processor_boxes();
cleanup_view();
- cleanup_io_frames();
- cleanup_latency_frame ();
+ cleanup_io_samples();
+ cleanup_latency_sample ();
}
// update the other panes with the correct info
_route = route;
//update_routeinfo (route);
- setup_io_frames();
+ setup_io_samples();
setup_processor_boxes();
- setup_latency_frame ();
+ setup_latency_sample ();
route->processors_changed.connect (_route_processors_connection, invalidator (*this), boost::bind (&RouteParams_UI::processors_changed, this, _1), gui_context());
@@ -483,10 +483,10 @@ RouteParams_UI::route_selected()
_route_processors_connection.disconnect ();
// remove from view
- cleanup_io_frames();
+ cleanup_io_samples();
cleanup_view();
cleanup_processor_boxes();
- cleanup_latency_frame ();
+ cleanup_latency_sample ();
_route.reset ((Route*) 0);
_processor.reset ((Processor*) 0);
diff --git a/gtk2_ardour/route_params_ui.h b/gtk2_ardour/route_params_ui.h
index 76a56c7957..98542171a2 100644
--- a/gtk2_ardour/route_params_ui.h
+++ b/gtk2_ardour/route_params_ui.h
@@ -71,11 +71,11 @@ private:
Gtk::ScrolledWindow route_select_scroller;
Gtk::Notebook notebook;
- Gtk::Frame input_frame;
- Gtk::Frame output_frame;
+ Gtk::Frame input_sample;
+ Gtk::Frame output_sample;
ArdourWidgets::HPane redir_hpane;
- Gtk::Frame route_select_frame;
+ Gtk::Frame route_select_sample;
Gtk::HBox route_hpacker;
Gtk::VBox route_vpacker;
@@ -86,11 +86,11 @@ private:
ArdourWidgets::HPane right_hpane;
- Gtk::Frame route_param_frame;
+ Gtk::Frame route_param_sample;
Gtk::VBox choice_vpacker;
- Gtk::Frame latency_frame;
+ Gtk::Frame latency_sample;
Gtk::VBox latency_packer;
Gtk::HButtonBox latency_button_box;
Gtk::Button latency_apply_button;
@@ -160,11 +160,11 @@ private:
void route_selected();
//void route_unselected (gint row, gint col, GdkEvent *ev);
- void setup_io_frames();
- void cleanup_io_frames();
+ void setup_io_samples();
+ void cleanup_io_samples();
void cleanup_view(bool stopupdate = true);
- void cleanup_latency_frame ();
- void setup_latency_frame ();
+ void cleanup_latency_sample ();
+ void setup_latency_sample ();
void processors_changed (ARDOUR::RouteProcessorChange);
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 0a22ed82dc..7614093e02 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -867,7 +867,7 @@ RouteTimeAxisView::build_display_menu ()
}
void
-RouteTimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layers, int layer)
+RouteTimeAxisView::show_timestretch (samplepos_t start, samplepos_t end, int layers, int layer)
{
TimeAxisView::show_timestretch (start, end, layers, layer);
@@ -1292,7 +1292,7 @@ RouteTimeAxisView::set_selected_regionviews (RegionSelection& regions)
* @param results List to add things to.
*/
void
-RouteTimeAxisView::get_selectables (framepos_t start, framepos_t end, double top, double bot, list<Selectable*>& results, bool within)
+RouteTimeAxisView::get_selectables (samplepos_t start, samplepos_t end, double top, double bot, list<Selectable*>& results, bool within)
{
if ((_view && ((top < 0.0 && bot < 0.0))) || touched (top, bot)) {
_view->get_selectables (start, end, top, bot, results, within);
@@ -1360,7 +1360,7 @@ RouteTimeAxisView::name_entry_changed (string const& str)
}
boost::shared_ptr<Region>
-RouteTimeAxisView::find_next_region (framepos_t pos, RegionPoint point, int32_t dir)
+RouteTimeAxisView::find_next_region (samplepos_t pos, RegionPoint point, int32_t dir)
{
boost::shared_ptr<Playlist> pl = playlist ();
@@ -1371,8 +1371,8 @@ RouteTimeAxisView::find_next_region (framepos_t pos, RegionPoint point, int32_t
return boost::shared_ptr<Region> ();
}
-framepos_t
-RouteTimeAxisView::find_next_region_boundary (framepos_t pos, int32_t dir)
+samplepos_t
+RouteTimeAxisView::find_next_region_boundary (samplepos_t pos, int32_t dir)
{
boost::shared_ptr<Playlist> pl = playlist ();
@@ -1485,7 +1485,7 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
}
bool
-RouteTimeAxisView::paste (framepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
+RouteTimeAxisView::paste (samplepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
{
if (!is_track()) {
return false;
@@ -1503,15 +1503,15 @@ RouteTimeAxisView::paste (framepos_t pos, const Selection& selection, PasteConte
DEBUG_TRACE (DEBUG::CutNPaste, string_compose ("paste to %1\n", pos));
/* add multi-paste offset if applicable */
- std::pair<framepos_t, framepos_t> extent = (*p)->get_extent();
- const framecnt_t duration = extent.second - extent.first;
+ std::pair<samplepos_t, samplepos_t> extent = (*p)->get_extent();
+ const samplecnt_t duration = extent.second - extent.first;
pos += _editor.get_paste_offset(pos, ctx.count, duration);
pl->clear_changes ();
pl->clear_owned_changes ();
if (Config->get_edit_mode() == Ripple) {
- std::pair<framepos_t, framepos_t> extent = (*p)->get_extent_with_endspace();
- framecnt_t amount = extent.second - extent.first;
+ std::pair<samplepos_t, samplepos_t> extent = (*p)->get_extent_with_endspace();
+ samplecnt_t amount = extent.second - extent.first;
pl->ripple(pos, amount * ctx.times, boost::shared_ptr<Region>());
}
pl->paste (*p, pos, ctx.times, sub_num);
diff --git a/gtk2_ardour/route_time_axis.h b/gtk2_ardour/route_time_axis.h
index 3868dfebd1..48af0f82b2 100644
--- a/gtk2_ardour/route_time_axis.h
+++ b/gtk2_ardour/route_time_axis.h
@@ -90,22 +90,22 @@ public:
void set_samples_per_pixel (double);
void set_height (uint32_t h, TrackHeightMode m = OnlySelf);
- void show_timestretch (framepos_t start, framepos_t end, int layers, int layer);
+ void show_timestretch (samplepos_t start, samplepos_t end, int layers, int layer);
void hide_timestretch ();
void selection_click (GdkEventButton*);
void set_selected_points (PointSelection&);
void set_selected_regionviews (RegionSelection&);
- void get_selectables (ARDOUR::framepos_t start, ARDOUR::framepos_t end, double top, double bot, std::list<Selectable *>&, bool within = false);
+ void get_selectables (ARDOUR::samplepos_t start, ARDOUR::samplepos_t end, double top, double bot, std::list<Selectable *>&, bool within = false);
void get_inverted_selectables (Selection&, std::list<Selectable*>&);
void set_layer_display (LayerDisplay d, bool apply_to_selection = false);
LayerDisplay layer_display () const;
- boost::shared_ptr<ARDOUR::Region> find_next_region (framepos_t pos, ARDOUR::RegionPoint, int32_t dir);
- framepos_t find_next_region_boundary (framepos_t pos, int32_t dir);
+ boost::shared_ptr<ARDOUR::Region> find_next_region (samplepos_t pos, ARDOUR::RegionPoint, int32_t dir);
+ samplepos_t find_next_region_boundary (samplepos_t pos, int32_t dir);
/* Editing operations */
void cut_copy_clear (Selection&, Editing::CutCopyOp);
- bool paste (ARDOUR::framepos_t, const Selection&, PasteContext& ctx, const int32_t sub_num);
+ bool paste (ARDOUR::samplepos_t, const Selection&, PasteContext& ctx, const int32_t sub_num);
RegionView* combine_regions ();
void uncombine_regions ();
void uncombine_region (RegionView*);
@@ -228,7 +228,7 @@ protected:
virtual void show_existing_automation (bool apply_to_selection = false);
virtual void hide_all_automation (bool apply_to_selection = false);
- void timestretch (framepos_t start, framepos_t end);
+ void timestretch (samplepos_t start, samplepos_t end);
void speed_changed ();
void map_frozen ();
void color_handler ();
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index dd36aa05c9..b9ece1ed07 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -499,7 +499,7 @@ RouteUI::mute_press (GdkEventButton* ev)
}
boost::shared_ptr<MuteControl> mc = _route->mute_control();
- mc->start_touch (_session->audible_frame ());
+ mc->start_touch (_session->audible_sample ());
_session->set_controls (route_list_to_control_list (rl, &Stripable::mute_control), _route->muted_by_self() ? 0.0 : 1.0, Controllable::InverseGroup);
}
@@ -515,7 +515,7 @@ RouteUI::mute_press (GdkEventButton* ev)
}
boost::shared_ptr<MuteControl> mc = _route->mute_control();
- mc->start_touch (_session->audible_frame ());
+ mc->start_touch (_session->audible_sample ());
mc->set_value (!_route->muted_by_self(), Controllable::UseGroup);
}
}
@@ -533,7 +533,7 @@ RouteUI::mute_release (GdkEventButton* /*ev*/)
_mute_release = 0;
}
- _route->mute_control()->stop_touch (_session->audible_frame ());
+ _route->mute_control()->stop_touch (_session->audible_sample ());
return false;
}
@@ -1920,7 +1920,7 @@ RouteUI::map_frozen ()
void
RouteUI::adjust_latency ()
{
- LatencyDialog dialog (_route->name() + _(" latency"), *(_route->output()), _session->frame_rate(), AudioEngine::instance()->samples_per_cycle());
+ LatencyDialog dialog (_route->name() + _(" latency"), *(_route->output()), _session->sample_rate(), AudioEngine::instance()->samples_per_cycle());
}
diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc
index a75574bb19..da68450d7b 100644
--- a/gtk2_ardour/selection.cc
+++ b/gtk2_ardour/selection.cc
@@ -338,7 +338,7 @@ Selection::toggle (vector<RegionView*>& r)
}
long
-Selection::toggle (framepos_t start, framepos_t end)
+Selection::toggle (samplepos_t start, samplepos_t end)
{
clear_objects(); //enforce object/range exclusivity
@@ -484,7 +484,7 @@ Selection::add (MidiRegionView* mrv)
}
long
-Selection::add (framepos_t start, framepos_t end)
+Selection::add (samplepos_t start, samplepos_t end)
{
clear_objects(); //enforce object/range exclusivity
@@ -502,7 +502,7 @@ Selection::add (framepos_t start, framepos_t end)
}
void
-Selection::move_time (framecnt_t distance)
+Selection::move_time (samplecnt_t distance)
{
if (distance == 0) {
return;
@@ -517,7 +517,7 @@ Selection::move_time (framecnt_t distance)
}
void
-Selection::replace (uint32_t sid, framepos_t start, framepos_t end)
+Selection::replace (uint32_t sid, samplepos_t start, samplepos_t end)
{
clear_objects(); //enforce object/range exclusivity
@@ -673,7 +673,7 @@ Selection::remove (uint32_t selection_id)
}
void
-Selection::remove (framepos_t /*start*/, framepos_t /*end*/)
+Selection::remove (samplepos_t /*start*/, samplepos_t /*end*/)
{
}
@@ -770,7 +770,7 @@ Selection::set (vector<RegionView*>& v)
* the list of tracks it applies to.
*/
long
-Selection::set (framepos_t start, framepos_t end)
+Selection::set (samplepos_t start, samplepos_t end)
{
clear_objects(); //enforce region/object exclusivity
clear_time();
@@ -807,7 +807,7 @@ Selection::set (framepos_t start, framepos_t end)
* @param end New end time.
*/
void
-Selection::set_preserving_all_ranges (framepos_t start, framepos_t end)
+Selection::set_preserving_all_ranges (samplepos_t start, samplepos_t end)
{
clear_objects(); //enforce region/object exclusivity
@@ -1108,9 +1108,9 @@ Selection::add (const list<ArdourMarker*>& m)
}
void
-MarkerSelection::range (framepos_t& s, framepos_t& e)
+MarkerSelection::range (samplepos_t& s, samplepos_t& e)
{
- s = max_framepos;
+ s = max_samplepos;
e = 0;
for (MarkerSelection::iterator i = begin(); i != end(); ++i) {
@@ -1370,8 +1370,8 @@ Selection::set_state (XMLNode const & node, int)
}
} else if ((*i)->name() == X_("AudioRange")) {
- framepos_t start;
- framepos_t end;
+ samplepos_t start;
+ samplepos_t end;
if (!(*i)->get_property (X_("start"), start) || !(*i)->get_property (X_("end"), end)) {
assert(false);
diff --git a/gtk2_ardour/selection.h b/gtk2_ardour/selection.h
index 7b0da04f82..869589f285 100644
--- a/gtk2_ardour/selection.h
+++ b/gtk2_ardour/selection.h
@@ -128,8 +128,8 @@ public:
void set (RegionView*, bool also_clear_tracks = true);
void set (MidiRegionView*);
void set (std::vector<RegionView*>&);
- long set (framepos_t, framepos_t);
- void set_preserving_all_ranges (framepos_t, framepos_t);
+ long set (samplepos_t, samplepos_t);
+ void set_preserving_all_ranges (samplepos_t, samplepos_t);
void set (boost::shared_ptr<Evoral::ControlList>);
void set (boost::shared_ptr<ARDOUR::Playlist>);
void set (const std::list<boost::shared_ptr<ARDOUR::Playlist> >&);
@@ -144,7 +144,7 @@ public:
void toggle (MidiRegionView*);
void toggle (MidiCutBuffer*);
void toggle (std::vector<RegionView*>&);
- long toggle (framepos_t, framepos_t);
+ long toggle (samplepos_t, samplepos_t);
void toggle (ARDOUR::AutomationList*);
void toggle (boost::shared_ptr<ARDOUR::Playlist>);
void toggle (const std::list<boost::shared_ptr<ARDOUR::Playlist> >&);
@@ -159,7 +159,7 @@ public:
void add (MidiRegionView*);
void add (MidiCutBuffer*);
void add (std::vector<RegionView*>&);
- long add (framepos_t, framepos_t);
+ long add (samplepos_t, samplepos_t);
void add (boost::shared_ptr<Evoral::ControlList>);
void add (boost::shared_ptr<ARDOUR::Playlist>);
void add (const std::list<boost::shared_ptr<ARDOUR::Playlist> >&);
@@ -176,7 +176,7 @@ public:
void remove (MidiRegionView*);
void remove (MidiCutBuffer*);
void remove (uint32_t selection_id);
- void remove (framepos_t, framepos_t);
+ void remove (samplepos_t, samplepos_t);
void remove (boost::shared_ptr<ARDOUR::AutomationList>);
void remove (boost::shared_ptr<ARDOUR::Playlist>);
void remove (const std::list<boost::shared_ptr<ARDOUR::Playlist> >&);
@@ -186,9 +186,9 @@ public:
void remove_regions (TimeAxisView *);
- void move_time (framecnt_t);
+ void move_time (samplecnt_t);
- void replace (uint32_t time_index, framepos_t start, framepos_t end);
+ void replace (uint32_t time_index, samplepos_t start, samplepos_t end);
/*
* A note about items in an editing Selection:
diff --git a/gtk2_ardour/selection_memento.cc b/gtk2_ardour/selection_memento.cc
index fb5c417292..89eda56ccb 100644
--- a/gtk2_ardour/selection_memento.cc
+++ b/gtk2_ardour/selection_memento.cc
@@ -67,7 +67,7 @@ SelectionMemento::set_state (const XMLNode& node, int /*version*/) {
editor.reset_zoom (llrintf (zoom));
}
- framepos_t pos;
+ samplepos_t pos;
if (node.get_property ("left-frame", pos)) {
if (pos < 0) {
pos = 0;
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index 8ad6e2d388..0164366f74 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -99,10 +99,10 @@ SessionDialog::SessionDialog (bool require_new, const std::string& session_name,
* and invisible most of the time.
*/
- info_frame.set_shadow_type(SHADOW_ETCHED_OUT);
- info_frame.set_no_show_all (true);
- info_frame.set_border_width (12);
- get_vbox()->pack_start (info_frame, false, false);
+ info_sample.set_shadow_type(SHADOW_ETCHED_OUT);
+ info_sample.set_no_show_all (true);
+ info_sample.set_border_width (12);
+ get_vbox()->pack_start (info_sample, false, false);
setup_new_session_page ();
@@ -453,9 +453,9 @@ SessionDialog::setup_initial_choice_box ()
info_box->pack_start (*updates_button, false, false);
- info_frame.add (*info_box);
+ info_sample.add (*info_box);
info_box->show_all ();
- info_frame.show ();
+ info_sample.show ();
}
/* recent session scroller */
@@ -698,9 +698,9 @@ SessionDialog::setup_new_session_page ()
template_hbox->pack_start (*template_scroller, true, true);
- template_desc_frame.set_name (X_("TextHighlightFrame"));
- template_desc_frame.add (*desc_scroller);
- template_hbox->pack_start (template_desc_frame, true, true);
+ template_desc_sample.set_name (X_("TextHighlightFrame"));
+ template_desc_sample.add (*desc_scroller);
+ template_hbox->pack_start (template_desc_sample, true, true);
}
//template_desc is the textview that displays the currently selected template's description
diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h
index 9d4f08ed97..aa418addfc 100644
--- a/gtk2_ardour/session_dialog.h
+++ b/gtk2_ardour/session_dialog.h
@@ -84,7 +84,7 @@ private:
bool back_button_pressed (GdkEventButton*);
bool open_button_pressed (GdkEventButton*);
- Gtk::Frame info_frame;
+ Gtk::Frame info_sample;
/* initial choice page */
@@ -175,7 +175,7 @@ private:
void template_row_selected ();
Gtk::TextView template_desc;
- Gtk::Frame template_desc_frame;
+ Gtk::Frame template_desc_sample;
Gtk::VBox session_new_vbox;
Gtk::VBox session_existing_vbox;
diff --git a/gtk2_ardour/session_import_dialog.cc b/gtk2_ardour/session_import_dialog.cc
index 775b736076..caecd979a5 100644
--- a/gtk2_ardour/session_import_dialog.cc
+++ b/gtk2_ardour/session_import_dialog.cc
@@ -62,12 +62,12 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session* target) :
file_hbox.pack_start (file_entry, true, true);
file_hbox.pack_start (file_browse_button, false, false);
- file_frame.add (file_hbox);
- file_frame.set_border_width (5);
- file_frame.set_name ("ImportFrom");
- file_frame.set_label (_("Import from Session"));
+ file_sample.add (file_hbox);
+ file_sample.set_border_width (5);
+ file_sample.set_name ("ImportFrom");
+ file_sample.set_label (_("Import from Session"));
- get_vbox()->pack_start (file_frame, false, false);
+ get_vbox()->pack_start (file_sample, false, false);
// Session browser
session_tree = TreeStore::create (sb_cols);
diff --git a/gtk2_ardour/session_import_dialog.h b/gtk2_ardour/session_import_dialog.h
index a6ed77516e..35dc15dcc0 100644
--- a/gtk2_ardour/session_import_dialog.h
+++ b/gtk2_ardour/session_import_dialog.h
@@ -78,7 +78,7 @@ private:
XMLTree tree;
// GUI
- Gtk::Frame file_frame;
+ Gtk::Frame file_sample;
Gtk::HBox file_hbox;
Gtk::Entry file_entry;
Gtk::Button file_browse_button;
diff --git a/gtk2_ardour/session_option_editor.cc b/gtk2_ardour/session_option_editor.cc
index 6c16245ae6..025b0054ec 100644
--- a/gtk2_ardour/session_option_editor.cc
+++ b/gtk2_ardour/session_option_editor.cc
@@ -42,7 +42,7 @@ SessionOptionEditor::SessionOptionEditor (Session* s)
ComboOption<TimecodeFormat>* smf = new ComboOption<TimecodeFormat> (
"timecode-format",
- _("Timecode frames-per-second"),
+ _("Timecode samples-per-second"),
sigc::mem_fun (*_session_config, &SessionConfiguration::get_timecode_format),
sigc::mem_fun (*_session_config, &SessionConfiguration::set_timecode_format)
);
diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc
index c9788c8314..61905e209b 100644
--- a/gtk2_ardour/sfdb_ui.cc
+++ b/gtk2_ardour/sfdb_ui.cc
@@ -153,10 +153,10 @@ SoundFileBox::SoundFileBox (bool /*persistent*/)
preview_label.set_markup (_("<b>Sound File Information</b>"));
- border_frame.set_label_widget (preview_label);
- border_frame.add (main_box);
+ border_sample.set_label_widget (preview_label);
+ border_sample.add (main_box);
- pack_start (border_frame, true, true);
+ pack_start (border_sample, true, true);
set_border_width (6);
main_box.set_border_width (6);
@@ -275,7 +275,7 @@ SoundFileBox::audition_active(bool active) {
}
void
-SoundFileBox::audition_progress(ARDOUR::framecnt_t pos, ARDOUR::framecnt_t len) {
+SoundFileBox::audition_progress(ARDOUR::samplecnt_t pos, ARDOUR::samplecnt_t len) {
if (!_seeking) {
seek_slider.set_value( 1000.0 * pos / len);
seek_slider.set_sensitive (true);
@@ -397,7 +397,7 @@ SoundFileBox::setup_labels (const string& filename)
format_text.set_text (n);
channels_value.set_text (to_string (sf_info.channels));
- if (_session && sf_info.samplerate != _session->frame_rate()) {
+ if (_session && sf_info.samplerate != _session->sample_rate()) {
samplerate.set_markup (string_compose ("<b>%1</b>", _("Sample rate:")));
samplerate_value.set_markup (string_compose (X_("<b>%1 Hz</b>"), sf_info.samplerate));
samplerate_value.set_name ("NewSessionSR1Label");
@@ -409,7 +409,7 @@ SoundFileBox::setup_labels (const string& filename)
samplerate.set_name ("NewSessionSR2Label");
}
- framecnt_t const nfr = _session ? _session->nominal_frame_rate() : 25;
+ samplecnt_t const nfr = _session ? _session->nominal_sample_rate() : 25;
double src_coef = (double) nfr / sf_info.samplerate;
length_clock.set (sf_info.length * src_coef + 0.5, true);
@@ -516,7 +516,7 @@ SoundFileBox::audition ()
SourceFactory::createExternal (DataType::AUDIO, *_session,
path, n,
Source::Flag (ARDOUR::AudioFileSource::NoPeakFile), false));
- if (afs->sample_rate() != _session->nominal_frame_rate()) {
+ if (afs->sample_rate() != _session->nominal_sample_rate()) {
boost::shared_ptr<SrcFileSource> sfs (new SrcFileSource(*_session, afs, _src_quality));
srclist.push_back(sfs);
} else {
@@ -549,16 +549,16 @@ SoundFileBox::audition ()
r = boost::dynamic_pointer_cast<AudioRegion> (RegionFactory::create (srclist, plist, false));
}
- frameoffset_t audition_position = 0;
+ sampleoffset_t audition_position = 0;
switch(_import_position) {
case ImportAtTimestamp:
audition_position = 0;
break;
case ImportAtPlayhead:
- audition_position = _session->transport_frame();
+ audition_position = _session->transport_sample();
break;
case ImportAtStart:
- audition_position = _session->current_start_frame();
+ audition_position = _session->current_start_sample();
break;
case ImportAtEditPoint:
audition_position = PublicEditor::instance().get_preferred_edit_position ();
@@ -1636,7 +1636,7 @@ bool
SoundFileOmega::check_info (const vector<string>& paths, bool& same_size, bool& src_needed, bool& multichannel)
{
SoundFileInfo info;
- framepos_t sz = 0;
+ samplepos_t sz = 0;
bool err = false;
string errmsg;
@@ -1658,7 +1658,7 @@ SoundFileOmega::check_info (const vector<string>& paths, bool& same_size, bool&
}
}
- if (info.samplerate != _session->frame_rate()) {
+ if (info.samplerate != _session->sample_rate()) {
src_needed = true;
}
@@ -2066,7 +2066,7 @@ SoundFileOmega::do_something (int action)
ImportMode mode = get_mode ();
ImportDisposition chns = get_channel_disposition ();
PluginInfoPtr instrument = instrument_combo.selected_instrument();
- framepos_t where;
+ samplepos_t where;
MidiTrackNameSource mts = get_midi_track_name_source ();
MidiTempoMapDisposition mtd = (get_use_smf_tempo_map () ? SMFTempoUse : SMFTempoIgnore);
@@ -2078,10 +2078,10 @@ SoundFileOmega::do_something (int action)
where = -1;
break;
case ImportAtPlayhead:
- where = _session->transport_frame();
+ where = _session->transport_sample();
break;
case ImportAtStart:
- where = _session->current_start_frame();
+ where = _session->current_start_sample();
break;
}
diff --git a/gtk2_ardour/sfdb_ui.h b/gtk2_ardour/sfdb_ui.h
index 6fa69f21a2..1167271d5a 100644
--- a/gtk2_ardour/sfdb_ui.h
+++ b/gtk2_ardour/sfdb_ui.h
@@ -96,7 +96,7 @@ protected:
AudioClock length_clock;
AudioClock timecode_clock;
- Gtk::Frame border_frame;
+ Gtk::Frame border_sample;
Gtk::Label preview_label;
Gtk::TextView tags_entry;
@@ -113,7 +113,7 @@ protected:
PBD::ScopedConnectionList auditioner_connections;
void audition_active(bool);
- void audition_progress(ARDOUR::framecnt_t, ARDOUR::framecnt_t);
+ void audition_progress(ARDOUR::samplecnt_t, ARDOUR::samplecnt_t);
void update_autoplay ();
void autoplay_toggled ();
diff --git a/gtk2_ardour/simple_progress_dialog.h b/gtk2_ardour/simple_progress_dialog.h
index 494bf12296..c05668b07d 100644
--- a/gtk2_ardour/simple_progress_dialog.h
+++ b/gtk2_ardour/simple_progress_dialog.h
@@ -26,7 +26,7 @@ public:
get_vbox()->pack_start (*cancel_button, PACK_SHRINK);
}
- void update_progress (framecnt_t c, framecnt_t t) {
+ void update_progress (samplecnt_t c, samplecnt_t t) {
pbar->set_fraction ((float) c / (float) t);
// see also ARDOUR_UI::gui_idle_handler();
int timeout = 30;
diff --git a/gtk2_ardour/soundcloud_export_selector.cc b/gtk2_ardour/soundcloud_export_selector.cc
index 1ab13a6b36..3a1d5a1d2b 100644
--- a/gtk2_ardour/soundcloud_export_selector.cc
+++ b/gtk2_ardour/soundcloud_export_selector.cc
@@ -62,16 +62,16 @@ SoundcloudExportSelector::SoundcloudExportSelector () :
soundcloud_username_entry.set_text (ARDOUR::SessionMetadata::Metadata()->user_email());
soundcloud_password_entry.set_visibility (false);
- Gtk::Frame *sc_frame = manage (new Gtk::Frame);
- sc_frame->set_border_width (4);
- sc_frame->set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
- sc_frame->set_name ("soundcloud_export_box");
- pack_start (*sc_frame, false, false);
+ Gtk::Frame *sc_sample = manage (new Gtk::Frame);
+ sc_sample->set_border_width (4);
+ sc_sample->set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
+ sc_sample->set_name ("soundcloud_export_box");
+ pack_start (*sc_sample, false, false);
sc_table.set_border_width (4);
sc_table.set_col_spacings (5);
sc_table.set_row_spacings (5);
- sc_frame->add (sc_table);
+ sc_sample->add (sc_table);
sc_table.attach ( *(Gtk::manage (new Gtk::Image (ARDOUR_UI_UTILS::get_icon (X_("soundcloud"))))) , 0, 1, 0, 2);
@@ -84,7 +84,7 @@ SoundcloudExportSelector::SoundcloudExportSelector () :
sc_table.attach (soundcloud_download_checkbox, 2, 3, 5, 6);
pack_end (progress_bar, false, false);
- sc_frame->show_all ();
+ sc_sample->show_all ();
}
diff --git a/gtk2_ardour/speaker_dialog.cc b/gtk2_ardour/speaker_dialog.cc
index 00495a8000..7fd8f08825 100644
--- a/gtk2_ardour/speaker_dialog.cc
+++ b/gtk2_ardour/speaker_dialog.cc
@@ -34,7 +34,7 @@ using namespace Gtkmm2ext;
SpeakerDialog::SpeakerDialog ()
: ArdourWindow (_("Speaker Configuration"))
- , aspect_frame ("", 0.5, 0.5, 1.5, false)
+ , aspect_sample ("", 0.5, 0.5, 1.5, false)
, azimuth_adjustment (0, 0.0, 360.0, 10.0, 1.0)
, azimuth_spinner (azimuth_adjustment)
, add_speaker_button (_("Add Speaker"))
@@ -49,13 +49,13 @@ SpeakerDialog::SpeakerDialog ()
side_vbox.set_spacing (6);
side_vbox.pack_start (add_speaker_button, false, false);
- aspect_frame.set_size_request (300, 200);
- aspect_frame.set_shadow_type (SHADOW_NONE);
- aspect_frame.add (darea);
+ aspect_sample.set_size_request (300, 200);
+ aspect_sample.set_shadow_type (SHADOW_NONE);
+ aspect_sample.add (darea);
hbox.set_spacing (6);
hbox.set_border_width (6);
- hbox.pack_start (aspect_frame, true, true);
+ hbox.pack_start (aspect_sample, true, true);
hbox.pack_start (side_vbox, false, false);
HBox* current_speaker_hbox = manage (new HBox);
diff --git a/gtk2_ardour/speaker_dialog.h b/gtk2_ardour/speaker_dialog.h
index 9521700380..8066ff56ec 100644
--- a/gtk2_ardour/speaker_dialog.h
+++ b/gtk2_ardour/speaker_dialog.h
@@ -42,7 +42,7 @@ private:
boost::weak_ptr<ARDOUR::Speakers> _speakers;
Gtk::HBox hbox;
Gtk::VBox side_vbox;
- Gtk::AspectFrame aspect_frame;
+ Gtk::AspectFrame aspect_sample;
Gtk::DrawingArea darea;
Gtk::Adjustment azimuth_adjustment;
Gtk::SpinButton azimuth_spinner;
diff --git a/gtk2_ardour/step_editor.cc b/gtk2_ardour/step_editor.cc
index ac51076a46..14327cd72d 100644
--- a/gtk2_ardour/step_editor.cc
+++ b/gtk2_ardour/step_editor.cc
@@ -115,11 +115,11 @@ StepEditor::prepare_step_edit_region ()
} else {
- const Meter& m = _mtv.session()->tempo_map().meter_at_frame (step_edit_insert_position);
- double baf = max (0.0, _mtv.session()->tempo_map().beat_at_frame (step_edit_insert_position));
+ const Meter& m = _mtv.session()->tempo_map().meter_at_sample (step_edit_insert_position);
+ double baf = max (0.0, _mtv.session()->tempo_map().beat_at_sample (step_edit_insert_position));
double next_bar_in_beats = baf + m.divisions_per_bar();
- framecnt_t next_bar_pos = _mtv.session()->tempo_map().frame_at_beat (next_bar_in_beats);
- framecnt_t len = next_bar_pos - step_edit_insert_position;
+ samplecnt_t next_bar_pos = _mtv.session()->tempo_map().sample_at_beat (next_bar_in_beats);
+ samplecnt_t len = next_bar_pos - step_edit_insert_position;
step_edit_region = _mtv.add_region (step_edit_insert_position, len, true);
@@ -135,16 +135,16 @@ StepEditor::reset_step_edit_beat_pos ()
assert (step_edit_region);
assert (step_edit_region_view);
- framecnt_t frames_from_start = _editor.get_preferred_edit_position() - step_edit_region->position();
+ samplecnt_t samples_from_start = _editor.get_preferred_edit_position() - step_edit_region->position();
- if (frames_from_start < 0) {
+ if (samples_from_start < 0) {
/* this can happen with snap enabled, and the edit point == Playhead. we snap the
position of the new region, and it can end up after the edit point.
*/
- frames_from_start = 0;
+ samples_from_start = 0;
}
- step_edit_beat_pos = step_edit_region_view->region_frames_to_region_beats (frames_from_start);
+ step_edit_beat_pos = step_edit_region_view->region_samples_to_region_beats (samples_from_start);
step_edit_region_view->move_step_edit_cursor (step_edit_beat_pos);
}
@@ -179,14 +179,14 @@ StepEditor::stop_step_editing ()
void
StepEditor::check_step_edit ()
{
- MidiRingBuffer<framepos_t>& incoming (_track->step_edit_ring_buffer());
+ MidiRingBuffer<samplepos_t>& incoming (_track->step_edit_ring_buffer());
uint8_t* buf;
uint32_t bufsize = 32;
buf = new uint8_t[bufsize];
while (incoming.read_space()) {
- framepos_t time;
+ samplepos_t time;
Evoral::EventType type;
uint32_t size;
@@ -234,7 +234,7 @@ StepEditor::move_step_edit_beat_pos (Evoral::Beats beats)
}
if (beats > 0.0) {
step_edit_beat_pos = min (step_edit_beat_pos + beats,
- step_edit_region_view->region_frames_to_region_beats (step_edit_region->length()));
+ step_edit_region_view->region_samples_to_region_beats (step_edit_region->length()));
} else if (beats < 0.0) {
if (-beats < step_edit_beat_pos) {
step_edit_beat_pos += beats; // its negative, remember
@@ -283,7 +283,7 @@ StepEditor::step_add_note (uint8_t channel, uint8_t pitch, uint8_t velocity, Evo
/* make sure its visible on the horizontal axis */
- framepos_t fpos = step_edit_region_view->region_beats_to_absolute_frames (step_edit_beat_pos + beat_duration);
+ samplepos_t fpos = step_edit_region_view->region_beats_to_absolute_samples (step_edit_beat_pos + beat_duration);
if (fpos >= (_editor.leftmost_sample() + _editor.current_page_samples())) {
_editor.reset_x_origin (fpos - (_editor.current_page_samples()/4));
@@ -409,9 +409,9 @@ StepEditor::step_edit_bar_sync ()
return;
}
- framepos_t fpos = step_edit_region_view->region_beats_to_absolute_frames (step_edit_beat_pos);
- fpos = _session->tempo_map().round_to_bar (fpos, RoundUpAlways).frame;
- step_edit_beat_pos = step_edit_region_view->region_frames_to_region_beats (fpos - step_edit_region->position()).round_up_to_beat();
+ samplepos_t fpos = step_edit_region_view->region_beats_to_absolute_samples (step_edit_beat_pos);
+ fpos = _session->tempo_map().round_to_bar (fpos, RoundUpAlways).sample;
+ step_edit_beat_pos = step_edit_region_view->region_samples_to_region_beats (fpos - step_edit_region->position()).round_up_to_beat();
step_edit_region_view->move_step_edit_cursor (step_edit_beat_pos);
}
diff --git a/gtk2_ardour/step_editor.h b/gtk2_ardour/step_editor.h
index b16cd8f863..cecd39f2a3 100644
--- a/gtk2_ardour/step_editor.h
+++ b/gtk2_ardour/step_editor.h
@@ -67,7 +67,7 @@ public:
void stop_step_editing ();
private:
- ARDOUR::framepos_t step_edit_insert_position;
+ ARDOUR::samplepos_t step_edit_insert_position;
Evoral::Beats step_edit_beat_pos;
boost::shared_ptr<ARDOUR::MidiRegion> step_edit_region;
MidiRegionView* step_edit_region_view;
diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc
index f13826e47b..c0917d7e57 100644
--- a/gtk2_ardour/streamview.cc
+++ b/gtk2_ardour/streamview.cc
@@ -63,7 +63,7 @@ StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Container* canvas_g
, _layers (1)
, _layer_display (Overlaid)
, height (tv.height)
- , last_rec_data_frame(0)
+ , last_rec_data_sample(0)
{
CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group %1", _trackview.name()));
@@ -158,7 +158,7 @@ StreamView::set_samples_per_pixel (double fpp)
recbox.rectangle->set_x1 (xend);
}
- update_coverage_frames ();
+ update_coverage_samples ();
return 0;
}
@@ -296,7 +296,7 @@ StreamView::playlist_layered (boost::weak_ptr<Track> wtr)
if (_layer_display == Stacked) {
update_contents_height ();
/* tricky. playlist_changed() does this as well, and its really inefficient. */
- update_coverage_frames ();
+ update_coverage_samples ();
} else {
/* layering has probably been modified. reflect this in the canvas. */
layer_regions();
@@ -324,14 +324,14 @@ StreamView::playlist_switched (boost::weak_ptr<Track> wtr)
/* update layers count and the y positions and heights of our regions */
_layers = tr->playlist()->top_layer() + 1;
update_contents_height ();
- update_coverage_frames ();
+ update_coverage_samples ();
/* catch changes */
tr->playlist()->LayeringChanged.connect (playlist_connections, invalidator (*this), boost::bind (&StreamView::playlist_layered, this, boost::weak_ptr<Track> (tr)), gui_context());
tr->playlist()->RegionAdded.connect (playlist_connections, invalidator (*this), boost::bind (&StreamView::add_region_view, this, _1), gui_context());
tr->playlist()->RegionRemoved.connect (playlist_connections, invalidator (*this), boost::bind (&StreamView::remove_region_view, this, _1), gui_context());
- tr->playlist()->ContentsChanged.connect (playlist_connections, invalidator (*this), boost::bind (&StreamView::update_coverage_frames, this), gui_context());
+ tr->playlist()->ContentsChanged.connect (playlist_connections, invalidator (*this), boost::bind (&StreamView::update_coverage_samples, this), gui_context());
}
@@ -409,9 +409,9 @@ StreamView::transport_looped()
}
void
-StreamView::create_rec_box(framepos_t frame_pos, double width)
+StreamView::create_rec_box(samplepos_t sample_pos, double width)
{
- const double xstart = _trackview.editor().sample_to_pixel(frame_pos);
+ const double xstart = _trackview.editor().sample_to_pixel(sample_pos);
const double xend = xstart + width;
const uint32_t fill_color = UIConfiguration::instance().color_mod("recording rect", "recording_rect");
@@ -432,7 +432,7 @@ StreamView::create_rec_box(framepos_t frame_pos, double width)
if (rec_rects.empty()) {
recbox.start = _trackview.session()->record_location ();
} else {
- recbox.start = _trackview.session()->transport_frame ();
+ recbox.start = _trackview.session()->transport_sample ();
}
rec_rects.push_back (recbox);
@@ -450,7 +450,7 @@ StreamView::update_rec_box ()
if (rec_active && rec_rects.size() > 0) {
/* only update the last box */
RecBoxInfo & rect = rec_rects.back();
- framepos_t const at = _trackview.track()->current_capture_end ();
+ samplepos_t const at = _trackview.track()->current_capture_end ();
double xstart;
double xend;
@@ -544,14 +544,14 @@ StreamView::set_selected_regionviews (RegionSelection& regions)
}
/** Get selectable things within a given range.
- * @param start Start time in session frames.
- * @param end End time in session frames.
+ * @param start Start time in session samples.
+ * @param end End time in session samples.
* @param top Top y range, in trackview coordinates (ie 0 is the top of the track view)
* @param bot Bottom y range, in trackview coordinates (ie 0 is the top of the track view)
* @param result Filled in with selectable things.
*/
void
-StreamView::get_selectables (framepos_t start, framepos_t end, double top, double bottom, list<Selectable*>& results, bool within)
+StreamView::get_selectables (samplepos_t start, samplepos_t end, double top, double bottom, list<Selectable*>& results, bool within)
{
if (_trackview.editor().internal_editing()) {
return; // Don't select regions with an internal tool
@@ -676,19 +676,19 @@ StreamView::set_layer_display (LayerDisplay d)
}
update_contents_height ();
- update_coverage_frames ();
+ update_coverage_samples ();
}
void
-StreamView::update_coverage_frames ()
+StreamView::update_coverage_samples ()
{
for (RegionViewList::iterator i = region_views.begin (); i != region_views.end (); ++i) {
- (*i)->update_coverage_frames (_layer_display);
+ (*i)->update_coverage_samples (_layer_display);
}
}
void
-StreamView::check_record_layers (boost::shared_ptr<Region> region, framepos_t to)
+StreamView::check_record_layers (boost::shared_ptr<Region> region, samplepos_t to)
{
if (_new_rec_layer_time < to) {
/* The region being recorded has overlapped the start of a top-layered region, so
@@ -698,7 +698,7 @@ StreamView::check_record_layers (boost::shared_ptr<Region> region, framepos_t to
*/
/* Stop this happening again */
- _new_rec_layer_time = max_framepos;
+ _new_rec_layer_time = max_samplepos;
/* Make space in the view for the new layer */
++_layers;
@@ -721,6 +721,6 @@ StreamView::setup_new_rec_layer_time (boost::shared_ptr<Region> region)
if (_layer_display == Stacked) {
_new_rec_layer_time = _trackview.track()->playlist()->find_next_top_layer_position (region->start());
} else {
- _new_rec_layer_time = max_framepos;
+ _new_rec_layer_time = max_samplepos;
}
}
diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h
index 094a93eaa9..850bdaea3b 100644
--- a/gtk2_ardour/streamview.h
+++ b/gtk2_ardour/streamview.h
@@ -47,8 +47,8 @@ namespace ArdourCanvas {
struct RecBoxInfo {
ArdourCanvas::Rectangle* rectangle;
- framepos_t start;
- ARDOUR::framecnt_t length;
+ samplepos_t start;
+ ARDOUR::samplecnt_t length;
};
class Selectable;
@@ -98,7 +98,7 @@ public:
void foreach_selected_regionview (sigc::slot<void,RegionView*> slot);
void set_selected_regionviews (RegionSelection&);
- void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable* >&, bool within = false);
+ void get_selectables (ARDOUR::samplepos_t, ARDOUR::samplepos_t, double, double, std::list<Selectable* >&, bool within = false);
void get_inverted_selectables (Selection&, std::list<Selectable* >& results);
virtual void update_contents_metrics(boost::shared_ptr<ARDOUR::Region>) {}
@@ -116,7 +116,7 @@ public:
return 0;
}
- void check_record_layers (boost::shared_ptr<ARDOUR::Region>, ARDOUR::framepos_t);
+ void check_record_layers (boost::shared_ptr<ARDOUR::Region>, ARDOUR::samplepos_t);
virtual void playlist_layered (boost::weak_ptr<ARDOUR::Track>);
@@ -132,7 +132,7 @@ protected:
void transport_looped();
void rec_enable_changed();
void sess_rec_enable_changed();
- void create_rec_box(framepos_t frame_pos, double width);
+ void create_rec_box(samplepos_t sample_pos, double width);
virtual void setup_rec_box () = 0;
virtual void update_rec_box ();
@@ -151,7 +151,7 @@ protected:
RouteTimeAxisView& _trackview;
ArdourCanvas::Container* _canvas_group;
- ArdourCanvas::Rectangle* canvas_rect; /* frame around the whole thing */
+ ArdourCanvas::Rectangle* canvas_rect; /* sample around the whole thing */
typedef std::list<RegionView* > RegionViewList;
RegionViewList region_views;
@@ -176,16 +176,16 @@ protected:
double height;
PBD::ScopedConnectionList rec_data_ready_connections;
- framepos_t last_rec_data_frame;
+ samplepos_t last_rec_data_sample;
/* When recording, the session time at which a new layer must be created for the region
- being recorded, or max_framepos if not applicable.
+ being recorded, or max_samplepos if not applicable.
*/
- framepos_t _new_rec_layer_time;
+ samplepos_t _new_rec_layer_time;
void setup_new_rec_layer_time (boost::shared_ptr<ARDOUR::Region>);
private:
- void update_coverage_frames ();
+ void update_coverage_samples ();
};
#endif /* __ardour_streamview_h__ */
diff --git a/gtk2_ardour/strip_silence_dialog.cc b/gtk2_ardour/strip_silence_dialog.cc
index 52f05a6b94..a2f8bc7983 100644
--- a/gtk2_ardour/strip_silence_dialog.cc
+++ b/gtk2_ardour/strip_silence_dialog.cc
@@ -79,7 +79,7 @@ StripSilenceDialog::StripSilenceDialog (Session* s, list<RegionView*> const & v)
++n;
_minimum_length->set_session (s);
- _minimum_length->set_mode (AudioClock::Frames);
+ _minimum_length->set_mode (AudioClock::Samples);
_minimum_length->set (1000, true);
table->attach (*Gtk::manage (new Gtk::Label (_("Fade length"), 1, 0.5)), 0, 1, n, n + 1, Gtk::FILL);
@@ -87,7 +87,7 @@ StripSilenceDialog::StripSilenceDialog (Session* s, list<RegionView*> const & v)
++n;
_fade_length->set_session (s);
- _fade_length->set_mode (AudioClock::Frames);
+ _fade_length->set_mode (AudioClock::Samples);
_fade_length->set (64, true);
hbox->pack_start (*table);
@@ -176,7 +176,7 @@ StripSilenceDialog::drop_rects ()
_lock.unlock ();
for (list<ViewInterval>::iterator v = views.begin(); v != views.end(); ++v) {
- v->view->drop_silent_frames ();
+ v->view->drop_silent_samples ();
}
cancel_button->set_sensitive (false);
@@ -223,7 +223,7 @@ StripSilenceDialog::update_silence_rects ()
double const y = _threshold.get_value();
for (list<ViewInterval>::iterator v = views.begin(); v != views.end(); ++v) {
- v->view->set_silent_frames (v->intervals, y);
+ v->view->set_silent_samples (v->intervals, y);
}
}
@@ -320,16 +320,16 @@ StripSilenceDialog::threshold_changed ()
restart_thread ();
}
-framecnt_t
+samplecnt_t
StripSilenceDialog::minimum_length () const
{
- return std::max((framecnt_t)1, _minimum_length->current_duration (views.front().view->region()->position()));
+ return std::max((samplecnt_t)1, _minimum_length->current_duration (views.front().view->region()->position()));
}
-framecnt_t
+samplecnt_t
StripSilenceDialog::fade_length () const
{
- return std::max((framecnt_t)0, _fade_length->current_duration (views.front().view->region()->position()));
+ return std::max((samplecnt_t)0, _fade_length->current_duration (views.front().view->region()->position()));
}
void
diff --git a/gtk2_ardour/strip_silence_dialog.h b/gtk2_ardour/strip_silence_dialog.h
index a4d444e0ed..8179d2cbe2 100644
--- a/gtk2_ardour/strip_silence_dialog.h
+++ b/gtk2_ardour/strip_silence_dialog.h
@@ -46,8 +46,8 @@ public:
void silences (ARDOUR::AudioIntervalMap&);
- ARDOUR::framecnt_t minimum_length () const;
- ARDOUR::framecnt_t fade_length () const;
+ ARDOUR::samplecnt_t minimum_length () const;
+ ARDOUR::samplecnt_t fade_length () const;
void on_response (int response_id) {
Gtk::Dialog::on_response (response_id);
diff --git a/gtk2_ardour/tape_region_view.cc b/gtk2_ardour/tape_region_view.cc
index 1e3c31f565..f9035ae4f2 100644
--- a/gtk2_ardour/tape_region_view.cc
+++ b/gtk2_ardour/tape_region_view.cc
@@ -124,7 +124,7 @@ TapeAudioRegionView::update (uint32_t /*n*/)
#24 0x00007f957394ee6b in ARDOUR::AudioSource::read_peaks_with_fpp(ARDOUR::PeakData*, long, long, long, double, long) const (this=0x55f6fd359140, peaks=0x55f700da6b80, npeaks=1356, start=113190, cnt=447480, samples_per_visual_peak=330, samples_per_file_peak=256) at ../libs/ardour/audiosource.cc:391
#25 0x00007f957394eb15 in ARDOUR::AudioSource::read_peaks(ARDOUR::PeakData*, long, long, long, double) const (this=0x55f6fd359140, peaks=0x55f700da6b80, npeaks=1356, start=113190, cnt=447480, samples_per_visual_peak=330) at ../libs/ardour/audiosource.cc:337
#26 0x00007f957393a905 in ARDOUR::AudioRegion::read_peaks(ARDOUR::PeakData*, long, long, long, unsigned int, double) const (this=
- 0x55f6fd84c3b0, buf=0x55f700da6b80, npeaks=1356, offset=113190, cnt=447480, chan_n=0, frames_per_pixel=330) at ../libs/ardour/audioregion.cc:431
+ 0x55f6fd84c3b0, buf=0x55f700da6b80, npeaks=1356, offset=113190, cnt=447480, chan_n=0, samples_per_pixel=330) at ../libs/ardour/audioregion.cc:431
#27 0x00007f9574f09caa in ArdourWaveView::WaveView::generate_image(boost::shared_ptr<ArdourWaveView::WaveViewThreadRequest>, bool) const (this=0x55f6fdf341a0, req=..., in_render_thread=false)
at ../libs/canvas/wave_view.cc:1005
#28 0x00007f9574f08e99 in ArdourWaveView::WaveView::get_image(long, long, bool&) const (this=0x55f6fdf341a0, start=225060, end=448800, full_image=@0x7ffc4d9070c7: false)
diff --git a/gtk2_ardour/template_dialog.cc b/gtk2_ardour/template_dialog.cc
index a5bbcd4089..e503be74a9 100644
--- a/gtk2_ardour/template_dialog.cc
+++ b/gtk2_ardour/template_dialog.cc
@@ -268,7 +268,7 @@ TemplateManager::TemplateManager ()
vb->pack_start (*sw);
vb->pack_start (_progress_bar);
- Frame* desc_frame = manage (new Frame (_("Description")));
+ Frame* desc_sample = manage (new Frame (_("Description")));
_description_editor.set_wrap_mode (Gtk::WRAP_WORD);
_description_editor.set_size_request (300,400);
@@ -279,10 +279,10 @@ TemplateManager::TemplateManager ()
_description_editor.get_buffer()->signal_changed().connect (sigc::mem_fun (*this, &TemplateManager::set_desc_dirty));
- desc_frame->add (_description_editor);
+ desc_sample->add (_description_editor);
pack_start (*vb);
- pack_start (*desc_frame);
+ pack_start (*desc_sample);
pack_start (*vb_btns);
show_all_children ();
diff --git a/gtk2_ardour/tempo_curve.cc b/gtk2_ardour/tempo_curve.cc
index 4d2ea31a46..d4b5d91a8e 100644
--- a/gtk2_ardour/tempo_curve.cc
+++ b/gtk2_ardour/tempo_curve.cc
@@ -27,7 +27,7 @@ void TempoCurve::setup_sizes(const double timebar_height)
curve_height = floor (timebar_height) - 2.5;
}
/* ignores Tempo note type - only note_types_per_minute is potentially curved */
-TempoCurve::TempoCurve (PublicEditor& ed, ArdourCanvas::Container& parent, guint32 rgba, ARDOUR::TempoSection& temp, framepos_t frame, bool handle_events)
+TempoCurve::TempoCurve (PublicEditor& ed, ArdourCanvas::Container& parent, guint32 rgba, ARDOUR::TempoSection& temp, samplepos_t sample, bool handle_events)
: editor (ed)
, _parent (&parent)
@@ -40,8 +40,8 @@ TempoCurve::TempoCurve (PublicEditor& ed, ArdourCanvas::Container& parent, guint
, _start_text (0)
, _end_text (0)
{
- frame_position = frame;
- unit_position = editor.sample_to_pixel (frame);
+ sample_position = sample;
+ unit_position = editor.sample_to_pixel (sample);
group = new ArdourCanvas::Container (&parent, ArdourCanvas::Duple (unit_position, 1));
#ifdef CANVAS_DEBUG
@@ -113,19 +113,19 @@ TempoCurve::the_item() const
}
void
-TempoCurve::set_position (framepos_t frame, framepos_t end_frame)
+TempoCurve::set_position (samplepos_t sample, samplepos_t end_sample)
{
- unit_position = editor.sample_to_pixel (frame);
+ unit_position = editor.sample_to_pixel (sample);
group->set_x_position (unit_position);
- frame_position = frame;
- _end_frame = end_frame;
+ sample_position = sample;
+ _end_sample = end_sample;
points->clear();
points = new ArdourCanvas::Points ();
points->push_back (ArdourCanvas::Duple (0.0, curve_height));
- if (frame >= end_frame) {
+ if (sample >= end_sample) {
/* shouldn't happen but ..*/
const double tempo_at = _tempo.note_types_per_minute();
const double y_pos = (curve_height) - (((tempo_at - _min_tempo) / (_max_tempo - _min_tempo)) * curve_height);
@@ -138,25 +138,25 @@ TempoCurve::set_position (framepos_t frame, framepos_t end_frame)
const double y_pos = (curve_height) - (((tempo_at - _min_tempo) / (_max_tempo - _min_tempo)) * curve_height);
points->push_back (ArdourCanvas::Duple (0.0, y_pos));
- points->push_back (ArdourCanvas::Duple (editor.sample_to_pixel (end_frame - frame), y_pos));
+ points->push_back (ArdourCanvas::Duple (editor.sample_to_pixel (end_sample - sample), y_pos));
} else {
- const framepos_t frame_step = max ((end_frame - frame) / 5, (framepos_t) 1);
- framepos_t current_frame = frame;
+ const samplepos_t sample_step = max ((end_sample - sample) / 5, (samplepos_t) 1);
+ samplepos_t current_sample = sample;
- while (current_frame < end_frame) {
- const double tempo_at = _tempo.tempo_at_minute (_tempo.minute_at_frame (current_frame)).note_types_per_minute();
+ while (current_sample < end_sample) {
+ const double tempo_at = _tempo.tempo_at_minute (_tempo.minute_at_sample (current_sample)).note_types_per_minute();
const double y_pos = max ((curve_height) - (((tempo_at - _min_tempo) / (_max_tempo - _min_tempo)) * curve_height), 0.0);
- points->push_back (ArdourCanvas::Duple (editor.sample_to_pixel (current_frame - frame), min (y_pos, curve_height)));
+ points->push_back (ArdourCanvas::Duple (editor.sample_to_pixel (current_sample - sample), min (y_pos, curve_height)));
- current_frame += frame_step;
+ current_sample += sample_step;
}
- const double tempo_at = _tempo.tempo_at_minute (_tempo.minute_at_frame (end_frame)).note_types_per_minute();
+ const double tempo_at = _tempo.tempo_at_minute (_tempo.minute_at_sample (end_sample)).note_types_per_minute();
const double y_pos = max ((curve_height) - (((tempo_at - _min_tempo) / (_max_tempo - _min_tempo)) * curve_height), 0.0);
- points->push_back (ArdourCanvas::Duple (editor.sample_to_pixel (end_frame - frame), min (y_pos, curve_height)));
+ points->push_back (ArdourCanvas::Duple (editor.sample_to_pixel (end_sample - sample), min (y_pos, curve_height)));
}
_curve->set (*points);
@@ -168,9 +168,9 @@ TempoCurve::set_position (framepos_t frame, framepos_t end_frame)
_end_text->set (buf);
_start_text->set_position (ArdourCanvas::Duple (10, .5 ));
- _end_text->set_position (ArdourCanvas::Duple (editor.sample_to_pixel (end_frame - frame) - _end_text->text_width() - 10, .5 ));
+ _end_text->set_position (ArdourCanvas::Duple (editor.sample_to_pixel (end_sample - sample) - _end_text->text_width() - 10, .5 ));
- if (_end_text->text_width() + _start_text->text_width() + 20 > editor.sample_to_pixel (end_frame - frame)) {
+ if (_end_text->text_width() + _start_text->text_width() + 20 > editor.sample_to_pixel (end_sample - sample)) {
_start_text->hide();
_end_text->hide();
} else {
@@ -182,7 +182,7 @@ TempoCurve::set_position (framepos_t frame, framepos_t end_frame)
void
TempoCurve::reposition ()
{
- set_position (frame_position, _end_frame);
+ set_position (sample_position, _end_sample);
}
void
diff --git a/gtk2_ardour/tempo_curve.h b/gtk2_ardour/tempo_curve.h
index 621048726b..55ce76db3a 100644
--- a/gtk2_ardour/tempo_curve.h
+++ b/gtk2_ardour/tempo_curve.h
@@ -21,7 +21,7 @@ class PublicEditor;
class TempoCurve : public sigc::trackable
{
public:
- TempoCurve (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, ARDOUR::TempoSection& temp, framepos_t frame, bool handle_events);
+ TempoCurve (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, ARDOUR::TempoSection& temp, samplepos_t sample, bool handle_events);
~TempoCurve ();
static PBD::Signal1<void,TempoCurve*> CatchDeletion;
@@ -31,9 +31,9 @@ public:
ArdourCanvas::Item& the_item() const;
void canvas_height_set (double);
- void set_position (framepos_t lower, framepos_t upper);
+ void set_position (samplepos_t lower, samplepos_t upper);
void set_color_rgba (uint32_t rgba);
- framepos_t position() const { return frame_position; }
+ samplepos_t position() const { return sample_position; }
ArdourCanvas::Container * get_parent() { return _parent; }
void reparent (ArdourCanvas::Container & parent);
@@ -55,8 +55,8 @@ protected:
ArdourCanvas::FramedCurve* _curve;
double unit_position;
- framepos_t frame_position;
- framepos_t _end_frame;
+ samplepos_t sample_position;
+ samplepos_t _end_sample;
bool _shown;
double _canvas_height;
uint32_t _color;
diff --git a/gtk2_ardour/tempo_dialog.cc b/gtk2_ardour/tempo_dialog.cc
index 723d931cb8..48b54e981f 100644
--- a/gtk2_ardour/tempo_dialog.cc
+++ b/gtk2_ardour/tempo_dialog.cc
@@ -34,7 +34,7 @@ using namespace Gtkmm2ext;
using namespace ARDOUR;
using namespace PBD;
-TempoDialog::TempoDialog (TempoMap& map, framepos_t frame, const string&)
+TempoDialog::TempoDialog (TempoMap& map, samplepos_t sample, const string&)
: ArdourDialog (_("New Tempo"))
, _map (&map)
, _section (0)
@@ -48,8 +48,8 @@ TempoDialog::TempoDialog (TempoMap& map, framepos_t frame, const string&)
, pulse_selector_label (_("Pulse:"), ALIGN_LEFT, ALIGN_CENTER)
, tap_tempo_button (_("Tap tempo"))
{
- Tempo tempo (map.tempo_at_frame (frame));
- Timecode::BBT_Time when (map.bbt_at_frame (frame));
+ Tempo tempo (map.tempo_at_sample (sample));
+ Timecode::BBT_Time when (map.bbt_at_sample (sample));
init (when, tempo.note_types_per_minute(), tempo.end_note_types_per_minute(), tempo.note_type(), TempoSection::Constant, true, MusicTime);
}
@@ -68,7 +68,7 @@ TempoDialog::TempoDialog (TempoMap& map, TempoSection& section, const string&)
, pulse_selector_label (_("Pulse:"), ALIGN_LEFT, ALIGN_CENTER)
, tap_tempo_button (_("Tap tempo"))
{
- Timecode::BBT_Time when (map.bbt_at_frame (section.frame()));
+ Timecode::BBT_Time when (map.bbt_at_sample (section.sample()));
init (when, section.note_types_per_minute(), section.end_note_types_per_minute(), section.note_type(), section.type()
, section.initial() || section.locked_to_meter(), section.position_lock_style());
}
@@ -477,12 +477,12 @@ TempoDialog::tap_tempo_focus_out (GdkEventFocus* )
return false;
}
-MeterDialog::MeterDialog (TempoMap& map, framepos_t frame, const string&)
+MeterDialog::MeterDialog (TempoMap& map, samplepos_t sample, const string&)
: ArdourDialog (_("New Meter"))
{
- frame = map.round_to_bar(frame, RoundNearest).frame;
- Timecode::BBT_Time when (map.bbt_at_frame (frame));
- Meter meter (map.meter_at_frame (frame));
+ sample = map.round_to_bar(sample, RoundNearest).sample;
+ Timecode::BBT_Time when (map.bbt_at_sample (sample));
+ Meter meter (map.meter_at_sample (sample));
init (when, meter.divisions_per_bar(), meter.note_divisor(), false, MusicTime);
}
@@ -490,7 +490,7 @@ MeterDialog::MeterDialog (TempoMap& map, framepos_t frame, const string&)
MeterDialog::MeterDialog (TempoMap& map, MeterSection& section, const string&)
: ArdourDialog (_("Edit Meter"))
{
- Timecode::BBT_Time when (map.bbt_at_frame (section.frame()));
+ Timecode::BBT_Time when (map.bbt_at_sample (section.sample()));
init (when, section.divisions_per_bar(), section.note_divisor(), section.initial(), section.position_lock_style());
}
diff --git a/gtk2_ardour/tempo_dialog.h b/gtk2_ardour/tempo_dialog.h
index baa671df43..f9f0dd34a0 100644
--- a/gtk2_ardour/tempo_dialog.h
+++ b/gtk2_ardour/tempo_dialog.h
@@ -38,7 +38,7 @@
class TempoDialog : public ArdourDialog
{
public:
- TempoDialog (ARDOUR::TempoMap&, framepos_t, const std::string & action);
+ TempoDialog (ARDOUR::TempoMap&, samplepos_t, const std::string & action);
TempoDialog (ARDOUR::TempoMap&, ARDOUR::TempoSection&, const std::string & action);
double get_bpm ();
@@ -102,7 +102,7 @@ class MeterDialog : public ArdourDialog
{
public:
- MeterDialog (ARDOUR::TempoMap&, framepos_t, const std::string & action);
+ MeterDialog (ARDOUR::TempoMap&, samplepos_t, const std::string & action);
MeterDialog (ARDOUR::TempoMap&, ARDOUR::MeterSection&, const std::string & action);
double get_bpb ();
diff --git a/gtk2_ardour/tempo_lines.cc b/gtk2_ardour/tempo_lines.cc
index 8d1d183d3a..98de440e48 100644
--- a/gtk2_ardour/tempo_lines.cc
+++ b/gtk2_ardour/tempo_lines.cc
@@ -29,7 +29,7 @@
using namespace std;
-TempoLines::TempoLines (ArdourCanvas::Container* group, double, ARDOUR::BeatsFramesConverter* bfc)
+TempoLines::TempoLines (ArdourCanvas::Container* group, double, ARDOUR::BeatsSamplesConverter* bfc)
: lines (group, ArdourCanvas::LineSet::Vertical)
, _bfc (bfc)
{
@@ -43,7 +43,7 @@ TempoLines::~TempoLines ()
}
void
-TempoLines::tempo_map_changed (framepos_t new_origin)
+TempoLines::tempo_map_changed (samplepos_t new_origin)
{
lines.clear ();
_bfc->set_origin_b (new_origin);
@@ -64,8 +64,8 @@ TempoLines::hide ()
void
TempoLines::draw_ticks (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
unsigned divisions,
- framecnt_t leftmost_frame,
- framecnt_t frame_rate)
+ samplecnt_t leftmost_sample,
+ samplecnt_t sample_rate)
{
const uint32_t base = UIConfiguration::instance().color_mod("measure line beat", "measure line beat");
@@ -80,9 +80,9 @@ TempoLines::draw_ticks (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
/* draw line with alpha corresponding to coarsest level */
const uint8_t a = max(8, (int)rint(UINT_RGBA_A(base) / (0.8 * log2(level))));
const uint32_t c = UINT_RGBA_CHANGE_A(base, a);
- const framepos_t f = _bfc->to (Evoral::Beats (grid.begin()->qn + (l / (double) divisions))) + _bfc->origin_b();
+ const samplepos_t f = _bfc->to (Evoral::Beats (grid.begin()->qn + (l / (double) divisions))) + _bfc->origin_b();
- if (f > leftmost_frame) {
+ if (f > leftmost_sample) {
lines.add (PublicEditor::instance().sample_to_pixel_unrounded (f), 1.0, c);
}
}
@@ -91,8 +91,8 @@ TempoLines::draw_ticks (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
void
TempoLines::draw (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
unsigned divisions,
- framecnt_t leftmost_frame,
- framecnt_t frame_rate)
+ samplecnt_t leftmost_sample,
+ samplecnt_t sample_rate)
{
std::vector<ARDOUR::TempoMap::BBTPoint>::const_iterator i;
double beat_density;
@@ -129,9 +129,9 @@ TempoLines::draw (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
}
double canvas_width_used = 1.0;
- if (leftmost_frame < grid.front().frame) {
- const framecnt_t frame_distance = max ((framecnt_t) 1, grid.back().frame - grid.front().frame);
- canvas_width_used = 1.0 - ((grid.front().frame - leftmost_frame) / (double) (frame_distance + grid.front().frame));
+ if (leftmost_sample < grid.front().sample) {
+ const samplecnt_t sample_distance = max ((samplecnt_t) 1, grid.back().sample - grid.front().sample);
+ canvas_width_used = 1.0 - ((grid.front().sample - leftmost_sample) / (double) (sample_distance + grid.front().sample));
}
beat_density = (beats * 10.0f) / (lines.canvas()->width() * canvas_width_used);
@@ -148,11 +148,11 @@ TempoLines::draw (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
}
lines.clear ();
- if (beat_density <= 0.12 && grid.begin() != grid.end() && grid.begin()->frame > 0 && !all_bars) {
+ if (beat_density <= 0.12 && grid.begin() != grid.end() && grid.begin()->sample > 0 && !all_bars) {
/* draw subdivisions of the beat before the first visible beat line XX this shouldn't happen now */
std::vector<ARDOUR::TempoMap::BBTPoint> vec;
vec.push_back (*i);
- draw_ticks (vec, divisions, leftmost_frame, frame_rate);
+ draw_ticks (vec, divisions, leftmost_sample, sample_rate);
}
for (i = grid.begin(); i != grid.end(); ++i) {
@@ -171,7 +171,7 @@ TempoLines::draw (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
color = beat_color;
}
- ArdourCanvas::Coord xpos = PublicEditor::instance().sample_to_pixel_unrounded ((*i).frame);
+ ArdourCanvas::Coord xpos = PublicEditor::instance().sample_to_pixel_unrounded ((*i).sample);
lines.add (xpos, 1.0, color);
@@ -179,7 +179,7 @@ TempoLines::draw (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
/* draw subdivisions of this beat */
std::vector<ARDOUR::TempoMap::BBTPoint> vec;
vec.push_back (*i);
- draw_ticks (vec, divisions, leftmost_frame, frame_rate);
+ draw_ticks (vec, divisions, leftmost_sample, sample_rate);
}
}
}
diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h
index 158ef7b1f9..5d1d7d71fa 100644
--- a/gtk2_ardour/tempo_lines.h
+++ b/gtk2_ardour/tempo_lines.h
@@ -19,22 +19,22 @@
#ifndef __ardour_tempo_lines_h__
#define __ardour_tempo_lines_h__
-#include "ardour/beats_frames_converter.h"
+#include "ardour/beats_samples_converter.h"
#include "ardour/tempo.h"
#include "canvas/line_set.h"
class TempoLines {
public:
- TempoLines (ArdourCanvas::Container* group, double screen_height, ARDOUR::BeatsFramesConverter* bfc);
+ TempoLines (ArdourCanvas::Container* group, double screen_height, ARDOUR::BeatsSamplesConverter* bfc);
~TempoLines ();
- void tempo_map_changed(framepos_t new_origin);
+ void tempo_map_changed(samplepos_t new_origin);
void draw (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
unsigned divisions,
- ARDOUR::framecnt_t leftmost_frame,
- ARDOUR::framecnt_t frame_rate);
+ ARDOUR::samplecnt_t leftmost_sample,
+ ARDOUR::samplecnt_t sample_rate);
void show();
void hide();
@@ -42,11 +42,11 @@ public:
private:
void draw_ticks (std::vector<ARDOUR::TempoMap::BBTPoint>& grid,
unsigned divisions,
- ARDOUR::framecnt_t leftmost_frame,
- ARDOUR::framecnt_t frame_rate);
+ ARDOUR::samplecnt_t leftmost_sample,
+ ARDOUR::samplecnt_t sample_rate);
ArdourCanvas::LineSet lines;
- ARDOUR::BeatsFramesConverter* _bfc;
+ ARDOUR::BeatsSamplesConverter* _bfc;
};
#endif /* __ardour_tempo_lines_h__ */
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index 1dd61338a5..2de7934f5c 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -199,9 +199,9 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
controls_ebox.signal_leave_notify_event().connect (sigc::mem_fun (*this, &TimeAxisView::controls_ebox_leave));
controls_ebox.show ();
- time_axis_frame.set_shadow_type (Gtk::SHADOW_NONE);
- time_axis_frame.add(top_hbox);
- time_axis_frame.show();
+ time_axis_sample.set_shadow_type (Gtk::SHADOW_NONE);
+ time_axis_sample.add(top_hbox);
+ time_axis_sample.show();
HSeparator* separator = manage (new HSeparator());
separator->set_name("TrackSeparator");
@@ -213,7 +213,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
midi_scroomer_size_group->add_widget (scroomer_placeholder);
time_axis_vbox.pack_start (*separator, false, false);
- time_axis_vbox.pack_start (time_axis_frame, true, true);
+ time_axis_vbox.pack_start (time_axis_sample, true, true);
time_axis_vbox.show();
time_axis_hbox.pack_start (time_axis_vbox, true, true);
time_axis_hbox.show();
@@ -757,14 +757,14 @@ TimeAxisView::set_selected (bool yn)
AxisView::set_selected (yn);
if (_selected) {
- time_axis_frame.set_shadow_type (Gtk::SHADOW_IN);
- time_axis_frame.set_name ("MixerStripSelectedFrame");
+ time_axis_sample.set_shadow_type (Gtk::SHADOW_IN);
+ time_axis_sample.set_name ("MixerStripSelectedFrame");
controls_ebox.set_name (controls_base_selected_name);
controls_vbox.set_name (controls_base_selected_name);
time_axis_vbox.set_name (controls_base_selected_name);
} else {
- time_axis_frame.set_shadow_type (Gtk::SHADOW_NONE);
- time_axis_frame.set_name (controls_base_unselected_name);
+ time_axis_sample.set_shadow_type (Gtk::SHADOW_NONE);
+ time_axis_sample.set_name (controls_base_unselected_name);
controls_ebox.set_name (controls_base_unselected_name);
controls_vbox.set_name (controls_base_unselected_name);
time_axis_vbox.set_name (controls_base_unselected_name);
@@ -772,7 +772,7 @@ TimeAxisView::set_selected (bool yn)
hide_selection ();
}
- time_axis_frame.show();
+ time_axis_sample.show();
}
void
@@ -797,7 +797,7 @@ TimeAxisView::set_samples_per_pixel (double fpp)
}
void
-TimeAxisView::show_timestretch (framepos_t start, framepos_t end, int layers, int layer)
+TimeAxisView::show_timestretch (samplepos_t start, samplepos_t end, int layers, int layer)
{
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
(*i)->show_timestretch (start, end, layers, layer);
@@ -818,7 +818,7 @@ TimeAxisView::show_selection (TimeSelection& ts)
double x1;
double x2;
double y2;
- SelectionRect *rect; time_axis_frame.show();
+ SelectionRect *rect; time_axis_sample.show();
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
@@ -843,8 +843,8 @@ TimeAxisView::show_selection (TimeSelection& ts)
selection_group->raise_to_top();
for (list<AudioRange>::iterator i = ts.begin(); i != ts.end(); ++i) {
- framepos_t start, end;
- framecnt_t cnt;
+ samplepos_t start, end;
+ samplecnt_t cnt;
start = (*i).start;
end = (*i).end;
@@ -1017,14 +1017,14 @@ TimeAxisView::remove_child (boost::shared_ptr<TimeAxisView> child)
}
/** Get selectable things within a given range.
- * @param start Start time in session frames.
- * @param end End time in session frames.
+ * @param start Start time in session samples.
+ * @param end End time in session samples.
* @param top Top y range, in trackview coordinates (ie 0 is the top of the track view)
* @param bot Bottom y range, in trackview coordinates (ie 0 is the top of the track view)
* @param result Filled in with selectable things.
*/
void
-TimeAxisView::get_selectables (framepos_t start, framepos_t end, double top, double bot, list<Selectable*>& results, bool within)
+TimeAxisView::get_selectables (samplepos_t start, samplepos_t end, double top, double bot, list<Selectable*>& results, bool within)
{
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
if (!(*i)->hidden()) {
@@ -1120,8 +1120,8 @@ TimeAxisView::compute_heights ()
Gtk::Table one_row_table (1, 1);
ArdourButton* test_button = manage (new ArdourButton);
const int border_width = 2;
- const int frame_height = 2;
- extra_height = (2 * border_width) + frame_height;
+ const int sample_height = 2;
+ extra_height = (2 * border_width) + sample_height;
window.add (one_row_table);
test_button->set_name ("mute button");
diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h
index 99ed2f37fc..3ec4039e38 100644
--- a/gtk2_ardour/time_axis_view.h
+++ b/gtk2_ardour/time_axis_view.h
@@ -170,7 +170,7 @@ class TimeAxisView : public virtual AxisView
virtual void show_selection (TimeSelection&);
virtual void hide_selection ();
virtual void reshow_selection (TimeSelection&);
- virtual void show_timestretch (framepos_t start, framepos_t end, int layers, int layer);
+ virtual void show_timestretch (samplepos_t start, samplepos_t end, int layers, int layer);
virtual void hide_timestretch ();
/* editing operations */
@@ -178,11 +178,11 @@ class TimeAxisView : public virtual AxisView
virtual void cut_copy_clear (Selection&, Editing::CutCopyOp) {}
/** Paste a selection.
- * @param pos Position to paste to (session frames).
+ * @param pos Position to paste to (session samples).
* @param selection Selection to paste.
* @param ctx Paste context.
*/
- virtual bool paste (ARDOUR::framepos_t pos,
+ virtual bool paste (ARDOUR::samplepos_t pos,
const Selection& selection,
PasteContext& ctx,
const int32_t sub_num) { return false; }
@@ -192,13 +192,13 @@ class TimeAxisView : public virtual AxisView
virtual void fade_range (TimeSelection&) {}
- virtual boost::shared_ptr<ARDOUR::Region> find_next_region (framepos_t /*pos*/, ARDOUR::RegionPoint, int32_t /*dir*/) {
+ virtual boost::shared_ptr<ARDOUR::Region> find_next_region (samplepos_t /*pos*/, ARDOUR::RegionPoint, int32_t /*dir*/) {
return boost::shared_ptr<ARDOUR::Region> ();
}
void order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top);
- virtual void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable*>&, bool within = false);
+ virtual void get_selectables (ARDOUR::samplepos_t, ARDOUR::samplepos_t, double, double, std::list<Selectable*>&, bool within = false);
virtual void get_inverted_selectables (Selection&, std::list<Selectable *>& results);
void add_ghost (RegionView*);
@@ -231,7 +231,7 @@ class TimeAxisView : public virtual AxisView
Gtk::VBox controls_vbox;
Gtk::VBox time_axis_vbox;
Gtk::HBox time_axis_hbox;
- Gtk::Frame time_axis_frame;
+ Gtk::Frame time_axis_sample;
Gtk::HBox top_hbox;
Gtk::Fixed scroomer_placeholder;
bool _name_editing;
diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc
index 3f1adb9a1c..bba45d5a24 100644
--- a/gtk2_ardour/time_axis_view_item.cc
+++ b/gtk2_ardour/time_axis_view_item.cc
@@ -114,12 +114,12 @@ TimeAxisViewItem::set_constant_heights ()
*/
TimeAxisViewItem::TimeAxisViewItem(
const string & it_name, ArdourCanvas::Item& parent, TimeAxisView& tv, double spu, uint32_t base_color,
- framepos_t start, framecnt_t duration, bool recording, bool automation, Visibility vis
+ samplepos_t start, samplecnt_t duration, bool recording, bool automation, Visibility vis
)
: trackview (tv)
- , frame_position (-1)
+ , sample_position (-1)
, item_name (it_name)
- , selection_frame (0)
+ , selection_sample (0)
, _height (1.0)
, _recregion (recording)
, _automation (automation)
@@ -134,9 +134,9 @@ TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
, Selectable (other)
, PBD::ScopedConnectionList()
, trackview (other.trackview)
- , frame_position (-1)
+ , sample_position (-1)
, item_name (other.item_name)
- , selection_frame (0)
+ , selection_sample (0)
, _height (1.0)
, _recregion (other._recregion)
, _automation (other._automation)
@@ -149,13 +149,13 @@ TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
_selected = other._selected;
- init (parent, other.samples_per_pixel, other.fill_color, other.frame_position,
+ init (parent, other.samples_per_pixel, other.fill_color, other.sample_position,
other.item_duration, other.visibility, other.wide_enough_for_name, other.high_enough_for_name);
}
void
TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_color,
- framepos_t start, framepos_t duration, Visibility vis,
+ samplepos_t start, samplepos_t duration, Visibility vis,
bool wide, bool high)
{
group = new ArdourCanvas::Container (parent);
@@ -164,11 +164,11 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co
fill_color = base_color;
fill_color_name = "time axis view item base";
samples_per_pixel = fpp;
- frame_position = start;
+ sample_position = start;
item_duration = duration;
name_connected = false;
position_locked = false;
- max_item_duration = ARDOUR::max_framepos;
+ max_item_duration = ARDOUR::max_samplepos;
min_item_duration = 0;
visibility = vis;
_sensitive = true;
@@ -182,20 +182,20 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co
}
if (visibility & ShowFrame) {
- frame = new ArdourCanvas::Rectangle (group,
+ sample = new ArdourCanvas::Rectangle (group,
ArdourCanvas::Rect (0.0, 0.0,
trackview.editor().sample_to_pixel(duration),
trackview.current_height()));
- frame->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT));
- frame->show ();
+ sample->set_outline_what (ArdourCanvas::Rectangle::What (ArdourCanvas::Rectangle::LEFT|ArdourCanvas::Rectangle::RIGHT));
+ sample->show ();
- CANVAS_DEBUG_NAME (frame, string_compose ("frame for %1", get_item_name()));
+ CANVAS_DEBUG_NAME (sample, string_compose ("sample for %1", get_item_name()));
if (_recregion) {
- frame->set_outline_color (UIConfiguration::instance().color ("recording rect"));
+ sample->set_outline_color (UIConfiguration::instance().color ("recording rect"));
} else {
- frame->set_outline_color (UIConfiguration::instance().color ("time axis frame"));
+ sample->set_outline_color (UIConfiguration::instance().color ("time axis frame"));
}
}
@@ -231,19 +231,19 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co
double top = TimeAxisViewItem::GRAB_HANDLE_TOP;
double width = TimeAxisViewItem::GRAB_HANDLE_WIDTH;
- frame_handle_start = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height()));
- CANVAS_DEBUG_NAME (frame_handle_start, "TAVI frame handle start");
- frame_handle_start->set_outline (false);
- frame_handle_start->set_fill (false);
- frame_handle_start->Event.connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisViewItem::frame_handle_crossing), frame_handle_start));
-
- frame_handle_end = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height()));
- CANVAS_DEBUG_NAME (frame_handle_end, "TAVI frame handle end");
- frame_handle_end->set_outline (false);
- frame_handle_end->set_fill (false);
- frame_handle_end->Event.connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisViewItem::frame_handle_crossing), frame_handle_end));
+ sample_handle_start = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height()));
+ CANVAS_DEBUG_NAME (sample_handle_start, "TAVI sample handle start");
+ sample_handle_start->set_outline (false);
+ sample_handle_start->set_fill (false);
+ sample_handle_start->Event.connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisViewItem::sample_handle_crossing), sample_handle_start));
+
+ sample_handle_end = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height()));
+ CANVAS_DEBUG_NAME (sample_handle_end, "TAVI sample handle end");
+ sample_handle_end->set_outline (false);
+ sample_handle_end->set_fill (false);
+ sample_handle_end->Event.connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisViewItem::sample_handle_crossing), sample_handle_end));
} else {
- frame_handle_start = frame_handle_end = 0;
+ sample_handle_start = sample_handle_end = 0;
}
//set_color (base_color);
@@ -276,13 +276,13 @@ TimeAxisViewItem::canvas_group_event (GdkEvent* /*ev*/)
*/
bool
-TimeAxisViewItem::set_position(framepos_t pos, void* src, double* delta)
+TimeAxisViewItem::set_position(samplepos_t pos, void* src, double* delta)
{
if (position_locked) {
return false;
}
- frame_position = pos;
+ sample_position = pos;
double new_unit_pos = trackview.editor().sample_to_pixel (pos);
@@ -298,16 +298,16 @@ TimeAxisViewItem::set_position(framepos_t pos, void* src, double* delta)
}
group->set_x_position (new_unit_pos);
- PositionChanged (frame_position, src); /* EMIT_SIGNAL */
+ PositionChanged (sample_position, src); /* EMIT_SIGNAL */
return true;
}
/** @return position of this item on the timeline */
-framepos_t
+samplepos_t
TimeAxisViewItem::get_position() const
{
- return frame_position;
+ return sample_position;
}
/**
@@ -319,11 +319,11 @@ TimeAxisViewItem::get_position() const
*/
bool
-TimeAxisViewItem::set_duration (framecnt_t dur, void* src)
+TimeAxisViewItem::set_duration (samplecnt_t dur, void* src)
{
if ((dur > max_item_duration) || (dur < min_item_duration)) {
warning << string_compose (
- P_("new duration %1 frame is out of bounds for %2", "new duration of %1 frames is out of bounds for %2", dur),
+ P_("new duration %1 sample is out of bounds for %2", "new duration of %1 samples is out of bounds for %2", dur),
get_item_name(), dur)
<< endmsg;
return false;
@@ -335,8 +335,8 @@ TimeAxisViewItem::set_duration (framecnt_t dur, void* src)
item_duration = dur;
- double end_pixel = trackview.editor().sample_to_pixel (frame_position + dur);
- double first_pixel = trackview.editor().sample_to_pixel (frame_position);
+ double end_pixel = trackview.editor().sample_to_pixel (sample_position + dur);
+ double first_pixel = trackview.editor().sample_to_pixel (sample_position);
reset_width_dependent_items (end_pixel - first_pixel);
@@ -345,7 +345,7 @@ TimeAxisViewItem::set_duration (framecnt_t dur, void* src)
}
/** @return duration of this item */
-framepos_t
+samplepos_t
TimeAxisViewItem::get_duration() const
{
return item_duration;
@@ -358,14 +358,14 @@ TimeAxisViewItem::get_duration() const
* @param src the identity of the object that initiated the change
*/
void
-TimeAxisViewItem::set_max_duration(framecnt_t dur, void* src)
+TimeAxisViewItem::set_max_duration(samplecnt_t dur, void* src)
{
max_item_duration = dur;
MaxDurationChanged(max_item_duration, src); /* EMIT_SIGNAL */
}
/** @return the maximum duration that this item may have */
-framecnt_t
+samplecnt_t
TimeAxisViewItem::get_max_duration() const
{
return max_item_duration;
@@ -378,14 +378,14 @@ TimeAxisViewItem::get_max_duration() const
* @param src the identity of the object that initiated the change
*/
void
-TimeAxisViewItem::set_min_duration(framecnt_t dur, void* src)
+TimeAxisViewItem::set_min_duration(samplecnt_t dur, void* src)
{
min_item_duration = dur;
MinDurationChanged(max_item_duration, src); /* EMIT_SIGNAL */
}
/** @return the minimum duration that this item mey have */
-framecnt_t
+samplecnt_t
TimeAxisViewItem::get_min_duration() const
{
return min_item_duration;
@@ -489,21 +489,21 @@ TimeAxisViewItem::set_selected(bool yn)
}
Selectable::set_selected (yn);
- set_frame_color ();
+ set_sample_color ();
set_name_text_color ();
- if (_selected && frame) {
- if (!selection_frame) {
- selection_frame = new ArdourCanvas::Rectangle (group);
- selection_frame->set_fill (false);
- selection_frame->set_outline_color (UIConfiguration::instance().color ("selected time axis frame"));
- selection_frame->set_ignore_events (true);
+ if (_selected && sample) {
+ if (!selection_sample) {
+ selection_sample = new ArdourCanvas::Rectangle (group);
+ selection_sample->set_fill (false);
+ selection_sample->set_outline_color (UIConfiguration::instance().color ("selected time axis frame"));
+ selection_sample->set_ignore_events (true);
}
- selection_frame->set (frame->get().shrink (1.0));
- selection_frame->show ();
+ selection_sample->set (sample->get().shrink (1.0));
+ selection_sample->show ();
} else {
- if (selection_frame) {
- selection_frame->hide ();
+ if (selection_sample) {
+ selection_sample->hide ();
}
}
}
@@ -555,18 +555,18 @@ TimeAxisViewItem::set_height (double height)
}
}
- if (frame) {
+ if (sample) {
- frame->set_y0 (0.0);
- frame->set_y1 (height);
+ sample->set_y0 (0.0);
+ sample->set_y1 (height);
- if (frame_handle_start) {
- frame_handle_start->set_y1 (height);
- frame_handle_end->set_y1 (height);
+ if (sample_handle_start) {
+ sample_handle_start->set_y1 (height);
+ sample_handle_end->set_y1 (height);
}
- if (selection_frame) {
- selection_frame->set (frame->get().shrink (1.0));
+ if (selection_sample) {
+ selection_sample->set (sample->get().shrink (1.0));
}
}
}
@@ -611,9 +611,9 @@ TimeAxisViewItem::set_color (uint32_t base_color)
}
ArdourCanvas::Item*
-TimeAxisViewItem::get_canvas_frame()
+TimeAxisViewItem::get_canvas_sample()
{
- return frame;
+ return sample;
}
ArdourCanvas::Item*
@@ -634,7 +634,7 @@ TimeAxisViewItem::get_name_highlight()
void
TimeAxisViewItem::set_colors()
{
- set_frame_color ();
+ set_sample_color ();
if (name_highlight) {
name_highlight->set_fill_color (fill_color);
@@ -686,28 +686,28 @@ TimeAxisViewItem::get_fill_color () const
}
/**
- * Sets the frame color depending on whether this item is selected
+ * Sets the sample color depending on whether this item is selected
*/
void
-TimeAxisViewItem::set_frame_color()
+TimeAxisViewItem::set_sample_color()
{
- if (!frame) {
+ if (!sample) {
return;
}
- frame->set_fill_color (get_fill_color());
- set_frame_gradient ();
+ sample->set_fill_color (get_fill_color());
+ set_sample_gradient ();
if (!_recregion) {
- frame->set_outline_color (UIConfiguration::instance().color ("time axis frame"));
+ sample->set_outline_color (UIConfiguration::instance().color ("time axis frame"));
}
}
void
-TimeAxisViewItem::set_frame_gradient ()
+TimeAxisViewItem::set_sample_gradient ()
{
if (UIConfiguration::instance().get_timeline_item_gradient_depth() == 0.0) {
- frame->set_gradient (ArdourCanvas::Fill::StopList (), 0);
+ sample->set_gradient (ArdourCanvas::Fill::StopList (), 0);
return;
}
@@ -730,7 +730,7 @@ TimeAxisViewItem::set_frame_gradient ()
Color darker = hsva_to_color (h, s, v, a);
stops.push_back (std::make_pair (1.0, darker));
- frame->set_gradient (stops, true);
+ sample->set_gradient (stops, true);
}
/**
@@ -741,25 +741,25 @@ TimeAxisViewItem::set_trim_handle_colors()
{
#if 1
/* Leave them transparent for now */
- if (frame_handle_start) {
- frame_handle_start->set_fill_color (0x00000000);
- frame_handle_end->set_fill_color (0x00000000);
+ if (sample_handle_start) {
+ sample_handle_start->set_fill_color (0x00000000);
+ sample_handle_end->set_fill_color (0x00000000);
}
#else
- if (frame_handle_start) {
+ if (sample_handle_start) {
if (position_locked) {
- frame_handle_start->set_fill_color (UIConfiguration::instance().get_TrimHandleLocked());
- frame_handle_end->set_fill_color (UIConfiguration::instance().get_TrimHandleLocked());
+ sample_handle_start->set_fill_color (UIConfiguration::instance().get_TrimHandleLocked());
+ sample_handle_end->set_fill_color (UIConfiguration::instance().get_TrimHandleLocked());
} else {
- frame_handle_start->set_fill_color (UIConfiguration::instance().get_TrimHandle());
- frame_handle_end->set_fill_color (UIConfiguration::instance().get_TrimHandle());
+ sample_handle_start->set_fill_color (UIConfiguration::instance().get_TrimHandle());
+ sample_handle_end->set_fill_color (UIConfiguration::instance().get_TrimHandle());
}
}
#endif
}
bool
-TimeAxisViewItem::frame_handle_crossing (GdkEvent* ev, ArdourCanvas::Rectangle* item)
+TimeAxisViewItem::sample_handle_crossing (GdkEvent* ev, ArdourCanvas::Rectangle* item)
{
switch (ev->type) {
case GDK_LEAVE_NOTIFY:
@@ -780,18 +780,18 @@ TimeAxisViewItem::frame_handle_crossing (GdkEvent* ev, ArdourCanvas::Rectangle*
return false;
}
-/** @return the frames per pixel */
+/** @return the samples per pixel */
double
TimeAxisViewItem::get_samples_per_pixel () const
{
return samples_per_pixel;
}
-/** Set the frames per pixel of this item.
+/** Set the samples per pixel of this item.
* This item is used to determine the relative visual size and position of this item
* based upon its duration and start value.
*
- * @param fpp the new frames per pixel
+ * @param fpp the new samples per pixel
*/
void
TimeAxisViewItem::set_samples_per_pixel (double fpp)
@@ -799,8 +799,8 @@ TimeAxisViewItem::set_samples_per_pixel (double fpp)
samples_per_pixel = fpp;
set_position (this->get_position(), this);
- double end_pixel = trackview.editor().sample_to_pixel (frame_position + get_duration());
- double first_pixel = trackview.editor().sample_to_pixel (frame_position);
+ double end_pixel = trackview.editor().sample_to_pixel (sample_position + get_duration());
+ double first_pixel = trackview.editor().sample_to_pixel (sample_position);
reset_width_dependent_items (end_pixel - first_pixel);
}
@@ -815,47 +815,47 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width)
if (pixel_width < 2.0) {
- if (frame) {
- frame->set_outline (false);
- frame->set_x1 (std::max(1.0, pixel_width));
+ if (sample) {
+ sample->set_outline (false);
+ sample->set_x1 (std::max(1.0, pixel_width));
}
- if (frame_handle_start) {
- frame_handle_start->hide();
- frame_handle_end->hide();
+ if (sample_handle_start) {
+ sample_handle_start->hide();
+ sample_handle_end->hide();
}
} else {
- if (frame) {
- frame->set_outline (true);
+ if (sample) {
+ sample->set_outline (true);
/* Note: x0 is always zero - the position is defined by
- * the position of the group, not the frame.
+ * the position of the group, not the sample.
*/
- frame->set_x1 (pixel_width);
+ sample->set_x1 (pixel_width);
- if (selection_frame) {
- selection_frame->set (frame->get().shrink (1.0));
+ if (selection_sample) {
+ selection_sample->set (sample->get().shrink (1.0));
}
}
- if (frame_handle_start) {
+ if (sample_handle_start) {
if (pixel_width < (3 * TimeAxisViewItem::GRAB_HANDLE_WIDTH)) {
/*
* there's less than GRAB_HANDLE_WIDTH of the region between
- * the right-hand end of frame_handle_start and the left-hand
- * end of frame_handle_end, so disable the handles
+ * the right-hand end of sample_handle_start and the left-hand
+ * end of sample_handle_end, so disable the handles
*/
- frame_handle_start->hide();
- frame_handle_end->hide();
+ sample_handle_start->hide();
+ sample_handle_end->hide();
} else {
- frame_handle_start->show();
- frame_handle_end->set_x0 (pixel_width - (TimeAxisViewItem::GRAB_HANDLE_WIDTH));
- frame_handle_end->set_x1 (pixel_width);
- frame_handle_end->show();
+ sample_handle_start->show();
+ sample_handle_end->set_x0 (pixel_width - (TimeAxisViewItem::GRAB_HANDLE_WIDTH));
+ sample_handle_end->set_x1 (pixel_width);
+ sample_handle_end->show();
- frame_handle_start->raise_to_top ();
- frame_handle_end->raise_to_top ();
+ sample_handle_start->raise_to_top ();
+ sample_handle_end->raise_to_top ();
}
}
}
@@ -922,7 +922,7 @@ TimeAxisViewItem::parameter_changed (string p)
if (p == "color-regions-using-track-color") {
set_colors ();
} else if (p == "timeline-item-gradient-depth") {
- set_frame_gradient ();
+ set_sample_gradient ();
}
}
@@ -930,12 +930,12 @@ void
TimeAxisViewItem::drag_start ()
{
_dragging = true;
- set_frame_color ();
+ set_sample_color ();
}
void
TimeAxisViewItem::drag_end ()
{
_dragging = false;
- set_frame_color ();
+ set_sample_color ();
}
diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h
index 49cd615d6a..41d75883d3 100644
--- a/gtk2_ardour/time_axis_view_item.h
+++ b/gtk2_ardour/time_axis_view_item.h
@@ -37,8 +37,8 @@ namespace ArdourCanvas {
class Text;
}
-using ARDOUR::framepos_t;
-using ARDOUR::framecnt_t;
+using ARDOUR::samplepos_t;
+using ARDOUR::samplecnt_t;
/**
* Base class for items that may appear upon a TimeAxisView.
@@ -49,14 +49,14 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
public:
virtual ~TimeAxisViewItem();
- virtual bool set_position(framepos_t, void*, double* delta = 0);
- framepos_t get_position() const;
- virtual bool set_duration(framecnt_t, void*);
- framecnt_t get_duration() const;
- virtual void set_max_duration(framecnt_t, void*);
- framecnt_t get_max_duration() const;
- virtual void set_min_duration(framecnt_t, void*);
- framecnt_t get_min_duration() const;
+ virtual bool set_position(samplepos_t, void*, double* delta = 0);
+ samplepos_t get_position() const;
+ virtual bool set_duration(samplecnt_t, void*);
+ samplecnt_t get_duration() const;
+ virtual void set_max_duration(samplecnt_t, void*);
+ samplecnt_t get_max_duration() const;
+ virtual void set_min_duration(samplecnt_t, void*);
+ samplecnt_t get_min_duration() const;
virtual void set_position_locked(bool, void*);
bool get_position_locked() const;
void set_max_duration_active(bool, void*);
@@ -78,7 +78,7 @@ public:
virtual uint32_t get_fill_color () const;
- ArdourCanvas::Item* get_canvas_frame();
+ ArdourCanvas::Item* get_canvas_sample();
ArdourCanvas::Item* get_canvas_group();
ArdourCanvas::Item* get_name_highlight();
@@ -127,19 +127,19 @@ public:
sigc::signal<void,std::string,std::string,void*> NameChanged;
/** Emiited when the position of this item changes */
- sigc::signal<void,framepos_t,void*> PositionChanged;
+ sigc::signal<void,samplepos_t,void*> PositionChanged;
/** Emitted when the position lock of this item is changed */
sigc::signal<void,bool,void*> PositionLockChanged;
/** Emitted when the duration of this item changes */
- sigc::signal<void,framecnt_t,void*> DurationChanged;
+ sigc::signal<void,samplecnt_t,void*> DurationChanged;
/** Emitted when the maximum item duration is changed */
- sigc::signal<void,framecnt_t,void*> MaxDurationChanged;
+ sigc::signal<void,samplecnt_t,void*> MaxDurationChanged;
/** Emitted when the mionimum item duration is changed */
- sigc::signal<void,framecnt_t,void*> MinDurationChanged;
+ sigc::signal<void,samplecnt_t,void*> MinDurationChanged;
enum Visibility {
ShowFrame = 0x1,
@@ -154,17 +154,17 @@ public:
protected:
TimeAxisViewItem (const std::string &, ArdourCanvas::Item&, TimeAxisView&, double, uint32_t fill_color,
- framepos_t, framecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0));
+ samplepos_t, samplecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0));
TimeAxisViewItem (const TimeAxisViewItem&);
- void init (ArdourCanvas::Item*, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool);
+ void init (ArdourCanvas::Item*, double, uint32_t, samplepos_t, samplepos_t, Visibility, bool, bool);
virtual bool canvas_group_event (GdkEvent*);
virtual void set_colors();
- virtual void set_frame_color();
- virtual void set_frame_gradient ();
+ virtual void set_sample_color();
+ virtual void set_sample_gradient ();
void set_trim_handle_colors();
virtual void reset_width_dependent_items (double);
@@ -178,16 +178,16 @@ protected:
bool position_locked;
/** position of this item on the timeline */
- framepos_t frame_position;
+ samplepos_t sample_position;
/** duration of this item upon the timeline */
- framecnt_t item_duration;
+ samplecnt_t item_duration;
/** maximum duration that this item can have */
- framecnt_t max_item_duration;
+ samplecnt_t max_item_duration;
/** minimum duration that this item can have */
- framecnt_t min_item_duration;
+ samplecnt_t min_item_duration;
/** indicates whether the max duration constraint is active */
bool max_duration_active;
@@ -195,7 +195,7 @@ protected:
/** indicates whether the min duration constraint is active */
bool min_duration_active;
- /** frames per canvas pixel */
+ /** samples per canvas pixel */
double samples_per_pixel;
/** should the item respond to events */
@@ -218,16 +218,16 @@ protected:
bool high_enough_for_name;
ArdourCanvas::Container* group;
- ArdourCanvas::Rectangle* frame;
- ArdourCanvas::Rectangle* selection_frame;
+ ArdourCanvas::Rectangle* sample;
+ ArdourCanvas::Rectangle* selection_sample;
ArdourCanvas::Text* name_text;
ArdourCanvas::Rectangle* name_highlight;
- /* with these two values, if frame_handle_start == 0 then frame_handle_end will also be 0 */
- ArdourCanvas::Rectangle* frame_handle_start; ///< `frame' (fade) handle for the start of the item, or 0
- ArdourCanvas::Rectangle* frame_handle_end; ///< `frame' (fade) handle for the end of the item, or 0
+ /* with these two values, if sample_handle_start == 0 then sample_handle_end will also be 0 */
+ ArdourCanvas::Rectangle* sample_handle_start; ///< `sample' (fade) handle for the start of the item, or 0
+ ArdourCanvas::Rectangle* sample_handle_end; ///< `sample' (fade) handle for the end of the item, or 0
- bool frame_handle_crossing (GdkEvent*, ArdourCanvas::Rectangle*);
+ bool sample_handle_crossing (GdkEvent*, ArdourCanvas::Rectangle*);
double _height;
Visibility visibility;
diff --git a/gtk2_ardour/time_fx_dialog.cc b/gtk2_ardour/time_fx_dialog.cc
index eb7750f4f8..c51bdcd5e2 100644
--- a/gtk2_ardour/time_fx_dialog.cc
+++ b/gtk2_ardour/time_fx_dialog.cc
@@ -54,7 +54,7 @@ using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
-TimeFXDialog::TimeFXDialog (Editor& e, bool pitch, framecnt_t oldlen, framecnt_t new_length, framepos_t position)
+TimeFXDialog::TimeFXDialog (Editor& e, bool pitch, samplecnt_t oldlen, samplecnt_t new_length, samplepos_t position)
: ArdourDialog (X_("time fx dialog"))
, editor (e)
, pitching (pitch)
@@ -302,7 +302,7 @@ TimeFXDialog::duration_adjustment_changed ()
PBD::Unwinder<bool> uw (ignore_clock_change, true);
- duration_clock->set ((framecnt_t) (original_length * (duration_adjustment.get_value()/ 100.0)));
+ duration_clock->set ((samplecnt_t) (original_length * (duration_adjustment.get_value()/ 100.0)));
}
void
diff --git a/gtk2_ardour/time_fx_dialog.h b/gtk2_ardour/time_fx_dialog.h
index 426453ff48..a069124547 100644
--- a/gtk2_ardour/time_fx_dialog.h
+++ b/gtk2_ardour/time_fx_dialog.h
@@ -40,7 +40,7 @@ class TimeFXDialog : public ArdourDialog, public ProgressReporter
{
public:
/* We need a position so that BBT mode in the clock can function */
- TimeFXDialog (Editor& e, bool for_pitch, ARDOUR::framecnt_t old_length, ARDOUR::framecnt_t new_length, ARDOUR::framepos_t position);
+ TimeFXDialog (Editor& e, bool for_pitch, ARDOUR::samplecnt_t old_length, ARDOUR::samplecnt_t new_length, ARDOUR::samplepos_t position);
ARDOUR::TimeFXRequest request;
Editor& editor;
@@ -84,7 +84,7 @@ public:
}
private:
- ARDOUR::framecnt_t original_length;
+ ARDOUR::samplecnt_t original_length;
Gtk::Adjustment pitch_octave_adjustment;
Gtk::Adjustment pitch_semitone_adjustment;
Gtk::Adjustment pitch_cent_adjustment;
diff --git a/gtk2_ardour/time_info_box.cc b/gtk2_ardour/time_info_box.cc
index 53425f9cd9..d5d77acee8 100644
--- a/gtk2_ardour/time_info_box.cc
+++ b/gtk2_ardour/time_info_box.cc
@@ -233,10 +233,10 @@ TimeInfoBox::set_session (Session* s)
void
TimeInfoBox::region_selection_changed ()
{
- framepos_t s, e;
+ samplepos_t s, e;
Selection& selection (Editor::instance().get_selection());
s = selection.regions.start();
- e = selection.regions.end_frame();
+ e = selection.regions.end_sample();
selection_start->set_off (false);
selection_end->set_off (false);
selection_length->set_off (false);
@@ -248,7 +248,7 @@ TimeInfoBox::region_selection_changed ()
void
TimeInfoBox::selection_changed ()
{
- framepos_t s, e;
+ samplepos_t s, e;
Selection& selection (Editor::instance().get_selection());
region_property_connections.drop_connections();
@@ -274,18 +274,18 @@ TimeInfoBox::selection_changed ()
selection_end->set_off (false);
selection_length->set_off (false);
selection_start->set (selection.time.start());
- selection_end->set (selection.time.end_frame());
- selection_length->set (selection.time.end_frame(), false, selection.time.start());
+ selection_end->set (selection.time.end_sample());
+ selection_length->set (selection.time.end_sample(), false, selection.time.start());
} else {
selection_start->set_off (true);
selection_end->set_off (true);
selection_length->set_off (true);
}
} else {
- s = max_framepos;
+ s = max_samplepos;
e = 0;
for (PointSelection::iterator i = selection.points.begin(); i != selection.points.end(); ++i) {
- framepos_t const p = (*i)->line().session_position ((*i)->model ());
+ samplepos_t const p = (*i)->line().session_position ((*i)->model ());
s = min (s, p);
e = max (e, p);
}
@@ -321,7 +321,7 @@ TimeInfoBox::selection_changed ()
if (tact && tact->get_active() && !selection.regions.empty()) {
/* show selected regions */
s = selection.regions.start();
- e = selection.regions.end_frame();
+ e = selection.regions.end_sample();
selection_start->set_off (false);
selection_end->set_off (false);
selection_length->set_off (false);
@@ -338,8 +338,8 @@ TimeInfoBox::selection_changed ()
selection_end->set_off (false);
selection_length->set_off (false);
selection_start->set (selection.time.start());
- selection_end->set (selection.time.end_frame());
- selection_length->set (selection.time.end_frame(), false, selection.time.start());
+ selection_end->set (selection.time.end_sample());
+ selection_length->set (selection.time.end_sample(), false, selection.time.start());
}
break;
diff --git a/gtk2_ardour/time_selection.cc b/gtk2_ardour/time_selection.cc
index 2f40dcb8e4..ba9918d116 100644
--- a/gtk2_ardour/time_selection.cc
+++ b/gtk2_ardour/time_selection.cc
@@ -68,14 +68,14 @@ TimeSelection::consolidate ()
return changed;
}
-framepos_t
+samplepos_t
TimeSelection::start ()
{
if (empty()) {
return 0;
}
- framepos_t first = max_framepos;
+ samplepos_t first = max_samplepos;
for (std::list<AudioRange>::iterator i = begin(); i != end(); ++i) {
if ((*i).start < first) {
@@ -85,10 +85,10 @@ TimeSelection::start ()
return first;
}
-framepos_t
-TimeSelection::end_frame ()
+samplepos_t
+TimeSelection::end_sample ()
{
- framepos_t last = 0;
+ samplepos_t last = 0;
/* XXX make this work like RegionSelection: no linear search needed */
@@ -100,12 +100,12 @@ TimeSelection::end_frame ()
return last;
}
-framecnt_t
+samplecnt_t
TimeSelection::length()
{
if (empty()) {
return 0;
}
- return end_frame() - start() + 1;
+ return end_sample() - start() + 1;
}
diff --git a/gtk2_ardour/time_selection.h b/gtk2_ardour/time_selection.h
index 4c535a8e6a..6e59684a48 100644
--- a/gtk2_ardour/time_selection.h
+++ b/gtk2_ardour/time_selection.h
@@ -32,9 +32,9 @@ class TimeSelection : public std::list<ARDOUR::AudioRange>
public:
ARDOUR::AudioRange& operator[](uint32_t);
- ARDOUR::framepos_t start();
- ARDOUR::framepos_t end_frame();
- ARDOUR::framepos_t length();
+ ARDOUR::samplepos_t start();
+ ARDOUR::samplepos_t end_sample();
+ ARDOUR::samplepos_t length();
bool consolidate ();
};
diff --git a/gtk2_ardour/transcode_ffmpeg.cc b/gtk2_ardour/transcode_ffmpeg.cc
index 6b66123aae..e62d9b301b 100644
--- a/gtk2_ardour/transcode_ffmpeg.cc
+++ b/gtk2_ardour/transcode_ffmpeg.cc
@@ -177,16 +177,16 @@ TranscodeFfmpeg::probe ()
} else if (key == X_("codec_tag_string")) {
if (!m_codec.empty()) m_codec += " ";
m_codec += "(" + value + ")";
- } else if (key == X_("r_frame_rate")) {
+ } else if (key == X_("r_sample_rate")) {
PARSE_FRACTIONAL_FPS(m_fps)
- } else if (key == X_("avg_frame_rate") && m_fps == 0) {
+ } else if (key == X_("avg_sample_rate") && m_fps == 0) {
PARSE_FRACTIONAL_FPS(m_fps)
} else if (key == X_("time_base")) {
PARSE_FRACTIONAL_FPS(timebase)
} else if (key == X_("timecode") && m_duration == 0 && m_fps > 0) {
int h,m,s; char f[32];
if (sscanf(i->at(16).c_str(), "%d:%d:%d:%32s",&h,&m,&s,f) == 4) {
- m_duration = (ARDOUR::framecnt_t) floor(m_fps * (
+ m_duration = (ARDOUR::samplecnt_t) floor(m_fps * (
h * 3600.0
+ m * 60.0
+ s * 1.0
@@ -257,7 +257,7 @@ TranscodeFfmpeg::probe ()
#if 0 /* DEBUG */
printf("FPS: %f\n", m_fps);
- printf("Duration: %lu frames\n",(unsigned long)m_duration);
+ printf("Duration: %lu samples\n",(unsigned long)m_duration);
printf("W/H: %ix%i\n",m_width, m_height);
printf("aspect: %f\n",m_aspect);
printf("codec: %s\n",m_codec.c_str());
@@ -425,7 +425,7 @@ TranscodeFfmpeg::encode (std::string outfile, std::string inf_a, std::string inf
}
bool
-TranscodeFfmpeg::extract_audio (std::string outfile, ARDOUR::framecnt_t /*samplerate*/, unsigned int stream)
+TranscodeFfmpeg::extract_audio (std::string outfile, ARDOUR::samplecnt_t /*samplerate*/, unsigned int stream)
{
if (!probeok) return false;
if (stream >= m_audio.size()) return false;
@@ -566,12 +566,12 @@ TranscodeFfmpeg::ffmpegparse_a (std::string d, size_t /* s */)
{
const char *t;
int h,m,s; char f[7];
- ARDOUR::framecnt_t p = -1;
+ ARDOUR::samplecnt_t p = -1;
if (!(t=strstr(d.c_str(), "time="))) { return; }
if (sscanf(t+5, "%d:%d:%d.%s",&h,&m,&s,f) == 4) {
- p = (ARDOUR::framecnt_t) floor( 100.0 * (
+ p = (ARDOUR::samplecnt_t) floor( 100.0 * (
h * 3600.0
+ m * 60.0
+ s * 1.0
@@ -591,7 +591,7 @@ TranscodeFfmpeg::ffmpegparse_v (std::string d, size_t /* s */)
if (strstr(d.c_str(), "ERROR") || strstr(d.c_str(), "Error") || strstr(d.c_str(), "error")) {
warning << "ffmpeg-error: " << d << endmsg;
}
- if (strncmp(d.c_str(), "frame=",6)) {
+ if (strncmp(d.c_str(), "sample=",6)) {
#if 1 /* DEBUG */
if (debug_enable) {
d.erase(d.find_last_not_of(" \t\r\n") + 1);
@@ -601,7 +601,7 @@ TranscodeFfmpeg::ffmpegparse_v (std::string d, size_t /* s */)
Progress(0, 0); /* EMIT SIGNAL */
return;
}
- ARDOUR::framecnt_t f = atol(d.substr(6));
+ ARDOUR::samplecnt_t f = atol(d.substr(6));
if (f == 0) {
Progress(0, 0); /* EMIT SIGNAL */
} else {
diff --git a/gtk2_ardour/transcode_ffmpeg.h b/gtk2_ardour/transcode_ffmpeg.h
index 2ee7529dc5..4ea60a368a 100644
--- a/gtk2_ardour/transcode_ffmpeg.h
+++ b/gtk2_ardour/transcode_ffmpeg.h
@@ -70,7 +70,7 @@ class TranscodeFfmpeg : public sigc::trackable
* specified as element-number in \ref get_audio().
* @return \c true if the transcoder process was successfully started.
*/
- bool extract_audio (std::string outfile, ARDOUR::framecnt_t samplerate, unsigned int stream=0);
+ bool extract_audio (std::string outfile, ARDOUR::samplecnt_t samplerate, unsigned int stream=0);
/** transcode video and mux audio files into a new video-file.
* @param outfile full-path of output file to create (existing files are overwritten)
* @param inf_a filename of input audio-file
@@ -100,7 +100,7 @@ class TranscodeFfmpeg : public sigc::trackable
* during \ref encode \ref transcode and \ref extract_audio
* The parameters are current and last video-frame.
*/
- PBD::Signal2<void, ARDOUR::framecnt_t, ARDOUR::framecnt_t> Progress;
+ PBD::Signal2<void, ARDOUR::samplecnt_t, ARDOUR::samplecnt_t> Progress;
/** signal emitted when the transcoder process terminates. */
PBD::Signal0<void> Finished;
@@ -108,7 +108,7 @@ class TranscodeFfmpeg : public sigc::trackable
double get_aspect () { return m_aspect; }
int get_width() { return m_width; }
int get_height() { return m_height; }
- ARDOUR::framecnt_t get_duration() { return m_duration; }
+ ARDOUR::samplecnt_t get_duration() { return m_duration; }
std::string get_codec() { return m_codec; }
FFAudioStreams get_audio() { return m_audio; }
@@ -116,7 +116,7 @@ class TranscodeFfmpeg : public sigc::trackable
/** override file duration used with the \ref Progress signal.
* @param d duration in video-frames = length_in_seconds * get_fps()
*/
- void set_duration(ARDOUR::framecnt_t d) { m_duration = d; }
+ void set_duration(ARDOUR::samplecnt_t d) { m_duration = d; }
/* offset, lead-in/out are in seconds */
void set_avoffset(double av_offset) { m_avoffset = av_offset; }
@@ -136,7 +136,7 @@ class TranscodeFfmpeg : public sigc::trackable
double m_fps;
double m_aspect;
std::string m_sar;
- ARDOUR::framecnt_t m_duration;
+ ARDOUR::samplecnt_t m_duration;
int m_width;
int m_height;
std::string m_codec;
diff --git a/gtk2_ardour/transcode_video_dialog.cc b/gtk2_ardour/transcode_video_dialog.cc
index bf253925fe..2087b19cdd 100644
--- a/gtk2_ardour/transcode_video_dialog.cc
+++ b/gtk2_ardour/transcode_video_dialog.cc
@@ -321,7 +321,7 @@ TranscodeVideoDialog::abort_clicked ()
}
void
-TranscodeVideoDialog::update_progress (framecnt_t c, framecnt_t a)
+TranscodeVideoDialog::update_progress (samplecnt_t c, samplecnt_t a)
{
if (a == 0 || c > a) {
pbar.set_pulse_step(.5);
@@ -377,7 +377,7 @@ TranscodeVideoDialog::launch_extract ()
audio_stream = audio_combo.get_active_row_number() -1;
progress_label.set_text (_("Extracting Audio.."));
- if (!transcoder->extract_audio(audiofile, _session->nominal_frame_rate(), audio_stream)) {
+ if (!transcoder->extract_audio(audiofile, _session->nominal_sample_rate(), audio_stream)) {
ARDOUR_UI::instance()->popup_error(_("Audio Extraction Failed."));
audiofile="";
Gtk::Dialog::response(RESPONSE_CANCEL);
diff --git a/gtk2_ardour/transcode_video_dialog.h b/gtk2_ardour/transcode_video_dialog.h
index 74e0035645..40b077b971 100644
--- a/gtk2_ardour/transcode_video_dialog.h
+++ b/gtk2_ardour/transcode_video_dialog.h
@@ -84,7 +84,7 @@ private:
PBD::Signal0<void> StartNextStage;
void finished ();
- void update_progress (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
+ void update_progress (ARDOUR::samplecnt_t, ARDOUR::samplecnt_t);
TranscodeFfmpeg *transcoder;
diff --git a/gtk2_ardour/vca_master_strip.cc b/gtk2_ardour/vca_master_strip.cc
index eacc1a0ecd..ac232dbd86 100644
--- a/gtk2_ardour/vca_master_strip.cc
+++ b/gtk2_ardour/vca_master_strip.cc
@@ -124,14 +124,14 @@ VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v)
global_vpacker.pack_start (gain_meter.gain_automation_state_button, false, false, 1);
global_vpacker.pack_start (bottom_padding, false, false, 0);
- global_frame.add (global_vpacker);
- global_frame.set_shadow_type (Gtk::SHADOW_IN);
- global_frame.set_name ("BaseFrame");
+ global_sample.add (global_vpacker);
+ global_sample.set_shadow_type (Gtk::SHADOW_IN);
+ global_sample.set_name ("BaseFrame");
- add (global_frame);
+ add (global_sample);
global_vpacker.show ();
- global_frame.show ();
+ global_sample.show ();
top_padding.show ();
vertical_button.show ();
hide_button.show ();
@@ -305,14 +305,14 @@ VCAMasterStrip::set_selected (bool yn)
AxisView::set_selected (yn);
if (_selected) {
- global_frame.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
- global_frame.set_name ("MixerStripSelectedFrame");
+ global_sample.set_shadow_type (Gtk::SHADOW_ETCHED_OUT);
+ global_sample.set_name ("MixerStripSelectedFrame");
} else {
- global_frame.set_shadow_type (Gtk::SHADOW_IN);
- global_frame.set_name ("MixerStripFrame");
+ global_sample.set_shadow_type (Gtk::SHADOW_IN);
+ global_sample.set_name ("MixerStripFrame");
}
- global_frame.queue_draw ();
+ global_sample.queue_draw ();
}
bool
diff --git a/gtk2_ardour/vca_master_strip.h b/gtk2_ardour/vca_master_strip.h
index d00232a798..72a04caeb1 100644
--- a/gtk2_ardour/vca_master_strip.h
+++ b/gtk2_ardour/vca_master_strip.h
@@ -63,7 +63,7 @@ private:
boost::shared_ptr<ARDOUR::VCA> _vca;
GainMeter gain_meter;
- Gtk::Frame global_frame;
+ Gtk::Frame global_sample;
Gtk::VBox global_vpacker;
Gtk::HBox top_padding;
Gtk::HBox bottom_padding;
diff --git a/gtk2_ardour/vca_time_axis.cc b/gtk2_ardour/vca_time_axis.cc
index efa1c3cdea..6a125a31d3 100644
--- a/gtk2_ardour/vca_time_axis.cc
+++ b/gtk2_ardour/vca_time_axis.cc
@@ -111,7 +111,7 @@ VCATimeAxisView::VCATimeAxisView (PublicEditor& ed, Session* s, ArdourCanvas::Ca
gain_meter.get_gain_slider().show ();
controls_ebox.set_name (controls_base_unselected_name);
- time_axis_frame.set_name (controls_base_unselected_name);
+ time_axis_sample.set_name (controls_base_unselected_name);
s->config.ParameterChanged.connect (*this, invalidator (*this), boost::bind (&VCATimeAxisView::parameter_changed, this, _1), gui_context());
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&VCATimeAxisView::parameter_changed, this, _1), gui_context());
diff --git a/gtk2_ardour/verbose_cursor.cc b/gtk2_ardour/verbose_cursor.cc
index bf11733b6d..3ad9ae92c6 100644
--- a/gtk2_ardour/verbose_cursor.cc
+++ b/gtk2_ardour/verbose_cursor.cc
@@ -93,7 +93,7 @@ VerboseCursor::set_offset (ArdourCanvas::Duple const & d)
}
void
-VerboseCursor::set_time (framepos_t frame)
+VerboseCursor::set_time (samplepos_t sample)
{
char buf[128];
Timecode::Time timecode;
@@ -109,21 +109,21 @@ VerboseCursor::set_time (framepos_t frame)
switch (m) {
case AudioClock::BBT:
- _editor->_session->bbt_time (frame, bbt);
+ _editor->_session->bbt_time (sample, bbt);
snprintf (buf, sizeof (buf), "%02" PRIu32 "|%02" PRIu32 "|%02" PRIu32, bbt.bars, bbt.beats, bbt.ticks);
break;
case AudioClock::Timecode:
- _editor->_session->timecode_time (frame, timecode);
+ _editor->_session->timecode_time (sample, timecode);
snprintf (buf, sizeof (buf), "%s", Timecode::timecode_format_time (timecode).c_str());
break;
case AudioClock::MinSec:
- AudioClock::print_minsec (frame, buf, sizeof (buf), _editor->_session->frame_rate());
+ AudioClock::print_minsec (sample, buf, sizeof (buf), _editor->_session->sample_rate());
break;
default:
- snprintf (buf, sizeof(buf), "%" PRIi64, frame);
+ snprintf (buf, sizeof(buf), "%" PRIi64, sample);
break;
}
@@ -131,13 +131,13 @@ VerboseCursor::set_time (framepos_t frame)
}
void
-VerboseCursor::set_duration (framepos_t start, framepos_t end)
+VerboseCursor::set_duration (samplepos_t start, samplepos_t end)
{
char buf[128];
Timecode::Time timecode;
Timecode::BBT_Time sbbt;
Timecode::BBT_Time ebbt;
- Meter meter_at_start (_editor->_session->tempo_map().meter_at_frame (start));
+ Meter meter_at_start (_editor->_session->tempo_map().meter_at_sample (start));
if (_editor->_session == 0) {
return;
@@ -188,7 +188,7 @@ VerboseCursor::set_duration (framepos_t start, framepos_t end)
break;
case AudioClock::MinSec:
- AudioClock::print_minsec (end - start, buf, sizeof (buf), _editor->_session->frame_rate());
+ AudioClock::print_minsec (end - start, buf, sizeof (buf), _editor->_session->sample_rate());
break;
default:
diff --git a/gtk2_ardour/verbose_cursor.h b/gtk2_ardour/verbose_cursor.h
index 20866a4e04..3cbe406208 100644
--- a/gtk2_ardour/verbose_cursor.h
+++ b/gtk2_ardour/verbose_cursor.h
@@ -38,8 +38,8 @@ public:
bool visible () const;
void set (std::string const &);
- void set_time (framepos_t);
- void set_duration (framepos_t, framepos_t);
+ void set_time (samplepos_t);
+ void set_duration (samplepos_t, samplepos_t);
void set_offset (ArdourCanvas::Duple const&);
void show ();
diff --git a/gtk2_ardour/video_image_frame.cc b/gtk2_ardour/video_image_frame.cc
index 093f235107..242d56517d 100644
--- a/gtk2_ardour/video_image_frame.cc
+++ b/gtk2_ardour/video_image_frame.cc
@@ -63,7 +63,7 @@ VideoImageFrame::VideoImageFrame (PublicEditor& ed, ArdourCanvas::Container& par
image = new ArdourCanvas::Image (_parent, Cairo::FORMAT_ARGB32, clip_width, clip_height);
img = image->get_image();
- fill_frame(0, 0, 0);
+ fill_sample(0, 0, 0);
draw_line();
draw_x();
image->put_image(img);
@@ -80,7 +80,7 @@ VideoImageFrame::~VideoImageFrame ()
}
void
-VideoImageFrame::set_position (framepos_t sample)
+VideoImageFrame::set_position (samplepos_t sample)
{
double new_unit_position = editor.sample_to_pixel (sample);
image->move (ArdourCanvas::Duple (new_unit_position - unit_position, 0.0));
@@ -100,7 +100,7 @@ VideoImageFrame::exposeimg () {
}
void
-VideoImageFrame::set_videoframe (framepos_t videoframenumber, int re)
+VideoImageFrame::set_videoframe (samplepos_t videoframenumber, int re)
{
if (video_frame_number == videoframenumber && rightend == re) return;
@@ -108,7 +108,7 @@ VideoImageFrame::set_videoframe (framepos_t videoframenumber, int re)
rightend = re;
img = image->get_image();
- fill_frame(0, 0, 0);
+ fill_sample(0, 0, 0);
draw_x();
draw_line();
cut_rightend();
@@ -135,7 +135,7 @@ VideoImageFrame::draw_line ()
}
void
-VideoImageFrame::fill_frame (const uint8_t r, const uint8_t g, const uint8_t b)
+VideoImageFrame::fill_sample (const uint8_t r, const uint8_t g, const uint8_t b)
{
const int rowstride = img->stride;
const int clip_height = img->height;
@@ -201,9 +201,9 @@ http_get_thread (void *arg) {
char url[2048];
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
- snprintf(url, sizeof(url), "%s?frame=%li&w=%d&h=%d&file=%s&format=bgra",
+ snprintf(url, sizeof(url), "%s?sample=%li&w=%d&h=%d&file=%s&format=bgra",
vif->get_video_server_url().c_str(),
- (long int) vif->get_req_frame(), vif->get_width(), vif->get_height(),
+ (long int) vif->get_req_sample(), vif->get_width(), vif->get_height(),
vif->get_video_filename().c_str()
);
int status = 0;
@@ -234,7 +234,7 @@ VideoImageFrame::http_download_done (char *data){
if (!data) {
/* Image request failed (HTTP error or timeout) */
img = image->get_image();
- fill_frame(128, 0, 0);
+ fill_sample(128, 0, 0);
draw_x();
cut_rightend();
draw_line();
@@ -250,7 +250,7 @@ VideoImageFrame::http_download_done (char *data){
}
exposeimg();
- /* don't request frames too quickly, wait after user has zoomed */
+ /* don't request samples too quickly, wait after user has zoomed */
Glib::usleep(40000);
if (queued_request) {
@@ -261,7 +261,7 @@ VideoImageFrame::http_download_done (char *data){
void
-VideoImageFrame::http_get(framepos_t fn) {
+VideoImageFrame::http_get(samplepos_t fn) {
if (pthread_mutex_trylock(&request_lock)) {
pthread_mutex_lock(&queue_lock);
queued_request=true;
@@ -284,7 +284,7 @@ VideoImageFrame::http_get(framepos_t fn) {
}
void
-VideoImageFrame::http_get_again(framepos_t /*fn*/) {
+VideoImageFrame::http_get_again(samplepos_t /*fn*/) {
pthread_mutex_lock(&queue_lock);
queued_request=false;
req_video_frame_number=want_video_frame_number;
diff --git a/gtk2_ardour/video_image_frame.h b/gtk2_ardour/video_image_frame.h
index aeb117da9f..421ba55b6d 100644
--- a/gtk2_ardour/video_image_frame.h
+++ b/gtk2_ardour/video_image_frame.h
@@ -49,14 +49,14 @@ class VideoImageFrame : public sigc::trackable
VideoImageFrame (PublicEditor&, ArdourCanvas::Container&, int, int, std::string, std::string);
virtual ~VideoImageFrame ();
- void set_position (framepos_t);
- void set_videoframe (framepos_t, int rightend = -1);
- framepos_t get_video_frame_number() {return video_frame_number;}
+ void set_position (samplepos_t);
+ void set_videoframe (samplepos_t, int rightend = -1);
+ samplepos_t get_video_frame_number() {return video_frame_number;}
int get_height () {return clip_height;}
int get_width () {return clip_width;}
int get_rightend() { return rightend;}
- framepos_t get_req_frame () {return req_video_frame_number;}
+ samplepos_t get_req_sample () {return req_video_frame_number;}
std::string get_video_server_url () {return video_server_url;}
std::string get_video_filename () {return video_filename;}
@@ -78,23 +78,23 @@ class VideoImageFrame : public sigc::trackable
std::string video_filename;
double unit_position;
- framepos_t sample_position;
- framepos_t video_frame_number;
+ samplepos_t sample_position;
+ samplepos_t video_frame_number;
void reposition ();
void exposeimg ();
- void fill_frame (const uint8_t r, const uint8_t g, const uint8_t b);
+ void fill_sample (const uint8_t r, const uint8_t g, const uint8_t b);
void draw_line ();
void draw_x ();
void cut_rightend ();
- void http_get(framepos_t fn);
- void http_get_again(framepos_t fn);
+ void http_get(samplepos_t fn);
+ void http_get_again(samplepos_t fn);
- framepos_t req_video_frame_number;
- framepos_t want_video_frame_number;
+ samplepos_t req_video_frame_number;
+ samplepos_t want_video_frame_number;
bool queued_request;
pthread_mutex_t request_lock;
diff --git a/gtk2_ardour/video_monitor.cc b/gtk2_ardour/video_monitor.cc
index 56dad67dc8..9edc3d1d22 100644
--- a/gtk2_ardour/video_monitor.cc
+++ b/gtk2_ardour/video_monitor.cc
@@ -37,7 +37,7 @@ using namespace ARDOUR_UI_UTILS;
VideoMonitor::VideoMonitor (PublicEditor *ed, std::string xjadeo_bin_path)
: editor (ed)
{
- manually_seeked_frame = 0;
+ manually_seeked_sample = 0;
fps =0.0; // = _session->timecode_frames_per_second();
sync_by_manual_seek = true;
_restore_settings_mask = 0;
@@ -72,7 +72,7 @@ VideoMonitor::start ()
return true;
}
- manually_seeked_frame = 0;
+ manually_seeked_sample = 0;
sync_by_manual_seek = false;
if (clock_connection.connected()) { clock_connection.disconnect(); }
@@ -126,7 +126,7 @@ void
VideoMonitor::open (std::string filename)
{
if (!is_started()) return;
- manually_seeked_frame = 0;
+ manually_seeked_sample = 0;
osdmode = 10; // 1: frameno, 2: timecode, 8: box
starting = 15;
process->write_to_stdin("load " + filename + "\n");
@@ -384,8 +384,8 @@ VideoMonitor::parse_output (std::string d, size_t /*s*/)
osdmode = atoi(value);
if (starting || atoi(xjadeo_settings["osd mode"]) != osdmode) {
if (!starting && _session) _session->set_dirty ();
- if ((osdmode & 1) == 1) { UiState("xjadeo-window-osd-frame-on"); }
- if ((osdmode & 1) == 0) { UiState("xjadeo-window-osd-frame-off"); }
+ if ((osdmode & 1) == 1) { UiState("xjadeo-window-osd-sample-on"); }
+ if ((osdmode & 1) == 0) { UiState("xjadeo-window-osd-sample-off"); }
if ((osdmode & 2) == 2) { UiState("xjadeo-window-osd-timecode-on"); }
if ((osdmode & 2) == 0) { UiState("xjadeo-window-osd-timecode-off"); }
if ((osdmode & 8) == 8) { UiState("xjadeo-window-osd-box-on"); }
@@ -467,31 +467,31 @@ VideoMonitor::get_custom_setting (const std::string k)
return (xjadeo_settings[k]);
}
-#define NO_OFFSET (ARDOUR::max_framepos) //< skip setting or modifying offset
+#define NO_OFFSET (ARDOUR::max_samplepos) //< skip setting or modifying offset
void
VideoMonitor::srsupdate ()
{
if (!_session) { return; }
if (editor->dragging_playhead()) { return ;}
- manual_seek(_session->audible_frame(), false, NO_OFFSET);
+ manual_seek(_session->audible_sample(), false, NO_OFFSET);
}
void
-VideoMonitor::set_offset (ARDOUR::frameoffset_t offset)
+VideoMonitor::set_offset (ARDOUR::sampleoffset_t offset)
{
if (!is_started()) { return; }
if (!_session) { return; }
if (offset == NO_OFFSET ) { return; }
- framecnt_t video_frame_offset;
- framecnt_t audio_sample_rate;
+ samplecnt_t video_frame_offset;
+ samplecnt_t audio_sample_rate;
if (_session->config.get_videotimeline_pullup()) {
- audio_sample_rate = _session->frame_rate();
+ audio_sample_rate = _session->sample_rate();
} else {
- audio_sample_rate = _session->nominal_frame_rate();
+ audio_sample_rate = _session->nominal_sample_rate();
}
- /* Note: pull-up/down are applied here: frame_rate() vs. nominal_frame_rate() */
+ /* Note: pull-up/down are applied here: sample_rate() vs. nominal_sample_rate() */
if (_session->config.get_use_video_file_fps()) {
video_frame_offset = floor(offset * fps / audio_sample_rate);
} else {
@@ -506,19 +506,19 @@ VideoMonitor::set_offset (ARDOUR::frameoffset_t offset)
}
void
-VideoMonitor::manual_seek (framepos_t when, bool /*force*/, ARDOUR::frameoffset_t offset)
+VideoMonitor::manual_seek (samplepos_t when, bool /*force*/, ARDOUR::sampleoffset_t offset)
{
if (!is_started()) { return; }
if (!_session) { return; }
- framecnt_t video_frame;
- framecnt_t audio_sample_rate;
+ samplecnt_t video_frame;
+ samplecnt_t audio_sample_rate;
if (_session->config.get_videotimeline_pullup()) {
- audio_sample_rate = _session->frame_rate();
+ audio_sample_rate = _session->sample_rate();
} else {
- audio_sample_rate = _session->nominal_frame_rate();
+ audio_sample_rate = _session->nominal_sample_rate();
}
- /* Note: pull-up/down are applied here: frame_rate() vs. nominal_frame_rate() */
+ /* Note: pull-up/down are applied here: sample_rate() vs. nominal_sample_rate() */
if (_session->config.get_use_video_file_fps()) {
video_frame = floor(when * fps / audio_sample_rate);
} else {
@@ -526,8 +526,8 @@ VideoMonitor::manual_seek (framepos_t when, bool /*force*/, ARDOUR::frameoffset_
}
if (video_frame < 0 ) video_frame = 0;
- if (video_frame == manually_seeked_frame) { return; }
- manually_seeked_frame = video_frame;
+ if (video_frame == manually_seeked_sample) { return; }
+ manually_seeked_sample = video_frame;
#if 0 /* DEBUG */
std::cout <<"seek: " << video_frame << std::endl;
diff --git a/gtk2_ardour/video_monitor.h b/gtk2_ardour/video_monitor.h
index d2ab91b3a7..1abd472312 100644
--- a/gtk2_ardour/video_monitor.h
+++ b/gtk2_ardour/video_monitor.h
@@ -67,8 +67,8 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
void restore_settings_mask (int i) { _restore_settings_mask = i;}
int restore_settings_mask () const { return _restore_settings_mask;}
- void set_offset (ARDOUR::frameoffset_t);
- void manual_seek (ARDOUR::framepos_t, bool, ARDOUR::frameoffset_t);
+ void set_offset (ARDOUR::sampleoffset_t);
+ void manual_seek (ARDOUR::samplepos_t, bool, ARDOUR::sampleoffset_t);
void srsupdate ();
void querystate ();
bool synced_by_manual_seeks() { return sync_by_manual_seek; }
@@ -98,8 +98,8 @@ class VideoMonitor : public sigc::trackable , public ARDOUR::SessionHandlePtr, p
XJSettings xjadeo_settings;
void xjadeo_sync_setup ();
- ARDOUR::framepos_t manually_seeked_frame;
- ARDOUR::frameoffset_t video_offset;
+ ARDOUR::samplepos_t manually_seeked_sample;
+ ARDOUR::sampleoffset_t video_offset;
bool sync_by_manual_seek;
sigc::connection clock_connection;
sigc::connection state_connection;
diff --git a/gtk2_ardour/video_timeline.cc b/gtk2_ardour/video_timeline.cc
index 83d85f84fc..e336d59534 100644
--- a/gtk2_ardour/video_timeline.cc
+++ b/gtk2_ardour/video_timeline.cc
@@ -62,7 +62,7 @@ VideoTimeLine::VideoTimeLine (PublicEditor *ed, ArdourCanvas::Container *vbg, in
video_filename = "";
local_file = true;
video_file_fps = 25.0;
- flush_frames = false;
+ flush_samples = false;
vmonitor=0;
reopen_vmonitor=false;
find_xjadeo();
@@ -119,7 +119,7 @@ VideoTimeLine::close_session ()
sessionsave.disconnect();
close_video_monitor();
- remove_frames();
+ remove_samples();
video_filename = "";
video_duration = 0;
GuiUpdate("set-xjadeo-sensitive-off");
@@ -231,24 +231,24 @@ VideoTimeLine::get_state ()
}
void
-VideoTimeLine::remove_frames ()
+VideoTimeLine::remove_samples ()
{
- for (VideoFrames::iterator i = video_frames.begin(); i != video_frames.end(); ++i ) {
- VideoImageFrame *frame = (*i);
- delete frame;
+ for (VideoSamples::iterator i = video_frames.begin(); i != video_frames.end(); ++i ) {
+ VideoImageFrame *sample = (*i);
+ delete sample;
(*i) = 0;
}
video_frames.clear();
}
VideoImageFrame *
-VideoTimeLine::get_video_frame (framepos_t vfn, int cut, int rightend)
+VideoTimeLine::get_video_frame (samplepos_t vfn, int cut, int rightend)
{
if (vfn==0) cut=0;
- for (VideoFrames::iterator i = video_frames.begin(); i != video_frames.end(); ++i) {
- VideoImageFrame *frame = (*i);
- if (abs(frame->get_video_frame_number()-vfn)<=cut
- && frame->get_rightend() == rightend) { return frame; }
+ for (VideoSamples::iterator i = video_frames.begin(); i != video_frames.end(); ++i) {
+ VideoImageFrame *sample = (*i);
+ if (abs(sample->get_video_frame_number()-vfn)<=cut
+ && sample->get_rightend() == rightend) { return sample; }
}
return 0;
}
@@ -267,9 +267,9 @@ VideoTimeLine::get_apv()
}
if (_session->config.get_videotimeline_pullup()) {
- apv = _session->frame_rate();
+ apv = _session->sample_rate();
} else {
- apv = _session->nominal_frame_rate();
+ apv = _session->nominal_sample_rate();
}
if (_session->config.get_use_video_file_fps()) {
apv /= video_file_fps;
@@ -291,30 +291,30 @@ VideoTimeLine::update_video_timeline()
}
const double samples_per_pixel = editor->get_current_zoom();
- const framepos_t leftmost_sample = editor->leftmost_sample();
+ const samplepos_t leftmost_sample = editor->leftmost_sample();
/* Outline:
- * 1) calculate how many frames there should be in current zoom (plus 1 page on each side)
- * 2) calculate first frame and distance between video-frames (according to zoom)
- * 3) destroy/add frames
- * 4) reposition existing frames
- * 5) assign framenumber to frames -> request/decode video.
+ * 1) calculate how many samples there should be in current zoom (plus 1 page on each side)
+ * 2) calculate first sample and distance between video-frames (according to zoom)
+ * 3) destroy/add samples
+ * 4) reposition existing samples
+ * 5) assign framenumber to samples -> request/decode video.
*/
/* video-file and session properties */
double display_vframe_width; /* unit: pixels ; width of one thumbnail in the timeline */
float apv; /* audio samples per video frame; */
- framepos_t leftmost_video_frame; /* unit: video-frame number ; temporary var -> vtl_start */
+ samplepos_t leftmost_video_frame; /* unit: video-frame number ; temporary var -> vtl_start */
/* variables needed to render videotimeline -- what needs to computed first */
- framepos_t vtl_start; /* unit: audio-samples ; first displayed video-frame */
- framepos_t vtl_dist; /* unit: audio-samples ; distance between displayed video-frames */
- unsigned int visible_video_frames; /* number of frames that fit on current canvas */
+ samplepos_t vtl_start; /* unit: audio-samples ; first displayed video-frame */
+ samplepos_t vtl_dist; /* unit: audio-samples ; distance between displayed video-frames */
+ unsigned int visible_video_frames; /* number of samples that fit on current canvas */
if (_session->config.get_videotimeline_pullup()) {
- apv = _session->frame_rate();
+ apv = _session->sample_rate();
} else {
- apv = _session->nominal_frame_rate();
+ apv = _session->nominal_sample_rate();
}
if (_session->config.get_use_video_file_fps()) {
apv /= video_file_fps;
@@ -338,51 +338,51 @@ VideoTimeLine::update_video_timeline()
leftmost_video_frame = floor (floor((long double)(leftmost_sample - video_start_offset - video_offset ) / vtl_dist) * vtl_dist / apv);
vtl_start = rint (video_offset + video_start_offset + leftmost_video_frame * apv);
- visible_video_frames = 2 + ceil((double)editor->current_page_samples() / vtl_dist); /* +2 left+right partial frames */
+ visible_video_frames = 2 + ceil((double)editor->current_page_samples() / vtl_dist); /* +2 left+right partial samples */
/* expand timeline (cache next/prev page images) */
vtl_start -= visible_video_frames * vtl_dist;
visible_video_frames *=3;
- /* don't request frames that are too far to the right */
+ /* don't request samples that are too far to the right */
if (vtl_start < video_offset) {
visible_video_frames = std::max((double)0.0, (double)visible_video_frames + ceil((double)(vtl_start - video_offset)/vtl_dist));
vtl_start = video_offset;
}
/* apply video-file constraints
- * (first frame in video is at video_start_offset) */
+ * (first sample in video is at video_start_offset) */
if (vtl_start > video_start_offset + video_duration + video_offset ) {
visible_video_frames = 0;
}
/* trim end.
- * end = position on timeline (video-offset) minus video-file's first frame position
+ * end = position on timeline (video-offset) minus video-file's first sample position
* TODO optimize: compute rather than iterate */
while (visible_video_frames > 0 && vtl_start + (visible_video_frames-1) * vtl_dist >= video_start_offset + video_duration + video_offset) {
--visible_video_frames;
}
- if (flush_frames) {
- remove_frames();
- flush_frames=false;
+ if (flush_samples) {
+ remove_samples();
+ flush_samples=false;
}
while (video_frames.size() < visible_video_frames) {
- VideoImageFrame *frame;
- frame = new VideoImageFrame(*editor, *videotl_group, display_vframe_width, bar_height, video_server_url, translated_filename());
- frame->ImgChanged.connect (*this, invalidator (*this), boost::bind (&PublicEditor::queue_visual_videotimeline_update, editor), gui_context());
- video_frames.push_back(frame);
+ VideoImageFrame *sample;
+ sample = new VideoImageFrame(*editor, *videotl_group, display_vframe_width, bar_height, video_server_url, translated_filename());
+ sample->ImgChanged.connect (*this, invalidator (*this), boost::bind (&PublicEditor::queue_visual_videotimeline_update, editor), gui_context());
+ video_frames.push_back(sample);
}
- VideoFrames outdated_video_frames;
+ VideoSamples outdated_video_frames;
std::list<int> remaining;
outdated_video_frames = video_frames;
#if 1
- /* when zoomed out, ignore shifts by +-1 frame
+ /* when zoomed out, ignore shifts by +-1 sample
* which can occur due to rounding errors when
- * scrolling to a new leftmost-audio frame.
+ * scrolling to a new leftmost-audio sample.
*/
int cut =1;
if (vtl_dist/apv < 3.0) cut =0;
@@ -391,40 +391,40 @@ VideoTimeLine::update_video_timeline()
#endif
for (unsigned int vfcount=0; vfcount < visible_video_frames; ++vfcount){
- framepos_t vfpos = vtl_start + vfcount * vtl_dist; /* unit: audio-frames */
- framepos_t vframeno = rint ( (vfpos - video_offset) / apv); /* unit: video-frames */
- vfpos = (vframeno * apv ) + video_offset; /* audio-frame corresponding to /rounded/ video-frame */
+ samplepos_t vfpos = vtl_start + vfcount * vtl_dist; /* unit: audio-samples */
+ samplepos_t vframeno = rint ( (vfpos - video_offset) / apv); /* unit: video-frames */
+ vfpos = (vframeno * apv ) + video_offset; /* audio-sample corresponding to /rounded/ video-frame */
int rightend = -1; /* unit: pixels */
if (vfpos + vtl_dist > video_start_offset + video_duration + video_offset) {
rightend = display_vframe_width * (video_start_offset + video_duration + video_offset - vfpos) / vtl_dist;
//printf("lf(e): %lu\n", vframeno); // XXX
}
- VideoImageFrame * frame = get_video_frame(vframeno, cut, rightend);
- if (frame) {
- frame->set_position(vfpos);
- outdated_video_frames.remove(frame);
+ VideoImageFrame * sample = get_video_frame(vframeno, cut, rightend);
+ if (sample) {
+ sample->set_position(vfpos);
+ outdated_video_frames.remove(sample);
} else {
remaining.push_back(vfcount);
}
}
- for (VideoFrames::iterator i = outdated_video_frames.begin(); i != outdated_video_frames.end(); ++i ) {
- VideoImageFrame *frame = (*i);
+ for (VideoSamples::iterator i = outdated_video_frames.begin(); i != outdated_video_frames.end(); ++i ) {
+ VideoImageFrame *sample = (*i);
if (remaining.empty()) {
- frame->set_position(-2 * vtl_dist + leftmost_sample); /* move off screen */
+ sample->set_position(-2 * vtl_dist + leftmost_sample); /* move off screen */
} else {
int vfcount=remaining.front();
remaining.pop_front();
- framepos_t vfpos = vtl_start + vfcount * vtl_dist; /* unit: audio-frames */
- framepos_t vframeno = rint ((vfpos - video_offset) / apv); /* unit: video-frames */
+ samplepos_t vfpos = vtl_start + vfcount * vtl_dist; /* unit: audio-samples */
+ samplepos_t vframeno = rint ((vfpos - video_offset) / apv); /* unit: video-frames */
int rightend = -1; /* unit: pixels */
if (vfpos + vtl_dist > video_start_offset + video_duration + video_offset) {
rightend = display_vframe_width * (video_start_offset + video_duration + video_offset - vfpos) / vtl_dist;
//printf("lf(n): %lu\n", vframeno); // XXX
}
- frame->set_position(vfpos);
- frame->set_videoframe(vframeno, rightend);
+ sample->set_position(vfpos);
+ sample->set_videoframe(vframeno, rightend);
}
}
}
@@ -463,8 +463,8 @@ VideoTimeLine::video_file_info (std::string filename, bool local)
GuiUpdate("video-unavailable");
return false;
}
- video_duration = _duration * _session->nominal_frame_rate() / video_file_fps;
- video_start_offset = _start_offset * _session->nominal_frame_rate();
+ video_duration = _duration * _session->nominal_sample_rate() / video_file_fps;
+ video_start_offset = _start_offset * _session->nominal_sample_rate();
if (auto_set_session_fps && video_file_fps != _session->timecode_frames_per_second()) {
switch ((int)floorf(video_file_fps*1000.0)) {
@@ -609,9 +609,9 @@ VideoTimeLine::gui_update(std::string const & t) {
editor->toggle_xjadeo_viewoption(2, 1);
} else if (t == "xjadeo-window-osd-timecode-off") {
editor->toggle_xjadeo_viewoption(2, 0);
- } else if (t == "xjadeo-window-osd-frame-on") {
+ } else if (t == "xjadeo-window-osd-sample-on") {
editor->toggle_xjadeo_viewoption(3, 1);
- } else if (t == "xjadeo-window-osd-frame-off") {
+ } else if (t == "xjadeo-window-osd-sample-off") {
editor->toggle_xjadeo_viewoption(3, 0);
} else if (t == "xjadeo-window-osd-box-on") {
editor->toggle_xjadeo_viewoption(4, 1);
@@ -650,7 +650,7 @@ VideoTimeLine::vmon_update () {
void
VideoTimeLine::flush_local_cache () {
- flush_frames = true;
+ flush_samples = true;
vmon_update();
}
@@ -915,7 +915,7 @@ VideoTimeLine::terminated_video_monitor () {
}
void
-VideoTimeLine::manual_seek_video_monitor (framepos_t pos)
+VideoTimeLine::manual_seek_video_monitor (samplepos_t pos)
{
if (!vmonitor) { return; }
if (!vmonitor->is_started()) { return; }
diff --git a/gtk2_ardour/video_timeline.h b/gtk2_ardour/video_timeline.h
index 03aaa902d8..55dd29a897 100644
--- a/gtk2_ardour/video_timeline.h
+++ b/gtk2_ardour/video_timeline.h
@@ -45,7 +45,7 @@ class PublicEditor;
* creates \ref VideoImageFrame as neccesary (which
* query the server for image-data).
*
- * This class contains the algorithm to position the single frames
+ * This class contains the algorithm to position the single samples
* on the timeline according to current-zoom level and video-file
* attributes. see \ref update_video_timeline()
*
@@ -78,7 +78,7 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
void close_video_monitor ();
void control_video_monitor (int, int);
void terminated_video_monitor ();
- void manual_seek_video_monitor (framepos_t pos);
+ void manual_seek_video_monitor (samplepos_t pos);
void parameter_changed (std::string const & p);
void set_video_server_url (std::string);
@@ -94,10 +94,10 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
void close_session ();
void sync_session_state (); /* video-monitor does not actively report window/pos changes, query it */
float get_apv(); /* audio samples per video frame; */
- ARDOUR::framecnt_t get_duration () { return video_duration;}
- ARDOUR::frameoffset_t get_offset () { return video_offset;}
- ARDOUR::frameoffset_t quantify_frames_to_apv (ARDOUR::frameoffset_t offset) { return rint(offset/get_apv())*get_apv(); }
- void set_offset (ARDOUR::frameoffset_t offset) { video_offset = quantify_frames_to_apv(offset); } // this function does not update video_offset_p, call save_undo() to finalize changes to this! - this fn is currently only used from editor_drag.cc
+ ARDOUR::samplecnt_t get_duration () { return video_duration;}
+ ARDOUR::sampleoffset_t get_offset () { return video_offset;}
+ ARDOUR::sampleoffset_t quantify_samples_to_apv (ARDOUR::sampleoffset_t offset) { return rint(offset/get_apv())*get_apv(); }
+ void set_offset (ARDOUR::sampleoffset_t offset) { video_offset = quantify_samples_to_apv(offset); } // this function does not update video_offset_p, call save_undo() to finalize changes to this! - this fn is currently only used from editor_drag.cc
protected:
@@ -110,10 +110,10 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
void find_harvid ();
- ARDOUR::frameoffset_t video_start_offset; /**< unit: audio-samples - video-file */
- ARDOUR::frameoffset_t video_offset; /**< unit: audio-samples - session */
- ARDOUR::frameoffset_t video_offset_p; /**< used for undo from editor_drag.cc */
- framepos_t video_duration; /**< unit: audio-samples */
+ ARDOUR::sampleoffset_t video_start_offset; /**< unit: audio-samples - video-file */
+ ARDOUR::sampleoffset_t video_offset; /**< unit: audio-samples - session */
+ ARDOUR::sampleoffset_t video_offset_p; /**< used for undo from editor_drag.cc */
+ samplepos_t video_duration; /**< unit: audio-samples */
std::string video_filename;
bool local_file;
double video_aspect_ratio;
@@ -129,11 +129,11 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
std::string xjadeo_version;
std::string harvid_version;
- typedef std::list<VideoImageFrame*> VideoFrames;
- VideoFrames video_frames;
- VideoImageFrame *get_video_frame (framepos_t vfn, int cut=0, int rightend = -1);
- bool flush_frames;
- void remove_frames ();
+ typedef std::list<VideoImageFrame*> VideoSamples;
+ VideoSamples video_frames;
+ VideoImageFrame *get_video_frame (samplepos_t vfn, int cut=0, int rightend = -1);
+ bool flush_samples;
+ void remove_samples ();
std::string translated_filename ();