[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal for selective ties in chords.
From: |
Heikki Johannes Junes |
Subject: |
Re: Proposal for selective ties in chords. |
Date: |
Fri, 3 May 2002 17:34:52 +0300 (EET DST) |
On Fri, 3 May 2002, Han-Wen Nienhuys wrote:
> how would you distinguish between
>
> c~ c
>
> and
>
> c ~c
>
or between
c~ ~c
and
c ~ c
The idea was to use a directed bound with '~'-marks: tie either the object
in the left side or the object in the right side. If situation is
symmetric, like in <x>~<y>, bind both the left and right directions.
Briefly:
"<x>~ <y>" = "bind object <x> to the object <y> on the right side"
"<x> ~<y>" = "bind object <y> to the object <x> on the left side"
The following are equivalent (concurrent bounds just add up):
"<x>~<y>" = "bind object <x> to the object <y> on the right side" &
"bind object <y> to the object <x> on the left side"
= "<x>~ <y>" & "<x> ~<y>"
= "<x> ~ <y>"
Simple examples:
Let us consider the following chords:
<a c> <a c e> <c e> % separate chords
They can be bound by using the following (excellent) notation:
<a c>~<a c e>~<c e> % bind all possible notes between the two chords
Examples of the proposed syntax:
If you want to bind only one note you would need
<a c~> <a c e> <~c e> % bind only c-notes
<a c> <a ~c~ e> <c e> % bind only c-notes
<a c~> <a ~c~ e> <~c e> % bind only c-notes (double '~'-marks)
<a~ c> <a c e> <c ~e> % bind other than c-notes
<a c> <~a c e~> <c e> % bind other than c-notes
<a~ c> <~a c e~> <c ~e> % bind other than c-notes (double '~'-marks)
Seems like there is no ambivalence. Take <a c~> <c d f>, for example, and
try to parse it in respect to '~':
~ % 1. check source objects from left and right
c~ % 2. check target objects from the other side
c~<c d f> % 3. check whether there is a match (on the other side)
c~c % 4. target found, end.
What about e <a c ~ e> <c e f>: (this is handled in two separate parts)
~ % 1. check source objects from left and right
c~ and ~e % 2. check target object from left and right
c~<c e f> and e~e % 3. check whether there is a match
c~c and e~e % 4. targets found, end.
What about <c e~> ~ <~e>: (this is a tricky example)
~ and ~ and ~ % 1.
e~ and <c e>~ and ~<e> and ~e % 2.
e~ and c~ and e~ and ~e and ~e % 2.
e~<e> and c~<e> and e~<e> and <c e>~e and <c e>~e % 3.
e~e and (null) and e~e and e~e and e~e % 3. (drop multiple)
e~e % 4.
That is all I can say. Ugh. ~I will return to my tepee.
--
Heikki Junes