This is topic iPhone CP650 fader in forum Digital Cinema Forum at Film-Tech Forum ARCHIVE.
To visit this topic, use this URL:
https://ft-forum.com/ft/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=16;t=001416
Posted by James Skinner (Member # 7385) on 03-09-2013, 12:27 PM:
We recently started using the Ethernet automation interface on a Dolbly CP650. So far it seems to work well enough.
I'm wondering if anyone has an iPhone app that can be used to control the CP650 fader across the network? I'm often in the theatre room and would like to be able to make small adjustment without going back up to the booth.
A small iPhone app showing current volume, up and down buttons would be very useful. Does such a thing exist or is there an existing generic iPhone automation app that could be used to accomplish easily this?
I am a computer programmer so I guess work case I could build something but I don't want to reinvent the wheel...
Posted by Chris Slycord (Member # 4239) on 03-09-2013, 01:03 PM:
If you do have to reinvent the wheel, remember that unless you jailbreak your phone, you won't be able to install the software you wrote (unless you pay the money to be an official, Apple-approved developer).
Posted by Harold Hallikainen (Member # 5405) on 03-09-2013, 01:21 PM:
To do this, you'd have to have a Wi-Fi wireless access point on the network which MAY raise security concerns. In any case, I've put web user interfaces on all the USL products I've worked on. On processors like the JSD-100 and JSD-60, you get fader control (up/down buttons), mute, and format select. You also get a bargraph display of the audio on all channels (and, if internal crossovers are in use, you see each band of each channel).
Though an HTML interface may not be as pretty as a custom application, it is pretty universal and will run on almost any device. But, it's not quite universal! I'm waiting for more browsers to implement the HTML5 range element to simplify definition of slider controls.
Harold
Posted by Steve Guttag (Member # 268) on 03-09-2013, 02:31 PM:
Remember, the CP650 may talk to ONE (and only one) device on its Ethernet port at a time. If the Doremi does not close the port, nothing else can talk.
Posted by Harold Hallikainen (Member # 5405) on 03-09-2013, 02:38 PM:
I believe Doremi sets up the connection, sends the command, then tears down the connection. GDC sets up the connection at boot time and leaves it up. I'm not sure what others do. By the way, the JSD-60 and JSD-100 will accept 5 simultaneous TCP connections.
Harold
Posted by Randy Stankey (Member # 64) on 03-09-2013, 02:41 PM:
quote: Chris Slycord
... unless you jailbreak your phone, you won't be able to install the software you wrote (unless you pay the money to be an official, Apple-approved developer).
To elaborate: You can download the developer's kit for free if you have a compatible computer and operating system and you can use it to create apps for free. You can run these apps on the included iOS simulator for free. Then, you register with Apple ($99.00/yr. IIRC) which allows you to test your apps on real iOS devices. If you only want to write apps for yourself, you need not go any farther. If you want to distribute apps to other people you need to submit them to Apple. If approved, your apps will be available on the App Store.
Bad thing: It costs $$ to do this.
Good thing: If the App Store sells your app for money, you get 70% of the proceeds.
If you can write an app for the iPhone, get it approved and sell it for $5.00 a copy you will make your money back with 29 sales. Everything over that will be profit.
I assume that the process is similar for Android and other mobile platforms.
I have been thinking about writing apps for iOS and I have been brainstorming for ideas on apps to write. I actually have been thinking of doing just this, writing an app to control a Dolby processor. Problem is, I need to know the commands to send to the device. Haven't had much time to really dig for that information.
Can anybody point me to where to look for the info?
I might get motivated to make an app or something else for the booth.
Do you think there would be enough people who would want such an app that I could make my money back? I wouldn't be in profit mode just yet. Only to earn enough to cover expenses.
Posted by Harold Hallikainen (Member # 5405) on 03-09-2013, 03:13 PM:
My CP-650 manual has command strings described in appendix E.1. It only describes these as being for RS232, but they MIGHT be the same as those used over TCP. The CP-750 manual describes the TCP commands to control it. Similarly, the USL JSD-80, JSD-60, and JSD-100 manuals describe the TCP commands to control them. Writing a separate application to control every possible device in a theater gets cumbersome. That, again, is why I like web interfaces. No application needed! But since not everyone agrees with me, there is a need to somehow generate the specific TCP commands for each piece of equipment. The USL RTM acts as an interface between the wired control network and a browser on a Wi-Fi device. It handles all these conversions (and is a pain to keep updated - I have minimal involvement in that product but work on most of the other USL products).
So, if you want to do it as a pure application without an interface, it'd be interesting to include a device library in the application that you could keep adding to and updating. Lots of work, though!
Good luck!
Harold
Posted by Randy Stankey (Member # 64) on 03-09-2013, 04:10 PM:
quote: Harold Hallikainen
Writing a separate application to control every possible device in a theater gets cumbersome.
Agreed. Problem is that the developer doesn't know which devices the user has in his theater. It could become just as cumbersome to write one app which covers every possible combination. No matter what you do, there will always be somebody writing you and asking for an update so they can control their "Acme-XYZ" processor.
One app could be written with tabs or pull-downs such that the user can select which equipment he wants to control but, in the end it would be easier just to write separate apps and let the user switch between.
Multi-tasking and app switching can be done on iPad/iPhone or other devices be swiping four fingers, crosswise, over the screen. It would probably be easier just to write a half dozen single purpose apps. That way the user pays only for the functions he will use. He can quickly switch between apps with a swipe across the screen.
Posted by Harold Hallikainen (Member # 5405) on 03-09-2013, 04:31 PM:
Good point! It would also be nice to have an application that discovers the devices on the network and identifies them. USL has an "Ethernet Discoverer" that does a UDP broadcast to find devices. It then displays what auditorium the device is in and what the device is. Even without that program, you could ping an IP address range to find devices. We use the third least significant octet of the MAC address to identify the product model (allowing up to 65,536 serial numbers for each model). So, this would find devices and tell you what they are, but not where they are. Keying in IP addresses on your mobile device is a pain. It's a lot nicer to just let the application go find the devices.
Good luck!
Harold
Posted by Chris Slycord (Member # 4239) on 03-09-2013, 04:52 PM:
quote: Randy Stankey
I assume that the process is similar for Android and other mobile platforms.
One distinct difference is that android has a one-time $25 registration fee for devs. There's no yearly fee that I know of, although you have to set up a merchant account that'll be linked to the developer account.
Posted by Randy Stankey (Member # 64) on 03-09-2013, 05:15 PM:
Not a retort but an honest question: How much support can the Android developer receive?
A paid-up Apple developer in good standing can receive code level support and guidance. Up to two incidents per year, free of charge. Further, there is access to a lot of developer documentation.
Posted by Steve Guttag (Member # 268) on 03-09-2013, 05:23 PM:
The CP650 commands work over Ethernet you have to use port 61412.
If you want to test your commands...open up a Telnet session to that port and used the commands out of the CP650 installation manual.
As to USL...JSD80, like the CP650 only seems to handle one open port at a time. So be wary there too.
Another nasty thing about the JSD80 is that it does NOT respond to ping!!!!! It will open up its web interface though. So if you use a pinging device like "AngryIP", the JSD80s will not appear to be there. I'm really surprised that ping has not been implemented in the JSD80 by now.
Me personally, I'm not too big on web interfaces...I like good old commands for making automations easier. I prefer dedicated programs for the display in order to make the display a bit more responsive. Dedicated programs also seem to do better when it comes to saving settings or working off line.
Posted by Harold Hallikainen (Member # 5405) on 03-09-2013, 06:00 PM:
You're right Steve! The JSD-80 does not respond to ping. It's running on a somewhat limited 8 bit processor. If I need to dig into the code again, I'll see if I can add ping. I also agree that a web interface would be a pain for automation. So, we put in both an ASCII command interpreter (current products support 5 simultaneous TCP connections). The web interface is for manual operation, like what originally started this thread.
Thanks for the comments! I'm always interested in hearing how the products can be improved.
Harold
Posted by Scott Norwood (Member # 30) on 03-09-2013, 07:48 PM:
quote:
Another nasty thing about the JSD80 is that it does NOT respond to ping!!!!!
Umm...wow. That's an amazingly bad oversight, and completely violates the relevant RFC.
Posted by Harold Hallikainen (Member # 5405) on 03-09-2013, 08:31 PM:
Thanks for the comment! Space is really tight in that processor. I'll see if I can get ping and any other ICMP functions in with the next code update. All more recent products include that (and are using larger processors).
Harold
Posted by Jussi Siponen (Member # 5572) on 03-10-2013, 08:15 AM:
Since this topic was raised in the Digital Cinema Forum, I'm assuming the CP650 is being used in the contect of D-Cinema.
At least Dolby's DSS series of screen servers (and presumably also the library servers, since the software is essentially the same) offer a Web Service API. I haven't taken a in-depth look of what commands are available, but presumably enough to do things like adjust volume, start/pause/stop shows, etc.
It seems to me one'd get better coverage of the various audio processors by going through this indirect route. Also, you'd be dealing with a consistent API -- let the programmers at Dolby figure out the messy details.
If a "Show Manager Client Lite" was available for mobile devices, I for one would be interested in buying it. Having an iPod Touch / iPad Mini or an Android tablet as a dedicated "remote control" would be nice.
Posted by Chris Slycord (Member # 4239) on 03-11-2013, 01:44 AM:
quote: Randy Stankey
Not a retort but an honest question: How much support can the Android developer receive?
A paid-up Apple developer in good standing can receive code level support and guidance. Up to two incidents per year, free of charge. Further, there is access to a lot of developer documentation.
I think they just have code-level support through the forums although I think the devs are on them. And they list specific office hours for the developers themselves. I presume more info is given to people who actually develop, though unlike someone like me that's not involved. lol
Oh and there's definitely lots of documentation for android as well.
Posted by Ken Lackner (Member # 1002) on 03-11-2013, 09:17 AM:
I did not know that the JSD-80 didn't respond to ping, but I did know the ECI-60 didn't for the same reason. It would be nice to have for simple troubleshooting, but I can always open a web browser and try to connect. Still, it would be nice to have ping functionality on both devices. Hint, hint, Harold.
Now, I did NOT know the JSD-80 now has a web interface. That is fantastic! I will have to look for the latest firmware version. Didn't think that product was still being updated, but I'm very glad to see that it is.
Harold, a simple mobile app similar to the one QSC has would be very handy for discovering and controlling all ECIs and JSDs in a theater.
Posted by Harold Hallikainen (Member # 5405) on 03-11-2013, 10:00 AM:
Thanks for the hints on product improvement! The USL Ethernet Discoverer finds most USL products on the network using a UDP broadcast. Clicking on the item in the list opens a web browser to the web interface on that product.
As has been pointed out, the ECI-60 and JSD-80 currently do not support ping. I've added this to our Bugzilla system for the next time we revisit the code for these products. Also, note that very early ECI-60 units used a Lantronix device to provide the Ethernet interface. These older units do not have a web UI. Also, early JSD-80 units did not have an Ethernet jack on the back. The Ethernet jack was added before the rest of the hardware and firmware were introduced. Ethernet control of the JSD-80 was introduced at the same time the USB interface was added to the control card. So, if your system has the Ethernet jack and the USB connector, Ethernet should be supported (including the web UI). Units that have the Ethernet jack but not the USB connector can be updated by swapping out the control card. This adds USB and Ethernet capability to these older units.
Again, thanks for the hints on improving our products.
Harold
Posted by Alban Birch (Member # 4121) on 03-11-2013, 10:54 AM:
Thanks Harold. I were just wondering about the Eth-port because our JSD80s from mid-late 2008 don't have any
Posted by Ken Lackner (Member # 1002) on 03-12-2013, 09:11 AM:
Harold,
There appears to be an issue with the USL site. I noticed it yesterday after you posted the link to the Ethernet Discoverer. I thought it was just a temporary glitch that would work itself out shortly, but the problem still occurs. I can't load the main page at uslinc.com or the link that you posted.
Anyone else notice the same, or does USL just not like me?
Posted by Steve Guttag (Member # 268) on 03-12-2013, 10:37 AM:
Main page works for me (Using Opera web browser) and the link worked (downloaded a ZIP file).
Posted by Harold Hallikainen (Member # 5405) on 03-12-2013, 03:43 PM:
Because we're in the process of moving servers, there's a redirect to an unusual port number. Perhaps your browser did not like that. It works well for me using Firefox (which I use under several OSs). I have heard that some people have trouble getting to our download server at port 8880, though we have not been able to figure out why (it's worked with every browser we've tried from every location we've tried). Is it possible to try another browser there?
THANKS!
Harold
Posted by Jussi Siponen (Member # 5572) on 03-14-2013, 01:44 AM:
quote: Harold Hallikainen
I have heard that some people have trouble getting to our download server at port 8880
This is not very common, but I've seen firewall installations where outbound connections are allowed only to specific ports, e.g. 80 and 443 -- everything else is stopped by a blanket DENY rule. The reasons for doing this include shoehorning a transparent proxy on network edge.
I suspect this is what's going on here.
Posted by Ken Lackner (Member # 1002) on 03-15-2013, 08:32 AM:
quote: Jussi Siponen
shoehorning a transparent proxy on network edge
English?
Posted by Jussi Siponen (Member # 5572) on 03-16-2013, 12:09 PM:
quote: Ken Lackner
English?
A proxy server can be used for a number of purposes including caching, content filtering (antimalware, parental control or other content based rules) or recording activity logs.
A transparent proxy is invisible to the end user, because it intercepts normal communication without requiring any special client configuration. A transparent proxy is normally located between the client and the Internet (=the edge of your network), with the proxy performing some of the functions of a gateway or router.
Based on your description, either the firewall/router you use for Internet access or security software on your local computer is blocking access to TCP ports other than the standard 80 (http) and 443 (https) -- obviously ports for other well known services such as SMTP, IMAP, POP, FTP etc. may be allowed, but only these two are significant for the purpose of this discussion.
(The TCP port number is a logical concept for distinguising between various services a given host (=server) may offer. Think of a telephone PBX: "Hello, you've reached the XYZ Corporation. Press 80 access our web site, press 443 to access our web site securely, press 25 to send us an email ...")
Now the *reason* why you're blocked from accessing the USL's temporary server may be just an over-zealous firewall configuration but my first guess would be to expect a transparent proxy since such a tight firewall configuration would prevent circumventing the proxy by ... configuring your browser to use an another proxy!
Since I know nothing about the specifics of this situation, I can't advise if you should talk to corporate IT, your ISP, examine your home router configuration or change the configuration of your security software.
@Harold: using non-standard ports for services works well in controlled situations, but on the public Internet -- not so much.
I hope this was useful. Sorry for the previous, less than clear posting. I also recognize I've now completely ratholed this conversation and Brad must be rolling up his sleeves to slap me with a fish for it...
Posted by Gavin Lewarne (Member # 5397) on 03-16-2013, 12:25 PM:
if you already have a PC on the theatre or auditorium network why not just VPN into it from your phone and use RDP or something to run the dolby software? never worked with the 650 so don't know if it even has configuration PC software like the 750 does
Powered by Infopop Corporation
UBB.classicTM
6.3.1.2