Nova Media Center

Friday, October 28, 2005

New Version 0.8.4

- Added full Audio CD Support
- Added a visible rank feature that displays the rank of a file (in tile mode) as shaded in bubbles (i.e. a mid-rank shows up as 3 shaded bubbles and 2 unshaded, high rank would be all shaded in)
- Fixed Bug: Video didn't exit when finished
- Fixed Bug: Up and Down sometimes broken in CU
- Fixed Bug: Playlist mode wasn't being turned on for Audio
- Fixed Bug: Directories weren't sorted
- Fixed Bug: Pictures had a resume button

Wednesday, October 26, 2005

Six Months Progress

The first version of NovaMC ever compiled was compiled on April 5, 2005. It could only play videos. You typed in the path of a video, hit play and it would play it. That was it. The GUI was a text box with a play button. Within a few days we had a preliminary GUI up which we kept for a couple months. The picture below compares a build of NovaMC 0.0.6 compiled on April 27, 2005 with the current build of NovaMC, exactly 6 months later. The amount of progress far extends what one can see, with support for TV, timeshifting, pictures, database support, amazon support, etc etc being added in those 6 months. It's been a rough ride, but we're at the final stretch...


New Version 0.8.3

- Used the new DataBase in order to implement the following:
- Ability to view a top 100 list in all modes
- Ability to see a most recent list in all modes
- Ability to resume position in music and video
- Abstracted out audio functions to AudioControl
- Now possible to continue playing Audio outside Audio, for example, to listen to music during a slideshow. Space Bar universally toggles the audio

Sunday, October 23, 2005

Potential Icon Design for NovaMC

Friday, October 21, 2005

New Version 0.8.1

- Added DVD Thumbnails for Video
- Added picture thumbnails in Tile mode
- Added details specific to Video (Duration) in Tile mode
- Added details specific to Pictures (Resolution) in Tile mode
- Added ability to sort music by artist/album/track and song name

Thursday, October 20, 2005

New Version 0.8.0


- Added Amazon.com Support for Audio
- Added Amazon generated cover art album support and ability to cache them
- Added a tile mode for ControlUnit in order to see details and album art in the button
- Redid NovaOSD to make it much prettier
- Added a top bar to NovaOSD with it's own label. So now NovaOSD supports up to 3 labels
- Added a progress bar to NovaOSD that is off by default but can be turned on with a method and updated with a different method
- Added preliminary support to support remembering position in video





Wednesday, October 19, 2005

New Version 0.7.2

- Fixed Bug: Got rid of major memory leak in Audio
- Fixed Bug: Left and Right didn't work in Control Units
- Fixed Bug: Sort by was broken
- Fixed Bug: Playing multiple songs was possible with Play in drop down
- Fixed Bug: Page Up and Page Down wrapped when they shouldnt
- Fixed Bug: Navigation error in menu on CUs
- Fixed Bug: Returning from Slide Show mode didn't turn off slide show mode
- Fixed Bug: Enqueue Menu didn't auto highlight Cancel button
- Fixed Bug: Enqueue Menu didn't disappear after it was done
- Fixed Bug: Returning to main screen didn't highlight any buttons
- Add the ability to dynamically make slide shows faster or slower with ff and rr buttons

Monday, October 17, 2005

New Version 0.7.0

- Added DVD support, almost fully complete, only lacking a few cleanups
- Added classes DVDControl to control the DVD, DVDStream to render the stream from the disc and DVDDisplayUnit to display the stream onto the screen
- Added an icon for pictures
- Fixed a bug with control unit navigation
- Fixed a few other bugs

Friday, October 14, 2005

New Version 0.6.3

- Added a shuffle mode for playlists
- Added a shuffle option to main menus and playlist menus
- Replaced buttons with NovaSmallButtons in TVControlUnit
- Relocated a lot of code dealing with controllin the TV out of TVControlUnit and into TVControl
- Added the ability to expand past 1000 items for playlists
- Rewrote the TVControlUnit keyboard handler
- Rewrote TVGuidePanel from scratch, right, left and scrolling work. Down and Up broken again
- Added thread support for enqueueing directories in the background for playing them, i.e. if one clicks on "play" for a directory it starts playing immediately and begins enqueueing up the rest of the directory in a seperate thread so the user doesnt notice
- Added a message popup for enqueueing items to the Playlist for later playing
- Capped the playlists at 5000 due to enormousness of them
- Added support for NovaMessage to change it's text w/o recreation
- Rewrote how NovaLists are handled past 680 to fix a bug that wouldn't show images past a certain point. We now support infinite length lists
- Fixed a bug that created lag between directories. Opening a directory is now instant


Thursday, October 13, 2005

New Version 0.6.2

- Huge fix in the scrolling speed of the program. It now speeds fast, as fast as it should as opposed to slow
- Took out the minicontrols all together on AudioControlUnit, realized its pointless with a remote control
- Made a class NovaNullButton as placeholders to make all pages divisible by 8
- Put the functionality of the minicontrols into the keyboard handler
- Added lots more functionality to VideoControl class
- Abstracted out Keyboard event handler from the individual control units and placed it in the ControlUnit class
- Added virtual functions for the individual control units to override in order to have specific control over key presses
- Migrated all changes and bug fixes from Audio into Video
- Created a class PictureControl whos function is similar to VideoControl, to control pictures
- Completely rewrote the Picture classes, now both are fully working and complete (including slide show support), with a few minor bugs


Sunday, October 09, 2005

New Version 0.6.1

- Added the ability to enqueue folders recursively
- Added the ability to play folders recursively
- Added the ability to save playlists as WinAMP playlists (.m3u's)
- Added the ability to load WinAMP and saved playlists
- Added class NovaMiniControl which adds a minicontrol (back, pause, stop, forward) to any panel. It uses NovaButtons so the Audio minicontrols are now NovaButtons as they should be
- Added variable icon support (i.e. now video's have video icons, audio has audio icons etc)
- Split up NovaButton into 4 new classes: NovaLongButton, NovaSmallButton, NovaSquareButton and NovaMiniButton. They all inherit NovaButton. It was getting ridiculous having conditionals in the constructor logic
- Cleaned up a lot of code
- Added the ability to do multiple levels of RR and FF in AudioControlUnit
- Abstracted out the final bits of code common to Video and Audio ControlUnits
- With Chris: Finally fixed the evil scrolling bug we've had since version 0.0.1 where buttons scrolling fast wouldn't update fast enough cause the display to look crappy.

Saturday, October 08, 2005

New Version 0.6.0

- Created a preliminary PictureDisplayUnit and PictureControlUnit which doesnt really work yet
- Created a class VideoControl which abstracts the Video object from the GUI
- Fixed the way we do the video thumbnail to retain the same instance of the video object, vs recreating it every time the user switched views
- Fixed a memory leak in Audio, ran audio for 9 hours straight to ensure no further memory leaks exist.
- Continued restructuring code:

New class: File
very simple class, has only a type and a name, MediaFile inherits it now

New class: NovaList
inherits Panel, has only the ability to Add buttons to it with Add(NovaButton button) function and keep track of where it is (property: int currSel)

New class: NovaMenuList inherits NovaList
Adds to the basic functionality of NovaList by adding a few properties and functions specific to a menu, not much, mostly just specifying the button widths and what not

New class: NovaObjList inherits NovaList
Creates a NovaList with an array of File objects and puts them in a NovaList, it also has support for a pop up menu using NovaMenu.

New class: NovaDirList inherits NovaObjList
Adds to the ability of a NovaObjList of adding File Objects by now accepting a path variable. It goes through the directory, sets the File.Type to Dir if its a direcotry, and File if its a file and then sends the entire File[] array to NovaObjList's draw function

- Moved all the new OO changes over to VideoControlUnit

Thursday, October 06, 2005

New Version 0.5.3

- Created a class called Utils to hold basic utilities used anywhere. includes RoundTime, DateToDouble, and IsNumeric
- Completely restructured code into directories for easy access. Renamed ButtonList to NovaButtonList and MenuHandler to NovaMenu
- Created a NovaMessage class that handles info boxes
- Implemented the Information functionality with NovaMessage in Music/Video control units
- Created a class NovaOSD
- Created a class DisplayUnit which VideoDisplayUnit and TVDisplayUnit inheret from
- Implemented NovaOSD into VideoDisplayUnit for paused, ff, rr and general duration showing
- Implemented NovaOSD into TVDisplayUnit
- Standardized keymappings
- Added rtune support to TVDisplayUnit
- Finished keyboard handlers for both TV and Video DisplayUnits