Browse Source

Mixer: Support specifying an instance name on the command line (--instance)

tags/non-daw-v1.1.0
Jonathan Moore Liles 15 years ago
parent
commit
609a7e02ff
2 changed files with 34 additions and 9 deletions
  1. +3
    -2
      Mixer/Chain.C
  2. +31
    -7
      Mixer/main.C

+ 3
- 2
Mixer/Chain.C View File

@@ -77,6 +77,7 @@
#include "Mixer_Strip.H"
#include <dsp.h>

extern char *instance_name;


@@ -402,7 +403,7 @@ Chain::can_configure_outputs ( Module *m, int n ) const
int
Chain::maximum_name_length ( void )
{
return JACK::Client::maximum_name_length() - strlen( APP_NAME "/" );
return JACK::Client::maximum_name_length() - ( strlen( APP_NAME ) + 1 + ( instance_name ? strlen( instance_name ) + 1 : 0 ) );
}

/* rename chain... we have to let our modules know our name has
@@ -412,7 +413,7 @@ void
Chain::name ( const char *name )
{
char ename[512];
snprintf( ename, sizeof(ename), "%s/%s", APP_NAME, name );
snprintf( ename, sizeof(ename), "%s%s%s/%s", APP_NAME, instance_name ? "." : "", instance_name ? instance_name : "", name );

if ( ! _engine )
{


+ 31
- 7
Mixer/main.C View File

@@ -59,6 +59,8 @@
char *user_config_dir;
Mixer *mixer;

const char *instance_name;

#include <errno.h>

static int
@@ -134,19 +136,41 @@ main ( int argc, char **argv )
}

{
if ( argc > 1 )
int r = argc - 1;
int i = 1;
for ( ; i < argc; ++i, --r )
{
MESSAGE( "Loading \"%s\"", argv[1] );

if ( ! mixer->command_load( argv[1] ) )
if ( !strcmp( argv[i], "--instance" ) )
{
fl_alert( "Error opening project specified on commandline" );
if ( r > 1 )
{
MESSAGE( "Using instance name \"%s\"", argv[i+1] );
instance_name = argv[i+1];
++i;
}
else
{
FATAL( "Missing instance name" );
}
}
else if ( !strncmp( argv[i], "--", 2 ) )
{
WARNING( "Unrecognized option: %s", argv[i] );
}
else
break;
}
else

if ( r >= 1 )
{
WARNING( "Running without a project--nothing will be saved." );
MESSAGE( "Loading \"%s\"", argv[i] );

if ( ! mixer->command_load( argv[i] ) )
{
fl_alert( "Error opening project specified on commandline" );
}
}

}

Fl::run();


Loading…
Cancel
Save