3 |
* LinuxSampler - modular, streaming capable sampler * |
* LinuxSampler - modular, streaming capable sampler * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2005 - 2007 Christian Schoenebeck * |
* Copyright (C) 2005 - 2009 Christian Schoenebeck * |
7 |
* * |
* * |
8 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
9 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
783 |
|
|
784 |
if (itTriggerEvent) { // skip events that happened before this voice was triggered |
if (itTriggerEvent) { // skip events that happened before this voice was triggered |
785 |
while (itCCEvent && itCCEvent->FragmentPos() <= Skip) ++itCCEvent; |
while (itCCEvent && itCCEvent->FragmentPos() <= Skip) ++itCCEvent; |
786 |
while (itNoteEvent && itNoteEvent->FragmentPos() <= Skip) ++itNoteEvent; |
// we can't simply compare the timestamp here, because note events |
787 |
|
// might happen on the same time stamp, so we have to deal on the |
788 |
|
// actual sequence the note events arrived instead (see bug #112) |
789 |
|
for (; itNoteEvent; ++itNoteEvent) { |
790 |
|
if (itTriggerEvent == itNoteEvent) { |
791 |
|
++itNoteEvent; |
792 |
|
break; |
793 |
|
} |
794 |
|
} |
795 |
} |
} |
796 |
|
|
797 |
uint killPos; |
uint killPos; |