<?xml version="1.0"?>
<rss version="2.0"><channel><title>Score and Notation Latest Topics</title><link>https://opusmodus.com/forums/forum/18-score-and-notation/</link><description>Score and Notation Latest Topics</description><language>en</language><item><title>tied quarters with triplets</title><link>https://opusmodus.com/forums/topic/4160-tied-quarters-with-triplets/</link><description><![CDATA[<p>Hello,</p><p>can anyone help me to get rid of the tied quarters (see in score) in context with triplets and merge them to single lengths?</p><p>Thanks in advance,</p><p>Achim</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>;; view with cmd-1
(progn
 (init-seed 123)
 (setf events 80)
 (setf data (half-sine events 1))
 (setf map (gen-tendency events (gen-integer 6 16)))
 (setf lengths (quantize (vector-map map data) '(1 2 3 4)))
 )
; end of progn</code></pre>]]></description><guid isPermaLink="false">4160</guid><pubDate>Mon, 10 Aug 2026 11:49:50 +0000</pubDate></item><item><title>Having a problem generating a score for contrabass</title><link>https://opusmodus.com/forums/topic/4159-having-a-problem-generating-a-score-for-contrabass/</link><description><![CDATA[<p>Hello,</p><p></p><p>I'm working on a score for solo contrabass.</p><p></p><p><strong>Here is where I arrived, and I cannot generate an xml score out of it:</strong></p><p></p><p>(make-omn</p><p>(</p><p>:length '(3/16 1/16 3/32 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 3/16 1/16 3/32 -1/8 -1/16 1/8 3/16 1/16 3/32 -1/8 -3/32 1/16 3/32 -1/8 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 1/8 3/16 1/16 3/32 -1/8 -1/16 3/8 1/16 3/32 -1/8 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 3/16 1/16 3/32 -1/8 -1/16 -1/8 3/16 1/16 3/32 -1/4 1/8 3/16 3/32 -1/8 -1/4 1/8 3/16 1/16 3/32 1/4 1/8 1/16 3/32 -1/16 1/16 3/32 -1/8 -1/16 1/4 1/8 3/16 1/16 3/32 1/4 1/8 3/16 1/16 3/32 1/8 3/16 1/16 3/32 -1/8 -1/16) </p><p>:pitch '(as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2. fs2 a2. c3+ d3 e3. fs3 a3. cs4 d4 e4. fs4 b1.. d2 ds2.. g2 a2.. b2.. d3 ds3.. g3 as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2. fs2 a2. c3+ d3 e3. gs3 a3. cs4 d4 e4. fs4 b1.. d2 ds2.. g2 a2.. b2.. d3 ds3.. g3 as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2.) </p><p>:velocity '(f mf mf mf mf mf mf mf ff ff mf mf ppp ppp ppp p mf p mf ppp pp ppp mf p mf ppp ppp ppp ppp p pp ppp p p mf pp ppp ppp ppp ppp ppp p ff f ff ff mf ff f ff mf mf ff mf mf ff mf mf mf mf ff f mf ff f mf mf) </p><p>:articulation '(- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -)))</p><p></p><p> </p><p></p><p><strong>and this is the error I'm getting:</strong></p><p>Error: Undefined operator :length in form (:length (quote (3/16 1/16 3/32 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 3/16 1/16 3/32 -1/8 -1/16 1/8 3/16 1/16 3/32 -1/8 -3/32 1/16 3/32 -1/8 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 1/8 3/16 1/16 3/32 -1/8 -1/16 3/8 1/16 3/32 ...)) :pitch (quote (as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2. fs2 a2. c3+ d3 e3. fs3 a3. cs4 d4 e4. fs4 b1.. d2 ds2.. g2 a2.. b2.. d3 ds3.. g3 as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2. fs2 a2. ...)) :velocity (quote (f mf mf mf mf mf mf mf ff ff mf mf ppp ppp ppp p mf p mf ppp pp ppp mf p mf ppp ppp ppp ppp p pp ppp p p mf pp ppp ppp ppp ppp ...)) :articulation (quote (- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...))).</p><p>  1 (continue) Try invoking :length again.</p><p>  2 Return some values from the form (:length (quote (3/16 1/16 3/32 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 3/16 1/16 3/32 -1/8 -1/16 1/8 3/16 1/16 3/32 -1/8 -3/32 1/16 3/32 -1/8 1/4 1/8 3/16 1/16 3/32 -1/8 -1/16 1/8 3/16 1/16 3/32 -1/8 -1/16 3/8 1/16 3/32 ...)) :pitch (quote (as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2. fs2 a2. c3+ d3 e3. fs3 a3. cs4 d4 e4. fs4 b1.. d2 ds2.. g2 a2.. b2.. d3 ds3.. g3 as3.. b3.. d4 gs4. bb1 c2. d2 d2 e2. fs2 a2. ...)) :velocity (quote (f mf mf mf mf mf mf mf ff ff mf mf ppp ppp ppp p mf p mf ppp pp ppp mf p mf ppp ppp ppp ppp p pp ppp p p mf pp ppp ppp ppp ppp ...)) :articulation (quote (- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...))).</p><p>  3 Try invoking length with the same arguments.</p><p>  4 Set the symbol-function of :length to the symbol-function of length.</p><p>  5 Try invoking something other than :length with the same arguments.</p><p>  6 Set the symbol-function of :length to another function.</p><p>  7 Set the macro-function of :length to another function.</p><p>  8 (abort) Return to top loop level 0.</p><p>Type :b for backtrace, or :c &lt;option number&gt; to proceed, or :a to abort.</p><p>Type :bug-form "&lt;subject&gt;" for a bug report template or :? for other options.</p>]]></description><guid isPermaLink="false">4159</guid><pubDate>Sat, 25 Jul 2026 19:55:35 +0000</pubDate></item><item><title>length notation</title><link>https://opusmodus.com/forums/topic/4130-length-notation/</link><description><![CDATA[<p>Does anybody has an idea how I can achieve a readable (reasonable) output in which the lengths are quantized to quarters of a 4/4 measure. At the moment I get also 10-tuplets over 1/2 and even a 15-tuplet over 3/4.</p><p>Thanks for help, Achim</p><p></p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>(setf lengths
      (flatten
       (loop with seed = (init-seed 123)
             ;; random number of quarters
             with quarterlist = (rnd-sum-to-size
                                 96 28
                                 '(2 3 4 5 6 7 8))
             ;; tuplet denominator for 1/4
             with division = 5
             ;; tuplet denominator per 4/4 measure
             with tup = (* division 4)
             for quarters in quarterlist
             ;; random number (numerator for rest)
             for rand = (rndn 1 1 (1- division))
             ;; rest (part of a tuplet)
             for rest = (/ rand tup)
             ;; overall duration - rest
             for dur = (- (/ (* division quarters) tup) rest)
             collect (quantize (list (* -1 rest) dur)
                               '(1 2 4 5) :type :ratio))))</code></pre>]]></description><guid isPermaLink="false">4130</guid><pubDate>Sat, 06 Jun 2026 13:17:53 +0000</pubDate></item><item><title>Bach Chorale</title><link>https://opusmodus.com/forums/topic/4073-bach-chorale/</link><description><![CDATA[<p>How should I write the layout in def-score to notate a four-part chorale on two piano systems, see attachment?</p><p>(The layout documentation has no explicit description about, how to notate more than one voice in one system.)</p><p>Thanks for help. <br>Achim</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="4366" src="https://opusmodus.com/forums/uploads/monthly_2026_03/91p8Ua5gmGL._AC_UF10001000_QL80_.jpg.d917ca9d8316ace602c0fd2d51ee1339.jpg" alt="91p8Ua5gmGL._AC_UF1000,1000_QL80_.jpg" title="91p8Ua5gmGL._AC_UF1000,1000_QL80_.jpg" width="626" height="1000" data-full-image="https://opusmodus.com/forums/uploads/monthly_2026_03/91p8Ua5gmGL._AC_UF10001000_QL80_.jpg.d917ca9d8316ace602c0fd2d51ee1339.jpg" loading="lazy"></p>]]></description><guid isPermaLink="false">4073</guid><pubDate>Sat, 07 Mar 2026 13:09:30 +0000</pubDate></item><item><title>Title followed by number in brackets in xml files</title><link>https://opusmodus.com/forums/topic/4052-title-followed-by-number-in-brackets-in-xml-files/</link><description><![CDATA[<p>if I enter a string as title in defscore and export the score as xml file, the title is always followed by a number in square brackets: Title [12]. How can I get rid of this addition?<a class="ipsAttachLink" data-fileid="4329" href="https://opusmodus.com/forums/applications/core/interface/file/attachment.php?id=4329&amp;key=a11ac88fced54f09309b50e254922ec9" data-fileext="xml" rel="">Acoustic-Scale.xml</a></p>]]></description><guid isPermaLink="false">4052</guid><pubDate>Sun, 08 Feb 2026 11:23:01 +0000</pubDate></item><item><title>Percussion Template</title><link>https://opusmodus.com/forums/topic/4044-percussion-template/</link><description><![CDATA[<p>Hi,</p><p>does anyone has by any chance a drum kit def-score template which is compatible with Musescores Instruments "Drum Kit (large)"?</p><p>Thanks for help.</p><p>Achim</p>]]></description><guid isPermaLink="false">4044</guid><pubDate>Sat, 24 Jan 2026 13:21:27 +0000</pubDate></item><item><title>Nested tuplets?</title><link>https://opusmodus.com/forums/topic/4042-nested-tuplets/</link><description><![CDATA[<p>I've searched the archive and saw that there was some discussion about implementing nested tuplets for version 2.0, but nothing that ever indicated that they were actually implemented. I cannot seem to make them work with version 4.0 no matter what I try. Should they work? If so, would someone be willing to post an example?</p><p></p><p>Thanks,</p><p></p><p>-Beth</p>]]></description><guid isPermaLink="false">4042</guid><pubDate>Fri, 16 Jan 2026 23:07:08 +0000</pubDate></item><item><title>Color PDF export</title><link>https://opusmodus.com/forums/topic/4035-color-pdf-export/</link><description><![CDATA[<p>Hello is there a way to export the code in color as a PDF? When I print it to PDF it comes out black and white. But it would be extremely helpful if I can print it to PDF in color. Thank you!</p>]]></description><guid isPermaLink="false">4035</guid><pubDate>Sun, 11 Jan 2026 01:11:26 +0000</pubDate></item><item><title>Suggestion for import musicxml to omn score</title><link>https://opusmodus.com/forums/topic/3948-suggestion-for-import-musicxml-to-omn-score/</link><description><![CDATA[<p>Suggestion for import musicxml behavior:</p><p></p><p>I think that a practical thing would be having the omn file from the MusicXML To Score to be automatically saved in the same folder where the corresponding MusicXML file is located. I´m using a folder for each composition or draft and in this folder I locate everything related to that composition, like the Musescore Files, the PDF Files and research material, the midi, the OPMO files, etc.</p><p>Would be handy to have this option.</p><p>Can it be programed in some user preferences LISP config file ?<br>Thanks a lot !!</p><p>Julio</p><p></p>]]></description><guid isPermaLink="false">3948</guid><pubDate>Wed, 30 Jul 2025 01:37:41 +0000</pubDate></item><item><title>How to make musical examples render on different systems?</title><link>https://opusmodus.com/forums/topic/3904-how-to-make-musical-examples-render-on-different-systems/</link><description><![CDATA[<p>Hi there, I have created two separate musical examples that are stored in variables. I would now like to <code>def-score</code> and have each example render separately on its own system, with an end bar line. Each one only has a treble clef.</p><p></p><p>How can I do that?</p><p></p><p>Most importantly: where in the documentation can I find how to do that?</p><p></p><p>I wasn't able to find anything in the docs, so eventually I buckled and used the built-in ChatGPT. It's hard to determine if I'm doing something wrong, or it's just hallucinating. It kept suggesting I use <code>make-system</code>, which I can't tell if that's even a thing. It has never been mentioned on this forum.</p>]]></description><guid isPermaLink="false">3904</guid><pubDate>Sat, 03 May 2025 06:41:23 +0000</pubDate></item><item><title>Incorrect pitch notation for minor key in def-score</title><link>https://opusmodus.com/forums/topic/3886-incorrect-pitch-notation-for-minor-key-in-def-score/</link><description><![CDATA[<p>Hi,</p><p></p><p>I'm seeing that some of my pitches in OMN are getting re-spelled in def-score. The score below shows that in a score in d minor, the c-sharps are notated as d-flats. If I just view the OMN as a snippet, it's rendered properly. Is there some function I can apply or some parameter in def-score I can pass to force the accidentals to be rendered exactly as I specify in the OMN?</p><p></p><p>My score:</p><p></p><p>(progn</p><p>(setf main-lh-ver-01 '( (q d2 stacc h d3f3a3 ten) (q e2 stacc h e3g3cs4 ten) (q f2 stacc h f3a3d4 ten) (q fs2 stacc h eb3a3c4 ten)</p><p>(q g2 stacc h d3g3bb3 ten) (q gs2 stacc h d3f3b3 ten) (q a2 stacc h e3a3cs4 ten) (-h.)))</p><p>;(gen-repeat 2 main-lh-ver-01)</p><p>(def-score waltz-score-example (:title "Waltz Chaconne"</p><p>  :key-signature '(d minor)</p><p>  :time-signature '(3 4)</p><p>  :tempo 160</p><p>  :layout (bass-layout 'lh))</p><p>(lh :omn (gen-repeat 4 main-lh-ver-01)</p><p>    :channel 1</p><p>    :sound 'gm</p><p>    :program 'acoustic-grand-piano)</p><p>)</p><p>)</p><p></p><p>If I view the Snippet here:<br>(setf main-lh-ver-01 '( (q d2 stacc h d3f3a3 ten) (q e2 stacc h e3g3cs4 ten) (q f2 stacc h f3a3d4 ten) (q fs2 stacc h eb3a3c4 ten)</p><p>(q g2 stacc h d3g3bb3 ten) (q gs2 stacc h d3f3b3 ten) (q a2 stacc h e3a3cs4 ten) (-h.)))</p><p></p><p>it's rendered correctly:</p><p></p><p><img class="ipsImage ipsRichText__align--block" data-fileid="4102" src="https://opusmodus.com/forums/uploads/monthly_2025_04/ScreenshotOMsnippetcorrectnotation04-07-08-51.png.png.1e6c31a80d852b4c414b37714cb214a2.png" alt="Screenshot OM snippet correct notation 04-07-08-51.png.png" width="1572" height="220" loading="lazy"></p><p></p><p></p><p>In the score rendered with def-score, I get this:<br><br><img class="ipsImage ipsRichText__align--block" data-fileid="4103" src="https://opusmodus.com/forums/uploads/monthly_2025_04/ScreenshotOMdef-scoreincorrectnotation04-07-08-51.png.4ce02658d4b2c37c4d4cce0b0482914c.png" alt="Screenshot OM def-score incorrect notation 04-07-08-51.png" width="2534" height="860" loading="lazy"></p><p></p><p>It's probably something obvious, but I've searched the forum and RTFM'ed with little success.</p><p><br>Thanks!<br><br>Paul</p>]]></description><guid isPermaLink="false">3886</guid><pubDate>Mon, 07 Apr 2025 15:08:49 +0000</pubDate></item><item><title>Video: Spectral Analysis and Music</title><link>https://opusmodus.com/forums/topic/3828-video-spectral-analysis-and-music/</link><description><![CDATA[<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-embedauthorid="1" data-embedcontent="" data-embedid="embed7125139994" src="https://opusmodus.com/forums/videos/92_made-in-opusmodus/spectral-analysis-and-music-r70/?do=embed" style="overflow: hidden; height: 156px; max-width: 502px;" loading="lazy"></iframe>
<p>
	 
</p>
]]></description><guid isPermaLink="false">3828</guid><pubDate>Tue, 14 Jan 2025 14:32:49 +0000</pubDate></item><item><title>Tablature (guitar) in Opusmodus ?</title><link>https://opusmodus.com/forums/topic/3078-tablature-guitar-in-opusmodus/</link><description><![CDATA[<p>
	Hello, Dear Friends
</p>

<p>
	 
</p>

<p>
	Tablature is part of the musicxml standard. It´s also important in baroque guitar and also for dealing with finger mechanisms in the guitar, like fingering combinations, etc.
</p>

<p>
	Can it be generated in Opusmodus, there is a TAB clef available ?
</p>

<p>
	Thanks a lot !
</p>

<p>
	Julio
</p>

<p>
	 
</p>

<div class="ipsRichEmbed" style="max-width:500px;border:1px solid rgba(0,0,0,0.1);">
	<div style="padding:10px;">
		<h3 class="ipsRichEmbed_itemTitle ipsType_blendLinks">
			<span><img alt="6554b6be8c0d829a8bf63ae0c82cf121_link.pn" src="https://opusmodus.com/forums/uploads/set_resources_33/6554b6be8c0d829a8bf63ae0c82cf121_link.png" loading="lazy"></span> <a href="https://www.w3.org/2021/06/musicxml40/tutorial/tablature/" style="text-decoration:none;margin-bottom:5px;" title="Tablature | MusicXML 4.0" rel="external nofollow">Tablature | MusicXML 4.0</a>
		</h3>

		<div class="ipsType_light">
			WWW.W3.ORG
		</div>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">3078</guid><pubDate>Thu, 01 Feb 2024 13:47:58 +0000</pubDate></item><item><title>How to asign controlllers to midi plug in parameter via opus modus</title><link>https://opusmodus.com/forums/topic/3808-how-to-asign-controlllers-to-midi-plug-in-parameter-via-opus-modus/</link><description><![CDATA[<p>
	I would like to know how to asign controllers to midi plug in parameter via opusmodus ,animate them  , and how to instruct opusmodus to which parameter i want to control ex : low pass filter of a plugin synth within my daw
</p>

<p>
	 
</p>

<p>
	Thank you
</p>

<p>
	 
</p>

<p>
	Patrick
</p>
]]></description><guid isPermaLink="false">3808</guid><pubDate>Sat, 23 Nov 2024 09:26:36 +0000</pubDate></item><item><title>XML in Dorico 5</title><link>https://opusmodus.com/forums/topic/3760-xml-in-dorico-5/</link><description><![CDATA[<p>
	Greetings all:
</p>

<p>
	<br />
	My results with import of notation into Dorico 5 is *very* disappointing.  I imagine it is my lack of practice with this.  Some scores will show only the first few notes and then an open framework (flow) full of rests after that.  The results in other software are better, but also present the composer with a massive editing job to fix notation issues.<br />
	<br />
	I have used the technique that Stephane suggested to open first in Musescore 4 and then export again and THEN open in Dorico, etc.<br />
	<br />
	I would like to know how others on the Windows platform are doing with XML import (Dorico, etc.) and exchange ideas.  If anyone is working on this please message me if you have time to do so.  We can hope that this aspect becomes more and more effective as time goes on - it would be a great help to the creative process and would save us a great deal of time.<br />
	 
</p>

<p>
	Happy composing!
</p>
]]></description><guid isPermaLink="false">3760</guid><pubDate>Thu, 12 Sep 2024 22:24:58 +0000</pubDate></item><item><title>red playback bar of the notation engine does not follow correctly the end 1 and end 2 of repeated passage</title><link>https://opusmodus.com/forums/topic/3775-red-playback-bar-of-the-notation-engine-does-not-follow-correctly-the-end-1-and-end-2-of-repeated-passage/</link><description><![CDATA[<p>
	Dear friends,
</p>

<p>
	I found this today. The red playback bar in the snippet does not follow the repeats and end1 and end2 in this example.
</p>

<p>
	The sound and score is right, just the red playback bar of the notation engine does not follow correctly. 
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">   '((-h. q b5)
        (repeat
         (q g5 a5 e. g5 s fs5 e. e5 s fs5)
         (s g5 a5 g5 a5 e. tr2-x t g5 a5 q b5 e. b5 s c6)
         (q d6 s c6 e b5 s a5 q g5 e a5 b5)
         (end1 (qs c6 t d6 e6 s c6 b5 q b5 comma b5))
         (end2 (qs c6 t d6 e6 s c6 b5 q b5 comma d6)))
        (q e6 e d6 t c6 b5 s c6 e b5 a5 g5 a5)
        (q b5 a5 g5 b5)
        (q b5 b5 a5 g5)
        (h fs5 e5)
        (q g5 fs5 h e5)
        (h. d5 q d5)
        (q g5 g5 a5 a5)
        (h. b5 q c6)
        (q b5 a5 g5 e. e5 s fs5)
        (q g5 fs5 e5))</span></pre>

<p>
	</p><video class="ipsEmbeddedVideo" controls="" data-controller="core.global.core.embeddedvideo" preload="metadata">
		<source type="video/mp4" src="https://opusmodus.com/forums/uploads/monthly_2024_09/REPEAT_BUG.mp4.e7da3c014c0d42e0a494e852f2919103.mp4"><a class="ipsAttachLink" href="https://opusmodus.com/forums/applications/core/interface/file/attachment.php?id=3860&amp;key=78fdfe03ef34065b5230942caaa4befb" data-fileid="3860" data-fileext="mp4" rel="">REPEAT_BUG.mp4</a>
	</source></video>
	 


<p>
	 
</p>
]]></description><guid isPermaLink="false">3775</guid><pubDate>Thu, 26 Sep 2024 22:20:54 +0000</pubDate></item><item><title>write tuning-cents into omn / extract them</title><link>https://opusmodus.com/forums/topic/1138-write-tuning-cents-into-omn-extract-them/</link><description><![CDATA[<p>
	with these functions you could write your CENTS for tuning directly into OMN-attributes, and extract it afterwards
</p>

<p>
	 
</p>

<p>
	1. generate by <strong><span style="font-family:Courier New,Courier,monospace;">add-cents-tuning-to-text-atrributes</span></strong> the cent values into text-attributes (only one time), you could decide if it will be shown in the score "as CENTS or as FLOAT"
</p>

<p>
	2. now you could write your CENTS for tuning into OMN-attributes like <strong><em>50ct, -34ct</em></strong> ...also in combination with other text-attributes<em> <strong>legno+50ct, pizz+-65ct, -45ct+batt</strong></em>
</p>

<p>
	3. you could EXTRACT afterwards your LIST for TUNING directly from OMN by   <strong><span style="font-family:Courier New,Courier,monospace;">get-tuning-from-omn*.</span></strong>if an EVENT has no cent-attribute it will be unchangend (= 0 cents)
</p>

<p>
	 
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted" id="ips_uid_8752_5" style="">
<span class="pln">;;; -------------------------------------------------------------------------------------------------------------------
;;; -------------------------------------------------------------------------------------------------------------------
;;; this function adds CENTS or FLOATS to text-attributes, in this way you can notate 
;;; - have a look how it's written in the score -&gt; all combinations of attributes possible
;;; -------------------------------------------------------------------------------------------------------------------
;;; -------------------------------------------------------------------------------------------------------------------


(defun add-cents-tuning-to-text-atrributes (&amp;key (centlist nil) (type nil))
  (loop for i in (loop for x in (if (null centlist)
                                  (append (loop for i from 0 upto 99 collect i) (loop for i from 1 upto 99 collect (neg! i)))
                                  centlist)
                   collect (compress (list x 'ct)))
    append (add-text-attributes (list i (write-to-string (if (equal type :float) 
                                                           (float (/ (append (compress (if (equal (car (explode i)) '-)
                                                                                         (if (= (length (explode i)) 5)
                                                                                           (filter-first 3 (explode i))
                                                                                           (filter-first 2 (explode i)))
                                                                                         (if (= (length (explode i)) 4)
                                                                                           (filter-first 2 (explode i))
                                                                                           (filter-first 1 (explode i)))
                                                                                         ))) 100))
                                                           i))))))




;;; EXAMPLES

(add-cents-tuning-to-text-atrributes :type :float)
;; have a look to notation: cmd3
(-q -q  e c4 fff q c4 mf 50ct e c4 mf -40ct e c5 ff)


(add-cents-tuning-to-text-atrributes :type :cents) ;; cents are written
;; have a look to notation: cmd3
(-q -q  e c4 fff q c4 mf 50ct e c4 mf -40ct e c5 ff)



;;; -------------------------------------------------------------------------------------------------------------------
;;; -------------------------------------------------------------------------------------------------------------------
;;; this function get out all notated microtones for TUNING ;;; if there is nothing written it will be 0 cents (0)
;;; you can combine all kinds of attributes
;;; -------------------------------------------------------------------------------------------------------------------
;;; -------------------------------------------------------------------------------------------------------------------

(defun memberp (n liste)
  (not (equal 'nil (member n liste))))

(defun find-duplicates (lst)
  (cond ((null lst) '())
        ((member (car lst) (cdr lst)) (cons (car lst) (find-duplicates (cdr lst))))
        (t (find-duplicates (cdr lst)))))


(defun get-tuning-from-omn* (omnlist centlist)
  (loop for i in (single-events (length-rest-remove omnlist))
    with n = 0
    when (not (null (find-duplicates (append (disjoin-attributes (car (last i))) centlist))))
    do (setf n  (float (/ (append (compress 
                                   (remove-if-not #'numberp (explode (car 
                                                                      (find-duplicates 
                                                                       (append (disjoin-attributes (car (last i)))
                                                                               centlist))))))) 
                          100)))

    and collect (if (equal (car (explode (car (find-duplicates  (append (disjoin-attributes (car (last i))) 
                                                                        centlist)))))
                           '-)
                  (* -1 n)
                  n)

    else collect 0))





;;; EXAMPLES

(setf centlist (add-cents-tuning-to-text-atrributes :type :float))

;;; evaluate this and you will get the tuning-list with all combinations of attributes
(get-tuning-from-omn* '(-q -q  e c4 fff q c4 mf legno+50ct+num1 e c4 mf -50ct+legno+batt e c5 ff pizz+-34ct) centlist)
=&gt; (0 0.5 0.5 -0.34)

(get-tuning-from-omn* '(-q -q  e c4 fff -34ct+pizz q c4 mf legno+50ct e c4 mf -50ct+legno+batt e c5 ff pizz+-34ct) centlist)
=&gt; (-0.34 0.5 -0.5 -0.34)

(get-tuning-from-omn* '(-q -q  e c4 fff -34ct+pizz+num11 q c4 mf legno+50ct e c4 mf -50ct+legno+batt e c5 ff pizz+-34ct) centlist)
=&gt; (-0.34 0.5 -0.5 -0.34)



;;; cmd3 for LAYOUT/SCORE
(-q -q  e c4 fff -34ct+pizz+num11 q c4 mf legno+50ct e c4 mf -50ct+legno+batt e c5 ff pizz+-34ct)
(-q -q  e c4 fff q c4 mf legno+50ct+num1 e c4 mf -50ct+legno+batt+num2 e c5 ff pizz+legno+-34ct)</span></pre>

<p>
	 
</p>]]></description><guid isPermaLink="false">1138</guid><pubDate>Fri, 19 Oct 2018 20:11:56 +0000</pubDate></item><item><title>Piano score and stems</title><link>https://opusmodus.com/forums/topic/3750-piano-score-and-stems/</link><description><![CDATA[<p>
	Greetings:
</p>

<p>
	 
</p>

<p>
	I have the following as output from an algorithm.<br>
	<br>
	Can anyone help put me in the right direction for combining these two voices into a more legible format?  There are two OMN lists - two voices.  One is "delayed" by 5s from the other and is in 16th notes while the lead voice is in 32nd notes.<br>
	<br>
	Any suggestion would be appreciated.
</p>

<p>
	 
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="3821" width="1385" alt="image.png.7579a7a26295ddf9f65bfbf865bcdec1.png" src="https://opusmodus.com/forums/uploads/monthly_2024_08/image.png.7579a7a26295ddf9f65bfbf865bcdec1.png" loading="lazy" height="263.15">
</p>
]]></description><guid isPermaLink="false">3750</guid><pubDate>Fri, 23 Aug 2024 22:30:12 +0000</pubDate></item><item><title>Multiple gen-dynamic-controller functions under :cc in ps function?</title><link>https://opusmodus.com/forums/topic/3739-multiple-gen-dynamic-controller-functions-under-cc-in-ps-function/</link><description><![CDATA[<p>
	I'm trying to embed two separate :cc controllers using the gen-dynamic-controller function into a ps function. Basically, I want to be able to use the velocity-dynamics of a sequence to control both dynamics on cc1 and vibrato on cc21 simultaneously so that dynamic and vibrato are linked together. 
</p>

<p>
	 
</p>

<p>
	I'm not sure whether running the two inside (list sequence :cc) form in ps works? The code doesn't throw an error but doesn't work properly only the second :cc seems to work. If not possible within ps, how would one do this within def-score? I presume that it's possible to generate multiple :cc controls within a def-score. Ideally, I'd like to be able to use ps as this is great for sketching ideas quickly.
</p>

<p>
	 
</p>

<p>
	Here's the simple example I'm working on. As noted, the code doesn't throw an error - which is why I think it might be possible - but the first :cc 1 controller is not working on the VI, only the second :cc 21 controller is working.
</p>

<p>
	 
</p>

<p>
	(ps 'r-ens<br />
	:sf-vn1a (list (ambitus 'violin genner-vel) <br />
	:cc '(1 (gen-dynamic-controller genner-vel :scale '(0.5 0.6 0.7) :loop t)) <br />
	:cc '(21 (gen-dynamic-controller genner-vel :scale '(0.5 0.6 0.7) :loop t)))<br />
	:time-signature '(3 2)<br />
	:tempo 110)
</p>

<p>
	 
</p>

<p>
	Any ideas, advice? What am I missing?
</p>

<p>
	 
</p>

<p>
	Many thanks
</p>

<p>
	 
</p>

<p>
	Andrew
</p>
]]></description><guid isPermaLink="false">3739</guid><pubDate>Thu, 08 Aug 2024 17:36:03 +0000</pubDate></item><item><title>Displaying Tuplets</title><link>https://opusmodus.com/forums/topic/2930-displaying-tuplets/</link><description><![CDATA[<p>
	Dear community,
</p>

<p>
	I think I found a problem with displaying certain tuplets. If I write the following sequence of ratios, it can#t be displayed properly
</p>

<p>
	'(-3w 9w = = -3w)
</p>

<p>
	In the notation viewer, the time-signature is always 1/3+1/3+1/3, and I didn't a way to change it to 4/4.
</p>

<p>
	I tried also to write '(-9w - - = = = - - -), but it's being shortened automaticly.
</p>

<p>
	I'm sure it's related to the rounding of the floating values:
</p>

<p>
	'(3w = = ) --&gt; sum of floatingvalues: 3.9989999 | displayed properly with 4/4
</p>

<p>
	'(-3w 9w = = -3w) --&gt; sum of floatingvalues: 3.998 | displayed wrong.
</p>

<p>
	Anyone, who knows to switch of either the rounding or the shortening of fractions?
</p>

<p>
	greetings, gustav
</p>
]]></description><guid isPermaLink="false">2930</guid><pubDate>Sat, 27 May 2023 06:58:42 +0000</pubDate></item><item><title>Easiest way to add click track / Metronome in OM</title><link>https://opusmodus.com/forums/topic/1025-easiest-way-to-add-click-track-metronome-in-om/</link><description><![CDATA[<p>
	Hi Everyone,<br><br>
	I was just wondering what the easiest way would be to audition my score with a click track, something I've found to be helpful for slower scores with long note values/slurs.<br>
	I'm guessing I should make a function for that using setf, any recommendations or best approaches?<br><br>
	- Jor
</p>]]></description><guid isPermaLink="false">1025</guid><pubDate>Wed, 28 Mar 2018 14:41:33 +0000</pubDate></item><item><title>different notation</title><link>https://opusmodus.com/forums/topic/3714-different-notation/</link><description><![CDATA[<p>
	Hi,
</p>

<p>
	could someone help me
</p>

<p>
	here's a blues;-)
</p>

<p>
	 
</p>

<p>
	(setf blues '((-e e a5 -e e fs5 g5 e5 d5 bs4)(3e cs5 3e d5 3e cs5 e b4 q as4 tie e as4 fs4 3e cs5 d5 cs5 e a4)(e b4 cs5 d5 e5 fs5 e5 d5 cs5)(e c5 e4 g4 b4 bb4 fs4 d4 c4)(q b3 -q 3e a4 3e bb4 3e a4 e fs4 e g4 a4)(e bb4 b4 c5 cs5 d5 bb4 g4 es4)(e fs4 a4 3q b4 cs5 e5 e cs5 d5 fs5 a5)(e bb5 s a5 ab5 e g5 eb5 c5 ab4 g4 f4)(e e4 g4 b4 d5 b4 bs4 cs5 a4)(e b4 g4 e4 a4 fs4 g4 b4 d5)(e fs5 f5 cs5 a4 q d5 -e e cs5)(e c5 d5 e5 g5 bb5 3e g5 3e f5 3e d5 e c5 g4)))
</p>

<p>
	 
</p>

<p>
	;;; transpose loop is ok<br>
	(setf looptrans (loop for i in '(0 5) <br>
	      append (pitch-transpose i blues)))
</p>

<p>
	 
</p>

<p>
	;;;main task applied to all measurements with notation error bar 2-7-12-14-19-24<br>
	(setf loopbars   (loop for bar in looptrans collect ;;or append<br>
	               (list (filter-repeat 1 (rnd-order (first (gen-divide 4 bar))<br>
	               :type :pitch :seed 3) :type :pitch) <br>
	               (filter-repeat 1 (rnd-order (second (gen-divide 4 bar))<br>
	               :type :pitch :seed 3) :type :pitch))))
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="3731" width="769" alt="image.png.d73d96daa73e02038752f96ed2f695bc.png" src="https://opusmodus.com/forums/uploads/monthly_2024_07/image.png.d73d96daa73e02038752f96ed2f695bc.png" loading="lazy" height="661.34">
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">3714</guid><pubDate>Tue, 16 Jul 2024 14:57:16 +0000</pubDate></item><item><title>Chord Symbols</title><link>https://opusmodus.com/forums/topic/3561-chord-symbols/</link><description><![CDATA[<p>
	Hello, 
</p>

<p>
	 
</p>

<p>
	I did some text attributes for displaying chord symbols but when I use the make-omn, I don´t know how to retrieve the chord symbols.
</p>

<p>
	 
</p>

<p>
	I´d like to use this for a a lesson. The display of chords is good, but I need also to chaneg the chord lengths to create some examples. The ideia is to create automatic harmonizations using pre-defined voicings.
</p>

<p>
	 
</p>

<p>
	 I know that I filtered out the attributes in the make-omn expression below, but how can I retrieve the chord symbols and change the lengths ?
</p>

<p>
	 
</p>

<p>
	Thanks for the help !
</p>

<p>
	Best,
</p>

<p>
	Julio
</p>

<p>
	 
</p>

<p>
	Here is the code
</p>

<p>
	 
</p>

<p>
	(add-text-attributes<br>
	 '(Am7 "Am7")<br>
	 '(C6 "C6")<br>
	 '(E7b9 "E7b9")<br>
	 '(Gsdim7 "G#o")<br>
	 '(G7 "G7")<br>
	 '(G7-13 "G7(13)")<br>
	 '(Cs7s9 "C#7(#9)")<br>
	 '(Bhd "Bm7b5")<br>
	 '(Dm7 "Dm7")<br>
	 '(Fmaj7 "Fmaj7")<br>
	 '(G74b9 "G7,4(b9)") <br>
	)
</p>

<p>
	(setf C-chords '((w a2g3c4e4 am7) (w c3a3e4g4 c6) (w e3gs3d4f4 e7b9) (w gs2f3b3d4 gsdim7) (w g2f3b3e4 g7-13) (w cs3f3b3e4 cs7s9) (w b2f3a3d4 bhd) (w d3a3c4f4 dm7) (w f3c4e4a4 fmaj7)))
</p>

<p>
	 
</p>

<p>
	;; I know that I filtered out the attributes in the expression below, but how can I retrieve the chord symbols and change the lengths ?
</p>

<p>
	 
</p>

<p>
	(make-omn <br>
	:pitch (omn :pitch C-chords)<br>
	:length '((e e e eh) (h w))<br>
	:span :length<br>
	)
</p>
<p>
	 
</p>

<p>
	CHORD SYMBLOS BEFORE<img class="ipsImage ipsImage_thumbnailed" data-fileid="3696" width="743" alt="image.png.f5ef99a5f73f5943a56689d4e5a7a2d5.png" src="https://opusmodus.com/forums/uploads/monthly_2024_04/image.png.f5ef99a5f73f5943a56689d4e5a7a2d5.png" loading="lazy" height="148.6">
</p>

<p>
	Looks good !
</p>
]]></description><guid isPermaLink="false">3561</guid><pubDate>Tue, 30 Apr 2024 00:32:02 +0000</pubDate></item><item><title>Text above bar?</title><link>https://opusmodus.com/forums/topic/3705-text-above-bar/</link><description><![CDATA[<p>
	I'd like to put arbitrary text over each bar for an exercise I'm doing.  Is there a way to have that appear in the notation?  
</p>
]]></description><guid isPermaLink="false">3705</guid><pubDate>Sat, 06 Jul 2024 13:31:45 +0000</pubDate></item><item><title>triplet with different lengths</title><link>https://opusmodus.com/forums/topic/3282-triplet-with-different-lengths/</link><description><![CDATA[<p>
	is it possible to write a dotted quaver followed by a semiquaver and a quaver in a triplet please? 
</p>
]]></description><guid isPermaLink="false">3282</guid><pubDate>Fri, 08 Mar 2024 11:33:21 +0000</pubDate></item></channel></rss>
