
Developing Object-Oriented Multimedia Software
Based on the MET++ Application Framework
Philipp Ackermann(Author)
dpunkt.verlag
Published on 1. March 1997
Software
CD-ROM
340 pages
978-3-920993-52-2 (ISBN)
Description
This first book on the MET++ multimedia application framework provides an in-depth look at the concepts and techniques applied in an object-oriented class library to support multimedia application development. It is a reference for software designers interested in applying object-oriented technologies to multimedia programming, and for developers who want to build multimedia applications by reusing components of the MET++ framework. MET++ provides a seamlessly integrated architecture which handles the synchronization of time-dependent, dynamic data such as audio, music, 2D/3D graphics animations and video. The C++ source code of the MET++ multimedia application framework as well as some sample applications are included on the CD-ROM (for UNIX workstations) which comes with the book.
More details
Language
English
Place of publication
San Francisco
United States
Target group
College/higher education
Professional and scholarly
Illustrations
ca. 120 Abb., 1 CD
ca. 120 Abb., 1 CD
Dimensions
Height: 24 cm
Width: 16.5 cm
Weight
699 gr
ISBN-13
978-3-920993-52-2 (9783920993522)
Schweitzer Classification
Person
Philipp Ackermann is a senior research assistant in the MultiMedia Laboratory at the University of Zurich. His research interests include multimedia systems, object-oriented frameworks, and computer music. He is co-founder of echzeit-Perspectix AG, a company that develops software based on the MET++ multimedia application framwork.
Content
Developing Object-Oriented Multimedia Software Contents; Developing Object-Oriented Multimedia Software; by Philipp Ackermann; 1 Introduction; 1.1 What is Multimedia?; 1.1.1 Integration and Interaction with Continuous Media; 1.1.2 Multimedia Hardware; 1.1.3 Multimedia Applications; 1.2 Developing Multimedia Applications; 1.2.1 Problems of Multimedia Productions; 1.2.2 Developing Multimedia Software; 1.2.3 Problems of Current Multimedia Toolkits; 2 Software Engineering Aspects; 2.1 Design Considerations; 2.1.1 Creating Models with Computers; 2.1.2 Modeling through Programming; 2.1.3 Programming Methods; 2.1.4 The Role of Evolutionary Prototypes; 2.1.5 The Software Development Process; 2.2 Object-Oriented Software Development; 2.2.1 Object-Oriented Design; 2.2.2 Object-Oriented Programming Languages; 2.2.3 Class Libraries and Building Blocks; 2.2.4 Design Patterns; 2.2.5 Frameworks; 2.2.6 Application Frameworks; 2.2.7 Components and Run-time Environments; 3 The MET++ Multimedia Application Framework; 3.1 The ET++ Application Framework; 3.1.1 Building Blocks; 3.1.2 Application Framework and User Interaction Elements; 3.1.3 Portability Layer; 3.1.4 Data and Converter Framework; 3.1.5 Exploration Environment; 3.2 The MET++ Multimedia Framework Extensions; 3.2.1 System Overview; 3.2.2 Hardware Platforms of the Development Environment; 3.2.3 3D Graphics; 3.2.4 Audio and Music; 3.2.5 Video; 3.2.6 Time Synchronization; 3.2.7 Hyperlinks; 3.2.8 File Converters; 4 The Time Synchronization Framework; 4.1 Multimedia Synchronization; 4.2 Specification of Media Presentations; 4.2.1 Temporal Specification; 4.2.2 Object-Based Event Composition; 4.3 Time Events; 4.3.1 Basic Event Class; 4.3.2 Grouping of Events; 4.3.3 Grouping Classes with Temporal Layout Strategies; 4.4 Time-dynamic Media Objects; 4.4.1 Temporal Wrappers; 4.4.2 Time Functions; 4.4.3 Local Time Warping; 4.5 Real-time Presentation; 4.5.1 Real-Time Clock; 4.5.2 Presentation Time; 4.5.3 Interactive Control of Presentations; 4.6 Visualization of Temporal Structures; 4.6.1 Event Graph; 4.6.2 Time Composition View; 4.7 Direct Manipulation of Temporal Structures; 4.7.1 Time Function Editing; 4.7.2 Event Transformations and Grouping; Color Plates; 5 The Graphics and Animation Framework; 5.1 Integrating 2D and 3D Graphics; 5.1.1 Integration Concepts; 5.1.2 Implementation and Cross-Platform Portability; 5.1.3 3-Dimensional Views; 5.1.4 Camera Manipulations; 5.2 3D Models; 5.2.1 3D Objects and 3D Views; 5.2.2 3D Object Picking; 5.2.3 Handles for 3D Object Manipulations; 5.2.4 Programming 3D Graphics Applications; 5.3 Animations; 5.3.1 Keyframe Animations; 5.3.2 Animated 2D Graphics; 5.3.3 Synchronized Screen Update; 5.3.4 Animated 3D Graphics; 5.3.5 Direct Manipulation of Trajectories; 6 The Audio and Music Framework; 6.1 Digital Audio Processing; 6.1.1 Audio Signal Flow; 6.1.2 Audio Input/Output; 6.1.3 Audio Samples in Memory and Files; 6.1.4 CD-Audio and Digital Audio Tape; 6.1.5 Sound Generators; 6.1.6 Filters and Effects; 6.1.7 Audio Flow Programming; 6.1.8 Interactive Patch Editor; 6.2 Musical Structures; 6.2.1 Musical Interpretation Context; 6.2.2 Notes and chords; 6.2.3 Musical Performance; 6.2.4 Common Music Notation; 6.2.5 Music Instruments; 6.2.6 Score Converters; 7 The Image and Video Framework; 7.1 Image Processing; 7.1.1 Image Display and Data Representation; 7.1.2 Image Editing; 7.2 Video Integration; 7.2.1 Video Processing Layers; 7.2.2 Video Signal Flow; 7.2.3 Video Input; 7.2.4 Video Display; 7.2.5 Video Compression; 7.2.6 Movie Playback and Recording; 7.2.7 Off-line Video Post-Processing; 7.2.8 Network Video Transmission; 7.3 Remote Video Control; 7.3.1 Remote Video Preview; 7.3.2 Remote Video Recording; 8 Rapid Application Development by Reusing Frameworks; 8.1 Multimedia; 8.1.1 The medit Multimedia Editor; 8.1.2 The Skydiving Tutorial; 8.2 Hypermedia; 8.2.1 Hyperlinking; 8.2.2 Embedded Documents; 8.2.3 The mwrite Hypertext Editor; 8.2.4 Online Help; 8.2.5 World Wide Web Browser; 8.3 Augmented User Interfaces and Metaphors; 8.3.1 Three-Dimensional User Interface Components; 8.3.2 Audio Feedback; 8.3.3 Audio Mixing Front-Ends; 8.4 Scientific Visualization; 8.4.1 Geoid; 8.4.2 Medical Data; 8.4.3 Simulation Models; 8.4.4 Data Visualization and Sonification; 8.5 Visual Programming Environment; 8.5.1 User Interface Builder; 8.5.2 Executable Documents; 9 Summary; 9.1 Conclusion; 9.2 Consequences; 9.3 Outlook; Appendix A The C++ Programming Language; A.1 C++ Notation; A.2 Graphical Class and Object Diagrams; A.3 Naming Conventions and C++ Coding Guidelines; A.4 C++ Source Code Excerpts; Appendix B MET++ Software Distribution; B.1 Availability; B.2 Installation; B.2.1 Platforms; B.2.2 Directory Structure; B.2.3 Installation Procedure; B.3 The ETRC Resource File; List of Classes; List of Programs; Bibliography; Index;