www.homeseer.com    
 

Go Back   HomeSeer Message Board > Media Plug-ins > Media Discussion > SqueezeBox Plug-In (3P)

SqueezeBox Plug-In (3P) Discussion area for the SqueezeBox plug-in by PCP.

Reply
 
Thread Tools Display Modes
  #1  
Old April 19th, 2009, 09:19 PM
pcp pcp is offline
Super Seer
 
Join Date: Jan 2006
Location: MA
Posts: 1,647
SqueezeBox plugin V1.6.0 beta 3 in Updater

Version 1.6.0 Beta 3 of the SqueezeBox plugin is available from the updater. It includes additional bug fixes and features since beta 2. Please refer to the documentation for further details. I did some testing but would like to get more feedback before making it available via the updater. This beta version requires at a minimum HS2 2.3.0.33 and SqueezeCenter 7.3.

To install:
  • Use the HS2 Updater to install it. You will need to uninstall any existing plug-in prior to installing it using the updater. This limitation will be resolved in the final version.
  • Restart HomeSeer
  • Do not forget to update the SqueezeCenter plugin (see below)
Bug Fixes
  • Fixed Duet volume control when used in non US locale
  • Always using LAN IP address in Duet/SB menus command
New features
  • Supporting SqueezeCenter Extension Downloader to install the SqueezeCenter HS2 plug-in
The SqueezeCenter plug-in is included in the HS2 Plug-in installation and stored in directory \html\SqueezeBox. This SqueezeCenter plug-in can be installed using the SqueezeCenter Extension Downloader. HomeSeer will be the repository server for SqueezeCenter to download the plug-in:
  1. If you manually installed a prior version of this plug-in, delete the existing plug-in from the SqueezeCenter plug-in installation directory (typically C:\Program Files\SqueezeCenter\server\Plugins).
  2. Access the SqueezeCenter Extension Downloader web page (In the Settings of the SqueezeCenter web pages).
  3. Enter the URL "http://hs2_host:hs2_port/squeezebox/repo.xml" in the "additional repositories" field in the web form, replacing hs2_host with the hostname where HS2 is running and hs2_port with the port number of the HS2 web interface.
  4. Apply and the content of the HS2 repository should appear at the end of the page. Click on check box to select the HS2 plugin and press apply to install it.
  5. Restart SqueezeCenter to enable the newly installed plug-in and configure the SqueezeCenter HS2 plug-in as in prior versions.

Last edited by pcp; April 23rd, 2009 at 05:57 PM. Reason: Correcting URL in 3.
Reply With Quote
  #2  
Old April 20th, 2009, 03:19 PM
jrfuda's Avatar
jrfuda jrfuda is offline
Seer Master
 
Join Date: Jul 2003
Location: Fayetteville, NC
Posts: 1,060
First chance I've had to install a beta in a while. It's up and running. I'll let you know how it performs.
__________________
John
Hardware: i5-6400T w/16GB RAM & SSD w/HS3Pro, Z-Net, Harmony Hub x2, Echo Dot, Ocelot
Plugins: Z-wave, HSTouch, BLBackup, Harmony, PHLocation, GTS CPUXA, UltraMon3
HSTouch: Multiple Android Devices; 5 x ToteVision MD-1001 10.1" Win 7 Tablets
Devices: Cooper RF9501 x4, RF9517 x6, RF9534 x1, RF9540-N x7, RF9542 x1, RF9542-Z x2, RFHDSCG x1, RFWC5 x5; Intermatic HA02 x6; FortrezZ MIMOLite x3; Leviton VRPD3-1LW x4, VRR15-1LZ x6; Trane TZEMT043AB32MAA Tstat; Dragon PD-100 x3, PA-100 x3
Reply With Quote
  #3  
Old April 23rd, 2009, 05:48 PM
markus.bergvoll markus.bergvoll is offline
Seer Deluxe
 
Join Date: Oct 2008
Location: Norway
Posts: 306
Very nice!

Now i can use the duet controller to turn on and off my devices .
Im looking forward to the next evolution of this


In number 3 above, i think you have omited the HS server in the url: http://squeezebox/repo.xml should probably be

http://hs2server: port/squeezebox/repo.xml
__________________
Markus
Home Automation Beginner
Reply With Quote
  #4  
Old April 23rd, 2009, 05:55 PM
pcp pcp is offline
Super Seer
 
Join Date: Jan 2006
Location: MA
Posts: 1,647
Quote:
Originally Posted by markus.bergvoll View Post
Very nice!

Now i can use the duet controller to turn on and off my devices .
Im looking forward to the next evolution of this


In number 3 above, i think you have omited the HS server in the url: http://squeezebox/repo.xml should probably be

http://hs2server: port/squeezebox/repo.xml
You are correct the URL should contain the hs2 server and port. I correct it. Thank you for mentioning it. It was actually in the URL in the post but since I had < and > around it, it believed they were html tags and removed the content.
Reply With Quote
  #5  
Old April 23rd, 2009, 06:36 PM
markus.bergvoll markus.bergvoll is offline
Seer Deluxe
 
Join Date: Oct 2008
Location: Norway
Posts: 306
By the way, I can now use my iPhone as well, as the latest edition of ipeng now has support for 3rd party plugins in the menu.
Reply With Quote
  #6  
Old May 10th, 2009, 06:55 PM
pcp pcp is offline
Super Seer
 
Join Date: Jan 2006
Location: MA
Posts: 1,647
Attached is an updated version the Beta plug-in. The zip file only contains the plug-in DLL and should be installed after you installed the Beta version replacing hspi_squeezebox.dll with the one in the attached zip file. This version contains additional scripting APIs. My motivation to adding them sooner then I initially planned was to support playing and speaking notification messages using scripts.

Additional APIs:

Public Sub PlayerPlaylistMove(ByVal playerName As String, ByVal fromIndex As Integer, ByVal toIndex As Integer)
This API moves a song within the current playlist by index.
Public Sub PlayerPlaylistDelete(ByVal playerName As String, ByVal index As Integer)
This API deletes a song in the current playlist by index.
Public Sub PlayerPlaylistIndex(ByVal playerName As String, ByVal index As Integer)
This API plays a song in the current playlist by index.
Public Sub PlayerPlaylistSave(ByVal playerName As String, ByVal filename As String)
This API saves the content of the current playlist into a playlist file.
Public Sub PlayerPlaylistQueryCurrentSongTime(ByVal playerName As String)
This API Issues a query to query the current number of seconds that the current song has been playing for the specified player. The value maybe retrieved by calling PlayerGetPlaylistCurrentSongTime.
Public Sub PlayerPlaylistCurrentSongTime(ByVal playerName As String, ByVal time As String)
This API enables to jump to particular position in the currently playing song for the specified player by specifying a number of seconds to seek to. You may also jump to a relative position within a song by putting an explicit "-" or "+" character before a number of second you would like to seek.
Public Function PlayerGetPlaylistCurrentSongIndex(ByVal playerName As String) As Integer
This API returns the index of the currently playing song within the current playlist for the specified player.
Public Function PlayerGetPlaylistCurrentSongDuration(ByVal playerName As String) As String
This API returns the duration in seconds of the currently playing song for the specified player.
Public Function PlayerGetPlaylistCurrentSongTime(ByVal playerName As String) As String
This API returns the number of seconds that the song has been playing for the specified player. To query a new value, call the API PlayerPlaylistQueryCurrentSongTime.
Public Function PlayerGetPlaylistTrackCount(ByVal playerName As String) As Integer
This API returns the number of tracks / songs in the current playlist for the specified player.
Public Function PlayerGetPlayerProperty(ByVal playerName As String, ByVal prop As String) As String
This API returns one of the following player property value specified in the prop argument: connected, power, status, mute, volume, shuffle, repeat. The values returned by this API are compatible with the ActionName argument of the APIs BroadcastActionByName and SendActionByName with the exception of the volume property which must be passed in the arg argument (and specify volume for the ActionName).

The zip file squeezebox_announce.zip contains a HS2 VB.Net script example to play announcements. It will interrupt the currently played song if any, play the beep sound, speak a notification message and display a notification message on the player. After a delay, it will resume playing any song and restore the player to its previous state. Restoring seeking to the time where the song was interrupted will only work for mp3 files, I believe (i.e. SqueezeCenter does not support it on all formats). let us know if you come up with other variations of HS2 scripts to play or speak announcements.
Attached Files
File Type: zip squeezebox_announce.zip (1.4 KB, 160 views)

Last edited by pcp; September 14th, 2009 at 10:35 PM. Reason: Removing plug-in zip file since released version available in updater
Reply With Quote
  #7  
Old July 7th, 2009, 11:05 PM
mbrett's Avatar
mbrett mbrett is offline
Seer Deluxe
 
Join Date: Jan 2005
Location: NY, Ny
Posts: 321
I love this plugin, But I have a few questions / requests.

1) is there anyway to get the album art to associate with a device?
2) is there anyway to get the track time, played and remaining into devices?
3) is there anyway to get bit rate and from where playing into devices?
4) can you please make the title artist device into two seperate devices title, and Artist.

please advise if these are already possible, or will be.

thanks a ton

MB
Reply With Quote
  #8  
Old July 19th, 2009, 02:17 PM
pcp pcp is offline
Super Seer
 
Join Date: Jan 2006
Location: MA
Posts: 1,647
Thank you for your support and comments! About your questions:

1) is there anyway to get the album art to associate with a device?
Reply: Suggestions are in your other related post

2) is there anyway to get the track time, played and remaining into devices?
Reply: Not currently with the current version of the plugin. Maybe something I can add in the next version (after 1.6) as I add HS-Touch support.

3) is there anyway to get bit rate and from where playing into devices?
Reply: Same answer as 2)

4) can you please make the title artist device into two seperate devices title, and Artist.
Reply: If I would add more devices per player for such information, I would break the usage of some users having many players (as many as supported by the plug-in!). Is this request because you attempt to integrate it into HS-Tocuh using devices? if this is the case, the right approach is for the plug-in to directly support HS-Touch via the HS2 music APIs (planned for after 1.6).
Reply With Quote
  #9  
Old July 19th, 2009, 03:02 PM
mbrett's Avatar
mbrett mbrett is offline
Seer Deluxe
 
Join Date: Jan 2005
Location: NY, Ny
Posts: 321
I have installed the new Beta, and YES that solved alot of the requests..

Cant wait for HST support. if you would like a tester, please let me know
Reply With Quote
  #10  
Old August 9th, 2009, 03:51 PM
johnoc johnoc is offline
Seer Deluxe
 
Join Date: Jan 2001
Location: Dallas, TX USA
Posts: 192
squeezebox_announce Example

PCP,

I just started looking at your example for annoucing messages, could you provide a few small examples of how to use the script? It's been years since I looked at vb and was hoping you might show us how to pass varables to it.

Thanks again...

-John
Reply With Quote
  #11  
Old September 12th, 2009, 08:38 AM
nslmanu nslmanu is offline
Seer Deluxe
 
Join Date: Feb 2009
Location: France
Posts: 267
Hi Pcp,

Maybe i've done something wrong but there is this error in the logs ( about the squeezebox_announce ) : even if i've got a good conf ( I hope ) :

Sub Main(ByVal parm As Object)

' ------ The following lines maybe customized to display and speak custom messages.
' ------ Alternatively the script could be extended to pass them as arguments (in parm)
Dim PlayerName As String = "Squeezebox"
Dim PlayerDevice As String = "Squeezebox"
Dim notificationSound As String = hs.GetAppPath & "/wave_files/beep.wav"
Dim notificationText As String = "This is a notification message from HS2."
Dim notificationMessageLine1 As String = "Notification"
Dim notificationMessageLine2 As String = "Notification demo message"
Dim notificationVolume As Integer = 80
Dim notificationDuration As Integer = 6

' ---------------------
Dim hspi As Object = hs.plugin("SqueezeBox")
Dim textWavFile As String = hs.GetAppPath & "/wave_files/MyNotificationText.wav"
Dim on_off As String
Dim status As String
Dim mute As String

I miss something ? Squeeze v beta 1.0.6 and v2.3.0.122 for HS2.



>>>>> Error here :
Scripting runtime error: System.Reflection.TargetInvocationException: Une exception a été levée par la cible d'un appel. ---> System.MissingMemberException: Le membre public 'PlayerPlaylistQueryCurrentSongTime' du type 'HSPI' est introuvable. à Microsoft.VisualBasic.CompilerServices.Symbols.Container.Get Members(String& MemberName, Boolean ReportErrors) à Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMe thod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure) à Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCa ll(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn) à scriptcode7.scriptcode7.Main(Object parm) --- Fin de la trace de la pile d'exception interne --- à System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) à System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) à System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) à System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) à Scheduler.VsaScriptHost.Invoke(String ModuleName, String MethodName, Object[] Arguments)
Reply With Quote
  #12  
Old September 12th, 2009, 09:01 AM
pcp pcp is offline
Super Seer
 
Join Date: Jan 2006
Location: MA
Posts: 1,647
In addition to installing the 1.6 Beta using the installer, you also need to install a follow up beta update; see http://board.homeseer.com/showpost.p...01&postcount=6 (and restart HomeSeer after installation). All this will be part of the final 1.6 release in the updateer that should be available shortly.
Reply With Quote
  #13  
Old September 12th, 2009, 09:17 AM
nslmanu nslmanu is offline
Seer Deluxe
 
Join Date: Feb 2009
Location: France
Posts: 267
Yes, i forgot to restart ... Now in logs i have this :

12/09/2009 15:09:38 SqueezeBox Script Playing notification

12/09/2009 15:09:38 SqueezeBox Script Player power: , Player status: , Player mute: , Player volume: , Player shuffle: , Player repeat: , Player playlist track count: 0 , Player playlist current song index: 0 , Player playlist current song time: , Player playlist current song duration:

12/09/2009 15:09:47 SqueezeBox Script Done


Without any errors ... but NO sound. Really strange, i've got the music running fine ...

>>>> Found the error : Lower and Uppercase in the name of the squeezebox Ok now but it's not very stable ... the message is not read every time, the music is not the same after the message, or crash ( same message as before ) randomly. If i can help, don't hesitate to ask

Last edited by nslmanu; September 12th, 2009 at 09:51 AM.
Reply With Quote
  #14  
Old September 14th, 2009, 10:39 PM
pcp pcp is offline
Super Seer
 
Join Date: Jan 2006
Location: MA
Posts: 1,647
I am don't fully follow the issues. Does the script run each time? Can you determine which part of the script if run each time does not execute as expected?
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 07:52 AM.


Copyright HomeSeer Technologies, LLC