TDT4290 at IDI/NTNU Group 2

Total Page:16

File Type:pdf, Size:1020Kb

TDT4290 at IDI/NTNU Group 2 TDT4290 at IDI/NTNU Group 2 Frode Sandholtbr˚aten, Jostein Gogstad, Michael Stokes, Remy Jensen, Espen Nielsen, Konrad G Beiske Customer: Bouvet ASA Preface This report is the result of a project performed during the autumn semester of 2007 by six Masters degree students at The Norwegian University of Science and Technology (NTNU) - Department of Computer and Information Science. The project is a part of the course TDT4290 - Customer Driven Project. Our customer in this project was Bouvet ASA, a Norwegian consulting company with its headquarter in Oslo. The representatives from Bouvet ASA was Stig Lau and Unn Aursøy. The task presented was to create a prototype of an application capable of mixing music, although the application should be extensible so that other media types could be incorporated easily. This application should be realized by the use of new technologies such as topic maps, tolog and Qt Jambi. The customer also requested that the development model used by the group should be iterative which made this report different from the previous ones in this course. The group would like to thank the customer's representatives, Stig Lau and Unn Aursøy, for all the feedback and suggestions received throughout the project. We would also thank Reidar Conradi and Ida Sørensen for keeping the project on track. Last, we wish to say thanks to Marte Svalastoga for the nice logo she created for our front page. Trondheim, November 20th 2007. Frode Sandholtbr˚aten Jostein Gogstad Michael Stokes Espen Nielsen Konrad G. Beiske Remy Jensen Abstract This paper describes the result of customer driven project 2007, group 2. The project has its main focus on investigating the use of bleeding edge technologies in desktop applications for our customer Bouvet ASA. We develop an application designed to mix an arbitrary number of different media together, be they audio, video, or some- thing else entirely. The only media supported at the end of the project is audio, but the application is designed for easy extension to other domains. The bleeding edge technologies include Topic Maps, TOLOG, Qt Jambi, and Aspect Oriented Program- ming. Contents 1 The project1 1.1 About the customer............................1 1.2 The task..................................1 1.3 How to read this report..........................2 2 Project directive3 2.1 Introduction................................3 2.2 Project mandate.............................4 2.3 Constraints................................7 2.4 Project plan................................8 2.5 Organization............................... 15 2.6 Project management........................... 16 2.7 Quality assurance............................. 17 2.8 Test Plan................................. 19 2.9 Templates and standards......................... 22 3 Pre-study 23 3.1 Introduction................................ 23 3.2 Requested solution............................ 24 3.3 Business requirements.......................... 32 3.4 Evaluation criteria............................ 34 3.5 Ontology.................................. 35 3.6 Topic Maps................................ 37 3.7 Dynamic objects and the model..................... 40 3.8 Aspect Oriented Programming...................... 41 3.9 The Qt Jambi framework......................... 42 3.10 Music software already on the market.................. 47 3.11 Licenses.................................. 52 3.12 Solution evaluation............................ 56 3.13 Conclusion................................. 58 4 Sprints explained 59 4.1 Introduction................................ 59 4.2 Description of sprints........................... 59 4.3 The number of sprints.......................... 60 i Contents ii 4.4 The structure of each sprint chapter................... 60 4.5 Estimating effort............................. 61 5 Sprint #1 - The Exploration 62 5.1 Introduction................................ 62 5.2 Planning.................................. 63 5.3 Requirements............................... 64 5.4 Design and Implementation....................... 74 5.5 Testing................................... 83 5.6 Evaluation................................. 83 6 Sprint #2 - The TurnAround 87 6.1 Introduction................................ 87 6.2 Changes.................................. 87 6.3 Planning.................................. 88 6.4 Requirements............................... 89 6.5 Design and Implementation....................... 92 6.6 Testing................................... 106 6.7 Evaluation................................. 107 7 Sprint #3 - The Accomplishment 110 7.1 Introduction................................ 110 7.2 Changes.................................. 110 7.3 Planning.................................. 111 7.4 Requirements............................... 111 7.5 Design and Implementation....................... 112 7.6 Testing................................... 122 7.7 Evaluation................................. 123 8 Evaluation 125 8.1 Introduction................................ 125 8.2 Process and results............................ 126 8.3 The customer and the project task................... 133 8.4 The Course................................ 136 8.5 Tools.................................... 139 8.6 Further work............................... 143 8.7 What would we do differently?...................... 145 8.8 Conclusion................................. 146 A Appendix 154 A.1 Risk Assassment............................. 154 A.2 Resources................................. 159 A.3 Templates................................. 160 A.4 Minutes.................................. 162 A.5 Design................................... 165 Contents iii A.6 Tests.................................... 166 List of Tables 2.1 Time table for the phases........................ 11 2.2 Phase responsibilities........................... 13 2.3 Template for presenting non-acceptance tests.............. 21 2.4 Folder structure for our code....................... 22 3.1 MP3 license cost............................. 53 3.2 Qt Jambi licensing prices......................... 54 5.1 Sprint #1 effort estimate and goals................... 63 5.2 Priority table for the requirements in Sprint #1............ 73 5.3 Requirements to be implemented during Sprint #1.......... 73 5.4 Sprint #1 resource usage......................... 85 6.1 Sprint #2 effort estimate and goals................... 89 6.2 Priority table for the requirements in Sprint #2............ 92 6.3 Requirements to be implemented during Sprint #2.......... 92 6.4 List over the new tests created during this sprint............ 106 6.5 Sprint #2 resource usage......................... 107 7.1 Sprint #2 effort estimate and goals................... 111 7.2 Requirements to be implemented during Sprint #3.......... 111 7.3 List over the new tests created during this sprint............ 122 7.4 Sprint #3 resource usage......................... 123 8.1 Sprint resource usage summarized.................... 128 A.1 Risk table................................. 158 A.2 Risk matrix table............................. 159 A.34 Test tracing matrix over buisness reuirements.............. 177 A.35 Test tracing matrix over reuirements................... 178 iv List of Figures 2.1 Scrum sprint example...........................9 2.2 Gantt diagram for the schedule..................... 11 2.3 Organization chart............................ 15 3.1 Context data flow diagram of the requested solution.......... 26 3.2 The structure of a performance..................... 27 3.3 Rate adjustment of a performance................... 28 3.4 Example of how notes are used to describe music........... 29 3.5 A prototype GUI to demonstrate the overlapping of songs...... 31 3.6 Overview of the most important topics in the ontology........ 35 3.7 Topic map key concepts, picture from.................. 37 3.8 Jambi architecture drawing....................... 43 3.9 The observer pattern........................... 44 3.10 The Qt designer.............................. 47 3.11 FastTracker 2 screenshot......................... 48 3.12 Reason 3 screenshot............................ 49 3.13 Screenshot from VirtualDJ........................ 50 5.1 Package diagram of the architecture chosen in Sprint #1....... 75 5.2 Dataflow diagram of the architecture chosen in Sprint #1....... 75 5.3 UML class diagram of model architecture #1.............. 76 5.4 UML class diagram of model architecture #2.............. 79 5.5 An event driven approach........................ 80 5.6 Mixer structure.............................. 81 5.7 Initial paper prototype of the GUI.................... 83 5.8 Initial Qt Jambi prototype of the GUI.................. 83 6.1 A package diagram of chosen design at Sprint #2........... 93 6.2 A dataflow diagram of chosen design at Sprint #2........... 94 6.3 UML class diagram of the model described in section 6.5.2...... 95 6.4 Example of two media models...................... 97 6.5 Example of a Composition model.................... 97 6.6 Detailed description of a part of the example in Figure 6.4....... 98 6.7 Detailed description of a part of the example in Figure 6.5....... 98 6.8 The event based topic map simplified.................. 99 v List of Figures vi 6.9 Persistence UML class diagram..................... 99 6.10 Renderer structure............................ 102 6.11 Changes to the paper prototype..................... 104 6.12 UML class diagram of the GUI module................. 105 6.13 The GUI results from Sprint #2..................... 105 7.1
Recommended publications
  • MORE INFORMATION to Use a Safe Boot Option, Follow These Steps
    MORE INFORMATION To use a Safe Boot option, follow these steps: 1. Restart your computer and start pressing the F8 key on your keyboard. On a computer that is configured for booting to multiple operating systems, you can press the F8 key when the Boot Menu appears. 2. Select an option when the Windows Advanced Options menu appears, and then press ENTER. 3. When the Boot menu appears again, and the words "Safe Mode" appear in blue at the bottom, select the installation that you want to start, and then press ENTER. Back to the top Description of Safe Boot options • Safe Mode (SAFEBOOT_OPTION=Minimal): This option uses a minimal set of device drivers and services to start Windows. • Safe Mode with Networking (SAFEBOOT_OPTION=Network): This option uses a minimal set of device drivers and services to start Windows together with the drivers that you must have to load networking. • Safe Mode with Command Prompt (SAFEBOOT_OPTION=Minimal(AlternateShell)): This option is the same as Safe mode, except that Cmd.exe starts instead of Windows Explorer. • Enable VGA Mode: This option starts Windows in 640 x 480 mode by using the current video driver (not Vga.sys). This mode is useful if the display is configured for a setting that the monitor cannot display. Note Safe mode and Safe mode with Networking load the Vga.sys driver instead. • Last Known Good Configuration: This option starts Windows by using the previous good configuration. • Directory Service Restore Mode: This mode is valid only for Windows-based domain controllers. This mode performs a directory service repair.
    [Show full text]
  • Metadefender Core V4.12.2
    MetaDefender Core v4.12.2 © 2018 OPSWAT, Inc. All rights reserved. OPSWAT®, MetadefenderTM and the OPSWAT logo are trademarks of OPSWAT, Inc. All other trademarks, trade names, service marks, service names, and images mentioned and/or used herein belong to their respective owners. Table of Contents About This Guide 13 Key Features of Metadefender Core 14 1. Quick Start with Metadefender Core 15 1.1. Installation 15 Operating system invariant initial steps 15 Basic setup 16 1.1.1. Configuration wizard 16 1.2. License Activation 21 1.3. Scan Files with Metadefender Core 21 2. Installing or Upgrading Metadefender Core 22 2.1. Recommended System Requirements 22 System Requirements For Server 22 Browser Requirements for the Metadefender Core Management Console 24 2.2. Installing Metadefender 25 Installation 25 Installation notes 25 2.2.1. Installing Metadefender Core using command line 26 2.2.2. Installing Metadefender Core using the Install Wizard 27 2.3. Upgrading MetaDefender Core 27 Upgrading from MetaDefender Core 3.x 27 Upgrading from MetaDefender Core 4.x 28 2.4. Metadefender Core Licensing 28 2.4.1. Activating Metadefender Licenses 28 2.4.2. Checking Your Metadefender Core License 35 2.5. Performance and Load Estimation 36 What to know before reading the results: Some factors that affect performance 36 How test results are calculated 37 Test Reports 37 Performance Report - Multi-Scanning On Linux 37 Performance Report - Multi-Scanning On Windows 41 2.6. Special installation options 46 Use RAMDISK for the tempdirectory 46 3. Configuring Metadefender Core 50 3.1. Management Console 50 3.2.
    [Show full text]
  • Keygen Songs
    Keygen songs click here to download Some of the best keygen-8 bit songs mixed by me in 1 www.doorway.ruist soon Dl link: (As a Mix) http://www. 5 good keygen songs! All of them for download at www.doorway.ru under these names: Razor - Diablo. Top Ten Best Keygen Songs Ever Made. CineManiacs . Awesome idea for a Top 10 (we all KNOW these. i always wonder why and when people start to put this songs in the keygens?! the best keygen song is. Here you can find music from crack keygen, trainer intro, from different release/crack groups. Select group from menu on the left and download music in *.xm, ​AiR · ​R2R · ​KEYGENMUSiC · ​All Time Top Keygen discography and songs: Music profile for Keygen, formed February stream 12 keygen playlists including 8bit, chiptune, and 8 bit music from your desktop or mobile device. sounds of piracy 1: keygen songs compilation. Can someone explain to me what a "keygen song" is I think they generate the key needed to have a license or something but I am probably. Get all the lyrics to songs by Keygen and join the Genius community of music scholars to learn the meaning behind the lyrics. Cover statistics for Keygen: see which songs of other artists Keygen covered on a concert. Keygen. NARCiSSUS_-_FlashFXP_finalcrk. NARCiSSUS_-_Offline_Explorer_Enterprise_crk. NDT_-_Reflexive_Arcade_Games_crk. Keygen Songs Mix [best Of]. 7 Тагове: mix songs keygen. Категории: Музика. 2. 0. eatmycrit. Абонирай се. Keygen Songs Mix Best Of mp3 скачать, слушать онлайн в хорошем качестве There are thousands of these things out there and all of the tracks in them As Dmitry explains, the origin of keygen music is rooted in the early.
    [Show full text]
  • The Emergence of Estonian Hip-Hop in the 1990S Underlies Much Hip-Hop Sentiment” (2004: 152)
    Th e Emergence of Estonian Hip-Hop in the 1990s Triin Vallaste Abstract In this article I trace the ways in which hip-hop as a global form of expression has become indigenized in post-Soviet Estonia. Hip-hop’s indigenization coincides with the collapse of the Soviet Union in 1991. After the dissolution of the USSR, dominant Estonian social discourses eagerly celebrated re-entering the European-American world and embracing its values. The uncensored global media outlets acces- sible after 1991 and rapid developments in information technology shortly thereafter were crucial to the history of Estonian-language rap. Hip-hop artists’ extensive involvement with new media and technolo- gies refl ects an extremely swift transition from ill-equipped to fl uent manipulation of technology, which aff ected cultural production and structures of participation in various sociocultural spheres. While hip- hop culture emerged in the South Bronx during the early 1970s as a radical voice against increasing economic hardship and social marginalization, Estonian hip-hop was established in the early 1990s and developed in the context of a rapidly growing economy, rising living standards, and strong national feel- ing within a re-independent Estonian state. Hip-hop artists’ production vividly reveals both the legacies of Soviet rule and the particular political economy of post-Soviet Estonia. Hip-hop, with its roots in expressive Caribbean, (2003: 468). To invoke Tom Boellstorff ’s notion of African-American, and Latino cultures, has be- “dubbing culture” (Boellstorff 2003), indigenized come fundamental to millions of peoples’ iden- rap “is more than just a quotation: it adds a step, tities worldwide, a fact which necessitates mak- fi rst alienating something but then reworking it ing sense of the specifi c ways hip-hop functions in a new context” (2003: 237, cited in Keeler 2009: in diverse communities and cultures.
    [Show full text]
  • Computer Demos—What Makes Them Tick?
    AALTO UNIVERSITY School of Science and Technology Faculty of Information and Natural Sciences Department of Media Technology Markku Reunanen Computer Demos—What Makes Them Tick? Licentiate Thesis Helsinki, April 23, 2010 Supervisor: Professor Tapio Takala AALTO UNIVERSITY ABSTRACT OF LICENTIATE THESIS School of Science and Technology Faculty of Information and Natural Sciences Department of Media Technology Author Date Markku Reunanen April 23, 2010 Pages 134 Title of thesis Computer Demos—What Makes Them Tick? Professorship Professorship code Contents Production T013Z Supervisor Professor Tapio Takala Instructor - This licentiate thesis deals with a worldwide community of hobbyists called the demoscene. The activities of the community in question revolve around real-time multimedia demonstrations known as demos. The historical frame of the study spans from the late 1970s, and the advent of affordable home computers, up to 2009. So far little academic research has been conducted on the topic and the number of other publications is almost equally low. The work done by other researchers is discussed and additional connections are made to other related fields of study such as computer history and media research. The material of the study consists principally of demos, contemporary disk magazines and online sources such as community websites and archives. A general overview of the demoscene and its practices is provided to the reader as a foundation for understanding the more in-depth topics. One chapter is dedicated to the analysis of the artifacts produced by the community and another to the discussion of the computer hardware in relation to the creative aspirations of the community members.
    [Show full text]
  • Files I Have Known
    FILES I HAVE KNOWN FOREWORD The data reminiscences that follow are probably an unrewarding read. Published reminiscences stand as monuments to the ego of their authors. However, the true purpose of this text is to experimentally substitute digital files with written memories of those files, prompted by metadata. Can the original essence of a data file be recreated purely by words? Many of the files chosen here are obscure and not necessarily available online. It’s likely that the files themselves are of little interest if discovered without their context, forming only fragments of nonsensicality in the wider noise of online data. These reminiscences too may appear as yet further noise flung onto an internet already overpopulated with noise vying for visibility. But by intimately analysing one’s own files in terms of their emotional impact, the reader may come to appreciate that every file has a story. In our daily dealings with data, we partake in the creation of such stories, and the stories also create us. FILES I HAVE KNOWN CHAPTER I “dontryathome.zip” Size: 345KB (345,410 bytes) Created: 31 December 2004 13:53 Format: ZIP Archive “dontryathome.zip” was a compressed archive containing images randomly taken from the web. It’s a file I no longer possess, so all that exists of it now is the above scrap of metadata, the text of the email it was attached to, and the memory. This may well be the eventual fate of all data – future generations might only be left with metadata and memories to reminiscence over if either (a) the pace of technology outstrips the means to preserve and open obsolete file formats, or (b) a sudden cataclysmic environmental or economic global disaster annuls electronic technologies.
    [Show full text]
  • Openmpt Manual Help Document and Function Reference 1
    OpenMPT Manual Help Document And Function Reference 1 Introduction Acknowledgments This manual, like OpenMPT itself, was created by a group of voluntary contributors to be able to offer a single, well-written, consistent and up-to-date help document for OpenMPT. It is largely based on the original works of Harbinger and his Offline Help Manual [1], which he wrote over the course of many years. It is very well possible that this manual still contains wrong facts, incomplete or hard to understand sections. Errors do not fix themselves, so you are invited to join our wiki at http:/ / wiki. openmpt. org/ where you can edit, fix and extend the manual’s source. OpenMPT is or has been maintained by: Name Years of activity Contact (@opеnmpt.өrg) Johannes Schultz 2008 - 2012 sagamusix Ahti Leppänen 2005 - 2011 relabs Robin Fernandes 2004 - 2007 rewbs Sergiy Pylypenko 2007 pelya Eric Chavanon 2004 - 2005 ericus Trevor Nunes 2004 plastik_s Olivier Lapicque 1997 - 2003 olivier Further code has been contributed by coda, kode54 and xaimus. This manual has been generated on September 22, 2012. References [1] http:/ / forum. openmpt. org/ index. php?topic=4387. 0 About OpenMPT 2 About OpenMPT What is Open ModPlug Tracker? To put it simply, Open ModPlug Tracker (OpenMPT) has always been and will always be an application that makes it easy to compose music. Using mostly a text-based event editing system, plus several expanded features including MIDI input and VST plugins, this free software has enough user-friendliness and flexibility to please all composers from the EDM tracker to the experimentalist to the classical composer.
    [Show full text]
  • Downloading the Video to Their Device (See Figure 3-63)
    NORTHWESTERN UNIVERSITY Compositional Possibilities of New Interactive and Immersive Digital Formats A DISSERTATION SUBMITTED TO THE BIENEN SCHOOL OF MUSIC IN PARTIAL FULFILLMENT OF THE REQUIREMENTS for the degree DOCTOR OF MUSICAL ARTS Program of Composition By Daniel R. Dehaan EVANSTON, IL (June 2019) 2 Abstract From 2008 to 2019, a range of new interactive and immersive digital formats that present new possibilities for musical and artistic expression have become available. In order to begin the work of uncovering what new compositional and experiential possibilities are now possible, this document will examine each format’s core concepts and tools, cataloging the current state of related technologies. It also provides a survey of each format’s representative works, including a discussion of my original and evolving work for virtual reality, Infinite Void. The ultimate goal of this dissertation is to serve as a point of departure for composers interested in working with and influencing the direction that musical and creative expression will take in these immersive and interactive digital environments. 3 Acknowledgments This document would not have been possible without countless individuals to whom I owe more than just the acknowledgements of this page. To my committee members, Chris Mercer, Hans Thomalla, and Stephan Moore, who made themselves available from all corners of the globe and encouraged me to keep going even when it seemed like no end was in sight. To Donna Su, who kept me on track and moving forward throughout my entire time at Northwestern. To my readers, Nick Heinzmann and Caleb Cuzner, without whom I don’t think I would have ever been able to finish.
    [Show full text]
  • Procedural Sequencing 1 Göran Sandström
    Procedural Sequencing 1 Göran Sandström Bachelor Thesis Spring 2013 School of Health and Society Department Design and Computer Science Procedural Sequencing A New Form of Procedural Music Creation Author: Göran Sandström Instructor: Anders-Petter Andersson Examiner: Daniel Einarsson Procedural Sequencing 2 Göran Sandström School of Health and Society Department Design and Computer Science Kristianstad University SE-291 88 Kristianstad Sweden Author, Program and Year: Göran Sandström, Interactive Sound Design, 2010 Instructor: Anders-Petter Andersson, PhD. Sc., HKr Examination: This graduation work on 15 higher education credits is a part of the requirements for a Degree of Bachelor in Computer Science Title: Procedural Sequencing Language: English Approved By: _________________________________ Daniel Einarsson Date Examiner Procedural Sequencing 3 Göran Sandström Table of Contents List of Abbreviations and Acronyms............................................................................4 List of Figures...............................................................................................................4 Abstract.........................................................................................................................5 1. Introduction.............................................................................................6 1.1 Aim and Purpose.....................................................................................................6 1.2 Method....................................................................................................................6
    [Show full text]
  • Music Talks: Turn Your Hobby Into a Profession Written & Produced by Angelos Mavros
    1 2 Table of Contents Talk #1 10 Music Production Tips For Beginners...............................................................................4 Talk #2 A Brief History Of Psytrance................................................................................................... 7 Talk #3 The Importance Of The Social Media & My Basic Strategy.............................................. 10 Talk #4 15 Social Platforms You Should Be Using............................................................................16 Talk #5 How To Interpret An Artist's Social Media Numbers....................................................... 20 Talk #6 Professional VS Amateur Comparison................................................................................ 23 Talk #7 Why Record Labels Don't Respond To Your E-mails & How To React..........................25 Talk #8 10 Reasons You Fail In The Music Business........................................................................29 Talk #9 How I Failed As A Web Developer & Why Failure Is A Good Thing.............................36 Talk #10 The Biggest Religious Lie You Have Been Told............................................................... 39 Talk #11 10 Things Producers Don't Realize..................................................................................... 42 Talk #12 Why Music Used To Be Better.............................................................................................48 Talk #13 Why You Shouldn't Create Underground Music.............................................................52
    [Show full text]
  • Fasttracker II Manual
    FastTracker v2.08 ”In a dream we are connected siamese twins at the wrist” Manual © 1996 Triton Productions and Under World Digital Publishing CHAPTER ONE: INTRODUCTION CHAPTER TWO: SETUP 2.1. Setting up your devices 2.2 Layout 2.3 When running under DPMI CHAPTER THREE: EFFECTS 3.1 Appregio 3.2 Portamento up 3.3 Portamento down 3.4 Tone portamento 3.5 Vibrato 3.6 Portamento + Volume slide 3.7 Vibrato + Volume slide 3.8 Tremolo 3.9 Set panning position 3.10 Sample offset 3.11 Volume slide 3.12 Position jump 3.13 Set volume 3.14 Pattern break 3.15 E commands 3.15.1 Filter on/off (Amiga only!) 3.15.2 Fine portamento up 3.15.3 Fine portamento down 3.15.4 Set glissando control 3.15.5 Set vibrato control 3.15.6 Set fine-tune 3.15.7 Jump loop 3.15.8 Set tremolo control 3.15.9 Retrig note 3.15.10 Fine volume slide 3.15.11 Note cut 3.15.12 Note delay 3.15.13 Pattern delay 3.15.14 Funk it! (Not implemented) 3.16 Set speed 3.17 Set global volume 3.18 Global volume slide 3.19 Set envelope position 3.20 Panning slide 3.21 Multi retrig note 3.22 Tremor 3 23 Extra fine portamento 3.24 Volume column 3.24.1 Set volume 3.24.2 Volume slide 3.24.3 Fine volume slide 3.24.4 Set vibrato speed 3.24.5 Vibrato 3.24. 6 Set panning position 3.24 .7 Panning slide 3.24.8 Tone portamento CHAPTER FOUR: UTILITIES 4.1 Main screen: 4.1.1 BPM 4.1.2 Spd 4.1.3 Add 4.1.4 Ptn 4.1.5 Ln 4.1.6 Expd 4.1.7 Shnk 4.1.8 The instrument/sample selector 4.1.9 Scopes 4.2 Instrument Editor 4.2.1 What is an instrument / sample? 4.2.2 The volume envelope 4.2.3 The panning envelope 4.2.4 Tune
    [Show full text]
  • Blorb: an IF Resource Collection Format Standard
    Blorb: An IF Resource Collection Format Standard Format specification version 2.0.4 Maintained by IFTF: <[email protected]> Copyright 2020 by the Interactive Fiction Technology Foundation. This specification is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License: http://creativecommons.org/licenses/by-nc- sa/3.0 This document and further Blorb information can be found at: https://github.com/iftechfoundation/ifarchive-if-specs This is a formal specification for a common format for storing resources associated with an interactive fiction game file. Resources are data which the game can invoke, such as sounds and pictures. In addition, the executable game file may itself be a resource in a resource file. This is a convenient way to package a game and all its resources together in one file. Blorb was originally designed solely for the Z-machine, which is capable of playing sounds (Z-machine versions 3 and up) and showing images (the V6 Z-machine). However, it has been extended for use with other IF systems. The Glk portable I/O library uses Blorb as a resource format, and therefore so does the Glulx virtual machine. (See http://eblong.com/zarf/glk/ and http://eblong.com/zarf/glulx/.) ADRIFT 5 (see http://www.adrift.org.uk/) also uses Blorb, albeit with an extended format list. This format is named "Blorb" because it wraps your possessions up in a box, and because the common save file format was at one point named "Gnusto". That has been changed to "Quetzal", but I'm not going to let that stop me.
    [Show full text]