My OS X Programming Blog
Mac OS X Cocoa and CoreMIDI Programming
About Andrew Choi


MIDI Programs

MIDI File Player (External Device)

MIDI Destination Pop-Up Button

MIDI File Player (Internal Synth)

MusicSequence Sample Code

MIDI File Writer

MIDI Name Document Parser

NameConfigSetup

Fish Creek MIDI Framework

MidnamUtility

SysExSenderX

Other Programs

FCBlogEditor

FCBlog and Patch

Chinese Checkers Program

jyut6 ping3 Cantonese Input Method

Cocoa Sample Programs

Syntax Coloring Using Flex

NSTextField and Undo

NSToolbar

Implementing File Import

Launch Application and Open URL

Saving Uncommitted Text Field Edits

Algorithms

Jazz Chord Analysis as Optimization

Optimal Line Breaking for Music

Optimal Chord Spacing

   

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.

Preferences Panel
Wednesday September 8, 2004

The code for choosing destination endpoints and patches has been integrated into my automatic accompaniment program. A few modifications were necessary so the same code can be used for different controls (or groups of controls) in the preferences panel. These are not very difficult to do but if I had to start over again, I would probably have considered using Cocoa bindings for implementing the preferences panel.

Hey, What’re You Doing in My Backyard?
Tuesday September 7, 2004

Oh, eating stuffs :-). What are you doing in mine?

GUI for Patch Selection
Monday September 6, 2004

Worked out a little GUI for selecting the patch for a track. It turns out that different synthesizer manufacturers employ different methods for selecting patch banks. But the ones shown in the popup button below are the most common ones and are ones supported by Opcode Vision and Coda Finale. So that’ll be good enough for me for the moment.

Of course when a different “Patch Selection Method” is chosen, the number of text fields for entering the bank and patch numbers and their labels are different. So a simple controller class takes care of updating these according to the value selected in the popup button. Also “formatters” attached to the text fields restrict values entered into them to be between 0 and 127. Here’re a couple of examples:

September 2004
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Aug  Oct

xml

Search this blog with


Lists

Less-Known Facts About Emacs

Emacs Rants

Chinese Restaurants in Calgary

Calgary/Banff Tourist Attractions

C++ Reading List

Science Fiction Series

Top-10 Reason I Stopped Working on Emacs

Top-10 Types of Questions I Get About Emacs

10 Defining Moments as Programmer


Misc

Carbon XEmacs

Emacs for Mac OS X


Copyright © 2003, 2004, 2005 Andrew Choi (Contact Information). Created with FCBlog