Bootstrap IO Plugin UI

This commit is contained in:
Robin Gareus 2022-04-08 17:04:53 +02:00
parent d4c15aab3f
commit f8e1202ed4
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
6 changed files with 103 additions and 0 deletions

View File

@ -658,6 +658,7 @@
<separator/><!-- Plugin Related !-->
<menuitem action='toggle-plugin-manager'/>
<menuitem action='toggle-io-plugins'/>
#ifdef MIXBUS
<separator/>
<menuitem action='license-manager'/>

View File

@ -169,6 +169,7 @@
#include "gui_object.h"
#include "gui_thread.h"
#include "idleometer.h"
#include "io_plugin_window.h"
#include "keyboard.h"
#include "keyeditor.h"
#include "location_ui.h"
@ -342,6 +343,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
, export_video_dialog (X_("video-export"), _("Video Export Dialog"))
, lua_script_window (X_("script-manager"), _("Script Manager"))
, idleometer (X_("idle-o-meter"), _("Idle'o'Meter"))
, io_plugin_window (X_("io-plugins"), _("I/O Plugins"))
, plugin_manager_ui (X_("plugin-manager"), _("Plugin Manager"))
, plugin_dsp_load_window (X_("plugin-dsp-load"), _("Plugin DSP Load"))
, dsp_statistics_window (X_("dsp-statistics"), _("Performance Meters"))
@ -520,6 +522,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
export_video_dialog.set_state (*ui_xml, 0);
lua_script_window.set_state (*ui_xml, 0);
idleometer.set_state (*ui_xml, 0);
io_plugin_window.set_state (*ui_xml, 0);
plugin_manager_ui.set_state (*ui_xml, 0);
plugin_dsp_load_window.set_state (*ui_xml, 0);
dsp_statistics_window.set_state (*ui_xml, 0);
@ -550,6 +553,7 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir)
WM::Manager::instance().register_window (&midi_port_matrix);
WM::Manager::instance().register_window (&luawindow);
WM::Manager::instance().register_window (&idleometer);
WM::Manager::instance().register_window (&io_plugin_window);
WM::Manager::instance().register_window (&plugin_manager_ui);
WM::Manager::instance().register_window (&plugin_dsp_load_window);
WM::Manager::instance().register_window (&dsp_statistics_window);

View File

@ -141,6 +141,7 @@ class SessionOptionEditor;
class SpeakerDialog;
class GlobalPortMatrixWindow;
class IdleOMeter;
class IOPluginWindow;
class PluginDSPLoadWindow;
class PluginManagerUI;
class DspStatisticsWindow;
@ -740,6 +741,7 @@ private:
WM::Proxy<ExportVideoDialog> export_video_dialog;
WM::Proxy<LuaScriptManager> lua_script_window;
WM::Proxy<IdleOMeter> idleometer;
WM::Proxy<IOPluginWindow> io_plugin_window;
WM::Proxy<PluginManagerUI> plugin_manager_ui;
WM::Proxy<PluginDSPLoadWindow> plugin_dsp_load_window;
WM::Proxy<DspStatisticsWindow> dsp_statistics_window;

View File

@ -0,0 +1,54 @@
/*
* Copyright (C) 2022 Robin Gareus <robin@gareus.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "io_plugin_window.h"
#include "pbd/i18n.h"
using namespace ARDOUR;
using namespace Gtkmm2ext;
using namespace Gtk;
IOPluginWindow::IOPluginWindow()
: ArdourWindow (_("I/O Plugins"))
{
set_size_request (100,100);
}
IOPluginWindow::~IOPluginWindow ()
{
}
void
IOPluginWindow::set_session (Session* s)
{
printf ("IOPluginWindow::set_session %p\n", s);
}
void
IOPluginWindow::on_show ()
{
ArdourWindow::on_show ();
}
void
IOPluginWindow::on_hide ()
{
ArdourWindow::on_hide ();
}

View File

@ -0,0 +1,41 @@
/*
* Copyright (C) 2022 Robin Gareus <robin@gareus.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef _gtkardour_ioplugin_window_h_
#define _gtkardour_ioplugin_window_h_
#include "ardour_window.h"
class IOPluginWindow : public ArdourWindow
{
public:
IOPluginWindow ();
~IOPluginWindow ();
void set_session (ARDOUR::Session*);
protected:
void on_show ();
void on_hide ();
private:
};
#endif

View File

@ -142,6 +142,7 @@ gtk2_ardour_sources = [
'instrument_selector.cc',
'interthread_progress_window.cc',
'io_button.cc',
'io_plugin_window.cc',
'io_selector.cc',
'hit.cc',
'keyboard.cc',