Beatles - A Day In The Life
(Lennon / McCartney) (1967 - Sgt Pepper’s Lonely Hearts Club Band)
Currently playing on JRMC version 12.0.450
Ah ben ça alors c’est cool ! Voici la première version d’un plugin pour WLW qui retourne le “currently playing” de JRMC. Un grand merci aux différents contributeurs trouvés sur le web. En particuler à Rahul Soni dont un billet de blog m’a complètement mis sur la voie. Je me suis directement inspiré de son code et y ait ajouté l’interface vers JRMC en VB que j’avais déjà développée pour le plugin “Listening to” de “The Journal”. Après avoir essayé de faire ce plugin en C# dans lequel je me suis perdu dans les interop etc.. j’ai finalement réalisé celui ci en VB comme premier exercice de plugin pour WLW. Il me reste maintenant à imaginer un design plus chatoyant (peut-être configurable) pour l’affichage en html.
Voici le code que j’ai réalisé:
1: Public Class ListeningToPlugin
2: Inherits ContentSource
3: Public Overrides Function CreateContent( _
4: ByVal dialogOwner As IWin32Window, _
5: ByRef newContent As String) As DialogResult
6: ‘ First try to get an already running object
7: ‘On Error Resume Next
8: Dim mja As Object
9: Dim mjsrc As Object
10: Try
11: mja = GetObject(, “MediaJukebox Application”)
12: Catch ex As Exception
13: MsgBox(“Sorry can’t access or create MJA !”)
14: ‘Then, create a new object
15: mja = CreateObject(“MediaJukebox Application”)
16: End Try
17:
18: mjsrc = mja.GetCurPlaylist()
19: Dim playing_track As Object = mjsrc.GetFile(mjsrc.Position)
20: Dim track_name As String = playing_track.Get(“Name”, False)
21: Dim artist As String = playing_track.Get(“Artist”, False)
22: Dim album As String = playing_track.Get(“Album”, False)
23: Dim composer As String = playing_track.Get(“Composer”, False)
24: Dim year As String = playing_track.Get(“Date (year)”, False)
25: Dim rating As String = playing_track.Get(“Rating”, False)
26: Dim JRMC_Version As String = mja.GetVersion.Version
27:
28: Try
29: newContent = “ “ + artist + “ - ” + track_name + _
30: ““ + year + ” - “ + album + ” (” + composer + “)” + _
31: “Played on JRMC version “ + JRMC_Version + “ “
32:
33: Return DialogResult.OK
34: Catch ex As Exception
35: ‘Do some error handling here!
36: End Try
37: End Function
38: Class
Voila aussi ce que cela donne dans l’interface de WLW
Bon ben, A plus !
Elton John - Shine On Through
1978 - A Single Man (Elton John / Gary Osborne)
Played on JRMC version 12.0.450
Alan Parsons Project - Don’t Let the Moment Pass
(Eric Woolfson) (1990 - Freudiana)
Currently playing on JRMC version 12.0.450