It's 2020...
[terminatorX.git] / src / tX_extdial.h
1 /*
2     terminatorX - realtime audio scratching software
3     Copyright (C) 1999-2020  Alexander K├Ânig
4  
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9  
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14  
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  
18     File: tX_extdial.h 
19 */    
20
21 #ifndef _h_tx_extdial_
22 #define _h_tx_extdial_
23
24 #include <gtk/gtk.h>
25 #include "tX_dial.h"
26 #include <stdio.h>
27
28 class tX_seqpar;
29
30 class tX_extdial
31 {
32         GtkWidget *eventbox;
33         GtkWidget *mainbox;
34         GtkWidget *subbox;
35         GtkWidget *dial;
36         GtkWidget *label;
37         GtkWidget *entry;
38         GtkAdjustment *adj;
39         int ignore_adj;
40         float fval;
41         char sval[30];
42
43         private:
44         void s2f() { sscanf(sval, "%f", &fval); /*printf("s2f(): s:%s, f%f\n", sval, fval);*/ };
45         void f2s() { sprintf(sval, "%3f", fval); sval[4]=0; /* printf("f2s(): s:%s, f%f\n", sval, fval); */ };
46         
47         public:
48         tX_extdial(const char *l, GtkAdjustment *a, tX_seqpar * sp, bool text_below=false, bool hide_entry=false);
49         ~tX_extdial();
50         GtkWidget *get_widget() { return eventbox; };
51         GtkWidget *get_dial() { return dial; }
52         GtkWidget *get_entry() { return entry; }
53         
54         static GCallback f_entry(GtkWidget *w, tX_extdial *ed);
55         static GCallback f_adjustment(GtkWidget *w, tX_extdial *ed);
56 };
57
58 #endif