--- xglk/xg_internal.h~ 2007-12-11 00:23:37.000000000 +0000 +++ xglk/xg_internal.h 2007-12-11 00:37:12.000000000 +0000 @@ -4,7 +4,7 @@ #include #include -#ifdef GLK_MODULE_SOUND +#if defined(GLK_MODULE_SOUND) && !defined(NO_SDL_AVAILABLE) #include #include #endif @@ -19,7 +19,9 @@ typedef struct glk_window_struct window_t; typedef struct glk_stream_struct stream_t; typedef struct glk_fileref_struct fileref_t; +#ifndef NO_SDL_AVAILABLE typedef struct glk_schannel_struct channel_t; +#endif typedef struct stylehints_struct stylehints_t; extern int gli_special_typable_table[keycode_MAXVAL+1]; @@ -139,6 +141,7 @@ extern int init_gli_filerefs(void); +#ifndef NO_SDL_AVAILABLE /* --- Sound channels --- */ struct glk_schannel_struct { @@ -168,6 +171,7 @@ extern int init_gli_schannels(void); extern void exit_gli_schannels(void); extern Bool gli_eventloop_schannels(void); +#endif /* --- Styles --- */ --- xglk/xg_gestalt.c~ 2007-12-11 00:23:37.000000000 +0000 +++ xglk/xg_gestalt.c 2007-12-11 00:36:43.000000000 +0000 @@ -91,7 +91,11 @@ case gestalt_SoundVolume: case gestalt_SoundNotify: case gestalt_SoundMusic: +#ifndef NO_SDL_AVAILABLE return TRUE; +#else + return FALSE; +#endif case gestalt_Hyperlinks: { return TRUE; --- xglk/xg_misc.c~ 2007-12-11 00:23:37.000000000 +0000 +++ xglk/xg_misc.c 2007-12-11 00:38:21.000000000 +0000 @@ -123,7 +123,9 @@ (*func)(); } +#ifndef NO_SDL_AVAILABLE exit_gli_schannels(); +#endif exit(1); } @@ -135,7 +137,9 @@ window_t *win; stream_t *str; fileref_t *fref; +#ifndef NO_SDL_AVAILABLE channel_t *chan; +#endif gli_register_obj = reg; gli_unregister_obj = unreg; @@ -158,11 +162,13 @@ fref = glk_fileref_iterate(fref, NULL)) { fref->disprock = (*gli_register_obj)(fref, gidisp_Class_Fileref); } +#ifndef NO_SDL_AVAILABLE for (chan = glk_schannel_iterate(NULL, NULL); chan; chan = glk_schannel_iterate(chan, NULL)) { chan->disprock = (*gli_register_obj)(chan, gidisp_Class_Schannel); } +#endif } } @@ -184,8 +190,10 @@ return ((stream_t *)obj)->disprock; case gidisp_Class_Fileref: return ((fileref_t *)obj)->disprock; +#ifndef NO_SDL_AVAILABLE case gidisp_Class_Schannel: return ((channel_t *)obj)->disprock; +#endif default: { gidispatch_rock_t dummy; dummy.num = 0; --- xglk/xglk.c~ 2007-12-11 00:23:37.000000000 +0000 +++ xglk/xglk.c 2007-12-11 00:39:45.000000000 +0000 @@ -58,8 +58,10 @@ return FALSE; if (!init_gli_filerefs()) return FALSE; +#ifndef NO_SDL_AVAILABLE if (!init_gli_schannels()) return FALSE; +#endif if (!init_gli_windows()) return FALSE; --- xglk/xglk_loop.c~ 2007-12-11 00:23:37.000000000 +0000 +++ xglk/xglk_loop.c 2007-12-11 00:40:14.000000000 +0000 @@ -78,8 +78,10 @@ while (ev->type == evtype_None) { +#ifndef NO_SDL_AVAILABLE if (gli_eventloop_schannels()) continue; +#endif if (xio_any_invalid) { xglk_redraw(); --- xglk/xg_schan.c~ 2007-12-11 00:23:37.000000000 +0000 +++ xglk/xg_schan.c 2007-12-11 00:41:43.000000000 +0000 @@ -13,6 +13,8 @@ #ifdef GLK_MODULE_SOUND +#ifndef NO_SDL_AVAILABLE + #define DEBUG_MODULE_SOUND 0 #include "gi_blorb.h" @@ -401,4 +403,58 @@ /* I doubt this will make much difference, so make it a no-op for now. */ } +#else + +schanid_t glk_schannel_create(glui32 rock) +{ + return NULL; +} + +void glk_schannel_destroy(schanid_t chan) +{ +} + +schanid_t glk_schannel_iterate(schanid_t chan, glui32 *rockptr) +{ + if (rockptr) + *rockptr = 0; + return NULL; +} + +glui32 glk_schannel_get_rock(schanid_t chan) +{ + gli_strict_warning("schannel_get_rock: invalid id."); + return 0; +} + +glui32 glk_schannel_play(schanid_t chan, glui32 snd) +{ + gli_strict_warning("schannel_play: invalid id."); + return 0; +} + +glui32 glk_schannel_play_ext(schanid_t chan, glui32 snd, glui32 repeats, + glui32 notify) +{ + gli_strict_warning("schannel_play_ext: invalid id."); + return 0; +} + +void glk_schannel_stop(schanid_t chan) +{ + gli_strict_warning("schannel_stop: invalid id."); +} + +void glk_schannel_set_volume(schanid_t chan, glui32 vol) +{ + gli_strict_warning("schannel_set_volume: invalid id."); +} + +void glk_sound_load_hint(glui32 snd, glui32 flag) +{ + gli_strict_warning("schannel_sound_load_hint: invalid id."); +} + +#endif + #endif /* GLK_MODULE_SOUND */