Tidy, remove dead code.
[ardour.git] / libs / evoral / src / SMF.cpp
index 7e5e5935ce52c4eb581ac69cef909117a7f7d17b..5e17dcf6ce1053165a06227e321b0ae1885e18c0 100644 (file)
@@ -29,8 +29,7 @@ using namespace std;
 
 namespace Evoral {
 
-template<typename Time>
-SMF<Time>::~SMF()
+SMF::~SMF()
 {      
        if (_smf) {
                smf_delete(_smf);
@@ -39,16 +38,14 @@ SMF<Time>::~SMF()
        } 
 }
 
-template<typename Time>
 uint16_t
-SMF<Time>::num_tracks() const
+SMF::num_tracks() const
 {
        return _smf->number_of_tracks;
 }
 
-template<typename Time>
 uint16_t
-SMF<Time>::ppqn() const
+SMF::ppqn() const
 {
        return _smf->ppqn;
 }
@@ -56,9 +53,8 @@ SMF<Time>::ppqn() const
 /** Seek to the specified track (1-based indexing)
  * \return 0 on success
  */
-template<typename Time>
 int
-SMF<Time>::seek_to_track(int track)
+SMF::seek_to_track(int track)
 {
        _smf_track = smf_get_track_by_number(_smf, track);
        if (_smf_track != NULL) {
@@ -75,9 +71,8 @@ SMF<Time>::seek_to_track(int track)
  *         -1 if the file can not be opened or created
  *         -2 if the file exists but specified track does not exist
  */
-template<typename Time>
 int
-SMF<Time>::open(const std::string& path, int track) THROW_FILE_ERROR
+SMF::open(const std::string& path, int track) THROW_FILE_ERROR
 {
        assert(track >= 1);
        if (_smf) { 
@@ -94,7 +89,7 @@ SMF<Time>::open(const std::string& path, int track) THROW_FILE_ERROR
        if (!_smf_track)
                return -2;
 
-       cerr << "Track " << track << " # events: " << _smf_track->number_of_events << endl;
+       //cerr << "Track " << track << " # events: " << _smf_track->number_of_events << endl;
        if (_smf_track->number_of_events == 0) {
                _smf_track->next_event_number = 0;
                _empty = true;
@@ -113,9 +108,8 @@ SMF<Time>::open(const std::string& path, int track) THROW_FILE_ERROR
  *         -1 if the file can not be created
  *         -2 if the track can not be created
  */
-template<typename Time>
 int
-SMF<Time>::create(const std::string& path, int track, uint16_t ppqn) THROW_FILE_ERROR
+SMF::create(const std::string& path, int track, uint16_t ppqn) THROW_FILE_ERROR
 {
        assert(track >= 1);
        if (_smf) { 
@@ -149,9 +143,8 @@ SMF<Time>::create(const std::string& path, int track, uint16_t ppqn) THROW_FILE_
        return 0;
 }
 
-template<typename Time>
 void
-SMF<Time>::close() THROW_FILE_ERROR
+SMF::close() THROW_FILE_ERROR
 {
        if (_smf) {
                if (smf_save(_smf, _path.c_str()) != 0) {
@@ -163,9 +156,8 @@ SMF<Time>::close() THROW_FILE_ERROR
        }
 }
 
-template<typename Time>
 void
-SMF<Time>::seek_to_start() const
+SMF::seek_to_start() const
 {
        _smf_track->next_event_number = 1;
 }
@@ -184,9 +176,8 @@ SMF<Time>::seek_to_start() const
  * \return event length (including status byte) on success, 0 if event was
  * skipped (e.g. a meta event), or -1 on EOF (or end of track).
  */
-template<typename Time>
 int
-SMF<Time>::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const
+SMF::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const
 {
        smf_event_t* event;
        
@@ -211,7 +202,7 @@ SMF<Time>::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const
        *size = event_size;
        
                /*printf("SMF::read_event:\n");
-               for (size_t i=0; i < *size; ++i) {
+               for (size_t i = 0; i < *size; ++i) {
                        printf("%X ", (*buf)[i]);
                } printf("\n");*/
        
@@ -221,35 +212,30 @@ SMF<Time>::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const
     }
 }
 
-template<typename Time>
 void
-SMF<Time>::append_event_delta(uint32_t delta_t, const Event<Time>& ev)
+SMF::append_event_delta(uint32_t delta_t, uint32_t size, const uint8_t* buf)
 {
-       assert(ev.size() > 0);
+       if (size == 0) {
+               return;
+       }
        
        /*printf("SMF::append_event_delta:\n");
-       for (size_t i=0; i < ev.size(); ++i) {
-               printf("%X ", ev.buffer()[i]);
+       for (size_t i = 0; i < size; ++i) {
+               printf("%X ", buf[i]);
        } printf("\n");*/
 
        smf_event_t* event;
 
-       event = smf_event_new_from_pointer((void *) ev.buffer(), int(ev.size()));
+       event = smf_event_new_from_pointer(buf, size);
        assert(event != NULL);
        
-       memcpy(event->midi_buffer, ev.buffer(), ev.size());
-       
        assert(_smf_track);
-       smf_track_add_event_delta_pulses(_smf_track, event, int(delta_t));
-       
-       if (ev.size() > 0) {
-               _empty = false;
-       }
+       smf_track_add_event_delta_pulses(_smf_track, event, delta_t);
+       _empty = false;
 }
 
-template<typename Time>
 void
-SMF<Time>::begin_write()
+SMF::begin_write()
 {
        assert(_smf_track);
        smf_track_delete(_smf_track);
@@ -261,14 +247,12 @@ SMF<Time>::begin_write()
        assert(_smf->number_of_tracks == 1);
 }
 
-template<typename Time>
 void
-SMF<Time>::end_write() THROW_FILE_ERROR
+SMF::end_write() THROW_FILE_ERROR
 {
        if (smf_save(_smf, _path.c_str()) != 0)
                throw FileError();
 }
 
-template class SMF<double>;
 
 } // namespace Evoral