Index: /trunk/libffado/src/ffadodevice.cpp =================================================================== --- /trunk/libffado/src/ffadodevice.cpp (revision 560) +++ /trunk/libffado/src/ffadodevice.cpp (revision 581) @@ -38,5 +38,5 @@ Ieee1394Service& ieee1394service, int nodeId ) - : OscNode() + : Control::Container() , m_pConfigRom( configRom ) , m_p1394Service( &ieee1394service ) @@ -47,8 +47,14 @@ std::ostringstream nodestr; nodestr << "node" << nodeId; - setOscBase(nodestr.str()); +// setOscBase(nodestr.str()); ConfigRom& c = getConfigRom(); - addChildOscNode(&c); +// addChildOscNode(&c); +} + +std::string +FFADODevice::getName() +{ + return getConfigRom().getGuidString(); } @@ -87,7 +93,7 @@ retval=setOption("id",idstr.str()); - if (retval) { +/* if (retval) { setOscBase(idstr.str()); - } + }*/ return retval; } Index: /trunk/libffado/src/devicemanager.h =================================================================== --- /trunk/libffado/src/devicemanager.h (revision 560) +++ /trunk/libffado/src/devicemanager.h (revision 581) @@ -32,6 +32,7 @@ #include "libutil/OptionContainer.h" -#include "libosc/OscServer.h" -#include "libosc/OscNode.h" +// #include "libosc/OscServer.h" +// #include "libosc/OscNode.h" +#include "libcontrol/BasicElements.h" #include @@ -50,5 +51,5 @@ class DeviceManager : public Util::OptionContainer, - public OSC::OscNode + public Control::Container { public: @@ -73,4 +74,10 @@ void show(); + // the Control::Container functions + virtual std::string getName() + {return "DeviceManager";}; + virtual bool setName( std::string n ) + { return false;}; + protected: FFADODevice* getDriverForDevice( std::auto_ptr( configRom ), @@ -82,5 +89,5 @@ FFADODeviceVector m_avDevices; - OSC::OscServer* m_oscServer; +// OSC::OscServer* m_oscServer; // debug stuff Index: /trunk/libffado/src/ffadodevice.h =================================================================== --- /trunk/libffado/src/ffadodevice.h (revision 560) +++ /trunk/libffado/src/ffadodevice.h (revision 581) @@ -27,5 +27,5 @@ #include "libutil/OptionContainer.h" -#include "libosc/OscNode.h" +#include "libcontrol/BasicElements.h" class ConfigRom; @@ -45,5 +45,5 @@ class FFADODevice : public Util::OptionContainer, - public OSC::OscNode + public Control::Container { public: @@ -288,4 +288,10 @@ int getNodeId() { return m_nodeId;}; + // the Control::Container functions + virtual std::string getName(); + virtual bool setName( std::string n ) + { return false; }; + + protected: std::auto_ptr( m_pConfigRom ); Index: /trunk/libffado/src/SConscript =================================================================== --- /trunk/libffado/src/SConscript (revision 575) +++ /trunk/libffado/src/SConscript (revision 581) @@ -80,7 +80,7 @@ bebob/bebob_dl_mgr.cpp \ bebob/bebob_functionblock.cpp \ - bebob/GenericMixer.cpp \ - bebob/vendorspecific/focusrite.cpp \ - bebob/vendorspecific/terratec.cpp \ + bebob/bebob_mixer.cpp \ + bebob/focusrite/focusrite.cpp \ + bebob/terratec/terratec.cpp \ maudio/maudio_avdevice.cpp \ ' ) Index: /trunk/libffado/src/libcontrol/BasicElements.cpp =================================================================== --- /trunk/libffado/src/libcontrol/BasicElements.cpp (revision 575) +++ /trunk/libffado/src/libcontrol/BasicElements.cpp (revision 581) @@ -26,5 +26,5 @@ namespace Control { -Contignous::Contignous() +Continuous::Continuous() : Element() , m_Value( 0.0 ) @@ -32,5 +32,5 @@ } -Contignous::Contignous(std::string n) +Continuous::Continuous(std::string n) : Element(n) , m_Value( 0.0 ) @@ -39,12 +39,12 @@ void -Contignous::show() +Continuous::show() { - debugOutput( DEBUG_LEVEL_NORMAL, "Contignous Element %s, value=%lf\n", + debugOutput( DEBUG_LEVEL_NORMAL, "Continuous Element %s, value=%lf\n", getName().c_str(), m_Value); } bool -Contignous::setValue(double v) +Continuous::setValue(double v) { debugOutput( DEBUG_LEVEL_VERBOSE, "%s setValue(%lf)\n", @@ -56,5 +56,5 @@ double -Contignous::getValue() +Continuous::getValue() { debugOutput( DEBUG_LEVEL_VERBOSE, "%s getValue()=%lf\n", @@ -64,3 +64,43 @@ } +//// --- + +Discrete::Discrete() +: Element() +, m_Value( 0 ) +{ +} + +Discrete::Discrete(std::string n) +: Element(n) +, m_Value( 0 ) +{ +} + +void +Discrete::show() +{ + debugOutput( DEBUG_LEVEL_NORMAL, "Discrete Element %s, value=%d\n", + getName().c_str(), m_Value); +} + +bool +Discrete::setValue(int v) +{ + debugOutput( DEBUG_LEVEL_VERBOSE, "%s setValue(%d)\n", + getName().c_str(), v); + + m_Value=v; + return true; +} + +int +Discrete::getValue() +{ + debugOutput( DEBUG_LEVEL_VERBOSE, "%s getValue()=%d\n", + getName().c_str(), m_Value); + + return m_Value; +} + } // namespace Control Index: /trunk/libffado/src/libcontrol/Element.h =================================================================== --- /trunk/libffado/src/libcontrol/Element.h (revision 575) +++ /trunk/libffado/src/libcontrol/Element.h (revision 581) @@ -48,4 +48,12 @@ { m_Name=n; return true;}; + virtual std::string getLabel() {return m_Label;}; + virtual bool setLabel( std::string n ) + { m_Label=n; return true;}; + + virtual std::string getDescription() {return m_Description;}; + virtual bool setDescription( std::string n ) + { m_Description=n; return true;}; + uint64_t getId() {return m_id;}; @@ -60,4 +68,7 @@ private: std::string m_Name; + std::string m_Label; + std::string m_Description; + uint64_t m_id; @@ -89,5 +100,5 @@ virtual bool addElement(Element *e); virtual bool deleteElement(Element *e); - virtual bool clear() + virtual bool clearElements() {m_Children.clear(); return true;}; Index: /trunk/libffado/src/libcontrol/BasicElements.h =================================================================== --- /trunk/libffado/src/libcontrol/BasicElements.h (revision 575) +++ /trunk/libffado/src/libcontrol/BasicElements.h (revision 581) @@ -37,11 +37,11 @@ @brief Base class for contignous control elements */ -class Contignous +class Continuous : public Element { public: - Contignous(); - Contignous(std::string n); - virtual ~Contignous() {}; + Continuous(); + Continuous(std::string n); + virtual ~Continuous() {}; virtual bool setValue(double v); @@ -54,4 +54,24 @@ }; +/*! +@brief Base class for discrete control elements +*/ +class Discrete +: public Element +{ +public: + Discrete(); + Discrete(std::string n); + virtual ~Discrete() {}; + + virtual bool setValue(int v); + virtual int getValue(); + + virtual void show(); + +private: + int m_Value; +}; + }; // namespace Control Index: /trunk/libffado/src/libcontrol/Element.cpp =================================================================== --- /trunk/libffado/src/libcontrol/Element.cpp (revision 575) +++ /trunk/libffado/src/libcontrol/Element.cpp (revision 581) @@ -38,5 +38,8 @@ Element::Element() -: m_id(GlobalElementCounter++) +: m_Name ( "NoName" ) +, m_Label ( "No Label" ) +, m_Description ( "No Description" ) +, m_id(GlobalElementCounter++) { } @@ -44,4 +47,6 @@ Element::Element(std::string n) : m_Name( n ) +, m_Label ( "No Label" ) +, m_Description ( "No Description" ) , m_id(GlobalElementCounter++) { Index: /trunk/libffado/src/devicemanager.cpp =================================================================== --- /trunk/libffado/src/devicemanager.cpp (revision 560) +++ /trunk/libffado/src/devicemanager.cpp (revision 581) @@ -75,7 +75,6 @@ DeviceManager::DeviceManager() - : OscNode("devicemanager") + : Control::Container("devicemanager") , m_1394Service( 0 ) - , m_oscServer( NULL ) { addOption(Util::OptionContainer::Option("slaveMode",false)); @@ -85,9 +84,4 @@ DeviceManager::~DeviceManager() { - if (m_oscServer) { - m_oscServer->stop(); - delete m_oscServer; - } - for ( FFADODeviceVectorIterator it = m_avDevices.begin(); it != m_avDevices.end(); @@ -107,6 +101,5 @@ if (m_1394Service) m_1394Service->setVerboseLevel(l); - if (m_oscServer) m_oscServer->setVerboseLevel(l); - OscNode::setVerboseLevel(l); + Control::Element::setVerboseLevel(l); for ( FFADODeviceVectorIterator it = m_avDevices.begin(); @@ -121,4 +114,6 @@ DeviceManager::show() { debugOutput(DEBUG_LEVEL_NORMAL, "===== Device Manager =====\n"); + Control::Element::show(); + if (m_1394Service) debugOutput(DEBUG_LEVEL_NORMAL, "1394 port: %d\n", m_1394Service->getPort()); @@ -150,40 +145,4 @@ } -// m_oscServer = new OSC::OscServer("17820"); -// -// if (!m_oscServer) { -// debugFatal("failed to create osc server\n"); -// delete m_1394Service; -// m_1394Service = 0; -// return false; -// } -// -// if (!m_oscServer->init()) { -// debugFatal("failed to init osc server\n"); -// delete m_oscServer; -// m_oscServer = NULL; -// delete m_1394Service; -// m_1394Service = 0; -// return false; -// } -// -// if (!m_oscServer->registerAtRootNode(this)) { -// debugFatal("failed to register devicemanager at server\n"); -// delete m_oscServer; -// m_oscServer = NULL; -// delete m_1394Service; -// m_1394Service = 0; -// return false; -// } -// -// if (!m_oscServer->start()) { -// debugFatal("failed to start osc server\n"); -// delete m_oscServer; -// m_oscServer = NULL; -// delete m_1394Service; -// m_1394Service = 0; -// return false; -// } - setVerboseLevel(getDebugLevel()); return true; @@ -208,6 +167,6 @@ ++it ) { - if (!removeChildOscNode(*it)) { - debugWarning("failed to unregister AvDevice from OSC server\n"); + if (!deleteElement(*it)) { + debugWarning("failed to remove AvDevice from Control::Container\n"); } delete *it; @@ -281,6 +240,6 @@ m_avDevices.push_back( avDevice ); - if (!addChildOscNode(avDevice)) { - debugWarning("failed to register AvDevice at OSC server\n"); + if (!addElement(avDevice)) { + debugWarning("failed to add AvDevice to Control::Container\n"); }