Ardour  9.0-pre0-582-g084a23a80d
plugin_window_proxy.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2022,2024 Robin Gareus <robin@gareus.org>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef _gtkardour_plugin_window_proxy_h_
20 #define _gtkardour_plugin_window_proxy_h_
21 
22 #include "ardour_window.h"
23 #include "window_manager.h"
24 
25 #include "pbd/signals.h"
26 
27 namespace Gtk
28 {
29  class Window;
30 }
31 
32 namespace ARDOUR
33 {
34  class PlugInsertBase;
35 }
36 
38 {
39 public:
40  PluginWindowProxy (std::string const&, std::string const&, std::weak_ptr<ARDOUR::PlugInsertBase>);
42 
43  Gtk::Window* get (bool create = false);
44 
46 
48  {
49  return 0;
50  }
51 
52  void set_custom_ui_mode (bool use_custom)
53  {
54  _want_custom = use_custom;
55  }
56 
57  int set_state (const XMLNode&, int);
58  XMLNode& get_state () const;
59 
60  std::string generate_processor_title (std::shared_ptr<ARDOUR::PlugInsertBase>);
61 
62 private:
64 
65  std::weak_ptr<ARDOUR::PlugInsertBase> _pib;
66 
67  std::string _title;
68  bool _is_custom;
70 };
71 
72 #endif
PluginWindowProxy(std::string const &, std::string const &, std::weak_ptr< ARDOUR::PlugInsertBase >)
XMLNode & get_state() const
void show_the_right_window()
ARDOUR::SessionHandlePtr * session_handle()
void set_custom_ui_mode(bool use_custom)
Gtk::Window * get(bool create=false)
std::weak_ptr< ARDOUR::PlugInsertBase > _pib
std::string generate_processor_title(std::shared_ptr< ARDOUR::PlugInsertBase >)
void plugin_going_away()
int set_state(const XMLNode &, int)
Definition: Window.h:41
Definition: xml++.h:114
Definition: ardour_ui.h:188