root/branches/echoaudio/src/libavc/musicsubunit/avc_musicsubunit.h

Revision 524, 1.8 kB (checked in by ppalmers, 13 years ago)

echo discovery works, audio I/O works, still some issues with midi and channel naming

Line 
1 /*
2  * Copyright (C)      2007 by Pieter Palmers
3  * Copyright (C) 2005-2007 by Daniel Wagner
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 #ifndef AVC_MUSICSUBUNIT_H
26 #define AVC_MUSICSUBUNIT_H
27
28 #include <vector>
29 #include "libutil/serialize.h"
30
31 namespace AVC {
32
33 class Unit;
34 class Plug;
35 class AVCMusicStatusDescriptor;
36
37 // /////////////////////////////
38
39 class SubunitMusic: public Subunit {
40  public:
41     SubunitMusic( Unit& avDevice,
42                   subunit_t id );
43     SubunitMusic();
44     virtual ~SubunitMusic();
45    
46     virtual bool discover();
47     virtual bool initPlugFromDescriptor( Plug& plug );
48
49     virtual bool loadDescriptors();
50    
51     virtual void setVerboseLevel(int l);
52     virtual const char* getName();
53 protected:
54     virtual bool serializeChild( Glib::ustring basePath,
55                                  Util::IOSerialize& ser ) const;
56     virtual bool deserializeChild( Glib::ustring basePath,
57                                    Util::IODeserialize& deser,
58                                    Unit& avDevice );
59
60     class AVCMusicStatusDescriptor*  m_status_descriptor;
61 };
62
63 }
64
65 #endif
Note: See TracBrowser for help on using the browser.