247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
|
if(!v) return;
spec.freq=strtol(v,0,10);
optionquery[2]=Q_buffer;
v=xrm_get_resource(resourcedb,optionquery,optionquery,3);
if(!v) return;
spec.samples=strtol(v,0,10);
if(!spec.freq || !spec.samples) return;
fprintf(stderr,"Initializing audio...\n");
spec.channels=1;
spec.format=AUDIO_S16SYS;
spec.callback=audio_callback;
if(SDL_InitSubSystem(SDL_INIT_AUDIO)) {
fprintf(stderr,"Cannot initalize audio subsystem.\n");
return;
}
|
|
|
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
|
if(!v) return;
spec.freq=strtol(v,0,10);
optionquery[2]=Q_buffer;
v=xrm_get_resource(resourcedb,optionquery,optionquery,3);
if(!v) return;
spec.samples=strtol(v,0,10);
if(!spec.freq || !spec.samples) return;
printStatus("Initializing audio...\n");
spec.channels=1;
spec.format=AUDIO_S16SYS;
spec.callback=audio_callback;
if(SDL_InitSubSystem(SDL_INIT_AUDIO)) {
fprintf(stderr,"Cannot initalize audio subsystem.\n");
return;
}
|
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
|
for(i=0;i<190;i++) mmltuning[i]=f*pow(2.0,(i-96)/24.0);
for(i=0;i<64;i++) mmltuning[i+190]=(((long long)(i+2))<<37)/spec.freq;
optionquery[2]=Q_mmlTempo;
if(v=xrm_get_resource(resourcedb,optionquery,optionquery,3)) i=strtol(v,0,10); else i=120;
// Convert quarter notes per minute to samples per sixty-fourth note
mmltempo=(spec.freq*60)/(i*16);
}
fprintf(stderr,"Done.\n");
wavesound=0;
mmlpos=0;
SDL_PauseAudio(0);
sound_on=1;
}
static void set_mml(const unsigned char*s) {
|
|
|
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
|
for(i=0;i<190;i++) mmltuning[i]=f*pow(2.0,(i-96)/24.0);
for(i=0;i<64;i++) mmltuning[i+190]=(((long long)(i+2))<<37)/spec.freq;
optionquery[2]=Q_mmlTempo;
if(v=xrm_get_resource(resourcedb,optionquery,optionquery,3)) i=strtol(v,0,10); else i=120;
// Convert quarter notes per minute to samples per sixty-fourth note
mmltempo=(spec.freq*60)/(i*16);
}
printStatus("Done.\n");
wavesound=0;
mmlpos=0;
SDL_PauseAudio(0);
sound_on=1;
}
static void set_mml(const unsigned char*s) {
|