#ifndef APPLICATION_H #define APPLICATION_H #include #include class PadConfiguration; class PadDefinition; class MidiMessageList; class Pad { public: Pad(); Pad(const std::string& file); Pad(PadConfiguration* p); Pad(PadDefinition* p); virtual ~Pad(); bool load_configuration(const std::string& file); void remove_configuration(); void connect(bool in = true, bool out=true); const std::string& get_name() const; bool is_valid(){return this==NULL;} bool operator!(){return this==NULL;} operator bool(){return this!=NULL;} void clear(); void input(MidiMessageList*); void input(Json::Value&); void input(const std::string&); protected: PadConfiguration* m_configuration; PadDefinition* m_pad_definition; std::string m_name; }; #endif // APPLICATION_H