Jump to content


Photo

FrontView+ [for Windows]iMon replacement, NowPlaying 2nd Screen

iMon LCD 2ndScreen SecondScreen Soundgraph Thermaltake Silverstone

  • Please log in to reply
530 replies to this topic

#501 jachin99 ONLINE  

jachin99

    Advanced Member

  • Members
  • 663 posts
  • Local time: 11:46 AM

Posted 16 May 2019 - 01:43 PM

I have a working program that feeds windows media center events on TCP port 40400, and controls WMC via http on port 40510.  It is also said to control Media Center Extenders but I haven't tested that.  Its a fork of VMC controller that has been updated to run windows 7, and excludes some EPG functionality because the EPG API was changed in the move from Vista to Win 7.  This program includes assemblies to to receive events from WMC over TCP, and control WMC over TCP & HTTP.  I have not been able to get the TCP Control part to work but the same task can be accomplished via HTTP, and the TCP event feed does work.  I didn't write this myself but I think it is a good starting point because I can use this software to both receive events from WMC, and control it.  I have been testing the event stream for around two weeks, and I haven't had any issues with connection losses, or loss of remote control like I did with other versions of VMC controller.  I get events for these occurances among others...

 

-Pause, Play, Stop, Seek, and other transport controls

-Navigation of the built in wmc menus (DVD, Recorded TV, Live TV, TV Guide, etc.),

-Media names (House Hunters, Law & Order, Avengers, whatever media item is in the now playing window of WMC) This includes music artist, and track names

-Media track lengths, and now playing times

 

This should be a full list of the HTTP commands WMC can receive taken from VMC Controller's sourceforge page although I haven't test each (I'm more than willing to)

button-rec - sends key to application
button-left - sends key to application
button-up - sends key to application
button-right - sends key to application
button-down - sends key to application
button-ok - sends key to application
button-back - sends key to application
button-info - sends key to application
button-ch-plus - sends key to application
button-ch-minus - sends key to application
button-dvdmenu - sends key to application
button-dvdaudio - sends key to application
button-dvdsubtitle - sends key to application
button-cc - sends key to application
button-pause - sends key to application
button-play - sends key to application
button-stop - sends key to application
button-skipback - sends key to application
button-skipfwd - sends key to application
button-rew - sends key to application
button-fwd - sends key to application
button-zoom - sends key to application
button-num-0 - sends key to application
button-num-1 - sends key to application
button-num-2 - sends key to application
button-num-3 - sends key to application
button-num-4 - sends key to application
button-num-5 - sends key to application
button-num-6 - sends key to application
button-num-7 - sends key to application
button-num-8 - sends key to application
button-num-9 - sends key to application
dvdrom <open|close> - Opens and closes the default dvd drive door
msgbox "caption" "message" <timeout seconds>
goto <ExtensibilityUrl|FMRadio|InternetRadio|LiveTV|ManageDisks|MovieLibrary|MorePrograms|MusicAlbums|MusicArtists|MusicSongs|MyMusic|MyPictures|MyTV|MyVideos|PhotoDetails|RecordedTV|RecorderStorageSettings|ScheduledTVRecordings|Slideshow|SlideshowSettings|Start|TVGuide|Visualizations|WebAddIn> <optional page parameters>
playrate <Stop|Pause|Play|FF1|FF2|FF3|Rewind1|Rewind2|Rewind3|SlowMotion1|SlowMotion2|SlowMotion3|SkipForward|SkipBack>
position <seconds>
fullscreen - moves the current media playback experience into full-screen mode
version - returns the version of MediaCenter
capabilities - returns a key value pair list of device capabilities
volume <0-50|Up|Down|Mute|UnMute>
play-audio <The URL of the audio to play>
play-video <The URL of the audio to play>
play-dvd <A string in the following format: //path? address> http://msdn2.microsoft.com/en-us/library/ms814628.aspx
play-radio <A string in the following format: band:nn.n or band:nn,n, depending on the locale. For example, "fm:103.1" or "fm:103,1". For band, only FM is currently supported>
play-tv <A string representing the call sign of the service to play, or channel number>
play-dvr <The URL of the video to play>
queueaudio <The URL of the audio to play>
schedule <recording|recorded|scheduled>
epg-lineup <all|channel,channel...>
epg-onnow <all|channel,channel...>
epg-details <all|channel,channel...>
window-close - sends command to Media Center Window
window-minimize - sends command to Media Center Window
window-maximize - sends command to Media Center Window
window-restore - sends command to Media Center Window
changer-load <Slot Address>

Beta 1 & 2 added: Exit - closes the connection (not useful via http) (note had to expost function CloseClient() to support)
mediametadata - returns information on the currently playing media (artist, title, album, etc - varries based on what is playing)
playrate-get - shows the current playrate of the currently playing media
playstate-get - shows the current playstate of the currently playing media
postition-get - shows the current position of the currently playing media
type - sends a string to the application
list-artists <filter>- returns a list of artists in the library (very slow - my 1K artists takes 1 minute to return)
list-artist-songs <filter | index> - returns a list of songs by a given artist (using the index returned by list-artists makes this fast)
list-artist-albums <> - returns a list of albums by a given artist (using the index returned by list-artists makes this fast)
list-albums <filter | index> - returns a list of songs by a given artist (using the index returned by list-artists makes this fast)
list-album-songs <filter | index> - returns a list of songs by a given artist (using the index returned by list-artists makes this fast)
list-all-custom
list-artist-custom
list-album-custom
list-song-custom
play-audio-artist <filter | index> - plays all songs by first matching artist (using the index returned by list-artists makes this fast)
play-audio-album <filter | index> - plays all songs on the specified album by index, or the first album by the first matching artist (using the index returned by list-artists makes this fast)
play-audio-song <filter | index> - plays the specified song by index, or the first song by the first matching artist (using the index returned by list-artists makes this fast)
queueaudio-artist <filter | index> - same as play, except adds to the queue
queueaudio-album <filter | index> - same as play, except adds to the queue
queueaudio-song <filter | index> - same as play, except adds to the queue

beta 3: added the music / photo commands: music-list-artists - lists matching artists
music-list-album-artists - lists matching album artists
music-list-albums - list matching albums
music-list-songs - list matching songs
music-list-details - lists info on matching songs / albums / artists
music-list-genres - list matching genres
music-list-recent - lists recently played / queued commands
music-play - plays matching songs
music-queue - adds matching songs to the now playing list
music-cover - serves the album cover of the first match
music-clear-cache - forces the cache to be cleared (normally only happens when the music library's length changes)
music-stats - lists stats (Artist / Album / Track counts, cache age, available templates, etc)
photo-clear-cache - Forces the index cache to reset (otherwise only resets when the number of photos changes)
photo-list - Lists all the matching images found in the photo collection
photo-play - list / play from photo collection
photo-queue - list / play from photo collection
photo-tag-list - Lists all the tags found in the photo collection
photo-serv - Serves the photo to a web browser (all filters apply, first or random matching image is returned)
photo-stats - Lists stats of the current querry (filters, counts, etc)

You will notice that all of these queries deal with Music & Photos.  What I did not find is a way to programmatically query WMC for Movies, and Recorded TV shows.  There are other programs that do that his however they rely on the user pointing the program to the folder where movies or TV shows are stored, and indexing its contents.  Frontview will have to do the same BUT I believe there are classes included my WIn 7 VMC controller that already accomplish this via the EditDVRMSMetadata class, which you should find in the attached source code.  I chose this version of VMC controller because it is working for me, and I have the source.  One thing I cannot get to work properly is the TCP control functionality however I can still control WMC via HTTP.  I also want to take a minute and explain that VMC Controller has been forked MANY times, and there is updated code for it floating around the internet.  I don't know how easily updates will bolt on to my existing code.  Installing any of these updated programs over the files I am providing breaks VMC Controller permanently for me.  I can go into more detail or discuss different ways to go about this project if need be but for the time being I want to provide you with what I have and get your thoughts on my proposal.  Thanks again for your time, and here are the files.  I used eventghost to test this but any telnet client such as putty should work.

 

https://drive.google...jtXM_H25nXyQgqJ


Edited by jachin99, 16 May 2019 - 01:45 PM.


#502 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 16 May 2019 - 05:10 PM

Thanks, I’ll have a look.

The basic support I’m happy to look at is changing Frontview to the ‘now playing’ screen with details and fanart, when playback starts. For that to work Frontview needs details of what is playing; name, season, episode, thumb art, background fan art etc. This is what Frontview needs from any WMC solution.

Glenn



Sent from my iPad using Tapatalk

#503 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 17 May 2019 - 02:32 AM

Hi Mate,

 

Sorry, but scrub that last reply - what you have here is the whole vmcController source/program tinkered with to work on your setup. 

 

Basically what is required is to re-write vmcController to work from within Frontview.  Doesn't strike me as the most stable solution for a media Playback computer where the odd crash here and there is far from fine.  Also would be a shit-ton of work; might as well start again really and re-write another frontview program based on vmcController.

 

I have created a empty/does not work Remote for WMC: Located here: (include csproj file)

https://github.com/G...gins/Remote.WMC

 

Welcome to download and build - will create a plugin dll for frontview which will show up when put in the plugins folder as a selectable option.

 

Welcome to see if can get vmcController sink code working from within by modifying as required.

 

The code is pretty straight-forward, with API/Xbmc.cs being inital can connect code, and Api/XbmcPlayer.cs being the code that checks for new media playing and forwards details.  Like Plex would only worry about nowplaying details and not library.

As you can see is based on Plex current code, and there are a few Plex references that need to be removed etc.

 

Best of Luck

 

Glenn



#504 jachin99 ONLINE  

jachin99

    Advanced Member

  • Members
  • 663 posts
  • Local time: 11:46 AM

Posted 17 June 2019 - 11:08 AM

After looking through the WMC SDK documentation to find ways around using the MSAS sink I found some information about retrieving metadata for the currently playing media BUT if WMC detects that its using Live TV it will return a null value.  Here is a link https://docs.microso...336(v=msdn.10) and here are the contexts and properties that are exposed.  I'm posting this as a reference for others more than anything but I may play around with your template and this SDK just for the learning experience.  Just to be clear the table in the web link utilizes the object model, and NOT a media sink which is the most current way to get now playing info for WMC.  This should work for everything EXCEPT Live TV


Edited by jachin99, 17 June 2019 - 11:10 AM.


#505 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 16 July 2019 - 02:29 PM

Hi Glenn, long time no speak, I hope all is well!

 

There was a Plex Media Server update today and now Frontview isn't working  :(

 

It's been working flawlessly for months, are you still supporting Plex, anything I can do?

 

Thanks!



#506 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 17 July 2019 - 03:14 AM

Hi Glenn, long time no speak, I hope all is well!

 

There was a Plex Media Server update today and now Frontview isn't working  :(

 

It's been working flawlessly for months, are you still supporting Plex, anything I can do?

 

Thanks!

 

 

Hi Lisa, still not really supported still I'm afraid. . . .

 

But

https://github.com/G...eases/tag/1.295

 

Think I have fixed, and updated above - replace the plex dll in FrontView/Plugins folder with this one, and let me know!

 

Glenn



#507 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 17 July 2019 - 05:15 AM

Glenn, thank you for the response, I really do appreciate your help and time, I know that Plex is not fully supported, but I really enjoy using Frontview, and can't quite got on with Emby or Kodi.

 

Unfortunately the new Plex remote didn't work. If you have any time to look at it, I have grabbed some logs and outputs that might help, and I'll attach them here.

 

I haven't touched Frontview in 2 years, it has been working perfectly for all that time! So, I was on an older version. I tried the latest version, same result. I also tried a complete uninstall and re-install, same result. If I use the new remote Plex from the start, it does not show up in the drop down menu of remotes to pick, I have to install the old remote, configure it, then copy the new remote.dll over the top. I rebooted the PC after just to be sure, but it didn't spring to life, sadly.

 

Let me know if there is anything more I can do this end.

Attached Files


Edited by lisag, 17 July 2019 - 05:15 AM.


#508 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 17 July 2019 - 05:37 AM

Ok

Seems that windows .net won’t load a Dll file downloaded from internet.... hence doesn’t load and won’t work.

I’ll see if I can package the whole thing up .. give me a sec

 

Done:

Check the github release again - created the whole installer - pretty sure will work....
https://github.com/G...eases/tag/1.295


Sent from my iPad using Tapatalk


Edited by GlennNZ, 17 July 2019 - 05:56 AM.


#509 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 17 July 2019 - 07:24 AM

It works  :D

 

Thank you so very much!  :)



#510 jachin99 ONLINE  

jachin99

    Advanced Member

  • Members
  • 663 posts
  • Local time: 11:46 AM

Posted 18 July 2019 - 05:52 PM

Glenn, have you looked at adding support for JRiver? I know there are a few others who run that and have second screens. Their API doesn't change all that often either so I think the upkeep would be minimal. They recently started making a 64 bit version of their software and I think that broke some of the other plugins that ran on these second screens.

#511 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 21 July 2019 - 02:06 AM

Glenn, have you looked at adding support for JRiver? I know there are a few others who run that and have second screens. Their API doesn't change all that often either so I think the upkeep would be minimal. They recently started making a 64 bit version of their software and I think that broke some of the other plugins that ran on these second screens.

 

Good suggestion - although don't really need more support work..

 

Anyway - new version 1.300 which adds Remote control of JRiver software (both local and network library)

 

Glenn


  • jachin99 likes this

#512 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 27 July 2019 - 12:43 PM

Glenn, so sorry, another Plex server update has occurred and now no Frontview  :(

 

I attach the log and output - if you do find time to look at it, it would be very much appreciated!

Attached Files



#513 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 27 July 2019 - 07:25 PM

Glenn, so sorry, another Plex server update has occurred and now no Frontview  :(

 

I attach the log and output - if you do find time to look at it, it would be very much appreciated!

 

Ok - have checked and either Plex Server or Plex Media Player have broken something.

 

Was working fine with all the endpoints and then both needed update.  

 

After update Plex Media Player is not being reported by the server in either the /clients endpoint or the new /resources endpoint.

 

It is simply not there - which means Frontview never finds the local playback client. 

 

Presume this Plex breaking error will be fixed at some stage soonish. (I have reported it on the Plex Media Player github, even though may be server error)

https://github.com/p...ayer/issues/882

 

Welcome to post issue in Plex Server forums (obviously as closed source can't see or post about the server at github)

 

Glenn


Edited by GlennNZ, 27 July 2019 - 07:52 PM.


#514 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 28 July 2019 - 02:20 AM

Thanks Glenn.



#515 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 07 October 2019 - 03:15 PM

Hi, just a quick update to say that everything seems to be working again with the latest versions of Plex Media Player and Plex server  :)



#516 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 08 October 2019 - 02:21 AM


Pity it took them a while to fix ....


Sent from my iPhone using Tapatalk

#517 lisag OFFLINE  

lisag

    Advanced Member

  • Members
  • 248 posts
  • Local time: 05:46 PM

Posted 08 October 2019 - 11:37 AM

Hi Glenn, Apologies, I may have spoke too soon  :(

 

I have discovered something very odd, which I must have triggered by accident yesterday, when I was messing around with my system and trying out different players.

 

When I first boot my HTPC, Frontview auto starts with Windows, and has Plex set as the default remote.

 

I then open Plex Media Player, start playing back some media, and Frontview does not respond.

 

If I then close Plex Media Player and go to an old Plex Player, Open PHT:

 

https://github.com/R...penPHT/releases

 

Start playing back media, and Frontview works  :)

 

Close OpenPHT, go back to PMP, and Frontview still works  :)  :wacko:

 

It's lovely to have Frontview working with the latest PMP release, but a bit of a pain to have to do this every time though, does it make any sense to you?

 

Latest release here in case you need it:

 

https://forums.plex....layer/120475/88



#518 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 08 October 2019 - 04:07 PM

Unfortunately that does seem like the same issue, where PMP does not report itself unless it’s playing. Seems like the old player correctly reports itself (as PMP did) and then everything continues.

Does seem like they are dragging feet.

Will have a look and see if can bypass when can

Glenn


Sent from my iPad using Tapatalk

Edited by GlennNZ, 09 October 2019 - 03:44 PM.

  • lisag likes this

#519 jachin99 ONLINE  

jachin99

    Advanced Member

  • Members
  • 663 posts
  • Local time: 11:46 AM

Posted 09 October 2019 - 11:55 AM

Glenn, frontview is having issues downloading coverart for JRiver.  I'm not sure if it is something on my end or what but here is a link to a thread I made over there about it.  https://yabb.jriver....c,121511.0.html



#520 GlennNZ OFFLINE  

GlennNZ

    Advanced Member

  • Members
  • 320 posts
  • Local time: 03:46 AM
  • LocationAustralia

Posted 10 October 2019 - 03:10 AM

Hi Glenn, Apologies, I may have spoke too soon :(

I have discovered something very odd, which I must have triggered by accident yesterday, when I was messing around with my system and trying out different players.

When I first boot my HTPC, Frontview auto starts with Windows, and has Plex set as the default remote.

I then open Plex Media Player, start playing back some media, and Frontview does not respond.

If I then close Plex Media Player and go to an old Plex Player, Open PHT:

https://github.com/R...penPHT/releases

Start playing back media, and Frontview works :)

Close OpenPHT, go back to PMP, and Frontview still works :) :wacko:

It's lovely to have Frontview working with the latest PMP release, but a bit of a pain to have to do this every time though, does it make any sense to you?

Latest release here in case you need it:

https://forums.plex....layer/120475/88


Try release 1.304 - think have fixed the Plex issue (may have downstream issues yet to think of) but pretty sure will fix your current issue.

Glenn


Sent from my iPad using Tapatalk





Also tagged with one or more of these keywords: iMon, LCD, 2ndScreen, SecondScreen, Soundgraph, Thermaltake, Silverstone

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users