1 /* -----------------------------------------------------------------------------
2  *
3  * Giada - Your Hardcore Loopmachine
4  *
5  * -----------------------------------------------------------------------------
6  *
7  * Copyright (C) 2010-2020 Giovanni A. Zuliani | Monocasual
8  *
9  * This file is part of Giada - Your Hardcore Loopmachine.
10  *
11  * Giada - Your Hardcore Loopmachine is free software: you can
12  * redistribute it and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation, either
14  * version 3 of the License, or (at your option) any later version.
15  *
16  * Giada - Your Hardcore Loopmachine is distributed in the hope that it
17  * will be useful, but WITHOUT ANY WARRANTY; without even the implied
18  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19  * See the GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with Giada - Your Hardcore Loopmachine. If not, see
23  * <http://www.gnu.org/licenses/>.
24  *
25  * -------------------------------------------------------------------------- */
26 
27 
28 #ifndef GE_TAB_AUDIO_H
29 #define GE_TAB_AUDIO_H
30 
31 
32 #include <FL/Fl_Group.H>
33 
34 
35 class geCheck;
36 class geButton;
37 class geInput;
38 
39 
40 namespace giada {
41 namespace v
42 {
43 class geChoice;
44 class geTabAudio : public Fl_Group
45 {
46 public:
47 
48 	geTabAudio(int x, int y, int w, int h);
49 
50 	void save();
51 
52 	geChoice* soundsys;
53 	geChoice* buffersize;
54 	geChoice* samplerate;
55 	geChoice* sounddevOut;
56 	geButton* devOutInfo;
57 	geChoice* channelsOut;
58 	geCheck*  limitOutput;
59 	geChoice* sounddevIn;
60 	geButton* devInInfo;
61 	geChoice* channelsIn;
62 	geInput*  recTriggerLevel;
63 	geChoice* rsmpQuality;
64 
65 private:
66 
67 	static void cb_deactivate_sounddev(Fl_Widget* /*w*/, void* p);
68 	static void cb_fetchInChans       (Fl_Widget* /*w*/, void* p);
69 	static void cb_fetchOutChans      (Fl_Widget* /*w*/, void* p);
70 	static void cb_showInputInfo      (Fl_Widget* /*w*/, void* p);
71 	static void cb_showOutputInfo     (Fl_Widget* /*w*/, void* p);
72 	void cb_deactivate_sounddev();
73 	void cb_fetchInChans();
74 	void cb_fetchOutChans();
75 	void cb_showInputInfo();
76 	void cb_showOutputInfo();
77 
78 	void fetchSoundDevs();
79 	void fetchInChans(int menuItem);
80 	void fetchOutChans();
81 	int  findMenuDevice(geChoice* m, int device);
82 
83 	int soundsysInitValue;
84 };
85 }} // giada::v::
86 
87 
88 #endif
89