Sorry, I thought you were more familiar with projector IP control. I've answered many of your questions in my previous posts, but you might have missed the info. Let's recap/clarify:
- There is no universal IP control for projectors. Each brand has its own protocol, and each model/family can have specific commands. So a universal implementation is simply not possible.
- As mentioned in my initial post, the jvccontrol.exe utility is indeed made by a developer, not by JVC. I could get in touch with him about the source code or any other info, but only if you decide to go for the CMC internal, brand-specific integration. This will ONLY help with the JVC implementation. It won't help with Sony, etc.
- I have no idea about other projector brands, I can only help with JVC, which I'm very familiar with. There is definitely an IP control protocol and I assume there must be a similar command line utility for Sony etc, but I haven't researched that, so you'll need a Sony user (or any other brand user) for help with each brand.
- The main reason why I suggested a batch file(s) implementation, besides the fact that it's fast and easy, is because it's a universal solution on your end: We can make a batch file for JVC projectors, using the JVC control utility, and any projector owner can modify the batch file to launch their own utility (if they have a different brand) and the correct command for each aspect ratio (there is no standard defined for that, more on this later). It's also a lot less work for you than having to implement a native IP control implementation in CMC for each brand (as you did for Vera Lights, it wouldn't be the same for any other brand using a different protocol).
- For JVC (and I assume for other projectors), there is no command that sets a specific aspect ratio. What you have is a "lens memory" or "Installation mode" command, that selects a set of zoom, shift etc values specific to each situation. For example, for a user who has a 1.78 screen and no anamorphic lens, all the modes will have the same zoom setting, the only thing that will change is the vertical lens shift. It's up to each user to create a mode for each aspect ratio they want to support. For a user with a scope screen and no anamorphic lens, both the lens shift and the zoom will change for each mode. Other things will change for users with an anamorphic lens. Often, these modes are set by the calibrator/installer, each following their own preference (there is no standard regarding which mode should apply to each aspect ratio), and it's not easy for the user to change that. With the recent JVCs, you have ten different "Installation Modes". With previous models, you had ten different Lens Memories. I think the IP commands are the same for lens memories and installation modes, but I'd have to check. The only thing you can control is which lens memory / installation mode to select. It's up to the user / calibrator / installer to decide what each mode does and how to set it up.
- As I said, I will send you all the relevant documentation, but only once you decide if you want to go the batch file way or the CMC internal IP control way. Let's look further at the pros and cons of each approach:
-
If you go the batch files way, you don't need any JVC documentation and you don't need to worry about any specific command. I'll provide the RAW command in the batch file for each specific lens memory or installation mode, so you don't have to waste any time with that, or with the IP command protocol. The JVCcontrols.exe utility does that for you, and I'll provide the commands. The only thing you have to worry about is fetching the A/R from the title metadata and providing it to the batch file when you launch it from CMC. The rest is handled by the batch file logic and the jvccontrol.exe utility (and myself re the raw command to use to select each lens memory / installation mode). The upside of this approach is that implementation is fast and easy for you, it could literally be done in a few hours, and it's universal and flexible, as the user can change the batch file to suit their own implementation (which lens memory / installation mode should be selected for each aspect ratio). The downside it that it's a batch file, so less elegant and relies on an external utility, so you'll need permission from the author to include it with CMC along with the sample batch file (that would be for JVC projectors to start with). You could have a setting that selects a different batch file depending on the projector's brand as you add support for additional projector brands. It's also a bit more research for me as I don't use the batch file approach currently, so I'd have to research the RAW commands to use, but that's not a problem at all, I can get that info easily when/if needed.
-
If you go the internal IP control way, I'll also provide all the hex/ascii commands for each lens memory/installation mode. They are not the same as the RAW commands used by the command line utility in the batch file, but I know them so it's faster/easier for me. However, it's much longer and more difficult for you, because you have to implement the IP control internally (what the jvccontrol.exe command line utility does for you in the batch file approach). I'll give you the documentation to implement the IP control protocal, but you won't need to dig into how each lens memory / installation mode command is formed (it is indeed formed of different parts, but that's entirely irrelevant to you, as I will provide the full command for each lens memory / installation mode). Because there is no standard, you will have to decide whether you want to force the user to use say mode 1 for 1.78, mode 2 for 2.40 etc, or if you will give the user a way to assign a lens memory / installation mode for each available A/R. For example, they could specify mode 1 for 2.40 and mode 2 for 1.78, and set all the other A/R to do nothing. The advantage of this approach is that it's more elegant, you don't need to add a third party utility to CMC, no batch files, but it will likely take a lot longer to get the IP Control protocol coded and working. I've helped many developers to implement it (HD Fury, Brian, etc) so it's not a big deal, but it's a lot more work than going the batch files way, plus you have to do a new implementation for each brand (and possible family model).
Because the commands are not the same depending on the approach, and because I know the IP Control commands but not the RAW commands used by the batch files utility, you need to decide which way you'd like to go before I can help further.
If you go the batch files way, there is no need for any documentation. I'll research the raw commands, I'll provide a test batch file once we agree on the A/R parameter you'll provide when calling the batch file, and bob's your uncle.
If you go the internal IP control way, I'll provide the documentation you need and a set of command to use for a JVC specific implementation, and we can discuss the user interface (ideally mapping each A/R to a user-selected lenms memory or installation mode). I have all the commands, and you don't need to dig into how to form them. Once you can communicate with the PJ using the IP control protocol, most of the work is done.
I hope this helps and clarifies, let me know if you have any questions
