20
Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char

Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Embed Size (px)

Citation preview

Page 1: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Nova Media CenterNova Media Center

Anthony Romano

Christopher Nolan

Mr. Edward Char

Anthony Romano

Christopher Nolan

Mr. Edward Char

Page 2: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

What is a Media Center?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

Page 3: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Project GoalsProject 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

Page 4: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Design PrinciplesDesign Principles

Abstraction Inheritance Encapsulation Reflection Serialization

Abstraction Inheritance Encapsulation Reflection Serialization

Page 5: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Design ToolsDesign Tools

Microsoft Visual Studio .NET 2003 .NET 1.1 C# Subversion

Microsoft Visual Studio .NET 2003 .NET 1.1 C# Subversion

Page 6: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Program StructureProgram Structure

Main Executable Main Library (libnovamc) External Plugins

Interface Device

Main Executable Main Library (libnovamc) External Plugins

Interface Device

Page 7: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

libnovamclibnovamc

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

Page 8: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

FilesFiles

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

Page 9: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

DatabaseDatabase

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

Page 10: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

PrimitivesPrimitives

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

Page 11: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

InterfacesInterfaces

Common interfaces for system wide operations IControl - Interface for plugins to play media.

Functions such as Play, Pause, NextProperties 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, NextProperties such as Duration and Size

IModule - Interface for a plugin to be loaded and recognized by program

Page 12: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

GUIGUI

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

Page 13: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

ParsersParsers

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)

Page 14: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

UtilitiesUtilities

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

Page 15: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

PluginsPlugins

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

Page 16: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Main ExecutableMain 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

Page 17: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Feature ListFeature 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

Page 18: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Testing PlanTesting Plan

Iterative development cycle Several beta testers

Family Friends

Iterative development cycle Several beta testers

Family Friends

Page 19: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Questions?Questions?

Page 20: Nova Media Center Anthony Romano Christopher Nolan Mr. Edward Char Anthony Romano Christopher Nolan Mr. Edward Char

Questions?Questions?