summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2015-07-10 09:33:55 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2015-07-10 09:33:55 +0200
commit3cc158998d18822ac253ef3eae9bf182df1b1d38 (patch)
tree11e73ed3462e1bb78ac2e150f0b408ad6aa334f8
parenta73382d1685fa864a3d4a46be486caf028523dae (diff)
Fix channel swapping when playing samples after the initially loaded.
-rw-r--r--src/audiofile.h3
-rw-r--r--src/drumgizmo.cc4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/audiofile.h b/src/audiofile.h
index 5f93584..aefb8d6 100644
--- a/src/audiofile.h
+++ b/src/audiofile.h
@@ -99,10 +99,11 @@ public:
Mutex mutex;
+ int filechannel;
+
private:
void *magic;
volatile bool is_loaded;
- int filechannel;
};
#endif/*__DRUMGIZMO_AUDIOFILE_H__*/
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc
index 28ac2c6..e7843d4 100644
--- a/src/drumgizmo.cc
+++ b/src/drumgizmo.cc
@@ -412,8 +412,8 @@ void DrumGizmo::getSamples(int ch, int pos, sample_t *s, size_t sz)
if(evt->cache_id == CACHE_NOID) {
size_t initial_chunksize = (pos + sz) - evt->offset;
- evt->buffer =
- cacheManager.open(af, initial_chunksize, ch, evt->cache_id);
+ evt->buffer = cacheManager.open(af, initial_chunksize,
+ af->filechannel, evt->cache_id);
evt->buffer_size = initial_chunksize;
}