[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