Sure enough... forgot to add the new file
authorDavid Robillard <d@drobilla.net>
Tue, 1 Aug 2006 21:37:06 +0000 (21:37 +0000)
committerDavid Robillard <d@drobilla.net>
Tue, 1 Aug 2006 21:37:06 +0000 (21:37 +0000)
git-svn-id: svn://localhost/ardour2/trunk@740 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/ardour/data_type.h [new file with mode: 0644]

diff --git a/libs/ardour/ardour/data_type.h b/libs/ardour/ardour/data_type.h
new file mode 100644 (file)
index 0000000..d49ed10
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+    Copyright (C) 2006 Paul Davis 
+    
+    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_data_type_h__
+#define __ardour_data_type_h__
+
+#include <jack/jack.h>
+
+namespace ARDOUR {
+
+class DataType
+{
+public:
+       enum Symbol {
+               NIL = 0,
+               AUDIO,
+               MIDI
+       };
+
+       DataType(const Symbol& symbol)
+       : _symbol(symbol)
+       {}
+
+       /** Construct from a string (Used for loading from XML) */
+       DataType(const string& str) {
+               if (str == "audio")
+                       _symbol = AUDIO;
+               //else if (str == "midi")
+               //      _symbol = MIDI;
+               else
+                       _symbol = NIL;
+       }
+
+       bool operator==(const Symbol symbol) { return _symbol == symbol; }
+       bool operator!=(const Symbol symbol) { return _symbol != symbol; }
+
+       /** Get the Jack type this DataType corresponds to */
+       const char* to_jack_type() {
+               switch (_symbol) {
+                       case AUDIO: return JACK_DEFAULT_AUDIO_TYPE;
+                       //case MIDI:  return JACK_DEFAULT_MIDI_TYPE;
+                       default:    return "";
+               }
+       }
+       
+       /** Inverse of the from-string constructor */
+       const char* to_string() {
+               switch (_symbol) {
+                       case AUDIO: return "audio";
+                       //case MIDI:  return "midi";
+                       default:    return "unknown"; // reeeally shouldn't ever happen
+               }
+       }
+
+private:
+       Symbol _symbol;
+};
+
+
+
+} // namespace ARDOUR
+
+#endif // __ardour_data_type_h__
+