From 733491d36dd3783396bda501e88c7e542d8aed17 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 30 Jul 2008 20:02:24 +0000 Subject: [PATCH] * added --dump parameter for easily uncompressing mmpz-files * try to set realtime priority after command-line parsing as the resulting warning might be annoying at this place git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1410 0778d3d1-df1d-0410-868b-ea421aaaa00d --- src/core/main.cpp | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/src/core/main.cpp b/src/core/main.cpp index 48920bc2f..07e7fae94 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -80,18 +80,6 @@ inline void loadTranslation( const QString & _tname, int main( int argc, char * * argv ) { -#ifdef LMMS_BUILD_LINUX -#ifdef LMMS_HAVE_SCHED_H - struct sched_param sparam; - sparam.sched_priority = ( sched_get_priority_max( SCHED_FIFO ) + - sched_get_priority_min( SCHED_FIFO ) ) / 2; - if( sched_setscheduler( 0, SCHED_FIFO, &sparam ) == -1 ) - { - printf( "could not set realtime priority.\n" ); - } -#endif -#endif - bool core_only = FALSE; for( int i = 1; i < argc; ++i ) @@ -160,7 +148,8 @@ int main( int argc, char * * argv ) "-x, --oversampling specify oversampling\n" " possible values: 1, 2, 4, 8\n" " default: 2\n" - "-u,--upgrade upgrade file and save as \n" + "-u, --upgrade upgrade file and save as \n" + "-d, --dump dump XML of compressed file \n" "-v, --version show version information and exit.\n" "-h, --help show this usage message and exit.\n\n", LMMS_VERSION ); @@ -173,6 +162,15 @@ int main( int argc, char * * argv ) file_to_save = argv[i + 2]; i += 2; } + else if( argc > i && ( QString( argv[i] ) == "--dump" || + QString( argv[i] ) == "-d" ) ) + { + QFile f( argv[i + 1] ); + f.open( QIODevice::ReadOnly ); + QString d = qUncompress( f.readAll() ); + printf( "%s\n", d.toAscii().constData() ); + return( 0 ); + } else if( argc > i && ( QString( argv[i] ) == "--render" || QString( argv[i] ) == "-r" ) ) { @@ -321,6 +319,19 @@ int main( int argc, char * * argv ) loadTranslation( pos ); + // try to set realtime priority +#ifdef LMMS_BUILD_LINUX +#ifdef LMMS_HAVE_SCHED_H + struct sched_param sparam; + sparam.sched_priority = ( sched_get_priority_max( SCHED_FIFO ) + + sched_get_priority_min( SCHED_FIFO ) ) / 2; + if( sched_setscheduler( 0, SCHED_FIFO, &sparam ) == -1 ) + { + printf( "could not set realtime priority.\n" ); + } +#endif +#endif + srand( getpid() + time( 0 ) ); if( !configManager::inst()->loadConfigFile() )