ExportProjectDialog: added option for exporting song as loop
This patch adds the option to remove the extra silence at the end, so that the exported song can be seamlessly looped. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
@@ -109,6 +109,11 @@ public:
|
||||
return m_exporting;
|
||||
}
|
||||
|
||||
inline void setExportLoop(bool export_loop)
|
||||
{
|
||||
m_export_loop = export_loop;
|
||||
}
|
||||
|
||||
inline bool isRecording() const
|
||||
{
|
||||
return m_recording;
|
||||
@@ -118,8 +123,16 @@ public:
|
||||
|
||||
inline bool isExportDone() const
|
||||
{
|
||||
return m_exporting == true &&
|
||||
m_playPos[Mode_PlaySong].getTact() >= length() + 1;
|
||||
if ( m_export_loop )
|
||||
{
|
||||
return m_exporting == true &&
|
||||
m_playPos[Mode_PlaySong].getTact() >= length();
|
||||
}
|
||||
else
|
||||
{
|
||||
return m_exporting == true &&
|
||||
m_playPos[Mode_PlaySong].getTact() >= length() + 1;
|
||||
}
|
||||
}
|
||||
|
||||
inline PlayModes playMode() const
|
||||
@@ -284,6 +297,7 @@ private:
|
||||
|
||||
volatile bool m_recording;
|
||||
volatile bool m_exporting;
|
||||
volatile bool m_export_loop;
|
||||
volatile bool m_playing;
|
||||
volatile bool m_paused;
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@ song::song() :
|
||||
m_modified( false ),
|
||||
m_recording( false ),
|
||||
m_exporting( false ),
|
||||
m_export_loop( false ),
|
||||
m_playing( false ),
|
||||
m_paused( false ),
|
||||
m_loadingProject( false ),
|
||||
@@ -638,6 +639,7 @@ void song::stopExport()
|
||||
{
|
||||
stop();
|
||||
m_exporting = false;
|
||||
m_export_loop = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "ExportProjectDialog.h"
|
||||
#include "engine.h"
|
||||
#include "song.h"
|
||||
#include "MainWindow.h"
|
||||
#include "ProjectRenderer.h"
|
||||
#include "ui_ExportProjectDialog.h"
|
||||
@@ -161,6 +162,8 @@ void ExportProjectDialog::startBtnClicked()
|
||||
ui->bitrateCB->currentText().section( " ", 0, 0 ).toUInt(),
|
||||
static_cast<ProjectRenderer::Depths>( ui->depthCB->currentIndex() ) );
|
||||
|
||||
engine::getSong()->setExportLoop( ui->exportLoopCB->isChecked() );
|
||||
|
||||
m_renderer = new ProjectRenderer( qs, es, ft, m_fileName );
|
||||
if( m_renderer->isReady() )
|
||||
{
|
||||
|
||||
@@ -284,6 +284,13 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="exportLoopCB">
|
||||
<property name="text">
|
||||
<string>Export as loop (remove end silence)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="sampleExactControllersCB">
|
||||
<property name="text">
|
||||
|
||||
Reference in New Issue
Block a user