Background of Multimedia Programming
 Objects,
 Environment, and
 Framework of Multimedia Programming
 Requirement of Multimedia Programming
 History of Multimedia Programming
 Advantage and Disadvantage
 Conclusion

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 objectoriented approach


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

There are some reasons for this affinity,
include:
◦
◦
◦
◦
◦
Encapsulation
Modularity
Extensibilty
Portability and cross-platform development
Software legacy

MM programmers face a challenging
environment
1. Concepts from many areas (including audio
recording, video production, animation and
music)
2. 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

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

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


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


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 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
play_mc.onRelease = function() {
plane_mc.play(); };
(Make movieclip plane_mc play when control movieclip play_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's onRelease event, so that when play_mc is
clicked, plane_mc will play)


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

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


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.
Application Programming Interface (API)
Abstract Classes
Specialization
Environment
Abstract classes
Abstract classes
Abstract classes
Concrete classes
Concrete classes
Concrete classes
System Programming Interface
Platform #1
Platform #2
…
Platform #n


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

API, classes and the platform form a specific
multimedia programming environment

There are factors delaying the portability of
API:
1.
2.
3.
4.
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


Framework should be robust, welldocumented, 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
◦ 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
◦ 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 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




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 )

1991 (or 92): Director 3.0 (Mac) and Director for Windows
(Windows 3.1)
1993: Macromedia Director

◦ Used to create the displays for “Star Trek”
◦ Support a new and exciting technology (Quicktime)

1994: Director 4.0
◦ First authoring environment with files were cross-platform (Mac and
Windows)

1998: Director 7 was released

2000: Director 8 and 8.5 was released and Macromedia puts
strong effort into the Flash authoring environment
2002: Director MX (aka version 9)





◦
◦
◦
◦
as part of the “Shockwave Internet Studio”
RGB support
1000 sprite channels, sprite rotation and skewing
embedded fonts and vector space
◦ 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







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

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.
◦
◦
◦

The disadvantages of programming
languages include:
◦
◦
◦
◦
slower development time
need for skilled programmers
difficulty in debugging
unsuitability for prototyping

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
Descargar

SMM5101 (ADVANCED MULTIMEDIA PROGRAMMING)