Index: /branches/libffado-2.0/src/SConscript
===================================================================
--- /branches/libffado-2.0/src/SConscript (revision 1193)
+++ /branches/libffado-2.0/src/SConscript (revision 1198)
@@ -108,4 +108,5 @@
bebob/terratec/terratec_cmd.cpp \
bebob/edirol/edirol_fa101.cpp \
+ bebob/edirol/edirol_fa66.cpp \
bebob/esi/quatafire610.cpp \
' )
Index: /branches/libffado-2.0/src/bebob/bebob_avdevice.cpp
===================================================================
--- /branches/libffado-2.0/src/bebob/bebob_avdevice.cpp (revision 1183)
+++ /branches/libffado-2.0/src/bebob/bebob_avdevice.cpp (revision 1198)
@@ -32,4 +32,5 @@
#include "bebob/terratec/terratec_device.h"
#include "bebob/edirol/edirol_fa101.h"
+#include "bebob/edirol/edirol_fa66.h"
#include "bebob/esi/quatafire610.h"
@@ -99,6 +100,11 @@
switch (vendorId) {
case FW_VENDORID_EDIROL:
- if (modelId == 0x00010048 ) {
- return new Edirol::EdirolFa101Device(d, configRom);
+ switch (modelId) {
+ case 0x00010048:
+ return new Edirol::EdirolFa101Device(d, configRom);
+ case 0x00010049:
+ return new Edirol::EdirolFa66Device(d, configRom);
+ default:
+ return new AvDevice(d, configRom);
}
case FW_VENDORID_ESI:
Index: /branches/libffado-2.0/src/bebob/edirol/edirol_fa66.cpp
===================================================================
--- /branches/libffado-2.0/src/bebob/edirol/edirol_fa66.cpp (revision 1198)
+++ /branches/libffado-2.0/src/bebob/edirol/edirol_fa66.cpp (revision 1198)
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2008 by Daniel Wagner
+ *
+ * This file is part of FFADO
+ * FFADO = Free Firewire (pro-)audio drivers for linux
+ *
+ * FFADO is based upon FreeBoB.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+#include "edirol_fa66.h"
+
+namespace BeBoB {
+namespace Edirol {
+
+EdirolFa66Device::EdirolFa66Device( DeviceManager& d,
+ std::auto_ptr( configRom ))
+ : BeBoB::AvDevice( d , configRom)
+{
+ debugOutput( DEBUG_LEVEL_VERBOSE, "Created BeBoB::Edirol::EdirolFa66Device (NodeID %d)\n",
+ getConfigRom().getNodeId() );
+
+ m_fixed_clocksource.type = FFADODevice::eCT_Auto;
+ m_fixed_clocksource.valid = true;
+ m_fixed_clocksource.locked = true;
+ m_fixed_clocksource.id = 0;
+ m_fixed_clocksource.slipping = false;
+ m_fixed_clocksource.description = "Device Controlled";
+}
+
+EdirolFa66Device::~EdirolFa66Device()
+{
+}
+
+FFADODevice::ClockSource
+EdirolFa66Device::getActiveClockSource() {
+ return m_fixed_clocksource;
+}
+
+bool
+EdirolFa66Device::setActiveClockSource(ClockSource s) {
+ // can't change, hence only succeed when identical
+ return s.id == m_fixed_clocksource.id;
+}
+
+FFADODevice::ClockSourceVector
+EdirolFa66Device::getSupportedClockSources() {
+ FFADODevice::ClockSourceVector r;
+ r.push_back(m_fixed_clocksource);
+ return r;
+}
+
+void
+EdirolFa66Device::showDevice()
+{
+ debugOutput(DEBUG_LEVEL_VERBOSE, "This is a BeBoB::EdirolFa66::EdirolFa66Device\n");
+ BeBoB::AvDevice::showDevice();
+}
+
+}
+}
Index: /branches/libffado-2.0/src/bebob/edirol/edirol_fa66.h
===================================================================
--- /branches/libffado-2.0/src/bebob/edirol/edirol_fa66.h (revision 1198)
+++ /branches/libffado-2.0/src/bebob/edirol/edirol_fa66.h (revision 1198)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2008 by Daniel Wagner
+ *
+ * This file is part of FFADO
+ * FFADO = Free Firewire (pro-)audio drivers for linux
+ *
+ * FFADO is based upon FreeBoB.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+#ifndef BEBOB_EDIROL_FA66_H
+#define BEBOB_EDIROL_FA66_H
+
+#include "bebob/bebob_avdevice.h"
+
+namespace BeBoB {
+namespace Edirol {
+
+class EdirolFa66Device : public BeBoB::AvDevice {
+public:
+ EdirolFa66Device( DeviceManager& d,
+ std::auto_ptr( configRom ));
+ virtual ~EdirolFa66Device();
+
+ virtual ClockSourceVector getSupportedClockSources();
+ virtual bool setActiveClockSource(ClockSource);
+ virtual ClockSource getActiveClockSource();
+
+ virtual void showDevice();
+
+private:
+ ClockSource m_fixed_clocksource;
+};
+
+}
+}
+
+#endif