Restart a project in a translator?

Sometimes, when I start the BomeBox, it doesn’t perform my init sequences. I can tell because several of those translators set LED’s on my KMI Softstep 2 foot pedal, and when this happens, they aren’t set.

It’s usually (I think) because I don’t open BomeNet on my iPad quickly enough, and some of the ports are not mapped.

I solve the problem by logging into the BomeBox and restarting the project.

Is there a way to do this from a translator? It looks like “execute file” would work, but I’m cautious about getting into loop. I figured a translator that checks for an non-init’d global variable could launch this action.

Is there any better way?

I usually set up a Timer called “Init” that does housekeep when a project is open. Then all of your housekeeping can occur using this timer. On Bomebox you could have send a MIDI message with incoming trigger and then use the outgoing action of the timer “Init”. Then you can have several translators do whatever you want as an outgoing action when the Init timer is triggered.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

I do have an extensive “init” section, part of which sets the LEDs and displays “Read” on the Softstep pedal display (it’s only 4 characters). It’s triggered (usually) when the project is opened. When those lights aren’t set and the word doesn’t appear, it’s clear the inits have not run for some reason.

I just changed the translator that I added to reload the project; it will now trigger the init timer.

I’m hoping that will solve the problem.

As always, thank you for your incredible support Steve, and Happy New Year!

Hi Steve,

After another round of debugging, it seems that everything in this project is fully functional, with one glaring exception. More than half the times I turn on the BomeBox, the inits don’t seem to run, as exemplified by the LEDs and display on my KMI Softstep pedal.

If you wouldn’t mind looking at my file, I would greatly appreciate it:

DJG Midi 2022-02-13.bmtp (75.8 KB)

I took your advice and added a translator which will launch the inits, in case they have not already been run. Look at preset “SS2 Init” translator #10 “SS2 Key 5 Run Inits if not run already” where I capture a timer launched by another translator, and check the status of a global variable, which is in turn set when inits are run.

Why do you think the inits aren’t running? I can’t say for sure, but I think this behavior came around when I updated the box to the latest firmware. However, I also made many changes to the file, so perhaps I caused this. As well, this coincided with switching from RTP-Midi to Bome Network midi via the application on my iPad.

The problem is easily solved in practice by accessing the BomeBox via the web and restarting the project. It would be nicer to just hit a key…

I would greatly appreciate any advice!

Just a bit more “evidence:”

I sat down to practice this morning, and as usual the LED’s on my pedal did not light, and the display did not indicate “Ready.”

The Bome Network app on my iPad connected, but the Page Next and Page Prev keys are not advancing my score.

I accessed the BomeBox from Safari on the iPad and restarted the project. Nothing happened.

I closed the project and reopened it. No change. I pressed the Mute key on the pedal. No change. I restarted the project again, to no effect.

The BomeBox is not reporting any problems with port mappings. It’s simply not doing anything.

I powered down the BomeBox and restarted it, and now the pedalboard’s LED’s are lit as expected and the score is advancing as normal.

Thoughts?

Hi,

I took a look at it. I’m thinking maybe the network port is not available when the project is started hence your SoftStep lights are not lighting up although the “inits” timer is probably running hence your global variable is being set correctly. Of course this means translator 0.10 will never fire when you turn off mute on your Mic FOH.

In the attached project, I set the incoming trigger that the SS2 output port is opened (instead of project started) and it seems to work. There are likely things that happen in parallel when you start your BomeBox and perhaps your project gets started (and “Inits” triggers) when all MIDI connections are not yet established.

Maybe the solution is to use a global variable to determine each connection dependency you want before starting the project and then only starting the “inits” timer after we know all connections are ready to accept MIDI data. Other than that, you can probably do as you have done and add a delay and “assume” the connections are ready but there is is no guarantee with this, especially if some aliases are not assigned.

Another thought is to make the FOH Mute Off fire the “inits” timer unconditionally to get your project to a known state. Or of course set up monitoring for each port to re-initialize the port when it comes open again.

DJG Midi 2022-02-13-sjc.bmtp (75.9 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve,

Brilliant, as always!

I imagine that what has been happening is that the BomeBox is up and running before my MioXM, which connects to most of the devices in my network, including the Softstep (“SS2”). The “Inits” sequence runs, but partially fails because most of the ports aren’t available. With your mod, the Inits run only after the ports are available.

I loaded up the version you sent me, and on the first try, everything worked. I assume that will now happen consistently.

[Edit after two days of testing: The system comes up every time exactly as expected. Hurray Steve and hurray for Bome!]

Thanks!
Dov

Hi,

I had the same problem even when just using Bome Network as my SS2 port so I suspect it may take some time after the BomeBox starts up before the Bome Network ports are available. The original project file with a timer gave it 3 seconds so maybe not enough if there is enough network stuff to get ready.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Do you think there’s an application here for the v1.90 functionality to dynamically assign aliases?

Perhaps I should consider “hardening” this BMTP project so it recovers from ports not being available at a given time.

Even I though I’ve been running the latest BomeBox firmware for some time, I didn’t load v1.90 until I saw you used an incoming action not supported by 1.84. Now that I’ve done that and downloaded the manual, I see all kinds of juicy new dynamic port and alias capabilities! Nice stuff!

Yes, 1.9.0 now has some new incoming triggers and outgoing actions.

Incoming

  • MIDI port is plugged in
  • MIDI port is unplugged
  • MIDI port is opened
  • MIDI port got closed
  • MIDI port open error
  • Application Focus

Outgoing

  • Assign MIDI Port Alias
  • Unassign MIDI Port Alias
  • Restart a MIDI Port
  • Add Route
  • Remove Route
  • Enable Route
  • Disable Route

I’ve found some of these very useful.

A more complete list can be found here.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz