Skip to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Opusmodus 1.3.24692

Featured Replies

1.3.24692 

– Function name changes: 
DEF-UNFOLD to DEF-UNFOLD-SET 
DEF-INSTRUMENT-SETS to DEF-INSTRUMENT-SET 

– New functions:

DEF-UNFOLD-SET

UNFOLD-SET-NAMES

GET-UNFOLD-SET

GET-UNFOLD-SET-GROUPS

GET-UNFOLD-SET-GROUP

UNFOLD 

SOUND-SET-NAMES
GET-SOUND-SET-PROGRAM-GROUPS
GET-SOUND-SET-PROGRAM-GROUP
GET-SOUND-SET-PROGRAM
GET-SOUND-SET-CONTROLLER-GROUPS
GET-SOUND-SET-CONTROLLER-GROUP
GET-SOUND-SET-CONTROLLER
   
DEF-INSTRUMENT-SET
INSTRUMENT-SET-NAMES
GET-INSTRUMENT-SET
GET-INSTRUMENT-SET-GROUPS
GET-INSTRUMENT-SET-GROUP

– New directory in System Library: Libraries.
– New directory in Def-Libraries: Def-Unfold-Sets.
– New Extension file: 'OSC Remote Setup.lisp'.

Fixed: 
– Documents errors.

 

Examples:

SOUND-SET

(sound-set-names)
=> (xce-solo-woodwinds-generic vsl-clarinet-bb vsl-cello
    sgmo-acoustic-grand-piano k2500r s80 se-1 sgmo-bassoon
    sgmo-strings-1 zr vsl-altoflute vsl-prepared-piano
    supernova-ii sy55 reaktor sgmo-vibraphone vsl-imperial
    vsl-cello-solo trinity ms2000 pr micro-q k1 vsl-cembalo-ks
    sgmo-piccolo pianoteq vsl-cembalo vsl-violin vsl-viola-solo
    micro-piano gm2 vsl-contrabass trinity-rack sgmo-celesta
    sgmo-trombone nord-lead-3 gm sgmo-harp sgmo-glock
    karma sgmo-trumpet xv-5080 sgmo-flute sgmo-oboe
    vsl-violin-solo sgmo-horn sgmo-timpani k2600 sgmo-marimba
    vsl-hornvienna vsl-prepared-piano-ks sgmo-tuba jv-1080
    vsl-harmonium-ks vsl-harmonium sgmo jv-2080 sy22 k2500
    sgmo-violin virus-b sgmo-cello sgmo-clarinet k2000r k2000
    vsl-bassclarinet vsl-upright xce-solo-strings-generic
    motif sgmo-viola)
(get-sound-set-program-groups 'gm)
=> (piano percussion organ guitar bass strings ensemble brass reed pipe
    synth-lead synth-pad synth-effects ethnic percussive sound-effects)
(get-sound-set-program-group 'gm 'Brass)
=> (trumpet trombone tuba muted-trumpet french-horn
    brass-section synth-brass-1 synth-brass-2)
(get-sound-set-program 'gm 'trombone)
=> 57
(get-sound-set-controller-groups 'gm)
=> (general lsb pedal)
(get-sound-set-controller-group 'gm 'general)
=> (bank-select modulation breath-control foot-control portamento-time
    data-entry volume balance pan expression effects-controller1
    effects-controller2 gen-purpose1 gen-purpose2 gen-purpose3
    gen-purpose4)
(get-sound-set-controller 'gm 'expression)
=> 11

 

UNFOLD

(unfold-set-names)
=> (m1 eg)
(get-unfold-set-groups 'eg)
=> (transp basic ambitus)
(get-unfold-set-group 'eg 'ambitus)
=> (ob bn hn)
(get-unfold-set 'eg 'ld)
=> (:length (length-divide 2 2 x))

 

Unfold Set Example:

(def-unfold-set eg
                :methods
  (:group transp
          t7   (:pitch (pitch-transpose 7 x))
          t-12 (:pitch (pitch-transpose -12 x))
          
          :group basic
          ret  (:all (gen-retrograde x :flatten t))
          var  (:pitch (pitch-variant x :variant '?))
          gf   (nil (gen-fragment '(3) '(3) x))
          ld   (:length (length-divide 2 2 x))
          lrq  (:length (length-rational-quantize x))
          dyn  (:velocity (velocity-to-dynamic x))
          ls   (nil (length-span '(6/4 6/4) x))
          
          :group ambitus
          ob   (:pitch (ambitus 'oboe x))
          bn   (:pitch (ambitus 'bassoon x))
          hn   (:pitch (ambitus 'french-horn x))
          ))

 

INSTRUMENT-SET

(instrument-set-names)
=> (vsl gm)
(get-instrument-set-groups 'gm)
=> (clefs grand wind brass strings wind-ensemble
    brass-ensemble piano string-ensemble choir)
(get-instrument-set-group 'gm 'wind)
=> (:pic :fl :afl :bfl :ob :eh :oda :cl :acl
    :bcl :bn :cbn :ssax :asax :tsax :bsax)
(get-instrument-set-group 'gm 'string-ensemble)
=> (:s3 :sq)
(get-instrument-set 'gm :p)
=> (:layout piano-layout :port nil :channel 1 :sound 'gm
    :program 0 :controllers nil :pan (pan 0) :volume 92)
(get-instrument-set 'gm :sq)
=> (:layout string-quartet-layout :port nil :channel '(13 14 15 16)
    :sound 'gm :program '(violin violin viola cello)
    :controllers nil :pan (pan '(-30 -10 10 30)) :volume 92)

 

Instrument Set Example:

(def-instrument-set my-inst
                    :instruments
  (:group wind
          :oboe
          (:layout oboe-layout
                   :port nil
                   :channel 1
                   :sound 'gm
                   :program '(oboe)
                   :controllers nil
                   :pan (pan 0)
                   :volume 92)

          :bassoon
          (:layout bassoon-layout
                   :port nil
                   :channel 2
                   :sound 'gm
                   :program '(bassoon)
                   :controllers nil
                   :pan (pan -10)
                   :volume 92)
          ))

 

Note:

Please create a new directory 'Def-Unfold-Sets' in your '~/Opusmodus/Def-Libraries' directory. This is where you will store your Unfold sets.

The 'OSC Remote Setup.lisp' file needs to be dragged into your '~/Opusmodus/Extensions' directory.

OSC Remote Setup.lisp

Best wishes,

Janusz


Copyright © 2014-2026 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.