|
About Andrew Choi
MIDI Programs
MIDI File Player (External Device)
MIDI Destination Pop-Up Button
Other Programs Cocoa Sample Programs Syntax Coloring Using Flex Algorithms Jazz Chord Analysis as Optimization
|
A blog where I will write mostly about programming in Cocoa and CoreMIDI, and experiences from my ports of Emacs and XEmacs to the Mac OS.
Wrote some code to display section marks extracted from BiaB files. Ill work on editing them and storing them in my own text format tomorrow. Ill also need to work on generating variations in the accompaniment when a song changes sections. It shouldnt be hard to put drum fills at the end of the sections, and, say, to switch the ride cymbal to hi-hat. More involved variations will require more design work. It is important to represent and make use of section information in tunes because this is what gives accompaniments generated by BiaB a little life (if one can call it that).
A chorus is specified by its beginning and ending bars, and the number of times its repeated. A simple application for practicing improvisation (like BiaB or MiBAC Jazz) supports only one chorus per song. I wrote some code today for displaying and editing this information in my chord editor.
Worked on some code to extract the beginning and ending bars of the chorus of a song in BiaB format. I also figured out how to determine the bars at which each section begins. Because there are a newer and an older BiaB format, I needed to repeat this detective work for both of them. Heres a screenshot of one of the demo songs in the BiaB demo.
2004-10-06 22:58:15.836 ChordEditor[1156] Section A: bar 1 2004-10-06 22:58:15.858 ChordEditor[1156] Section A: bar 9 2004-10-06 22:58:15.871 ChordEditor[1156] Section B: bar 17 2004-10-06 22:58:15.872 ChordEditor[1156] Section A: bar 25 2004-10-06 22:58:15.872 ChordEditor[1156] Section A: bar 33 2004-10-06 22:58:15.873 ChordEditor[1156] Chorus begin = 1 2004-10-06 22:58:15.873 ChordEditor[1156] Chorus end = 32 2004-10-06 22:58:15.873 ChordEditor[1156] Repeats = 3
Oranges are sweet and juicy this time of year, so I was thinking about making orange ice cream all weekend. I found a recipe on the Epicurious web site and another one at the Joy of Baking web site. I didnt like the idea of heating orange juice so I following the recommendation in my trusty Joy of Cooking cookbook and added the orange juice (cold) after the cream has been churned for five minutes. Herere my ingredients, which is a combination of the above recipes: 1.5 cups whipping cream, 0.5 cup whole milk, 2 egg yolks. 0.5 cup sugar, 1 tsp. vanilla extract, juice and zest of two big naval oranges. Optionally add 1 tsp. orange extract.
On a completely different topic, my current favorite program on public TV is Norm Abrams New Yankee Workshop.
Well, some programming tasks are more interesting than others. Today I just worked on finishing the preferences panel and the use of user default values in the rest of the program. This turns out to be a bit of work because part of my program is in Objective C and the rest in C++. The same trick Ive been using still works: passing CoreFoundation/Cocoa collections as parameters. Unmarshelling these parameters using CoreFoundation functions requires more code than doing the same thing in Cocoa though.
|
Lists
Less-Known Facts About Emacs
Chinese Restaurants in Calgary
Calgary/Banff Tourist Attractions
Top-10 Reason I Stopped Working on Emacs
Misc
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2003, 2004, 2005 Andrew Choi (Contact Information). | Created with FCBlog |