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 (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)