The branch, dharma-pre has been updated
       via  eea2aa3e4b4cfe3c588721762a756333ecbae9f8 (commit)
      from  24620a9fc308a2c580a4973d2b0fdf616a4fcc85 (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=eea2aa3e4b4cfe3c588721762a756333ecbae9f8

commit eea2aa3e4b4cfe3c588721762a756333ecbae9f8
Author: Zeljko Ametovic <[email protected]>
Date:   Mon Nov 29 13:30:14 2010 +0400

    [script.mpdc] -0.9.9
    - changed appearance slightly, according to forum requests
    - added volume control
    - displaying server stats in left panel
    - added per-profile option, profile can be enabled/disabled to prevent 
displaying in 'Select profile' dialog

diff --git a/script.mpdc/addon.xml b/script.mpdc/addon.xml
index 2c80879..099fdc8 100644
--- a/script.mpdc/addon.xml
+++ b/script.mpdc/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="script.mpdc"
        name="MPD Client"
-       version="0.9.8"
+       version="0.9.9"
        provider-name="lzoubek">
   <requires>
     <import addon="xbmc.python" version="1.0"/>
diff --git a/script.mpdc/changelog.txt b/script.mpdc/changelog.txt
index ac3edfd..1381207 100644
--- a/script.mpdc/changelog.txt
+++ b/script.mpdc/changelog.txt
@@ -1,3 +1,8 @@
+[B]0.9.9[/B]
+- changed appearance slightly, according to forum requests
+- added volume control
+- displaying server stats in left panel
+- added per-profile option, profile can be enabled/disabled to prevent 
displaying in 'Select profile' dialog
 [B]0.9.8[/B]
 - fixed deadlocks/hangs when autoplaying stream
 - added context menu in current queue to be able to remove single tracks from 
queue
diff --git a/script.mpdc/default.py b/script.mpdc/default.py
index 3513a4a..7bbddb2 100644
--- a/script.mpdc/default.py
+++ b/script.mpdc/default.py
@@ -20,31 +20,27 @@
 # */
 import sys,os
 import xbmc,xbmcaddon,xbmcgui,xbmcplugin
-Addon = xbmcaddon.Addon(id=os.path.basename(os.getcwd()))
-
-__settings__ = xbmcaddon.Addon(id=os.path.basename(os.getcwd()))
-
-__language__ = __settings__.getLocalizedString
-
+__scriptid__ = 'script.mpdc'
+__addon__ = xbmcaddon.Addon(id=__scriptid__)
 SERVER_LIST = 120
 ACTION_CLOSE = [10]
 STATUS = 100
 SETTINGS = 101
-sys.path.append( os.path.join ( os.getcwd(), 'resources','lib') )
+sys.path.append( os.path.join ( __addon__.getAddonInfo('path'), 
'resources','lib') )
 import gui,mpd,dialog
 
 STATUS_ON='on'
 STATUS_OFF='off'
-STR_CONNECTING=Addon.getLocalizedString(30007)
-STR_CONNECTING_TITLE=Addon.getLocalizedString(30015) 
-STR_SELECT_PROFILE=Addon.getLocalizedString(30008)
-STR_HOST_ONLINE=Addon.getLocalizedString(30009)
-STR_HOST_OFFLINE=Addon.getLocalizedString(30010)
+STR_CONNECTING=__addon__.getLocalizedString(30007)
+STR_CONNECTING_TITLE=__addon__.getLocalizedString(30015) 
+STR_SELECT_PROFILE=__addon__.getLocalizedString(30008)
+STR_HOST_ONLINE=__addon__.getLocalizedString(30009)
+STR_HOST_OFFLINE=__addon__.getLocalizedString(30010)
 class MpdProfile:
        
        def __init__(self,profile_id):
                self.id=profile_id
-               self.addon = xbmcaddon.Addon(id=os.path.basename(os.getcwd()))
+               self.addon = xbmcaddon.Addon(id=__scriptid__)
                self.name = self.addon.getSetting(self.id+'_name')
                self.host = self.addon.getSetting(self.id+'_mpd_host')  
                self.port = self.addon.getSetting(self.id+'_mpd_port')
@@ -52,8 +48,12 @@ class MpdProfile:
                self.password = self.addon.getSetting(self.id+'_mpd_pass')
                self.status = STR_HOST_OFFLINE
                self.stat = STATUS_OFF
+               self.enabled=False
+               if self.addon.getSetting(self.id+'_enabled') == 'true':
+                       self.enabled=True
 
        def update(self):
+               self.addon = xbmcaddon.Addon(id=__scriptid__)
                self.name = self.addon.getSetting(self.id+'_name')
                self.host = self.addon.getSetting(self.id+'_mpd_host')  
                self.port = self.addon.getSetting(self.id+'_mpd_port')
@@ -61,6 +61,11 @@ class MpdProfile:
                self.password = self.addon.getSetting(self.id+'_mpd_pass')
                self.status = STR_HOST_OFFLINE
                self.stat=STATUS_OFF
+               self.enabled=False
+               if self.addon.getSetting(self.id+'_enabled') == 'true':
+                       self.enabled=True
+               if not self.enabled:
+                       return
                try:
                        client = mpd.MPDClient()
                        client.connect(self.host,int(self.port))
@@ -97,11 +102,12 @@ class SelectMPDProfile ( xbmcgui.WindowXMLDialog ) :
                                break
                        percent = percent+33
                        p.update(percent)
-                       listitem = xbmcgui.ListItem( label=item.name)           
                                
-                       listitem.setProperty( 'id', item.id )                   
                                                                        
-                       listitem.setProperty( 'status', item.status )
-                       listitem.setProperty( 'stat', item.stat )               
                                
-                       self.getControl( SERVER_LIST ).addItem( listitem )
+                       if item.enabled:
+                               listitem = xbmcgui.ListItem( label=item.name)
+                               listitem.setProperty( 'id', item.id )
+                               listitem.setProperty( 'status', item.status )
+                               listitem.setProperty( 'stat', item.stat )
+                               self.getControl( SERVER_LIST ).addItem( 
listitem )
                self.getControl( STATUS ).setLabel( STR_SELECT_PROFILE )
                p.close()
                
@@ -111,12 +117,12 @@ class SelectMPDProfile ( xbmcgui.WindowXMLDialog ) :
        
        def onClick( self, controlId ):
                if controlId == SETTINGS:
-                       Addon.openSettings()
+                       __addon__.openSettings()
                        self.update_servers()
                if controlId == SERVER_LIST:
                        seekid = self.getControl( SERVER_LIST 
).getSelectedItem().getProperty('id')
                        if self.getControl( SERVER_LIST 
).getSelectedItem().getProperty('stat') == STATUS_ON:
-                               ui = gui.GUI( 
'mpd-client-main.xml',os.getcwd(), self.skin,seekid)
+                               ui = gui.GUI( 
'mpd-client-main.xml',__addon__.getAddonInfo('path'), self.skin,seekid)
                                ui.doModal()
                                del ui
 
@@ -126,13 +132,13 @@ if current_skin.find('pm3') > -1:
        skin = 'PM3.HD'
 if current_skin.find('transparency') > -1:
        skin = 'transparency'
-skip_selector = Addon.getSetting('skip-selector')
+skip_selector = __addon__.getSetting('skip-selector')
 if 'true' == skip_selector:
-       ui = gui.GUI( 'mpd-client-main.xml',os.getcwd(), skin,'0')
+       ui = gui.GUI( 'mpd-client-main.xml',__addon__.getAddonInfo('path'), 
skin,'0')
        ui.doModal()
        del ui
 else:
-       selectorUI = SelectMPDProfile( 'select-profile.xml',os.getcwd(), skin)  
        
+       selectorUI = SelectMPDProfile( 
'select-profile.xml',__addon__.getAddonInfo('path'), skin)
        selectorUI.profiles = [MpdProfile('0'),MpdProfile('1'),MpdProfile('2')]
        selectorUI.doModal()
        del selectorUI
diff --git a/script.mpdc/resources/language/Czech/strings.xml 
b/script.mpdc/resources/language/Czech/strings.xml
index 1564a6f..340e900 100644
--- a/script.mpdc/resources/language/Czech/strings.xml
+++ b/script.mpdc/resources/language/Czech/strings.xml
@@ -47,6 +47,8 @@
     <string id="30039">Playing stream</string>
     <!-- Do not translate - block end -->
     <string id="30040">Zobrazovat čas přehrávané skladby</string>
+    <string id="30041">Povolen (Profil bude zobrazen při výběru)</string>
+       <string id="30042">Autorů : %sAlb : %sSkladeb : %sČas : %s</string>
     <string id="200">Fronta</string>
     <string id="201">Soubory</string>
     <string id="202">Autoři</string>
diff --git a/script.mpdc/resources/language/English/strings.xml 
b/script.mpdc/resources/language/English/strings.xml
index f3e8178..406a7af 100644
--- a/script.mpdc/resources/language/English/strings.xml
+++ b/script.mpdc/resources/language/English/strings.xml
@@ -47,6 +47,8 @@
     <string id="30039">Playing stream</string>
     <!-- Do not translate - block end -->
     <string id="30040">Show song progress when playing</string>
+    <string id="30041">Enabled (show this profile in selection dialog)</string>
+       <string id="30042">Artists : %sAlbums : %sTracks : %sDB Time : 
%s</string>
     <string id="200">Queue</string>
     <string id="201">Files</string>
     <string id="202">Artists</string>
diff --git a/script.mpdc/resources/lib/dialog.py 
b/script.mpdc/resources/lib/dialog.py
index 1564403..8d3c894 100644
--- a/script.mpdc/resources/lib/dialog.py
+++ b/script.mpdc/resources/lib/dialog.py
@@ -30,7 +30,7 @@ SETTINGS = 101
 class Dialog ( xbmcgui.WindowXMLDialog ) :
        
        def __init__(self,*args,**kwargs):
-               super(xbmcgui.WindowXMLDialog, 
self).__init__('menu-dialog.xml',os.getcwd(),'Confluence','0')
+               super(xbmcgui.WindowXMLDialog, 
self).__init__('menu-dialog.xml',xbmcaddon.Addon('script.mpdc').getAddonInfo('path'),'Confluence','0')
                self.result = -1
                self.list = []
                self.title=''           
diff --git a/script.mpdc/resources/lib/gui.py b/script.mpdc/resources/lib/gui.py
index b2a4ce0..ad56539 100644
--- a/script.mpdc/resources/lib/gui.py
+++ b/script.mpdc/resources/lib/gui.py
@@ -21,7 +21,9 @@
 import sys,os,time,re,traceback
 import xbmc,xbmcaddon,xbmcgui,xbmcplugin
 import pmpd,mpd,dialog
-
+__scriptid__ = 'script.mpdc'
+__addon__ = xbmcaddon.Addon(id=__scriptid__)
+__scriptname__ = __addon__.getAddonInfo('name')
 #get actioncodes from keymap.xml
 ACTION_SELECT_ITEM = 7
 ACTIONS = dict({
@@ -33,7 +35,9 @@ ACTIONS = dict({
        '15':'self.client.previous()',
        '34':'self._queue_item()',
        '79':'self.client.play()',
-       '117':'self._context_menu()'
+       '117':'self._context_menu()',
+       '88':'self._volume(88)',
+       '89':'self._volume(89)'
        })
 CLICK_ACTIONS = dict({
        '668':'self.client.play()',
@@ -46,20 +50,23 @@ CLICK_ACTIONS = dict({
        '702':'self.client.random(1)',
        '703':'self.client.random(0)',
        '704':'self._consume_mode_toggle()',
-       '1103':'self._clear_queue()',
-       '1102':'self._save_queue_as()',
        '1401':'self._playlist_contextmenu()',
        '1101':'self._playlist_on_click()',
        
'1301':'self._update_artist_browser(artist_item=self.getControl(1301).getSelectedItem())',
-       
'1201':'self._update_file_browser(browser_item=self.getControl(1201).getSelectedItem())'
+       
'1201':'self._update_file_browser(browser_item=self.getControl(1201).getSelectedItem())',
+       '671':'self._set_volume()'
        })
+ACTION_VOLUME_UP=88
+ACTION_VOLUME_DOWN=89
 # control IDs
 STATUS = 100
+SERVER_STATS=1009
 PLAY = 668
 PAUSE = 670
 PREV = 666
 STOP = 667
-NEXT = 669 
+NEXT = 669
+VOLUME = 671 
 REPEAT_OFF = 700
 REPEAT_ON = 701
 SHUFFLE_OFF = 702
@@ -67,51 +74,49 @@ SHUFFLE_ON = 703
 CURRENT_PLAYLIST = 1101
 FILE_BROWSER = 1201
 PROFILE=101
-CLEAR_QUEUE=1103
-SAVE_QUEUE_AS=1102
 PLAYLIST_BROWSER=1401
 ARTIST_BROWSER=1301
 RB_CONSUME_MODE=704
-SONG_PROGRESS=991
-SONG_PROGESS_GROUP=99
-SONG_PRORESS_TEXT=992
-Addon = xbmcaddon.Addon(id=os.path.basename(os.getcwd()))
-__scriptname__ = Addon.getAddonInfo('name')
-
+SONG_INFO_PROGRESS=991
+SONG_INFO_GROUP=99
+SONG_INFO_TIME=992
+SONG_INFO_ATRIST=993
+SONG_INFO_ALBUM=994
 #String IDs
-STR_STOPPED=Addon.getLocalizedString(30003)
-STR_PAUSED=Addon.getLocalizedString(30004)
-STR_NOT_CONNECTED=Addon.getLocalizedString(30005)
-STR_CONNECTED_TO=Addon.getLocalizedString(30011) 
-STR_PLAYING=Addon.getLocalizedString(30006) 
-STR_PROFILE_NAME=Addon.getLocalizedString(30002)
-STR_CONNECTING_TITLE=Addon.getLocalizedString(30015)
-STR_DISCONNECTING_TITLE=Addon.getLocalizedString(30017) 
-STR_GETTING_QUEUE=Addon.getLocalizedString(30016)
-STR_GETTING_PLAYLISTS=Addon.getLocalizedString(30019)
-STR_GETTING_ARTISTS=Addon.getLocalizedString(30020)
-STR_WAS_QUEUED=Addon.getLocalizedString(30018)      
-STR_PLAYLIST_SAVED=Addon.getLocalizedString(30021)
-STR_SELECT_ACTION=Addon.getLocalizedString(30022)
-STR_LOAD_ADD=Addon.getLocalizedString(30023)
-STR_DELETE=Addon.getLocalizedString(30024)      
-STR_LOAD_REPLACE=Addon.getLocalizedString(30025)
-STR_RENAME=Addon.getLocalizedString(30026)
-STR_Q__PLAYLIST_EXISTS=Addon.getLocalizedString(30027)
-STR_Q_OVERWRITE=Addon.getLocalizedString(30028)
-STR_UPDATE_LIBRARY=Addon.getLocalizedString(30029)
-STR_QUEUE_ADD=Addon.getLocalizedString(30030)
-STR_QUEUE_REPLACE=Addon.getLocalizedString(30031)
-STR_UPDATING_LIBRARY=Addon.getLocalizedString(30032)
-STR_REMOVE_FROM_QUEUE=Addon.getLocalizedString(30036)
-STR_SAVE_QUEUE_AS=Addon.getLocalizedString(30037)
-STR_CLEAR_QUEUE=Addon.getLocalizedString(30038)
-STR_PLAYING_STREAM=Addon.getLocalizedString(30039)
-STR_SAVE_AS=Addon.getLocalizedString(205)  
+STR_STOPPED=__addon__.getLocalizedString(30003)
+STR_PAUSED=__addon__.getLocalizedString(30004)
+STR_NOT_CONNECTED=__addon__.getLocalizedString(30005)
+STR_CONNECTED_TO=__addon__.getLocalizedString(30011)
+STR_PLAYING=__addon__.getLocalizedString(30006)
+STR_PROFILE_NAME=__addon__.getLocalizedString(30002)
+STR_CONNECTING_TITLE=__addon__.getLocalizedString(30015)
+STR_DISCONNECTING_TITLE=__addon__.getLocalizedString(30017)
+STR_GETTING_QUEUE=__addon__.getLocalizedString(30016)
+STR_GETTING_PLAYLISTS=__addon__.getLocalizedString(30019)
+STR_GETTING_ARTISTS=__addon__.getLocalizedString(30020)
+STR_WAS_QUEUED=__addon__.getLocalizedString(30018)
+STR_PLAYLIST_SAVED=__addon__.getLocalizedString(30021)
+STR_SELECT_ACTION=__addon__.getLocalizedString(30022)
+STR_LOAD_ADD=__addon__.getLocalizedString(30023)
+STR_DELETE=__addon__.getLocalizedString(30024)
+STR_LOAD_REPLACE=__addon__.getLocalizedString(30025)
+STR_RENAME=__addon__.getLocalizedString(30026)
+STR_Q__PLAYLIST_EXISTS=__addon__.getLocalizedString(30027)
+STR_Q_OVERWRITE=__addon__.getLocalizedString(30028)
+STR_UPDATE_LIBRARY=__addon__.getLocalizedString(30029)
+STR_QUEUE_ADD=__addon__.getLocalizedString(30030)
+STR_QUEUE_REPLACE=__addon__.getLocalizedString(30031)
+STR_UPDATING_LIBRARY=__addon__.getLocalizedString(30032)
+STR_REMOVE_FROM_QUEUE=__addon__.getLocalizedString(30036)
+STR_SAVE_QUEUE_AS=__addon__.getLocalizedString(30037)
+STR_CLEAR_QUEUE=__addon__.getLocalizedString(30038)
+STR_PLAYING_STREAM=__addon__.getLocalizedString(30039)
+STR_SERVER_STATS=__addon__.getLocalizedString(30042)
+STR_SAVE_AS=__addon__.getLocalizedString(205)
 class GUI ( xbmcgui.WindowXMLDialog ) :
        
        def __init__( self, *args, **kwargs ):
-               self.addon = xbmcaddon.Addon(id=os.path.basename(os.getcwd()))
+               self.addon = xbmcaddon.Addon(id=__scriptid__)
                self.time_polling=False
                if 'true' == self.addon.getSetting('time-polling'):
                        self.client = pmpd.PMPDClient(poll_time=True)
@@ -134,7 +139,7 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                if self.mpd_pass == '':
                        self.mpd_pass = None
                self.is_play_stream = False
-               if Addon.getSetting(self.profile_id+'_play_stream') == 'true':
+               if self.addon.getSetting(self.profile_id+'_play_stream') == 
'true':
                        self.is_play_stream = True
                
        def onFocus (self,controlId ):
@@ -145,7 +150,7 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                self.getControl( PROFILE ).setLabel(self.profile_name)          
                        
                self._connect()
        def _connect(self):
-               self.getControl(SONG_PROGESS_GROUP).setVisible(False)
+               self.getControl(SONG_INFO_GROUP).setVisible(False)
                p = xbmcgui.DialogProgress()
                p.create(STR_CONNECTING_TITLE,STR_CONNECTING_TITLE+' 
'+self.mpd_host+':'+self.mpd_port)
                p.update(0)
@@ -166,9 +171,11 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                        return
                print 'Connected'
                try:
+                       stats = self.client.stats()
+                       self.getControl(SERVER_STATS).setLabel(STR_SERVER_STATS 
% 
(stats['artists']+'\n',stats['albums']+'\n',stats['songs']+'\n',self._format_time2(stats['db_playtime'])))
                        self.getControl ( STATUS ).setLabel(STR_CONNECTED_TO +' 
'+self.mpd_host+':'+self.mpd_port )
                        p.update(25,STR_GETTING_QUEUE)
-                       
self._handle_changes(self.client,['playlist','player','options'])
+                       
self._handle_changes(self.client,['mixer','playlist','player','options'])
                        
self._handle_time_changes(self.client,self.client.status())
                        p.update(50,STR_GETTING_PLAYLISTS)
                        self._update_file_browser()
@@ -215,6 +222,15 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                        index = self.getControl( CURRENT_PLAYLIST ).size()-1
                self.getControl(CURRENT_PLAYLIST).selectItem(index)
 
+       def _update_song_info(self,current, status):
+               self.getControl(SONG_INFO_GROUP).setVisible(self.time_polling)  
+               
self.update_fields(current,['artist','album','title','date','file'])
+               if current['artist']=='' or current['title']=='':
+                       
self.getControl(SONG_INFO_ATRIST).setLabel(current['file'])
+               else:
+                       
self.getControl(SONG_INFO_ATRIST).setLabel(current['artist']+' - 
'+current['title'])
+               self.getControl(SONG_INFO_ALBUM).setLabel(current['album']+' 
('+current['date']+')')
+               
        def 
_update_artist_browser(self,artist_item=None,client=None,back=False):           
    
                select_index=0
                index = self.getControl(ARTIST_BROWSER).getSelectedPosition()
@@ -281,6 +297,14 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                                                
self.getControl(ARTIST_BROWSER).addItem(listitem)
                        self.getControl(ARTIST_BROWSER).selectItem(select_index)
 
+       def _volume(self,action):
+               if self._can_volume:
+                       volume = int(self.client.status()['volume'])
+                       if action == ACTION_VOLUME_DOWN:
+                               self.client.setvol(volume - 5)
+                       elif action == ACTION_VOLUME_UP:
+                               self.client.setvol(volume + 5)
+
        def _update_playlist_browser(self,playlists):
                self.getControl(PLAYLIST_BROWSER).reset()
                for item in playlists:
@@ -335,30 +359,44 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                if not status['state'] == 'stop' and self.time_polling:
                        time = status['time'].split(':')
                        percent = float(time[0]) / (float(time[1])/100 )
-                       self.getControl(SONG_PROGRESS).setPercent(percent)
-                       
self.getControl(SONG_PRORESS_TEXT).setLabel(self._format_time(time[0])+' - 
'+self._format_time(time[1]))
+                       self.getControl(SONG_INFO_PROGRESS).setPercent(percent)
+                       
self.getControl(SONG_INFO_TIME).setLabel(self._format_time(time[0])+' - 
'+self._format_time(time[1]))
+
+       def _update_volume(self,state):
+               if state['volume']=='-1':
+                       self.getControl(VOLUME).setVisible(False)
+                       self._can_volume=False
+               else:
+                       self._can_volume=True
+                       self.getControl(VOLUME).setVisible(True)
+                       self.getControl(VOLUME).setPercent(int(state['volume']))
+
+       def _update_player_controls(self,current,state):
+               if state['state'] =='play':
+                       self.toggleVisible( PLAY, PAUSE )
+                       self.getControl( STATUS ).setLabel(STR_PLAYING + ' : ' 
+ self._current_song(current))
+                       self.update_playlist('play',current)
+               elif state['state'] == 'pause':
+                       self.toggleVisible( PAUSE, PLAY )
+                       self.getControl( STATUS ).setLabel(STR_PAUSED + ' : ' + 
self._current_song(current))
+                       self.update_playlist('pause',current)
+               elif state['state'] == 'stop':
+                       self.getControl( STATUS ).setLabel(STR_STOPPED)
+                       self.toggleVisible( PAUSE, PLAY )
+                       self.update_playlist('stop',current)
 
        def _handle_changes(self,poller_client,changes):
                state = poller_client.status()
+#              print state
+#              print poller_client.playlistid(state['songid'])
                print 'Handling changes - ' + str(changes)
                for change in changes:
+                       if change =='mixer':
+                               self._update_volume(state)
                        if change == 'player':
                                current = poller_client.currentsong()
-                               if state['state'] =='play':                     
                
-                                       self.toggleVisible( PLAY, PAUSE )
-                                       self.getControl( STATUS 
).setLabel(STR_PLAYING + ' : ' + self._current_song(current))
-                                       self.update_playlist('play',current)
-                                       
self.getControl(SONG_PROGESS_GROUP).setVisible(self.time_polling)
-                               elif state['state'] == 'pause':
-                                       self.toggleVisible( PAUSE, PLAY )
-                                       self.getControl( STATUS 
).setLabel(STR_PAUSED + ' : ' + self._current_song(current))
-                                       self.update_playlist('pause',current)
-                                       
self.getControl(SONG_PROGESS_GROUP).setVisible(self.time_polling)
-                               elif state['state'] == 'stop':
-                                       self.getControl( STATUS 
).setLabel(STR_STOPPED)
-                                       self.toggleVisible( PAUSE, PLAY )
-                                       self.update_playlist('stop',current)
-                                       
self.getControl(SONG_PROGESS_GROUP).setVisible(False)
+                               self._update_song_info(current,state)
+                               self._update_player_controls(current,state)
                        if change == 'options':
                                if state['repeat'] == '0':
                                        self.toggleVisible( REPEAT_ON, 
REPEAT_OFF )
@@ -383,6 +421,9 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
 
        def _format_time(self,time):
                return '%d:%02d' % ((int(time) / 60 ),(int(time) % 60))
+       def _format_time2(self,time):
+               minutes = (int(time) - ((int(time) / 3600) * 3600))/60
+               return '%d:%d:%02d' % ((int(time) / 3600 ),minutes,(int(time) % 
60))
                
        def toggleVisible(self,cFrom,cTo):
                self.getControl( cFrom ).setVisible(False)
@@ -508,7 +549,7 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                                self._start_media_player()
 
        def _start_media_player(self):
-               icon =  os.path.join(os.getcwd(),'icon.png')
+               icon =  os.path.join(__addon__.getAddonInfo('path'),'icon.png')
                xbmc.executebuiltin("XBMC.Notification(%s,%s,5000,%s)" % 
(__scriptname__,STR_PLAYING_STREAM,'icon.png'))
                xbmc.executebuiltin('PlayMedia(%s)' % self.stream_url)
        
@@ -550,7 +591,7 @@ class GUI ( xbmcgui.WindowXMLDialog ) :
                        self.client.rm(playlist)
                        
        def dialog(self,title,list):
-               d = dialog.Dialog('menu-dialog.xml',os.getcwd(),self.skin,'0')
+               d = 
dialog.Dialog('menu-dialog.xml',__addon__.getAddonInfo('path'),self.skin,'0')
                d.list=list
                d.title = title
                d.doModal()
diff --git a/script.mpdc/resources/lib/pmpd.py 
b/script.mpdc/resources/lib/pmpd.py
index e7c59a4..410e97d 100644
--- a/script.mpdc/resources/lib/pmpd.py
+++ b/script.mpdc/resources/lib/pmpd.py
@@ -51,6 +51,7 @@ class PMPDClient(object):
                
        def disconnect(self):
                print 'disconnecting'
+               self.callback = None
                try:
                        self.client.close()
                except:
diff --git a/script.mpdc/resources/settings.xml 
b/script.mpdc/resources/settings.xml
index a2c3afa..96a2a6e 100644
--- a/script.mpdc/resources/settings.xml
+++ b/script.mpdc/resources/settings.xml
@@ -5,6 +5,7 @@
                <setting label="30040" type="bool" id="time-polling" 
default="true" />
        </category>
     <category label="30110">
+               <setting label="30041" type="bool" id="0_enabled" 
default="true" />
                <setting label="30002" type="text" id="0_name" default="Profile 
1"/>
                <setting label="30000" type="text" id="0_mpd_host" 
default="localhost"/>
                <setting label="30001" type="text" id="0_mpd_port" 
default="6600"/>
@@ -13,6 +14,7 @@
                <setting label="30033" type="text" id="0_stream_url" default="" 
/>
     </category>
     <category label="30111">
+               <setting label="30041" type="bool" id="1_enabled" 
default="true" />
                <setting label="30002" type="text" id="1_name" default="Profile 
2"/>
                <setting label="30000" type="text" id="1_mpd_host" 
default="localhost"/>
                <setting label="30001" type="text" id="1_mpd_port" 
default="6600"/>
@@ -21,6 +23,7 @@
                <setting label="30033" type="text" id="1_stream_url" default="" 
/>
     </category>
     <category label="30112">
+               <setting label="30041" type="bool" id="2_enabled" 
default="true" />
         <setting label="30002" type="text" id="2_name" default="Profile 3"/>
                <setting label="30000" type="text" id="2_mpd_host" 
default="localhost"/>
                <setting label="30001" type="text" id="2_mpd_port" 
default="6600"/>
diff --git a/script.mpdc/resources/skins/Confluence/720p/mpd-client-main.xml 
b/script.mpdc/resources/skins/Confluence/720p/mpd-client-main.xml
index 774de24..0f8c52c 100644
--- a/script.mpdc/resources/skins/Confluence/720p/mpd-client-main.xml
+++ b/script.mpdc/resources/skins/Confluence/720p/mpd-client-main.xml
@@ -130,7 +130,18 @@
                                                </control> 
                                  </focusedlayout>
         </control>
+               <control type="label" id="1009">
+                       <description>textarea</description>
+                       <posx>20</posx>
+                       <posy>400</posy>
+                       <width>240</width>
+                       <height>220</height>
+                       <textcolor>white</textcolor>
+                       <aligny>center</aligny>
+               </control>
     </control>
+
+
     
     <control type="group">
       <posx>260</posx>
@@ -144,138 +155,147 @@
         <texture border="40">ContentPanel.png</texture>
       </control>
 
+    <control type="group">
+      <posx>750</posx>
+      <posy>25</posy>
+      <description>player control group</description>           
+               <control type="button" id="666">
+                       <posx>0</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
+                       <texturefocus>OSDPrevTrackFO.png</texturefocus>
+                       <onright>667</onright>
+                       <onleft>1000</onleft>
+                       <ondown>1000</ondown>
+               </control>
+               <control type="button" id="667">
+                       <posx>50</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDStopNF.png</texturenofocus>
+                       <texturefocus>OSDStopFO.png</texturefocus>
+                       <onleft>666</onleft>
+                       <onright>668</onright>
+                       <ondown>1000</ondown>
+               </control>      
+               <control type="button" id="668">
+                       <posx>100</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDPlayNF.png</texturenofocus>
+                       <texturefocus>OSDPlayFO.png</texturefocus>
+                       <onleft>667</onleft>
+                       <onright>669</onright>
+                       <ondown>1000</ondown>
+               </control>
+               <control type="button" id="670">
+                       <posx>100</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDPauseNF.png</texturenofocus>
+                       <texturefocus>OSDPauseFO.png</texturefocus>
+                       <onleft>667</onleft>
+                       <onright>669</onright>
+                       <ondown>1000</ondown>
+               </control>
+               <control type="button" id="669">
+                       <posx>150</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDNextTrackNF.png</texturenofocus>
+                       <texturefocus>OSDNextTrackFO.png</texturefocus>
+                       <onleft>668</onleft>
+                       <ondown>1000</ondown>
+                       <onright>702</onright>
+               </control>
+               <control type="progress" id="671">
+                       <posx>0</posx>
+                       <posy>55</posy>
+                       <height>16</height>
+                       <width>200</width>
+               </control>              
+    </control>
+       <control type="group">
+      <posx>645</posx>
+      <posy>660</posy>
+      <description>playing control group</description>         
+               <control type="button" id="702">
+                       <posx>0</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDRandomOffNF.png</texturenofocus>
+                       <texturefocus>OSDRandomOffFO.png</texturefocus>
+                       <ondown>1000</ondown>
+                       <onright>700</onright>
+                       <onleft>669</onleft>
+               </control>
 
-            
-       <control type="button" id="666">
-               <posx>20</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDPrevTrackNF.png</texturenofocus>
-               <texturefocus>OSDPrevTrackFO.png</texturefocus>
-               <onright>667</onright>
-               <onleft>1000</onleft>
-               <ondown>1000</ondown>
-       </control>
-
-       <control type="button" id="667">
-               <posx>70</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDStopNF.png</texturenofocus>
-               <texturefocus>OSDStopFO.png</texturefocus>
-               <onleft>666</onleft>
-               <onright>668</onright>
-               <ondown>1000</ondown>
-       </control>
-       
-       <control type="button" id="668">
-               <posx>120</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDPlayNF.png</texturenofocus>
-               <texturefocus>OSDPlayFO.png</texturefocus>
-               <onleft>667</onleft>
-               <onright>669</onright>
-               <ondown>1000</ondown>
-       </control>
-       <control type="button" id="670">
-               <posx>120</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDPauseNF.png</texturenofocus>
-               <texturefocus>OSDPauseFO.png</texturefocus>
-               <onleft>667</onleft>
-               <onright>669</onright>
-               <ondown>1000</ondown>
-       </control>
-
-       <control type="button" id="669">
-               <posx>170</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDNextTrackNF.png</texturenofocus>
-               <texturefocus>OSDNextTrackFO.png</texturefocus>
-               <onleft>668</onleft>
-               <ondown>1000</ondown>
-               <onright>702</onright>
-       </control>
-
-       <control type="button" id="702">
-               <posx>250</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDRandomOffNF.png</texturenofocus>
-               <texturefocus>OSDRandomOffFO.png</texturefocus>
-               <ondown>1000</ondown>
-               <onright>700</onright>
-               <onleft>669</onleft>
-       </control>
-
-       <control type="button" id="703">
-               <posx>250</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDRandomOnNF.png</texturenofocus>
-               <texturefocus>OSDRandomOnFO.png</texturefocus>
-               <ondown>1000</ondown>
-               <onright>700</onright>
-               <onleft>669</onleft>
-       </control>
-
-
-       <control type="button" id="700">
-               <posx>300</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDRepeatNF.png</texturenofocus>
-               <texturefocus>OSDRepeatFO.png</texturefocus>
-               <onright>704</onright>
-               <onleft>702</onleft>
-               <ondown>1000</ondown>
-       </control>
+               <control type="button" id="703">
+                       <posx>0</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDRandomOnNF.png</texturenofocus>
+                       <texturefocus>OSDRandomOnFO.png</texturefocus>
+                       <ondown>1000</ondown>
+                       <onright>700</onright>
+                       <onleft>669</onleft>
+               </control>
 
-       <control type="button" id="701">
-               <posx>300</posx>
-               <posy>20</posy>
-               <width>48</width>
-               <height>48</height>
-               <visible>true</visible>
-               <texturenofocus>OSDRepeatAllNF.png</texturenofocus>
-               <texturefocus>OSDRepeatAllFO.png</texturefocus>
-               <onleft>702</onleft>
-               <onright>704</onright>
-               <ondown>1000</ondown>
-       </control>
 
+               <control type="button" id="700">
+                       <posx>50</posx>
+                       <posy>0</posy>
+                       <width>48</width>
+                       <height>48</height>
+                       <visible>true</visible>
+                       <texturenofocus>OSDRepeatNF.png</texturenofocus>
+                       <texturefocus>OSDRepeatFO.png</texturefocus>
+                       <onright>704</onright>
+                       <onleft>702</onleft>
+                       <ondown>1000</ondown>
+               </control>
 
-               <control type="radiobutton" id="704">
-                       <posx>350</posx>
-                       <posy>20</posy>
-                       <width>248</width>
+               <control type="button" id="701">
+                       <posx>50</posx>
+                       <posy>0</posy>
+                       <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
-                       <textoffsetx>10</textoffsetx>
-                       <textoffsety>0</textoffsety>    
-                       <label>SCRIPT206</label>
-                       <onleft>700</onleft>
+                       <texturenofocus>OSDRepeatAllNF.png</texturenofocus>
+                       <texturefocus>OSDRepeatAllFO.png</texturefocus>
+                       <onleft>702</onleft>
+                       <onright>704</onright>
                        <ondown>1000</ondown>
                </control>
+               <control type="radiobutton" id="704">
+                               <posx>100</posx>
+                               <posy>2</posy>
+                               <width>248</width>
+                               <height>42</height>
+                               <visible>true</visible>
+                               <textoffsetx>10</textoffsetx>
+                               <textoffsety>0</textoffsety>    
+                               <label>SCRIPT206</label>
+                               <onleft>700</onleft>
+                               <ondown>1000</ondown>
+                       </control>      
+       </control>
+
 
 
       <control type="label" id="111">
@@ -294,12 +314,11 @@
         <description>textarea</description>
         <posx>30</posx>
         <posy>660</posy>
-        <width>970</width>
+        <width>570</width>
         <height>40</height>
         <textcolor>white</textcolor>
         <aligny>center</aligny>
       </control>
-
       
       <control type="image">
         <posx>20</posx>
@@ -325,33 +344,6 @@
       <description>playlist group</description>
       <visible>Container(1000).HasFocus(1001)</visible>
       
-          <control type="button" id="1103">
-                       <posx>600</posx>
-                       <posy>-60</posy>
-                       <width>160</width>
-                       <height>48</height>
-                       <align>center</align>
-                       <visible>true</visible>
-                       <label>SCRIPT204</label>
-                       <ondown>1101</ondown>
-                       <onright>1102</onright>
-                       <texturenofocus>button-nofocus.png</texturenofocus>
-                       <texturefocus>button-focus.png</texturefocus>           
-               </control>
-        <control type="button" id="1102">
-                       <posx>770</posx>
-                       <posy>-60</posy>
-                       <width>160</width>
-                       <height>48</height>
-                       <align>center</align>
-                       <visible>true</visible>
-                       <label>SCRIPT205</label>
-                       <ondown>1101</ondown>
-                       <onleft>1103</onleft>
-                       <texturenofocus>button-nofocus.png</texturenofocus>
-                       <texturefocus>button-focus.png</texturefocus>           
-               </control>
-      
                  <control type="list" id="1101">
                        <posx>0</posx>
                        <posy>0</posy>
@@ -372,7 +364,6 @@
                                <height>38</height>
                                <texture>MenuItemNF.png</texture>
                          </control>         
-                         
                          <control type="image">
                                <posx>0</posx>
                                <posy>0</posy>
@@ -392,11 +383,10 @@
                                <align>left</align>
                                <info>ListItem.Property(file)</info>
                          </control>
-                       
                          <control type="label">
                                <posx>40</posx>
                                <posy>0</posy>
-                               <width>150</width>
+                               <width>195</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -404,12 +394,10 @@
                                <align>left</align>
                                <info>ListItem.Property(artist)</info>
                          </control>
-
-                         
                          <control type="label">
-                               <posx>200</posx>
+                               <posx>240</posx>
                                <posy>0</posy>
-                               <width>180</width>
+                               <width>245</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -417,11 +405,10 @@
                                <align>left</align>
                                <info>ListItem.Property(album)</info>
                          </control>
-                         
                          <control type="label">
-                               <posx>395</posx>
+                               <posx>490</posx>
                                <posy>0</posy>
-                               <width>600</width>
+                               <width>535</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -429,7 +416,6 @@
                                <align>left</align>
                                <info>ListItem.Label</info>
                          </control>
-                         
                        <control type="label">
                                <posx>950</posx>
                                <posy>0</posy>
@@ -473,7 +459,7 @@
                          <control type="label">
                                <posx>40</posx>
                                <posy>0</posy>
-                               <width>150</width>
+                               <width>195</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -481,11 +467,10 @@
                                <align>left</align>
                                <info>ListItem.Property(artist)</info>
                          </control>
-                         
                          <control type="label">
-                               <posx>200</posx>
+                               <posx>240</posx>
                                <posy>0</posy>
-                               <width>180</width>
+                               <width>245</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -493,11 +478,10 @@
                                <align>left</align>
                                <info>ListItem.Property(album)</info>
                          </control>
-                         
                          <control type="label">
-                               <posx>395</posx>
+                               <posx>490</posx>
                                <posy>0</posy>
-                               <width>600</width>
+                               <width>535</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -865,11 +849,31 @@
  <control type="group" id="99">
        <description>song progress info group</description>
                <posx>280</posx>
-               <posy>65</posy>
-               <control type="label" id="992">
-                       <description>textarea</description>
-                       <posx>580</posx>
+               <posy>20</posy>
+               <control type="label" id="993">
+                       <description>song artist</description>
+                       <posx>0</posx>
                        <posy>0</posy>
+                       <width>400</width>
+                       <height>30</height>
+                       <align>left</align>
+                       <textcolor>white</textcolor>
+                       <label></label>
+               </control>
+               <control type="label" id="994">
+                       <description>song album</description>
+                       <posx>0</posx>
+                       <posy>30</posy>
+                       <width>400</width>
+                       <height>30</height>
+                       <align>left</align>
+                       <textcolor>white</textcolor>
+                       <label></label>
+               </control>              
+               <control type="label" id="992">
+                       <description>song time</description>
+                       <posx>680</posx>
+                       <posy>30</posy>
                        <width>220</width>
                        <height>30</height>
                        <align>right</align>
@@ -878,8 +882,8 @@
                </control>
                <control type="progress" id="991">
                        <posx>0</posx>
-                       <posy>30</posy>
-                       <width>590</width>
+                       <posy>60</posy>
+                       <width>690</width>
                        <height>16</height>
                </control>
        </control>
diff --git a/script.mpdc/resources/skins/PM3.HD/720p/mpd-client-main.xml 
b/script.mpdc/resources/skins/PM3.HD/720p/mpd-client-main.xml
index e4d10e4..d018ccc 100644
--- a/script.mpdc/resources/skins/PM3.HD/720p/mpd-client-main.xml
+++ b/script.mpdc/resources/skins/PM3.HD/720p/mpd-client-main.xml
@@ -55,12 +55,32 @@
        </control>
        <control type="group" id="99">
        <description>song progress info group</description>
-               <posx>255</posx>
-               <posy>55</posy>
+               <posx>300</posx>
+               <posy>20</posy>
+               <control type="label" id="993">
+                       <description>song artist</description>
+                       <posx>0</posx>
+                       <posy>0</posy>
+                       <width>600</width>
+                       <height>30</height>
+                       <align>left</align>
+                       <textcolor>white</textcolor>
+                       <label></label>
+               </control>
+               <control type="label" id="994">
+                       <description>song album</description>
+                       <posx>0</posx>
+                       <posy>30</posy>
+                       <width>620</width>
+                       <height>30</height>
+                       <align>left</align>
+                       <textcolor>white</textcolor>
+                       <label></label>
+               </control>              
                <control type="label" id="992">
                        <description>textarea</description>
                        <posx>610</posx>
-                       <posy>0</posy>
+                       <posy>30</posy>
                        <width>220</width>
                        <height>30</height>
                        <align>right</align>
@@ -69,7 +89,7 @@
                </control>
                <control type="progress" id="991">
                        <posx>0</posx>
-                       <posy>30</posy>
+                       <posy>60</posy>
                        <width>620</width>
                        <height>10</height>
                </control>
@@ -154,14 +174,23 @@
                                                </control>
                                  </focusedlayout>
         </control>
+               <control type="label" id="1009">
+                       <description>textarea</description>
+                       <posx>20</posx>
+                       <posy>400</posy>
+                       <width>240</width>
+                       <height>220</height>
+                       <textcolor>white</textcolor>
+                       <aligny>center</aligny>
+               </control>
     </control>
     <control type="group">
-         <posx>100</posx>
-      <posy>10</posy>
+         <posx>1000</posx>
+      <posy>25</posy>
       <description>player control group</description>
                <control type="button" id="666">
-                       <posx>20</posx>
-                       <posy>20</posy>
+                       <posx>0</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -173,8 +202,8 @@
                </control>
 
                <control type="button" id="667">
-                       <posx>70</posx>
-                       <posy>20</posy>
+                       <posx>50</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -186,8 +215,8 @@
                </control>
                
                <control type="button" id="668">
-                       <posx>120</posx>
-                       <posy>20</posy>
+                       <posx>100</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -198,8 +227,8 @@
                        <ondown>1000</ondown>
                </control>
                <control type="button" id="670">
-                       <posx>120</posx>
-                       <posy>20</posy>
+                       <posx>100</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -211,8 +240,8 @@
                </control>
 
                <control type="button" id="669">
-                       <posx>170</posx>
-                       <posy>20</posy>
+                       <posx>150</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -222,10 +251,19 @@
                        <onright>702</onright>
                        <ondown>1000</ondown>
                </control>
-
+               <control type="progress" id="671">
+                       <posx>0</posx>
+                       <posy>55</posy>
+                       <height>10</height>
+                       <width>200</width>
+               </control>                      
+</control>             
+<control type="group">
+      <posx>930</posx>
+      <posy>670</posy>
        <control type="button" id="702">
-                       <posx>250</posx>
-                       <posy>20</posy>
+                       <posx>0</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -237,8 +275,8 @@
                </control>
 
                <control type="button" id="703">
-                       <posx>250</posx>
-                       <posy>20</posy>
+                       <posx>0</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -250,8 +288,8 @@
                </control>
 
                <control type="button" id="700">
-                       <posx>300</posx>
-                       <posy>20</posy>
+                       <posx>50</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -263,8 +301,8 @@
                </control>
 
                <control type="button" id="701">
-                       <posx>300</posx>
-                       <posy>20</posy>
+                       <posx>50</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -276,8 +314,8 @@
                </control>
 
                <control type="radiobutton" id="704">
-                       <posx>350</posx>
-                       <posy>20</posy>
+                       <posx>100</posx>
+                       <posy>0</posy>
                        <width>248</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -287,9 +325,6 @@
                        <onleft>700</onleft>
                        <ondown>1000</ondown>
                </control>
-
-
-
     </control>
     <control type="group">
       <posx>260</posx>
@@ -313,8 +348,8 @@
       <control type="label" id="100">
         <description>textarea</description>
         <posx>35</posx>
-        <posy>665</posy>
-        <width>970</width>
+        <posy>670</posy>
+        <width>620</width>
         <height>40</height>
         <textcolor>white</textcolor>
         <aligny>center</aligny>
@@ -328,34 +363,7 @@
          <height>530</height>
       <description>playlist group</description>
       <visible>Container(1000).HasFocus(1001)</visible>
-      
-          <control type="button" id="1103">
-                       <posx>600</posx>
-                       <posy>-80</posy>
-                       <width>160</width>
-                       <height>48</height>
-                       <align>center</align>
-                       <visible>true</visible>
-                       <label>SCRIPT204</label>
-                       <ondown>1101</ondown>
-                       <onright>1102</onright>
-                       <texturenofocus>button-nofocus.png</texturenofocus>
-                       <texturefocus>button-focus2.png</texturefocus>          
-               </control>
-        <control type="button" id="1102">
-                       <posx>770</posx>
-                       <posy>-80</posy>
-                       <width>160</width>
-                       <height>48</height>
-                       <align>center</align>
-                       <visible>true</visible>
-                       <label>SCRIPT205</label>
-                       <ondown>1101</ondown>
-                       <onleft>1103</onleft>
-                       <texturenofocus>button-nofocus.png</texturenofocus>
-                       <texturefocus>button-focus2.png</texturefocus>          
-               </control>
-      
+     
                  <control type="list" id="1101">
                        <posx>0</posx>
                        <posy>0</posy>
@@ -392,7 +400,7 @@
                          <control type="label">
                                <posx>40</posx>
                                <posy>0</posy>
-                               <width>150</width>
+                               <width>200</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -403,9 +411,9 @@
 
                          
                          <control type="label">
-                               <posx>200</posx>
+                               <posx>245</posx>
                                <posy>0</posy>
-                               <width>180</width>
+                               <width>260</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -415,9 +423,9 @@
                          </control>
                          
                          <control type="label">
-                               <posx>395</posx>
+                               <posx>510</posx>
                                <posy>0</posy>
-                               <width>600</width>
+                               <width>480</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -469,7 +477,7 @@
                          <control type="label">
                                <posx>40</posx>
                                <posy>0</posy>
-                               <width>150</width>
+                               <width>200</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -479,9 +487,9 @@
                          </control>
                          
                          <control type="label">
-                               <posx>200</posx>
+                               <posx>245</posx>
                                <posy>0</posy>
-                               <width>180</width>
+                               <width>260</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -491,9 +499,9 @@
                          </control>
                          
                          <control type="label">
-                               <posx>395</posx>
+                               <posx>510</posx>
                                <posy>0</posy>
-                               <width>600</width>
+                               <width>480</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
diff --git a/script.mpdc/resources/skins/transparency/720p/mpd-client-main.xml 
b/script.mpdc/resources/skins/transparency/720p/mpd-client-main.xml
index 86b78de..12d11f4 100644
--- a/script.mpdc/resources/skins/transparency/720p/mpd-client-main.xml
+++ b/script.mpdc/resources/skins/transparency/720p/mpd-client-main.xml
@@ -56,11 +56,31 @@
        <control type="group" id="99">
        <description>song progress info group</description>
                <posx>260</posx>
-               <posy>60</posy>
+               <posy>15</posy>
+               <control type="label" id="993">
+                       <description>song artist</description>
+                       <posx>0</posx>
+                       <posy>0</posy>
+                       <width>600</width>
+                       <height>30</height>
+                       <align>left</align>
+                       <textcolor>white</textcolor>
+                       <label></label>
+               </control>
+               <control type="label" id="994">
+                       <description>song album</description>
+                       <posx>0</posx>
+                       <posy>30</posy>
+                       <width>620</width>
+                       <height>30</height>
+                       <align>left</align>
+                       <textcolor>white</textcolor>
+                       <label></label>
+               </control>                      
                <control type="label" id="992">
                        <description>textarea</description>
                        <posx>610</posx>
-                       <posy>0</posy>
+                       <posy>30</posy>
                        <width>220</width>
                        <height>30</height>
                        <align>right</align>
@@ -69,7 +89,7 @@
                </control>
                <control type="progress" id="991">
                        <posx>0</posx>
-                       <posy>20</posy>
+                       <posy>60</posy>
                        <width>620</width>
                </control>
        </control>
@@ -152,15 +172,24 @@
                                                </control>
                                  </focusedlayout>
         </control>
+               <control type="label" id="1009">
+                       <description>textarea</description>
+                       <posx>20</posx>
+                       <posy>400</posy>
+                       <width>240</width>
+                       <height>220</height>
+                       <textcolor>white</textcolor>
+                       <aligny>center</aligny>
+               </control>
     </control>
     <control type="group">
-         <posx>120</posx>
-      <posy>0</posy>
+         <posx>1000</posx>
+      <posy>25</posy>
       <description>player control group</description>
 
                <control type="button" id="666">
-                       <posx>20</posx>
-                       <posy>20</posy>
+                       <posx>0</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -172,8 +201,8 @@
                </control>
 
                <control type="button" id="667">
-                       <posx>70</posx>
-                       <posy>20</posy>
+                       <posx>50</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -185,8 +214,8 @@
                </control>
                
                <control type="button" id="668">
-                       <posx>120</posx>
-                       <posy>20</posy>
+                       <posx>100</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -197,8 +226,8 @@
                        <ondown>1000</ondown>
                </control>
                <control type="button" id="670">
-                       <posx>120</posx>
-                       <posy>20</posy>
+                       <posx>100</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -210,8 +239,8 @@
                </control>
 
                <control type="button" id="669">
-                       <posx>170</posx>
-                       <posy>20</posy>
+                       <posx>150</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -221,10 +250,18 @@
                        <onright>702</onright>
                        <ondown>1000</ondown>
                </control>
-
+               <control type="progress" id="671">
+                       <posx>0</posx>
+                       <posy>50</posy>
+                       <width>200</width>
+               </control>
+</control>
+<control type="group">
+         <posx>920</posx>
+      <posy>670</posy>
        <control type="button" id="702">
-                       <posx>250</posx>
-                       <posy>20</posy>
+                       <posx>0</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -236,8 +273,8 @@
                </control>
 
                <control type="button" id="703">
-                       <posx>250</posx>
-                       <posy>20</posy>
+                       <posx>0</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -249,8 +286,8 @@
                </control>
 
                <control type="button" id="700">
-                       <posx>300</posx>
-                       <posy>20</posy>
+                       <posx>50</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -262,8 +299,8 @@
                </control>
 
                <control type="button" id="701">
-                       <posx>300</posx>
-                       <posy>20</posy>
+                       <posx>50</posx>
+                       <posy>0</posy>
                        <width>48</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -275,8 +312,8 @@
                </control>
 
                <control type="radiobutton" id="704">
-                       <posx>360</posx>
-                       <posy>20</posy>
+                       <posx>100</posx>
+                       <posy>0</posy>
                        <width>248</width>
                        <height>48</height>
                        <visible>true</visible>
@@ -286,10 +323,8 @@
                        <onleft>700</onleft>
                        <ondown>1000</ondown>
                </control>
-
-
-
     </control>
+
     <control type="group">
       <posx>260</posx>
       <posy>0</posy>
@@ -320,8 +355,8 @@
       <control type="label" id="100">
         <description>textarea</description>
         <posx>35</posx>
-        <posy>665</posy>
-        <width>970</width>
+        <posy>670</posy>
+        <width>620</width>
         <height>40</height>
         <textcolor>white</textcolor>
         <aligny>center</aligny>
@@ -335,34 +370,7 @@
          <height>530</height>
       <description>playlist group</description>
       <visible>Container(1000).HasFocus(1001)</visible>
-      
-          <control type="button" id="1103">
-                       <posx>610</posx>
-                       <posy>-80</posy>
-                       <width>160</width>
-                       <height>48</height>
-                       <align>center</align>
-                       <visible>true</visible>
-                       <label>SCRIPT204</label>
-                       <ondown>1101</ondown>
-                       <onright>1102</onright>
-                       <texturenofocus>button-nofocus.png</texturenofocus>
-                       <texturefocus>button-focus.png</texturefocus>           
-               </control>
-        <control type="button" id="1102">
-                       <posx>770</posx>
-                       <posy>-80</posy>
-                       <width>160</width>
-                       <height>48</height>
-                       <align>center</align>
-                       <visible>true</visible>
-                       <label>SCRIPT205</label>
-                       <ondown>1101</ondown>
-                       <onleft>1103</onleft>
-                       <texturenofocus>button-nofocus.png</texturenofocus>
-                       <texturefocus>button-focus.png</texturefocus>           
-               </control>
-      
+     
                  <control type="list" id="1101">
                        <posx>0</posx>
                        <posy>0</posy>
@@ -405,7 +413,7 @@
                          <control type="label">
                                <posx>40</posx>
                                <posy>0</posy>
-                               <width>150</width>
+                               <width>200</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -414,9 +422,9 @@
                                <info>ListItem.Property(artist)</info>
                          </control>                      
                          <control type="label">
-                               <posx>200</posx>
+                               <posx>245</posx>
                                <posy>0</posy>
-                               <width>180</width>
+                               <width>260</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -425,9 +433,9 @@
                                <info>ListItem.Property(album)</info>
                          </control>                      
                          <control type="label">
-                               <posx>395</posx>
+                               <posx>510</posx>
                                <posy>0</posy>
-                               <width>600</width>
+                               <width>440</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -478,7 +486,7 @@
                          <control type="label">
                                <posx>40</posx>
                                <posy>0</posy>
-                               <width>150</width>
+                               <width>200</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -488,9 +496,9 @@
                          </control>
                          
                          <control type="label">
-                               <posx>200</posx>
+                               <posx>245</posx>
                                <posy>0</posy>
-                               <width>180</width>
+                               <width>260</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>
@@ -500,9 +508,9 @@
                          </control>
                          
                          <control type="label">
-                               <posx>395</posx>
+                               <posx>510</posx>
                                <posy>0</posy>
-                               <width>600</width>
+                               <width>440</width>
                                <height>38</height>
                                <aligny>center</aligny>
                                <textcolor>white</textcolor>

-----------------------------------------------------------------------

Summary of changes:
 script.mpdc/addon.xml                              |    2 +-
 script.mpdc/changelog.txt                          |    5 +
 script.mpdc/default.py                             |   52 ++--
 script.mpdc/resources/language/Czech/strings.xml   |    2 +
 script.mpdc/resources/language/English/strings.xml |    2 +
 script.mpdc/resources/lib/dialog.py                |    2 +-
 script.mpdc/resources/lib/gui.py                   |  173 ++++++----
 script.mpdc/resources/lib/pmpd.py                  |    1 +
 script.mpdc/resources/settings.xml                 |    3 +
 .../skins/Confluence/720p/mpd-client-main.xml      |  358 ++++++++++----------
 .../skins/PM3.HD/720p/mpd-client-main.xml          |  148 +++++----
 .../skins/transparency/720p/mpd-client-main.xml    |  146 +++++----
 12 files changed, 487 insertions(+), 407 deletions(-)


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to