Fix ordering of LASH/JACK initialization.
Signed-off-by: Jonathan Moore Liles <j.liles@unix.net>
This commit is contained in:
parent
7d8423bbaf
commit
e1d13ce083
|
@ -412,7 +412,7 @@ schedule:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
const char *
|
||||||
midi_init ( void )
|
midi_init ( void )
|
||||||
{
|
{
|
||||||
MESSAGE( "Initializing Jack MIDI" );
|
MESSAGE( "Initializing Jack MIDI" );
|
||||||
|
@ -421,7 +421,7 @@ midi_init ( void )
|
||||||
/* return 0; */
|
/* return 0; */
|
||||||
|
|
||||||
if (( client = jack_client_open ( APP_NAME, (jack_options_t)0, NULL )) == 0 )
|
if (( client = jack_client_open ( APP_NAME, (jack_options_t)0, NULL )) == 0 )
|
||||||
return 0;
|
return NULL;
|
||||||
|
|
||||||
/* create output ports */
|
/* create output ports */
|
||||||
for ( int i = 0; i < MAX_PORT; i++ )
|
for ( int i = 0; i < MAX_PORT; i++ )
|
||||||
|
@ -484,7 +484,7 @@ midi_init ( void )
|
||||||
MESSAGE( "Waiting for JACK..." );
|
MESSAGE( "Waiting for JACK..." );
|
||||||
usleep( 500000 );
|
usleep( 500000 );
|
||||||
|
|
||||||
return 1;
|
return (const char *) jack_get_client_name(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -11,6 +11,6 @@ midievent * midi_input_event ( int port );
|
||||||
void midi_output_event ( int port, const midievent *e );
|
void midi_output_event ( int port, const midievent *e );
|
||||||
void midi_output_event ( int port, const midievent *e, tick_t duration );
|
void midi_output_event ( int port, const midievent *e, tick_t duration );
|
||||||
void midi_all_sound_off ( void );
|
void midi_all_sound_off ( void );
|
||||||
int midi_init ( void );
|
const char * midi_init ( void );
|
||||||
void midi_shutdown ( void );
|
void midi_shutdown ( void );
|
||||||
void midi_output_immediate_event ( int port, const midievent *e );
|
void midi_output_immediate_event ( int port, const midievent *e );
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#ifndef HAVE_LASH
|
#ifndef HAVE_LASH
|
||||||
|
|
||||||
Lash::Lash ( ) {}
|
Lash::Lash ( ) {}
|
||||||
bool Lash::init ( int *argc, char ***argv ) { return true; }
|
bool Lash::init ( int *argc, char ***argv, const char *jack_name ) { return true; }
|
||||||
void Lash::process ( void ) {}
|
void Lash::process ( void ) {}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -38,7 +38,7 @@ Lash::Lash ( )
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Lash::init ( int *argc, char ***argv )
|
Lash::init ( int *argc, char ***argv, const char *jack_name )
|
||||||
{
|
{
|
||||||
MESSAGE( "Initializing LASH" );
|
MESSAGE( "Initializing LASH" );
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ Lash::init ( int *argc, char ***argv )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* register name */
|
/* register name */
|
||||||
lash_jack_client_name( _client, APP_NAME );
|
lash_jack_client_name( _client, jack_name );
|
||||||
|
|
||||||
lash_event_t *e = lash_event_new_with_type( LASH_Client_Name );
|
lash_event_t *e = lash_event_new_with_type( LASH_Client_Name );
|
||||||
lash_event_set_string( e, APP_TITLE );
|
lash_event_set_string( e, APP_TITLE );
|
||||||
|
|
|
@ -34,7 +34,7 @@ class Lash
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Lash ( );
|
Lash ( );
|
||||||
bool init ( int *argc, char ***argv );
|
bool init ( int *argc, char ***argv, const char *jack_name );
|
||||||
void process ( void );
|
void process ( void );
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
23
src/main.C
23
src/main.C
|
@ -167,17 +167,10 @@ main ( int argc, char **argv )
|
||||||
pattern::signal_create_destroy.connect( mem_fun( song, &song_settings::set_dirty ) );
|
pattern::signal_create_destroy.connect( mem_fun( song, &song_settings::set_dirty ) );
|
||||||
phrase::signal_create_destroy.connect( mem_fun( song, &song_settings::set_dirty ) );
|
phrase::signal_create_destroy.connect( mem_fun( song, &song_settings::set_dirty ) );
|
||||||
|
|
||||||
if ( ! lash.init( &argc, &argv ) )
|
const char *jack_name;
|
||||||
WARNING( "error initializing LASH" );
|
|
||||||
|
|
||||||
if ( argc > 1 )
|
jack_name = midi_init();
|
||||||
{
|
if ( ! jack_name )
|
||||||
/* maybe a filename on the commandline */
|
|
||||||
if ( ! load_song( argv[ 1 ] ) )
|
|
||||||
ASSERTION( "Could not load song \"%s\" specified on command line", argv[ 1 ] );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! midi_init() )
|
|
||||||
ASSERTION( "Could not initialize MIDI system! (is Jack running and with MIDI ports enabled?)" );
|
ASSERTION( "Could not initialize MIDI system! (is Jack running and with MIDI ports enabled?)" );
|
||||||
|
|
||||||
if ( ! transport.valid )
|
if ( ! transport.valid )
|
||||||
|
@ -188,6 +181,16 @@ main ( int argc, char **argv )
|
||||||
ASSERTION( "Either the version of JACK you are using does pass BBT information, or the current timebase master does not provide it." );
|
ASSERTION( "Either the version of JACK you are using does pass BBT information, or the current timebase master does not provide it." );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ! lash.init( &argc, &argv, jack_name ) )
|
||||||
|
WARNING( "error initializing LASH" );
|
||||||
|
|
||||||
|
if ( argc > 1 )
|
||||||
|
{
|
||||||
|
/* maybe a filename on the commandline */
|
||||||
|
if ( ! load_song( argv[ 1 ] ) )
|
||||||
|
ASSERTION( "Could not load song \"%s\" specified on command line", argv[ 1 ] );
|
||||||
|
}
|
||||||
|
|
||||||
song.dirty( false );
|
song.dirty( false );
|
||||||
|
|
||||||
MESSAGE( "Initializing GUI" );
|
MESSAGE( "Initializing GUI" );
|
||||||
|
|
Loading…
Reference in New Issue