iGetIt! Music

Online music education courseware for non-musicians who want to learn how to write their own rock songs.

My Photo
Name: Jim Plamondon
Location: Austin, Texas, United States

This blog documents the development of JIMS iGetIt! Music System (JIMS). JIMS' goal is to help you Understand Music in 24 Hours™, if you are (a) a non-musician (b) who wants to learn how to write your own rock songs. Requiring no instrument other than your own computer, and without using traditional notation, JIMS is being designed to deliver a deep understanding of tonal structure...in just 24 hours.

Saturday, December 12, 2009

States in Flex 4 (entry 2)

This app looks the same as the last one I posted, but it implements the transitions between states using Flex's 'transitions" mechanism, rather than just executing onEnterState event handling code (source code here):


Other differences include:
1) on entry to State1, the label for the current state is spun at the same time as the narration is played, and
2) on entry to State2, a second sound is played after "test narration two" completes.

It shows the same clipping problem in IE on Windows. I'm going to have to look into that.

Labels: ,

Friday, December 11, 2009

States in Flex 4

One way to architect the code for a "lesson" is as a series of states. Flex 4 (now in beta) has improved its support for states, so this seems like a reasonable approach to explore.

Here's a program that demonstrates a trivial use of states in Flex 4 Beta 2 (source code here):

A ButtonBar at the bottom is initialized with the names of each of three states, and a label reflects the name of the currently-selected state. When the ButtonBar is clicked, the state is changed. Whenever a new state is entered, a short narration is played.

To use this approach in my courseware, I'll need to break each lesson up into a series of states, and define the actions to be taken whenever a new state is entered. Flex 4's new-and-more-general animation model should make it easier to define these actions than was previously the case.

I have no idea whether this is the "best practice" way to architect interactive courseware in Flex. I'm kinda flying blind here. Suggestions welcome.

[Postscript: All three ButtonBar-buttons display properly in Safari on my Mac, but the rightmost part of the StateTest1 widget, including most of the third ButtonBar button, is clipped off in Internet Explorer on my Windows machine.  I don't know why.  Welcome to the joys of cross-browser incompatibility, I guess.]

Labels: ,

Tuesday, October 2, 2007

ThumMusic & IT’s MIS Bridge

Later today, I have my first meeting with a team of students from UT/Austin’s McCombs School of Business’ MIS Bridge. They will be working to define the technical infrastructure of the ThumMusic System’s online courseware. My objective for this first meeting is to scope out what they can reasonably be expected to do within the time they have available, given their existing knowledge and skills.

The general idea is for them to identify and specify the reusable software objects that must be developed in order for Web-based ThumMusic courseware to be developed and deployed using open source methods, such that the resulting courseware is highly interactive.

For example, the courseware should be able to use the computer keyboard as a musical keyboard; display any arbitrary piece of MusicXML in ThumLine staff notation, preferably in an interactive manner (for example, illuminating notes as when they should be played and/or when they are played); show animations of chord progressions, key modulations, etc. on the tonnetz in a manner similar to Mathieu’s excellent use of the tonnetz in his book Harmonic Experience, but interactively, and again driven by any arbitrary MusicXML file; and so on. The goal is not to have the students implement these software objects, necessarily, but rather for them to identify and specify them all so that they can be implemented by others. If the students can also implement some or all of the software objects, then all the better, if only to help them hone their specification skills.

I have suggested that the project be based on Moodle – a free, open source course management system (CMS) that appears to have attained critical mass. Using a free CMS will facilitate having the lessons themselves be free, and also facilitate having others contribute lessons for free.

Free, free, free. I love free. It’s my favorite price – and yours too, I bet. The freer the ThumMusic System is, the more rapidly and widely awareness of its benefits will spread, and ultimately the more Thummers I’ll sell. Thus does the Invisible Hand of economics direct our private actions to the public good.

Labels: , , , ,