cpmpercussion/microjam

Separate playback and recording controllers

Closed this issue · 8 comments

What if the chirp jam controller is only used for recording? We could have a separate system for browsing and playing back performances, and only when you hit reply button you go to the chirp jam controller.

Yep good idea, I was thinking along these lines today. Would it be possible to subclass it? Or abstract the timer and playback bits? They're a bit fragile and should be reused wherever possible.

I don't know would be the best approach. I mean it would be nice to be able to have different levels of playback, one with only sound and one with sound and image..

I did a bunch of cleaning up in the ChirpJamViewController yesterday, I might have another look today.

Here's an idea:

Have a class: PerformanceViewController that has an array of playback and recording views as properties and has the timers and other logic to initiate and stop playback.

Have the ChirpJamViewController inherit from PerformanceViewController with the other UI elements.

How about a Performance Handler which takes care of playing back performances, and then a subclass which can play and draw the performance on an image? We can use this class whenever we need to play a performance and we can use it in addition to all the recording stuff in the ChirpJamController.

Yep that works for me.

The only problem I foresee is that the playback process has to know about the progress bar in the viewcontroller. Maybe there could be a callback for "updateUI" or something, that can then look up a "performanceProgress" property to update the progress bar.

I'll have a look and see if I can find a nice solution.

I guess this is kind of done?

This is done!