Author: titmuss
Date: Mon Nov 24 05:38:45 2008
New Revision: 3428

URL: http://svn.slimdevices.com?rev=3428&root=Jive&view=rev
Log:
 [EMAIL PROTECTED] (orig r3418):  titmuss | 2008-11-20 18:41:23 +0000
 Bug: N/A
 Description:
 Minor playback fix.
 
 
 [EMAIL PROTECTED] (orig r3419):  bklaas | 2008-11-20 23:31:00 +0000
 Bug: 10093
 Description: only install EVENT_WINDOW_ACTIVE window listener for browse window
 set windowStyle to browse when that window becomes active
 
 [EMAIL PROTECTED] (orig r3420):  bklaas | 2008-11-20 23:36:33 +0000
 Bug: 9639
 Description: artwork update from Noah and relevant skin changes
 allow SelectPlayer to render icons for  squeezeplay and stream
 
 [EMAIL PROTECTED] (orig r3422):  titmuss | 2008-11-21 14:17:36 +0000
 Bug: N/A
 Description:
 Fix error in slider when no closure is present.
 
 
 [EMAIL PROTECTED] (orig r3423):  titmuss | 2008-11-21 14:18:47 +0000
 Bug: 9982
 Description:
 Add additional attenuation to sound effects when headphones are used.
 
 [EMAIL PROTECTED] (orig r3424):  titmuss | 2008-11-21 14:19:20 +0000
 Bug: 9982
 Description:
 Add additional attenuation to sound effects when headphones are used.
 
 
 [EMAIL PROTECTED] (orig r3425):  bklaas | 2008-11-21 17:40:17 +0000
 Bug: 9639
 Description: add macToModel method to Player class. Attempts to guess model of 
player based on mac address
 add logic for SelectPlayer to attempt macToModel when player:getModel() 
returns nil
 add stream and squeezeplay as valid models for generating icons in choose 
player menu
 clean up the check for whether the player is local
 
 [EMAIL PROTECTED] (orig r3427):  bklaas | 2008-11-21 20:08:16 +0000
 Bug: 8300, 10064
 Description: revert subscribe:0 to subscribe:30, a semi-workaround for bug 
10064. Change re-breaks bug 8300.
 
 There are situations where playerstatus is not being automatically generated 
by SC when it should be. This is the core to fixing 10064. After that works 
acceptably, the subscribe for playerstatus can be reset to 0.
 

Added:
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezeplay.png
   (with props)
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/stream.png
   (with props)
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezeplay.png
   (with props)
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/stream.png
   (with props)
Modified:
    7.4/trunk/   (props changed)
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/boom.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/controller.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/receiver.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/slimp3.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/softsqueeze.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezebox.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezebox3.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/transporter.png
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
    
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
    7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua
    7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/boom.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/controller.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/receiver.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/slimp3.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/softsqueeze.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezebox.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezebox3.png
    
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/transporter.png
    
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua

Propchange: 7.4/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Mon Nov 24 05:38:45 2008
@@ -2,7 +2,7 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/branches/discovery-refactor:2596
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2920
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.2/trunk:2921
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3413
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:3427
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/DefaultSkinApplet.lua
 Mon Nov 24 05:38:45 2008
@@ -1176,7 +1176,31 @@
                                img = _loadImage(self, 
"Icons/icon_check_selected.png")
                        }
        })
-
+       s.squeezeplay = _uses(s.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/squeezeplay.png"),
+                               }
+                       })
+       s.squeezeplaychecked = _uses(s.squeezeplay, {
+                       order = { "icon", "text", "check" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       s.stream = _uses(s.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/stream.png"),
+                               }
+                       })
+       s.streamchecked = _uses(s.stream, {
+                       order = { "icon", "text", "check" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       
        s.albumitemplay = _uses(s.albumitem)
        s.albumitemadd  = _uses(s.albumitem)
 
@@ -1387,7 +1411,31 @@
                                img = _loadImage(self, 
"Icons/icon_check_selected.png")
                        }
        })
-
+       s.selected.squeezeplay = _uses(s.selected.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/squeezeplay.png"),
+                               }
+                       })
+       s.selected.squeezeplaychecked = _uses(s.selected.squeezeplay, {
+                       order = { "icon", "text", "check", "play" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       s.selected.stream = _uses(s.selected.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/stream.png"),
+                               }
+                       })
+       s.selected.streamchecked = _uses(s.selected.stream, {
+                       order = { "icon", "text", "check", "play" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       
        -- locked item with artwork and song info
        s.locked.albumitem = {}
        s.locked.albumitem.text = {}

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/boom.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/boom.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/controller.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/controller.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/receiver.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/receiver.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/slimp3.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/slimp3.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/softsqueeze.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/softsqueeze.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezebox.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezebox.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezebox3.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezebox3.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Added: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezeplay.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezeplay.png?rev=3428&root=Jive&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/squeezeplay.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/stream.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/stream.png?rev=3428&root=Jive&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/stream.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/transporter.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/DefaultSkin/images/Icons/Players/transporter.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/NowPlaying/NowPlayingApplet.lua
 Mon Nov 24 05:38:45 2008
@@ -220,7 +220,6 @@
                return
        end
 
-       log:warn('you are here')
        self:freeAndClear()
 end
 
@@ -228,7 +227,6 @@
 function notify_playerCurrent(self, player)
 
        if self.player ~= player then
-       log:warn('you are here')
                self:freeAndClear()
        end
 
@@ -417,24 +415,19 @@
 
-----------------------------------------------------------------------------------------
 -- Settings
 --
-               
+
 function _installListeners(self, window)
 
-       window:addListener(
-               EVENT_WINDOW_ACTIVE,
-               function(event)
-                       local stack = Framework.windowStack
-                       if self['browse'] and self['browse'].window == stack[1] 
then
+       if windowStyle == 'browse' then
+               window:addListener(
+                       EVENT_WINDOW_ACTIVE,
+                       function(event)
                                windowStyle = 'browse'
-                       elseif self['ss'] and self['ss'].window == stack[1] then
-                               windowStyle = 'ss'
+                               self:_updateAll(self[windowStyle])
+                               return EVENT_UNUSED
                        end
-
-                       self:_updateAll(self[windowStyle])
-
-                       return EVENT_UNUSED
-               end
-       )
+               )
+       end
 
        local playlistSize = self.player and self.player:getPlaylistSize()
 
@@ -688,7 +681,6 @@
 end
 
 function setArtworkSize(self, size)
-       log:warn(size)
        self:getSettings()['screensaverArtworkSize'] = size
        self:storeSettings()
 end
@@ -733,7 +725,6 @@
        windowStyle = style
        if not self[windowStyle] then self[windowStyle] = {} end
 
-       log:debug("CREATING UI FOR NOWPLAYING")
        self[windowStyle].window = _createUI(self)
 
        self.player = appletManager:callService("getCurrentPlayer")

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/SelectPlayer/SelectPlayerApplet.lua
 Mon Nov 24 05:38:45 2008
@@ -185,18 +185,26 @@
                receiver    = true,
                boom        = true,
                controller  = true,
+               squeezeplay = true,
+               stream      = true,
        }
 
        local playerModel = player:getModel()
+
+       -- guess model by mac address if we don't have one available
+       -- this is primarily used for players on the network waiting to be setup
+       if playerModel == nil then
+               playerModel = player:macToModel(mac)
+       end
 
        if not validModel[playerModel] then
                -- use a generic style when model lists as not valid
-               playerModel = 'softsqueeze'
-       end
-
-    if oo.instanceof(player, LocalPlayer) then
-        playerWeight = LOCAL_PLAYER_WEIGHT
-    end
+               playerModel = 'squeezeplay'
+       end
+
+       if player:isLocal() then
+               playerWeight = LOCAL_PLAYER_WEIGHT
+       end
     
        -- if waiting for a SN pin modify name
        if player:getPin() then

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua 
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua Mon Nov 
24 05:38:45 2008
@@ -437,7 +437,7 @@
        end
 
        -- the server may have moved, get a fresh ip address
-       self.serverip = server:getIpPort()
+       self.serverip = self.server:getIpPort()
 
        -- Bug 9900
        -- Don't allow connections to SN yet

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua Mon Nov 24 
05:38:45 2008
@@ -399,6 +399,59 @@
 end
 
 
+-- parse a mac address and try to guess the player model based on known ranges
+-- this is primarily intended for identifying players that are sitting on the 
network
+-- waiting to be setup in ad-hoc mode
+-- NOTE: this method will need updating when new mac address ranges are 
allocated
+function macToModel(self, mac)
+
+       if not mac then
+               return false
+       end
+       local prefix, a, b, c = string.match(mac, 
"(%x%x:%x%x:%x%x):(%x%x):(%x%x):(%x%x)")
+
+       -- further split b chars
+       local d, e = string.match(b, "(%x)(%x)")
+
+       -- if we're guessing and it's not a slim vendor id, guess that it's 
squeezeplay
+       if prefix ~= "00:04:20" then
+               return 'squeezeplay'
+       end
+
+       if a == '04' then
+               return "slimp3"
+       elseif a == '05' then
+               -- more complex code for SB1/SB2 discernment
+               -- b between 00 and 9F is an SB1
+               if string.find(d, "%a") then
+                       return 'squeezebox2'
+               else
+                       return 'squeezebox'
+               end
+       elseif a == '06' or a == '07' then
+               return 'squeezebox3'
+       elseif a == '08' then
+               if b == '01' then
+                       return 'boom'
+               end
+       elseif a == '10' or a == '11' then
+               return 'transporter'
+       elseif a == '12' or a == '13' or a == '14' or a == '15' then
+               return "squeezebox3"
+       elseif a == '16' or a == '17' or a == '18' or a == '19' then
+               return "receiver"
+       elseif a == '1a' or a == '1b' or a == '1c' or a == '1d' then
+               return "controller"
+       elseif a == '1e' or a == '1f' or a == '20' or a == '21' then
+               return "boom"
+       end
+
+       -- it's a slim product but doesn't fall within these ranges
+       -- punt and call it a receiver
+       return 'receiver'
+
+end
+
 -- return the Squeezebox mac address from the ssid, or nil if the ssid is
 -- not from a Squeezebox in setup mode.
 function ssidIsSqueezebox(self, ssid)
@@ -770,7 +823,7 @@
        self.slimServer.comet:startBatch()
        
        -- subscribe to player status updates
-       local cmd = { 'status', '-', 10, 'menu:menu', 'subscribe:0' }
+       local cmd = { 'status', '-', 10, 'menu:menu', 'subscribe:30' }
        self.slimServer.comet:subscribe(
                '/slim/playerstatus/' .. self.id,
                _getSink(self, cmd),

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua Mon Nov 24 
05:38:45 2008
@@ -229,7 +229,9 @@
                        keycode == KEY_RIGHT or
                        keycode == KEY_FWD then
 
-                       self.closure(self, self.size, true)
+                       if self.closure then
+                               self.closure(self, self.size, true)
+                       end
                        return EVENT_CONSUME
                end
        end

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c 
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_sample.c Mon 
Nov 24 05:38:45 2008
@@ -28,7 +28,8 @@
 
 #define MAXVOLUME 100
 static fft_fixed effect_gain = FIXED_ONE;
-static int effect_volume;
+static int effect_volume = MAXVOLUME;
+static int effect_attn = MAXVOLUME;
 
 
 static void sample_free(struct jive_sample *sample) {
@@ -271,8 +272,11 @@
                effect_volume = MAXVOLUME;
        }
 
-       effect_gain = fixed_div(s32_to_fixed(effect_volume),
-                               s32_to_fixed(MAXVOLUME));
+       effect_gain = fixed_mul(fixed_div(s32_to_fixed(effect_volume),
+                                         s32_to_fixed(MAXVOLUME)),
+                               fixed_div(s32_to_fixed(effect_attn),
+                                         s32_to_fixed(MAXVOLUME))
+                               );
 
        return 0;
 }
@@ -281,6 +285,31 @@
 static int decode_sample_get_effect_volume(lua_State *L) {
        lua_pushinteger(L, effect_volume);
        return 1;
+}
+
+
+static int decode_sample_set_effect_attenuation(lua_State *L) {
+       /* stack is:
+        * 1: sound
+        * 2: attenuation
+        */
+
+       effect_attn = lua_tointeger(L, 2);
+
+       if (effect_attn < 0) {
+               effect_attn = 0;
+       }
+       if (effect_attn > MAXVOLUME) {
+               effect_attn = MAXVOLUME;
+       }
+
+       effect_gain = fixed_mul(fixed_div(s32_to_fixed(effect_volume),
+                                         s32_to_fixed(MAXVOLUME)),
+                               fixed_div(s32_to_fixed(effect_attn),
+                                         s32_to_fixed(MAXVOLUME))
+                               );
+
+       return 0;
 }
 
 
@@ -296,6 +325,7 @@
        { "loadSample", decode_sample_load },
        { "setEffectVolume", decode_sample_set_effect_volume },
        { "getEffectVolume", decode_sample_get_effect_volume },
+       { "setEffectAttenuation", decode_sample_set_effect_attenuation },
        { NULL, NULL }
 };
 

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/FullscreenSkinApplet.lua
 Mon Nov 24 05:38:45 2008
@@ -1122,7 +1122,31 @@
                                img = _loadImage(self, 
"Icons/icon_check_selected.png")
                        }
        })
-
+       s.squeezeplay = _uses(s.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/squeezeplay.png"),
+                               }
+                       })
+       s.squeezeplaychecked = _uses(s.squeezeplay, {
+                       order = { "icon", "text", "check" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       s.stream = _uses(s.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/stream.png"),
+                               }
+                       })
+       s.streamchecked = _uses(s.stream, {
+                       order = { "icon", "text", "check" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       
 
        s.albumitemplay = _uses(s.albumitem)
        s.albumitemadd  = _uses(s.albumitem)
@@ -1334,7 +1358,31 @@
                                img = _loadImage(self, 
"Icons/icon_check_selected.png")
                        }
        })
-
+       s.selected.squeezeplay = _uses(s.selected.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/squeezeplay.png"),
+                               }
+                       })
+       s.selected.squeezeplaychecked = _uses(s.selected.squeezeplay, {
+                       order = { "icon", "text", "check", "play" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       s.selected.stream = _uses(s.selected.chooseplayer, {
+                               icon = {
+                                       img = _loadImage(self, 
"Icons/Players/stream.png"),
+                               }
+                       })
+       s.selected.streamchecked = _uses(s.selected.stream, {
+                       order = { "icon", "text", "check", "play" },
+                       check = {
+                               align = "right",
+                               img = _loadImage(self, 
"Icons/icon_check_selected.png")
+                       }
+       })
+       
 
 
        -- locked item with artwork and song info

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/boom.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/boom.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/controller.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/controller.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/receiver.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/receiver.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/slimp3.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/slimp3.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/softsqueeze.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/softsqueeze.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezebox.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezebox.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezebox3.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezebox3.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Added: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezeplay.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezeplay.png?rev=3428&root=Jive&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/squeezeplay.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/stream.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/stream.png?rev=3428&root=Jive&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/stream.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/transporter.png
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_desktop/share/applets/FullscreenSkin/images/Icons/Players/transporter.png?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL: 
http://svn.slimdevices.com/7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=3428&root=Jive&r1=3427&r2=3428&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 Mon Nov 24 05:38:45 2008
@@ -366,8 +366,10 @@
        if inserted == 1 then
                os.execute("amixer -q sset Headphone 92%")
                os.execute("amixer -q sset Endpoint Headphone")
+               Sample:setEffectAttenuation(Sample.MAXVOLUME / 4)
        else
                os.execute("amixer -q sset Endpoint Speaker")
+               Sample:setEffectAttenuation(Sample.MAXVOLUME)
        end
 
        -- automatically select internal player

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

Reply via email to