| Concepts and Theory | |
| Overview of Music Theories | p. 3 |
| The Representation of Music | p. 7 |
| Types of Representation | p. 7 |
| Symbolic Representation of Music | p. 9 |
| Electronic Scores | p. 10 |
| MIDI | p. 13 |
| Musical Representation Languages | p. 14 |
| Language of General Concepts | p. 18 |
| Architecture of Concepts I: Principles | p. 19 |
| Pure Architecture | p. 19 |
| Selection | p. 20 |
| Conjunction | p. 21 |
| Disjunction | p. 21 |
| Architecture with Primitives | p. 22 |
| Examples | p. 24 |
| Macro Notes | p. 25 |
| Frequency Modulation | p. 26 |
| Full Score | p. 27 |
| The Category of Modules | p. 31 |
| From Monoids to Modules | p. 31 |
| Monoids | p. 32 |
| Groups | p. 33 |
| Rings | p. 33 |
| Modules | p. 37 |
| Categories | p. 41 |
| Definition | p. 41 |
| Functors | p. 43 |
| Natural Transformations | p. 45 |
| Yoneda's Lemma | p. 48 |
| Limits and Colimits | p. 49 |
| Topoi | p. 52 |
| Architecture of Concepts II: Forms and Denotators | p. 55 |
| Forms | p. 55 |
| Denotators | p. 57 |
| Computational Category Theory | p. 58 |
| Data Types in Programming Languages | p. 58 |
| The Role of Diagrams | p. 61 |
| Software Components for Computational Theories | p. 65 |
| Types of User Interface | p. 66 |
| Rubato Composer: Computational Theories | p. 69 |
| Historical Overview | p. 71 |
| presto | p. 71 |
| "Classic" Rubato | p. 73 |
| Experiments in Java | p. 75 |
| Rubato Composer | p. 76 |
| The Implementation | |
| Overview | p. 79 |
| Architecture | p. 81 |
| Overall Structure | p. 81 |
| The Rubato Composer Universe | p. 83 |
| Java Packages | p. 85 |
| Modules and Morphisms | p. 87 |
| Modules and their Elements | p. 87 |
| The Module Interface | p. 87 |
| The ModuleElement Interface | p. 91 |
| Module Morphisms | p. 95 |
| The ModuleMorphism Interface | p. 95 |
| Forms and Denotators | p. 105 |
| Requirements | p. 105 |
| Forms | p. 106 |
| Form Class | p. 107 |
| SimpleForm Class | p. 109 |
| LimitForm and ColimitForm Classes | p. 109 |
| PowerForm and ListForm Classes | p. 110 |
| Denotators | p. 110 |
| SimpleDenotator Class | p. 113 |
| LimitDenotator Class | p. 114 |
| ColimitDenotator Class | p. 115 |
| PowerDenotator and ListDenotator Classes | p. 115 |
| Tools and Operations | p. 116 |
| Construction of Forms and Denotators | p. 116 |
| Paths | p. 118 |
| Module Mapping and Structural Replacement | p. 119 |
| Reforming | p. 120 |
| Address Changing | p. 123 |
| List and Set Operations | p. 124 |
| Tools and Utilities | p. 127 |
| Low-Level Mathematical Tools | p. 127 |
| Numbers | p. 127 |
| Matrixes | p. 128 |
| Repository and Predefined Universe | p. 128 |
| MIDI Sequencer and Synthesizer | p. 130 |
| Scheme Interpreter | p. 131 |
| XML as File Format for Rubato Composer | p. 132 |
| Rubato Composer GUI | p. 135 |
| Terminology | p. 135 |
| The Implementation of Networks | p. 136 |
| Running a Network | p. 138 |
| Macro Rubettes | p. 141 |
| Tools | p. 144 |
| The Plug-In System | p. 144 |
| Rubato Composer in Practice | |
| Overview | p. 151 |
| A Tutorial | p. 153 |
| First Applications in Rubette Construction | p. 167 |
| Rubettes for Macro Objects | p. 167 |
| The Wallpaper Rubette | p. 170 |
| The Alteration Rubette | p. 176 |
| Counterpoint Theory | p. 179 |
| Music Composition | p. 180 |
| The BigBang Rubette | p. 183 |
| Spontaneous Algorithmic Composition | p. 183 |
| Facts about Geometric Composition Strategies | p. 184 |
| Gestural Interaction Concept | p. 185 |
| Gesture Theory | p. 185 |
| Application of Gesture Theory | p. 187 |
| Modular Views | p. 188 |
| View Concept | p. 188 |
| Note representation | p. 189 |
| Basic Functionality and Navigation | p. 193 |
| Layers | p. 193 |
| Implemented Gestures | p. 194 |
| Geometrical Transformations | p. 195 |
| Wallpapers | p. 196 |
| Alteration | p. 198 |
| The BigBang Rubette in Context | p. 199 |
| Creative Analysis of Boulez's Structures | p. 201 |
| Boulez's Creative Analysis Revisited | p. 201 |
| Ligeti's Analysis | p. 201 |
| A First Creative Analysis of Structure Ia | p. 203 |
| Address Change | p. 204 |
| Primary Parameter Address Changes | p. 205 |
| Secondary Parameter Address Changes | p. 206 |
| The First Creative Analysis | p. 208 |
| Implementing Creative Analysis in Rubato Composer | p. 209 |
| The System of Boulettes | p. 211 |
| A Second More Creative Analysis and Reconstruction | p. 213 |
| The Conceptual Extensions | p. 214 |
| The BigBang Rubette | p. 219 |
| A Composition | p. 221 |
| Conclusion and Outlook | p. 227 |
| Lessons Learned | p. 227 |
| Things To Do | p. 228 |
| Ideas for Future Work | p. 229 |
| Appendix | |
| User's Manual | p. 233 |
| Introduction | p. 233 |
| Concepts | p. 233 |
| Rubato Composer's World of Objects | p. 233 |
| Rubettes | p. 234 |
| Networks | p. 236 |
| Macro Rubettes | p. 237 |
| Tools | p. 238 |
| Using Rubato Composer | p. 238 |
| Starting up | p. 238 |
| General Usage | p. 238 |
| Main Window | p. 239 |
| Main Menu and Toolbar | p. 240 |
| Network | p. 242 |
| Tools | p. 244 |
| Scheme Tools | p. 251 |
| Preferences | p. 252 |
| Recurring User Interface Elements | p. 253 |
| Core Rubettes | p. 257 |
| Rubette Description Schema | p. 257 |
| List of Core Rubettes | p. 258 |
| Built-in Non-Core Rubettes | p. 269 |
| Writing Rubettes | p. 271 |
| Developing with the Rubato Framework | p. 271 |
| Rubette Interface | p. 273 |
| Rubette Example | p. 279 |
| Specification | p. 279 |
| The LatchRubette class | p. 279 |
| Packaging a Plug-In | p. 284 |
| Types of Module Morphisms | p. 285 |
| The Rubette Java Interface | p. 287 |
| Example LatchRubette class | p. 288 |
| Keyboard Shortcuts | p. 291 |
| Rubato Scheme | p. 292 |
| Table of Contents provided by Ingram. All Rights Reserved. |