Dr Lovegrove's Squeezebox Server Utilities

Moose Setup

Back to Homepage


Basic Instructions

First off, download Moose and unzip it into an empty folder.

From Version 0.75 and on, Moose uses the Microsoft .NET Version 4.0 Framework. If you dont have this installed, you can get it via Windows Update, or directly here.

Assuming that's all working, you should be able to start/run/execute Moose.exe.

Unless you've set things up previously, an empty Now Playing window should now appear.

Next, you'll need to configure Moose...


Setup Instructions

To setup Moose for the first time, select the Tools->Preferences... menu option in the main window.



Server Tab

IP Address - This should contain the IP address of the Squeezebox Server machine, or 127.0.0.1 (localhost) if it's the same machine as Moose.

CLI Port - Set this to the port number that Squeezebox Server's CLI operates on - usually 9090. (If Moose and your server are running on different machines, make sure this port is open in the firewall on your moose machine)

Username / Password - If you have security turned on in Squeezebox Server, set these to the same username and password you'd use in your web browser to accessing the Web UI.

Web Server Port - Set this to the port which Squeezebox Server uses to serve webpages - usually 9000. It's mainly used to grab artwork from the server. (If Moose and your server are running on different machines, make sure this port is open in the firewall on your moose machine)




Scanning Tab

Moo file - This is used by the local library system. Rather than rely on Squeezebox Server's database, Moose maintains its own small super-fast database of music file information. The database is stored in the specified '.moo' file.

To populate the local database, Moose needs to scan your music collection somehow. Currently there are 2 ways of doing this: Scanning the folders directly, or Scanning Squeezebox Server's database. Scanning Squeezebox Server's database is definitely the preferred method as it allows access to tags and IDs, but may require some simple extra stages.

The radio buttons in the library data source group-box tell Moose how to scan


Folders

NB: DO NOT use this as your primary scanning method unless you really need to. Just set the path, then use the relevant database scanning radio below.

This should always point to the root location of your music files, despite the scanning method you use. Usually the entry is a windows UNC network share - see Shortcuts and Network Shares below.

The Folders entry is mainly used for folder scanning, but also the copy, tagger and open folder functions use it. Moose will work and be useful without it being set, but obviously these features will have problems.

To use folder scanning, Moose assumes your music set out with the directory structure '<artist>\<album>\song files'.

Originally Moose could only populate its library by scanning folders, so here the option remains, a relic of the past.


Databases

Early versions of Slimserver (up to around 6.5) used SQLite as their internal database engine. Moose no longer supports these old versions, so you're stuck with Moose 0.74. See the SQLite Legacy section below.

From version 6.5 to 7.5.X, Slimserver/SqueezeCenter/Squeezebox Server switched to MySQL, which provided far better performance at the cost of a little extra memory. See the MySQL section below

From version 7.6 and on, Squeezebox Server now has an option to use either SQLite or MySQL. A MySQL database is much easier for Moose to talk to over the network, although it requires more resources. If you're running on a NAS box the likelyhood is that you'll be using the SQLite engine. Moose can talk to both, although configuration of SQLite is a little more tricky than MySQL since you need to share the database file manually somehow. See the newer SQLite section below.

Make sure you select the correct database in Moose's options.


MySQL DB

To get MySQL scanning working with Moose, you need to do 3 things:

If you now click the big Rescan/Update button, hopefully Moose will scan the MySql database and populate the moo file.

The three options below the scan button should generally be ticked.

Update thumbnail cache after a rescan - If this is ticked, during the rescan process Moose will run through all the albums in your collection and request album art for each album that has it, but for which there is no cached thumbnail. If Amazon functionality is also enabled, Moose will query amazon for a few random missing covers as well. It only does a few to comply with Amazon's cover-leeching rules. Whilst doing all this it also works out the average colour for each cover. These average colours are used in Moose for placeholders and colour sorting functionality, particularly in the Cover Chooser window. Having this option ticked can mean a rescan takes a little longer, particularly the first time it is run. An alternative to checking this option is to click the 'Update Thumbnail Cache Now' button in the Library Tab.

Fast Scan - There are now two scanning modes. Fast scan is quicker, but places more demand on the server. If scanning fails for any reason, it's worth disabling fast scan and trying a 'slow scan'.

Out Of Date Warnings - If this is ticked, when you open the library window, Moose will check if the timestamp on its local scanned data matches the timestamp on the server database. If the server is more recent it will suggest a rescan to keep things up to date.





SQLite (Legacy)

If you're on version 6.3 of slimserver or earlier and are using Moose 0.74 or earlier, this is the scanning method for you.

To use the older SQLite functions you must have downloaded the x86 DLL package from http://adodotnetsqlite.sourceforge.net/downloads/ and copied SQLite.NET.dll and SQLite3.dll into the same folder as Moose.exe (or put them both on your path somewhere).

The SQLite field should be set to contain the path of your slimserver db file. (NB: To solve potential server crashes, it's wise to use a copy of the .db file rather than the live db file - if the 'Copy Locally Before Scanning' option is ticked, Moose will attempt to do this automatically). When the path is set, hit the Rescan button. A progress bar window should hopefully be displayed.




SQLite (NEW)

This is used by the very latest versions of Squeezebox Server, versions 7.6 and above. (If you're still on 6.3, see the legacy sqlite section)


Update thumbnail cache after rescan - For speed Moose caches album artwork locally. If this is checked Moose will do this caching straight after scanning the database. If it's not checked, Moose will cache as and when required.

Fast Scan - Fast scan essentially keeps a couple of connections open to the database whilst scanning. If you've got a lot of tracks, the scans can take a while and if the database changes whilst the scan's happening the connections can get severed and the scan fails. If you find this happening, try disabling fast scan.

Out Of Date Warnings - When loading a .moo file, if this is checked Moose will connect to the database and see if it's been changed since Moose last scanned it. If it has, and the next option isnt ticked, a dialog will appear suggesting a rescan.

Automatically Rescan Without Warning - If Moose detects that the server's database has changed since it's last scan, it will automatically trigger a .moo file rescan.

Favour AlbumArtist over Artist tag - When scanning if Moose detects a track has both the AlbumArtist and Artist tags filled in, this option controls which it favours for listing in the library.



Library Tab

Cache Folder - Set this to a folder in which to cache thumbnails for the albums list in the library. Set it to empty to stop coverart being displayed.

Album Height - This is the height of each item in the albums list in the library window. The default is 48 pixels, but any value between about 8 and 200 could be used.

Update thumbnail cache now - If you want to manually refresh your thumbnail cache, this is the button for you. Average colour values will also be computed whilst the caching is going on. If you have the 'update thumbnail cache after a rescan' option turned on in the scanning tab, you shouldnt need to do this.

Colour sort mode - When sorting albums by the colour of their artwork, this specifies how to sort them.

Simplify genre text - When displaying a genre, if this is ticked Moose will run the string through a set of standard genres and attempt to work out which matches it best.

Initial Focus - This sets the control to be given focus when the library window is first opened. Handy for touch-screen devices.

Enter Key - This is the functionality that happens when you type in a search and hit in the Library window.

Double-click - This is the functionality that happens when you double-click an item in the Library window.

Enable Undo for Current Playlist Edits - This will allow any accidental changes to the current playlist to be reversed. Suppose you double-clicked an album by mistake in a library window and it started playing. Selecting Playlist->Undo from the menus or using the standard windows shortcut CTRL+Z would go back to what you had playing before.




Now Playing Tab

Options relating to the main Now Playing window.




Players Tab

The controls at the top used to be the way of selecting between different players, but the players menu in the Now Playing window is now the preferred method for doing this.

The list control in this dialog also allows player selection, either by selecting and player and clicking 'control', or even just double-clicking a player. You can also use the list to sync and un-sync players.




System Tab

Options relating to Moose startup and tray icon functionality, including the toast popup feature.




PartyMode Tab

Options relating to Moose's PartyMode.

PartyMode allows the user to disable certain functionality in Moose and to alter the way queuing up tracks works.

You can toggle PartyMode either using the Tools->View Mode menu, or the keyboard shortcut




Text and Colours Tabs

Options relating to Moose's general appearance.

Note if you Save a Scheme you can drag & drop the xml file onto Moose's main window to reload it.

Schemes contain all the settings from the Text and Colours tabs.

If you get in a mess, click the 'Reset Colours to Defaults' button.



The Bitmap Path option here supports multiple paths seperated by semi-colons. The Paths can point to single bitmaps or folders containing multiple bitmaps. The Paths support some basic macros such as:

%title%, %artist%, %album%, %year%, %tracknum%, %filetype%, %index%, %power%, %currenttitle%, etc

These get substituted for the current value when a new bitmap is requested, which is currently when the playing track changes. When resolving a bitmap, Moose uses the left-most path first. If no bitmaps are found, it moves to the next bitmap, etc..




Buttons Tabs

Options relating to Moose's custom button system.

Currently you can only access these custom buttons via right-clicking the popcorn button.

Experimental IRBlaster support can also be accessed from here.




Misc Tab

Logging - When the 'enable debug log file' option is checked, Moose will write debug logging information to a file called 'log.txt'. This can be handy when tracking down problems, particularly with the scanning functions.

Copy To - Moose has a 'copy' function which copies the selected artist's/album's files to the folder specified here when you select and click 'copy' in the main dialog. This can be quite handy if you have a portable mp3 player, or just wish to back things up.

Tagger App - Keeping the ID tags on a music collection up-to-date is quite a task, and often the odd album slips through the net. Moose has the facility to launch an external tagging application (via the Tagger button on the main window). Paste in the complete path to your favourite tagging application's exe file here. When you click the Tagger button, this app will be launched with the path to the currently playing song, or root if nothing is playing, as a parameter. Everyone recommends different tagging applications, but I swear by Tag&Rename, and this feature works flawlessly with it.

NB: The Tagger and Copy To features only work with folder scanning at the moment.

SqueezeSlave - Squeezeslave is a headless and less CPU intense version of Softsqueeze. If you've downloaded Squeezeslave, put the full path to Squeezeslave.exe in this control. After doing so, clicking 'squeezeslave' in the now playing players menu will start squeezeslave running (and hence provide music playback on the machine running moose).

SqueezePlay - If you've downloaded SqueezePlay, put the full path to Squeezeplay.exe in the path control and you'll be able to select it as a player in the players menu.

Amazon - Choose your favourite amazon website. Moose uses Amazon for the similar albums feature, coverart downloading and links to the currently playing album.


The Library

Click the Library button in the main window. The library dialog (similar to that pictured below) should appear.

The Library window used to be the main focus of Moose, and it still contains the main menu and status text.

If the library contains no tracks, check your settings in the Options dialog.

After setting things up and doing the relevant 'Rescan', the Library should be usable.

Initially both the artists and albums lists will contain all the artists and albums in your collection.

If you click on an artist, the albums list will now just display albums by that artist, and the files list will show all the files for that artist.

If you click an album, the artists list will show all the artists in your collection, but select the relevant artist for the selected album, and the files list will just show files for that album.

You can use the standard and windows list multi-select features.

The tabs above the artists and albums lists allow sorting by various modes. Click the tab again to reverse the sort order.

  • Name - Sort by the artist/album name
  • Date - Sort by the artist/album timestamp
  • Rnd - Sort randomly - click again to keep resorting
  • Sort - Sort artists using the ARTISTSORT tag
  • Format - Sort by the file-type of the tracks in an album
  • Year - Sort by the album's year, if one has been set via ID3 tags
  • Tracks - Sort by the number of tracks in the album
  • Colour - Sort by the average pixelcolour of the album art (see Colour Sort Mode in Library preference tab)
  • Genre - Sort by the album's genre. Note that for albums with multiple genres, only 1 of the genres is used for this
  • The edit-control at the top left allows filtering and searching based on your whole collection. It filters as you type, so there is no need to press <Enter>. In fact, if you do press <Enter> it will do the same as clicking the play button, although this is configurable in the library tab of the prefs.

    The search algorithm is case insensitive, and it uses substrings, so if you typed 'lo' with the displayed groups, you'd get 'Eno Sockdraw Explosion' and 'Heavy Lobster', as they both contain the string 'lo'. It also allows multiple words, and breaks them up into separate searches, so 'lo vy' would match 'Heavy Lobster' but not 'Eno Sockdraw Explosion'.


    The Show All button shows all your songs, albums and artists. If you click it with held down, it wont show all your songs, but will show all the albums much quicker.

    The Current button selects the currently playing album.

    The Rnd button fills the file list with all the files in your collection and selects a random file.

    The Insert button adds the currently selected item just after the playing item in the current playlist.

    The Add button adds the currently selected item to the end of the currently playing playlist.

    The Play button clears the current playlist and plays the currently selected item.

    At the bottom of the dialog there is a 'status line' which shows information about what Squeezebox Server is currently playing. Clicking here when playing should highlight the playing track in the list boxes. This status line can also provide useful feedback if there was a problem connecting to the server.

    The album list contains thumbnails of the albums listed. Moose gets these from Squeezebox Server and caches 100x100 thumbnails of them in the folder specified in the 'thumbnails:' control in the preferences dialog. If you dont want to see thumbnails, or if there are problems, set the option to an empty path.

    You can change the height of the albums in the albums list. The default is 48 pixels, but any value between about 8 and 200 could be used. Actually, when the height is above 100 pixels, Moose caches and uses the original cover-art image, rather than the resized one, so it may be a bit slower.


    Now Playing dialog

     

    The 'Now Playing' dialog displays information on the currently playing track and playlist, and provides some simple control over the player.

    It should be fairly obvious what's what here, but there are a couple of features hidden by mouse-clicks:

  • Clicking the time-line will perform a seek on the current song.
  • CTRL+clicking the thumbnail will force a reload from the server.
  • Clicking the 'Shuffle' button will cycle through the various shuffle modes.
  • Clicking the 'Repeat' button will cycle through the various repeat modes.
  • Clicking the 'Tags' button will toggle the displayed track/artist/album text from being filename-based to being tag-based.
  • Clicking anywhere along the volume button will alter the volume.
  • Clicking the song, artist or album text will toggle 'normalising mode'. Currently this will strip leading 'The's and capitalise the 1st letter of the displayed text.
  • At the bottom right of the window are some basic control buttons. These mirror the remote's functionality.

    Popcorn

    The cat amongst the pigeons here is the popcorn button. Pressing this invokes a 'popcorn' entry in your server's ir/default.map (custom.map seems to be broken now ?)

    For example, if you added the line to the common section of ir/default.map:

    popcorn = modefunction_Slim::Plugin::RandomPlay::Plugin->tracks

    Upon restarting your server, clicking the popcorn button would invoke RandomMix->Songs

    If you wanted random albums:

    popcorn = modefunction_Slim::Plugin::RandomPlay::Plugin->albums

    Another, slightly cleaner way of invoking random songs is to use:

    popcorn = randomPlay

    Note that right-clicking the popcorn button brings up the list of custom buttons (see the preferences buttons tab). In the future these buttons may replace the popcorn button.

    Menus

    At the top of the window, there is a menu-bar.

    The Player menu allows you to select a player.

    The Player->Start SoftSqueeze menu item will launch a new version of SoftSqueeze on your local PC.

    The Player->Start SqueezeSlave menu item will launch a new version of SqueezeSlave within Moose. When you close Moose, this instance of SqueezeSlave will be closed also.

    The Player->Start SqueezePlay menu item will launch a new version of SqueezePlay on your local PC.

    The Player->Exit option closes Moose.

    The Playlist menu contains current playlist editing functions.

    The Control menu allows you to control the currently selected player.

    The Tools->Open Library menu item opens the song selection / searching window.

    The Tools->Open Library Tree menu item opens the Library Tree.

    The Tools->Open Cover Chooser menu item opens the Cover Chooser.

    The Tools->Open Biography menu item opens the Biography window. This relies on a server plugin.

    The Tools->Open Album Review menu item opens the Album Review window. This relies on a server plugin.

    The Tools->Launch Tagger menu item opens an external tagging application and passes the currently playing album to it. (see the options section)

    The Tools->Open Folder menu item opens an exporer window containing the currently playing song.

    The Tools->Lookup submenu items attempt to find the album you're currently playing on varios websites. Handy for reviews and recommendations.

    The Tools->Export Library... menu item allows you to export your current collection in various formats.

    The Tools->View mode submenu allows you to switch between Touch-screen, Full-screen and Party modes.

    The Tools->Open SlimServer Browser menu item opens a web-browser pointing to the Squeezebox Server home-page for the current player. Note that clicking the root menu item opens the main homepage whilst clicking the sub-items opens the various sub-pages.

    The Tools->Preferences... menu item opens the preferences window.


    Playlist

    The list in the bottom half of the Now Playing dialog displays the currently playing playlist.

    Double-clicking any track in the playlist will cause the player to start playing that track.

    To reorder the playlist, use drag and drop on the tracks.

    To add or remove columns, right-click the column header.

    The playlists menu provides extra playlist functionality.

    Normally the playlist should remain in sync with the server, but if for any reason it becomes out of sync, click the Playlists->Refresh menu item and it'll be re-requested from the server.




    Cover Chooser dialog

     

    "Tools->Open Cover Chooser" brings up Moose's album art chooser dialog. There are various filtering and display options.

    Double-clicking a cover makes it play. CTRL+Double-clicking adds the cover to the current playlist.

    To get the best out of the cover chooser scanning via MySQL and caching thumbnails after scanning is recommended.


    Library Tree dialog

    "Tools->Open Tree" brings up Moose's library tree dialog.

    This dialog allows you to select internet radio stations, dynamic playlists and albums from your main library.

    Expand the branches and use the context menu to play, add or insert your choice.

    Besides the context menu, you can also double-click items to play or open them.

    As with the cover chooser, this is still very much a work in progress item.

    One thing to note is the different root nodes:

  • Library - this sub-tree displays artist/album information gathered when Moose last scanned Squeezebox Server's database (ie, the contents of the moo file). It'll be quick and usable, but as with the list-based dialog, if the server's done a rescan and Moose hasn't, it'll contain out of date information.
  • Server - this sub-tree shows live information directly from the server. It'll be up-to-date at the time of opening a subtree, but since it's got to query the server, it can be a little slow.
  • Radio - on 6.5 and later this sub-tree will show all the supported internet radio channels.
  • Content - on 6.5 and later this sub-tree will show things such as RSS. With RSS if you double-click a story it'll open a webpage with the full version.

  • Shortcuts and Network Shares

    Moose supports windows UNC network shares '\\servermachine\mp3s', so no matter what platform your server is running on, you should be able to access it via Moose.

    Also, if your collection uses windows shortcuts (.lnk files), there is a feature which allows Moose's folder rescan to resolve the .lnk to a different location (as the normally resolved location wouldn't work over a network share).

    In brief:

  • Create a file called 'links.txt' and place it alongside Moose.exe.
  • When you start Moose, this file will be read and the new destinations used when rescanning.
  • The format of the file is pretty simple: <name of lnk file>:<new target to use>
  • So, in your links.txt file, you could create lines like these:
  • a.lnk:\\server\mp3s1\a
    b.lnk:\\server\mp3s1\b
    z.lnk:\\server\mp3s2\c
    various.lnk:\\server\moremp3s\various

  • With this example, when moose's folder scanning routine hit a file called 'various.lnk', instead of resolving it to 'E:\moremp3s\various' (or whatever) it resolves it to '\\server\moremp3s\various', which is more network friendly. Obviously you'd have to make sure all your shared mini-collections were accessible in the same way as your main root.



  • Resetting / Uninstalling Moose

    If you want to reset Moose, or even completely remove it, here's a list of what Moose creates:

    1. All the preferences are stored in the registry down the following key:

          HKEY_CURRENT_USER\Software\Moose

      If you close Moose, then delete the whole Moose registry node, then next time you run Moose it will default back to its defaults.

    2. The cache folder, as pointed to via Moose's "Preferences->Library tab->Thumbnails" section.

      This cache folder is primarily used for caching resized cover art.

      If you use SQLite scanning, the db can be copied here too.

    3. The moo file, as pointed to via Moose's "Preferences->Scanning tab->Local library" section.

      This is Moose's local version of the server's database in Moose's own format.

      The file is created when you succesfully scan the server.

    4. Moose's undo system works by creating MooseUndo playlists before each playlist altering action.

      To undo the action it just loads the last created playlist.

      The playlists are stored and created by the server, so should appear in your playlists folder as 'MooseUndo1.m3u', 'MooseUndo2.m3u', 'MooseUndo3.m3u', 'MooseUndo4.m3u', and 'MooseUndo5.m3u'.

      These are all safe to delete.

      You can turn this off by unticking the 'Enable undo for current playlist edits' option in the Library tab.

    5. Finally, if you are uninstalling, dont forget Moose.exe and any database adaptor dlls you may have downloaded.




    Tips / Bugs

  • Opening and closing the Options window will force Moose to re-connect to Squeezebox Server - this can sometimes fix communication problems between the two.
  • If Moose isn't working in the expected manner, turn on the logging function in the Preferences->Misc tab and email me the log.txt file which it will produce alongside the exe.
  • If Moose dies and shows a call-stack or any other verbal explanation of why it crashed, please copy and paste it into an email and I'll try and sort it out.
  • Any problems, suggestions, etc, feel free to drop me a line (email address at the bottom), or post to the slimdevices forum.




  • For news and updates, join this fellow:
    Google Groups Beta
    Subscribe to MooseNews
    Email:
    Visit this group


    Comments, hello's and suggestions welcome: drlovegrove@gmail.com

    Help keep Moose alive. Donations (paypal) and gifts (Amazon wishlist) always welcome.


    Back to Homepage