Author: titmuss
Date: Fri Apr 11 15:28:59 2008
New Revision: 2223

URL: http://svn.slimdevices.com?rev=2223&root=Jive&view=rev
Log:
Bug: 5548
Description:
Allow the option to disable the startup sound, and set the sound effects volume 
correctly 
before the startup sound is played.

To do this the startup sound is no longer played in Framework:init(), instead 
the sounds 
are loaded and played from SetupSoundEffectsMeta. To keep the splash screen and 
startup 
sound in sync the splash screen is loaded slightly later and AppletManager 
forces the 
SetupSoundEffects applet to be loaded first.


Modified:
    
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
    
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua
    
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsMeta.lua
    7.0/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
    7.0/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c

Modified: 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
URL: 
http://svn.slimdevices.com/7.0/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua?rev=2223&root=Jive&r1=2222&r2=2223&view=diff
==============================================================================
--- 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
 (original)
+++ 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
 Fri Apr 11 15:28:59 2008
@@ -67,7 +67,6 @@
 
 -- Define useful variables for this skin
 local imgpath = "applets/DefaultSkin/images/"
-local sndpath = "applets/DefaultSkin/sounds/"
 local fontpath = "fonts/"
 
 -- define a local function to make it easier to create icons.
@@ -104,17 +103,6 @@
 -- The meta arranges for this to be called to skin Jive.
 function skin(self, s)
        local screenWidth, screenHeight = Framework:getScreenSize()
-
-       -- Sounds
-       Framework:loadSound("BUMP", sndpath .. "bump.wav", 1)
-       Framework:loadSound("CLICK", sndpath .. "click.wav", 0)
-       Framework:loadSound("JUMP", sndpath .. "jump.wav", 0)
-       Framework:loadSound("WINDOWSHOW", sndpath .. "pushleft.wav", 1)
-       Framework:loadSound("WINDOWHIDE", sndpath .. "pushright.wav", 1)
-       Framework:loadSound("SELECT", sndpath .. "select.wav", 0)
-       Framework:loadSound("PLAYBACK", sndpath .. "select.wav", 0)
-       Framework:loadSound("DOCKING", sndpath .. "docking.wav", 1)
-       Framework:loadSound("SHUTDOWN", sndpath .. "shutdown.wav", 1)
 
        -- Images and Tiles
        local iconBackground = 

Modified: 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua
URL: 
http://svn.slimdevices.com/7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua?rev=2223&root=Jive&r1=2222&r2=2223&view=diff
==============================================================================
--- 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua
 (original)
+++ 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsApplet.lua
 Fri Apr 11 15:28:59 2008
@@ -68,6 +68,10 @@
        SOUND_CHARGING = {
                "DOCKING"
        },
+       SOUND_NONE = {
+               "STARTUP",
+               "SHUTDOWN"
+       },
 }
 
 
@@ -141,12 +145,14 @@
 
                allButtons[button] = v
 
-               -- insert suitable entry for Choice menu
-               menu:addItem({
-                                    text = self:string(k),
-                                    icon = button,
-                                    weight = 10
-                            })
+               if k ~= "SOUND_NONE" then
+                       -- insert suitable entry for Choice menu
+                       menu:addItem({
+                                            text = self:string(k),
+                                            icon = button,
+                                            weight = 10
+                                    })
+               end
        end
 
        offButton:setSelected(not effectsEnabled)

Modified: 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsMeta.lua
URL: 
http://svn.slimdevices.com/7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsMeta.lua?rev=2223&root=Jive&r1=2222&r2=2223&view=diff
==============================================================================
--- 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsMeta.lua
 (original)
+++ 
7.0/trunk/squeezeplay/src/squeezeplay/share/applets/SetupSoundEffects/SetupSoundEffectsMeta.lua
 Fri Apr 11 15:28:59 2008
@@ -52,6 +52,24 @@
                end
        end
 
+       local sndpath = "applets/DefaultSkin/sounds/"
+
+       -- The startup sound needs to be played with the minimum
+       -- delay, load and play it first
+       Framework:loadSound("STARTUP", "jive/splash.wav", 1)
+       Framework:playSound("STARTUP")
+
+       -- Load sounds
+       Framework:loadSound("BUMP", sndpath .. "bump.wav", 1)
+       Framework:loadSound("CLICK", sndpath .. "click.wav", 0)
+       Framework:loadSound("JUMP", sndpath .. "jump.wav", 0)
+       Framework:loadSound("WINDOWSHOW", sndpath .. "pushleft.wav", 1)
+       Framework:loadSound("WINDOWHIDE", sndpath .. "pushright.wav", 1)
+       Framework:loadSound("SELECT", sndpath .. "select.wav", 0)
+       Framework:loadSound("PLAYBACK", sndpath .. "select.wav", 0)
+       Framework:loadSound("DOCKING", sndpath .. "docking.wav", 1)
+       Framework:loadSound("SHUTDOWN", sndpath .. "shutdown.wav", 1)
+
        -- add a menu to load us
        jiveMain:addItem(meta:menuItem('appletSetupSoundEffects', 
'advancedSettings', "SOUND_EFFECTS", function(applet, ...) 
applet:settingsShow(...) end))
 end

Modified: 7.0/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua
URL: 
http://svn.slimdevices.com/7.0/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua?rev=2223&root=Jive&r1=2222&r2=2223&view=diff
==============================================================================
--- 7.0/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua 
(original)
+++ 7.0/trunk/squeezeplay/src/squeezeplay/share/jive/AppletManager.lua Fri Apr 
11 15:28:59 2008
@@ -276,6 +276,14 @@
        log:debug("AppletManager:loadApplets")
 
        _findApplets()
+
+       -- load the sound effects applet first so the startup
+       -- sound is played without delay.
+       -- FIXME make the startup order of applet configurable
+       local soundEffectsEntry = _appletsDb["SetupSoundEffects"]
+       _loadMeta(soundEffectsEntry)
+       _evalMeta(soundEffectsEntry)
+
        _loadMetas()
        _evalMetas()
 end

Modified: 7.0/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c
URL: 
http://svn.slimdevices.com/7.0/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c?rev=2223&root=Jive&r1=2222&r2=2223&view=diff
==============================================================================
--- 7.0/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c (original)
+++ 7.0/trunk/squeezeplay/src/squeezeplay/src/ui/jive_framework.c Fri Apr 11 
15:28:59 2008
@@ -146,6 +146,18 @@
                exit(-1);
        }
 
+//     SDL_ShowCursor (SDL_DISABLE);
+       SDL_EnableKeyRepeat (100, 100);
+
+       tolua_pushusertype(L, srf, "Surface");
+       lua_setfield(L, -2, "surface");
+
+       /* init audio */
+       jiveL_init_audio(L);
+
+       /* background image */
+       jive_background = jive_tile_fill_color(0x000000FF);
+
        /* show splash screen */
        splash = jive_surface_load_image("jive/splash.png");
        if (splash) {
@@ -153,35 +165,6 @@
                jive_surface_blit(splash, srf, (screen_w - splash_w) / 2, 
(screen_h - splash_h) / 2);
                jive_surface_flip(srf);
        }
-
-//     SDL_ShowCursor (SDL_DISABLE);
-       SDL_EnableKeyRepeat (100, 100);
-
-       tolua_pushusertype(L, srf, "Surface");
-       lua_setfield(L, -2, "surface");
-
-       /* init audio */
-       jiveL_init_audio(L);
-
-       /* play startup sound */
-       lua_getglobal(L, "jive");
-       lua_getfield(L, -1, "ui");
-       lua_getfield(L, -1, "Audio");
-       lua_getfield(L, -1, "loadSound");
-       lua_pushvalue(L, -2);
-       lua_pushstring(L, "jive/splash.wav");
-       lua_pushnumber(L, 1);
-       lua_call(L, 3, 1);
-
-       if (!lua_isnil(L, -1)) {
-               lua_getfield(L, -1, "play");
-               lua_pushvalue(L, -2);
-               lua_call(L, 1, 0);
-       }
-       lua_pop(L, 1);
-
-       /* background image */
-       jive_background = jive_tile_fill_color(0x000000FF);
 
        /* jive.ui.style = {} */
        lua_getglobal(L, "jive");

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to