summaryrefslogtreecommitdiffabout
path: root/lib/SMF.cc
authorDennis Menschel <demichan at mail dot upb dot de>2009-03-20 23:23:05 (UTC)
committer Michael Krelin <hacker@klever.net>2009-03-22 17:15:32 (UTC)
commit87cbeba4a750b1747dd32538c9c220145169cd2c (patch) (side-by-side diff)
tree7953a6715c8ca0810cfaef4e1939fe2be534de3f /lib/SMF.cc
parent0c21a7a0d5b84dc6726462f0fbe51b8c32433262 (diff)
downloadmidillo-master.zip
midillo-master.tar.gz
midillo-master.tar.bz2
Added missing includes for gcc 4.3HEADmaster
Added missing includes <cstring> and <cassert>, which are required/enforced by GCC 4.3. Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'lib/SMF.cc') (more/less context) (show whitespace changes)
-rw-r--r--lib/SMF.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/SMF.cc b/lib/SMF.cc
index ba3179d..2c62b1f 100644
--- a/lib/SMF.cc
+++ b/lib/SMF.cc
@@ -1,62 +1,63 @@
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>
+#include <cstring>
#include <midillo/SMF.h>
namespace midillo {
using std::ifstream;
using std::ofstream;
using std::cin;
using std::cout;
using std::copy;
using std::ostream_iterator;
using std::endl;
void SMF_t::load(const char *f,bool stdinable) {
if(stdinable && !strcmp(f,"-")) {
load(cin);
}else{
ifstream s(f,std::ios::in|std::ios::binary);
load(s);
}
}
void SMF_t::load(istream& s) {
mthd.load(s);
tracks.resize(mthd.ntracks);
tracks_t::iterator i = tracks.begin();
for(int t=0;t<mthd.ntracks;++t,++i) {
i->load(s);
}
}
void SMF_t::save(const char *f,bool stdoutable) const {
if(stdoutable && !strcmp(f,"-")) {
save(cout);
}else{
ofstream s(f,std::ios::out|std::ios::trunc|std::ios::binary);
save(s);
}
}
void SMF_t::save(ostream& s) const {
mthd.save(s);
for(tracks_t::const_iterator i=tracks.begin();i!=tracks.end();++i) {
i->save(s);
}
}
void SMF_t::dump(ostream& s) const {
std::ios::fmtflags ff = s.flags();
s.unsetf(std::ios::hex); s.setf(std::ios::dec);
s
<< "SMF with " << tracks.size() << " track(s)" << endl
<< mthd << endl;
copy(
tracks.begin(), tracks.end(),
ostream_iterator<MTrk_t>(s,"\n") );
s.flags(ff);
}
}