root/branches/echoaudio/src/ffadodevice.cpp

Revision 504, 2.3 kB (checked in by ppalmers, 15 years ago)

Converted sample rate setting parameter to a simple integer. The enumerated value
is only valid for the AV/C compliant devices.
(maybe we have to define another enum?)

Line 
1 /*
2  * Copyright (C) 2005-2007 by Daniel Wagner
3  * Copyright (C) 2005-2007 by Pieter Palmers
4  *
5  * This file is part of FFADO
6  * FFADO = Free Firewire (pro-)audio drivers for linux
7  *
8  * FFADO is based upon FreeBoB
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License version 2.1, as published by the Free Software Foundation;
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
22  * MA 02110-1301 USA
23  */
24
25 #include "ffadodevice.h"
26
27 #include "libieee1394/configrom.h"
28 #include "libieee1394/ieee1394service.h"
29
30 #include <iostream>
31 #include <sstream>
32
33 IMPL_DEBUG_MODULE( FFADODevice, FFADODevice, DEBUG_LEVEL_VERBOSE );
34
35 FFADODevice::FFADODevice( std::auto_ptr< ConfigRom >( configRom ),
36                     Ieee1394Service& ieee1394service,
37                     int nodeId )
38     : OscNode()
39     , m_pConfigRom( configRom )
40     , m_p1394Service( &ieee1394service )
41     , m_verboseLevel( DEBUG_LEVEL_NORMAL )
42     , m_nodeId ( nodeId )
43 {
44     addOption(Util::OptionContainer::Option("id",std::string("dev?")));
45
46     std::ostringstream nodestr;
47     nodestr << "node" << nodeId;
48     setOscBase(nodestr.str());
49     ConfigRom& c = getConfigRom();
50
51     addChildOscNode(&c);
52 }
53
54
55 ConfigRom&
56 FFADODevice::getConfigRom() const
57 {
58     return *m_pConfigRom;
59 }
60
61 bool
62 FFADODevice::setId( unsigned int id)
63 {
64     bool retval;
65     // FIXME: decent ID system nescessary
66     std::ostringstream idstr;
67     idstr << "dev" << id;
68     debugOutput( DEBUG_LEVEL_VERBOSE, "Set id to %s...\n", idstr.str().c_str());
69
70    
71     retval=setOption("id",idstr.str());
72     if (retval) {
73         setOscBase(idstr.str());
74     }
75     return retval;
76 }
77
78 void
79 FFADODevice::setVerboseLevel(int l)
80 {
81     m_verboseLevel=l;
82     setDebugLevel(l);
83 //     m_pConfigRom->setVerboseLevel(l);
84     m_p1394Service->setVerboseLevel(l);
85 }
86
87 bool
88 FFADODevice::enableStreaming() {
89     return true;
90 }
91
92 bool
93 FFADODevice::disableStreaming() {
94     return true;
95 }
Note: See TracBrowser for help on using the browser.