SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING)
280 likes | 614 Vues
SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING). Background of Multimedia Programming. Outline. Objects, Environment, and Framework of Multimedia Programming Requirement of Multimedia Programming History of Multimedia Programming Advantage and Disadvantage Conclusion.
SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING)
E N D
Presentation Transcript
SMM5101(ADVANCED MULTIMEDIA PROGRAMMING) Background of Multimedia Programming
Outline • Objects, • Environment, and • Framework of Multimedia Programming • Requirement of Multimedia Programming • History of Multimedia Programming • Advantage and Disadvantage • Conclusion
Why Objects? • Multimedia involves multiple type of object • Nontemporal object types • Temporal object types • Multiple data type indicating the different form of data that are present • Different data types anticipating the object-oriented approach
Why Objects? (cont…) • Classification data types based on similarity in their representations and operations so as to help understand how to model data types using object-oriented techniques. • Object-oriented technique appears to be natural fit between multimedia programming
Why Objects? (cont…) • There are some reasons for this affinity, include: • Encapsulation • Modularity • Extensibilty • Portability and cross-platform development • Software legacy
Why Objects? Encapsulation • MM programmers face a challenging environment • Concepts from many areas (including audio recording, video production, animation and music) • MM applications involve special hardware with idiosyncratic interfaces and operating procedures • Strengths of OOP is its ability to encapsulate information and help shield programmers from many of the details of particular media and pieces of hardware
Why Objects? Modularity • The equipment used in audio and video relies to a larger and larger extend on digital technology • Mixers to editing suites and special effect devices are becoming programmable and more interconnectable • Processing functionality of studios is moving available to applications running on PCs • OOP is well suited to capturing the complex interfaces of media processing services in a modular form which is easy for application developers to use
Why Objects? Extensibilty • The requirements and the nature of multimedia applications are evolving and far from stable • Database system multimedia, virtual environments, conferencing system etc. applications should be able to adapt changes in interface technology, media formats and hardware platform • OOP addresses the need for extensibility by offering mechanisms for enhancing and extending existing code
Why Objects? Portability and cross-platform development • MM applications run on different platform and tolerate hardware variations within platforms - require rewriting application for every time to porting from platform to another • OO interfaces can make platform dependencies more explicit and so simplify both cross-platform development
Why Objects? Software legacy • Many software developers face a legacy problem - the need to maintain compatibility with earlier applications but not for multimedia. • MM applications design is less constrained by existing software and developers are free to exploit new techniques such as OOP languages.
Objects: instance variables and methods • Objects encapsulate both state and behavior • Object is a programming language construct that identifies a collection of data items and a collection of operations • Data items - object’s instance variable • Operations - object’s method • Meant to be the only interface by which objects are manipulated
Objects: instance variables and methods play_mc.onRelease = function() { plane_mc.play(); }; (Make movieclipplane_mc play when control movieclipplay_mc is clicked) function flyPlane() { plane_mc.play(); } play_mc.onRelease = flyPlane; (Define a function to make plane_mc play. Assign that function to play_mc'sonRelease event, so that when play_mc is clicked, plane_mc will play)
MMP: Environment • MM systems is an independent discipline of study in computer science and engineering • MM environment is refers to the mix of hardware and software to support multimedia types
MMP: Environment • After a number of commercial products and prototype systems have been built, then, it has been observed that the current programming paradigm for developing multimedia software needs some improvement
Multimedia Programming Framework • In a way of compelling the ideas of object orientation to multimedia programming –MM framework shows the encompassing of the essential object and operations that appear in MM applications • MM framework consists of interrelated abstract classes which are tailored and specialized for different MM platforms.
Abstract classes Concrete classes Abstract classes Concrete classes Abstract classes Concrete classes Platform #1 Platform #2 Platform #n Multimedia Programming Framework Application Programming Interface (API) Abstract Classes Specialization Environment System Programming Interface …
Multimedia Programming Framework • Abstract classes – a group of methods and instance variables which shared by several subclasses where their definition are partially or deferred to the subclasses • Concrete classes – the methods and instance variables are fully defined
Multimedia Programming Framework • API, classes and the platform form a specific multimedia programming environment • There are factors delaying the portability of API: • Platform need not offer the same capabilities, or API may be supported on some platforms but not others • The performance of platform differs • Some applications bypass the API and directly access platform-dependently • No consensus on system-level support for MMP
Multimedia Programming Framework • Framework should be robust, well-documented, and complete • Requirement for MM Programming includes: • Economy of concept • Should based on a small number of concept, otherwise it becoming a maze of media-specific detail • Proper identify general concept that apply across media types • Open • Extendable to incorporate with new media types, new data representation, and new hardware capabilities as they become available
Multimedia Programming Framework • Queryable • should specify interface for querying environments concerning their capabilities • Application produced can recognize missing functionality and adapt their behaviour • Distribution • Should help partition applications in a way that facilities distribution • The object within the framework should correspond to easy-to-distribute units or subsystem • The utility of a framework is greatly diminished if it conflicts with distribution
Multimedia Programming Framework • Scalable • Should support scalable media representation • if media representation are scalable, applications can increase quality as platform performance increases • High-level interface • Should provide high-level interface for media synchronization, media composition, device control, database integration, and concurrent media processing activities • These operations are central to multimedia programming
Multimedia ProgrammingRequirement Multimedia programming requires a mix of skills: • The ability to write scripts that people will enjoy reading or listening to • Graphic design, layout and visualisation skills • Programming and technical skills to control the interaction, hot buttons, animations, audio and intelligent effects to the production
History of MM Programming (Director) • 1984: Macromind (Jay Fenton, Mark Canter, Mark Pierce) • 1985: VideoWorks for “Guided Tour” to Apple Macintosh OS • 1987: VideoWorks II (colour + animation) • 1988: VideoWorks Interactive Pro, renamed to Director 1.0 • using Lingo Scripting (John Thompson & Erik Neumann) – • replace Tiny Basic scripting by Jay Fenton) • 1990: Director 2.0 (John Thompson ) • Used to create the displays for “Star Trek” • 1991 (or 92): Director 3.0 (Mac) and Director for Windows (Windows 3.1) • 1993: Macromedia Director • Support a new and exciting technology (Quicktime) • 1994: Director 4.0 • First authoring environment with files were cross-platform (Mac and Windows)
History of MM Programming (Director) • 1998: Director 7 was released • as part of the “Shockwave Internet Studio” • RGB support • 1000 sprite channels, sprite rotation and skewing • embedded fonts and vector space • 2000: Director 8 and 8.5 was released and Macromedia puts strong effort into the Flash authoring environment • 2002: Director MX (aka version 9) • Flash compatable and some authoring enhancement • 2004: Director MX 2004 supports JavaScript syntax as alternative to Lingo • 2005: Adobe Director • 2006: Shockwave Player 10.1.1r16 (allow the use of Flash 8) • 2008: Adobe Director 11
History of MM Programming (Flash) • 1993: FutureWave Software to dominate the market for graphics software on pen computers (Jonathan Gay) • 1994: SmartSketch (without animation) • 1996: FutureSplash Animator • Nov 1996: internet come in for TV-like experience • Dec 1996: sold FutureSplash Animator to Macromedia Macromedia Flash 1.0 • 2001: Flash has been through five versions at Macromedia • Now: Flash become a complete multimedia development environment with 500,000 developers and over 325 million users of the flash player • Flash MX • Flash CS3 • Flash CS4
Multimedia Programming Advantage • The advantages of MM programming languages include: • producing multimedia applications to run fast • accessing system calls directly • being able to control non-standard hardware and software • being usable for a wide variety of platforms.
Multimedia Programming Disadvantange • The disadvantages of programming languages include: • slower development time • need for skilled programmers • difficulty in debugging • unsuitability for prototyping
Conclusion • Object-oriented programming is currently the most popular language for multimedia design and implementation: • is that has numerous compilers for many platforms and can access various multimedia equipments