No internet connection
  1. Home
  2. How to

Pec / Direct functionality

By William Harp @William_Harp
    2022-05-27 18:09:29.383Z

    I recently purchased the Pro Tools Track Control package and it doesn't seem to work in Pec / Direct Style Input Monitoring which is all that I need it for.

    I've set out to create my own deck that dynamical changes based off the state of parameters in Pro Tools so that its functional in a multi-mixer environment.

    Since we cannot programmatically change the icon of a button directly I'm using a loop function that checks the state of several conditions in pro tools (solo, mute, rec enable, Pec / Direct on/off) every 250 ms and will display a deck that has the corresponding icons in the appropriate combination.

    Ive had success with this method in the past for an Automation Window set of decks and it was manageable and fast to support Preview, Capture, and Auto Join.

    However, I'm noticing its becoming increasingly slow with the additional logic in my code and the sheer length required to support every combination seems impossible.

    Here is a code snippet that checks the track armed condition of 8 VCAs and displays a corresponding deck.

    if (track1VCA.recButtonState == conditions.trackArmed
    && track2VCA.recButtonState !== conditions.trackArmed
    && track3VCA.recButtonState !== conditions.trackArmed
    && track4VCA.recButtonState !== conditions.trackArmed
    && track5VCA.recButtonState !== conditions.trackArmed
    && track6VCA.recButtonState !== conditions.trackArmed
    && track7VCA.recButtonState !== conditions.trackArmed
    && trackPMVCA.recButtonState == conditions.trackArmed) {
    openDeck(decks.state1)
    }

    The short coming of this method is this currently only checks for condition of the record button and requires 256 decks & if statements to support all of the possible combinations of 8 buttons. If I wanted to add in the Pec / Direct conditions to this It would have 16 conditions in each if statement and would require 65000+ (2^16) decks and if statements to support all of the possible combinations and Im thinking this is a fools errand since it would be so bloated it would never work.

    So I'm curious if anyone has set out to accomplish something similar and if there's more efficient code. Additionally, im curious how the Pro Tools Track Control deck dynamically updates (solo and mute work!) and if its possible to change the code to work for Pec/Direct on my end [I can't make an editable copy]

    Happy to share more of my code and screen shots of my deck if thats help and if this interests anyone! Im certain there are plenty of people who would benefit from a deck like this.

    • 18 replies
    1. Kitch Membery @Kitch2022-05-28 00:39:54.463Z

      Hi @William_Harp,

      Although this may be accomplishable via the methods that you describe it is not supported or encouraged.

      As I mentioned over email, right now the creation of Dynamic SoundFlow Decks and Surfaces is reserved for members of the SoundFlow Developer program. And I have added you to the list of potential candidates for the next round.

      However, @chrscheuer may be able to easily add this functionality to the existing "Pro Tools Track Control" package. I encourage you to request this feature by posting in the "Pro Tools Track Control" forum at the following link.

      Thanks in advance.

      1. In reply toWilliam_Harp:

        Hi William

        Could you elaborate on what's not working in the current package? It supports solo, record, input monitoring and mute – are some of those not working for you?

        1. WWilliam Harp @William_Harp
            2022-05-31 17:26:16.277Z

            Hi Christian,

            While in the Pec/Direct Style Input Monitoring mode via the preferences, the record and input button do not reflect the state of pro tools:

            1. Ah, thanks. What's the preference to set to make this appear?

              1. WWilliam Harp @William_Harp
                  2022-06-01 16:24:54.115Z

                  Its in Operations under the record column:

                  1. Oh, interesting! Sorry, I had never seen that setting, had no idea it was literally named that. Thank you.

                    1. Hi William,

                      Can you check with version 1.1.6 of the package that I just uploaded to the Store?

                      1. WWilliam Harp @William_Harp
                          2022-06-01 17:24:50.282Z

                          Thank you! Input is working as expected however the record button still isn't behaving as expected.

                          When the transport is in Destructive Punch:

                          The buttons do not reflect the audio track being in record. The buttons work and make the track come in and out of destructive punch they just don't stay red during the punch.

                          1. Thanks! Please try with 1.1.7 :)

                            1. WWilliam Harp @William_Harp
                                2022-06-01 20:36:11.561Z

                                Woo! That seems to be working.

                                Although I'm now noticing that the buttons are only toggled from dim to bright and not actually responding to the state of pro tools. Is this expected behavior?

                                1. not actually responding to the state of pro tools

                                  The buttons appear to respond correctly on my end. Could you give more detail?

                                  The Track Control Deck only supports 2 states for each button. I did notice that the Destructive Punch mode in Pro Tools appears to have 3 different button states (ie. blue, red/blue and off). The Deck doesn't support 3 button modes at this point.

                                  1. WWilliam Harp @William_Harp
                                      2022-06-01 22:21:11.870Z

                                      Disregard! The deck was unresponsive but I think It was just hung up. A reboot fixed it up and everything is working amazingly.

                                      Thank you Christian! You saved me a few hundred thousand lines of code with this deck!!

                                      1. Nice!! Thank you so much for the great feedback :)

                                        1. WWilliam Harp @William_Harp
                                            2022-06-02 16:00:01.357Z2022-06-02 17:07:57.242Z

                                            One last thing...

                                            Would there be a way to have the record button also arm the transport while in DPE? I was working around by locking the transport to record so that Track Control Record button would work however there are a few things that knock the transport out of a record and it's tough to keep track of the DPE arm status.

                                            For instance it would be great to add some logic like this to each button

                                            const dpeState = sf.ui.proTools.mainWindow.transportViewCluster.groups.whoseTitle.is("Normal Transport Buttons").first.buttons.whoseTitle.is("Record Enable").first.invalidate().value.value
                                            const trackRecButton = sf.ui.proTools.trackGetByName({ name: trackName }).track.buttons.whoseTitle.is("Track Record Enable").first
                                            const transportRecButton = sf.ui.proTools.mainWindow.transportViewCluster.groups.whoseTitle.is("Normal Transport Buttons").first.buttons.whoseTitle.is("Record Enable").first
                                            const recording = "Destructive Punch TPR, Is Recording";
                                            const armed = "Destructive Punch TPR, Is Armed";
                                            // Functionality 
                                            
                                            if (dpeState == recording) {
                                                trackRecButton.elementClick();
                                            } else if (dpeState == armed) {
                                                trackRecButton.elementClick();
                                            
                                            } else {
                                                transportRecButton.elementClick();
                                                trackRecButton.elementClick();
                                            }
                                            

                                            Additionally, I would love if the button on the deck only light up if the record button was enabled and armed. Right now it'll light up if its only enabled which can be deceiving.

                                            Would be happy to help implement some of these things if there's ever any openings on the beta team!

                                            Thanks again Christian

                                            1. In reply tochrscheuer:
                                              RRicardo Cutz @Ricardo_Cutz
                                                2023-07-30 17:42:40.320Z

                                                Hi Chris, I'm glad I found this solution, but I have some questions:

                                                1 - Is it possible to use it with more recording tracks, with for example a deck on a Soundflow streamdeck app on a tablet, with more buttons?
                                                2- My template has those stems: Dial, Walla, Ambience, Music, Efx, Foley, Hard Effects, Mix 5.1, Mix 2.0, Optionals A/B and C ( at least)

                                                So at least 12 stems...
                                                Also is it possible to have a demo period of the app before committing to buy it?

                                                Thanks for this app and for your time!

                                                1. Hi Ricardo,

                                                  Your timing is excellent, we are just now working on v2.0 of this app. Specifically focusing on converting it to meta commands and adding full support for Pec/Direct workflows.
                                                  When using meta commands, you can add the buttons to any deck of any size and have any number of tracks be controlled :)

                                                  I'll see if there's anything we can do wrt. making a trial period. The way the price for v1.0 was set up, it's a one-off price at the start, which may be incompatible with trial periods, but I'll see if we can make it work anyway.

                                                  1. RRicardo Cutz @Ricardo_Cutz
                                                      2023-08-07 13:07:54.759Z

                                                      HI! Thanks for your reply!
                                                      I just think, do you know Colin Broad, from UK.
                                                      He has a Ped/Direct controlloer that working through the rs422 protocol, but nowadays
                                                      has a ethernet based solution
                                                      https://www.cbelectronics.co.uk/pd1
                                                      I don't know, have no clue if it is possible to make his devices work with soundflow...
                                                      He is a really nice guys... maybe it is worth a contact... since he has a lot of different devices to
                                                      monitor control et... all the best

                          2. S
                            In reply toWilliam_Harp:
                            SoundFlow Bot @soundflowbot
                              2022-06-03 09:14:32.276Z

                              This issue is now tracked internally by SoundFlow as SF-609