#define MIDI_PATCH_MANAGER_H_
#include "midi++/midnam_patch.h"
+#include "pbd/signals.h"
+#include "ardour/session_handle.h"
namespace ARDOUR {
class Session;
namespace Name
{
-class MidiPatchManager
+class MidiPatchManager : public PBD::ScopedConnectionList, public ARDOUR::SessionHandlePtr
{
/// Singleton
private:
return *_manager;
}
- void set_session (ARDOUR::Session&);
+ void set_session (ARDOUR::Session*);
boost::shared_ptr<MIDINameDocument> document_by_model(std::string model_name)
{ return _documents[model_name]; }
}
}
-
boost::shared_ptr<Patch> find_patch(
std::string model,
std::string custom_device_mode,
const MasterDeviceNames::Models& all_models() const { return _all_models; }
private:
- void drop_session();
+ void session_going_away();
void refresh();
- ARDOUR::Session* _session;
MidiNameDocuments _documents;
MIDINameDocument::MasterDeviceNamesList _master_devices_by_model;
MasterDeviceNames::Models _all_models;
} // namespace Name
} // namespace MIDI
+
#endif /* MIDI_PATCH_MANAGER_H_ */