Jump to content
C4 Forums | Control4

touch screen and "now playing" with CD changers


ziocan

Recommended Posts

Hi guys,

I have a 777 disc changer attached to the system and I have cover art etc displaying fine on my touch screens and remotes, however the "now playing" screen (which I thought should show artist/song info) shows the changer commands instead (numeric keypad, arrow keys etc) is this normal?

Also the screen saver on the touch screen doesn't show any song information, just "disc changer" when I select the "display media" option.

Now, the information is in there, why it doesn't show up?

 

Thanks in advance...

 

Rick

Link to comment
Share on other sites


Showing the controls is normal. I THINK so is the fact that it cannot directly display song/artist info.

As far as the system is concerned, your 'current media' is merely the 777, not whatever disc etc it's playing.

You have to keep in mind that the 777 is quite ancient in technology terms, thus so is it's driver (and indeed the complete proxy it is based on) - it wouldn't have been updated to have the ability to display content etc as has been done for still 'relevant' devices/proxies as nothing of the type of device has been brought out in many years by now - so there is little (no) call to try and update that old disc-changer proxy.

Link to comment
Share on other sites

I know it's old tech, but back when it roared (not many years ago) it was widely in use  with C4 (I am also not the only one who still uses it) . The driver is a 2 way driver and the controller knows the disc number and track because the 777 is sending this information back.  I find it strange that when this changer was mainstream (also for DVDs) control4 did not  care to include this feature into the "now playing" screen...

Any "old dog" around that can confirm that this really NEVER worked?

Thanks

Rick

Link to comment
Share on other sites

It's even possible that older systems had it, not sure at this time - but the disc changer proxy died with the demise of the 7000 bluray changer. Numerous changes have been made to the system and indeed to now playing/media metadata handling since.

Make no mistake - I'm an 'old dog' when it comes to C4 and related. And "not so many years ago" is -for better or worse- ancient in terms of technology. Honestly - any time you can use the plural form of year, it's old.

The 7000 was brought out in 2009 - and I think it was at least a year that the 777 was eol at that time (forcing C4 hack use of other models for some) but even at best it was the same year. That's 7 years+. And the 700 lasted at best until early 2012 - so that's 4 years past support.

 

Link to comment
Share on other sites

I understand what you mean, and I know I am sticking to old stuff, however I am a nostalgic and prefer to have my CD coilection in a changer (same goes for my DVD collection). Fun thing is, browsing, scanning, cover art, everything is still supported, just that "now playing" feature seems to be broken.

Any idea whether an open source version of the 777 driver ever existed? 

 

Link to comment
Share on other sites

Here's the proof that the driver _IS_ sending those events to the controller. Track changed and Disk changed events are there, so the controller actually KNOWS what is playing now (as disc ID and track # map to the mm.db metadata database) ....

 

2016-04-14 15:49:43 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Disc Changer(419) fired event TrackChanged(7)                    
2016-04-14 15:51:53 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Disc Changer(419) fired event Stop(4)                            
2016-04-14 15:52:13 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Disc Changer(419) fired event DiscChanged(6)                     
2016-04-14 15:52:13 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Disc Changer(419) fired event Play(3)                            
2016-04-14 15:56:18 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Disc Changer(419) fired event TrackChanged(7)                      

 

Link to comment
Share on other sites

In your opinion, is there any way to update this missing information programmatically?

I see that when I select a disc, the information seems to be retrieved by the controller:

016-04-14 19:11:22 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Executing command (SELECT_SOURCE) on driver Disc Changer(419)             
2016-04-14 19:11:22 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Living Room(413) fired event Unknown(1007)                         
2016-04-14 19:11:22 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Living Room(413) fired event Unknown(1000)                         
2016-04-14 19:11:22 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Driver Living Room(413) fired event Unknown(1001)                         
2016-04-14 19:11:22 +0200 home-controller-800-000FFF5880E2 [1176] INFO: Executing command (REQUEST_CURRENT_MEDIA_INFO) on driver Disc Changer(419)

If this information is tracked in a variable it should be possible to program around it....

Is there a way in the programming section of Composer to print the current value of a variable ?

Thanks!

R

Link to comment
Share on other sites

I mean, if we had the information of the first disc/track selected, we could then trap track changed / disc changed events and keep track of where we are... then, sending this info to the navigators may be another challenge, I don't know.   

Link to comment
Share on other sites

3 minutes ago, ziocan said:

we could then trap track changed / disc changed events

Dear me, let's not go there!

It would be a simple matter as such of having a device that can simply tell you what is playing....but it keeps getting back to this - there are no disc changers with that sort of ability on the market to day in a number that makes sense for Control4 to do anything about.

PERHAPS if there is enough want for it, a media proxy driver (the proxy that handles all that fancy feedback you see for other sources/streaming services) could be made to handle a disc-changer. Not saying it IS possible, but it might be.

But once again - to what economic end.

Link to comment
Share on other sites

I know, no one uses changers anymore (but me and a few other fellows). Not talking about anything that can be resold, either by C4 or by a dealer/integrator. It's just that I like to hack into things and wanted to find a way to do it for my own delight :-)

My dear old 777's _can_ tell me what they're playing (it's in the protocol and the driver seem to be able to handle that). Unfortunately the 777 driver is a binary one and I can't hack it otherwise I would give it a try, just for fun.

Thank you for the info and the tips anyway!! Much appreciated.

Rick

Link to comment
Share on other sites

Again - doesn't matter what the driver can do, if the PROXY the driver uses has no option/tie-in to use it. No driver editing will change that.

 

You COULD see if somehow a new driver could be made using the media proxy. Not sure if it would work - but that's where you'd be looking at.

Link to comment
Share on other sites

OK, after verifying (with tcpdump) that the information was actually sent by the cx777es driver to the controller, I spent some time and was able to trap the information by writing a driver which talks SOAP to director and intercepts events related to the changer.

LUA output of the driver:

 

Quote

Changer ID now 419
Event from 419 is <c4soap name="OnDataToUI" result="0" async="1"><param name="iddevice" type="ulong">419</param><param name="time" type="ulong">1460930363</param><param name="data" type="xml"><lasttrack>3</lasttrack></param></c4soap>
Event from 419 is <c4soap name="OnDataToUI" result="0" async="1"><param name="iddevice" type="ulong">419</param><param name="time" type="ulong">1460930423</param><param name="data" type="xml"><lasttrack>4</lasttrack></param></c4soap>
Event from 419 is <c4soap name="OnVariableChanged" result="0" async="1"><param name="iddevice" type="ulong">419</param><param name="idvariable" type="ulong">1000</param><param name="type" type="ulong">4</param><param name="value" type="bool">0</param></c4soap>
Event from 419 is <c4soap name="OnVariableChanged" result="0" async="1"><param name="iddevice" type="ulong">419</param><param name="idvariable" type="ulong">1000</param><param name="type" type="ulong">4</param><param name="value" type="bool">1</param></c4soap>
Event from 419 is <c4soap name="OnDataToUI" result="0" async="1"><param name="iddevice" type="ulong">419</param><param name="time" type="ulong">1460930595</param><param name="data" type="xml"><lastdisc>2</lastdisc></param></c4soap>
Event from 419 is <c4soap name="OnDataToUI" result="0" async="1"><param name="iddevice" type="ulong">419</param><param name="time" type="ulong">1460930812</param><param name="data" type="xml"><lasttrack>2</lasttrack></param></c4soap>
 

 

As you can see I can trap power events (variable 1000), disc changed, and track changed :-)

If I change to a disc and a track other than the first one, this info is not sent however (bug?) This means that for the first song of the new disc the track info can be incorrect. Well I think I can live with that...

Now, my idea is to translate disc/track info to artist and song (and cover art) by looking up the mmdb, and send this info to navigators. 

I'll let you know :-)

Rick

 

Link to comment
Share on other sites

Some progress..  media DB lookup completed, now all I have to do is send info to navigators....

 

Disc changed event received: now 51
Disc 51: Charlie Haden & Pat Metheny - Beyond The Missouri Sky (Short Stories) - Track 1: Waltz For Ruth
Track changed event received: now 2
Disc 51: Charlie Haden & Pat Metheny - Beyond The Missouri Sky (Short Stories) - Track 2: Our Spanish Love Song
Disc changed event received: now 3
Disc 3: Lisa Ekdahl - Heaven, Earth & Beyond - Track 2: Open Door
Track changed event received: now 3
Disc 3: Lisa Ekdahl - Heaven, Earth & Beyond - Track 3: Deep Inside Your Dreams
Track changed event received: now 4
Disc 3: Lisa Ekdahl - Heaven, Earth & Beyond - Track 4: When Did You Leave Heaven

 

Link to comment
Share on other sites

8 hours ago, Cyknight said:

Which I told you would be the problem part ;)

Good luck!

Well, to me the problem part was getting the events from the changer driver, and that is solved.

I'm sure I'll find a way to make navigators receive the media information... last resort I will sniff the communication between director and navigator and mimic the protocol. As you probably already know, the entire communication is in the clear and unsecured.

Link to comment
Share on other sites

You aren't understanding how that works the way I believe it does (and again, this is NOT my expertise so it's far from written in stone).

The nav decides what to display BASED on the proxy is what I think is the case. In other words, based on the proxy is selects the transport control display vs showing any other info, based on the proxy current media is the device, not other info....

Link to comment
Share on other sites

Well, of course I am a newbie at all this, but I am learning fast and have a good IT background that helps me a lot.

Everything else failing, I will sniff network traffic between director and touch screen and look for a way to trick the nav into thinking the disc changer is an iPod, or something like that :-)  

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.