bitfocus / companion-module-analogway-awj

MIT License
7 stars 1 forks source link

Version 4 support #12

Closed reneuhre closed 2 months ago

reneuhre commented 6 months ago

The module don't work with the new version 4 software for Aquillion, after they updated there AWJ. The module will not comnect, so hope for a update to support version 4/new AWJ protocol

dnmeid commented 6 months ago

I know of that limitation. An update is in the making for two weeks now. Unfortunately Analog Way did change the protocol a lot and this gives me quite some work to update the module so it will be compatible with the new LifePremier v4 and still be compatible with older LivePremier firmware and Midra and Alta platforms.

PhillPower commented 6 months ago

If you need any testing done I’ll be on an Aquilon C+ in a couple of weeks that’s just been updated.

kirkmeyers commented 6 months ago

Wish I'd read this before updating to 4. this morning. Found the same thing here, module won't connect.

Thanks @dnmeid for working on the module update. Rolling back to v3 for now.

robertskiba commented 6 months ago

Hi Dorian, If you like to I can give you constant remote access to my RS2 via VPN. Just contact me.

dnmeid commented 6 months ago

Hi Dorian, If you like to I can give you constant remote access to my RS2 via VPN. Just contact me.

Thank you Robert, I already have access to a linked system from Analog Way. The problem with the v4 update is that it is really a big update because they changed and renamed so many paths at the core of the logic and I have to maintain compatibility with v3. I have already invested many days in updating the module and at the moment my motivation is really low finishing it up, because 1. I have other work to do, 2. these changes are completely unnecessary and 3. it is unpaid work.

MrHurz commented 6 months ago

Do you need help with anything?

robertskiba commented 6 months ago

Another idea, @dnmeid

Wouldn't it be ok if you would make a completely new module for V4?

On the one hand I understand that some users can't update to the newest firmware version instantly after release, but I guess it maybe the better way to make a new module and deprecate the old one after some time.

dnmeid commented 6 months ago

@robertskiba A separate module for v4 is not a good idea. It is one common mudule for Livepremier and Midra/Alta. If I make a new module for Lviepremier v4, I can either make this a successor to the existing module, but then the existing module would stop working and ther woulb be no downgrade path for users once the run the new module, or if I don't make it a successor, I would have to maintain the old module for the Midra/Alta users along and all Livepremier users would have to redo their configurations.

@MrHurz can you do typescript? I think the best way to tackle the API changes is to split out the module in a separate class for each device/firmware, so the classes can share common methods but it still is possible to do individual methods and everything still is maintainable. At the moment there are many platform depentent branches in the methods, which was ok for 2 different things but is a complete mess for three different things.

VideoBSO commented 5 months ago

@dnmeid would you mind to open a draft PR for the WIP branch? I might have a chance to dig into this bit at a bunch of days in the upcoming two weeks.

dnmeid commented 5 months ago

Good news, Analog Way did assign me some days to rework the module and make it up-to-date. Let's see how fast I am but it should be doable within a few weeks.

robertskiba commented 5 months ago

Hi Dorian,

very good to hear that. Could you please write an info as soon as there are betas live to test?

dnmeid commented 5 months ago

Could you please write an info as soon as there are betas live to test?

I'll announce it here. We are going to release Companion 3.3 by mid of May and I hope to have the update included.

VideoBSO commented 5 months ago

Awesome news. Feel free to tag me in the PR/commit I'll be happy to beta-test.

PhillPower commented 4 months ago

Could you please write an info as soon as there are betas live to test?

I'll announce it here. We are going to release Companion 3.3 by mid of May and I hope to have the update included.

Any updates? Will it be in an upcoming 3.4 beta?

dnmeid commented 3 months ago

So this took a while longer than I expected. The module is now increased to nearly 22000 lines. The necessary changes are insane. I have just finished a version with all the bits in place. I'm going to debug it myself for at least tomorrow, but I just want to give you a heads up for everyone willing to do a little alpha test during the next few days. Stay tuned.

Mboitnott commented 3 months ago

Wow. 22000 lines! Looking forward to seeing it in action

dnmeid commented 3 months ago

Please find attached a first packaged version of the upcoming v2.4 of this module. You know how to include a package in the local development folder or you'll find out. IMPORTANT: Make a backup of your configuration before you install and run the new module for the first time. The module will do some upgrades to stored values, which you can't revert easily. If you don't allready have configured, maybe you want to add some position/size and some audio routing actions while you still are using the old version. Then you can check and report if the upgrades did work for you.

First thing you may notice is that synchronization with v4 takes a lot longer. At least at my machine with the simulator. The state which is downloaded from the device at startup has increased due to the possible linking. AW does for some reason always include all possible options for all devices with all cards.

I encourage you to do some alpha testing, but please don't complain if you are using this alpha version in production and something is not working. If you really want to help, then please check all the actions, all the options of the actions, all the feedbacks, all the presets, all the variables and not only for Livepremier v4, but also for Livepremier v3 and for Alta / Midra. Especially Alta/Midra is quite interesting as this platform has the most differences to Livepremier and this module should not affect the use of Alta/Midra just because there was an ubdate at Livepremier. But actually this is a complete rewrite, not an update, so I had to redo most of the adoptions for Alta/Midra in the new architecture and there will most likely be still some errors. If you switch platforms with one configuration, keep in mind that this is possible for most of the actions/feedbacks but not for all. I already know some problems with multiviewer widget selection on lp4, please report if you find the same problem with simulator or real device.

Also feel free to try the new position/size action and report what you like or if there should be improvements. I still have to polish this action, I have found that sometimes positioning only works after you run the action a second time. Also I still need to make presets for position/size. Feel free to make suggestions what presets you would find most useful. pkg.zip

reneuhre commented 3 months ago

Cool, Looking forward to try it. Next week I will be at Analog Way in France, so I hope to get the time there to test it with some og the guys. But it should be possible to try it on all devices if I have the time :-) Great job so far 👍

dnmeid commented 3 months ago

Here is an updated version that corrects the "position/size sometimes needs two runs" bug and also adds even more help text how position/size is working. pkg.zip

VideoBSO commented 3 months ago

Thanks @dnmeid for all that work. Certainly I am overlooking something, but when trying to run the feat/livePremierV4compatibility branch directly, it doesn't work. First I get a missing entry-point and when I fix this manually in the manifest the module crashes with Instance/ModuleHost: Unhandled error restarting connection: Error: Restart forced. Do you have any pointers for me what I am missing here?

dnmeid commented 3 months ago

Do you have any pointers for me what I am missing here?

I can only guess, but I'd say you did oversee that this is a typescript module. If you want to run from code you have to transpile first. yarn does it.

dnmeid commented 3 months ago

Here's the latest alpha, maybe already beta. Somehow the recall layer memories action was lost and I've added a few presets for position/size. pkg.zip

VideoBSO commented 3 months ago

I can only guess, but I'd say you did oversee that this is a typescript module. If you want to run from code you have to transpile first. yarn does it.

Indeed, that was my overlook. Well the ../dist/ path should have been the obvious hint 🤷‍♂️ Anyways, now its working as expected, thanks once again!

dnmeid commented 3 months ago

Finding the last bits. Here is a new one where the layers is positioned correctly if the top/left corner stays at the same place after a resize. pkg.zip

dnmeid commented 3 months ago

Can't believe it, screen take had been lost too. pkg.zip

dnmeid commented 2 months ago

Another tiny fix about the calculation of the bounding box. pkg.zip And I have found one problem about multiviewers in LivePremier 4. The simulator returns isEnabled: false for all multiviewers. So I don't show them in options or build presets for not enabled multiviewers. But it always returns false. Can someone with a real machine check if this is only a problem of the simulator or is it the same at the real machine? If you have enabled at least one multiviewer, you should see some presets for multiviewer widget selection.

VideoBSO commented 2 months ago

Can someone with a real machine check if this is only a problem of the simulator or is it the same at the real machine? If you have enabled at least one multiviewer, you should see some presets for multiviewer widget selection.

Checked on an Aquilon with FW 4.1.38 and can confirm two MV Memory Presets (one for each MV) and MV Source Presets for each preconfiged source. If you need anything else checked, just drop a ping.

dnmeid commented 2 months ago

Here is the latest one with a small fix of the variables showing if a used memory is modified. Also the learn button of position/size will now reflect the entered anchor position. pkg.zip

dnmeid commented 2 months ago

As noone reached to me with any reports from the alpha versions or other comments, the update is now released.

reneuhre commented 2 months ago

Cool, and was nice to meet you at Analog Way Den 28. jul. 2024 kl. 11.28 skrev Dorian Meid @.***>: As noone reached to me with any reports from the alpha versions or other comments, the update is now released.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Mboitnott commented 2 months ago

Can someone point me to a guide for adding this to companion manually?