motu: the 4pre channel layout within packets is now believed to be correct. Thanks...
[ffado.git] / libffado / src / fireworks / efc / efc_cmds_mixer.h
blobe2642b4f39b87b3948a4f3d2c522226fc4ed5fed
1 /*
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_MIXER_H
25 #define FIREWORKS_EFC_CMD_MIXER_H
27 #include "efc_cmd.h"
29 namespace FireWorks {
31 class EfcGenericMixerCmd : public EfcCmd
33 public:
34 EfcGenericMixerCmd(enum eMixerTarget, enum eMixerCommand);
35 EfcGenericMixerCmd(enum eMixerTarget, enum eMixerCommand, int channel);
36 virtual ~EfcGenericMixerCmd() {};
38 virtual bool serialize( Util::Cmd::IOSSerialize& se );
39 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
41 virtual void showEfcCmd();
43 bool setType( enum eCmdType type );
44 enum eCmdType getType() {return m_type;};
45 bool setTarget( enum eMixerTarget target );
46 enum eMixerTarget getTarget() {return m_target;};
47 bool setCommand( enum eMixerCommand cmd );
48 enum eMixerCommand getCommand() {return m_command;};
50 virtual const char* getCmdName() const
51 { return "EfcGenericMixerCmd"; }
53 int32_t m_channel;
54 uint32_t m_value;
56 private:
57 enum eCmdType m_type;
58 enum eMixerTarget m_target;
59 enum eMixerCommand m_command;
62 } // namespace FireWorks
64 #endif // FIREWORKS_EFC_CMD_MIXER_H