Fix T40280: sequencer sound strips with an end at a negative time kept playing

The bug was caused by using negative numbers as the end for playing forever (or until the end of the sound is reached) in the library. This was used with speaker objects which have an end of FLT_MAX now instead and the negative number interpretation was removed. I hope this doesn't break anything else.
This commit is contained in:
Joerg Mueller 2014-05-20 23:01:56 +02:00
parent 3bba558944
commit 38fcc3e14b
Notes: blender-bot 2024-03-25 12:30:38 +01:00
Referenced by issue #40280, Sequence sound strip plays in cut area after moving below start frame.
2 changed files with 4 additions and 4 deletions

View File

@ -70,7 +70,7 @@ void AUD_SequencerHandle::update(float position, float frame, float fps)
if(m_handle.get())
{
AUD_MutexLock lock(*m_entry);
if(position >= m_entry->m_end && m_entry->m_end >= 0)
if(position >= m_entry->m_end)
m_handle->pause();
else if(position >= m_entry->m_begin)
m_handle->resume();
@ -143,7 +143,7 @@ void AUD_SequencerHandle::seek(float position)
if(m_handle.get())
{
AUD_MutexLock lock(*m_entry);
if(position >= m_entry->m_end && m_entry->m_end >= 0)
if(position >= m_entry->m_end)
{
m_handle->pause();
return;

View File

@ -727,7 +727,7 @@ void sound_update_scene(Main *bmain, struct Scene *scene)
if (AUD_removeSet(scene->speaker_handles, strip->speaker_handle)) {
if (speaker->sound) {
AUD_moveSequence(strip->speaker_handle, (double)strip->start / FPS, -1, 0);
AUD_moveSequence(strip->speaker_handle, (double)strip->start / FPS, FLT_MAX, 0);
}
else {
AUD_removeSequence(scene->sound_scene, strip->speaker_handle);
@ -738,7 +738,7 @@ void sound_update_scene(Main *bmain, struct Scene *scene)
if (speaker->sound) {
strip->speaker_handle = AUD_addSequence(scene->sound_scene,
speaker->sound->playback_handle,
(double)strip->start / FPS, -1, 0);
(double)strip->start / FPS, FLT_MAX, 0);
AUD_setRelativeSequence(strip->speaker_handle, 0);
}
}