PDA

View Full Version : Fat Gooey for Slim Server



barrygordon
2007-02-03, 16:29
I was not sure where to put this so I decided to try here.

I just finished a program which provides a Windows Graphical interface to control players connected to Slim Server. The program communicates only with Slim Server and does not communicate with any player. It is reasonably fast with what I consider to be a rich interface. others may disagree. I am not a graphic artist.

The program has been tested on a network with two players (Transporter and Squeezebox)running under Windows XP Pro SP2. There is no reason why it should not run on any Windows system as it uses no XP specific capabilities. The program is fully documented and is available both as a full installation package and a set of files.

The program resides on my web site www.the-gordons.net. Seek and Ye Shall Find. Feedback and comments appreciated. Please - READ THE DOCUMENTATION.

Mark Lanctot
2007-02-03, 17:00
Barry:

I'm very pleased to see you went ahead with this! I can't wait to try it out.

For those that didn't see this, Barry released a very interesting testing application here:

http://forums.slimdevices.com/showthread.php?t=31858

It seemed to be very fast and felt like the "native Windows app" that lots of people have been asking for.

If you're one of those that have asked for a native windows app, this is could be a good beginning.

Nostromo
2007-02-03, 17:01
Good. I'll try it. Love the name, BTW. Fat Gooey :)

Skunk
2007-02-03, 17:35
Hi Barry.

Using Win2k with zone alarm firewall, I'm not able to get past Initialization due to:
2/3 19:26:15 TCP Socket Error Fired
***** Connection is forcefully rejected; SocketState=9 (Error)

Same result with Zone alarm off.

Sorry if it's covered elswhere or a basic networking ?.

Thanks, and great work- in advance!

ddewey
2007-02-03, 17:46
Quoting Skunk (Skunk.2lgg8n1170549601 (AT) no-mx (DOT) forums.slimdevices.com):

>
> Hi Barry.
>
> Using Win2k with zone alarm firewall, I'm not able to get past
> Initialization due to:
> 2/3 19:26:15 TCP Socket Error Fired
> ***** Connection is forcefully rejected; SocketState=9 (Error)
>

Exact same error here, no firewalls involved.

Slimserver running on a separate Linux box.

barrygordon
2007-02-03, 17:56
Hi Barry.

Using Win2k with zone alarm firewall, I'm not able to get past Initialization due to:
2/3 19:26:15 TCP Socket Error Fired
***** Connection is forcefully rejected; SocketState=9 (Error)

Same result with Zone alarm off.

Sorry if it's covered elswhere or a basic networking ?.

Thanks, and great work- in advance!

SkunK,

That message says that the server refused the connection. Please check the ini file server IP address to ensure that it is correct. I am assuming you changed the IP address in the file to yours.

In my world, all of the equipment is on my side of the firewall, NAT. If you can get to the slim server from you players and they are on the same network as the app, we have a stumper. The CLI port is 9090 your host of SLIM Server must have that port available to be connected to.

barrygordon
2007-02-03, 18:15
To the fellows having problems: Did you download the installation package or just the files. I just took a look and the installation package includes a couple of programs for Windows that I thought were on every system but perhaps not. In particular:

mswinsck.ocx
SocketX.OCX

which have to do with socket operations.

If you did not try the installation version please do and let me know if that solves the problem. If you did use the installation version then I need to do more homework.

Once an installation is done, then updates can just be of the exe.

Skunk
2007-02-03, 18:24
The CLI port is 9090 your host of SLIM Server must have that port available to be connected to.
Sorry about that, I forgot I disabled the plugin for CLI. It is opening now.

After initializing, the player shows the correct song info but fails to update new songs. It seems the duration continues past the actual duration of the song rather than updating at completion or using the skip button. The log sees the change immediately. I can PM you another snippet and screenshot if you'd like.

Thanks again.

ps- installed the package.

ddewey
2007-02-03, 18:26
Quoting barrygordon (barrygordon.2lgi3b1170552001 (AT) no-mx (DOT) forums.slimdevices.com):

>
> To the fellows having problems: Did you download the installation
> package or just the files. I just took a look and the installation
> package includes a couple of programs for Windows that I thought were
> on every system but perhaps not. In particular:
>
> mswinsck.ocx
> SocketX.OCX
>
> which have to do with socket operations.
>
> If you did not try the installation version please do and let me know
> if that solves the problem. If you did use the installation version
> then I need to do more homework.

I used the installation program - what's more concerning is that Slimserver
dies after trying to start Fat Gooey. I discovered this when I tried to
telnet to the CLI port from my windows machine - I couldn't connect because
slimserver was dead. Restarted it, restarted Fat Gooey, and slimserver died
again.

Here's the bottom of the Fat Gooey log:
2/3 20:06:03 SQZ Sending player count ?, Timer set to 0
2/3 20:06:03 TCP Socket SendProgress Fired: ***** Bytes Sent=15; Data
Sent=70, 6C, 61, 79, 65, 72, 20, 63, 6F, 75, 6E, 74, 20, 3F, 0A;
SocketState=7 (Connected)
2/3 20:06:03 TCP Socket SendComplete Fired; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket SendComplete Fired: ***** Data Sent=70, 6C, 61, 79,
65, 72, 20, 63, 6F, 75, 6E, 74, 20, 3F, 0A; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket DataArrival Fired: ***** Byte Count = 15; Data
Rcvd=70, 6C, 61, 79, 65, 72, 20, 63, 6F, 75, 6E, 74, 20, 33, 0A;
SocketState=7 (Connected)
2/3 20:06:03 TCP Socket Data Rcvd=player count 3
2/3 20:06:03 SQZ Received: player count 3
2/3 20:06:03 SQZ Received:
2/3 20:06:03 SQZ Player count is 3
2/3 20:06:03 SQZ Sending players 0 1, Timer set to 0
2/3 20:06:03 TCP Socket SendProgress Fired: ***** Bytes Sent=12; Data
Sent=70, 6C, 61, 79, 65, 72, 73, 20, 30, 20, 31, 0A; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket SendComplete Fired; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket SendComplete Fired: ***** Data Sent=70, 6C, 61, 79,
65, 72, 73, 20, 30, 20, 31, 0A; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket DataArrival Fired: ***** Byte Count = 191; Data
Rcvd=70, 6C, 61, 79, 65, 72, 73, 20, 30, 20, 31, 20, 63, 6F, 75, 6E, 74, 25,
33, 41, 33, 20, 70, 6C, 61, 79, 65, 72, 69, 6E, 64, 65, 78, 25, 33, 41, 30,
20, 70, 6C, 61, 79, 65, 72, 69, 64, 25, 33, 41, 30, 30, 25, 33, 41, 30, 34,
25, 33, 41, 32, 30, 25, 33, 41, 30, 35, 25, 33, 41, 61, 36, 25, 33, 41, 35,
30, 20, 69, 70, 25, 33, 41, 31, 39, 32, 2E, 31, 36, 38, 2E, 30, 2E, 31, 33,
33, 25, 33, 41, 32, 31, 35, 34, 34, 20, 6E, 61, 6D, 65, 25, 33, 41, 4B, 69,
74, 63, 68, 65, 6E, 2D, 42, 61, 63, 6B, 79, 61, 72, 64, 20, 6D, 6F, 64, 65,
6C, 25, 33, 41, 73, 71, 75, 65, 65, 7A, 65, 62, 6F, 78, 32, 20, 64, 69, 73,
70, 6C, 61, 79, 74, 79, 70, 65, 25, 33, 41, 67, 72, 61, 70, 68, 69, 63, 2D,
33, 32, 30, 78, 33, 32, 20, 63, 6F, 6E, 6E, 65, 63, 74, 65, 64, 25, 33, 41,
31, 0A; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket Data Rcvd=players 0 1 count:3 playerindex:0
playerid:00:04:20:05:a6:50 ip:192.168.0.133:21544 name:Kitchen-Backyard
model:squeezebox2 displaytype:graphic-320x32 connected:1
2/3 20:06:03 SQZ Received: players 0 1 count:3 playerindex:0
playerid:00:04:20:05:a6:50 ip:192.168.0.133:21544 name:Kitchen-Backyard
model:squeezebox2 displaytype:graphic-320x32 connected:1
2/3 20:06:03 SQZ Received:
2/3 20:06:03 SQZ Sending players 1 1, Timer set to 0
2/3 20:06:03 TCP Socket SendProgress Fired: ***** Bytes Sent=12; Data
Sent=70, 6C, 61, 79, 65, 72, 73, 20, 31, 20, 31, 0A; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket SendComplete Fired; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket SendComplete Fired: ***** Data Sent=70, 6C, 61, 79,
65, 72, 73, 20, 31, 20, 31, 0A; SocketState=7 (Connected)
2/3 20:06:03 TCP Socket Close Fired; SocketState=8 (Peer is closing the
connection)

I don't see anything untoward in the slimserver logs, but I haven't enabled
any debugging yet.

dd

Skunk
2007-02-03, 18:41
I'm going to attach my screenshot, because not updating song info may have something to do with the fact that my control buttons aren't loading.

ps again- Another reason for posting it is the fact that I wasn't able to see the screenshots in your documentation, because I don't have MS Word (graphics conversion filter error).

barrygordon
2007-02-03, 19:24
To all my beta helpers. I really appreciate the help. As you can imagine "It works fine for me", I lost my arrogance many years ago. Writing code for others to use can be so humbling. F Brooks (a major player in the software world at one time), said that the difference in cost between a program, something only its author can use, and an application something anyone can use is ten fold.

Skunk: Please send me your ini file, I want to check some things. I assume you have just one player, but the player is not selected in the players list which is wrong. On seeing only one player it should select it in the players list and therefore the screens should expand.

dd: hmmm, do not see why yet. If you can run a test, send me your ini file and the full diaglog file. It rebuilds it whenever FAT Gooey starts.

my email is barry@the-gordons.net

aubuti
2007-02-03, 19:27
Thanks for the effort. I used the installation package, and starting Fat Gooey (from a Win2K laptop) crashes slimserver (running on a debian-based LinkStation) every time. I haven't enabled Fat Gooey logging, but the slimserver log shows:

*** glibc detected *** free(): invalid next size (fast): 0x127dc1d8 ***

barrygordon
2007-02-03, 19:37
Skunk,

I updated the web site (Files download only not the installation package) with a new version. It should fix your problem (so far). What kind of system are you running the slim server on? Windows or other? If other what kind? It seems Fat Gooey crashes slim server for those not running on a windows machine.

barrygordon
2007-02-03, 19:40
Skunk,

Also I see the text is not fitting well. Do you have the Arial Narrow fonts installed? I guess they are not as common as I thought they were. I need to look at the sizing of text and the fonts I select.

Skunk
2007-02-03, 19:45
Skunk: Please send me your ini file, I want to check some things. I assume you have just one player, but the player is not selected in the players list which is wrong.

Everything works for me if I remove the comment notation from the start player command. I did change the name, but get the same result that I posted if Start Player is commented out (with only one player as you guessed).

From config settings:
' If there is more than one player, then you can name the player to open on startup
'Start Player = squeezebox

Skunk
2007-02-03, 19:50
Skunk,

I updated the web site (Files download only not the installation package) with a new version. It should fix your problem (so far). What kind of system are you running the slim server on? Windows or other? If other what kind? It seems Fat Gooey crashes slim server for those not running on a windows machine.

My server isn't remote (my desktop PC). Windows2k with service pack 4. I also installed the .NET framework 2.0 for inguz if that matters.

barrygordon
2007-02-03, 20:05
yes I had a badly formatted piece of code. The version on the web site (files) fixes it. I will also reWork all of the text to use Arial as opposed to Arial Narrow. I like Arial Narrow as long text then shows up, but no big deal. probably post it tomorrow.

I am going to take a break and catch up on some TV.
Need to do a lot tomorrow before Super bowl as SO comes home tomorrow.

smc2911
2007-02-03, 20:09
Had a quick look. A couple of minor comments: the display can't seem to handled (utf8) accented characters. Also, it would be nice to be able to resize the window (on my notebook, the whole thing doesn't fit on screen unless I auto-hide the windows task bar).

Skunk
2007-02-03, 22:00
yes I had a badly formatted piece of code. The version on the web site (files) fixes it. I will also reWork all of the text to use Arial as opposed to Arial Narrow. I like Arial Narrow as long text then shows up, but no big deal. probably post it tomorrow.

I am going to take a break and catch up on some TV.
Need to do a lot tomorrow before Super bowl as SO comes home tomorrow.

The new version did work. I think there is a lot of potential there, especially seeing it's context within your automation system.

One other problem I wanted to mention was having a dozen gooey.exe processes when I checked task mgr. He doesn't seem to kill them when closed and opens a new one when run.

On to the feature requests :-)
The speed of pulling genres etc is making me want to see what it can do with album art. Any plans for this?

Moving things in the playlist needs work, and I wonder if drag/drop is a possiblity here.

Enjoy the game. Did you say we're all invited? I'll be wearing blue and white for sure! (from Indianapolis)

ps- I don't have the arial narrow font.

barrygordon
2007-02-03, 22:21
Skunk,

I will add a revisions log to my web site as I make changes. I will look at the exit issue, did not notice that on my system, but then again I never looked(:-) I am changing the font from arial narrow to arial and resizing the text and label windows. I assume you have Arial as that is what your system defaulted to when it did not see Arial Narrow.

On my Theater system it does handle Album art so I have the code, but only shows it when the screen saver (which I have not ported over yet)is operating. What would you like done with album art? Thumbnails instead of a list when viewing albums in the library frame? I did that for my DVD's but then found most people just wanted to see the titles with the ability to show a detailed infor screen on the DVD. I could do that for the CD, providing the tracks have full tags with all the info. In my DVD system I (actually DVD profiler) pull all info from a DVD database.

With regard to the playlists and drag/drop anything is possible. I assume you would like to be able to pull up albums (filtered) expand to songs/tracks and then drag/drop? Right now you can add to the Current Play List Whole albums or all content of an artist), re arrange it (move delete) and then save it. I guess expanding a selected item in the library would be a good start. I will do that next week

ceejay
2007-02-04, 02:43
Hello

One question and one suggestion:

- would someone like to comment in a "compare and contrast" sort of way how this compares with Moose, which superficially does the same thing?

- Barry: if/when you think this is ready for general use you might want to list it at http://wiki.slimdevices.com/index.cgi?PluginRemoteControls

Ceejay

barrygordon
2007-02-04, 03:06
Hello

One question and one suggestion:

- would someone like to comment in a "compare and contrast" sort of way how this compares with Moose, which superficially does the same thing?

- Barry: if/when you think this is ready for general use you might want to list it at http://wiki.slimdevices.com/index.cgi?PluginRemoteControls

Ceejay

I did not know about Moose although it was mentioned to me. I will ist it as you suggest in a couple of days.

Skunk
2007-02-04, 09:03
Barry,

Like I said it seems to fit well within your home automation system, so I don't want you to change anything on my account.

If art and drag/drop are easy to implement I think it would enhance the user experience, but then again if you're standing up (next to a wall that the screen is located on) I doubt you'd want to edit playlists or view all your album covers. Maybe a good compromise would be to show the currently playing artwork where browse is located, and have a seperate button for browsing title .

I would love to be able to run this on a windows CE tablet (SH4 processor), because of it's lack of support for 802.11g wireless. Do you have any idea of the system requirements other than windows OS?

Ceejay, I think of Gooey as more of a kiosk type home automation application, whereas moose is more of a full featured application. One is to use when standing up, the other while sitting with your laptop on the couch.

barrygordon
2007-02-04, 11:36
Skunk et al.,

FAT Gooey is completely separate from my Home Automation system. They just have a lot of code in common (the main TCP/IP code and command handling) The program should run on anything that runs VB6. That is what it is written in. It needs the socket controls from Windows/System and some others most of which may be in Win CE.

I did not do Drag drop but I have implemented something that should meet your needs (see "Expand" in the new version I just posted). When I do the screen saver it will basically look like the top frame, plus a copy of the artwork floating around the screen. That is how it appears in my HT so I have most of the code.

The new version makes a lot of cosmetic changes, eliminates the use of the font "Arial Narrow" (Uses Arial). I may go back to Arial Narrow but set all of the text boxes to be sized for Arial since if Windows can not find Arial Narrow it uses Arial. It adds a command called expand which will expand a selected artist, album or Genre to a song list for movement of individual songs to the Cureent Play list. The Library list now allows for multiple selections (shift for range selection and control for item select/deselect) to simplify "Add".

Let me know what you think

barrygordon
2007-02-08, 21:44
I have added some features to enable Playlist construction and fixed some bugs. The current version is at my web site (www.the-gordons.net). There is now an expand command to expand any library listing (eg artists) down to songs so they can be selectively added to the playlist.

Ther is also now a screensaver that is a standard windows screensaver that will show you what is currently playing. In addition if the player is off it displays the cover art stored in the library as thumbnails.

The only major issues reported are a failure when slim server is not running on a Windows system (I feel this is a Slim Server issue as it crashes with certain CLI sequences) and an issue with displaying diacritical marks in UTF-8
Feedback appreciated.

CardinalFang
2007-02-09, 04:53
The only major issues reported are a failure when slim server is not running on a Windows system (I feel this is a Slim Server issue as it crashes with certain CLI sequences) and an issue with displaying diacritical marks in UTF-8
Feedback appreciated.

I built a Java interface to SlimServer and had crashes on my Mac system during the CLI albums command. I fixed it by updating the Perl Encode module using CPAN, the fix was somewhere else on this site, so I can't claim to have found the solution myself :-)

You might try this:

Open a terminal and then type:

sudo cpan
force install Encode

You may be asked for a password, also I found that my default installation didn't have make set up. If you get errors during the build of the type "-- NOT OK", then type o conf at the cpan prompt. If make isn't defined, try typing the following:

o conf make /usr/bin/make

and try running the install again.

aubuti
2007-02-09, 18:45
The only major issues reported are a failure when slim server is not running on a Windows system (I feel this is a Slim Server issue as it crashes with certain CLI sequences) and an issue with displaying diacritical marks in UTF-8
Feedback appreciated.
I was having crash problems on my debian-based Buffalo LinkStation, but after upgrading the perl to 5.8.8 I've got FatGooey running okay. The extended Latin characters (like c cedille) are still mucked up. I look forward to playing around with this.

Pretty nice having FatGooey and the very nice slimfx skin come out within days of each other!

barrygordon
2007-02-11, 21:28
Thanks for the feed back.

I just added a very nice Screen Saver to the FatGooey files. I want to do a little more work on it, but it is totally usable. If it finds no Slim devices powered up it displays album covers as thumbnails in a "Pong" window. If it finds one powered up it displays the playing status of that one in the "pong" window. If it finds more than one powered up and one if them has been selected as the one to monitor it displays the status of that one. If the user did not select a default player it will select either the first or last one it found that wa spowered up.

The Screensaver is independent of Fat Gooey and does not need it to run.