Download presentation
Presentation is loading. Please wait.
Published byAlfred Arnold Modified over 8 years ago
1
Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char
2
What is a Media Center? Combination of several home theatre devices DVD Player CD Player TiVO Computer Two main components Hardware (PC) Software Combination of several home theatre devices DVD Player CD Player TiVO Computer Two main components Hardware (PC) Software
3
Project Goals Software component only Small file size Modular Object Oriented design Consistent interface Support all common media types Extensible Software component only Small file size Modular Object Oriented design Consistent interface Support all common media types Extensible
4
Design Principles Abstraction Inheritance Encapsulation Reflection Serialization Abstraction Inheritance Encapsulation Reflection Serialization
5
Design Tools Microsoft Visual Studio.NET 2003 .NET 1.1 C# Subversion Microsoft Visual Studio.NET 2003 .NET 1.1 C# Subversion
6
Program Structure Main Executable Main Library (libnovamc) External Plugins Interface Device Main Executable Main Library (libnovamc) External Plugins Interface Device
7
libnovamc Contains several types of classes Files Database Primitives Interfaces GUI NovaPanels Objects Widgets Parsers Utilities Contains several types of classes Files Database Primitives Interfaces GUI NovaPanels Objects Widgets Parsers Utilities
8
Files An object representation of a media file Contains basic information about file Types Dir Artist Album MediaFile MusicFile VideoFile PictureFile An object representation of a media file Contains basic information about file Types Dir Artist Album MediaFile MusicFile VideoFile PictureFile
9
Database Contains a collection of MediaFiles Contains functions to search, add, and remove items from database Serializes as a binary file on hard drive Contains a collection of MediaFiles Contains functions to search, add, and remove items from database Serializes as a binary file on hard drive
10
Primitives Abstract representations of non-File types For example TV Channel DVD Stream TV Stream TV Show Abstract representations of non-File types For example TV Channel DVD Stream TV Stream TV Show
11
Interfaces Common interfaces for system wide operations IControl - Interface for plugins to play media. Functions such as Play, Pause, Next Properties such as Duration and Size IModule - Interface for a plugin to be loaded and recognized by program Common interfaces for system wide operations IControl - Interface for plugins to play media. Functions such as Play, Pause, Next Properties such as Duration and Size IModule - Interface for a plugin to be loaded and recognized by program
12
GUI Libraries to create the entire GUI of the system Widgets such as buttons, check boxes, drop down menus Simple objects such as on screen keyboard, on screen display, message boxes and error boxes Complex objects such as panels Libraries to create the entire GUI of the system Widgets such as buttons, check boxes, drop down menus Simple objects such as on screen keyboard, on screen display, message boxes and error boxes Complex objects such as panels
13
Parsers Parse external sources and save as objects Examples: Amazon IMDB (Internet Movie DataBase) Shoutcast (Internet Radio) Weather (Yahoo! Weather) Parse external sources and save as objects Examples: Amazon IMDB (Internet Movie DataBase) Shoutcast (Internet Radio) Weather (Yahoo! Weather)
14
Utilities Basic utilities used throughout the program Texture Engine Playlist Handler History Manager Other basic utilities Basic utilities used throughout the program Texture Engine Playlist Handler History Manager Other basic utilities
15
Plugins Interface Audio Plugin Video Plugin TV Plugin Weather Plugin Pictures Plugin Device CD Player DVD Player Interface Audio Plugin Video Plugin TV Plugin Weather Plugin Pictures Plugin Device CD Player DVD Player
16
Main Executable Create a panel to interact with the plugins Dynamically load the plugins in the plugins folder Display the plugins as a menu and instantiate other utilities Create a panel to interact with the plugins Dynamically load the plugins in the plugins folder Display the plugins as a menu and instantiate other utilities
17
Feature List Control currently playing media (pause, skip, etc) Create, manage, save and load playlists Interface with external devices Database of all media for searching and fast access Get external information on files from Internet Listen to Internet Radio Slide Show pictures Pause and record TV View a TV Guide from internet Change program’s theme Add and remove plugins Control currently playing media (pause, skip, etc) Create, manage, save and load playlists Interface with external devices Database of all media for searching and fast access Get external information on files from Internet Listen to Internet Radio Slide Show pictures Pause and record TV View a TV Guide from internet Change program’s theme Add and remove plugins
18
Testing Plan Iterative development cycle Several beta testers Family Friends Iterative development cycle Several beta testers Family Friends
19
Questions?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.