JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_AudioDeviceSelectorComponent.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
41 private ChangeListener
42{
43public:
44 //==============================================================================
64 int minAudioInputChannels,
65 int maxAudioInputChannels,
66 int minAudioOutputChannels,
67 int maxAudioOutputChannels,
68 bool showMidiInputOptions,
69 bool showMidiOutputSelector,
70 bool showChannelsAsStereoPairs,
71 bool hideAdvancedOptionsWithButton);
72
75
78
80 void setItemHeight (int itemHeight);
81
83 int getItemHeight() const noexcept { return itemHeight; }
84
86 ListBox* getMidiInputSelectorListBox() const noexcept;
87
88 //==============================================================================
90 void resized() override;
91
93 void childBoundsChanged (Component* child) override;
94
95private:
96 //==============================================================================
97 void handleBluetoothButton();
98 void updateDeviceType();
99 void changeListenerCallback (ChangeBroadcaster*) override;
100 void updateAllControls();
101
102 std::unique_ptr<ComboBox> deviceTypeDropDown;
103 std::unique_ptr<Label> deviceTypeDropDownLabel;
104 std::unique_ptr<Component> audioDeviceSettingsComp;
105 String audioDeviceSettingsCompType;
106 int itemHeight = 0;
107 const int minOutputChannels, maxOutputChannels, minInputChannels, maxInputChannels;
108 const bool showChannelsAsStereoPairs;
109 const bool hideAdvancedOptionsWithButton;
110
111 class MidiInputSelectorComponentListBox;
112 class MidiOutputSelector;
113
114 Array<MidiDeviceInfo> currentMidiOutputs;
115 std::unique_ptr<MidiInputSelectorComponentListBox> midiInputsList;
116 std::unique_ptr<MidiOutputSelector> midiOutputSelector;
117 std::unique_ptr<Label> midiInputsLabel, midiOutputLabel;
118 std::unique_ptr<TextButton> bluetoothButton;
119
121};
122
123} // namespace juce
Holds a resizable array of primitive or copy-by-value objects.
Definition juce_Array.h:56
Manages the state of some audio and midi i/o devices.
A component containing controls to let the user change the audio settings of an AudioDeviceManager ob...
AudioDeviceManager & deviceManager
The device manager that this component is controlling.
int getItemHeight() const noexcept
Returns the standard height used for items in the panel.
Holds a list of ChangeListeners, and sends messages to them when instructed.
Receives change event callbacks that are sent out by a ChangeBroadcaster.
A component that lets the user choose from a drop-down list of choices.
The base class for all JUCE user-interface objects.
A component that displays a text string, and can optionally become a text editor when clicked.
Definition juce_Label.h:41
A list of items that can be scrolled vertically.
The JUCE String class!
Definition juce_String.h:53
A button that uses the standard lozenge-shaped background with a line of text on it.
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.
This struct contains information about a MIDI input or output device.