MURAL - Maynooth University Research Archive Library



    Supporting an Object-Oriented Approach to Unit Generator Development: The Csound Plugin Opcode Framework


    Lazzarini, Victor (2017) Supporting an Object-Oriented Approach to Unit Generator Development: The Csound Plugin Opcode Framework. Applied Sciences, 7 (10). p. 970. ISSN 2076-3417

    [thumbnail of Lazzani_Supporting_2017.pdf]
    Preview
    Text
    Lazzani_Supporting_2017.pdf

    Download (1MB) | Preview

    Abstract

    This article presents a new framework for unit generator development for Csound, supporting a full object-oriented programming approach. It introduces the concept of unit generators and opcodes, and its centrality with regards to music programming languages in general, and Csound in specific. The layout of an opcode from the perspective of the Csound C-language API is presented, with some outline code examples. This is followed by a discussion which places the unit generator within the object-oriented paradigm and the motivation for a full C++ programming support, which is provided by the Csound Plugin Opcode Framework (CPOF). The design of CPOF is then explored in detail, supported by several opcode examples. The article concludes by discussing two key applications of object-orientation and their respective instances in the Csound code base.
    Item Type: Article
    Keywords: computer music languages; musical signal processing; csound; sound synthesis; object-oriented programming; C++; code re-use; opcodes; unit generators;
    Academic Unit: Faculty of Arts,Celtic Studies and Philosophy > Music
    Item ID: 11607
    Identification Number: 10.3390/app7100970
    Depositing User: Dr Victor Lazzarini
    Date Deposited: 05 Nov 2019 17:25
    Journal or Publication Title: Applied Sciences
    Publisher: MDPI
    Refereed: Yes
    Related URLs:
    URI: https://mural.maynoothuniversity.ie/id/eprint/11607
    Use Licence: This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here

    Repository Staff Only (login required)

    Item control page
    Item control page

    Downloads

    Downloads per month over past year

    Origin of downloads