bitfocus / companion-module-allenheath-sq

MIT License
7 stars 3 forks source link

BUG - Scene 1 automatically loaded upon connection #19

Closed JustAddSoftware closed 3 years ago

JustAddSoftware commented 3 years ago

Right now when the Allen & Heath module connects, scene 1 is automatically loaded. This is horrible behavior because you are trying to force a particular configuration load on a user. When the system connects, it should do NOTHING to disturb the mixer. Load no config, load no scene. Nothing. What if Companion loses connection in the middle of a show and then reconnects. You could have your entire board wiped out by this behavior in the middle of a show losing all your levels, EQs,IEM mixes, etc. The init method in line 721 needs to be eliminated. Let the user choose to send any initialization commands.

Please remove this:

init() 
{       
this.updateConfig(this.config)      
this.setVariable('currentScene', 1) 
}

It is not needed. Please don't force us into a config.

maxks commented 3 years ago

Hi @JustAddSoftware this.setVariable ('currentScene', 1) does not send any commands to the MIDI connection, it only sets an internal variable needed if you are using "scene commands" (you probably don't know how the framework that is used to create these programs works). Nothing is sent to the console without user intervention (button programmed and pressed), only the first request of the current console configuration to show it on the button display. I think (I've had the same problem in the past) it's a connection problem; I use my SQ5 with Companion for 6/7 hours a day every day without any problems, but to solve many MIDI connection problems I had to configure the console with DHCP. However, to understand where the problem is, I need to know:

1) what version of Companion do you use? 2) does this happen every time you upload the form? 3) do you set fixed IP or DHCP in the console configuration?

JustAddSoftware commented 3 years ago

The version of Companion is 2.2.0 (2.2.0-fa0f2bdc-3347).

I am not using a MIDI connection but TCP/IP unless the commands are still sent over MIDI.

The mixer console is using a fixed IP address. It is on a different network subnet from the machine running Companion. But that should not make any difference. And the console will need to stay at a fixed address.

But as soon as the SQ module is enabled and the TCP/IP connection made. then without ANY user intervention, the mixer is set to a scene different from the one it should be set to. I don’t care what sort of network connection there is, this should never happen. We use the A&H Mixpad software on our iPads and laptops with no problem.

I have a second, unrelated question - why does the Companion module want to use a different talkback channel than the talkback channel that is on the board already? If the Companion module insists on something different, how can I disable that feature in Companion?

Thank you.

Jon

On Jun 5, 2021, at 12:08 PM, maxks @.***> wrote:

Hi @JustAddSoftware https://github.com/JustAddSoftware this.setVariable ('currentScene', 1) does not send any commands to the MIDI connection, it only sets an internal variable needed if you are using "scene commands" (you probably don't know how the framework that is used to create these programs works). Nothing is sent to the console without user intervention (button programmed and pressed), only the first request of the current console configuration to show it on the button display. I think (I've had the same problem in the past) it's a connection problem; I use my SQ5 with Companion for 6/7 hours a day every day without any problems, but to solve many MIDI connection problems I had to configure the console with DHCP. However, to understand where the problem is, I need to know:

what version of Companion do you use? does this happen every time you upload the form? do you set fixed IP or DHCP in the console configuration? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-module-allenheath-sq/issues/19#issuecomment-855267678, or unsubscribe https://github.com/notifications/unsubscribe-auth/AS3GWGKPTHTB4MLTMXTL7ALTRJKVBANCNFSM46DEPNCQ.

maxks commented 3 years ago

Connection between module and SQ is MIDI over TCP/IP. On SQ this type of connection is not very stable but at this time there aren't any other mode to perform this. Is not a problem of the Companion module. The only way I foud to stabilize communication is setting console with DHCP and reserved a fixed IP on router. Don't ask me why, I don't know the answer. Using SQ5 in that way is very stable and I confirm it works correctly for many hours a day.

We use the A&H Mixpad software on our iPads and laptops with no problem.

MixPad use a direct TCP/IP connection (not MIDI), but A&H never released a documentation to use it.

why does the Companion module want to use a different talkback channel than the talkback channel that is on the board already?

On module documentation (HELP file) is specified that talkback function is an emulation (a macro of some module functions) of the console function and used to talk with an specific AUX channel directly (talkback on console doesn't permit that).

JustAddSoftware commented 3 years ago

This is not going to be something possible for us to do. I don’t think it is due to stability of the TCP/IP connection. If it was, then this problem would happen sometimes and not happen at others. Or it may happen at a different time. This problem happens immediately upon connection.

On Jun 5, 2021, at 5:45 PM, maxks @.***> wrote:

Connection between module and SQ is MIDI over TCP/IP. On SQ this type of connection is not very stable but at this time there aren't any other mode to perform this. Is not a problem of the Companion module. The only way I foud to stabilize communication is setting console with DHCP and reserved a fixed IP on router. Don't ask me why, I don't know the answer. Using SQ5 in that way is very stable and I confirm it works correctly for many hours a day.

We use the A&H Mixpad software on our iPads and laptops with no problem.

MixPad use a direct TCP/IP connection (not MIDI), but A&H never released a documentation to use it.

why does the Companion module want to use a different talkback channel than the talkback channel that is on the board already?

On module documentation (HELP file) is specified that talkback function is an emulation (a macro of some module functions) of the console function and used to talk with an specific AUX channel directly (talkback on console doesn't permit that).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-module-allenheath-sq/issues/19#issuecomment-855305873, or unsubscribe https://github.com/notifications/unsubscribe-auth/AS3GWGP2NVA5CUHHFM3EMYDTRKSEZANCNFSM46DEPNCQ.

maxks commented 3 years ago

I'm sorry, but I came to this conclusion after many connectivity tests.

This problem happens immediately upon connection.

Systematically every time? At startup the module sends status requests to the console for all channels, mixes, FX, assignments ... but not the scene status because there is no command to retrieve that value. The only thing that comes to mind is that, for unknown reasons, during status requests the console receives a corrupted message that it recognize as a "scene change" (unlikely) or the midi connection hangs in cause of high traffic and the console is reset.

If you don't want to try my "connection" solution, a possible way to resolve this issue is block all status requesting at start up, but in that case Companion doesn't will know current console status and doesn't displaing anythings. Otrherwise trying to delay every block of requests, but this will take several seconds for the module to retrive all states.

I can make changes to the current beta, but since I don't have your problem, I can't know if it will works.

JustAddSoftware commented 3 years ago

OK. Thank you. My application with Companion is different from most. I’m not using it with a Streamdeck. I am using it as a control interface only with another piece of software that I wrote. So I don’t need to pull any status information from the board.

But maybe if this is too much trouble I can look into implementing the A&H protocol myself. It’s just easy when it’s already in Companion and I’d rather do it that way then re-invent the wheel.

Thanks,

Jon

Sent from my iPhone

On Jun 5, 2021, at 5:45 PM, maxks @.***> wrote:

 Connection between module and SQ is MIDI over TCP/IP. On SQ this type of connection is not very stable but at this time there aren't any other mode to perform this. Is not a problem of the Companion module. The only way I foud to stabilize communication is setting console with DHCP and reserved a fixed IP on router. Don't ask me why, I don't know the answer. Using SQ5 in that way is very stable and I confirm it works correctly for many hours a day.

We use the A&H Mixpad software on our iPads and laptops with no problem.

MixPad use a direct TCP/IP connection (not MIDI), but A&H never released a documentation to use it.

why does the Companion module want to use a different talkback channel than the talkback channel that is on the board already?

On module documentation (HELP file) is specified that talkback function is an emulation (a macro of some module functions) of the console function and used to talk with an specific AUX channel directly (talkback on console doesn't permit that).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

maxks commented 3 years ago

I can look into implementing the A&H protocol myself.

I tried to use WireShark to capture byte passed through A&H software and console, but is not simple and is a big work.

But maybe if this is too much trouble

I working for it and I send to approval new beta today.

maxks commented 3 years ago

Hi @JustAddSoftware new beta released today with module version 1.3.5. Now you'll be able to deactivate all status requests or delaying it. I also added debugging on all data in / out of the module.

JustAddSoftware commented 3 years ago

Oh wonderful! I will give that a try as soon as I am able!

Thank you.

Jon


Jon Ogden Just Add Software

When you want it to work...Just Add Software!

Webpage: http://www.justaddsoftware.net

"Try not to become a man of success. Rather become a man of value."

On Jun 8, 2021, at 10:55 AM, maxks @.***> wrote:

Hi @JustAddSoftware https://github.com/JustAddSoftware new beta released today with module version 1.3.5. Now you'll be able to deactivate all status requests or delaying it. I also added debugging on all data in / out of the module.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-module-allenheath-sq/issues/19#issuecomment-856891241, or unsubscribe https://github.com/notifications/unsubscribe-auth/AS3GWGNJZJPQG27J3VXQK2DTRY4LDANCNFSM46DEPNCQ.