#include "selection_memento.h"
#include "tempo_curve.h"
+#include "ptformat/ptfformat.h"
+
namespace Gtkmm2ext {
class Bindings;
}
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);
/* 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::Region>, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false);
RegionSelection get_regions_from_selection_and_mouse (samplepos_t);
ArdourWidgets::VPane editor_summary_pane;
Gtk::EventBox meter_base;
- Gtk::HBox meter_box;
Gtk::EventBox marker_base;
Gtk::HBox marker_box;
Gtk::VBox scrollers_rulers_markers_box;
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,
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;
void toggle_mute ();
void toggle_region_lock_style ();
- void play_solo_selection( bool restart );
+ void play_solo_selection (bool restart);
enum LayerOperation {
Raise,
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);
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 {
Gtk::HBox snap_box;
+ Gtk::HBox ebox_hpacker;
+ Gtk::VBox ebox_vpacker;
+
Gtk::HBox _box;
std::vector<std::string> grid_type_strings;
void select_next_stripable (bool routes_only = true);
void select_prev_stripable (bool routes_only = true);
- samplepos_t snap_to_grid ( std::vector<ArdourCanvas::Ruler::Mark> 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;
void toggle_reg_sens (Glib::RefPtr<Gtk::ActionGroup> group, char const * name, char const * label, sigc::slot<void> slot);
void radio_reg_sens (Glib::RefPtr<Gtk::ActionGroup> action_group, Gtk::RadioAction::Group& radio_group, char const * name, char const * label, sigc::slot<void> slot);
- Gtkmm2ext::ActionMap myactions;
-
friend class Drag;
friend class RegionCutDrag;
friend class RegionDrag;