Disable compilation of currently unused code
[ladish.git] / gui / Patchage.hpp
blob3b7fad7c503b993198a9365d1623fb00b374fc64
1 /* -*- Mode: C ; c-basic-offset: 2 -*- */
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
31 #include "common.h"
32 #include "Widget.hpp"
33 #include <gtkmm.h>
35 //class a2j_proxy;
36 //class lash_proxy;
37 //class project_list;
38 //class session;
40 class Patchage {
41 public:
42 Patchage(int argc, char** argv);
43 ~Patchage();
45 Gtk::Window* window() { return _main_win.get(); }
47 void quit() { _main_win->hide(); }
49 void refresh();
51 void clear_load();
52 void info_msg(const std::string& msg);
53 void error_msg(const std::string& msg);
54 void status_msg(const std::string& msg);
55 void update_state();
57 void set_studio_availability(bool available);
58 #if 0
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();
67 #endif
69 protected:
70 void connect_widgets();
72 void on_arrange();
73 void on_help_about();
74 void on_quit();
75 void on_show_projects();
76 void on_view_toolbar();
77 bool on_scroll(GdkEventScroll* ev);
79 void zoom(double z);
80 bool idle_callback();
81 void update_load();
82 void update_toolbar();
84 void jack_status_changed(bool started);
86 void buffer_size_changed();
88 #if 0
89 void
90 get_port_jack_names(
91 boost::shared_ptr<PatchagePort> port,
92 std::string& jack_client_name,
93 std::string& jack_port_name);
95 boost::shared_ptr<PatchagePort>
96 lookup_port(
97 const char * jack_client_name,
98 const char * jack_port_name);
99 #endif
101 //a2j_proxy * _a2j;
102 //session * _session;
103 //lash_proxy * _lash;
104 //project_list * _project_list;
106 Gtk::Main* _gtk_main;
108 float _max_dsp_load;
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