comparison transform/FileFeatureWriter.h @ 999:694301cc71cc

Add MIDI destinations tests and fix feature writer bugs resulting from them
author Chris Cannam
date Tue, 14 Oct 2014 10:07:02 +0100
parents 2104ea2204d2
children d74ebd2d2c49
comparison
equal deleted inserted replaced
998:e25dc8d57565 999:694301cc71cc
56 56
57 FileFeatureWriter(int support, QString extension); 57 FileFeatureWriter(int support, QString extension);
58 QTextStream *getOutputStream(QString, TransformId); 58 QTextStream *getOutputStream(QString, TransformId);
59 59
60 typedef pair<QString, TransformId> TrackTransformPair; 60 typedef pair<QString, TransformId> TrackTransformPair;
61 typedef map<TrackTransformPair, QString> FileNameMap;
61 typedef map<TrackTransformPair, QFile *> FileMap; 62 typedef map<TrackTransformPair, QFile *> FileMap;
62 typedef map<QFile *, QTextStream *> FileStreamMap; 63 typedef map<QFile *, QTextStream *> FileStreamMap;
63 FileMap m_files; 64 FileMap m_files;
65 FileNameMap m_filenames;
64 FileStreamMap m_streams; 66 FileStreamMap m_streams;
65 QTextStream *m_prevstream; 67 QTextStream *m_prevstream;
66 68
69 TrackTransformPair getFilenameKey(QString, TransformId);
70
71 // Come up with a suitable output filename for the given track ID -
72 // transform ID combo. Fail if it already exists, etc.
73 QString createOutputFilename(QString, TransformId);
74
75 // Look up and return the output filename for the given track ID -
76 // transform ID combo.
67 QString getOutputFilename(QString, TransformId); 77 QString getOutputFilename(QString, TransformId);
78
79 // Look up and return the output file handle for the given track
80 // ID - transform ID combo. Return 0 if it could not be opened.
68 QFile *getOutputFile(QString, TransformId); 81 QFile *getOutputFile(QString, TransformId);
69 82
70 // subclass can implement this to be called before file is opened for append 83 // subclass can implement this to be called before file is opened for append
71 virtual void reviewFileForAppending(QString) { } 84 virtual void reviewFileForAppending(QString) { }
72 85