[jmsl] Articulation request
jmsl at music.columbia.edu
jmsl at music.columbia.edu
Sun Jul 13 15:55:55 EDT 2008
Hi Nick,
Does this have any relevance for MaxScore as well? Would be nice!
Best,
Georg
***************************************************
Phone:
+49-40-428482-763 (w)
+49-40-23517610 (h)
+49-172-787-4214 (m)
+49-40-428482-770 (f)
e-mail: georg.hajdu at hfmt-hamburg.de
e-mail: georghajdu at mac.com
http://www.georghajdu.de/index.html
http://www.quintet.net/
http://mmm.hfmt-hamburg.de
****************************************************
On Jul 13, 2008, at 9:14 PM, jmsl at music.columbia.edu wrote:
> Hi Peter
>
> Looks like we can use UserBeans as a convenient place to put these
> NoteOrnament objects. UserBeans already save and load properly to/
> from a Score file. At render time, I can have NoteRenderer iterate
> through the Note's UserBeans, check if they are subclasses of
> NoteOrnament and if so, call its draw() method. Note that the draw()
> method is passed the zoom so your drawing can scale up and down.
>
> The abstract superclass already has an x and y offset which can be
> used to position the ornament relative to the note.
>
> Here's an example of a NoteOrnament that draws an oval below a Note.
>
> public class DrippyNoteOrnament extends NoteOrnament {
>
> public DrippyNoteOrnament() {
> setName("DrippyNoteOrnament");
> }
>
> public void draw(Graphics g, double zoom, Note n) {
> int x = n.getDrawingAnchor().x + (int) (getXoffset() * zoom);
> int y = n.getDrawingAnchor().y + (int) (getYoffset() * zoom);
> g.setColor(Color.blue);
> g.drawOval(x, y, (int) (10 * zoom), (int) (80 * zoom));
> g.setColor(Color.black);
> }
>
> }
>
>
> Programmatically you can assign it to a Note like this:
> DrippyNoteOrnament drippyNoteOrnament = new DrippyNoteOrnament();
> drippyNoteOrnament.setYoffset(12);
> note.addUserBean(drippyNoteOrnament);
>
> I am writing the plug-in scanner so that NoteOrnaments will show up
> in a hierarchical menu like other plug-ins.
>
> More soon
> Nick
>
> jmsl at music.columbia.edu wrote:
>> Hi Peter
>>
>> jmsl at music.columbia.edu wrote:
>>> - What about the possibility of multiple marks on a single
>>> note? (for example, a note with an accent, a fermata and a breath
>>> mark) Otherwise, to get around this, it's a question of
>>> generating combinations of marks.
>> I think the idea might be that a Note would have a Vector of custom
>> mark/ornament classes. It would iterate through and each would draw
>> itself. So you could have both a squiggle and a twiddle on one note.
>>> - Would it be possible for the definitions of the marks
>>> themselves to contain information on how they were to ornament a
>>> note? (and that that is called from within getPerformanceData() )
>> Hmmm... maybe we could use DataTranslator here and avoid adding yet
>> another new class.
>>>
>>> One other custom drawing thing that could be very, very cool: the
>>> ability to do things like breakpoint functions on the score. This
>>> wouldn't export to SCORE, etc. but would be really fantastic as a
>>> compositional tool. It also gets around the paradigm of all
>>> events being attached to notes. I can imagine a lot of things
>>> with CC messages, etc. that happen over the course of a note, and
>>> this seems like an interesting idea that might be possible with a
>>> custom score renderer?
>> Not exactly sure what you mean here. You mean continuous control of
>> musical stuff during Score playback? Like a Note being played and
>> spawning a MusicJob that does some arbitrary updates on its data?
>> You could do that now with PlayLurkers. Check out http://www.punosmusic.com/pages/sabbathbride/sabbathbride.html
>>>
>>> I'm definitely hoping to make JMSL my main compositional software,
>>> though I'll probably continue to use Finale, etc. for publishing.
>>> The more that JMSL can express, the more powerful it becomes,
>>> though I definitely agree with limiting layout and positioning
>>> overhead.
>> JMSL has made important advances from your use of it; your feedback
>> and your suggestions.
>>
>> Thanks
>> Nick
>> _______________________________________________
>> jmsl mailing list
>> jmsl at music.columbia.edu
>> http://music.columbia.edu/mailman/listinfo/jmsl
> _______________________________________________
> jmsl mailing list
> jmsl at music.columbia.edu
> http://music.columbia.edu/mailman/listinfo/jmsl
More information about the jmsl
mailing list