summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2015-07-10 09:33:55 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2016-01-20 13:30:26 +0100
commit0e8d586619e09db50a64cfcacda6267e6cb21214 (patch)
tree17f9e7a2f0986a0ae2eb12a0ae4779f47106b8e1 /src
parent939515986c20c32dbebc8a95ebd10b5f192877b9 (diff)
Fix channel swapping when playing samples after the initially loaded.
Diffstat (limited to 'src')
-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;
}