1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
3 * LADI Session Handler (ladish)
5 * Copyright (C) 2008, 2009 Nedko Arnaudov <nedko@arnaudov.name>
6 * Copyright (C) 2007 Dave Robillard <http://drobilla.net>
8 **************************************************************************
9 * This file contains interface of the application class
10 **************************************************************************
12 * LADI Session Handler is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
17 * LADI Session Handler is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with LADI Session Handler. If not, see <http://www.gnu.org/licenses/>
24 * or write to the Free Software Foundation, Inc.,
25 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
28 #ifndef PATCHAGE_PATCHAGE_HPP
29 #define PATCHAGE_PATCHAGE_HPP
42 Patchage(int argc
, char** argv
);
45 Gtk::Window
* window() { return _main_win
.get(); }
47 void quit() { _main_win
->hide(); }
52 void info_msg(const std::string
& msg
);
53 void error_msg(const std::string
& msg
);
54 void status_msg(const std::string
& msg
);
57 void set_studio_availability(bool available
);
59 void set_a2j_status(unsigned int status
);
61 void load_project_ask();
62 void load_project(const std::string
& project_name
);
63 void save_all_projects();
64 void save_project(const std::string
& project_name
);
65 void close_project(const std::string
& project_name
);
66 void close_all_projects();
70 void connect_widgets();
75 void on_show_projects();
76 void on_view_toolbar();
77 bool on_scroll(GdkEventScroll
* ev
);
82 void update_toolbar();
84 void jack_status_changed(bool started
);
86 void buffer_size_changed();
91 boost::shared_ptr
<PatchagePort
> port
,
92 std::string
& jack_client_name
,
93 std::string
& jack_port_name
);
95 boost::shared_ptr
<PatchagePort
>
97 const char * jack_client_name
,
98 const char * jack_port_name
);
102 //session * _session;
103 //lash_proxy * _lash;
104 //project_list * _project_list;
106 Gtk::Main
* _gtk_main
;
110 Widget
<Gtk::AboutDialog
> _about_win
;
111 Widget
<Gtk::ComboBox
> _buffer_size_combo
;
112 Widget
<Gtk::ToolButton
> _clear_load_but
;
113 Widget
<Gtk::ScrolledWindow
> _main_scrolledwin
;
114 Widget
<Gtk::Window
> _main_win
;
115 Widget
<Gtk::ProgressBar
> _main_xrun_progress
;
116 Widget
<Gtk::Label
> _main_a2j_status_label
;
117 Widget
<Gtk::MenuItem
> _menu_file_quit
;
118 Widget
<Gtk::MenuItem
> _menu_help_about
;
119 Widget
<Gtk::MenuItem
> _menu_jack_start
;
120 Widget
<Gtk::MenuItem
> _menu_jack_stop
;
121 Widget
<Gtk::MenuItem
> _menu_a2j_start
;
122 Widget
<Gtk::MenuItem
> _menu_a2j_stop
;
123 Widget
<Gtk::MenuItem
> _menu_load_project
;
124 Widget
<Gtk::MenuItem
> _menu_save_all_projects
;
125 Widget
<Gtk::MenuItem
> _menu_close_all_projects
;
126 Widget
<Gtk::MenuItem
> _menu_store_positions
;
127 Widget
<Gtk::MenuItem
> _menu_view_arrange
;
128 Widget
<Gtk::CheckMenuItem
> _menu_view_projects
;
129 Widget
<Gtk::MenuItem
> _menu_view_refresh
;
130 Widget
<Gtk::CheckMenuItem
> _menu_view_toolbar
;
131 Widget
<Gtk::Viewport
> _project_list_viewport
;
132 Widget
<Gtk::Label
> _sample_rate_label
;
133 Widget
<Gtk::Toolbar
> _toolbar
;
134 Widget
<Gtk::ToolButton
> _zoom_full_but
;
135 Widget
<Gtk::ToolButton
> _zoom_normal_but
;
138 #endif // PATCHAGE_PATCHAGE_HPP