improved support for different file-formats when exporting and fixed bug which made LMMS crash when exporting to OGG-file

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1123 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-06-12 20:35:20 +00:00
parent 0638ec5e55
commit 32d5ca7c64
7 changed files with 117 additions and 103 deletions

View File

@@ -26,17 +26,20 @@
#define _PROJECT_RENDERER_H
#include "audio_file_device.h"
#include "lmmsconfig.h"
class projectRenderer : public QThread
{
Q_OBJECT
public:
enum ExportFileTypes
enum ExportFileFormats
{
WaveFile,
#ifdef LMMS_HAVE_VORBIS_CODEC_H
OggFile,
NullFile = 0xFF
#endif
NumFileFormats
} ;
struct outputSettings
@@ -55,11 +58,17 @@ public:
projectRenderer( const mixer::qualitySettings & _qs,
const outputSettings & _os,
ExportFileTypes _file_type,
ExportFileFormats _file_format,
const QString & _out_file );
virtual ~projectRenderer();
static ExportFileTypes getFileTypeFromExtension( const QString & _ext );
bool isReady( void ) const
{
return m_fileDev != NULL;
}
static ExportFileFormats getFileFormatFromExtension(
const QString & _ext );
public slots:
@@ -85,4 +94,16 @@ private:
} ;
struct fileEncodeDevice
{
projectRenderer::ExportFileFormats m_fileFormat;
const char * m_description;
const char * m_extension;
audioFileDeviceInstantiaton m_getDevInst;
} ;
extern fileEncodeDevice __fileEncodeDevices[];
#endif