[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/core AudioClip.cpp Song.cpp Song.h
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/core AudioClip.cpp Song.cpp Song.h |
Date: |
Thu, 22 Nov 2007 15:47:12 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/11/22 15:47:12
Modified files:
src/core : AudioClip.cpp Song.cpp Song.h
Log message:
* added a 'AudioClip render Bus' which is shared by all AudioClips, not
a flexible solution, but hey, there is no routing so there's currently no need
for flexability :P
Renders audio of overlapping audioclips correctly again.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AudioClip.cpp?cvsroot=traverso&r1=1.150&r2=1.151
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.cpp?cvsroot=traverso&r1=1.155&r2=1.156
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/Song.h?cvsroot=traverso&r1=1.73&r2=1.74
Patches:
Index: AudioClip.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AudioClip.cpp,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -b -r1.150 -r1.151
--- AudioClip.cpp 19 Nov 2007 11:18:53 -0000 1.150
+++ AudioClip.cpp 22 Nov 2007 15:47:11 -0000 1.151
@@ -414,7 +414,9 @@
Q_ASSERT(m_readSource);
- AudioBus* bus = m_song->get_render_bus();
+ AudioBus* bus = m_song->get_clip_render_bus();
+ AudioBus* sendbus = m_song->get_render_bus();
+
TimeRef mix_pos;
audio_sample_t* mixdown[get_channels()];
@@ -470,6 +472,10 @@
TimeRef endlocation = mix_pos + TimeRef(read_frames, get_rate());
m_fader->process_gain(mixdown, mix_pos, endlocation, read_frames,
bus->get_channel_count());
+ for (int i=0; i<bus->get_channel_count(); ++i) {
+ Mixer::mix_buffers_no_gain(sendbus->get_buffer(i, nframes),
bus->get_buffer(i, nframes), nframes);
+ }
+
return 1;
}
Index: Song.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.cpp,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -b -r1.155 -r1.156
--- Song.cpp 22 Nov 2007 14:46:59 -0000 1.155
+++ Song.cpp 22 Nov 2007 15:47:12 -0000 1.156
@@ -113,6 +113,7 @@
delete m_diskio;
delete m_masterOut;
delete m_renderBus;
+ delete m_clipRenderBus;
delete m_hs;
delete m_audiodeviceClient;
delete snaplist;
@@ -144,6 +145,8 @@
mixdown = gainbuffer = 0;
m_masterOut = new AudioBus("Master Out", 2);
m_renderBus = new AudioBus("Render Bus", 2);
+ m_clipRenderBus = new AudioBus("Clip Render Bus", 2);
+
resize_buffer(false, audiodevice().get_buffer_size());
m_hs = new QUndoStack(pm().get_undogroup());
set_history_stack(m_hs);
@@ -941,6 +944,7 @@
gainbuffer = new audio_sample_t[size];
m_masterOut->set_buffer_size(size);
m_renderBus->set_buffer_size(size);
+ m_clipRenderBus->set_buffer_size(size);
if (updateArmStatus) {
apill_foreach(Track* track, Track, m_tracks) {
Index: Song.h
===================================================================
RCS file: /sources/traverso/traverso/src/core/Song.h,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- Song.h 19 Nov 2007 11:18:53 -0000 1.73
+++ Song.h 22 Nov 2007 15:47:12 -0000 1.74
@@ -102,6 +102,7 @@
AudioClipManager* get_audioclip_manager() const;
AudioBus* get_master_out() const {return m_masterOut;}
AudioBus* get_render_bus() const {return m_renderBus;}
+ AudioBus* get_clip_render_bus() const {return m_clipRenderBus;}
SnapList* get_snap_list() const;
PluginChain* get_plugin_chain() const;
TimeLine* get_timeline() const {return m_timeline;}
@@ -162,6 +163,7 @@
Client* m_audiodeviceClient;
AudioBus* m_masterOut;
AudioBus* m_renderBus;
+ AudioBus* m_clipRenderBus;
DiskIO* m_diskio;
AudioClipManager* m_acmanager;
TimeLine* m_timeline;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/core AudioClip.cpp Song.cpp Song.h,
Remon Sijrier <=