1 /* _______ ____ __ ___ ___
2 * \ _ \ \ / \ / \ \ / / ' ' '
3 * | | \ \ | | || | \/ | . .
4 * | | | | | | || ||\ /| |
5 * | | | | | | || || \/ | | ' ' '
6 * | | | | | | || || | | . .
7 * | |_/ / \ \__// || | |
8 * /_______/ynamic \____/niversal /__\ /____\usic /| . . ibliotheque
9 * / \
10 * / . \
11 * itmisc.c - Miscellaneous functions relating / / \ \
12 * to module files. | < / \_
13 * | \/ /\ /
14 * By entheh. \_ / > /
15 * | \ / /
16 * | ' /
17 * \__/
18 */
19
20 #include "dumb.h"
21 #include "internal/it.h"
22
23
24
duh_get_it_sigdata(DUH * duh)25 DUMB_IT_SIGDATA *duh_get_it_sigdata(DUH *duh)
26 {
27 return duh_get_raw_sigdata(duh, 0, SIGTYPE_IT);
28 }
29
30
31
dumb_it_sd_get_n_orders(DUMB_IT_SIGDATA * sd)32 int dumb_it_sd_get_n_orders(DUMB_IT_SIGDATA *sd)
33 {
34 return sd ? sd->n_orders : 0;
35 }
36
37
38
dumb_it_sd_get_initial_global_volume(DUMB_IT_SIGDATA * sd)39 int dumb_it_sd_get_initial_global_volume(DUMB_IT_SIGDATA *sd)
40 {
41 return sd ? sd->global_volume : 0;
42 }
43
44
45
dumb_it_sd_set_initial_global_volume(DUMB_IT_SIGDATA * sd,int gv)46 void dumb_it_sd_set_initial_global_volume(DUMB_IT_SIGDATA *sd, int gv)
47 {
48 if (sd) sd->global_volume = gv;
49 }
50
51
52
dumb_it_sd_get_mixing_volume(DUMB_IT_SIGDATA * sd)53 int dumb_it_sd_get_mixing_volume(DUMB_IT_SIGDATA *sd)
54 {
55 return sd ? sd->mixing_volume : 0;
56 }
57
58
59
dumb_it_sd_set_mixing_volume(DUMB_IT_SIGDATA * sd,int mv)60 void dumb_it_sd_set_mixing_volume(DUMB_IT_SIGDATA *sd, int mv)
61 {
62 if (sd) sd->mixing_volume = mv;
63 }
64
65
66
dumb_it_sd_get_initial_speed(DUMB_IT_SIGDATA * sd)67 int dumb_it_sd_get_initial_speed(DUMB_IT_SIGDATA *sd)
68 {
69 return sd ? sd->speed : 0;
70 }
71
72
73
dumb_it_sd_set_initial_speed(DUMB_IT_SIGDATA * sd,int speed)74 void dumb_it_sd_set_initial_speed(DUMB_IT_SIGDATA *sd, int speed)
75 {
76 if (sd) sd->speed = speed;
77 }
78
79
80
dumb_it_sd_get_initial_tempo(DUMB_IT_SIGDATA * sd)81 int dumb_it_sd_get_initial_tempo(DUMB_IT_SIGDATA *sd)
82 {
83 return sd ? sd->tempo : 0;
84 }
85
86
87
dumb_it_sd_set_initial_tempo(DUMB_IT_SIGDATA * sd,int tempo)88 void dumb_it_sd_set_initial_tempo(DUMB_IT_SIGDATA *sd, int tempo)
89 {
90 if (sd) sd->tempo = tempo;
91 }
92
93
94
dumb_it_sd_get_initial_channel_volume(DUMB_IT_SIGDATA * sd,int channel)95 int dumb_it_sd_get_initial_channel_volume(DUMB_IT_SIGDATA *sd, int channel)
96 {
97 ASSERT(channel >= 0 && channel < DUMB_IT_N_CHANNELS);
98 return sd ? sd->channel_volume[channel] : 0;
99 }
100
dumb_it_sd_set_initial_channel_volume(DUMB_IT_SIGDATA * sd,int channel,int volume)101 void dumb_it_sd_set_initial_channel_volume(DUMB_IT_SIGDATA *sd, int channel, int volume)
102 {
103 ASSERT(channel >= 0 && channel < DUMB_IT_N_CHANNELS);
104 if (sd) sd->channel_volume[channel] = volume;
105 }
106
107
108
dumb_it_sr_get_current_order(DUMB_IT_SIGRENDERER * sr)109 int dumb_it_sr_get_current_order(DUMB_IT_SIGRENDERER *sr)
110 {
111 return sr ? sr->order : -1;
112 }
113
114
115
dumb_it_sr_get_current_row(DUMB_IT_SIGRENDERER * sr)116 int dumb_it_sr_get_current_row(DUMB_IT_SIGRENDERER *sr)
117 {
118 return sr ? sr->row : -1;
119 }
120
121
122
dumb_it_sr_get_global_volume(DUMB_IT_SIGRENDERER * sr)123 int dumb_it_sr_get_global_volume(DUMB_IT_SIGRENDERER *sr)
124 {
125 return sr ? sr->globalvolume : 0;
126 }
127
128
129
dumb_it_sr_set_global_volume(DUMB_IT_SIGRENDERER * sr,int gv)130 void dumb_it_sr_set_global_volume(DUMB_IT_SIGRENDERER *sr, int gv)
131 {
132 if (sr) sr->globalvolume = gv;
133 }
134
135
136
dumb_it_sr_get_tempo(DUMB_IT_SIGRENDERER * sr)137 int dumb_it_sr_get_tempo(DUMB_IT_SIGRENDERER *sr)
138 {
139 return sr ? sr->tempo : 0;
140 }
141
142
143
dumb_it_sr_set_tempo(DUMB_IT_SIGRENDERER * sr,int tempo)144 void dumb_it_sr_set_tempo(DUMB_IT_SIGRENDERER *sr, int tempo)
145 {
146 if (sr) sr->tempo = tempo;
147 }
148
149
150
dumb_it_sr_get_speed(DUMB_IT_SIGRENDERER * sr)151 int dumb_it_sr_get_speed(DUMB_IT_SIGRENDERER *sr)
152 {
153 return sr ? sr->speed : 0;
154 }
155
156
157
dumb_it_sr_set_speed(DUMB_IT_SIGRENDERER * sr,int speed)158 void dumb_it_sr_set_speed(DUMB_IT_SIGRENDERER *sr, int speed)
159 {
160 if (sr) sr->speed = speed;
161 }
162
163
164
dumb_it_sr_get_channel_volume(DUMB_IT_SIGRENDERER * sr,int channel)165 int dumb_it_sr_get_channel_volume(DUMB_IT_SIGRENDERER *sr, int channel)
166 {
167 return sr ? sr->channel[channel].channelvolume : 0;
168 }
169
170
171
dumb_it_sr_set_channel_volume(DUMB_IT_SIGRENDERER * sr,int channel,int volume)172 void dumb_it_sr_set_channel_volume(DUMB_IT_SIGRENDERER *sr, int channel, int volume)
173 {
174 if (sr) sr->channel[channel].channelvolume = volume;
175 }
176