summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/smf_reader.h
diff options
context:
space:
mode:
authorDoug McLain <doug@nostar.net>2008-06-02 05:02:28 +0000
committerDoug McLain <doug@nostar.net>2008-06-02 05:02:28 +0000
commit9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch)
tree96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/ardour/ardour/smf_reader.h
parent2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (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/smf_reader.h')
-rw-r--r--libs/ardour/ardour/smf_reader.h87
1 files changed, 0 insertions, 87 deletions
diff --git a/libs/ardour/ardour/smf_reader.h b/libs/ardour/ardour/smf_reader.h
deleted file mode 100644
index e41dcc3bc4..0000000000
--- a/libs/ardour/ardour/smf_reader.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- Copyright (C) 2008 Paul Davis
- Written by 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_smf_reader_h__
-#define __ardour_smf_reader_h__
-
-#include <exception>
-#include <stdexcept>
-#include <string>
-#include <inttypes.h>
-
-namespace ARDOUR {
-
-
-/** Standard MIDI File (Type 0) Reader
- *
- * Currently this only reads SMF files with tempo-based timing.
- */
-class SMFReader {
-public:
- class PrematureEOF : public std::exception {
- const char* what() const throw() { return "Unexpected end of file"; }
- };
- class CorruptFile : public std::exception {
- const char* what() const throw() { return "Corrupted file"; }
- };
- class UnsupportedTime : public std::exception {
- const char* what() const throw() { return "Unsupported time stamp type (SMPTE)"; }
- };
-
- SMFReader(const std::string filename="");
- ~SMFReader();
-
- bool open(const std::string& filename) throw (std::logic_error, UnsupportedTime);
-
- bool seek_to_track(unsigned track) throw (std::logic_error);
-
- const std::string& filename() const { return _filename; };
-
- uint16_t type() const { return _type; }
- uint16_t ppqn() const { return _ppqn; }
- uint16_t num_tracks() const { return _num_tracks; }
-
- int read_event(size_t buf_len,
- uint8_t* buf,
- uint32_t* ev_size,
- uint32_t* ev_delta_time)
- throw (std::logic_error, PrematureEOF, CorruptFile);
-
- void close();
-
- static uint32_t read_var_len(FILE* fd) throw (PrematureEOF);
-
-protected:
- /** size of SMF header, including MTrk chunk header */
- static const uint32_t HEADER_SIZE = 22;
-
- std::string _filename;
- FILE* _fd;
- uint16_t _type;
- uint16_t _ppqn;
- uint16_t _num_tracks;
- uint32_t _track;
- uint32_t _track_size;
-};
-
-
-} // namespace ARDOUR
-
-#endif /* __ardour_smf_reader_h__ */
-