I'm working on a Silverlight media player like you get on MySpace and other sites. The app is meant to be as simple as possible, so i've created a Silverlight-enabled WCF service which returns a list of the MP3s available in the songs directory on the server. To allow the SL app to be as loosely coupled to the location of the physical mp3s, the wcf service needs to return a list of fully qualified URIs to each mp3 in the directory. When the user selects a song to listen to we can simply set the MediaElement.Source to the URI.
The following post contains some great code (that can even be used outside of a WebForm) to convert "~/myfolder/mysubfolder" to http://foo.bar/myfolder/mysubfolder".
To enable Intellisense for jQuery in VS2008:
Once you add the -vsdoc.js to your project you might have to restart VS and re-open your project for Intellisense to start working...
The 3 week master program costs US$18,500 (I'm assuming not inclusive of accommodation!) and runs in Redmond, Washington.
You have to be accepted onto the program by supplying a CV and potentially a 30-60 min interview (after paying $125 non-refundable fee).
No dates as yet for upgrade exams, but if you're an existing MCPD (Windows, Web or Enterprise) you'll be able to take a single upgrade exam (except for Enterprise where 2 exams are required.
The first version of my Silverlight scale\chord finder is complete, it can be found at http://www.dontcodetired.com/live/silverkeys/
I'd like to improve the UX around the scale degrees, perhaps a circle of scale degrees...(I also have some TODO:s to do around refactoring)
I'll be posting source eventually in addition to an explanation of some of the more interesting elements..
The UI (or should I say UX now?) is 90% complete (for this iteration that is) as the image below shows. There are a few bug fixes left to complete, plus I'd like to to some moderate re-factoring of both the 'business' logic and the XAML.
I'll post some of the more interesting aspects of the project in later posts and either make the source available from here or I might look at uploading to Codeplex et al so others can go ahead and take it forward if it's found to be interesting. There also be a 'live' version available. I'll be using it personally to try out different keys & progressions for future compositions.
Although MSDN says you can use the FrameworkElement.Tag Property to store an arbitary object, if you try to store anything other than a string you get a System.Windows.Markup.XamlParseException. It seems I'm not the only one to notice this.
I've started by creating a Silverlight user control to represent a 3 octave (piano) keyboard:
This user control will use data binding (hopefully!) to highlight piano keys if they exists in user control's data context (which probably be a list of notes).
One hobby I have is music production (based around a Pro Tools LE 8 setup) and recently I've been learning some music theory. I have created a cheat sheet which is on my wall to assist with working out scale degrees, etc. Why do it by hand when a computer can do it for you, eh?
Thought this would make a good Silverlight project as ideally I'd like to be able to visualise a chord on a piano keyboard or a guitar fretboard.
Functionality would be something like:
Choose a scale - Major or (natural) Minor;
- Choose a scale root note (as a dropdown or better by directly interacting with piano keyboard);
- Show all the notes in the scale (initially visualised on piano keyboard);
- Show the scale degrees and chords for the given key;
- Show the common chord progressions in the key;
- Add guitar fretboard vis;
- Add harmonic minor scales;
- Add modal functionality;
- Play sound samples of notes & chords;
The application will be a standalone client app, i.e. no WCF backend services, etc. It will be designed using TDD and using Expression Blend where appropriate (with the Blend service pack it extends the trial period to 60 days). As I can't think of a good name off the top of my head, i'll call the app SilverKeys...