diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-02-02 18:51:32 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-02-02 18:51:32 +0000 |
commit | 02ec346c2b8a8872bfb3b7f231556c0f514ff95f (patch) | |
tree | be2df0e173195dcfbade187f0afd49aaf2bad91d | |
parent | 2cc255ac0844b6e1fab69c08a524d5a9963bd713 (diff) |
add virtual method is_instrument() to PluginInfo (already existed for AUPluginInfo) and use to determine if plugin is an instrument for the purposes of AddRouteDialog, since the rules are plugin-type specific
git-svn-id: svn://localhost/ardour2/branches/3.0@11426 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/add_route_dialog.cc | 8 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin.h | 1 | ||||
-rw-r--r-- | libs/ardour/audioengine.cc | 2 | ||||
-rw-r--r-- | libs/ardour/plugin.cc | 6 |
4 files changed, 9 insertions, 8 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 07d5662a50..a3fc0ba730 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -516,13 +516,7 @@ AddRouteDialog::build_instrument_list () if (manager.get_status (*i) == PluginManager::Hidden) continue; - string category = (*i)->category; - - /* XXX more finesse is possible here. VST plugins have a - a specific "instrument" flag, for example. - */ - - if ((*i)->n_inputs.n_midi() != 0 && (*i)->n_outputs.n_audio() > 0) { + if ((*i)->is_instrument()) { row = *(instrument_list->append()); row[instrument_list_columns.name] = (*i)->name; row[instrument_list_columns.info_ptr] = *i; diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h index 0c2bcbdd93..ec185b3a31 100644 --- a/libs/ardour/ardour/plugin.h +++ b/libs/ardour/ardour/plugin.h @@ -65,6 +65,7 @@ class PluginInfo { std::string unique_id; virtual PluginPtr load (Session& session) = 0; + virtual bool is_instrument() const; protected: friend class PluginManager; diff --git a/libs/ardour/audioengine.cc b/libs/ardour/audioengine.cc index 69155f54b3..abf4999e7f 100644 --- a/libs/ardour/audioengine.cc +++ b/libs/ardour/audioengine.cc @@ -316,13 +316,13 @@ AudioEngine::_xrun_callback (void *arg) void AudioEngine::_session_callback (jack_session_event_t *event, void *arg) { - printf( "helo.... " ); AudioEngine* ae = static_cast<AudioEngine*> (arg); if (ae->connected()) { ae->JackSessionEvent ( event ); /* EMIT SIGNAL */ } } #endif + int AudioEngine::_graph_order_callback (void *arg) { diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index bac014df38..cbcf9f7f7c 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -62,6 +62,12 @@ using namespace std; using namespace ARDOUR; using namespace PBD; +bool +PluginInfo::is_instrument () const +{ + return (n_inputs.n_midi() != 0) && (n_outputs.n_audio() > 0); +} + Plugin::Plugin (AudioEngine& e, Session& s) : _engine (e) , _session (s) |