diff options
author | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
commit | 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch) | |
tree | 96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/ardour/ardour/chan_count.h | |
parent | 2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (diff) |
remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/chan_count.h')
-rw-r--r-- | libs/ardour/ardour/chan_count.h | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/libs/ardour/ardour/chan_count.h b/libs/ardour/ardour/chan_count.h deleted file mode 100644 index 986ef76e25..0000000000 --- a/libs/ardour/ardour/chan_count.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - Copyright (C) 2006 Paul Davis - Author: Dave Robillard - - 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) any later version. - - 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, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef __ardour_chan_count_h__ -#define __ardour_chan_count_h__ - -#include <ardour/data_type.h> -#include <cassert> - -namespace ARDOUR { - - -/** A count of channels, possibly with many types. - * - * Operators are defined so this may safely be used as if it were a simple - * (single-typed) integer count of channels. - */ -class ChanCount { -public: - ChanCount() { reset(); } - - // Convenience constructor for making single-typed streams (stereo, mono, etc) - ChanCount(DataType type, uint32_t channels) - { - reset(); - set(type, channels); - } - - void reset() - { - for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { - _counts[*t] = 0; - } - } - - void set(DataType t, uint32_t count) { assert(t != DataType::NIL); _counts[t] = count; } - uint32_t get(DataType t) const { assert(t != DataType::NIL); return _counts[t]; } - - inline uint32_t n_audio() const { return _counts[DataType::AUDIO]; } - inline void set_audio(uint32_t a) { _counts[DataType::AUDIO] = a; } - - inline uint32_t n_midi() const { return _counts[DataType::MIDI]; } - inline void set_midi(uint32_t m) { _counts[DataType::MIDI] = m; } - - uint32_t n_total() const - { - uint32_t ret = 0; - for (uint32_t i=0; i < DataType::num_types; ++i) - ret += _counts[i]; - - return ret; - } - - bool operator==(const ChanCount& other) const - { - for (uint32_t i=0; i < DataType::num_types; ++i) - if (_counts[i] != other._counts[i]) - return false; - - return true; - } - - bool operator!=(const ChanCount& other) const - { - return ! (*this == other); - } - - bool operator<(const ChanCount& other) const - { - for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { - if (_counts[*t] > other._counts[*t]) { - return false; - } - } - return (*this != other); - } - - bool operator<=(const ChanCount& other) const - { - return ( (*this < other) || (*this == other) ); - } - - bool operator>(const ChanCount& other) const - { - for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { - if (_counts[*t] < other._counts[*t]) { - return false; - } - } - return (*this != other); - } - - bool operator>=(const ChanCount& other) const - { - return ( (*this > other) || (*this == other) ); - } - - static const ChanCount INFINITE; - static const ChanCount ZERO; - -private: - - uint32_t _counts[DataType::num_types]; -}; - - -} // namespace ARDOUR - -#endif // __ardour_chan_count_h__ - |