Thanks for your help. Unfortunately the issue isn’t in programatically setting the Tempo – no problem there. What I’m trying to accomplish is to be able to use a Tap Tempo “widget” during rehearsals to set the tempo for a song (Rackspace) and have it save with the Rackspace so when I reload that song, the Tempo will be set to what I set it to earlier. I have most of it working already (and I’ll happily share it once its finished).
What I’m trying to do is the following:
- Change the Tempo live (using the Tap() functions) – works great.
- Save that Tempo for that Rackspace. This can’t be done directly to the Tempo property of the Rackspace (at least I can’t find a function for it).
- Move to a different Rackspace.
- Repeat steps 1 and 2 for this Rackspace.
- Switch back to the first Rackspace and set the Tempo to what had been previously set there. This would be trivial I could have changed the Rackpace’s Tempo property, but failing that, there needs to be some place to save the Tempo with the Rackspace when it’s not active or unloaded.
- Save the Gig and close GigPerformer.
- Open GigPerformer, reload the Gig, and have those previously saved Tempos load when the associated Rackspace is activated.
I’m able to do all the above except save the Tempo to the Rackspace. I don’t see a function to read or write the Rackspace’s Temp property, so as a work-around I tried saving the Tempo to the Caption of the Beat LED so I could load it back later. However, GetWidgetCaption(w) is producing the following compiler error: "Semantic error: Line 41, Col 9: Unknown identifer: GetWidgetCaption".
I also tried saving the tempo to a global variable on the off chance that it’s value is restored the next time the Rack is loaded. I didn’t expect it to work, but I know Widget parameters can be persisted, so I thought it might be possible (I haven’t found anything documenting that). This actually sort of works but it’s not reliable. I don’t understand how or why – seems like it may have to do with which Rackspace is active when the Gig is saved.
Anyhow, the ideal solution would be a way to read / write the Rackspace’s Tempo property. Even better would be a Variation-level parameter for Tempo so each variation can have a different Tempo. That’s not needed often, but it would be handy in certain circumstances.