comparison Plugins/Input/modplug/gui/callbacks.cpp @ 278:37316876ef6e trunk

[svn] Use modplug instead of mikmod. Supports more formats & compressed files.
author chainsaw
date Sat, 10 Dec 2005 14:31:13 -0800
parents
children 9d393eabf984
comparison
equal deleted inserted replaced
277:0cf2cc6d0fe5 278:37316876ef6e
1 #ifdef HAVE_CONFIG_H
2 # include <config.h>
3 #endif
4
5 #include <gtk/gtk.h>
6 #include <iostream>
7
8 #include "callbacks.h"
9 #include "interface.h"
10 #include "support.h"
11
12 #include "../modplugbmp.h"
13
14
15 gboolean
16 hide_window (GtkWidget *widget,
17 GdkEvent *event,
18 gpointer user_data)
19 {
20 gtk_widget_hide(widget);
21 return TRUE;
22 }
23
24 void
25 on_about_close_clicked (GtkButton *button,
26 gpointer user_data)
27 {
28 GtkWidget* lAboutWindow;
29
30 lAboutWindow = lookup_widget((GtkWidget*)button, "About");
31 if(!lAboutWindow)
32 cerr << "ModPlug: on_about_close_clicked: Could not find about window!" << endl;
33 else
34 gtk_widget_hide(lAboutWindow);
35 }
36
37
38 void
39 on_config_apply_clicked (GtkButton *button,
40 gpointer user_data)
41 {
42 ModplugXMMS::Settings lProps;
43
44 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "bit8")))
45 lProps.mBits = 8;
46 else
47 lProps.mBits = 16;
48
49 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "samp11")))
50 lProps.mFrequency = 11025;
51 else if (gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "samp22")))
52 lProps.mFrequency = 22050;
53 else
54 lProps.mFrequency = 44100;
55
56 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "resampNearest")))
57 lProps.mResamplingMode = 0;
58 else if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "resampLinear")))
59 lProps.mResamplingMode = 1;
60 else if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "resampSpline")))
61 lProps.mResamplingMode = 2;
62 else
63 lProps.mResamplingMode = 3;
64
65 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "mono")))
66 lProps.mChannels = 1;
67 else
68 lProps.mChannels = 2;
69
70 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxNR")))
71 lProps.mNoiseReduction = true;
72 else
73 lProps.mNoiseReduction = false;
74 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxFastInfo")))
75 lProps.mFastinfo = true;
76 else
77 lProps.mFastinfo = false;
78 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxUseFilename")))
79 lProps.mUseFilename = true;
80 else
81 lProps.mUseFilename = false;
82 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxReverb")))
83 lProps.mReverb = true;
84 else
85 lProps.mReverb = false;
86 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxBassBoost")))
87 lProps.mMegabass = true;
88 else
89 lProps.mMegabass = false;
90 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxSurround")))
91 lProps.mSurround = true;
92 else
93 lProps.mSurround = false;
94 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxPreamp")))
95 lProps.mPreamp = true;
96 else
97 lProps.mPreamp = false;
98
99 if(gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxLoopForever")))
100 lProps.mLoopCount = -1;
101 else if (gtk_toggle_button_get_active((GtkToggleButton*)lookup_widget((GtkWidget*)button, "fxLoopFinite")))
102 {
103 lProps.mLoopCount =
104 (uint32)gtk_spin_button_get_adjustment(
105 (GtkSpinButton*)lookup_widget((GtkWidget*)button, "fxLoopCount"))->value;
106 }
107 else
108 lProps.mLoopCount = 0;
109
110 //hmm... GTK objects have un-protected data members? That's not good...
111 lProps.mReverbDepth =
112 (uint32)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxReverbDepth"))->value;
113 lProps.mReverbDelay =
114 (uint32)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxReverbDelay"))->value;
115 lProps.mBassAmount =
116 (uint32)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxBassAmount"))->value;
117 lProps.mBassRange =
118 (uint32)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxBassRange"))->value;
119 lProps.mSurroundDepth =
120 (uint32)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxSurroundDepth"))->value;
121 lProps.mSurroundDelay =
122 (uint32)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxSurroundDelay"))->value;
123 lProps.mPreampLevel =
124 (float)gtk_range_get_adjustment((GtkRange*)lookup_widget((GtkWidget*)button, "fxPreampLevel"))->value;
125
126 gModplugXMMS.SetModProps(lProps);
127 }
128
129
130 void
131 on_config_ok_clicked (GtkButton *button,
132 gpointer user_data)
133 {
134 GtkWidget* lConfigWindow;
135
136 on_config_apply_clicked(button, user_data);
137
138 lConfigWindow = lookup_widget((GtkWidget*)button, "Config");
139 if(!lConfigWindow)
140 cerr << "ModPlug: on_config_ok_clicked: Could not find config window!" << endl;
141 else
142 gtk_widget_hide(lConfigWindow);
143 }
144
145
146 void
147 on_config_cancel_clicked (GtkButton *button,
148 gpointer user_data)
149 {
150 GtkWidget* lConfigWindow;
151
152 lConfigWindow = lookup_widget((GtkWidget*)button, "Config");
153 if(!lConfigWindow)
154 cerr << "ModPlug: on_config_ok_clicked: Could not find config window!" << endl;
155 else
156 gtk_widget_hide(lConfigWindow);
157 }
158
159
160 void
161 on_info_close_clicked (GtkButton *button,
162 gpointer user_data)
163 {
164 GtkWidget* lInfoWindow;
165
166 lInfoWindow = lookup_widget((GtkWidget*)button, "Info");
167 if(!lInfoWindow)
168 cerr << "ModPlug: on_info_close_clicked: Could not find info window!" << endl;
169 else
170 gtk_widget_hide(lInfoWindow);
171 }