Announcement

Collapse
No announcement yet.

XBMC controller applet

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    XBMC controller applet

    Hi,

    Since there was no applet availible to control XBMC with the Squeezebox controller, I decided to make one. I must admid I'm not a great programmer, but hey everything seem to work fine. If you have suggestions / found bugs, can post them but I'm to onest I don't want to spend to much time anymore on this applet.
    To install this applet simply unzip and put the new directory in "/usr/share/jive/applets"

    The applet wasn't working with XBMC v10, so I did some modifications. There are some other issues fixed as well, for filenames with 'strange'characters and the iconbar is now working.

    Well enjoy, Robbin.

    watch: http://www.youtube.com/watch?v=FbJeLEFuFiQ
    Last edited by robbinvandervelden; 2011-01-22, 22:56. Reason: not allowed to add an link

    #2
    Robbin- this is great stuff. I'm an avid XBMC user and intend to check this out very soon.

    Did you run into anything on the applet development side you couldn't figure out how to do?

    cheers and well done,
    #!/ben
    Former Logitech Developer: Squeezeplay/SqueezeOS/SqueezeboxController/SqueezeCenter
    Community Developer: Nokia770Skin (r.i.p.)

    http://www.last.fm/user/bklaas/

    Comment


      #3
      Hi Ben,

      thanks! I figured everything out I wanted to do, one way or another. The only thing I couldn't find out is updating or removing the iconbar. I can make one on my my one and put this over the orignal one, but I don't think that is a good solution.

      regards Robbin.

      Comment


        #4
        if you have a window object myWindow, you can remove the iconbar with the following code:

        Code:
        myWindow:setShowFrameworkWidgets(false)
        it sounds like you want to update the iconbar with xbmc-specific stuff...you can do that like so...

        Code:
        -- bring in iconbar object
        local iconbar = iconbar
        
        -- as an example, set iconbar mode icon to stop
        iconbar:setPlaymode('stop')
        You probably need to be careful to disconnect from any connected squeezebox when you do this though, because any playerstatus update from the server that comes in will update the iconbar on its own, which is probably not what you want.

        The iconbar stuff (and lots of other things in the squeezeplay/src/share/jive area are documented in POD format. If you are using Linux or Mac for development, accessing this is as simple as typing `perldoc <filename>`.

        This is the output of `perldoc squeezeplay/src/share/jive/Iconbar.lua`

        Code:
        NAME
            jive.Iconbar - icon raw at the bottom of the screen
        
        DESCRIPTION
            The Iconbar class implements the Jive iconbar at the bottom of the
            screen. It refreshes itself every second.
        
        SYNOPSIS
             -- Create the iconbar (this done for you in JiveMain)
             iconbar = Iconbar()
        
             -- Update playmode icon
             iconbar:setPlaymode('stop')
        
             -- force iconbar update
             iconbar:update()
        
        FUNCTIONS
          Iconbar:setPlaymode(val)
            Set the playmode icon of the iconbar. Values are nil (off), "stop",
            "play" or "pause".
        
          Iconbar:setPlaylistMode(val)
            Set the playlistmode of the iconbar. Values are nil (no mode), 1 for
            playlist mode and 2 for party mode. When not 1 or 2, setRepeat()
        
          Iconbar:setRepeat(val)
            Set the repeat icon of the iconbar. Values are nil (no repeat), 1 for
            repeat single track and 2 for repeat all playlist tracks.
        
          Iconbar:setAlarm(val)
            Sets the alarm icon on the iconbar. Values are OFF and ON
        
          Iconbar:setSleep(val)
            Sets the sleep icon on the iconbar. Values are OFF (Sleep Off), and ON
            (Sleep On)
        
          Iconbar:setShuffle(val)
            Set the shuffle icon of the iconbar. Values are nil (no shuffle), 1 for
            shuffle by track and 2 for shuffle by album.
        
          Iconbar:setBattery(val)
            Set the state of the battery icon of the iconbar. Values are nil (no
            battery), CHARGING, AC or 0-4.
        
          Iconbar:setWirelessSignal(val)
            Set the state of the network icon of the iconbar. Values are nil (no
            network), ERROR or 1-3.
        
          Iconbar:setServerError(val)
            Set the state of the SqueezeCenter connection. Values are nil, OK or
            ERROR.
        
          Iconbar:update()
            Updates the iconbar.
        
          Iconbar()
            Creates the iconbar.
        
        LICENSE
            Copyright 2010 Logitech. All Rights Reserved.
        
            This file is licensed under BSD. Please see the LICENSE file for
            details.
        cheers,
        #!/ben
        Former Logitech Developer: Squeezeplay/SqueezeOS/SqueezeboxController/SqueezeCenter
        Community Developer: Nokia770Skin (r.i.p.)

        http://www.last.fm/user/bklaas/

        Comment


          #5
          Hi Ben

          A bit of a late reply, but thanks for the input.

          I've just create my own iconbar for this applet and update this one within the applet.

          rgd's Robbin.

          Comment


            #6
            control squeezebox from xbmc?

            Hi Robbin,

            I tried your XBMC controller and it works nice Only issue is that I can't see the full episode names of my tv shows due to the small screen size. (Maybe the text should scroll?)

            While this works great, I'm curious if you also considered creating a control the other way around: control the Squeezebox from XBMC. Something like a programm addon, that, if you select it, displays a window within xbmc with the output from squeezeplay or the http webinterface from the server.

            That would be awesome

            Comment


              #7
              Hi xburchartz,

              great to hear you liked the applet. I assume you mean scrolling text when you are browsing trough your files? This text is scrolling, but it takes a second or so before it starts scrolling (at least on my SBC it is).

              Creating an addon or script for XBMC sounds cool but I'm not going to create it... It is a completely different way of programming and I don't think there is anything i can copy from this applet. But you should search around in this forum and on the web because I remembered I've seen people trying to create this.

              cheers Robbin.

              Comment


                #8
                how do you install this app?
                Boom - Controller - Touch - Radio

                Comment


                  #9
                  hi Dave,

                  you should install the applet by coping it into the /usr/share/jive/applets directory on the controller. This is how I did it: Enable ssh access on your controller (it is somewhere in settings). Login with ssh to the controller. Now go to the /usr/share/jive/applets directory. From there I copied from an other linux server with scp. So something like scp -r [email protected]<ip>:/<dir> ./
                  I'm sorry but I don't know any simpler way of doing this since the sftp server does not seem to be running on the controller.

                  regards Robbin.

                  Comment


                    #10
                    Originally posted by robbinvandervelden View Post
                    Hi,

                    Since there was no applet availible to control XBMC with the Squeezebox controller, I decided to make one. I must admid I'm not a great programmer, but hey everything seem to work fine. If you have suggestions / found bugs, can post them but I'm to onest I don't want to spend to much time anymore on this applet.
                    To install this applet simply unzip and put the new directory in "/usr/share/jive/applets"

                    The applet wasn't working with XBMC v10, so I did some modifications. There are some other issues fixed as well, for filenames with 'strange'characters and the iconbar is now working.

                    Well enjoy, Robbin.

                    watch: http://www.youtube.com/watch?v=FbJeLEFuFiQ
                    Good god thank you man. I haven't tried it yet but at least you are trying something. I'm about to go freaking insane looking for reliable information for how to use squeezebox on a PC. Is it SoftSqueeze, SqueezePlay, what? And no, SqueezePlay isn't available on the Nightly Builds page. It seems like the entire squeezebox community was just left to rot and I only just now stumbled upon its corpse. There doesn't seem to be any plugin validation (many of them don't work at all) and the whole thing is just a big jumbled mess. And then you uploaded this - finally a bit of sanity in my world. Again, thanks.

                    ... after taking a second look apparently this is for something else and isn't much help to me. Even so, good work man.
                    Last edited by ; 2011-02-03, 02:56.

                    Comment


                      #11
                      Originally posted by mfaine View Post
                      Good god thank you man. I haven't tried it yet but at least you are trying something. I'm about to go freaking insane looking for reliable information for how to use squeezebox on a PC. Is it SoftSqueeze, SqueezePlay, what? And no, SqueezePlay isn't available on the Nightly Builds page.
                      SqueezePlay. And it's on the nightly build pages.

                      Comment


                        #12
                        Does this run on the touch?

                        As my SB touch sits next to the TV it would be kind of cool if it could show now playing info on the touch display of what I'm watching on the TV, and of course allow me to browse to something else while still watching.

                        I'd want the reverse too. Som XMBC screen that just shows what's playing on the touch. Album art, playlist and track info etc.
                        Louis
                        Last.fm

                        Comment


                          #13
                          Menu to select XBMC clients

                          Any chance of a menu to select different XBMC clients, for instance I have XBMC installed on ATV2, mac mini with CrystalHD and my iPad even an old XBOX which I dont use any more. Would be nice to have a menu option to choose which system I was controlling rather than having to change i.p address.

                          BTW, great script. I love it, puts my Harmony One to shame
                          Logitech Media Server Version: 8.2.0, Slim-devices Silver Transporter | SB Touch | 2 * SB Duets | 2 * SB Boom | SB Radio | Pi3 & Pi 4 + HiFiBerry-Amp+ Official Touchscreen + PiCorePlayer, (RIP SB Classic | SB Radio | Wandboard)

                          Comment


                            #14
                            RE: Menu to select XBMC clients

                            Hi Lesliew

                            Thanks, it is always nice to hear people liking this script. To be honest I think it is a bit outdated. Today you have great apps/web pages for XMBC and squeezebox on Android and Iphone. I think they work a lot better and look nicer too! So I'm not going to do any work on this applet, I'm going to buy a android phone :-).
                            But the lua language isn't that hard, so I would say give it a go. You just have to edit this applet.

                            Gr Robbin.

                            Comment


                              #15
                              I'd like the reverse: Use XBMC to control SB and display art and info. Maybe even audio playback, though I know that's more work.

                              Hm. Maybe that's a project for me.

                              Comment

                              Working...
                              X