summaryrefslogtreecommitdiff
path: root/ptformat/ptfformat.h
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2019-06-17 00:06:16 +1000
committerDamien Zammit <damien@zamaudio.com>2019-06-17 00:06:16 +1000
commit37f69e394cbb2baa538ae4a8386e2ccef9347ef3 (patch)
tree0c2c645cbd8bc56b370710acff1a4d0b3ef06ae6 /ptformat/ptfformat.h
parent83ef828c28d33645e0204e119dc5cc469d02e21e (diff)
Almost fixed MIDI
Diffstat (limited to 'ptformat/ptfformat.h')
-rw-r--r--ptformat/ptfformat.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/ptformat/ptfformat.h b/ptformat/ptfformat.h
index 5bda5de..136df5a 100644
--- a/ptformat/ptfformat.h
+++ b/ptformat/ptfformat.h
@@ -169,6 +169,40 @@ public:
}
return false;
}
+
+ bool find_miditrack(uint16_t index, std::vector<track_t>::iterator& ti) {
+ std::vector<track_t>::iterator begin = miditracks.begin();
+ std::vector<track_t>::iterator finish = miditracks.end();
+ std::vector<track_t>::iterator found;
+
+ // Create dummy track with index
+ wav_t w = { std::string(""), 0, 0, 0 };
+ std::vector<midi_ev_t> m;
+ region_t r = { std::string(""), 0, 0, 0, 0, w, m};
+ track_t t = { std::string(""), index, 0, r};
+
+ if ((found = std::find(begin, finish, t)) != finish) {
+ ti = found;
+ return true;
+ }
+ return false;
+ }
+
+ bool find_midiregion(uint16_t index, std::vector<region_t>::iterator& ri) {
+ std::vector<region_t>::iterator begin = midiregions.begin();
+ std::vector<region_t>::iterator finish = midiregions.end();
+ std::vector<region_t>::iterator found;
+
+ wav_t w = { std::string(""), 0, 0, 0 };
+ std::vector<midi_ev_t> m;
+ region_t r = { std::string(""), index, 0, 0, 0, w, m};
+
+ if ((found = std::find(begin, finish, r)) != finish) {
+ ri = found;
+ return true;
+ }
+ return false;
+ }
bool find_wav(uint16_t index, std::vector<wav_t>::iterator& wi) {
std::vector<wav_t>::iterator begin = audiofiles.begin();