+pl 4.jcn1
+ - junked some chord guessing code
+ - bf: lookup size (-1) for chord-name accidentals
+ - bf: ly2dvi's MFINPUTS setting
+
pl 2.jcn3
- chords:
* Chord is item
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=4
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
% test German (Banter) naming
% for more conventional naming, comment scm stuff out
+% urg,
+% this shows a serious shortcoming with our guile approach:
+% we can't (easily) display banter/non banter chords alongside
+% eachother. These guile lists are fixed in the guile environment
+% when this file has been parsed...
+
% {
#(set! pitch-names-alist
(append
Molecule mol = lookup_l ()->text ("", p.str ().left_str (1).upper_str (), paper_l ());
if (p.accidental_i_)
- // urg, how to select the feta-1 font?
mol.add_at_edge (X_AXIS, RIGHT,
- lookup_l ()->accidental (p.accidental_i_, 0), 0);
+ paper_l ()->lookup_l (-2)->accidental (p.accidental_i_, 0), 0);
return mol;
}
int accidental = p.accidental_i_ - scale[(step - 1) % 7].accidental_i_;
if ((step < 16) && (has[step] != -1))
has[step] = accidental == -1 ? -1 : 1;
+ // only from guile table ?
if ((step == 3) && (accidental == -1))
{
mod_str = "m";
}
- /*
- urg.
- This routine gets a lot simpler, if we don't try to be catch
- the 'dim' chords. However, we'll have to list every exceptional
- 'dim' chord in scm: otherwise we'll get stuff like Cdim7-, iso
- Cdim7, etc
- */
-#ifdef SMART_DIM
- else if ((step == 5) && (accidental == -1) && (has[3] == -1))
- {
- mod_str = "dim";
- }
-#endif
else if (accidental
|| (!(step % 2)
|| ((i == add_arr.size () - 1) && (step > 5))))
add_str += "maj7";
}
else
-#ifdef SMART_DIM
{
- if ((step % 2) && (accidental == -1)
- && (has[3] == -1) && (has[5] == -1))
- {
- if (i != add_arr.size () - 1)
- sep_str = "";
- else
- add_str += to_str (step);
- }
- else
-#endif
- {
- add_str += to_str (step);
- if (accidental)
- add_str += accidental < 0 ? "-" : "+";
- }
-#ifdef SMART_DIM
+ add_str += to_str (step);
+ if (accidental)
+ add_str += accidental < 0 ? "-" : "+";
}
-#endif
}
}
}
}
-
+/*
+ This routine tries to guess tonic in a possibly inversed chord, ie
+ <e g c'> should produce: C.
+ This is only used for chords that are entered as simultaneous notes,
+ chords entered in \chord mode are fully defined.
+ */
int
Chord::find_tonic_i (Array<Musical_pitch> const* pitch_arr_p)
{
;((6 . 0) . ("H" ""))
;((6 . -1) . ("B" ("feta-1" . "\12")))
- ; urg, temp hack for accidental size: can't set from Chord::
- ((0 . 1) . ("C" ("feta-1" . "\10")))
- ((1 . 1) . ("D" ("feta-1" . "\10")))
- ((2 . 1) . ("E" ("feta-1" . "\10")))
- ((3 . 1) . ("F" ("feta-1" . "\10")))
- ((4 . 1) . ("G" ("feta-1" . "\10")))
- ((5 . 1) . ("A" ("feta-1" . "\10")))
- ((6 . 1) . ("B" ("feta-1" . "\10")))
-
- ((0 . -1) . ("C" ("feta-1" . "\12")))
- ((1 . -1) . ("D" ("feta-1" . "\12")))
- ((2 . -1) . ("E" ("feta-1" . "\12")))
- ((3 . -1) . ("F" ("feta-1" . "\12")))
- ((4 . -1) . ("G" ("feta-1" . "\12")))
- ((5 . -1) . ("A" ("feta-1" . "\12")))
- ((6 . -1) . ("B" ("feta-1" . "\12")))
+ ; C-p/C-r current feta chars for sharp/flat
+ ; don't use them: ly2dvi breaks (inputenc package)
+ ;((0 . 1) . ("C" ("feta-1" . "\10")))
+ ;((0 . -1) . ("C" ("feta-1" . "\12")))
)
pitch-names-alist))
t=''
if os.environ.has_key ('MFINPUTS'):
t = os.environ['MFINPUTS']
- os.environ['MFINPUTS'] = os.pathsep + t + \
+ os.environ['MFINPUTS'] = t + os.pathsep + \
os.path.join(this.get('root'), 'mf')
if os.environ.has_key('TMP'):