25#ifndef LMMS_AUDIO_JACK_H
26#define LMMS_AUDIO_JACK_H
28#include "lmmsconfig.h"
31#ifndef LMMS_HAVE_WEAKJACK
34#include <weak_libjack.h>
39#ifdef AUDIO_BUS_HANDLE_SUPPORT
45#ifdef AUDIO_BUS_HANDLE_SUPPORT
73 inline static QString
name()
75 return QT_TRANSLATE_NOOP(
"AudioDeviceSetupWidget",
"JACK (JACK Audio Connection Kit)");
88 static QMenu*
buildMenu(QToolButton* toolButton,
const std::vector<std::string>& names,
const QString& filteredLMMSClientName);
109 void attemptToConnect(
size_t index,
const char *lmms_port_type,
const char *source_port,
const char *destination_port);
132#ifdef AUDIO_BUS_HANDLE_SUPPORT
135 jack_port_t* ports[2];
138 using JackPortMap = QMap<AudioBusHandle*, StereoPort>;
139 JackPortMap m_portMap;
Job between PlayHandle and MixerChannel.
Definition AudioBusHandle.h:55
AudioEngine * audioEngine()
Definition AudioDevice.h:84
AudioDevice(const ch_cnt_t _channels, AudioEngine *audioEngine)
Definition AudioDevice.cpp:33
Definition AudioEngine.h:66
void renamePort(AudioBusHandle *port) override
Definition AudioJack.cpp:356
void startProcessingImpl() override
Definition AudioJack.cpp:284
std::vector< jack_port_t * > m_outputPorts
Definition AudioJack.h:127
std::atomic< MidiJack * > m_midiClient
Definition AudioJack.h:126
bool m_active
Definition AudioJack.h:124
int processCallback(jack_nframes_t nframes)
Definition AudioJack.cpp:379
void attemptToReconnectOutput(size_t outputIndex, const QString &targetPort)
Definition AudioJack.cpp:251
void stopProcessingImpl() override
Definition AudioJack.cpp:316
jack_default_audio_sample_t ** m_tempOutBufs
Definition AudioJack.h:129
~AudioJack() override
Definition AudioJack.cpp:114
jack_client_t * jackClient()
Definition AudioJack.h:71
void unregisterPort(AudioBusHandle *port) override
Definition AudioJack.cpp:340
void restartAfterZombified()
Definition AudioJack.cpp:135
std::vector< SampleFrame > m_inputFrameBuffer
Definition AudioJack.h:130
void registerPort(AudioBusHandle *port) override
Definition AudioJack.cpp:320
void resizeInputBuffer(jack_nframes_t nframes)
Definition AudioJack.cpp:233
AudioJack(bool &successful, AudioEngine *audioEngine)
Definition AudioJack.cpp:94
static QString name()
Definition AudioJack.h:73
static void shutdownCallback(void *_udata)
Definition AudioJack.cpp:447
void removeMidiClient()
Definition AudioJack.h:70
void attemptToReconnectInput(size_t inputIndex, const QString &sourcePort)
Definition AudioJack.cpp:267
jack_client_t * m_client
Definition AudioJack.h:122
AudioJack * addMidiClient(MidiJack *midiClient)
Definition AudioJack.cpp:161
static int staticProcessCallback(jack_nframes_t nframes, void *udata)
Definition AudioJack.cpp:439
std::vector< jack_port_t * > m_inputPorts
Definition AudioJack.h:128
void attemptToConnect(size_t index, const char *lmms_port_type, const char *source_port, const char *destination_port)
Definition AudioJack.cpp:238
bool initJackClient()
Definition AudioJack.cpp:171
static uintptr_t parent
Definition pugl.h:1644
struct _jack_client jack_client_t
Definition jack-enum-test-func.cpp:69
uint32_t jack_nframes_t
Definition jack-enum-test-func.cpp:38
Definition AudioAlsa.cpp:35