1 / 28

SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING)

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.

octavia
Download Presentation

SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SMM5101(ADVANCED MULTIMEDIA PROGRAMMING) Background of Multimedia Programming

  2. Outline • Objects, • Environment, and • Framework of Multimedia Programming • Requirement of Multimedia Programming • History of Multimedia Programming • Advantage and Disadvantage • Conclusion

  3. 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

  4. 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

  5. Why Objects? (cont…) • There are some reasons for this affinity, include: • Encapsulation • Modularity • Extensibilty • Portability and cross-platform development • Software legacy

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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.

  11. 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

  12. 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)

  13. 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

  14. 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

  15. 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.

  16. 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 …

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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)

  24. 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

  25. 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

  26. 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.

  27. Multimedia Programming Disadvantange • The disadvantages of programming languages include: • slower development time • need for skilled programmers • difficulty in debugging • unsuitability for prototyping

  28. 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

More Related