From: Robert J. <spa...@us...> - 2006-09-27 20:13:07
|
Update of /cvsroot/lmuse/muse/muse In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv5314/muse Modified Files: Tag: REL07 node.cpp Log Message: rubberband/lasso fixes aux behaviour, now respects mute. aux now also takes into account volume and pan, must be right innit? Index: node.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/Attic/node.cpp,v retrieving revision 1.36.2.8 retrieving revision 1.36.2.9 diff -C2 -d -r1.36.2.8 -r1.36.2.9 *** node.cpp 20 Sep 2006 20:28:47 -0000 1.36.2.8 --- node.cpp 27 Sep 2006 20:13:03 -0000 1.36.2.9 *************** *** 134,147 **** } //--------------------------------------------------- // aux sends //--------------------------------------------------- ! if (hasAuxSend()) { AuxList* al = song->auxs(); unsigned naux = al->size(); for (unsigned i = 0; i < naux; ++i) { float m = _auxSend[i]; ! if (m <= 0.0) // optimize continue; AudioAux* a = (AudioAux*)((*al)[i]); --- 134,155 ---- } + // precalculate stereo volume + double vol[2]; + double _volume = volume(); + double _pan = pan(); + vol[0] = _volume * (1.0 - _pan); + vol[1] = _volume * (1.0 + _pan); + + //--------------------------------------------------- // aux sends //--------------------------------------------------- ! if (hasAuxSend() && !isMute()) { AuxList* al = song->auxs(); unsigned naux = al->size(); for (unsigned i = 0; i < naux; ++i) { float m = _auxSend[i]; ! if (m <= 0.0001) // optimize continue; AudioAux* a = (AudioAux*)((*al)[i]); *************** *** 153,157 **** float* sb = buffer[ch]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m); // add to mix } } --- 161,165 ---- float* sb = buffer[ch]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m * vol[ch]); // add to mix } } *************** *** 162,166 **** float* sb = buffer[0]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m); // add to mix } } --- 170,174 ---- float* sb = buffer[0]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m * vol[ch]); // add to mix } } *************** *** 206,215 **** //--------------------------------------------------- - double vol[2]; - double _volume = volume(); - double _pan = pan(); - vol[0] = _volume * (1.0 - _pan); - vol[1] = _volume * (1.0 + _pan); - if (srcChannels == dstChannels) { if (_prefader) { --- 214,217 ---- *************** *** 320,333 **** } //--------------------------------------------------- // aux sends //--------------------------------------------------- ! if (hasAuxSend()) { AuxList* al = song->auxs(); unsigned naux = al->size(); for (unsigned i = 0; i < naux; ++i) { float m = _auxSend[i]; ! if (m <= 0.0) // optimize continue; AudioAux* a = (AudioAux*)((*al)[i]); --- 322,342 ---- } + // precalculate stereo volume + double vol[2]; + double _volume = volume(); + double _pan = pan(); + vol[0] = _volume * (1.0 - _pan); + vol[1] = _volume * (1.0 + _pan); + //--------------------------------------------------- // aux sends //--------------------------------------------------- ! if (hasAuxSend() && !isMute()) { AuxList* al = song->auxs(); unsigned naux = al->size(); for (unsigned i = 0; i < naux; ++i) { float m = _auxSend[i]; ! if (m <= 0.0001) // optimize continue; AudioAux* a = (AudioAux*)((*al)[i]); *************** *** 339,343 **** float* sb = buffer[ch]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m); // add to mix } } --- 348,352 ---- float* sb = buffer[ch]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m * vol[ch]); // add to mix } } *************** *** 348,352 **** float* sb = buffer[0]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m); // add to mix } } --- 357,361 ---- float* sb = buffer[0]; for (unsigned f = 0; f < nframes; ++f) { ! *db++ += (*sb++ * m * vol[ch]); // add to mix } } *************** *** 389,397 **** //--------------------------------------------------- ! double vol[2]; ! double _volume = volume(); ! double _pan = pan(); ! vol[0] = _volume * (1.0 - _pan); ! vol[1] = _volume * (1.0 + _pan); if (srcChannels == dstChannels) { --- 398,402 ---- //--------------------------------------------------- ! if (srcChannels == dstChannels) { |