Loading...
Searching...
No Matches
ALSAPortAudioInterface.hpp
1#pragma once
2#include <Audio/AudioInterface.hpp>
3#include <Audio/PortAudioInterface.hpp>
4
5#include <ossia/audio/pulseaudio_protocol.hpp>
6
7#include <QObject>
8class QComboBox;
9namespace Audio
10{
11#if defined(OSSIA_AUDIO_PORTAUDIO) && __has_include(<pa_linux_alsa.h>)
12class ALSAPortAudioFactory final
13 : public QObject
14 , public AudioFactory
15{
16 SCORE_CONCRETE("3533ee88-9a8d-486c-b20b-6c966cf4eaa0")
17public:
18 std::vector<PortAudioCard> devices;
19
20 ALSAPortAudioFactory();
21 ~ALSAPortAudioFactory() override;
22
23 void
24 initialize(Audio::Settings::Model& set, const score::ApplicationContext& ctx) override;
25 void rescan();
26
27 bool available() const noexcept override { return true; }
28 QString prettyName() const override;
29 std::shared_ptr<ossia::audio_engine> make_engine(
30 const Audio::Settings::Model& set, const score::ApplicationContext& ctx) override;
31
32 void setCard(QComboBox* combo, QString val);
33
34 QWidget* make_settings(
36 score::SettingsCommandDispatcher& m_disp, QWidget* parent) override;
37};
38#endif
39}
40
41namespace Audio
42{
43#if defined(OSSIA_AUDIO_PULSEAUDIO)
45 : public QObject
46 , public AudioFactory
47{
48 SCORE_CONCRETE("015cb998-7bad-46e0-ba57-669b7733eadc")
49public:
51 ~PulseAudioFactory() override;
52
53 bool available() const noexcept override;
54 void
55 initialize(Audio::Settings::Model& set, const score::ApplicationContext& ctx) override
56 {
57 }
58 QString prettyName() const override;
59 std::shared_ptr<ossia::audio_engine> make_engine(
60 const Audio::Settings::Model& set, const score::ApplicationContext& ctx) override;
61
62 QWidget* make_settings(
64 score::SettingsCommandDispatcher& m_disp, QWidget* parent) override;
65};
66#endif
67}
Definition AudioInterface.hpp:28
Definition ALSAPortAudioInterface.hpp:47
Definition score-plugin-audio/Audio/Settings/Model.hpp:22
Definition score-plugin-audio/Audio/Settings/View.hpp:19
Definition SettingsCommandDispatcher.hpp:10
Base toolkit upon which the software is built.
Definition Application.cpp:97
STL namespace.
Used to access all the application-wide state and structures.
Definition ApplicationContext.hpp:24