bitfocus / companion-module-requests

Repository for tracking module requests
102 stars 11 forks source link

Behringer Wing #310

Closed jmrowe504 closed 3 years ago

jmrowe504 commented 4 years ago

It would be nice to have the ability to control the features of the Behringer Wing over OSC.

josephdadams commented 4 years ago

Documentation or protocol links?

jmrowe504 commented 4 years ago

https://mediadl.musictribe.com/download/software/behringer/WING/BE-P0BV2-WING-OSC_Documentation.pdf

This is the link

JanKoppe commented 4 years ago

Second the request! Also a lot of documentation and tools around the Wing here: https://sites.google.com/site/patrickmaillot/wing?authuser=0

Byberg33 commented 4 years ago

I would also need this! I think a lot can be duplicated from the Behringer x32 integration so it should not be that much work

ggudnason commented 3 years ago

I support this request

pmaillot commented 3 years ago

I too support the request (having a StreamDeck myself, not using it much though). But I don't have time to dig into this. If anyone takes this on, please don't do what is done for Behringer X32, there's absolutely NO need to send a request for /info every second (or so). This is a waste of network resources. A request for /xremote every 9 seconds is enough and fully safe for getting the X32 to provide OSC changes at the console. I'll be happy to help on the OSC part for WING if needed, although everything is documented.

JeroenPluijmers commented 3 years ago

I support this request! I own a WING and am willing to beta-test

amcchord commented 3 years ago

I would be willing to put a 10k bounty on a working wing integration. Simple fader controls is all that is needed.

josephdadams commented 3 years ago

$10,000?

QRUXEL commented 3 years ago

Wow, for such a bounty I'm intrigued to go for it myself, but considering @pmaillot literally wrote the book on wing osc/wapi communication, I'm keeping my fingers crossed that he'll reconsider now ^^

josephdadams commented 3 years ago

@amcchord I can go to work for you today 😂😃

amcchord commented 3 years ago

@josephdadams Yeah I am serious. I am very lucky to be in a position to be able to give back. Companion is awesome stuff and I use it in a few projects. Recently ordered a Behringer Wing and it would be great to be able to bring it into the companion universe. I would do it myself if I had the time.

josephdadams commented 3 years ago

I will get started on it tonight. If anyone can get me access to testing on one, let me know.

istnv commented 3 years ago

@amcchord I'll modify the X-Air module for that :) I can get access to a physical wing in a couple of days.

QRUXEL commented 3 years ago

I recommend looking into using the new websocket communication that the wing feature instead of just porting the osc from existing projects. The websocket should be more reliable and efficient.

As soon as my mixer returns from service I'll be happy to beta test.

pmaillot commented 3 years ago

Great, two developers going for it! :)

pmaillot commented 3 years ago

@QRUXEL any doc / information on the websocket communication interface? I know of std TCP/IP which I have documented too in the wapi document, but it takes more time/effort than re-using some of the already developed OSC stuff to implement something,even is the OSC things developed for X32 need revision (see my comment above).

JeffreyDavidsz commented 3 years ago

@amcchord that's very generous of you. May I suggest to split the amount into serval smaller bounty's? There are a lot of modules to develop and putting a bounty against those will help making Companion even better. If you like I can create several bounty's for several modules and you can put a amount to it. Smaller modules will take around 300-500 bigger modules like ATEM or Newtek will go around 1500. This way more developers will benefit and it will help the companion community even more.

No offense guys who already stepped in, I felt I needed to guide a bit on this one.

QRUXEL commented 3 years ago

@QRUXEL any doc / information on the websocket communication interface? I know of std TCP/IP which I have documented too in the wapi document, but it takes more time/effort than re-using some of the already developed OSC stuff to implement something,even is the OSC things developed for X32 need revision (see my comment above).

I thought you were the one who had all that information but I must admit I haven't read through all of your documentation and I must have misunderstood your comment in the wing facebook group where I thought you said it uses the wapi binary protocol through websocket. Maybe you might have some contacts at Behringer you could try and contact perhaps?

Anyway, I agree that it's quicker to use osc and maybe even port the x32 module (with your mentioned optimization) but it would also be great to do a bit of research into using the websocket communication. We know that behringer uses it for their mobile app, so maybe someone could do some Wireshark captures through an android emulator? Just to see what it's communication looks like?

I'd love to do it myself but as I mentioned, I'm still waiting for our unit to return from service.

pmaillot commented 3 years ago

I also spent tens of hours 'wiresharking' communications between WING and applications :) The binary/native WING protocol uses standard TCP/IP. A websocket protocol layer has been defined be B. for being used by their copilot app and I haven't reverse-engineered this. For those curious about websockets: https://html.spec.whatwg.org/multipage/web-sockets.html#network

pmaillot commented 3 years ago

@JeffreyDavidsz Agreeing with you.

josephdadams commented 3 years ago

@istnv After looking at the xair module and realizing that I would basically be taking your code, modifying a few things, and profiting off of it for the sake of a wing module, I felt extremely conflicted. So I am going to pass on this and let you take it. I could definitely use the money but not at the sake of my integrity.

If anyone else needs a module for hire though, let me know!

amcchord commented 3 years ago

@JeffreyDavidsz Sure happy to do that! I would love to get a module for the Wing as it would be deeply helpful. But I am very supportive of the project as a whole. Would it be best just to donate directly to bitfocus and then you can parcel out the bounties? I am in Bitfocus Slack as AustinMcChord. We can continue chatting there.

Off-topic: but the ability to update streamdeck button labels and colors with an HTTP request is high on my list as well. I know there is PR outstanding that looks like its getting us close.

JeffreyDavidsz commented 3 years ago

That's sounds great, I'll contact you on slack. We can discuss how to get the money at the guys/girls how actually develop it

willosof commented 3 years ago

This thing right here? https://www.youtube.com/watch?v=BOMAWKtRa_I&feature=youtu.be

(edit: sorry, wrong device!)

JeffreyDavidsz commented 3 years ago

The pull request are under review ;-)

jmrowe504 commented 3 years ago

I know this is the xtouch surface, but this is a feature that I really want to see on the Wing! I want to be able to have one of my Buses assigned to the xtouch surface for our livestream feed and have someone able to make quick changes without having to ask the engineer at front of house.

JR

Sent from my iPhone

On Feb 15, 2021, at 10:32 AM, William Viker notifications@github.com wrote:

 This thing right here? https://www.youtube.com/watch?v=BOMAWKtRa_I&feature=youtu.be

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

JeffreyDavidsz commented 3 years ago

@istnv for this one I've posted a bounty: https://www.bountysource.com/issues/93806464-behringer-wing

amcchord commented 3 years ago

Just an Fyi @JeffreyDavidsz is controlling the bounties going forward. I have given $10,000.00 to Bitfocus for bounties. The amount for this plugin is not 10k anymore. Moving forward please contact @JeffreyDavidsz if you have questions regarding bounties.

istnv commented 3 years ago

OK. I have a module with actions and variables (no feedback/colors). I am at a point where I need to verify some protocol with an actual console. However, the person who was going to let me use their WING sold it. Hard times. :( I can do this if someone has a WING with a PC on the same network I could access (Teamviewer or similar).

istnv commented 3 years ago

This is the help file. I still need access to a console to test if the protocol is correct.

Behringer WING

This Module controls the Behringer WING series of consoles go over to Behringer to get additional information about the consoles and their capabilities.

Configuration

Target IP: Enter the IP address of the Mixer

Supported Actions

Console Function What it does
Mute Mutes or Unmutes the selected Strip*. Includes Mute Groups.
Fader Set Sets the level of the selected Strip to a specific value
Fader Adjust Adjust the selected Strip fader up or down by steps *see notes
Store Fader Stores the selected Strip fader value for later recall *see notes
Recall Fader Recalls the stored value to the Selected Strip
Name Sets the text label in the Selected scribble strip. Includes Mute Groups.
Color Sets the LED color of the Selected Strip.
LED Set the LED for the selected Strip to On/Off.
(Bus)* send On Enable Bus send for Selected Strip and Bus
(Bus) Store Stores the send level for the Selected Strip and Bus for later recall *see notes
(Bus) Recall Recalls the Bus send level for the Selected Strip and Bus
Solo Enables the Solo function for the Selected Strip
Solo Dim Dims the Solo output level to the value configured in the console.
Solo Mute Mutes the Solo output
Solo Mono Controls the Mono mix-down of the Solo output

Note Strips: These are strips with faders: Channel, Aux, Bus, Main, Matrix, DCA

Note mute, LED, slolo: These actions also have a Toggle option that inverts the current state of the board channel.

Note fader adjustment: This module stores fader position as a range from 0 (-oo dB) to 100 (+10dB). The conversion from position to dB is explained below. Fader changes also have an optional duration of 0 to 60000 mSec (0 to 60 seconds) to create cross fades.

Note Storage and Recall: Each channel or bus send has one save value. Recall will only restore the last value saved. There are also 10 Global slots available to store a value that may be recalled to any channel. Recalling an empty slot will have no effect.

Dynamic Variables

Variable Description
$(INSTANCENAME:m_ip) Mixer IP Address
$(INSTANCENAME:m_name) Mixer Name
$(INSTANCENAME:m_model) Mixer Model
$(INSTANCENAME:m_serial Mixer Serial #
$(INSTANCENAME:m_fw) Mixer Firmware
$(INSTANCENAME:{Strip}_d) Strip fader level in dB *see notes
$(INSTANCENAME:{Strip}_p) Strip fader level in % (0-100)
$(INSTANCENAME:{Strip}_n) Strip label Name
$(INSTANCENAME:{Strip}_{Bus}_d) Bus send level of {Strip} to {Bus} in dB
$(INSTANCENAME:{Strip}_{Bus}_p) Bus send level in % (0-100)

Note {Strip}: Strip variable names are created from the Strip type (ch,aux,main) plus the Strip Number. For example, $(INSTANCENAME:ch5_d) will show the value for Channel 5 in dB. {Bus} is created the same way.

Feedback

Variable Description
Color when Strip muted Sets the button color if the selected Strip is muted
Color of Strip Sets the button Text color to match the seleted Strip color
Color when LED on Sets the button color to match the selected Strip color when the LED is on
Indicate Solo Adds the solo overlay when selected Strip Solo is on
Color when Solo Mute Sets the button color when the Solo output is muted
Color when Solo Mono Sets the button color when the Solo output is mono
Color when Solo Dim Sets the button color when the Solo output is dimmed

Notes

Solo Feedback indicator changes the button color to white text on black with an overlay:
Solo

For additional actions please raise a feature request at github

dseehof commented 3 years ago

I’m at my WING today and tomorrow during working hours in Germany. Let me know if I can help testing.

istnv commented 3 years ago

@dseehof Is it possible to access the WING remotely? I need to determine if the console responds to the commands I've programmed into the module.

dseehof commented 3 years ago

It’s on the network and I can get you TeamViewer or similar on my Mac, so yes you ought to be able to access remotely.

istnv commented 3 years ago

@dseehof Are you on slack?

dseehof commented 3 years ago

Yeah - Daniel Seehof

JeffreyDavidsz commented 3 years ago

Test version is out there, so I'll close this one.