Nova Media Center

Tuesday, January 31, 2006

New Version NovaMC 1.2.1

- Integrated the list position label (4/6, 3/82, etc) into the NovaObjList so it no longer needs to be worried about
- Readded the ability to play a song in DB mode
- Allows the list position label to update itself while holding down or up or pagedown and pageup, allowing the user to see how far he's scrolling

New Version NovaMC 1.2.0

- Added the ability to view artists, albums or songs when clicking on the appropriate button in home view
- Added the ability to click artists and show their albums, and then click them and show their songs
- Added side menus to database views
- Added the ability to automatically scan and refresh the database
- Added the ability to bookmark directories
- Added the ability to view said bookmarks in browse mode
- Music directory is refreshed by scanning bookmarked directories
- Rewrote large sections of FilePlayer and NovaObjList

- FilePlayer changes:
- Got rid of DList and PList
- Got rid of LeftMenu and PLLeftMenu
- Added a mode enum variable to determine what mode we're in
- Streamlined Left, Up, Right, and Down code
- Got rid of refresh_list and refresh_playlist
- Added List and Menu to replace DList, PList, LeftMenu and PLLeftMenu
- Added UpdateList(bool) to replace refresh_list and refresh_playlist
- UpdateList switches on the mode enum to determine what to show

- NovaObjList changes:
- Displays only 8 items at a time
- Wrote a function FocusButton which sees if the desired button is shown, if it isnt, show the group of eight it would be included in, and then focus it
- Rewrote Down and Up code to utilized FocusButton
- Therefore eliminated the 650 button overlapping panels we had
- Increases speed exponentially as the number of buttons scales up
- order to create NovaObjLists is now closer to order O(1) vs O(n)

Thursday, January 19, 2006

New Version NovaMC 1.1.0

Until the release of NovaMC 2.0 in April, all releases until then will be considered beta-quality as we're making major changes to the code

- Completely restructured code, abstracting out all libraries into libnovamc.dll, Audio into AudioPlugin.dll, etc
- Wrote in the ability for the main exe to scan a plugins folder and load any it saw that were of a compatible type
- Made empty classes for future v2.0 widgets (Keyboard, Checkbox, Dropdown, etc)
- Rewrote DataBase to be a collection of MediaFile's
- Modified MediaFile's to be serializable
- Made a class to hold the database info called DBInfo, also serializable
- Made the save function of Database serialize the DBInfo object and save it to the disc as a binary file for speed
- Cached ID3 tags in MediaFile for speed
- Converted most functions in MediaFile to properties for consistency
- Added MediaDataBase which inherits DataBase and adds the ability to see Top100 and MostRecent lists
- Added MusicDataBase which inherits MediaDataBase and enables views of artists and albums
- Started work on a NowPlayingPlugin to be completed before v2.0
- Added an IModule interface for simplicity in writing and implementing NovaMC Plugins
- Fix some bugs
- Created many more

Saturday, January 14, 2006

New Design Idea

Needs lots of work before it's ready...