git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1404 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.62
| @@ -1789,7 +1789,6 @@ JackAlsaDriver::alsa_driver_delete (alsa_driver_t *driver) | |||||
| free(driver->alsa_driver); | free(driver->alsa_driver); | ||||
| alsa_driver_release_channel_dependent_memory (driver); | alsa_driver_release_channel_dependent_memory (driver); | ||||
| jack_driver_nt_finish ((jack_driver_nt_t *) driver); | |||||
| free (driver); | free (driver); | ||||
| } | } | ||||
| @@ -2122,23 +2121,6 @@ int JackAlsaDriver::Attach() | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| int JackAlsaDriver::Detach() | |||||
| { | |||||
| JackLog("JackAlsaDriver::Detach\n"); | |||||
| for (int i = 0; i < fCaptureChannels; i++) { | |||||
| fGraphManager->RemovePort(fClientControl->fRefNum, fCapturePortList[i]); | |||||
| } | |||||
| for (int i = 0; i < fPlaybackChannels; i++) { | |||||
| fGraphManager->RemovePort(fClientControl->fRefNum, fPlaybackPortList[i]); | |||||
| if (fWithMonitorPorts) | |||||
| fGraphManager->RemovePort(fClientControl->fRefNum, fMonitorPortList[i]); | |||||
| } | |||||
| return 0; | |||||
| } | |||||
| int JackAlsaDriver::Open(jack_nframes_t nframes, | int JackAlsaDriver::Open(jack_nframes_t nframes, | ||||
| jack_nframes_t user_nperiods, | jack_nframes_t user_nperiods, | ||||
| jack_nframes_t samplerate, | jack_nframes_t samplerate, | ||||
| @@ -2295,14 +2277,6 @@ JackAlsaDriver::jack_driver_nt_init (jack_driver_nt_t * driver) | |||||
| driver->nt_attach = 0; | driver->nt_attach = 0; | ||||
| driver->nt_detach = 0; | driver->nt_detach = 0; | ||||
| driver->nt_run_cycle = 0; | driver->nt_run_cycle = 0; | ||||
| pthread_mutex_init (&driver->nt_run_lock, NULL); | |||||
| } | |||||
| void | |||||
| JackAlsaDriver::jack_driver_nt_finish(jack_driver_nt_t * driver) | |||||
| { | |||||
| pthread_mutex_destroy (&driver->nt_run_lock); | |||||
| } | } | ||||
| void JackAlsaDriver::PrintState() | void JackAlsaDriver::PrintState() | ||||
| @@ -114,8 +114,7 @@ class JackAlsaDriver : public JackAudioDriver | |||||
| int alsa_driver_xrun_recovery (alsa_driver_t *driver, float *delayed_usecs); | int alsa_driver_xrun_recovery (alsa_driver_t *driver, float *delayed_usecs); | ||||
| void jack_driver_init (jack_driver_t *driver); | void jack_driver_init (jack_driver_t *driver); | ||||
| void jack_driver_nt_init (jack_driver_nt_t * driver); | void jack_driver_nt_init (jack_driver_nt_t * driver); | ||||
| void jack_driver_nt_finish(jack_driver_nt_t * driver); | |||||
| public: | public: | ||||
| JackAlsaDriver(const char* name, JackEngine* engine, JackSynchro** table): JackAudioDriver(name, engine, table) | JackAlsaDriver(const char* name, JackEngine* engine, JackSynchro** table): JackAudioDriver(name, engine, table) | ||||
| @@ -143,8 +142,7 @@ class JackAlsaDriver : public JackAudioDriver | |||||
| int Close(); | int Close(); | ||||
| int Attach(); | int Attach(); | ||||
| int Detach(); | |||||
| int Start(); | int Start(); | ||||
| int Stop(); | int Stop(); | ||||
| @@ -361,12 +361,7 @@ JackFreebobDriver::freebob_driver_new (char *name, | |||||
| void | void | ||||
| JackFreebobDriver::freebob_driver_delete (freebob_driver_t *driver) | JackFreebobDriver::freebob_driver_delete (freebob_driver_t *driver) | ||||
| { | { | ||||
| if (driver->dev) { | |||||
| Detach(); | |||||
| } | |||||
| jack_driver_nt_finish ((jack_driver_nt_t *) driver); | |||||
| free (driver); | |||||
| free (driver); | |||||
| } | } | ||||
| #ifdef FREEBOB_DRIVER_WITH_MIDI | #ifdef FREEBOB_DRIVER_WITH_MIDI | ||||
| @@ -716,7 +711,6 @@ int JackFreebobDriver::Attach() | |||||
| } | } | ||||
| // initialize the thread | // initialize the thread | ||||
| driver->dev = freebob_streaming_init(&driver->device_info, driver->device_options); | driver->dev = freebob_streaming_init(&driver->device_info, driver->device_options); | ||||
| if (!driver->dev) { | if (!driver->dev) { | ||||
| @@ -813,7 +807,6 @@ int JackFreebobDriver::Attach() | |||||
| int JackFreebobDriver::Detach() | int JackFreebobDriver::Detach() | ||||
| { | { | ||||
| freebob_driver_t* driver = (freebob_driver_t*)fDriver; | freebob_driver_t* driver = (freebob_driver_t*)fDriver; | ||||
| JackLog("JackFreebobDriver::Detach\n"); | JackLog("JackFreebobDriver::Detach\n"); | ||||
| // finish the libfreebob streaming | // finish the libfreebob streaming | ||||
| @@ -827,18 +820,7 @@ int JackFreebobDriver::Detach() | |||||
| driver->midi_handle = NULL; | driver->midi_handle = NULL; | ||||
| #endif | #endif | ||||
| // unregister the ports | |||||
| for (int i = 0; i < fCaptureChannels; i++) { | |||||
| fGraphManager->RemovePort(fClientControl->fRefNum, fCapturePortList[i]); | |||||
| } | |||||
| for (int i = 0; i < fPlaybackChannels; i++) { | |||||
| fGraphManager->RemovePort(fClientControl->fRefNum, fPlaybackPortList[i]); | |||||
| if (fWithMonitorPorts) | |||||
| fGraphManager->RemovePort(fClientControl->fRefNum, fMonitorPortList[i]); | |||||
| } | |||||
| return 0; | |||||
| return JackAudioDriver::Detach(); // Generic JackAudioDriver Detach | |||||
| } | } | ||||
| int JackFreebobDriver::Open(freebob_jack_settings_t *params) | int JackFreebobDriver::Open(freebob_jack_settings_t *params) | ||||
| @@ -887,7 +869,6 @@ int JackFreebobDriver::Read() | |||||
| /* Taken from freebob_driver_run_cycle */ | /* Taken from freebob_driver_run_cycle */ | ||||
| freebob_driver_t* driver = (freebob_driver_t*)fDriver; | freebob_driver_t* driver = (freebob_driver_t*)fDriver; | ||||
| int wait_status = 0; | int wait_status = 0; | ||||
| float delayed_usecs = 0.0; | float delayed_usecs = 0.0; | ||||
| @@ -974,14 +955,6 @@ JackFreebobDriver::jack_driver_nt_init (jack_driver_nt_t * driver) | |||||
| driver->nt_attach = 0; | driver->nt_attach = 0; | ||||
| driver->nt_detach = 0; | driver->nt_detach = 0; | ||||
| driver->nt_run_cycle = 0; | driver->nt_run_cycle = 0; | ||||
| pthread_mutex_init (&driver->nt_run_lock, NULL); | |||||
| } | |||||
| void | |||||
| JackFreebobDriver::jack_driver_nt_finish(jack_driver_nt_t * driver) | |||||
| { | |||||
| pthread_mutex_destroy (&driver->nt_run_lock); | |||||
| } | } | ||||
| void JackFreebobDriver::PrintState() | void JackFreebobDriver::PrintState() | ||||
| @@ -1011,12 +984,7 @@ void JackFreebobDriver::PrintState() | |||||
| } | } | ||||
| } | } | ||||
| /* | |||||
| JackDriver* DriverInit(JackGraphManager* manager) | |||||
| { | |||||
| return new JackFreebobDriver("ALSA", manager); | |||||
| } | |||||
| */ | |||||
| } // end of namespace | } // end of namespace | ||||
| @@ -67,8 +67,7 @@ class JackFreebobDriver : public JackAudioDriver | |||||
| void jack_driver_init (jack_driver_t *driver); | void jack_driver_init (jack_driver_t *driver); | ||||
| void jack_driver_nt_init (jack_driver_nt_t * driver); | void jack_driver_nt_init (jack_driver_nt_t * driver); | ||||
| void jack_driver_nt_finish(jack_driver_nt_t * driver); | |||||
| public: | public: | ||||
| JackFreebobDriver(const char* name, JackEngine* engine, JackSynchro** table): JackAudioDriver(name, engine, table) | JackFreebobDriver(const char* name, JackEngine* engine, JackSynchro** table): JackAudioDriver(name, engine, table) | ||||