diff --git a/src/core/ProjectRenderer.cpp b/src/core/ProjectRenderer.cpp index afa61c812d8..7e18a67b6b3 100644 --- a/src/core/ProjectRenderer.cpp +++ b/src/core/ProjectRenderer.cpp @@ -167,8 +167,8 @@ void ProjectRenderer::run() #endif #endif - Engine::getSong()->startExport(); + Engine::getSong()->updateLength(); //skip first empty buffer Engine::mixer()->nextBuffer(); diff --git a/src/core/Song.cpp b/src/core/Song.cpp index e49eb62874b..dc61dc06386 100644 --- a/src/core/Song.cpp +++ b/src/core/Song.cpp @@ -555,6 +555,12 @@ void Song::updateLength() for( TrackList::const_iterator it = tracks().begin(); it != tracks().end(); ++it ) { + if( Engine::getSong()->isExporting() && + ( *it )->isMuted() ) + { + continue; + } + const tact_t cur = ( *it )->length(); if( cur > m_length ) { diff --git a/src/core/Track.cpp b/src/core/Track.cpp index 7acaa28f06c..6ce4445e51e 100644 --- a/src/core/Track.cpp +++ b/src/core/Track.cpp @@ -2421,6 +2421,12 @@ tact_t Track::length() const for( tcoVector::const_iterator it = m_trackContentObjects.begin(); it != m_trackContentObjects.end(); ++it ) { + if( Engine::getSong()->isExporting() && + ( *it )->isMuted() ) + { + continue; + } + const tick_t cur = ( *it )->endPosition(); if( cur > last ) {