Jump to content

Featured Replies

Posted

Hi there, I have created two separate musical examples that are stored in variables. I would now like to def-score and have each example render separately on its own system, with an end bar line. Each one only has a treble clef.

How can I do that?

Most importantly: where in the documentation can I find how to do that?

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 make-system, which I can't tell if that's even a thing. It has never been mentioned on this forum.

  • Author

Yes, I've looked in there and haven't found anything like what I'm talking about.

Say I have these definitions:

(setq example-1 '(q c4 d4 e4))
(setq example-2 '(q a4 g4 f4))

I now want to make a score that shows each of those lines on a separate system with an end bar, as in the example image. How do I do that?

image.png

(setq example-1 '(q c4 d4 e4))
(setq example-2 '(q a4 g4 f4))

(def-score arpeggiated-chords-1
    (:key-signature 'chromatic
     :time-signature (get-time-signature example-1)
     :tempo 60)
  
  (in1 :omn example-1
      :channel 1
      :sound 'gm
      :program 'acoustic-grand-piano)
  
  (in2 :omn example-2)
  )

Just play with the scores in the How-to or Score Examples directory :-)

  • Author

Sorry for not being more clear. These are separate examples to be played on a single instrument. The code snippet you shared with me defines two instrument and plays them simultaneously.

In other words: I have two bars of music played by a single instrument. When rendering to MusicXML, I want each bar to be rendered on its own system, with an end bar line.

(Each example is longer than a single measure, I'm just sharing a simple example).

  • Author

I am asking for how to do the equivalent of:

'(q c4 d4 e4 :sysbreak a4 g4 f4)

I just don't know what :sysbreak actually is in Opusmodus.

I hope the answer is really not to hire someone for that info.

  • Author

I had attempted using GPT because I was unable to find the pertinent info in OMN the Language or function documentation. Anyway, GPT is out.

Here is the notation produced by what you shared:

image.png

The music information all renders in a single system.

My question is not how to define separate measures. It's how to make measure 1 appear on a system with an end bar line. Then measure 2 should appear on a separate system with its own end bar line.


I'm able to get an end bar line with '((q c4 d4 e4 bl-lh) (q a4 g4 f4))). Now the remaining question is how to split them up across separate systems?

I currently have:

image.png

and what I want is:

image.png

(setq example-1 '(q c4 d4 e4))
(setq example-2 '(q a4 g4 f4))

(def-score arpeggiated-chords-1
    (:key-signature 'chromatic
     :time-signature (get-time-signature example-1)
     :tempo 60
     :layout (bracket-group
              (treble-layout 'in1)
              (treble-layout 'in2)))
  
  (in1 :omn example-1
      :channel 1
      :sound 'gm
      :program 'acoustic-grand-piano)
  
  (in2 :omn example-2)
  )
  • Author

I don't know if I'm being unclear, but we seem to be going around in circles. That example is nearly the same thing you showed before, and I've explained why it is incorrect.

I do not want two instruments. I do not want the two examples to play simultaneously.

I want a single instrument. I want 6 notes. I want the first three notes to appear on one system on the page. I want the second three notes to appear on the next system.


For reference, I am referring to the <print new-system="yes"> MusicXML element.

The stages and documentation are essential.

You can do system breaks at a later stage, when preparing the score for publishing in your favorite engraving software, like Musescore, Sibelius, Dorico, Finale (RIP), etc.

Create an account or sign in to comment


Copyright © 2014-2025 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