Recorder* createRecorder (const int numChannels, const int sampleRate) { if (numChannels <= 0) return nullptr; ScopedPointer<Recorder> recorder (new Recorder (numChannels, sampleRate, *this)); return recorder->openedOk() ? recorder.release() : nullptr; }
Player* createPlayer (const int numChannels, const int sampleRate) { if (numChannels <= 0) return nullptr; ScopedPointer<Player> player (new Player (numChannels, sampleRate, *this)); return player->openedOk() ? player.release() : nullptr; }
AudioIODevice* createDevice (const String& outputDeviceName, const String& inputDeviceName) { ScopedPointer<OpenSLAudioIODevice> dev; if (outputDeviceName.isNotEmpty() || inputDeviceName.isNotEmpty()) { dev = new OpenSLAudioIODevice (outputDeviceName.isNotEmpty() ? outputDeviceName : inputDeviceName); if (! dev->openedOk()) dev = nullptr; } return dev.release(); }