class Location;
}
-extern sigc::signal<void> ColorsChanged;
-extern sigc::signal<void> DPIReset;
-
class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
{
public:
void show_splash ();
void hide_splash ();
- void launch_chat ();
- void launch_manual ();
- void launch_reference ();
+ void launch_chat ();
+ void launch_manual ();
+ void launch_reference ();
void show_about ();
void hide_about ();
int save_state_canfail (std::string state_name = "", bool switch_to_it = false);
void save_state (const std::string & state_name = "", bool switch_to_it = false);
- static double gain_to_slider_position (ARDOUR::gain_t g);
- static ARDOUR::gain_t slider_position_to_gain (double pos);
-
static ARDOUR_UI *instance () { return theArdourUI; }
static UIConfiguration *config () { return ui_config; }
static sigc::signal<void,bool> Blink;
static sigc::signal<void> RapidScreenUpdate;
static sigc::signal<void> SuperRapidScreenUpdate;
- static sigc::signal<void,nframes_t, bool, nframes_t> Clock;
+ /** Emitted frequently with the audible frame, false, and the edit point as
+ * parameters respectively.
+ */
+ static sigc::signal<void, framepos_t, bool, framepos_t> Clock;
XMLNode* editor_settings() const;
XMLNode* mixer_settings () const;
XMLNode* keyboard_settings () const;
- XMLNode* tearoff_settings (const char*) const;
+ XMLNode* tearoff_settings (const char*) const;
void save_ardour_state ();
gboolean configure_handler (GdkEventConfigure* conf);
- void do_transport_locate (nframes_t position);
+ void do_transport_locate (framepos_t, bool);
void halt_on_xrun_message ();
- void xrun_handler (nframes_t);
- void create_xrun_marker (nframes_t);
+ void xrun_handler (framepos_t);
+ void create_xrun_marker (framepos_t);
AudioClock primary_clock;
AudioClock secondary_clock;
void restore_clock_modes ();
void reset_main_clocks ();
- void synchronize_sync_source_and_video_pullup ();
+ void synchronize_sync_source_and_video_pullup ();
void add_route (Gtk::Window* float_window);
void session_add_audio_track (int input_channels, int32_t output_channels, ARDOUR::TrackMode mode, ARDOUR::RouteGroup* route_group, uint32_t how_many) {
- session_add_audio_route (true, false, input_channels, output_channels, mode, route_group, how_many);
+ session_add_audio_route (true, input_channels, output_channels, mode, route_group, how_many);
}
- void session_add_audio_bus (bool aux, int input_channels, int32_t output_channels, ARDOUR::RouteGroup* route_group, uint32_t how_many) {
- session_add_audio_route (false, aux, input_channels, output_channels, ARDOUR::Normal, route_group, how_many);
+ void session_add_audio_bus (int input_channels, int32_t output_channels, ARDOUR::RouteGroup* route_group, uint32_t how_many) {
+ session_add_audio_route (false, input_channels, output_channels, ARDOUR::Normal, route_group, how_many);
}
void session_add_midi_track (ARDOUR::RouteGroup* route_group, uint32_t how_many) {
void add_window_proxy (WindowProxyBase *);
void remove_window_proxy (WindowProxyBase *);
-
+
protected:
friend class PublicEditor;
void goto_editor_window ();
void goto_mixer_window ();
- void toggle_editor_mixer_on_top ();
- bool _mixer_on_top;
+ void toggle_mixer_window ();
+ void toggle_mixer_on_top ();
Gtk::ToggleButton preroll_button;
Gtk::ToggleButton postroll_button;
void about_signal_response(int response);
- private:
Gtk::VBox top_packer;
sigc::connection clock_signal_connection;
AudioClock big_clock;
ActionWindowProxy<Gtk::Window>* big_clock_window;
- int original_big_clock_width;
- int original_big_clock_height;
- double original_big_clock_font_size;
+ int original_big_clock_width;
+ int original_big_clock_height;
+ double original_big_clock_font_size;
void big_clock_size_allocate (Gtk::Allocation&);
bool idle_big_clock_text_resizer (int width, int height);
void float_big_clock (Gtk::Window* parent);
bool main_window_state_event_handler (GdkEventWindowState*, bool window_was_editor);
- void update_transport_clocks (nframes_t pos);
+ void update_transport_clocks (framepos_t pos);
void record_state_changed ();
std::list<MidiTracer*> _midi_tracer_windows;
Gtk::Label sample_rate_label;
Gtk::EventBox sample_rate_box;
- void update_sample_rate (nframes_t);
+ void update_sample_rate (ARDOUR::framecnt_t);
gint every_second ();
gint every_point_one_seconds ();
void edit_metadata ();
void import_metadata ();
- void session_add_audio_route (bool disk, bool aux, int32_t input_channels, int32_t output_channels, ARDOUR::TrackMode mode, ARDOUR::RouteGroup *, uint32_t how_many);
+ void session_add_audio_route (bool disk, int32_t input_channels, int32_t output_channels, ARDOUR::TrackMode mode, ARDOUR::RouteGroup *, uint32_t how_many);
void session_add_midi_route (bool disk, ARDOUR::RouteGroup *, uint32_t how_many);
void set_transport_sensitivity (bool);
void session_dialog (std::string);
int pending_state_dialog ();
- int sr_mismatch_dialog (nframes_t, nframes_t);
+ int sr_mismatch_dialog (ARDOUR::framecnt_t, ARDOUR::framecnt_t);
void disconnect_from_jack ();
void reconnect_to_jack ();
- void set_jack_buffer_size (nframes_t);
+ void set_jack_buffer_size (ARDOUR::pframes_t);
Gtk::MenuItem* jack_disconnect_item;
Gtk::MenuItem* jack_reconnect_item;
void queue_finish ();
std::list<WindowProxyBase*> _window_proxies;
+
+ int missing_file (ARDOUR::Session*s, std::string str, ARDOUR::DataType type);
+ int ambiguous_file (std::string file, std::string path, std::vector<std::string> hits);
};
#endif /* __ardour_gui_h__ */