本文整理汇总了C++中Hydrogen::raiseError方法的典型用法代码示例。如果您正苦于以下问题:C++ Hydrogen::raiseError方法的具体用法?C++ Hydrogen::raiseError怎么用?C++ Hydrogen::raiseError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hydrogen
的用法示例。
在下文中一共展示了Hydrogen::raiseError方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
//.........这里部分代码省略.........
case JackServerStarted:
CLIENT_SUCCESS("JACK Server started for Hydrogen.");
break;
case JackServerFailed:
CLIENT_FAILURE("unable to connect");
break;
case JackServerError:
CLIENT_FAILURE("communication error");
break;
case JackNoSuchClient:
CLIENT_FAILURE("unknown client type");
break;
case JackLoadFailure:
CLIENT_FAILURE("can't load internal client");
break;
case JackInitFailure:
CLIENT_FAILURE("can't initialize client");
break;
case JackShmFailure:
CLIENT_FAILURE("unable to access shared memory");
break;
case JackVersionError:
CLIENT_FAILURE("client/server protocol version mismatch");
default:
if (status) {
ERRORLOG("Unknown status with JACK server.");
if (client) {
CLIENT_SUCCESS("Client pointer is *not* null..."
" assuming we're OK");
}
} else {
CLIENT_SUCCESS("Connected to JACK server");
}
}
}
if (client == 0) return -1;
// Here, client should either be valid, or NULL.
jack_server_sampleRate = jack_get_sample_rate ( client );
jack_server_bufferSize = jack_get_buffer_size ( client );
pref->m_nSampleRate = jack_server_sampleRate;
pref->m_nBufferSize = jack_server_bufferSize;
/* tell the JACK server to call `process()' whenever
there is work to be done.
*/
jack_set_process_callback ( client, this->processCallback, 0 );
/* tell the JACK server to call `srate()' whenever
the sample rate of the system changes.
*/
jack_set_sample_rate_callback ( client, jackDriverSampleRate, this );
/* tell JACK server to update us if the buffer size
(frames per process cycle) changes.
*/
jack_set_buffer_size_callback ( client, jackDriverBufferSize, 0 );
/* tell the JACK server to call `jack_shutdown()' if
it ever shuts down, either entirely, or if it
just decides to stop calling us.
*/
jack_on_shutdown ( client, jackDriverShutdown, 0 );
/* create two ports */
output_port_1 = jack_port_register ( client, "out_L", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0 );
output_port_2 = jack_port_register ( client, "out_R", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0 );
Hydrogen *H = Hydrogen::get_instance();
if ( ( output_port_1 == NULL ) || ( output_port_2 == NULL ) ) {
H->raiseError( Hydrogen::JACK_ERROR_IN_PORT_REGISTER );
return 4;
}
// clear buffers
// jack_default_audio_sample_t *out_L = (jack_default_audio_sample_t *) jack_port_get_buffer (output_port_1, jack_server_bufferSize);
// jack_default_audio_sample_t *out_R = (jack_default_audio_sample_t *) jack_port_get_buffer (output_port_2, jack_server_bufferSize);
// memset( out_L, 0, nBufferSize * sizeof( float ) );
// memset( out_R, 0, nBufferSize * sizeof( float ) );
#ifdef H2CORE_HAVE_LASH
if ( pref->useLash() ){
LashClient* lashClient = LashClient::get_instance();
if (lashClient->isConnected()) {
lashClient->setJackClientName(sClientName.toLocal8Bit().constData());
}
}
#endif
#ifdef H2CORE_HAVE_JACKSESSION
jack_set_session_callback (client, jack_session_callback, (void*)this);
#endif
if ( pref->m_bJackMasterMode == Preferences::USE_JACK_TIME_MASTER )
initTimeMaster();
return 0;
}
示例2: init
//.........这里部分代码省略.........
case JackInitFailure:
CLIENT_FAILURE("can't initialize client");
break;
case JackShmFailure:
CLIENT_FAILURE("unable to access shared memory");
break;
case JackVersionError:
CLIENT_FAILURE("client/server protocol version mismatch");
break;
default:
if (status) {
ERRORLOG("Unknown status with JACK server.");
if (m_pClient) {
CLIENT_SUCCESS("Client pointer is *not* null..."
" assuming we're OK");
}
} else {
CLIENT_SUCCESS("Connected to JACK server");
}
}
}
if (m_pClient == 0) return -1;
// Here, client should either be valid, or NULL.
jack_server_sampleRate = jack_get_sample_rate( m_pClient );
jack_server_bufferSize = jack_get_buffer_size( m_pClient );
pPref->m_nSampleRate = jack_server_sampleRate;
pPref->m_nBufferSize = jack_server_bufferSize;
/* tell the JACK server to call `process()' whenever
there is work to be done.
*/
jack_set_process_callback( m_pClient, this->processCallback, 0 );
/* tell the JACK server to call `srate()' whenever
the sample rate of the system changes.
*/
jack_set_sample_rate_callback( m_pClient, jackDriverSampleRate, this );
/* tell JACK server to update us if the buffer size
(frames per process cycle) changes.
*/
jack_set_buffer_size_callback( m_pClient, jackDriverBufferSize, 0 );
/* tell the JACK server to call `jack_shutdown()' if
it ever shuts down, either entirely, or if it
just decides to stop calling us.
*/
jack_on_shutdown( m_pClient, jackDriverShutdown, 0 );
// Create two new ports for Hydrogen's client. These are
// objects used for moving data of any type in or out of the
// client. Ports may be connected in various ways. The
// function `jack_port_register' (jack/jack.h) is called like
// jack_port_register( jack_client_t *client,
// const char *port_name,
// const char *port_type,
// unsigned long flags,
// unsigned long buffer_size)
//
// All ports have a type, which may be any non-NULL and non-zero
// length string, passed as an argument. Some port types are built
// into the JACK API, currently only JACK_DEFAULT_AUDIO_TYPE.
// It returns a _jack_port_t_ pointer on success, otherwise NULL.
output_port_1 = jack_port_register( m_pClient, "out_L", JACK_DEFAULT_AUDIO_TYPE,
JackPortIsOutput, 0 );
output_port_2 = jack_port_register( m_pClient, "out_R", JACK_DEFAULT_AUDIO_TYPE,
JackPortIsOutput, 0 );
Hydrogen *pEngine = Hydrogen::get_instance();
if ( ( output_port_1 == NULL ) || ( output_port_2 == NULL ) ) {
pEngine->raiseError( Hydrogen::JACK_ERROR_IN_PORT_REGISTER );
return 4;
}
#ifdef H2CORE_HAVE_LASH
if ( pPref->useLash() ){
LashClient* lashClient = LashClient::get_instance();
if (lashClient->isConnected()) {
lashClient->setJackClientName(sClientName.toLocal8Bit().constData());
}
}
#endif
#ifdef H2CORE_HAVE_JACKSESSION
jack_set_session_callback(m_pClient, jack_session_callback, (void*)this);
#endif
if ( pPref->m_bJackMasterMode == Preferences::USE_JACK_TIME_MASTER ){
// Make Hydrogen the timebase master, regardless if there
// is already a timebase master present.
m_nJackConditionalTakeOver = 0;
// Make Hydrogen the JACK timebase master.
initTimeMaster();
}
return 0;
}