From robcanning at eircom.net Wed May 16 14:55:32 2007 From: robcanning at eircom.net (rob canning) Date: Wed, 16 May 2007 14:55:32 +0000 Subject: [fomus-devel] :harpsichord In-Reply-To: <4633B366.8090900@uiuc.edu> References: <4633A1A6.8020508@eircom.net> <4633B366.8090900@uiuc.edu> Message-ID: <464B1B64.4090606@eircom.net> hi, in the mean time how do i create an :instrument ? is there a file full of all the definitions somewhere i can't add to? i need to create an instrument that jumps between bass and treble clef on one stave - most instruments i have tried so far go into tenor or alto clef on the way also with :force-staff it would be nice to be able to change this "on the fly" like :timesig so that for example four bars of harpsichord or piano could be cross-stave single voice and then four bars could be two part staff-forced. thanks rob David Psenicka wrote: > I've had a "force-staff" mark on the TODO list for a while--I think this > should solve your problem and should be quick to implement--update will > come shortly -DP > > rob canning wrote: > >> hi >> >> i am writing a piece for a harpsichord with two manuals >> >> part 1 :name "harpsichord" :abbrev "hpschd." :instr :harpsichord; >> >> what is the best way to do this - atm i am sending :voice 1 and :voice >> 2 to send the two different parts to the two different manuals >> >> both manuals start in bass clef and both climb in to treble clef - >> >> the problem is the bottom stave stays in bass clef and the music jumps >> into the manual 1 part. >> >> i would like to be able to switch between single line cross-stave >> writing and two part writing. >> >> so to summarise... i want to lock voice two to stave two of >> :harpsichord and have it so it changes into treble clef where necessary. >> >> anyone know how to do this? >> >> thanks >> >> rob >> >> once again... >> many thanks for fomus i am finding it incredibly useful :) >> very soon i hope to become very prolific ;) >> >> _______________________________________________ >> fomus-devel mailing list >> fomus-devel at common-lisp.net >> http://common-lisp.net/cgi-bin/mailman/listinfo/fomus-devel >> >> > _______________________________________________ > fomus-devel mailing list > fomus-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/fomus-devel > > > From dpsenick at uiuc.edu Wed May 23 21:18:22 2007 From: dpsenick at uiuc.edu (David Psenicka) Date: Wed, 23 May 2007 16:18:22 -0500 Subject: [fomus-devel] :harpsichord In-Reply-To: <464B1B64.4090606@eircom.net> References: <4633A1A6.8020508@eircom.net> <4633B366.8090900@uiuc.edu> <464B1B64.4090606@eircom.net> Message-ID: <4654AF9E.2070407@uiuc.edu> Sorry for the long delay!--You can do this when you specify an instrument for a part (this would go in the input file): PART 1 :name "Harpsichord" :instr (:harpsichord :staves 1 :clefs (:treble :bass)) the (:treble :bass) is unnecessary because it's the default for that instrument anyways (those are the possible clefs for that instrument)--the :staves 1 modifies it so there's only one staff You can also put in a line like this: INIT :instruments ((MAKE-INSTR :myinst :clefs (:treble :bass) :staves 2 :minp nil :maxp nil :simultlim nil :tpose 0 :cleflegls 2 :8uplegls nil :8dnlegls nil :percs nil :midiprgch-im nil :midiprgch-ex nil)) which defines an instrument with ID :myinst that's added to the predefined list (those are all of the options, you probably only need to specify :clefs and :staves). Also, you can put something like this in a file named .fomus in your home directory: :instruments (list (make-instr :myinst :clefs '(:treble :bass) :staves 2 :minp nil :maxp nil :simultlim nil :tpose 0 :cleflegls 2 :8uplegls nil :8dnlegls nil :percs nil :midiprgch-im nil :midiprgch-ex nil)) This adds :myinst to the predefined list everytime fomus loads (also you can override existing instrument by using the same ID--if you call it :harpsichord it will override the existing :harpsichord)--you can put as many (make-instr ...) calls inside the enclosing (list ...) The development branch has an almost working :staff mark (you use it by specifying (:staff 1) in each note or (:startstaff- 1) then :endstaff- over a range of notes)--it's "almost" working because it's still stubborn about certain things (like when only one or two notes cross staves)... but at any rate the :staff mark should be usable at this point rob canning wrote: > hi, > > in the mean time how do i create an :instrument ? is there a file full > of all the definitions somewhere i can't add to? > > i need to create an instrument that jumps between bass and treble clef > on one stave - most instruments i have tried so far go into tenor or > alto clef on the way > > also with :force-staff it would be nice to be able to change this "on > the fly" like :timesig > so that for example four bars of harpsichord or piano could be > cross-stave single voice and then four bars could be two part > staff-forced. > > thanks > > rob > > > David Psenicka wrote: >> I've had a "force-staff" mark on the TODO list for a while--I think this >> should solve your problem and should be quick to implement--update will >> come shortly -DP >> >> rob canning wrote: >> >>> hi >>> >>> i am writing a piece for a harpsichord with two manuals >>> >>> part 1 :name "harpsichord" :abbrev "hpschd." :instr :harpsichord; >>> >>> what is the best way to do this - atm i am sending :voice 1 and :voice >>> 2 to send the two different parts to the two different manuals >>> >>> both manuals start in bass clef and both climb in to treble clef - >>> >>> the problem is the bottom stave stays in bass clef and the music jumps >>> into the manual 1 part. >>> >>> i would like to be able to switch between single line cross-stave >>> writing and two part writing. >>> >>> so to summarise... i want to lock voice two to stave two of >>> :harpsichord and have it so it changes into treble clef where >>> necessary. >>> >>> anyone know how to do this? >>> >>> thanks >>> >>> rob >>> >>> once again... >>> many thanks for fomus i am finding it incredibly useful :) >>> very soon i hope to become very prolific ;) >>> >>> _______________________________________________ >>> fomus-devel mailing list >>> fomus-devel at common-lisp.net >>> http://common-lisp.net/cgi-bin/mailman/listinfo/fomus-devel >>> >>> >> _______________________________________________ >> fomus-devel mailing list >> fomus-devel at common-lisp.net >> http://common-lisp.net/cgi-bin/mailman/listinfo/fomus-devel >> >> >> > > From dpsenick at uiuc.edu Fri May 25 05:30:32 2007 From: dpsenick at uiuc.edu (David Psenicka) Date: Fri, 25 May 2007 00:30:32 -0500 Subject: [fomus-devel] v0.2.26 In-Reply-To: <4654AF9E.2070407@uiuc.edu> References: <4633A1A6.8020508@eircom.net> <4633B366.8090900@uiuc.edu> <464B1B64.4090606@eircom.net> <4654AF9E.2070407@uiuc.edu> Message-ID: <46567478.7090303@uiuc.edu> v0.2.26 Improvements to spanners Some documentation that can be called up by the Lisp DOCUMENTATION function :STAFF, :STARTSTAFF-, :STAFF-, :ENDSTAFF- marks to override staff choices