ChoreoBuilder
This post is being updated as I work on ChoreoBuilder.
Why?
When I was living in Japan, I was given precious opportunities to perform in festivals and community events in the town I was living in.1.. Whenever I create a choreography for a tune, I split the audio in parts and write notes on my iPad on what moves or transitions I can do. My motivation with ChoreoBuilder was to streamline this process.
Uploading a Choreography
Initially, the main idea of this app is
- Getting audio files from your Files to create separate parts with them
- Copying files to your sandbox.
Models
Simply enough, every routine has parts and every parts have moves of different movetypes.
Playing with AVAudioPlayer
AudioPlayerModel
Every part comes
//PartView
if let partURL = part.location {
AudioPlayerView(audioFileURL: partURL, partTitle: part.title)
}
Controls
Functions I had learn how to implement:
- play
- seek forwards and backwords
- loop
- custom loop
- delay
- speedRate
Custom Slider
What to build
Much of the functionality I’ve implemented was based on the VLC iOS app.
- Custom Loop: Allowing the perfomer to practice a specific section inside the part
- Delay: For a part, we want the performer to be able to have their own countdown
Things I learned
- DropViewDelegate inside a Scrollview
- Building a custom expandable AudioPlayer
Footnotes
-
For reference, I juggle and dance to tunes I learn. For example, what I like to do is learn a song on piano and then build a dance/juggling choreography with it.
-
I use choreography and routine interchangeably.