View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

MFoV P5 cases page

MFoV members:

The tale of P5
At this point, the whole group was very frustrated. This was due to the fact that we could not get files to stream properly for P4. But Russ went home, obviously determined to fix this problem, and came up with a good solution. He used EmbeddedServerAction and made some web pages outside of squeak that would send each file to the user. I (Justin) spent all weekend working on the playlist for our Squeak interface, while Mike and Alex whipped up the playlist stuff for the web UI.

P5 Goals
1. to fix what didn't work in P4!
2. to make a cool playlist, with menus, and highlighting, and all that other good stuff
3. To add the playlist functionality to the web interface
4. To update the window with extra buttons and such

What was hard?
1. getting the playlist to highlight the appropriate song was a chore.
2. removing a song from the playlist then updating the highlight accordingly was also difficult.
3. getting the web ui to behave properly took a while, but we got it right in the end

Implementation
As stated previously, we used a PluggableListMorph to display the playlisy graphically. Once I figured out how to use message sends properly, I was able to easily add a menu to the playlist window. We just shrunk the width of the playlist a bit, and added the new buttons on the side. I'm especially fond of the PluggableFileList that was implented for loading playlits. For saving playlists, I just used a simple FillInTheBlank. Since we already had a good way to search for files, I just reused the code from P2. Anyways, here is our Squeak UI for P5 along with the menu you get by right-clicking (in Windows at least) on an element of the PluggableList:



And now the dreaded web interface. When we finally got this done we had created a monster. We were using 3 external web pages with embedded squeak code, plus 7 clasees inside of squeak that handled the playlist functionality. It started out kind of messy, but as we progressed, the code got much better, and evntually worked quite well. The method we chose to send files is what I would like to call the "Mickley Standard Method" created by the brilliant Eric "Shaggz" Mickley. This method works by putting a meta refresh tag in a web page which has some embedded file. The refresh time is set to the length of the song, then when that time is up, the page refreshes with the next song in the playlist. We never got around to trying the java applet (JMF), which looks much nicer, and probablly has some functionality that our web UI is lacking, but ours works good dammit! Below is a screenshot of the one and only web interface along with WinAmp. Whatever program is set to handle the audio/mpeg mime type, or audio/midi, is the program that will launch. The right side of the frames page is where the file is embedded. We never got around to adding any text to it. By the way, I left out pics of the web directory search and file type choosing. It's mainly href's and selection boxes, nothing very interesting I assure you.



Link to this Page