2 * Copyright (C) 2005-2008 by Pieter Palmers
4 * This file is part of FFADO
5 * FFADO = Free Firewire (pro-)audio drivers for linux
7 * FFADO is based upon FreeBoB
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 2 of the License, or
12 * (at your option) version 3 of the License.
14 * This program 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
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #ifndef FIREWORKS_EFC_CMD_MONITOR_H
25 #define FIREWORKS_EFC_CMD_MONITOR_H
31 enum eMonitorCommand
{
38 class EfcGenericMonitorCmd
: public EfcCmd
46 EfcGenericMonitorCmd(enum eCmdType
, enum eMonitorCommand
);
47 virtual ~EfcGenericMonitorCmd() {};
49 virtual bool serialize( Util::Cmd::IOSSerialize
& se
);
50 virtual bool deserialize( Util::Cmd::IISDeserialize
& de
);
52 virtual void showEfcCmd();
60 enum eMonitorCommand m_command
;
63 // --- Specific implementations
64 class EfcGetMonitorGainCmd
: public EfcGenericMonitorCmd
67 EfcGetMonitorGainCmd()
68 : EfcGenericMonitorCmd(eCT_Get
, eMoC_Gain
) {};
69 virtual ~EfcGetMonitorGainCmd() {};
71 virtual const char* getCmdName() const
72 { return "EfcGetMonitorGainCmd"; }
74 class EfcSetMonitorGainCmd
: public EfcGenericMonitorCmd
77 EfcSetMonitorGainCmd()
78 : EfcGenericMonitorCmd(eCT_Set
, eMoC_Gain
) {};
79 virtual ~EfcSetMonitorGainCmd() {};
81 virtual const char* getCmdName() const
82 { return "EfcSetMonitorGainCmd"; }
85 class EfcGetMonitorSoloCmd
: public EfcGenericMonitorCmd
88 EfcGetMonitorSoloCmd()
89 : EfcGenericMonitorCmd(eCT_Get
, eMoC_Solo
) {};
90 virtual ~EfcGetMonitorSoloCmd() {};
92 virtual const char* getCmdName() const
93 { return "EfcGetMonitorSoloCmd"; }
95 class EfcSetMonitorSoloCmd
: public EfcGenericMonitorCmd
98 EfcSetMonitorSoloCmd()
99 : EfcGenericMonitorCmd(eCT_Set
, eMoC_Solo
) {};
100 virtual ~EfcSetMonitorSoloCmd() {};
102 virtual const char* getCmdName() const
103 { return "EfcSetMonitorSoloCmd"; }
106 class EfcGetMonitorMuteCmd
: public EfcGenericMonitorCmd
109 EfcGetMonitorMuteCmd()
110 : EfcGenericMonitorCmd(eCT_Get
, eMoC_Mute
) {};
111 virtual ~EfcGetMonitorMuteCmd() {};
113 virtual const char* getCmdName() const
114 { return "EfcGetMonitorMuteCmd"; }
116 class EfcSetMonitorMuteCmd
: public EfcGenericMonitorCmd
119 EfcSetMonitorMuteCmd()
120 : EfcGenericMonitorCmd(eCT_Set
, eMoC_Mute
) {};
121 virtual ~EfcSetMonitorMuteCmd() {};
123 virtual const char* getCmdName() const
124 { return "EfcSetMonitorMuteCmd"; }
127 class EfcGetMonitorPanCmd
: public EfcGenericMonitorCmd
130 EfcGetMonitorPanCmd()
131 : EfcGenericMonitorCmd(eCT_Get
, eMoC_Pan
) {};
132 virtual ~EfcGetMonitorPanCmd() {};
134 virtual const char* getCmdName() const
135 { return "EfcGetMonitorPanCmd"; }
137 class EfcSetMonitorPanCmd
: public EfcGenericMonitorCmd
140 EfcSetMonitorPanCmd()
141 : EfcGenericMonitorCmd(eCT_Set
, eMoC_Pan
) {};
142 virtual ~EfcSetMonitorPanCmd() {};
144 virtual const char* getCmdName() const
145 { return "EfcSetMonitorPanCmd"; }
149 } // namespace FireWorks
151 #endif // FIREWORKS_EFC_CMD_MONITOR_H