X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor.h;h=04c32b7128acdab450b058504d2c8e180dfc5e08;hb=098b0f8a8b904313bc2e9e3147cc3c05fd83f3e6;hp=8f6730f04525ac3471acd5f564546b46ed4ea370;hpb=c206fa98a1be56678b05bbc728602a859686591b;p=ardour.git diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 8f6730f045..04c32b7128 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -61,6 +61,8 @@ #include "selection_memento.h" #include "tempo_curve.h" +#include "ptformat/ptfformat.h" + namespace Gtkmm2ext { class Bindings; } @@ -454,15 +456,13 @@ public: void snap_to (ARDOUR::MusicSample& first, ARDOUR::RoundMode direction = ARDOUR::RoundNearest, - ARDOUR::SnapPref pref = ARDOUR::SnapToAny, - bool for_mark = false, + ARDOUR::SnapPref pref = ARDOUR::SnapToAny_Visual, bool ensure_snap = false); void snap_to_with_modifier (ARDOUR::MusicSample& first, GdkEvent const * ev, ARDOUR::RoundMode direction = ARDOUR::RoundNearest, - ARDOUR::SnapPref pref = ARDOUR::SnapToAny, - bool for_mark = false); + ARDOUR::SnapPref pref = ARDOUR::SnapToAny_Visual); void set_snapped_cursor_position (samplepos_t pos); @@ -542,7 +542,7 @@ public: /* editing operations that need to be public */ void mouse_add_new_marker (samplepos_t where, bool is_cd=false); - void split_regions_at (ARDOUR::MusicSample, RegionSelection&, bool snap = true); + void split_regions_at (ARDOUR::MusicSample, RegionSelection&); void split_region_at_points (boost::shared_ptr, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false); RegionSelection get_regions_from_selection_and_mouse (samplepos_t); @@ -917,10 +917,9 @@ private: bool ruler_label_button_release (GdkEventButton*); void store_ruler_visibility (); void restore_ruler_visibility (); + void show_rulers_for_grid (); - - - enum MinsecRulerScale { + enum MinsecRulerScale { minsec_show_msecs, minsec_show_seconds, minsec_show_minutes, @@ -959,10 +958,10 @@ private: bbt_show_16, bbt_show_4, bbt_show_1, - bbt_show_beats, - bbt_show_ticks, - bbt_show_ticks_detail, - bbt_show_ticks_super_detail + bbt_show_quarters, + bbt_show_eighths, + bbt_show_sixteenths, + bbt_show_thirtyseconds }; BBTRulerScale bbt_ruler_scale; @@ -1238,7 +1237,7 @@ private: void toggle_mute (); void toggle_region_lock_style (); - void play_solo_selection( bool restart ); + void play_solo_selection (bool restart); enum LayerOperation { Raise, @@ -1349,18 +1348,6 @@ private: void insert_region_list_selection (float times); - /* PT import */ - void external_pt_dialog (); - typedef struct ptflookup { - uint16_t index1; - uint16_t index2; - PBD::ID id; - - bool operator ==(const struct ptflookup& other) { - return (this->index1 == other.index1); - } - } ptflookup_t; - /* import & embed */ void add_external_audio_action (Editing::ImportMode); @@ -1430,6 +1417,13 @@ private: void external_audio_dialog (); void session_import_dialog (); + /* PT import specific */ + void external_pt_dialog (); + ARDOUR::ImportStatus import_pt_status; + static void *_import_pt_thread (void *); + void* import_pt_thread (); + PTFFormat import_ptf; + /* import specific info */ struct EditorImportStatus : public ARDOUR::ImportStatus { @@ -1804,6 +1798,8 @@ private: bool mouse_select_button_release (GdkEventButton*); + Glib::RefPtr get_mouse_mode_action (Editing::MouseMode m) const; + Gtk::VBox automation_box; Gtk::Button automation_mode_button; @@ -1824,6 +1820,9 @@ private: Gtk::HBox snap_box; + Gtk::HBox ebox_hpacker; + Gtk::VBox ebox_vpacker; + Gtk::HBox _box; std::vector grid_type_strings; @@ -2186,18 +2185,33 @@ private: void select_next_stripable (bool routes_only = true); void select_prev_stripable (bool routes_only = true); - samplepos_t snap_to_grid ( std::vector marks, - samplepos_t presnap, - ARDOUR::RoundMode direction = ARDOUR::RoundNearest); + ARDOUR::MusicSample snap_to_minsec (ARDOUR::MusicSample start, + ARDOUR::RoundMode direction, + ARDOUR::SnapPref gpref); + + ARDOUR::MusicSample snap_to_cd_frames (ARDOUR::MusicSample start, + ARDOUR::RoundMode direction, + ARDOUR::SnapPref gpref); + + ARDOUR::MusicSample snap_to_bbt (ARDOUR::MusicSample start, + ARDOUR::RoundMode direction, + ARDOUR::SnapPref gpref); + + ARDOUR::MusicSample snap_to_timecode (ARDOUR::MusicSample start, + ARDOUR::RoundMode direction, + ARDOUR::SnapPref gpref); + + ARDOUR::MusicSample snap_to_grid (ARDOUR::MusicSample start, + ARDOUR::RoundMode direction, + ARDOUR::SnapPref gpref); void snap_to_internal (ARDOUR::MusicSample& first, ARDOUR::RoundMode direction = ARDOUR::RoundNearest, - ARDOUR::SnapPref gpref = ARDOUR::SnapToAny, - bool for_mark = false, + ARDOUR::SnapPref gpref = ARDOUR::SnapToAny_Visual, bool ensure_snap = false); - samplepos_t marker_snap_to_internal (samplepos_t presnap, - ARDOUR::RoundMode direction = ARDOUR::RoundNearest); + samplepos_t snap_to_marker (samplepos_t presnap, + ARDOUR::RoundMode direction = ARDOUR::RoundNearest); RhythmFerret* rhythm_ferret; @@ -2306,8 +2320,6 @@ private: void toggle_reg_sens (Glib::RefPtr group, char const * name, char const * label, sigc::slot slot); void radio_reg_sens (Glib::RefPtr action_group, Gtk::RadioAction::Group& radio_group, char const * name, char const * label, sigc::slot slot); - Gtkmm2ext::ActionMap myactions; - friend class Drag; friend class RegionCutDrag; friend class RegionDrag;