diff --git a/src/E.h b/src/E.h index 7e4875c2..500815d2 100644 --- a/src/E.h +++ b/src/E.h @@ -29,7 +29,7 @@ #include "alert.h" #include "edebug.h" #include "lang.h" -#include "sound.h" +#include "sounds.h" #include "util.h" #include diff --git a/src/Makefile.am b/src/Makefile.am index 57379383..59d18692 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -92,6 +92,7 @@ e16_SOURCES = \ slideout.c \ snaps.c snaps.h \ sound.c sound.h \ + sounds.h \ stacking.c \ startup.c \ string.c \ diff --git a/src/about.c b/src/about.c index c5f77130..3db59e13 100644 --- a/src/about.c +++ b/src/about.c @@ -58,7 +58,7 @@ static const DialogDef DlgAbout = { "ABOUT_ENLIGHTENMENT", NULL, NULL, - NULL, + SOUND_NONE, NULL, NULL, _DlgFillAbout, diff --git a/src/alert.c b/src/alert.c index 8c24b90c..00b0f24d 100644 --- a/src/alert.c +++ b/src/alert.c @@ -31,7 +31,7 @@ #include "alert.h" #include "lang.h" #include "session.h" -#include "sound.h" +#include "sounds.h" #include "util.h" #define ExTextExtents XmbTextExtents @@ -187,7 +187,7 @@ ShowAlert(const char *title, XFontStruct **font_struct_list_return; char **font_name_list_return; - SoundPlay("SOUND_ALERT"); + SoundPlay(SOUND_ALERT); if (!text) return; diff --git a/src/arrange.c b/src/arrange.c index 8b3f1eba..af67fa54 100644 --- a/src/arrange.c +++ b/src/arrange.c @@ -675,7 +675,7 @@ SnapEwin(EWin * ewin, int dx, int dy, int *new_dx, int *new_dy) { if (!last_res) { - /* SoundPlay("SOUND_MOVE_RESIST"); */ + /* SoundPlay(SOUND_MOVE_RESIST); */ last_res = 1; } } diff --git a/src/backgrounds.c b/src/backgrounds.c index b7cdd9bc..034d5d06 100644 --- a/src/backgrounds.c +++ b/src/backgrounds.c @@ -1716,7 +1716,7 @@ CB_BGScan(Dialog * d, int val __UNUSED__, void *data __UNUSED__) { int num; - SoundPlay("SOUND_WAIT"); + SoundPlay(SOUND_WAIT); ScanBackgroundMenu(); num = ecore_list_count(bg_list); @@ -2221,7 +2221,7 @@ const DialogDef DlgBackground = { "CONFIGURE_BG", N_("Background"), N_("Desktop Background Settings"), - "SOUND_SETTINGS_BG", + SOUND_SETTINGS_BG, "pix/bg.png", N_("Enlightenment Desktop\n" "Background Settings Dialog\n"), _DlgFillBackground, diff --git a/src/comms.c b/src/comms.c index dd01e241..363f0cab 100644 --- a/src/comms.c +++ b/src/comms.c @@ -241,7 +241,7 @@ ClientHandleComms(XClientMessageEvent * ev) _("Received Unknown Client Message.\n" "Client Name: %s\n" "Client Version: %s\n" "Message Contents:\n\n" "%s\n"), s1, s2, s); - SoundPlay("SOUND_ERROR_IPC"); + SoundPlay(SOUND_ERROR_IPC); } done: diff --git a/src/container.c b/src/container.c index 0076ca23..27263c83 100644 --- a/src/container.c +++ b/src/container.c @@ -1708,7 +1708,7 @@ static const DialogDef DlgContainer = { "CONFIGURE_ICONBOX", NULL, NULL, - "SOUND_SETTINGS_ICONBOX", + SOUND_SETTINGS_ICONBOX, "pix/iconbox.png", N_("Enlightenment Iconbox\n" "Settings Dialog\n"), _DlgFillContainer, diff --git a/src/desktops.c b/src/desktops.c index 4f9cbfc6..5456f21f 100644 --- a/src/desktops.c +++ b/src/desktops.c @@ -1609,13 +1609,13 @@ DeskCurrentGotoArea(int ax, int ay) dy = WinGetH(VROOT) * (ay - pay); if (dx < 0) - SoundPlay("SOUND_MOVE_AREA_LEFT"); + SoundPlay(SOUND_MOVE_AREA_LEFT); else if (dx > 0) - SoundPlay("SOUND_MOVE_AREA_RIGHT"); + SoundPlay(SOUND_MOVE_AREA_RIGHT); else if (dy < 0) - SoundPlay("SOUND_MOVE_AREA_UP"); + SoundPlay(SOUND_MOVE_AREA_UP); else if (dy > 0) - SoundPlay("SOUND_MOVE_AREA_DOWN"); + SoundPlay(SOUND_MOVE_AREA_DOWN); ActionsSuspend(); @@ -2376,7 +2376,7 @@ const DialogDef DlgDesks = { "CONFIGURE_DESKTOPS", N_("Desks"), N_("Multiple Desktop Settings"), - "SOUND_SETTINGS_DESKTOPS", + SOUND_SETTINGS_DESKTOPS, "pix/desktops.png", N_("Enlightenment Multiple Desktop\n" "Settings Dialog\n"), _DlgFillDesks, @@ -2546,7 +2546,7 @@ const DialogDef DlgAreas = { "CONFIGURE_AREA", N_("Areas"), N_("Virtual Desktop Settings"), - "SOUND_SETTINGS_AREA", + SOUND_SETTINGS_AREA, "pix/areas.png", N_("Enlightenment Virtual Desktop\n" "Settings Dialog\n"), _DlgFillAreas, @@ -2571,7 +2571,7 @@ DeskOpGoto(unsigned int desk) DeskGoto(dsk); if (DesksGetCurrent() != pd) - SoundPlay("SOUND_DESKTOP_SHUT"); + SoundPlay(SOUND_DESKTOP_SHUT); } static void @@ -2654,13 +2654,13 @@ DesksIpcDesk(const char *params) else if (!strncmp(cmd, "raise", 2)) { sscanf(prm, "%i", &desk); - SoundPlay("SOUND_DESKTOP_RAISE"); + SoundPlay(SOUND_DESKTOP_RAISE); DeskRaise(desk); } else if (!strncmp(cmd, "lower", 2)) { sscanf(prm, "%i", &desk); - SoundPlay("SOUND_DESKTOP_LOWER"); + SoundPlay(SOUND_DESKTOP_LOWER); DeskLower(desk); } else if (!strcmp(cmd, "drag")) diff --git a/src/dialog.c b/src/dialog.c index be0fb68e..1ac514fd 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -642,7 +642,7 @@ DialogShowSimpleWithName(const DialogDef * dd, const char *name, void *data) d = DialogFind(name); if (d) { - SoundPlay("SOUND_SETTINGS_ACTIVE"); + SoundPlay(SOUND_SETTINGS_ACTIVE); DialogShow(d); return; } diff --git a/src/dialog.h b/src/dialog.h index 620e42a7..d7240d80 100644 --- a/src/dialog.h +++ b/src/dialog.h @@ -61,7 +61,7 @@ typedef struct { const char *name; const char *label; const char *title; - const char *sound; + int sound; const char *header_image; const char *header_text; void (*fill) (Dialog * d, DItem * table, void *data); diff --git a/src/events.c b/src/events.c index 2ead9c02..c9610d37 100644 --- a/src/events.c +++ b/src/events.c @@ -389,7 +389,7 @@ HandleEvent(XEvent * ev) break; case ButtonPress: /* 4 */ - SoundPlay("SOUND_BUTTON_CLICK"); + SoundPlay(SOUND_BUTTON_CLICK); Mode.events.double_click = ((ev->xbutton.time - Mode.events.last_btime < DOUBLE_CLICK_TIME) && @@ -402,7 +402,7 @@ HandleEvent(XEvent * ev) Mode.events.last_button = ev->xbutton.button; break; case ButtonRelease: /* 5 */ - SoundPlay("SOUND_BUTTON_RAISE"); + SoundPlay(SOUND_BUTTON_RAISE); break; } diff --git a/src/ewin-ops.c b/src/ewin-ops.c index 1257590f..dc10a4cb 100644 --- a/src/ewin-ops.c +++ b/src/ewin-ops.c @@ -1417,7 +1417,7 @@ EwinOpClose(EWin * ewin, int source __UNUSED__) for (i = 0; i < num; i++) { ICCCM_Delete(gwins[i]); - SoundPlay("SOUND_WINDOW_CLOSE"); + SoundPlay(SOUND_WINDOW_CLOSE); } Efree(gwins); } @@ -1425,7 +1425,7 @@ EwinOpClose(EWin * ewin, int source __UNUSED__) void EwinOpKill(EWin * ewin, int source __UNUSED__) { - SoundPlay("SOUND_WINDOW_CLOSE"); + SoundPlay(SOUND_WINDOW_CLOSE); EwinKill(ewin); } @@ -1435,7 +1435,7 @@ EwinOpRaise(EWin * ewin, int source __UNUSED__) EWin **gwins = NULL; int i, num; - SoundPlay("SOUND_RAISE"); + SoundPlay(SOUND_RAISE); gwins = ListWinGroupMembersForEwin(ewin, GROUP_ACTION_RAISE, Mode.nogroup, &num); for (i = 0; i < num; i++) @@ -1449,7 +1449,7 @@ EwinOpLower(EWin * ewin, int source __UNUSED__) EWin **gwins = NULL; int i, num; - SoundPlay("SOUND_LOWER"); + SoundPlay(SOUND_LOWER); gwins = ListWinGroupMembersForEwin(ewin, GROUP_ACTION_LOWER, Mode.nogroup, &num); for (i = 0; i < num; i++) @@ -1503,13 +1503,13 @@ EwinOpRaiseLower(EWin * ewin) if (!raise) { - SoundPlay("SOUND_LOWER"); + SoundPlay(SOUND_LOWER); for (j = 0; j < gnum; j++) EwinLower(gwins[j]); } else { - SoundPlay("SOUND_RAISE"); + SoundPlay(SOUND_RAISE); for (j = 0; j < gnum; j++) EwinRaise(gwins[j]); } @@ -1533,13 +1533,13 @@ EwinOpStick(EWin * ewin, int source __UNUSED__, int on) if (EoIsSticky(gwins[i]) && ((curr_group && !curr_group->cfg.mirror) || !on)) { - SoundPlay("SOUND_WINDOW_UNSTICK"); + SoundPlay(SOUND_WINDOW_UNSTICK); EwinUnStick(gwins[i]); } else if (!EoIsSticky(gwins[i]) && ((curr_group && !curr_group->cfg.mirror) || on)) { - SoundPlay("SOUND_WINDOW_STICK"); + SoundPlay(SOUND_WINDOW_STICK); EwinStick(gwins[i]); } } @@ -1642,13 +1642,13 @@ EwinOpShade(EWin * ewin, int source __UNUSED__, int on) if (gwins[i]->state.shaded && ((curr_group && !curr_group->cfg.mirror) || !on)) { - SoundPlay("SOUND_UNSHADE"); + SoundPlay(SOUND_UNSHADE); EwinUnShade(gwins[i]); } else if (!gwins[i]->state.shaded && ((curr_group && !curr_group->cfg.mirror) || on)) { - SoundPlay("SOUND_SHADE"); + SoundPlay(SOUND_SHADE); EwinShade(gwins[i]); } SnapshotEwinUpdate(gwins[i], SNAP_USE_SHADED); @@ -1661,11 +1661,11 @@ EwinOpSetLayer(EWin * ewin, int source __UNUSED__, int layer) { if (EoGetLayer(ewin) > layer) { - SoundPlay("SOUND_WINDOW_CHANGE_LAYER_DOWN"); + SoundPlay(SOUND_WINDOW_CHANGE_LAYER_DOWN); } else if (EoGetLayer(ewin) < layer) { - SoundPlay("SOUND_WINDOW_CHANGE_LAYER_UP"); + SoundPlay(SOUND_WINDOW_CHANGE_LAYER_UP); } EoSetLayer(ewin, layer); EwinRaise(ewin); @@ -1710,7 +1710,7 @@ EwinOpSetBorder(EWin * ewin, int source __UNUSED__, const char *name) { if (b != gwins[i]->border) { - SoundPlay("SOUND_WINDOW_BORDER_CHANGE"); + SoundPlay(SOUND_WINDOW_BORDER_CHANGE); shadechange = 0; if (gwins[i]->state.shaded) { diff --git a/src/focus.c b/src/focus.c index 42faadce..c3d539db 100644 --- a/src/focus.c +++ b/src/focus.c @@ -416,7 +416,7 @@ doFocusToEwin(EWin * ewin, int why) break; } - SoundPlay("SOUND_FOCUS_SET"); + SoundPlay(SOUND_FOCUS_SET); done: ClickGrabsUpdate(); @@ -838,7 +838,7 @@ const DialogDef DlgFocus = { "CONFIGURE_FOCUS", N_("Focus"), N_("Focus Settings"), - "SOUND_SETTINGS_FOCUS", + SOUND_SETTINGS_FOCUS, "pix/focus.png", N_("Enlightenment Focus\n" "Settings Dialog\n"), _DlgFillFocus, diff --git a/src/fx.c b/src/fx.c index f061b68e..dc6fa67c 100644 --- a/src/fx.c +++ b/src/fx.c @@ -949,7 +949,7 @@ const DialogDef DlgFx = { "CONFIGURE_FX", N_("FX"), N_("Special FX Settings"), - "SOUND_SETTINGS_FX", + SOUND_SETTINGS_FX, "pix/fx.png", N_("Enlightenment Special Effects\n" "Settings Dialog\n"), _DlgFillFx, diff --git a/src/groups.c b/src/groups.c index 590c1fbc..ea503389 100644 --- a/src/groups.c +++ b/src/groups.c @@ -697,7 +697,7 @@ static const DialogDef DlgGroupChoose = { "GROUP_SELECTION", NULL, N_("Window Group Selection"), - "SOUND_SETTINGS_GROUP", + SOUND_SETTINGS_GROUP, "pix/group.png", N_("Enlightenment Window Group\n" "Selection Dialog\n"), _DlgFillGroupChoose, @@ -910,7 +910,7 @@ static const DialogDef DlgGroups = { "CONFIGURE_GROUP", NULL, N_("Window Group Settings"), - "SOUND_SETTINGS_GROUP", + SOUND_SETTINGS_GROUP, "pix/group.png", N_("Enlightenment Window Group\n" "Settings Dialog\n"), _DlgFillGroups, @@ -1025,7 +1025,7 @@ const DialogDef DlgGroupDefaults = { "CONFIGURE_DEFAULT_GROUP_CONTROL", N_("Groups"), N_("Default Group Control Settings"), - "SOUND_SETTINGS_GROUP", + SOUND_SETTINGS_GROUP, "pix/group.png", N_("Enlightenment Default\n" "Group Control Settings Dialog\n"), _DlgFillGroupDefaults, diff --git a/src/iconify.c b/src/iconify.c index d47bb915..4f82ab58 100644 --- a/src/iconify.c +++ b/src/iconify.c @@ -302,7 +302,7 @@ IconboxesEwinIconify(EWin * ewin) if (!ct) return; - SoundPlay("SOUND_ICONIFY"); + SoundPlay(SOUND_ICONIFY); if (EoIsShown(ewin) && ct->anim_mode && !ewin->state.showingdesk) IB_Animate(ct, 1, ewin); @@ -319,7 +319,7 @@ IconboxesEwinDeIconify(EWin * ewin) if (!ct) return; - SoundPlay("SOUND_DEICONIFY"); + SoundPlay(SOUND_DEICONIFY); if (ct->anim_mode && !ewin->state.showingdesk) IB_Animate(ct, 0, ewin); diff --git a/src/ipc.c b/src/ipc.c index a917ca87..af242d22 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1376,7 +1376,7 @@ IPC_InsertKeys(const char *params, Client * c __UNUSED__) if (win == None) return; - SoundPlay("SOUND_INSERT_KEYS"); + SoundPlay(SOUND_INSERT_KEYS); ev.window = win; for (i = 0; i < (int)strlen(s); i++) { diff --git a/src/menus-misc.c b/src/menus-misc.c index 44a50bdb..36e0ec65 100644 --- a/src/menus-misc.c +++ b/src/menus-misc.c @@ -699,7 +699,7 @@ MenusCreateInternal(const char *type, const char *name, const char *style, } else if (!strcmp(type, "dirscan")) { - SoundPlay("SOUND_SCANNING"); + SoundPlay(SOUND_SCANNING); m = MenuCreateFromDirectory(name, NULL, ms, prm); } else if (!strcmp(type, "borders")) diff --git a/src/menus.c b/src/menus.c index dc61dc36..4832a0d1 100644 --- a/src/menus.c +++ b/src/menus.c @@ -2095,7 +2095,7 @@ const DialogDef DlgMenus = { "CONFIGURE_MENUS", N_("Menus"), N_("Menu Settings"), - "SOUND_SETTINGS_MENUS", + SOUND_SETTINGS_MENUS, "pix/place.png", N_("Enlightenment Menu\n" "Settings Dialog\n"), _DlgFillMenus, @@ -2145,7 +2145,7 @@ MenusIpc(const char *params) Esnprintf(prm, sizeof(prm), "%s", p); p = NULL; } - SoundPlay("SOUND_MENU_SHOW"); + SoundPlay(SOUND_MENU_SHOW); MenusShowNamed(prm, p); } } diff --git a/src/mod-trans.c b/src/mod-trans.c index 15d84388..549bed86 100644 --- a/src/mod-trans.c +++ b/src/mod-trans.c @@ -274,7 +274,7 @@ const DialogDef DlgThemeTrans = { "CONFIGURE_TRANS", N_("Transparency"), N_("Selective Transparency Settings"), - "SOUND_SETTINGS_TRANS", + SOUND_SETTINGS_TRANS, "pix/tips.png", N_("Enlightenment Selective Transparency\n" "Settings Dialog\n"), _DlgFillThemeTrans, diff --git a/src/moveresize.c b/src/moveresize.c index 2e1b4a37..21117977 100644 --- a/src/moveresize.c +++ b/src/moveresize.c @@ -90,7 +90,7 @@ ActionMoveStart(EWin * ewin, char constrained, int nogroup) EventsGetXY(&cx, &cy); - SoundPlay("SOUND_MOVE_START"); + SoundPlay(SOUND_MOVE_START); GrabPointerSet(EoGetWin(ewin), ECSR_ACT_MOVE, 1); @@ -144,7 +144,7 @@ ActionMoveEnd(EWin * ewin) GrabPointerRelease(); - SoundPlay("SOUND_MOVE_STOP"); + SoundPlay(SOUND_MOVE_STOP); ewin = Mode_mr.ewin; if (!ewin) @@ -299,7 +299,7 @@ ActionResizeStart(EWin * ewin, int hv) EventsGetXY(&cx, &cy); - SoundPlay("SOUND_RESIZE_START"); + SoundPlay(SOUND_RESIZE_START); if (Conf.movres.mode_resize < 0 || Conf.movres.mode_resize > 4) Conf.movres.mode_resize = 0; @@ -431,7 +431,7 @@ ActionResizeEnd(EWin * ewin) GrabPointerRelease(); - SoundPlay("SOUND_RESIZE_STOP"); + SoundPlay(SOUND_RESIZE_STOP); ewin = Mode_mr.ewin; if (!ewin) @@ -847,7 +847,7 @@ SlideEwinsTo(EWin ** ewin, int *fx, int *fy, int *tx, int *ty, int num_wins, firstlast = 0; FocusEnable(0); - SoundPlay("SOUND_WINDOW_SLIDE"); + SoundPlay(SOUND_WINDOW_SLIDE); Mode_mr.grab_server = _NeedServerGrab(mode); if (Mode_mr.grab_server) @@ -893,5 +893,5 @@ SlideEwinsTo(EWin ** ewin, int *fx, int *fy, int *tx, int *ty, int num_wins, if (Mode_mr.grab_server) EUngrabServer(); - SoundPlay("SOUND_WINDOW_SLIDE_END"); + SoundPlay(SOUND_WINDOW_SLIDE_END); } diff --git a/src/pager.c b/src/pager.c index c5a33df1..34bca070 100644 --- a/src/pager.c +++ b/src/pager.c @@ -1457,7 +1457,7 @@ PagerHandleMouseUp(Pager * p, int px, int py, int button) { DeskGoto(p->dsk); if (p->dsk != DesksGetCurrent()) - SoundPlay("SOUND_DESKTOP_SHUT"); + SoundPlay(SOUND_DESKTOP_SHUT); DeskCurrentGotoArea(px / p->dw, py / p->dh); } else if (button == Conf_pagers.win_button) @@ -1992,7 +1992,7 @@ const DialogDef DlgPagers = { "CONFIGURE_PAGER", N_("Pagers"), N_("Pager Settings"), - "SOUND_SETTINGS_PAGER", + SOUND_SETTINGS_PAGER, "pix/pager.png", N_("Enlightenment Desktop & Area\n" "Pager Settings Dialog\n"), _DlgFillPagers, diff --git a/src/session.c b/src/session.c index edc950d0..f5f43c15 100644 --- a/src/session.c +++ b/src/session.c @@ -527,7 +527,7 @@ doSMExit(int mode, const char *params) switch (mode) { case EEXIT_EXEC: - SoundPlay("SOUND_EXIT"); + SoundPlay(SOUND_EXIT); EDisplayClose(); Esnprintf(s, sizeof(s), "exec %s", params); @@ -539,7 +539,7 @@ doSMExit(int mode, const char *params) case EEXIT_THEME: ss = params; case EEXIT_RESTART: - SoundPlay("SOUND_WAIT"); + SoundPlay(SOUND_WAIT); #ifdef USE_EXT_INIT_WIN if (disp && !Mode.wm.window) new_init_win_ext = ExtInitWinCreate(); @@ -575,7 +575,7 @@ doSMExit(int mode, const char *params) } restarting = False; - SoundPlay("SOUND_EXIT"); + SoundPlay(SOUND_EXIT); EExit(0); } @@ -636,7 +636,7 @@ SessionLogoutConfirm(void) d = DialogFind("LOGOUT_DIALOG"); if (!d) { - SoundPlay("SOUND_LOGOUT"); + SoundPlay(SOUND_LOGOUT); d = DialogCreate("LOGOUT_DIALOG"); table = DialogInitItem(d); DialogSetTitle(d, _("Are you sure?")); @@ -807,7 +807,7 @@ const DialogDef DlgSession = { "CONFIGURE_SESSION", N_("Session"), N_("Session Settings"), - "SOUND_SETTINGS_SESSION", + SOUND_SETTINGS_SESSION, "pix/miscellaneous.png", N_("Enlightenment Session\n" "Settings Dialog\n"), _DlgFillSession, diff --git a/src/settings.c b/src/settings.c index e9980dc7..bd157aa7 100644 --- a/src/settings.c +++ b/src/settings.c @@ -220,7 +220,7 @@ const DialogDef DlgMoveResize = { "CONFIGURE_MOVERESIZE", N_("Move/Resize"), N_("Move & Resize Settings"), - "SOUND_SETTINGS_MOVERESIZE", + SOUND_SETTINGS_MOVERESIZE, "pix/moveres.png", N_("Enlightenment Move & Resize\n" "Method Settings Dialog\n"), _DlgFillMoveResize, @@ -446,7 +446,7 @@ const DialogDef DlgPlacement = { "CONFIGURE_PLACEMENT", N_("Placement"), N_("Window Placement Settings"), - "SOUND_SETTINGS_PLACEMENT", + SOUND_SETTINGS_PLACEMENT, "pix/place.png", N_("Enlightenment Window Placement\n" "Settings Dialog\n"), _DlgFillPlacement, @@ -498,7 +498,7 @@ const DialogDef DlgAutoraise = { "CONFIGURE_AUTORAISE", N_("Autoraise"), N_("Autoraise Settings"), - "SOUND_SETTINGS_AUTORAISE", + SOUND_SETTINGS_AUTORAISE, "pix/raise.png", N_("Enlightenment Automatic Raising\n" "of Windows Settings Dialog\n"), _DlgFillAutoraise, @@ -568,7 +568,7 @@ const DialogDef DlgMisc = { "CONFIGURE_MISCELLANEOUS", N_("Miscellaneous"), N_("Miscellaneous Settings"), - "SOUND_SETTINGS_MISCELLANEOUS", + SOUND_SETTINGS_MISCELLANEOUS, "pix/miscellaneous.png", N_("Enlightenment Miscellaneous\n" "Settings Dialog\n"), _DlgFillMisc, @@ -702,7 +702,7 @@ const DialogDef DlgComposite = { "CONFIGURE_COMPOSITE", N_("Composite"), N_("Composite Settings"), - "SOUND_SETTINGS_COMPOSITE", + SOUND_SETTINGS_COMPOSITE, "pix/pager.png", N_("Enlightenment Composite\n" "Settings Dialog\n"), _DlgFillComposite, @@ -790,7 +790,7 @@ static const DialogDef DlgConfiguration = { "CONFIGURE_ALL", NULL, N_("Enlightenment Settings"), - "SOUND_SETTINGS_ALL", + SOUND_SETTINGS_ALL, NULL, NULL, _DlgFillConfiguration, diff --git a/src/slideout.c b/src/slideout.c index cc5a7dee..712c0caa 100644 --- a/src/slideout.c +++ b/src/slideout.c @@ -486,7 +486,7 @@ IPC_Slideout(const char *params) if (!s) return; - SoundPlay("SOUND_SLIDEOUT_SHOW"); + SoundPlay(SOUND_SLIDEOUT_SHOW); SlideoutShow(s, GetContextEwin(), Mode.context_win); } diff --git a/src/snaps.c b/src/snaps.c index 6d6aa0b4..14a22ba5 100644 --- a/src/snaps.c +++ b/src/snaps.c @@ -918,7 +918,7 @@ static const DialogDef DlgSnap = { NULL, NULL, N_("Remembered Application Attributes"), - NULL, + SOUND_NONE, "pix/snapshots.png", N_("Select the attributes of this\n" "window you wish to Remember\n" "from now on\n"), @@ -1066,7 +1066,7 @@ const DialogDef DlgRemember = { "CONFIGURE_PAGER", N_("Remember"), N_("Remembered Windows Settings"), - "SOUND_SETTINGS_PAGER", + SOUND_SETTINGS_PAGER, "pix/snapshots.png", N_("Enlightenment Remembered\n" "Windows Settings Dialog\n"), _DlgFillRemember, diff --git a/src/sound.c b/src/sound.c index a1e72413..352813ab 100644 --- a/src/sound.c +++ b/src/sound.c @@ -28,6 +28,9 @@ #include "emodule.h" #include "settings.h" #include "sound.h" +#include "sounds.h" + +#define N_SOUNDS (SOUND_NOT_USED - 1) typedef struct { char *name; @@ -40,6 +43,7 @@ typedef struct { static struct { char enable; char *theme; + unsigned int mask1, mask2; } Conf_sound; static struct { @@ -65,6 +69,68 @@ static const SoundOps *ops = &SoundOps_pa; static void _SoundConfigLoad(void); +static const char *const sound_names[N_SOUNDS] = { + "SOUND_ALERT", /* 0 0x00000001 */ + "SOUND_BUTTON_CLICK", + "SOUND_BUTTON_RAISE", + "SOUND_DEICONIFY", + "SOUND_DESKTOP_LOWER", /* 4 0x00000010 */ + "SOUND_DESKTOP_RAISE", + "SOUND_DESKTOP_SHUT", + "SOUND_ERROR_IPC", + "SOUND_EXIT", /* 8 0x00000100 */ + "SOUND_FOCUS_SET", + "SOUND_ICONIFY", + "SOUND_INSERT_KEYS", + "SOUND_LOGOUT", /* 12 0x00001000 */ + "SOUND_LOWER", + "SOUND_MENU_SHOW", + "SOUND_MOVE_AREA_DOWN", + "SOUND_MOVE_AREA_LEFT", /* 16 0x00010000 */ + "SOUND_MOVE_AREA_RIGHT", + "SOUND_MOVE_AREA_UP", + "SOUND_MOVE_RESIST", + "SOUND_MOVE_START", /* 20 0x00100000 */ + "SOUND_MOVE_STOP", + "SOUND_RAISE", + "SOUND_RESIZE_START", + "SOUND_RESIZE_STOP", /* 24 0x01000000 */ + "SOUND_SCANNING", + "SOUND_SETTINGS_ACTIVE", + "SOUND_SETTINGS_ALL", + "SOUND_SETTINGS_AREA", /* 28 0x10000000 */ + "SOUND_SETTINGS_AUDIO", + "SOUND_SETTINGS_AUTORAISE", + "SOUND_SETTINGS_BG", + "SOUND_SETTINGS_COMPOSITE", /* 0 0x00000001 */ + "SOUND_SETTINGS_DESKTOPS", + "SOUND_SETTINGS_FOCUS", + "SOUND_SETTINGS_FX", + "SOUND_SETTINGS_GROUP", /* 4 0x00000010 */ + "SOUND_SETTINGS_ICONBOX", + "SOUND_SETTINGS_MENUS", + "SOUND_SETTINGS_MISCELLANEOUS", + "SOUND_SETTINGS_MOVERESIZE", /* 8 0x00000100 */ + "SOUND_SETTINGS_PAGER", + "SOUND_SETTINGS_PLACEMENT", + "SOUND_SETTINGS_SESSION", + "SOUND_SETTINGS_TOOLTIPS", /* 12 0x00001000 */ + "SOUND_SETTINGS_TRANS", + "SOUND_SHADE", + "SOUND_SLIDEOUT_SHOW", + "SOUND_STARTUP", /* 16 0x00010000 */ + "SOUND_UNSHADE", + "SOUND_WAIT", + "SOUND_WINDOW_BORDER_CHANGE", + "SOUND_WINDOW_CHANGE_LAYER_DOWN", /* 20 0x00100000 */ + "SOUND_WINDOW_CHANGE_LAYER_UP", + "SOUND_WINDOW_CLOSE", + "SOUND_WINDOW_SLIDE", + "SOUND_WINDOW_SLIDE_END", /* 24 0x01000000 */ + "SOUND_WINDOW_STICK", + "SOUND_WINDOW_UNSTICK", +}; + static void _SclassSampleDestroy(void *data, void *user_data __UNUSED__) { @@ -162,8 +228,8 @@ SclassFind(const char *name) return (SoundClass *) ecore_list_find(sound_list, _SclassMatchName, name); } -void -SoundPlay(const char *name) +static void +_SoundPlayByName(const char *name) { SoundClass *sclass; @@ -181,6 +247,24 @@ SoundPlay(const char *name) SclassApply(sclass); } +#define _SoundMasked(i) \ + (((i) <= 32) ? Conf_sound.mask1 & (1 << ((i) - 1)) : \ + Conf_sound.mask2 & (1 << ((i) - 1))) +void +SoundPlay(int sound) +{ + if (!Conf_sound.enable) + return; + + if (sound <= 0 || sound > N_SOUNDS) + return; + + if (_SoundMasked(sound)) + return; + + _SoundPlayByName(sound_names[sound - 1]); +} + static int SoundFree(const char *name) { @@ -322,7 +406,7 @@ SoundSighan(int sig, void *prm __UNUSED__) case ESIGNAL_START: if (!Conf_sound.enable) break; - SoundPlay("SOUND_STARTUP"); + SoundPlay(SOUND_STARTUP); SoundFree("SOUND_STARTUP"); break; case ESIGNAL_EXIT: @@ -371,7 +455,7 @@ const DialogDef DlgSound = { "CONFIGURE_AUDIO", N_("Sound"), N_("Audio Settings"), - "SOUND_SETTINGS_AUDIO", + SOUND_SETTINGS_AUDIO, "pix/sound.png", N_("Enlightenment Audio\n" "Settings Dialog\n"), _DlgFillSound, @@ -424,7 +508,7 @@ SoundIpc(const char *params) } else if (!strncmp(cmd, "play", 2)) { - SoundPlay(prm); + _SoundPlayByName(prm); } } @@ -445,6 +529,8 @@ static const IpcItem SoundIpcArray[] = { static const CfgItem SoundCfgItems[] = { CFG_ITEM_BOOL(Conf_sound, enable, 0), CFG_FUNC_STR(Conf_sound, theme, _SoundThemeChange), + CFG_ITEM_HEX(Conf_sound, mask1, 0), + CFG_ITEM_HEX(Conf_sound, mask2, 0), }; #define N_CFG_ITEMS (sizeof(SoundCfgItems)/sizeof(CfgItem)) diff --git a/src/sound.h b/src/sound.h index 60d24cbb..f7c9c9a9 100644 --- a/src/sound.h +++ b/src/sound.h @@ -23,8 +23,6 @@ #ifndef _SOUND_H_ #define _SOUND_H_ -#include "config.h" - typedef struct { unsigned int channels; unsigned int bit_per_sample; @@ -43,13 +41,6 @@ typedef struct { void (*SamplePlay) (Sample * s); } SoundOps; -/* sound.c */ -#if HAVE_SOUND -void SoundPlay(const char *name); -#else -#define SoundPlay(name) do{}while(0) -#endif - int SoundSampleGetData(const char *file, SoundSampleData * ssd); #endif /* _SOUND_H_ */ diff --git a/src/sounds.h b/src/sounds.h new file mode 100644 index 00000000..15334e22 --- /dev/null +++ b/src/sounds.h @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2008 Kim Woelders + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies of the Software, its documentation and marketing & publicity + * materials, and acknowledgment shall be given in the documentation, materials + * and software packages that this Software was used. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef _SOUNDS_H_ +#define _SOUNDS_H_ + +#include "config.h" + +typedef enum { + SOUND_NONE = 0, + SOUND_ALERT, + SOUND_BUTTON_CLICK, + SOUND_BUTTON_RAISE, + SOUND_DEICONIFY, + SOUND_DESKTOP_LOWER, + SOUND_DESKTOP_RAISE, + SOUND_DESKTOP_SHUT, + SOUND_ERROR_IPC, + SOUND_EXIT, + SOUND_FOCUS_SET, + SOUND_ICONIFY, + SOUND_INSERT_KEYS, + SOUND_LOGOUT, + SOUND_LOWER, + SOUND_MENU_SHOW, + SOUND_MOVE_AREA_DOWN, + SOUND_MOVE_AREA_LEFT, + SOUND_MOVE_AREA_RIGHT, + SOUND_MOVE_AREA_UP, + SOUND_MOVE_RESIST, + SOUND_MOVE_START, + SOUND_MOVE_STOP, + SOUND_RAISE, + SOUND_RESIZE_START, + SOUND_RESIZE_STOP, + SOUND_SCANNING, + SOUND_SETTINGS_ACTIVE, + SOUND_SETTINGS_ALL, + SOUND_SETTINGS_AREA, + SOUND_SETTINGS_AUDIO, + SOUND_SETTINGS_AUTORAISE, + SOUND_SETTINGS_BG, + SOUND_SETTINGS_COMPOSITE, + SOUND_SETTINGS_DESKTOPS, + SOUND_SETTINGS_FOCUS, + SOUND_SETTINGS_FX, + SOUND_SETTINGS_GROUP, + SOUND_SETTINGS_ICONBOX, + SOUND_SETTINGS_MENUS, + SOUND_SETTINGS_MISCELLANEOUS, + SOUND_SETTINGS_MOVERESIZE, + SOUND_SETTINGS_PAGER, + SOUND_SETTINGS_PLACEMENT, + SOUND_SETTINGS_SESSION, + SOUND_SETTINGS_TOOLTIPS, + SOUND_SETTINGS_TRANS, + SOUND_SHADE, + SOUND_SLIDEOUT_SHOW, + SOUND_STARTUP, + SOUND_UNSHADE, + SOUND_WAIT, + SOUND_WINDOW_BORDER_CHANGE, + SOUND_WINDOW_CHANGE_LAYER_DOWN, + SOUND_WINDOW_CHANGE_LAYER_UP, + SOUND_WINDOW_CLOSE, + SOUND_WINDOW_SLIDE, + SOUND_WINDOW_SLIDE_END, + SOUND_WINDOW_STICK, + SOUND_WINDOW_UNSTICK, + SOUND_NOT_USED +} sound_e; + +#if HAVE_SOUND + +void SoundPlay(int sound); + +#else + +#define SoundPlay(sound) do{}while(0) + +#endif + +#endif /* _SOUNDS_H_ */ diff --git a/src/tooltips.c b/src/tooltips.c index b9405ea1..7e1a9ca0 100644 --- a/src/tooltips.c +++ b/src/tooltips.c @@ -886,7 +886,7 @@ const DialogDef DlgTooltips = { "CONFIGURE_TOOLTIPS", N_("Tooltips"), N_("Tooltip Settings"), - "SOUND_SETTINGS_TOOLTIPS", + SOUND_SETTINGS_TOOLTIPS, "pix/tips.png", N_("Enlightenment Tooltip\n" "Settings Dialog\n"), _DlgFillTooltips,