-1.3.38.jcn4
+1.3.38.hwn2
===========
- * stepmake/aclocal.m4: Added support for cross-compiling with guile.
-
-1.3.38.jcn3
-===========
-
- * CHANGES: when I'm in add-changelog-entry mode, which we seem to
- do now(?), I can't seem to get rid of the left margin (well,
- either that, or I can't fill-paragraph).
-
- * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
- dependency by using mingw. Compiling guile is too much to ask
- for mingw, though. Also:
- - rename python scripts .py (request from Alain)
- - install native packages under their own, separate root. (Alain)
-
- * lily.scm: Don't use regex module when running on
- Windows. (Shamus)
-
- * lily/staff-margin-engraver.cc (acknowledge_element): If
- possible, hang y-axis of margin script to span-bar. This fixes
- vertical placement of margin scripts attached to staff groups.
-
- * help2man-rules.make: Fixes for generating manpages by copying
- and for building using --scrdir.
-
- * stepmake/stepmake/generic-targets.make: Preserve date stamp of
- config.h, version.hh files file when copying.
-
-1.3.38.jcn2
+* General cleanups of My_lily_parser.
+
+* Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
+syntax.
+
+* Moved Score_element::do_space_processing out of the dependency
+mechanism.
+
+* Use Scheme for notename tables. Removed uppercase letters for low
+octave notes. Removed Notename_table.
+
+* Fixed core dump with declared "\key ; "
+
+* Extra robustness warning for Side_position_interface::aligned_on_self ()
+
+* Extra robustness: make sure that first and last columns are breakable.
+
+1.3.38.jcn4
===========
+* stepmake/aclocal.m4: Added support for cross-compiling with guile.
+
+* buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
+ dependency by using mingw. Compiling guile is too much to ask
+ for mingw, though. Also:
+ - rename python scripts .py (request from Alain)
+ - install native packages under their own, separate root. (Alain)
+
+* lily.scm: Don't use regex module when running on
+Windows. (Shamus)
+
+* lily/staff-margin-engraver.cc (acknowledge_element): If
+possible, hang y-axis of margin script to span-bar. This fixes
+vertical placement of margin scripts attached to staff groups.
+
+* help2man-rules.make: Fixes for generating manpages by copying
+and for building using --scrdir.
+
+* stepmake/stepmake/generic-targets.make: Preserve date stamp of
+config.h, version.hh files file when copying.
+
* buildscripts/make-cygwin-cross.sh: made number of fixes:
- add `Cygnus/' prefix to directories in .zip-file too.
- package guile too.
* stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
is not emty when uninstalling.
-1.3.38.jcn1
-===========
-
* stepmake/stepmake/generic-targets.make: added man target.
* buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
1.3.37.hwn1
===========
-* (generic-property.scm) added tieDash
+* (generic-property.scm) added \property tieDash to set dashing on
+ties.
* Removed ly_eval_str(), we should use scm_eval (Scm_object).
This breaks the fine looks of all dynamics, again :-)
+
+
1.3.33
======
Each dynamic is bound to one note (a crescendo spanning multiple
notes is thought to be made of two "dynamics": a start and a stop).
Dynamic changes can occur in a smaller time than the length of its
- note, therefore fore each @code{Dynamic} request carries a time, measured
+ note, therefore each @code{Dynamic} request carries a time, measured
from the start of its note.
@end table
Besides relative positions there are lots of other relations between
elements. Lilypond does not contain other specialized relation
-management (Like the relative positioning code). In stead, objects can
+management (Like the relative positioning code). Instead, objects can
be connected through dependencies, which sets the order in which objects
are to be processed.
An item is a score element that is associated with only one
-Paper_column. Examples are note heads, clefs, sup and superscripts, etc.
+Paper_column. Examples are note heads, clefs, super and superscripts, etc.
Item is a derived class of Score_element.
The shape of an item is known before the break calculations, and line
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=3
-PATCH_LEVEL=38
-MY_PATCH_LEVEL=jcn4
+PATCH_LEVEL=39
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
+ ## First, let's just see if we can find Guile at all.
+ echo $ac_n "checking "for guile-config"""... $ac_c" 1>&6
+echo "configure:2666: checking "for guile-config"" >&5
+ for guile_config in guile-config $build-guile-config; do
+ echo "$ac_t"""$guile_config"" 1>&6
+ if ! $guile_config --version > /dev/null 2>&1 ; then
+ echo "configure: warning: "cannot execute $guile_config"" 1>&2
+ echo $ac_n "checking "if we are cross compiling"""... $ac_c" 1>&6
+echo "configure:2672: checking "if we are cross compiling"" >&5
+ guile_config=error
+ else
+ break
+ fi
+ done
+ if test "$guile_config" = "error"; then
+ { echo "configure: error: "cannot find guile-config; is Guile installed?"" 1>&2; exit 1; }
+ exit 1
+ fi
+ if $guile_config --version 2>&1 | grep -q 'version 1\.012'; then
+
+ echo "configure: warning: Guile version 1.3 or better needed" 1>&2
+ warn_b=yes
+
+ fi
## The GUILE_FLAGS macro.
- ## First, let's just see if we can find Guile at all.
echo $ac_n "checking for Guile""... $ac_c" 1>&6
-echo "configure:2668: checking for Guile" >&5
- guile-config link > /dev/null || {
- echo "configure: cannot find guile-config; is Guile installed?" 1>&2
- exit 1
- }
+echo "configure:2691: checking for Guile" >&5
+ if ! $guile_config link > /dev/null ; then
+ echo "$ac_t"""cannot execute $guile_config"" 1>&6
+ { echo "configure: error: "cannot find guile-config; is Guile installed?"" 1>&2; exit 1; }
+ exit 1
+ fi
GUILE_CFLAGS="`guile-config compile`"
GUILE_LDFLAGS="`guile-config link`"
echo "$ac_t""yes" 1>&6
- if guile-config --version 2>&1 | grep -q 'version 1\.012'; then
-
- echo "configure: warning: Guile version 1.3 or better needed" 1>&2
- warn_b=yes
-
- fi
# Extract the first word of "guile", so it can be a program name with args.
set dummy guile; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2688: checking for $ac_word" >&5
+echo "configure:2706: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GUILE'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2726: checking for 8-bit clean memcmp" >&5
+echo "configure:2744: checking for 8-bit clean memcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
-#line 2734 "configure"
+#line 2752 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
}
EOF
-if { (eval echo configure:2747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_memcmp_clean=yes
else
test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2765: checking for vprintf" >&5
+echo "configure:2783: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2770 "configure"
+#line 2788 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
; return 0; }
EOF
-if { (eval echo configure:2796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2820: checking for _doprnt" >&5
+echo "configure:2838: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2825 "configure"
+#line 2843 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
; return 0; }
EOF
-if { (eval echo configure:2851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
for ac_func in memmem snprintf vsnprintf gettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2878: checking for $ac_func" >&5
+echo "configure:2896: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2883 "configure"
+#line 2901 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:2909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2948: checking for $ac_word" >&5
+echo "configure:2966: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2981: checking for $ac_word" >&5
+echo "configure:2999: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
\specialkey \keysignature f' fis'' g' gis'';
\time 2/2;
+ \key;
a4. b8 c4 fis |
gis~ gis8 fis16^\trill ()e b8 c \context Staff<{\voiceone a d}{\voicetwo es,4}>|
}
BC = \notes\relative c{
- \key D;
+ \key d;
\time 2/2;
\clef "bass";
+ \key;
b2. cis4 |
d e fis g |
}
\context Staff = pedal \relative c <
{
\time 4/4;
- \key E;
+ \key e;
\clef bass;
%13
for (int i=0; i < elts_.size (); i++)
{
Score_element *par = elts_[i]->parent_l (Y_AXIS);
+
if (!par || !Axis_group_interface (par).has_interface_b ())
Axis_group_interface (staffline_p_).add_element (elts_[i]);
}
SCM default_type = get_property ("defaultBarType");
if (gh_string_p (default_type))
{
- bar_p_->set_elt_property ("glyph", default_type); // gu.h
+ bar_p_->set_elt_property ("glyph", default_type); // ugh
}
#if 0
return f;
}
-
-
/*
TODO: Fix this class. This is wildly inefficient.
And it sux. Yet another array/list 'interface'.
SCM s = get_elt_property ("stems");
return gh_pair_p (s) ? dynamic_cast<Stem*> (unsmob_element (gh_car (s))) : 0;
-
- //Group_interface__extract_elements ((Beam*) this, (Stem*) 0, "stems")[stem_count () - 1];
}
/* burp */
--- /dev/null
+/*
+ chord-tremolo-iterator.cc -- implement Chord_tremolo_iterator
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+
+/*
+ this is culled from various other iterators, but sharing code by subclassing proved to be too difficult.
+ */
+
+#include "chord-tremolo-iterator.hh"
+#include "repeated-music.hh"
+
+void
+Chord_tremolo_iterator::construct_children ()
+{
+ Repeated_music const* rep = dynamic_cast<Repeated_music const*> (music_l_);
+ factor_ = Moment (1, rep->repeats_i_);
+ child_iter_p_ = get_iterator_p (rep->repeat_body_p_);
+}
+
+Chord_tremolo_iterator::Chord_tremolo_iterator()
+{
+ factor_ = 1;
+ child_iter_p_ = 0;
+}
+
+void
+Chord_tremolo_iterator::do_process_and_next (Moment m)
+{
+ if (!m)
+ {
+ Music_iterator *yeah = try_music (music_l_);
+ if (yeah)
+ set_translator (yeah->report_to_l ());
+ else
+ music_l_->warning ( _("no one to print a tremolos"));
+ }
+
+ child_iter_p_->process_and_next (factor_ * m);
+}
+
+
+Moment
+Chord_tremolo_iterator::next_moment () const
+{
+ return child_iter_p_->next_moment () / factor_;
+}
+
+bool
+Chord_tremolo_iterator::ok () const
+{
+ return child_iter_p_ && child_iter_p_->ok();
+}
+
+Chord_tremolo_iterator::~Chord_tremolo_iterator ()
+{
+ delete child_iter_p_;
+}
+
+Music_iterator*
+Chord_tremolo_iterator::try_music_in_children (Music const *m) const
+{
+ return child_iter_p_->try_music (m);
+}
+
+
+void
+Chord_tremolo_iterator::do_print () const
+{
+ child_iter_p_->print ();
+}
return t&& t->dur_.length_mom ()== dur_.length_mom () && metronome_i_ == t->metronome_i_;
}
-
-
-
void
Key_change_req::do_print () const
{
-#if 0
- key_->print();
-#endif
}
Key_change_req::Key_change_req ()
{
key_ = 0;
}
+
Key_change_req::Key_change_req (Key_change_req const&s)
: Request (s)
{
- key_ = new Key_def (*s.key_);
+ key_ = s.key_ ? new Key_def (*s.key_) : 0;
}
+
Key_change_req::~Key_change_req ()
{
delete key_;
}
-
Break_req::Break_req ()
{
}
(c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include <math.h>
+#include "warn.hh"
#include "dimension-cache.hh"
#include "parray.hh"
{
Offset_cache_callback c = me->off_callbacks_[0];
me->off_callbacks_.del (0);
- me->basic_offset_ += (*c) (me);
+ Real r = (*c) (me);
+ if (isinf (r) || isnan (r))
+ {
+ r = 0.0;
+ programming_error ("Infinity or NaN encountered");
+ }
+ me->basic_offset_ +=r;
}
return basic_offset_ + extra_offset_;
}
(c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+/*
+ JUNKTHIS!
+ */
#include <assert.h>
#include "midi-def.hh"
#include "debug.hh"
#include "request.hh"
#include "translator-group.hh"
-#include "notename-table.hh"
+
Identifier::Identifier (int code)
{
token_code_i_ = code;
accessed_b_ = 0;
- init_b_ = 0;
}
Identifier::Identifier (Identifier const&s)
{
token_code_i_ = s.token_code_i_;
accessed_b_ = s.accessed_b_;
- init_b_ = s.init_b_;
}
Identifier::~Identifier()
}
-DUMMY_STR(Notename_table);
DUMMY_STR(Translator_group);
DUMMY_STR(Music);
DUMMY_STR(Request);
STRING_PRINT(Real);
STRING_PRINT(int);
STRING_PRINT(String);
-STRING_PRINT(Notename_table);
#define DEFAULT_STR(Class) \
String \
IMPLEMENT_ID_CLASS(Request);
IMPLEMENT_ID_CLASS(Midi_def);
IMPLEMENT_ID_CLASS(Paper_def);
-IMPLEMENT_ID_CLASS(Notename_table);
VIRTUAL_ACCESSOR(Music);
VIRTUAL_ACCESSOR(Request);
VIRTUAL_ACCESSOR(Translator_group);
-DEFAULT_ACCESSOR(Notename_table);
DEFAULT_ACCESSOR(Duration);
DEFAULT_ACCESSOR(int);
DEFAULT_ACCESSOR(Real);
--- /dev/null
+/*
+ chord-tremolo-iterator.hh -- declare Chord_tremolo_iterator
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+#ifndef CHORD_TREMOLO_ITERATOR_HH
+#define CHORD_TREMOLO_ITERATOR_HH
+
+#include "music-iterator.hh"
+
+class Chord_tremolo_iterator : public Music_iterator
+{
+ Moment factor_;
+ Music_iterator * child_iter_p_;
+
+public:
+ Chord_tremolo_iterator ();
+
+protected:
+ virtual ~Chord_tremolo_iterator ();
+ virtual Moment next_moment () const;
+ virtual void construct_children () ;
+ virtual bool ok () const;
+ virtual void do_print () const;
+ virtual void do_process_and_next (Moment) ;
+ virtual Music_iterator *try_music_in_children (Music const *) const;
+};
+
+
+#endif /* CHORD_TREMOLO_ITERATOR_HH */
+
/// Logarithm of the base duration.
int durlog_i_;
int dots_i_;
+
+ /*
+ JUNKME.
+ */
int tuplet_iso_i_; // 2/3; 2 is not duration, maar of count!
int tuplet_type_i_;
#define DECLARE_TYPE_NAME(Class)
-class Notename_table_identifier;
class Translator_group_identifier;
class Music_identifier;
class Articulation_req_identifier;
void error (String) const;
String str () const;
IDACCESSOR(Translator_group)
- IDACCESSOR(Notename_table)
IDACCESSOR(Music)
IDACCESSOR(Midi_def)
IDACCESSOR(Paper_def)
DECLARE_ID_CLASS(Translator_group);
DECLARE_ID_CLASS(Duration);
-DECLARE_ID_CLASS(Notename_table);
DECLARE_ID_CLASS(Real);
DECLARE_ID_CLASS(String);
DECLARE_ID_CLASS(General_script_def);
class Line_of_score : public Spanner
{
public:
-
-
/*
imported the following from Super_element
tracker. Every XXXX_processing () call traverses the entire
dependency graph, and calls the appropriate
Score_element::do_XXX_processing function on each Score_element it encounters.
+ */
-
- FIXME: remove this class, to eliminate multiple inheritance. Merge
- with Line_of_score ? */
- void space_processing ();
- void pre_processing();
- void breakable_col_processing();
void post_processing();
void output_all ();
struct Musical_pitch : public Input
{
Musical_pitch (int notename=0, int accidental=0, int octave=0);
+
+ /// construct from '(octave name acc)
Musical_pitch (SCM);
/// 0 is c, 6 is b
int notename_i_;
+
/// 0 natural, 1 sharp, etc
int accidental_i_;
+
/// 0 is central c
int octave_i_;
#include "includable-lexer.hh"
#include "duration.hh"
#include "musical-pitch.hh"
+#include "protected-scm.hh"
bool busy_parsing();
void kill_lexer();
Scope * toplevel_scope_p_;
bool main_input_b_;
- Notename_table *chordmodifier_tab_p_;
- Notename_table *note_tab_p_;
+ /*
+ Scheme hash tables with (oct name acc) values, and symbol keys
+ */
+ Protected_scm chordmodifier_tab_;
+ Protected_scm pitchname_tab_;
+
Link_array<Scope> scope_l_arr_;
Keyword_table * keytable_p_;
int errorlevel_i_;
void set_chordmodifier_table (Notename_table*tab_p);
void set_notename_table (Notename_table*tab_p);
Identifier*lookup_identifier (String s);
- Musical_pitch lookup_notename (String s);
- Musical_pitch lookup_chordmodifier (String s);
void push_note_state();
void push_chord_state();
void push_lyric_state();
void pop_state();
void LexerError (char const *);
void set_identifier (String str, Identifier* i, bool unique_b = true);
- void print_declarations (bool init_b) const;
bool note_state_b() const;
bool chord_state_b() const;
bool lyric_state_b() const;
/**
State for the parser. Do not ever add any variables to parse
musical content here. We still have to remove default_duration_.
-
- */
+
+ TODO: interface is too complicated
+
+*/
class My_lily_parser
{
public:
public:
Duration default_duration_;
- Musical_pitch default_pitch_;
+
Scope *default_header_p_;
+
+
+ // JUNKME
int chord_tremolo_type_i_;
- bool first_b_;
+
int fatal_error_i_;
Sources * source_l_;
int error_level_i_;
- bool init_parse_b_;
+
My_lily_lexer * lexer_p_;
bool ignore_version_b_;
void remember_spot();
Input pop_spot();
- Paper_def*default_paper_p();
- Midi_def*default_midi_p();
void do_yyparse();
void parser_error (String);
- void set_debug();
void set_yydebug (bool);
private:
- char const* here_ch_C() const;
+
Array<Input> define_spot_array_;
- String init_str_;
- Simultaneous_music * get_note_element (Note_req * ,Duration *);
+ char const* here_ch_C() const;
+
Simultaneous_music * get_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p, Musical_pitch* inversion_p, Musical_pitch* bass_p, Duration d);
- Simultaneous_music* get_rest_element (String, Duration *);
- Simultaneous_music* get_word_element (String, Duration*);
- String notename_str (Melodic_req* melodic);
+
void set_chord_tremolo (int type_i);
void set_last_duration (Duration const *);
void set_last_pitch (Musical_pitch const *);
-/*
- notename-table.hh -- declare Notename_table
- source file of the GNU LilyPond music typesetter
-
- (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-
-#ifndef NOTENAME_TABLE_HH
-#define NOTENAME_TABLE_HH
-
-#include "string.hh"
-#include "lily-proto.hh"
-
-class Notename_table {
- Dictionary<Musical_pitch> *pitch_dict_;
-public:
- Notename_table ();
- ~Notename_table ();
- Notename_table (Notename_table const&);
- Musical_pitch get_pitch(String s) const;
- void add_note_name (String, Musical_pitch const *p);
- bool elem_b (String )const;
-};
-
-#endif // NOTENAME_TABLE_HH
class Repeated_music : public Music
{
public:
+ String type_;
+
bool fold_b_;
/// if FOLD_B_ is false, semifold this.
bool volta_fold_b_;
#include "hash-table.hh"
#include "smobs.hh"
-#define usestl
struct SCM_less
{
class Scheme_hash_table : private Scm_stl_map
{
public:
-#ifndef usestl
- // bool elem_b (SCM k) const;
- Hash_table<SCM,SCM>::try_retrieve;
- Hash_table<SCM,SCM>::elem_b;
-#else
bool try_retrieve (SCM key, SCM *val);
bool elem_b (SCM key) const;
-#endif
-
/**
WARNING: putting something in assumes responsibility for cleaning
class Scope {
Hash_table<Protected_scm,Identifier*> *id_dict_;
public:
- void print () const;
bool elem_b (String ) const;
bool elem_b (SCM s) const;
Identifier *&elem (String);
#include "dimension-cache-callback.hh"
+
+
+
+/**
+ for administration of what was done already
+ */
+enum Score_element_status {
+ ORPHAN=0, // not yet added to pstaff
+ VIRGIN, // added to pstaff
+ PRECALCING,
+ PRECALCED, // calcs before spacing done
+ POSTCALCING, // busy calculating. This is used to trap cyclic deps.
+ POSTCALCED, // after spacing calcs done
+ BREWING,
+ BREWED,
+};
+
typedef void (Score_element::*Score_element_method_pointer) (void);
/**
virtual void do_break_processing ();
virtual Score_element *find_broken_piece (Line_of_score*) const;
+ /// generate rods & springs
+ virtual void do_space_processing ();
+ virtual void do_breakable_col_processing ();
+
+ /// do calculations before determining horizontal spacing
+ virtual void before_line_breaking ();
+
protected:
/**
virtual Molecule do_brew_molecule () const;
///executed directly after the item is added to the Paper_score
virtual void do_add_processing ();
- /// do calculations before determining horizontal spacing
- virtual void before_line_breaking ();
- /// generate rods & springs
- virtual void do_space_processing ();
-
- virtual void do_breakable_col_processing ();
/// do calculations after determining horizontal spacing
virtual void after_line_breaking ();
Item::line_l() const
{
Score_element *g = parent_l (X_AXIS);
- if (!g)
- return 0;
- return dynamic_cast<Score_element *> (g)-> line_l ();
+ return g ? g->line_l () : 0;
}
return STRING;
}
. {
- return yylval.c = YYText ()[0];
+ return YYText ()[0];
}
}
<chords>{
return CHORD_CARET;
}
. {
- return yylval.c = YYText ()[0];
+ return YYText ()[0];
}
}
}
<INITIAL,notes>. {
- return yylval.c = YYText ()[0];
+ return YYText ()[0];
}
<INITIAL,lyrics,notes>\\. {
char c= YYText ()[1];
- yylval.c = c;
+
switch (c) {
case '>':
return E_BIGGER;
int
My_lily_lexer::scan_escaped_word (String str)
{
+ // use more SCM for this.
+
+ SCM sym = ly_symbol2scm (str.ch_C());
+
int l = lookup_keyword (str);
if (l != -1) {
return l;
return id->token_code_i_;
}
if ((YYSTATE != notes) && (YYSTATE != chords)) {
- if (note_tab_p_->elem_b (str))
+ SCM pitch = scm_hashq_ref (pitchname_tab_, sym, SCM_BOOL_F);
+
+ if (pitch != SCM_BOOL_F)
{
- yylval.pitch = new Musical_pitch (lookup_notename (str));
+ yylval.pitch = new Musical_pitch (pitch);
yylval.pitch->set_spot (Input (source_file_l (),
here_ch_C ()));
return NOTENAME_PITCH;
}
}
- if (flower_dstream)
- print_declarations (true);
String msg (_f ("unknown escaped string: `\\%s'", str));
LexerError (msg.ch_C ());
int
My_lily_lexer::scan_bare_word (String str)
{
+ SCM sym = ly_symbol2scm (str.ch_C ());
if ((YYSTATE == notes) || (YYSTATE == chords)) {
- if (note_tab_p_->elem_b (str)) {
- yylval.pitch = new Musical_pitch (lookup_notename (str));
+ SCM pitch = scm_hashq_ref (pitchname_tab_, sym, SCM_BOOL_F);
+ if (pitch != SCM_BOOL_F) {
+ yylval.pitch = new Musical_pitch (pitch);
yylval.pitch->set_spot (Input (source_file_l (),
here_ch_C ()));
return (YYSTATE == notes) ? NOTENAME_PITCH : TONICNAME_PITCH;
- } else if (chordmodifier_tab_p_->elem_b (str))
+ } else if ((pitch = scm_hashq_ref (pitchname_tab_, sym, SCM_BOOL_F))!= SCM_BOOL_F)
{
- yylval.pitch = new Musical_pitch (lookup_chordmodifier (str));
+ yylval.pitch = new Musical_pitch (pitch);
yylval.pitch->set_spot (Input (source_file_l (),
here_ch_C ()));
return CHORDMODIFIER_PITCH;
return p1->rank_i_ - p2->rank_i_;
}
-
-
-/**
- for administration of what was done already
- */
-enum Score_element_status {
- ORPHAN=0, // not yet added to pstaff
- VIRGIN, // added to pstaff
- PREBROKEN,
- PREBROKEN_SECOND,
- PRECALCING,
- PRECALCED, // calcs before spacing done
- SPACING,
- SPACED,
- BROKEN,
- BROKEN_SECOND,
- POSTCALCING, // busy calculating. This is used to trap cyclic deps.
- POSTCALCED, // after spacing calcs done
- BREWING,
- BREWED,
-};
-
-void
-Line_of_score::pre_processing ()
-{
- calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking);
-}
-
-void
-Line_of_score::space_processing ()
-{
- calculate_dependencies (SPACED, SPACING, &Score_element::do_space_processing);
-}
-
-/* for break processing, use only one status, because copies have to
- have correct status. (Previously,
- Score_element::handle_[pre]broken_dependencies assigned to status_i_
- */
-void
-Line_of_score::breakable_col_processing ()
-{
- calculate_dependencies (PREBROKEN, PREBROKEN, &Score_element::do_breakable_col_processing);
- // calculate_dependencies (PREBROKEN_SECOND, PREBROKEN_SECOND, &Score_element::handle_prebroken_dependents);
-}
-
-
void
Line_of_score::post_processing ()
{
- // calculate_dependencies (BROKEN_SECOND, BROKEN_SECOND,
- // &Score_element::handle_broken_dependents);
calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::after_line_breaking);
}
*/
Long_option_init theopts[] = {
{0, "debug", 'd', _i ("enable debugging output")},
- {_i ("EXT"), "output-format", 'f', _i ("use output format EXT")},
+ {_i ("EXT"), "output-format", 'f', _i ("use output format EXT (scm, ps, tex or as)")},
{0, "help", 'h', _i ("this help")},
{_i ("DIR"), "include", 'I', _i ("add DIR to search path")},
{_i ("FILE"), "init", 'i', _i ("use FILE as init file")},
#include "request.hh"
#include "request-iterator.hh"
#include "output-property.hh"
+#include "chord-tremolo-iterator.hh"
void
Music_iterator::do_print() const
p = new Music_wrapper_iterator;
else if (Repeated_music const * n = dynamic_cast<Repeated_music const *> (m))
{
- if (n->fold_b_)
+ if (n->type_ == "tremolo")
+ p = new Chord_tremolo_iterator;
+ else if (n->fold_b_)
p = new Folded_repeat_iterator;
else
p = new Unfolded_repeat_iterator;
void
Music_output_def::print () const
{
-#ifndef NPRINT
- DEBUG_OUT << "Translators: \n";
- translator_p_dict_p_->print ();
- DEBUG_OUT << "Other definitions.\n";
- scope_p_->print( );
-#endif
}
String
SCM
Musical_pitch::to_scm ()const
{
- return gh_list (gh_int2scm (notename_i_),
+ return gh_list (gh_int2scm (octave_i_),
+ gh_int2scm (notename_i_),
gh_int2scm (accidental_i_),
- gh_int2scm (octave_i_),
SCM_UNDEFINED);
}
Musical_pitch::Musical_pitch (SCM s)
{
- notename_i_ = gh_scm2int (gh_car (s));
- accidental_i_ = gh_scm2int (gh_cadr (s));
- octave_i_ = gh_scm2int (gh_caddr (s));
+ octave_i_ = gh_scm2int (gh_car (s));
+ notename_i_ = gh_scm2int (gh_cadr (s));
+ accidental_i_ = gh_scm2int (gh_caddr (s));
}
Musical_pitch::Musical_pitch (int n, int a, int o)
#include <strstream.h>
#include <ctype.h>
-#include "notename-table.hh"
+
#include "interval.hh"
#include "identifier.hh"
#include "lily-guile.hh"
toplevel_scope_p_ = new Scope;
scope_l_arr_.push (toplevel_scope_p_);
errorlevel_i_ = 0;
- note_tab_p_ = new Notename_table;
- chordmodifier_tab_p_ = new Notename_table;
main_input_b_ = false;
}
void
My_lily_lexer::start_main_input ()
{
- if (flower_dstream && !flower_dstream->silent_b ("InitDeclarations") && flower_dstream)
- print_declarations (true);
- if (flower_dstream && !flower_dstream->silent_b ("InitLexer") && flower_dstream)
- set_debug (1);
-
-
new_input (main_input_str_, source_global_l);
allow_includes_b_ = allow_includes_b_ && !(safe_global_b);
-
-
- print_declarations(true);
}
void
if (old)
{
-#if 0
- if (unique_b)
- old->warning(_f ("redeclaration of `\\%s'", name_str));
-#endif
delete old;
}
if (lookup_keyword (name_str) >= 0)
My_lily_lexer::~My_lily_lexer()
{
- delete chordmodifier_tab_p_;
delete keytable_p_;
delete toplevel_scope_p_ ;
- delete note_tab_p_;
}
-void
-My_lily_lexer::print_declarations (bool ) const
-{
- for (int i=scope_l_arr_.size (); i--; )
- {
- DEBUG_OUT << "Scope no. " << i << '\n';
- scope_l_arr_[i]->print ();
- }
-}
+
void
My_lily_lexer::LexerError (char const *s)
}
}
-Musical_pitch
-My_lily_lexer::lookup_notename (String s)
-{
- return note_tab_p_->get_pitch (s);
-}
-
-Musical_pitch
-My_lily_lexer::lookup_chordmodifier (String s)
-{
- return chordmodifier_tab_p_->get_pitch (s);
-}
-
-
-void
-My_lily_lexer::set_notename_table (Notename_table *p)
-{
- delete note_tab_p_;
- note_tab_p_ = p;
-}
-
-
-
-void
-My_lily_lexer::set_chordmodifier_table (Notename_table *p)
-{
- delete chordmodifier_tab_p_;
- chordmodifier_tab_p_ = p;
-}
-
char
My_lily_lexer::escaped_char(char c) const
{
My_lily_parser::My_lily_parser (Sources * source_l)
{
- first_b_ = true;
source_l_ = source_l;
lexer_p_ = 0;
chord_tremolo_type_i_ = 0;
My_lily_parser::parse_file (String init, String s)
{
lexer_p_ = new My_lily_lexer;
- init_str_ = init;
+
lexer_p_->main_input_str_ = s;
progress_indication (_("Parsing..."));
- init_parse_b_ = false;
set_yydebug (flower_dstream &&!flower_dstream->silent_b ("Parser"));
lexer_p_->new_input (init, source_l_);
do_yyparse ();
// junk me
Simultaneous_music *
-My_lily_parser::get_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p, Musical_pitch* inversion_p, Musical_pitch* bass_p, Duration d)
+My_lily_parser::get_chord (Musical_pitch tonic,
+ Array<Musical_pitch>* add_arr_p,
+ Array<Musical_pitch>* sub_arr_p,
+ Musical_pitch* inversion_p,
+ Musical_pitch* bass_p,
+ Duration d)
{
Simultaneous_music*v = new Request_chord;
v->set_spot (here_input ());
return lexer_p_->here_input ();
}
-Paper_def*
-My_lily_parser::default_paper_p ()
-{
- Identifier *id = lexer_p_->lookup_identifier ("$defaultpaper");
- return id ? id->access_content_Paper_def (true) : new Paper_def ;
-}
-Midi_def*
-My_lily_parser::default_midi_p ()
-{
- Identifier *id = lexer_p_->lookup_identifier ("$defaultmidi");
- return id ? id->access_content_Midi_def (true) : new Midi_def ;
-}
--- /dev/null
+#if 0
+/*
+ new-chord-tremolo-engraver.cc -- implement New_chord_tremolo_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+
+
+
+class New_chord_tremolo_engraver : public Engraver
+{
+public:
+ VIRTUAL_COPY_CONS(Translator);
+ New_chord_tremolo_engraver();
+protected:
+
+ virtual bool do_try_music (Music *);
+ virtual void do_process_music ();
+};
+
+New_chord_tremolo_engraver::New_chord_tremolo_engraver()
+{
+}
+
+bool
+New_chord_tremolo_engraver::do_try_music (Music * m)
+{
+ if (dynamic_cast<Repeated_music*> (m))
+ {
+
+ }
+}
+
+#endif
-/*
- notename-table.cc -- implement Notename_table
- source file of the GNU LilyPond music typesetter
-
- (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-*/
-
-#include "notename-table.hh"
-#include "dictionary-iter.hh"
-#include "dictionary.hh"
-#include "musical-pitch.hh"
-
-void
-Notename_table::add_note_name (String s,
- Musical_pitch const *p)
-{
- pitch_dict_->elem (s) = *p;
-}
-
-Notename_table::Notename_table ()
-{
- pitch_dict_ = new Dictionary<Musical_pitch>;
-}
-
-Notename_table::~Notename_table()
-{
- delete pitch_dict_;
-}
-
-Notename_table::Notename_table (Notename_table const &s)
-{
- pitch_dict_ = new Dictionary<Musical_pitch> (*s.pitch_dict_);
-}
-bool
-Notename_table::elem_b (String s)const
-{
- return pitch_dict_->elem_b (s);
-}
-Musical_pitch
-Notename_table::get_pitch (String s)const
-{
- return (*pitch_dict_)[s];
-}
{
Output_property * o = props_[i];
SCM pred = gh_car (o->pred_sym_val_list_);
+
/*
should typecheck pred.
*/
{
print ();
progress_indication (_ ("Preprocessing elements...") + " ");
- line_l_->breakable_col_processing ();
+
+
+ /*
+ Be sure to set breakability on first & last column.
+ */
+ col_l_arr_[0]->set_elt_property ("breakable", SCM_BOOL_T);
+ col_l_arr_.top ()->set_elt_property ("breakable", SCM_BOOL_T);
+
+ for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
+ unsmob_element (gh_car (s))->do_breakable_col_processing ();
+
fixup_refpoints ();
- line_l_->pre_processing ();
-
+
+ for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
+ {
+ Score_element* sc = unsmob_element (gh_car (s));
+ sc->calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking);
+ }
+
progress_indication ("\n" + _ ("Calculating column positions...") + " " );
- line_l_->space_processing ();
+ for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
+ unsmob_element (gh_car (s))->do_space_processing ();
Array<Column_x_positions> breaking = calc_breaking ();
line_l_->break_into_pieces (breaking);
for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
{
- Score_element *sc = unsmob_element (gh_car (s));
- sc->do_break_processing ();
+ unsmob_element (gh_car (s))->do_break_processing ();
}
for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
{
- Score_element *sc = unsmob_element (gh_car (s));
- sc->handle_broken_dependencies ();
+ unsmob_element (gh_car (s))->handle_broken_dependencies ();
}
outputter_l_ = new Paper_outputter ;
outputter_l_->output_header ();
-
outputter_l_->output_version();
if (header_global_p)
*/
SCM before_output = outputter_l_->last_cons_;
-
-
fixup_refpoints ();
+
+ /*
+ TODO: change this, so that each element ouputs its molecules into
+ its line, and then output all lines one by one; then we can do
+
+ foreach element: output
+ */
line_l_->output_lines ();
Paper_stream* psp = paper_l_->paper_stream_p ();
outputter_l_->dump_onto (psp);
+
// huh?
delete outputter_l_;
-
outputter_l_ = 0;
delete psp;
#include <iostream.h>
#include "lily-guile.hh"
-#include "notename-table.hh"
#include "translation-property.hh"
#include "lookup.hh"
#include "misc.hh"
return t == 1 << intlog2(t);
}
-
-
-
void
print_mudela_versions (ostream &os)
{
os << _f ("Oldest supported input version: %s", oldest_version.str ())
<< endl;
}
+
// needed for bison.simple's malloc() and free()
#include <malloc.h>
Array<Musical_pitch> *pitch_arr;
Link_array<Request> *reqvec;
Array<int> *intvec;
- Notename_table *chordmodifiertab;
Duration *duration;
Identifier *id;
String * string;
Musical_pitch * pitch;
Midi_def* midi;
Moment *moment;
- Notename_table *notenametab;
Paper_def *paper;
Real real;
Request * request;
Tempo_req *tempo;
Translator_group* trans;
- char c;
int i;
}
%{
%token <pitch> CHORDMODIFIER_PITCH
%token <id> DURATION_IDENTIFIER
%token <id> IDENTIFIER
-%token <id> NOTENAME_TABLE_IDENTIFIER
%token <id> MUSIC_IDENTIFIER
%token <id> REQUEST_IDENTIFIER
%token <id> REAL_IDENTIFIER
%type <intvec> int_list
%type <reqvec> pre_requests post_requests
%type <request> gen_text_def
-%type <pitch> explicit_musical_pitch steno_musical_pitch musical_pitch absolute_musical_pitch
+%type <pitch> steno_musical_pitch musical_pitch absolute_musical_pitch
%type <pitch> steno_tonic_pitch
-%type <pitch_arr> pitch_list
+%type <pitch_arr> pitch_list chord_additions chord_subtractions chord_notes chord_step
%type <music> chord
-%type <pitch_arr> chord_additions chord_subtractions chord_notes chord_step
%type <pitch> chord_note chord_inversion chord_bass
%type <midi> midi_block midi_body
%type <duration> duration_length
%type <scm> string
%type <score> score_block score_body
-%type <scm> script_abbreviation
%type <trans> translator_spec_block translator_spec_body
%type <tempo> tempo_request
-%type <notenametab> notenames_body notenames_block chordmodifiers_block
+%type <scm> notenames_body notenames_block chordmodifiers_block
+%type <scm> script_abbreviation
toplevel_expression:
notenames_block {
- THIS->lexer_p_->set_notename_table ($1);
+ THIS->lexer_p_->pitchname_tab_ = $1;
}
| chordmodifiers_block {
- THIS->lexer_p_->set_chordmodifier_table ($1);
+ THIS->lexer_p_->chordmodifier_tab_ = $1;
}
| mudela_header {
delete header_global_p;
chordmodifiers_block:
- CHORDMODIFIERS '{' notenames_body '}' { $$ = $3; }
+ CHORDMODIFIERS notenames_body { $$ = $2; }
;
notenames_block:
- NOTENAMES '{' notenames_body '}' { $$ = $3; }
+ NOTENAMES notenames_body { $$ = $2; }
;
notenames_body:
- /**/ {
- $$ = new Notename_table;
- }
- | NOTENAME_TABLE_IDENTIFIER {
- $$ = $1-> access_content_Notename_table(true);
- }
- | notenames_body STRING '=' explicit_musical_pitch {
- $$->add_note_name (ly_scm2string ($2), $4);
- delete $4;
+ embedded_scm {
+ int i = scm_ilength ($1);
+
+ SCM tab = scm_make_vector (gh_int2scm (i), SCM_EOL);
+ for (SCM s = $1; s != SCM_EOL; s = gh_cdr (s)) {
+ SCM pt = gh_cdar (s);
+ if (scm_ilength (pt) != 3)
+ THIS->parser_error ("Need three args");
+ scm_hashq_set_x (tab, gh_caar(s), pt);
+ }
+
+ $$ = tab;
}
;
}
/* cont */ '=' identifier_init {
THIS->lexer_p_->set_identifier (ly_scm2string ($1), $4);
- $4->init_b_ = THIS->init_parse_b_;
+
$4->set_spot (THIS->pop_spot ());
}
;
$$ = new Score_identifier ($1, SCORE_IDENTIFIER);
}
- | chordmodifiers_block {
- $$ = new Notename_table_identifier ($1, NOTENAME_TABLE_IDENTIFIER);
- }
- | notenames_block {
- $$ = new Notename_table_identifier ($1, NOTENAME_TABLE_IDENTIFIER);
- }
| paper_block {
$$ = new Paper_def_identifier ($1, PAPER_IDENTIFIER);
}
/*cont*/ '{' score_body '}' {
$$ = $4;
if (!$$->def_p_arr_.size ())
- $$->add_output (THIS->default_paper_p ());
+ {
+ Identifier *id =
+ THIS->lexer_p_->lookup_identifier ("$defaultpaper");
+ $$->add_output (id ? id->access_content_Paper_def (true) : new Paper_def );
+ }
}
;
paper_def_body:
/* empty */ {
- Paper_def *p = THIS->default_paper_p ();
+ Identifier *id = THIS->lexer_p_->lookup_identifier ("$defaultpaper");
+ Paper_def *p = id ? id->access_content_Paper_def (true) : new Paper_def;
THIS-> lexer_p_-> scope_l_arr_.push (p->scope_p_);
$$ = p;
}
;
midi_body: /* empty */ {
- Midi_def * p =THIS->default_midi_p ();
- $$ = p;
- THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
+ Identifier *id = THIS->lexer_p_->lookup_identifier ("$defaultmidi");
+ Midi_def* p = id
+ ? id->access_content_Midi_def (true) : new Midi_def ;
+
+ $$ = p;
+ THIS->lexer_p_->scope_l_arr_.push (p->scope_p_);
}
| MIDI_IDENTIFIER {
Midi_def * p =$1-> access_content_Midi_def (true);
$$-> assign_translator ($2);
}
| midi_body tempo_request semicolon {
+ /*
+ junk this ? there already is tempo stuff in
+ music.
+ */
$$->set_tempo ($2->dur_.length_mom (), $2->metronome_i_);
delete $2;
}
Repeated_music * r = new Repeated_music ($4, $3 >? 1, m);
$$ = r;
- r->fold_b_ = (ly_scm2string ($2) == "fold");
- r->volta_fold_b_ = (ly_scm2string ($2) == "volta");
+ r->type_ = ly_scm2string ($2);
+ r->fold_b_ = (r->type_ == "fold");
+ r->volta_fold_b_ = (r->type_ == "volta");
r->set_spot ($4->spot ());
}
;
$$ =b;
}
| '[' ':' unsigned {
+ // JUNKME
if (!is_duration_b ($3))
THIS->parser_error (_f ("not a duration: %d", $3));
else
Chord_tremolo_req* a = new Chord_tremolo_req;
a->span_dir_ = STOP;
a->type_i_ = THIS->chord_tremolo_type_i_;
+
+ // JUNKME.
THIS->set_chord_tremolo (0);
$$ = a;
}
}
;
-explicit_musical_pitch:
- MUSICAL_PITCH '{' int_list '}' {/* ugh */
- Array<int> &a = *$3;
- ARRAY_SIZE(a,3);
- $$ = new Musical_pitch;
- $$->octave_i_ = a[0];
- $$->notename_i_ = a[1];
- $$->accidental_i_ = a[2];
- delete &a;
- }
- ;
-
musical_pitch:
steno_musical_pitch {
$$ = $1;
}
- | explicit_musical_pitch {
- $$ = $1;
+ | MUSICAL_PITCH embedded_scm {
+ int sz = scm_ilength ($2);
+ if (sz != 3) {
+ THIS->parser_error (_f ("Expecting %d arguments", 3));
+ $2 = gh_list (gh_int2scm (0), gh_int2scm (0), gh_int2scm (0), SCM_UNDEFINED);
+ }
+ $$ = new Musical_pitch ($2);
}
;
n->pitch_ = *$1;
n->duration_ = *$4;
/*
- URG
+ URG, JUNKTHIS!
*/
if (THIS->chord_tremolo_type_i_)
{
We acknowledge other types of unfolded music as well, to
get auto context selection right.
*/
- return true;
+ if (r->type_ == "volta" || r->type_ == "unfolded")
+ return true;
}
return false;
#include "dictionary.hh"
#include "protected-scm.hh"
-void
-Scope::print () const
-{
-#ifndef NPRINT
- bool init_b = false; // ugh
- for (Scope_iter ai (*this); ai.ok(); ai++)
- {
- if (ai.val()->init_b_ == init_b)
- {
- DEBUG_OUT << ai.key() << "=";
- ai.val()->print ();
- }
- }
-#endif
-}
Scope::~Scope ()
{
for (Scope_iter ai (*this); ai.ok(); ai++)
- {
- DEBUG_OUT << "deleting: " << ai.key() << '\n';
- delete ai.val ();
- }
+ delete ai.val ();
delete id_dict_;
}
#include "side-position-interface.hh"
#include "item.hh"
+/*
+TODO:
+
+remove dynamic_cast<Spanner,Item> and put this code into respective
+ subclass.
+*/
+
Score_element::Score_element()
{
dim_cache_[X_AXIS] = new Dimension_cache;
dim_cache_[Y_AXIS] = new Dimension_cache;
dim_cache_[X_AXIS]->elt_l_ = dim_cache_[Y_AXIS]->elt_l_ = this;
-
+
+ // junkme.
used_b_ = false;
dim_cache_[X_AXIS]->set_callback (molecule_extent);
{
}
-void
-Score_element::do_breakable_col_processing()
-{
- handle_prebroken_dependencies();
-}
void
Score_element::before_line_breaking ()
}
ADD_SCM_INIT_FUNC(scoreelt, init_functions);
+
+void
+Score_element::do_breakable_col_processing ()
+{
+}
{
Direction d = to_dir (align);
Interval ext(elm->extent (ax));
- if (d)
+
+ if (ext.empty_b ())
+ {
+ programming_error ("I'm empty. Can't align on self");
+ return 0.0;
+ }
+ else if (d)
{
return - ext[d];
}
{
Align_interface(valign_p_).add_element (i.elem_l_);
}
+
+#if 1 //
+ /*
+ should junk this, but (crossstaff?) Beam doesn't have a clue yet
+ ... */
+
/*
Add make sure spanbars (whose size depends on vertical alignment)
depend on the vertical alignment element
else if (dynamic_cast<Span_bar*>(i.elem_l_) && i.origin_trans_l_arr (this).size ())
{
i.elem_l_->add_dependency (valign_p_);
- }
+ }
+#endif
}
% contributed by Jaume Obrador <jobrador@ipc4.uib.es>
-\notenames {
- dobb = \musicalpitch { -1 0 -2 }
- dob = \musicalpitch { -1 0 -1 }
- do = \musicalpitch { -1 0 0 }
- dod = \musicalpitch { -1 0 1 }
- dodd = \musicalpitch { -1 0 2 }
- rebb = \musicalpitch { -1 1 -2 }
- reb = \musicalpitch { -1 1 -1 }
- re = \musicalpitch { -1 1 0 }
- red = \musicalpitch { -1 1 1 }
- redd = \musicalpitch { -1 1 2 }
- mibb = \musicalpitch { -1 2 -2 }
- mib = \musicalpitch { -1 2 -1 }
- mi = \musicalpitch { -1 2 0 }
- mid = \musicalpitch { -1 2 1 }
- midd = \musicalpitch { -1 2 2 }
- fabb = \musicalpitch { -1 3 -2 }
- fab = \musicalpitch { -1 3 -1 }
- fa = \musicalpitch { -1 3 0 }
- fad = \musicalpitch { -1 3 1 }
- fadd = \musicalpitch { -1 3 2 }
- solbb = \musicalpitch { -1 4 -2 }
- solb = \musicalpitch { -1 4 -1 }
- sol = \musicalpitch { -1 4 0 }
- sold = \musicalpitch { -1 4 1 }
- soldd = \musicalpitch { -1 4 2 }
- labb = \musicalpitch { -1 5 -2 }
- lab = \musicalpitch { -1 5 -1 }
- la = \musicalpitch { -1 5 0 }
- lad = \musicalpitch { -1 5 1 }
- ladd = \musicalpitch { -1 5 2 }
- sibb = \musicalpitch { -1 6 -2 }
- sib = \musicalpitch { -1 6 -1 }
- si = \musicalpitch { -1 6 0 }
- sid = \musicalpitch { -1 6 1 }
- sidd = \musicalpitch { -1 6 2 }
% For using "sostingut" notation, which is also correct
+\notenames #'(
+ (dobb . ( -1 0 -2 ))
+ (dob . ( -1 0 -1 ))
+ (do . ( -1 0 0 ))
+ (dod . ( -1 0 1 ))
+ (dodd . ( -1 0 2 ))
+ (rebb . ( -1 1 -2 ))
+ (reb . ( -1 1 -1 ))
+ (re . ( -1 1 0 ))
+ (red . ( -1 1 1 ))
+ (redd . ( -1 1 2 ))
+ (mibb . ( -1 2 -2 ))
+ (mib . ( -1 2 -1 ))
+ (mi . ( -1 2 0 ))
+ (mid . ( -1 2 1 ))
+ (midd . ( -1 2 2 ))
+ (fabb . ( -1 3 -2 ))
+ (fab . ( -1 3 -1 ))
+ (fa . ( -1 3 0 ))
+ (fad . ( -1 3 1 ))
+ (fadd . ( -1 3 2 ))
+ (solbb . ( -1 4 -2 ))
+ (solb . ( -1 4 -1 ))
+ (sol . ( -1 4 0 ))
+ (sold . ( -1 4 1 ))
+ (soldd . ( -1 4 2 ))
+ (labb . ( -1 5 -2 ))
+ (lab . ( -1 5 -1 ))
+ (la . ( -1 5 0 ))
+ (lad . ( -1 5 1 ))
+ (ladd . ( -1 5 2 ))
+ (sibb . ( -1 6 -2 ))
+ (sib . ( -1 6 -1 ))
+ (si . ( -1 6 0 ))
+ (sid . ( -1 6 1 ))
+ (sidd . ( -1 6 2 ))
+ (dos . ( -1 0 1 ))
+ (doss . ( -1 0 2 ))
+ (res . ( -1 1 1 ))
+ (ress . ( -1 1 2 ))
+ (mis . ( -1 2 1 ))
+ (miss . ( -1 2 2 ))
+ (fas . ( -1 3 1 ))
+ (fass . ( -1 3 2 ))
+ (sols . ( -1 4 1 ))
+ (solss . ( -1 4 2 ))
+ (las . ( -1 5 1 ))
+ (lass . ( -1 5 2 ))
+ (sis . ( -1 6 1 ))
+ (siss . ( -1 6 2 ))
+)
- dos = \musicalpitch { -1 0 1 }
- doss = \musicalpitch { -1 0 2 }
- res = \musicalpitch { -1 1 1 }
- ress = \musicalpitch { -1 1 2 }
- mis = \musicalpitch { -1 2 1 }
- miss = \musicalpitch { -1 2 2 }
- fas = \musicalpitch { -1 3 1 }
- fass = \musicalpitch { -1 3 2 }
- sols = \musicalpitch { -1 4 1 }
- solss = \musicalpitch { -1 4 2 }
- las = \musicalpitch { -1 5 1 }
- lass = \musicalpitch { -1 5 2 }
- sis = \musicalpitch { -1 6 1 }
- siss = \musicalpitch { -1 6 2 }
-}
+\version "1.3.38";
chord modifiers
%}
+% UGR
#(eval-string (ly-gulp-file "chord-names.scm"))
-\chordmodifiers {
- m = \musicalpitch { 0 2 -1 }
- min = \musicalpitch { 0 2 -1 }
- aug = \musicalpitch { 0 4 1 }
- % urg!
- % dim = \musicalpitch { -100 4 -1 }
- dim = \musicalpitch { -100 2 -1 }
- % urg, not actually a chord-modifier, but it works
- % c7 -> <c bes>, c 7+ -> c b
- maj = \musicalpitch { 0 6 1 }
- % sus4 should delete 2 too...
- sus = \musicalpitch { 0 3 0 }
-}
+
+% urg!
+%
+\chordmodifiers #'(
+ (m . ( 0 2 -1 ))
+ (min . ( 0 2 -1 ))
+ (aug . ( 0 4 1 ))
+; (dim . ( -100 4 -1 ))
+ (dim . ( -100 2 -1 ))
+; urg, not actually a chord-modifier, but it works
+; c7 -> <c bes>, c 7+ -> c b
+ (maj . ( 0 6 1 ))
+; sus4 should delete 2 too...
+ (sus . ( 0 3 0 ))
+)
+
% added asas and marked ases as `unusual'
-%
-% Please note that, while these names are used to enter *notes*, they
-% actually are *melodic*s, i.e. they represent a pitch solely. Notes
-% have a rhythmic part too. This is the reason that we don't write 'note { .. }'
-%
-\notenames {
- ceses = \musicalpitch { -1 0 -2 }
- ces = \musicalpitch { -1 0 -1 }
- c = \musicalpitch { -1 0 0 }
- cis = \musicalpitch { -1 0 1 }
- cisis = \musicalpitch { -1 0 2 }
- deses = \musicalpitch { -1 1 -2 }
- des = \musicalpitch { -1 1 -1 }
- d = \musicalpitch { -1 1 0 }
- dis = \musicalpitch { -1 1 1 }
- disis = \musicalpitch { -1 1 2 }
- eses = \musicalpitch { -1 2 -2 }
- es = \musicalpitch { -1 2 -1 }
- e = \musicalpitch { -1 2 0 }
- eis = \musicalpitch { -1 2 1 }
- eisis = \musicalpitch { -1 2 2 }
- feses = \musicalpitch { -1 3 -2 }
- fes = \musicalpitch { -1 3 -1 }
- f = \musicalpitch { -1 3 0 }
- fis = \musicalpitch { -1 3 1 }
- fisis = \musicalpitch { -1 3 2 }
- geses = \musicalpitch { -1 4 -2 }
- ges = \musicalpitch { -1 4 -1 }
- g = \musicalpitch { -1 4 0 }
- gis = \musicalpitch { -1 4 1 }
- gisis = \musicalpitch { -1 4 2 }
- asas = \musicalpitch { -1 5 -2 }
- ases = \musicalpitch { -1 5 -2 } % non-standard name for asas
- as = \musicalpitch { -1 5 -1 }
- a = \musicalpitch { -1 5 0 }
- ais = \musicalpitch { -1 5 1 }
- aisis = \musicalpitch { -1 5 2 }
- heses = \musicalpitch { -1 6 -2 }
- b = \musicalpitch { -1 6 -1 }
- h = \musicalpitch { -1 6 0 }
- his = \musicalpitch { -1 6 1 }
- hisis = \musicalpitch { -1 6 2 }
-
-
- %
- % upper case: 1 octave lower.
- %
-
-
- Ceses = \musicalpitch { -2 0 -2 }
- Ces = \musicalpitch { -2 0 -1 }
- C = \musicalpitch { -2 0 0 }
- Cis = \musicalpitch { -2 0 1 }
- Cisis = \musicalpitch { -2 0 2 }
- Deses = \musicalpitch { -2 1 -2 }
- Des = \musicalpitch { -2 1 -1 }
- D = \musicalpitch { -2 1 0 }
- Dis = \musicalpitch { -2 1 1 }
- Disis = \musicalpitch { -2 1 2 }
- Eses = \musicalpitch { -2 2 -2 }
- Es = \musicalpitch { -2 2 -1 }
- E = \musicalpitch { -2 2 0 }
- Eis = \musicalpitch { -2 2 1 }
- Eisis = \musicalpitch { -2 2 2 }
- Feses = \musicalpitch { -2 3 -2 }
- Fes = \musicalpitch { -2 3 -1 }
- F = \musicalpitch { -2 3 0 }
- Fis = \musicalpitch { -2 3 1 }
- Fisis = \musicalpitch { -2 3 2 }
- Geses = \musicalpitch { -2 4 -2 }
- Ges = \musicalpitch { -2 4 -1 }
- G = \musicalpitch { -2 4 0 }
- Gis = \musicalpitch { -2 4 1 }
- Gisis = \musicalpitch { -2 4 2 }
- Asas = \musicalpitch { -2 5 -2 }
- Ases = \musicalpitch { -2 5 -2 } % non-standard name for Asas
- As = \musicalpitch { -2 5 -1 }
- A = \musicalpitch { -2 5 0 }
- Ais = \musicalpitch { -2 5 1 }
- Aisis = \musicalpitch { -2 5 2 }
- Heses = \musicalpitch { -2 6 -2 }
- B = \musicalpitch { -2 6 -1 }
- H = \musicalpitch { -2 6 0 }
- His = \musicalpitch { -2 6 1 }
- Hisis = \musicalpitch { -2 6 2 }
+\notenames #'(
+ (ceses . ( -1 0 -2 ))
+ (ces . ( -1 0 -1 ))
+ (c . ( -1 0 0 ))
+ (cis . ( -1 0 1 ))
+ (cisis . ( -1 0 2 ))
+ (deses . ( -1 1 -2 ))
+ (des . ( -1 1 -1 ))
+ (d . ( -1 1 0 ))
+ (dis . ( -1 1 1 ))
+ (disis . ( -1 1 2 ))
+ (eses . ( -1 2 -2 ))
+ (es . ( -1 2 -1 ))
+ (e . ( -1 2 0 ))
+ (eis . ( -1 2 1 ))
+ (eisis . ( -1 2 2 ))
+ (feses . ( -1 3 -2 ))
+ (fes . ( -1 3 -1 ))
+ (f . ( -1 3 0 ))
+ (fis . ( -1 3 1 ))
+ (fisis . ( -1 3 2 ))
+ (geses . ( -1 4 -2 ))
+ (ges . ( -1 4 -1 ))
+ (g . ( -1 4 0 ))
+ (gis . ( -1 4 1 ))
+ (gisis . ( -1 4 2 ))
+ (asas . ( -1 5 -2 ))
+ (ases . ( -1 5 -2 )) ; non-standard name for asas
+ (as . ( -1 5 -1 ))
+ (a . ( -1 5 0 ))
+ (ais . ( -1 5 1 ))
+ (aisis . ( -1 5 2 ))
+ (heses . ( -1 6 -2 ))
+ (b . ( -1 6 -1 ))
+ (h . ( -1 6 0 ))
+ (his . ( -1 6 1 ))
+ (hisis . ( -1 6 2 ))
+)
}
+
+\version "1.3.38";
with s for sharp and f for flat.
%}
-\notenames {
- cflatflat = \musicalpitch { -1 0 -2 }
- cflat = \musicalpitch { -1 0 -1 }
- c = \musicalpitch { -1 0 0 }
- csharp = \musicalpitch { -1 0 1 }
- csharpsharp = \musicalpitch { -1 0 2 }
- dflatflat = \musicalpitch { -1 1 -2 }
- dflat = \musicalpitch { -1 1 -1 }
- d = \musicalpitch { -1 1 0 }
- dsharp = \musicalpitch { -1 1 1 }
- dsharpsharp = \musicalpitch { -1 1 2 }
- eflatflat = \musicalpitch { -1 2 -2 }
- eflat = \musicalpitch { -1 2 -1 }
- e = \musicalpitch { -1 2 0 }
- esharp = \musicalpitch { -1 2 1 }
- esharpsharp = \musicalpitch { -1 2 2 }
- fflatflat = \musicalpitch { -1 3 -2 }
- fflat = \musicalpitch { -1 3 -1 }
- f = \musicalpitch { -1 3 0 }
- fsharp = \musicalpitch { -1 3 1 }
- fsharpsharp = \musicalpitch { -1 3 2 }
- gflatflat = \musicalpitch { -1 4 -2 }
- gflat = \musicalpitch { -1 4 -1 }
- g = \musicalpitch { -1 4 0 }
- gsharp = \musicalpitch { -1 4 1 }
- gsharpsharp = \musicalpitch { -1 4 2 }
- aflatflat = \musicalpitch { -1 5 -2 }
- aflat = \musicalpitch { -1 5 -1 }
- a = \musicalpitch { -1 5 0 }
- asharp = \musicalpitch { -1 5 1 }
- asharpsharp = \musicalpitch { -1 5 2 }
- bflatflat = \musicalpitch { -1 6 -2 }
- bflat = \musicalpitch { -1 6 -1 }
- b = \musicalpitch { -1 6 0 }
- bsharp = \musicalpitch { -1 6 1 }
- bsharpsharp = \musicalpitch { -1 6 2 }
+\notenames #'(
+ (cflatflat . ( -1 0 -2 ))
+ (cflat . ( -1 0 -1 ))
+ (c . ( -1 0 0 ))
+ (csharp . ( -1 0 1 ))
+ (csharpsharp . ( -1 0 2 ))
+ (dflatflat . ( -1 1 -2 ))
+ (dflat . ( -1 1 -1 ))
+ (d . ( -1 1 0 ))
+ (dsharp . ( -1 1 1 ))
+ (dsharpsharp . ( -1 1 2 ))
+ (eflatflat . ( -1 2 -2 ))
+ (eflat . ( -1 2 -1 ))
+ (e . ( -1 2 0 ))
+ (esharp . ( -1 2 1 ))
+ (esharpsharp . ( -1 2 2 ))
+ (fflatflat . ( -1 3 -2 ))
+ (fflat . ( -1 3 -1 ))
+ (f . ( -1 3 0 ))
+ (fsharp . ( -1 3 1 ))
+ (fsharpsharp . ( -1 3 2 ))
+ (gflatflat . ( -1 4 -2 ))
+ (gflat . ( -1 4 -1 ))
+ (g . ( -1 4 0 ))
+ (gsharp . ( -1 4 1 ))
+ (gsharpsharp . ( -1 4 2 ))
+ (aflatflat . ( -1 5 -2 ))
+ (aflat . ( -1 5 -1 ))
+ (a . ( -1 5 0 ))
+ (asharp . ( -1 5 1 ))
+ (asharpsharp . ( -1 5 2 ))
+ (bflatflat . ( -1 6 -2 ))
+ (bflat . ( -1 6 -1 ))
+ (b . ( -1 6 0 ))
+ (bsharp . ( -1 6 1 ))
+ (bsharpsharp . ( -1 6 2 ))
- cff = \musicalpitch { -1 0 -2 }
- cf = \musicalpitch { -1 0 -1 }
- c = \musicalpitch { -1 0 0 }
- cs = \musicalpitch { -1 0 1 }
- css = \musicalpitch { -1 0 2 }
- dff = \musicalpitch { -1 1 -2 }
- df = \musicalpitch { -1 1 -1 }
- d = \musicalpitch { -1 1 0 }
- ds = \musicalpitch { -1 1 1 }
- dss = \musicalpitch { -1 1 2 }
- eff = \musicalpitch { -1 2 -2 }
- ef = \musicalpitch { -1 2 -1 }
- e = \musicalpitch { -1 2 0 }
- es = \musicalpitch { -1 2 1 } % es = E-flat in Dutch
- ess = \musicalpitch { -1 2 2 }
- fff = \musicalpitch { -1 3 -2 }
- ff = \musicalpitch { -1 3 -1 }
- f = \musicalpitch { -1 3 0 }
- fs = \musicalpitch { -1 3 1 }
- fss = \musicalpitch { -1 3 2 }
- gff = \musicalpitch { -1 4 -2 }
- gf = \musicalpitch { -1 4 -1 }
- g = \musicalpitch { -1 4 0 }
- gs = \musicalpitch { -1 4 1 }
- gss = \musicalpitch { -1 4 2 }
- aff = \musicalpitch { -1 5 -2 }
- af = \musicalpitch { -1 5 -1 }
- a = \musicalpitch { -1 5 0 }
- as = \musicalpitch { -1 5 1 } % as = A-flat in Dutch
- ass = \musicalpitch { -1 5 2 }
- bff = \musicalpitch { -1 6 -2 }
- bf = \musicalpitch { -1 6 -1 }
- b = \musicalpitch { -1 6 0 }
- bs = \musicalpitch { -1 6 1 }
- bss = \musicalpitch { -1 6 2 }
+ (cff . ( -1 0 -2 ))
+ (cf . ( -1 0 -1 ))
+ (c . ( -1 0 0 ))
+ (cs . ( -1 0 1 ))
+ (css . ( -1 0 2 ))
+ (dff . ( -1 1 -2 ))
+ (df . ( -1 1 -1 ))
+ (d . ( -1 1 0 ))
+ (ds . ( -1 1 1 ))
+ (dss . ( -1 1 2 ))
+ (eff . ( -1 2 -2 ))
+ (ef . ( -1 2 -1 ))
+ (e . ( -1 2 0 ))
+ (es . ( -1 2 1 )) ; es = E-flat in Dutch
+ (ess . ( -1 2 2 ))
+ (fff . ( -1 3 -2 ))
+ (ff . ( -1 3 -1 ))
+ (f . ( -1 3 0 ))
+ (fs . ( -1 3 1 ))
+ (fss . ( -1 3 2 ))
+ (gff . ( -1 4 -2 ))
+ (gf . ( -1 4 -1 ))
+ (g . ( -1 4 0 ))
+ (gs . ( -1 4 1 ))
+ (gss . ( -1 4 2 ))
+ (aff . ( -1 5 -2 ))
+ (af . ( -1 5 -1 ))
+ (a . ( -1 5 0 ))
+ (as . ( -1 5 1 )) ; as = A-flat in Dutch
+ (ass . ( -1 5 2 ))
+ (bff . ( -1 6 -2 ))
+ (bf . ( -1 6 -1 ))
+ (b . ( -1 6 0 ))
+ (bs . ( -1 6 1 ))
+ (bss . ( -1 6 2 ))
+)
+\version "1.3.38";
- %
- % upper case: 1 octave lower.
- %
-
-
- Cflatflat = \musicalpitch { -2 0 -2 }
- Cflat = \musicalpitch { -2 0 -1 }
- C = \musicalpitch { -2 0 0 }
- Csharp = \musicalpitch { -2 0 1 }
- Csharpsharp = \musicalpitch { -2 0 2 }
- Dflatflat = \musicalpitch { -2 1 -2 }
- Dflat = \musicalpitch { -2 1 -1 }
- D = \musicalpitch { -2 1 0 }
- Dsharp = \musicalpitch { -2 1 1 }
- Dsharpsharp = \musicalpitch { -2 1 2 }
- Eflatflat = \musicalpitch { -2 2 -2 }
- Eflat = \musicalpitch { -2 2 -1 }
- E = \musicalpitch { -2 2 0 }
- Esharp = \musicalpitch { -2 2 1 }
- Esharpsharp = \musicalpitch { -2 2 2 }
- Fflatflat = \musicalpitch { -2 3 -2 }
- Fflat = \musicalpitch { -2 3 -1 }
- F = \musicalpitch { -2 3 0 }
- Fsharp = \musicalpitch { -2 3 1 }
- Fsharpsharp = \musicalpitch { -2 3 2 }
- Gflatflat = \musicalpitch { -2 4 -2 }
- Gflat = \musicalpitch { -2 4 -1 }
- G = \musicalpitch { -2 4 0 }
- Gsharp = \musicalpitch { -2 4 1 }
- Gsharpsharp = \musicalpitch { -2 4 2 }
- Aflatflat = \musicalpitch { -2 5 -2 }
- Aflat = \musicalpitch { -2 5 -1 }
- A = \musicalpitch { -2 5 0 }
- Asharp = \musicalpitch { -2 5 1 }
- Asharpsharp = \musicalpitch { -2 5 2 }
- Bflatflat = \musicalpitch { -2 6 -2 }
- Bflat = \musicalpitch { -2 6 -1 }
- B = \musicalpitch { -2 6 0 }
- Bsharp = \musicalpitch { -2 6 1 }
- Bsharpsharp = \musicalpitch { -2 6 2 }
-
- Cff = \musicalpitch { -2 0 -2 }
- Cf = \musicalpitch { -2 0 -1 }
- C = \musicalpitch { -2 0 0 }
- Cs = \musicalpitch { -2 0 1 }
- Css = \musicalpitch { -2 0 2 }
- Dff = \musicalpitch { -2 1 -2 }
- Df = \musicalpitch { -2 1 -1 }
- D = \musicalpitch { -2 1 0 }
- Ds = \musicalpitch { -2 1 1 }
- Dss = \musicalpitch { -2 1 2 }
- Eff = \musicalpitch { -2 2 -2 }
- Ef = \musicalpitch { -2 2 -1 }
- E = \musicalpitch { -2 2 0 }
- Es = \musicalpitch { -2 2 1 }
- Ess = \musicalpitch { -2 2 2 }
- Fff = \musicalpitch { -2 3 -2 }
- Ff = \musicalpitch { -2 3 -1 }
- F = \musicalpitch { -2 3 0 }
- Fs = \musicalpitch { -2 3 1 }
- Fss = \musicalpitch { -2 3 2 }
- Gff = \musicalpitch { -2 4 -2 }
- Gf = \musicalpitch { -2 4 -1 }
- G = \musicalpitch { -2 4 0 }
- Gs = \musicalpitch { -2 4 1 }
- Gss = \musicalpitch { -2 4 2 }
- Aff = \musicalpitch { -2 5 -2 }
- Af = \musicalpitch { -2 5 -1 }
- A = \musicalpitch { -2 5 0 }
- As = \musicalpitch { -2 5 1 }
- Ass = \musicalpitch { -2 5 2 }
- Bff = \musicalpitch { -2 6 -2 }
- Bf = \musicalpitch { -2 6 -1 }
- B = \musicalpitch { -2 6 0 }
- Bs = \musicalpitch { -2 6 1 }
- Bss = \musicalpitch { -2 6 2 }
-
-
-}
% contributed by Paolo Zuliani <zuliap@easynet.it>
\notenames {
- dobb = \musicalpitch { -1 0 -2 }
- dob = \musicalpitch { -1 0 -1 }
- do = \musicalpitch { -1 0 0 }
- dod = \musicalpitch { -1 0 1 }
- dodd = \musicalpitch { -1 0 2 }
- rebb = \musicalpitch { -1 1 -2 }
- reb = \musicalpitch { -1 1 -1 }
- re = \musicalpitch { -1 1 0 }
- red = \musicalpitch { -1 1 1 }
- redd = \musicalpitch { -1 1 2 }
- mibb = \musicalpitch { -1 2 -2 }
- mib = \musicalpitch { -1 2 -1 }
- mi = \musicalpitch { -1 2 0 }
- mid = \musicalpitch { -1 2 1 }
- midd = \musicalpitch { -1 2 2 }
- fabb = \musicalpitch { -1 3 -2 }
- fab = \musicalpitch { -1 3 -1 }
- fa = \musicalpitch { -1 3 0 }
- fad = \musicalpitch { -1 3 1 }
- fadd = \musicalpitch { -1 3 2 }
- solbb = \musicalpitch { -1 4 -2 }
- solb = \musicalpitch { -1 4 -1 }
- sol = \musicalpitch { -1 4 0 }
- sold = \musicalpitch { -1 4 1 }
- soldd = \musicalpitch { -1 4 2 }
- labb = \musicalpitch { -1 5 -2 }
- lab = \musicalpitch { -1 5 -1 }
- la = \musicalpitch { -1 5 0 }
- lad = \musicalpitch { -1 5 1 }
- ladd = \musicalpitch { -1 5 2 }
- sibb = \musicalpitch { -1 6 -2 }
- sib = \musicalpitch { -1 6 -1 }
- si = \musicalpitch { -1 6 0 }
- sid = \musicalpitch { -1 6 1 }
- sidd = \musicalpitch { -1 6 2 }
+ (dobb . ( -1 0 -2 ))
+ (dob . ( -1 0 -1 ))
+ (do . ( -1 0 0 ))
+ (dod . ( -1 0 1 ))
+ (dodd . ( -1 0 2 ))
+ (rebb . ( -1 1 -2 ))
+ (reb . ( -1 1 -1 ))
+ (re . ( -1 1 0 ))
+ (red . ( -1 1 1 ))
+ (redd . ( -1 1 2 ))
+ (mibb . ( -1 2 -2 ))
+ (mib . ( -1 2 -1 ))
+ (mi . ( -1 2 0 ))
+ (mid . ( -1 2 1 ))
+ (midd . ( -1 2 2 ))
+ (fabb . ( -1 3 -2 ))
+ (fab . ( -1 3 -1 ))
+ (fa . ( -1 3 0 ))
+ (fad . ( -1 3 1 ))
+ (fadd . ( -1 3 2 ))
+ (solbb . ( -1 4 -2 ))
+ (solb . ( -1 4 -1 ))
+ (sol . ( -1 4 0 ))
+ (sold . ( -1 4 1 ))
+ (soldd . ( -1 4 2 ))
+ (labb . ( -1 5 -2 ))
+ (lab . ( -1 5 -1 ))
+ (la . ( -1 5 0 ))
+ (lad . ( -1 5 1 ))
+ (ladd . ( -1 5 2 ))
+ (sibb . ( -1 6 -2 ))
+ (sib . ( -1 6 -1 ))
+ (si . ( -1 6 0 ))
+ (sid . ( -1 6 1 ))
+ (sidd . ( -1 6 2 ))
}
+
+\version "1.3.38";
%{
- common dutch names for notes. "es" means flat, "is" means sharp
+ common dutch names for notes. es means flat, is means sharp
%}
-\notenames {
- ceses = \musicalpitch { -1 0 -2 }
- ces = \musicalpitch { -1 0 -1 }
- c = \musicalpitch { -1 0 0 }
- cis = \musicalpitch { -1 0 1 }
- cisis = \musicalpitch { -1 0 2 }
- deses = \musicalpitch { -1 1 -2 }
- des = \musicalpitch { -1 1 -1 }
- d = \musicalpitch { -1 1 0 }
- dis = \musicalpitch { -1 1 1 }
- disis = \musicalpitch { -1 1 2 }
- eeses = \musicalpitch { -1 2 -2 }
- eses = \musicalpitch { -1 2 -2 }
- ees = \musicalpitch { -1 2 -1 }
- es = \musicalpitch { -1 2 -1 }
- e = \musicalpitch { -1 2 0 }
- eis = \musicalpitch { -1 2 1 }
- eisis = \musicalpitch { -1 2 2 }
- feses = \musicalpitch { -1 3 -2 }
- fes = \musicalpitch { -1 3 -1 }
- f = \musicalpitch { -1 3 0 }
- fis = \musicalpitch { -1 3 1 }
- fisis = \musicalpitch { -1 3 2 }
- geses = \musicalpitch { -1 4 -2 }
- ges = \musicalpitch { -1 4 -1 }
- g = \musicalpitch { -1 4 0 }
- gis = \musicalpitch { -1 4 1 }
- gisis = \musicalpitch { -1 4 2 }
- aeses = \musicalpitch { -1 5 -2 }
- ases = \musicalpitch { -1 5 -2 }
- aes = \musicalpitch { -1 5 -1 }
- as = \musicalpitch { -1 5 -1 }
- a = \musicalpitch { -1 5 0 }
- ais = \musicalpitch { -1 5 1 }
- aisis = \musicalpitch { -1 5 2 }
- beses = \musicalpitch { -1 6 -2 }
- bes = \musicalpitch { -1 6 -1 }
- b = \musicalpitch { -1 6 0 }
- bis = \musicalpitch { -1 6 1 }
- bisis = \musicalpitch { -1 6 2 }
+\notenames
+ #'((ceses . (-1 0 -2 ))
+ (ces . ( -1 0 -1 ))
+ (c . ( -1 0 0 ))
+ (cis . ( -1 0 1 ))
+ (cisis . ( -1 0 2 ))
+ (deses . ( -1 1 -2 ))
+ (des . ( -1 1 -1 ))
+ (d . ( -1 1 0 ))
+ (dis . ( -1 1 1 ))
+ (disis . ( -1 1 2 ))
+ (eeses . ( -1 2 -2 ))
+ (eses . ( -1 2 -2 ))
+ (ees . ( -1 2 -1 ))
+ (es . ( -1 2 -1 ))
+ (e . ( -1 2 0 ))
+ (eis . ( -1 2 1 ))
+ (eisis . ( -1 2 2 ))
+ (feses . ( -1 3 -2 ))
+ (fes . ( -1 3 -1 ))
+ (f . ( -1 3 0 ))
+ (fis . ( -1 3 1 ))
+ (fisis . ( -1 3 2 ))
+ (geses . ( -1 4 -2 ))
+ (ges . ( -1 4 -1 ))
+ (g . ( -1 4 0 ))
+ (gis . ( -1 4 1 ))
+ (gisis . ( -1 4 2 ))
+ (aeses . ( -1 5 -2 ))
+ (ases . ( -1 5 -2 ))
+ (aes . ( -1 5 -1 ))
+ (as . ( -1 5 -1 ))
+ (a . ( -1 5 0 ))
+ (ais . ( -1 5 1 ))
+ (aisis . ( -1 5 2 ))
+ (beses . ( -1 6 -2 ))
+ (bes . ( -1 6 -1 ))
+ (b . ( -1 6 0 ))
+ (bis . ( -1 6 1 ))
+ (bisis . ( -1 6 2 )))
- %
- % upper case: 1 octave lower.
- %
-
- %% deprecated.
-
- Ceses = \musicalpitch { -2 0 -2 }
- Ces = \musicalpitch { -2 0 -1 }
- C = \musicalpitch { -2 0 0 }
- Cis = \musicalpitch { -2 0 1 }
- Cisis = \musicalpitch { -2 0 2 }
- Deses = \musicalpitch { -2 1 -2 }
- Des = \musicalpitch { -2 1 -1 }
- D = \musicalpitch { -2 1 0 }
- Dis = \musicalpitch { -2 1 1 }
- Disis = \musicalpitch { -2 1 2 }
- Eses = \musicalpitch { -2 2 -2 }
- Eeses = \musicalpitch { -2 2 -2 }
- Es = \musicalpitch { -2 2 -1 }
- Ees = \musicalpitch { -2 2 -1 }
- E = \musicalpitch { -2 2 0 }
- Eis = \musicalpitch { -2 2 1 }
- Eisis = \musicalpitch { -2 2 2 }
- Feses = \musicalpitch { -2 3 -2 }
- Fes = \musicalpitch { -2 3 -1 }
- F = \musicalpitch { -2 3 0 }
- Fis = \musicalpitch { -2 3 1 }
- Fisis = \musicalpitch { -2 3 2 }
- Geses = \musicalpitch { -2 4 -2 }
- Ges = \musicalpitch { -2 4 -1 }
- G = \musicalpitch { -2 4 0 }
- Gis = \musicalpitch { -2 4 1 }
- Gisis = \musicalpitch { -2 4 2 }
- Aeses = \musicalpitch { -2 5 -2 }
- Ases = \musicalpitch { -2 5 -2 }
- Aes = \musicalpitch { -2 5 -1 }
- As = \musicalpitch { -2 5 -1 }
- A = \musicalpitch { -2 5 0 }
- Ais = \musicalpitch { -2 5 1 }
- Aisis = \musicalpitch { -2 5 2 }
- Beses = \musicalpitch { -2 6 -2 }
- Bes = \musicalpitch { -2 6 -1 }
- B = \musicalpitch { -2 6 0 }
- Bis = \musicalpitch { -2 6 1 }
- Bisis = \musicalpitch { -2 6 2 }
-
-
-}
%}
-\notenames {
- ceses = \musicalpitch { -1 0 -2 }
- cessess = \musicalpitch { -1 0 -2 }
- ces = \musicalpitch { -1 0 -1 }
- cess = \musicalpitch { -1 0 -1 }
- c = \musicalpitch { -1 0 0 }
- cis = \musicalpitch { -1 0 1 }
- ciss = \musicalpitch { -1 0 1 }
- cisis = \musicalpitch { -1 0 2 }
- cississ = \musicalpitch { -1 0 2 }
- deses = \musicalpitch { -1 1 -2 }
- dessess = \musicalpitch { -1 1 -2 }
- des = \musicalpitch { -1 1 -1 }
- dess = \musicalpitch { -1 1 -1 }
- d = \musicalpitch { -1 1 0 }
- dis = \musicalpitch { -1 1 1 }
- diss = \musicalpitch { -1 1 1 }
- disis = \musicalpitch { -1 1 2 }
- dississ = \musicalpitch { -1 1 2 }
- eeses = \musicalpitch { -1 2 -2 }
- eessess = \musicalpitch { -1 2 -2 }
- eses = \musicalpitch { -1 2 -2 }
- essess = \musicalpitch { -1 2 -2 }
- ees = \musicalpitch { -1 2 -1 }
- eess = \musicalpitch { -1 2 -1 }
- es = \musicalpitch { -1 2 -1 }
- ess = \musicalpitch { -1 2 -1 }
- e = \musicalpitch { -1 2 0 }
- eis = \musicalpitch { -1 2 1 }
- eiss = \musicalpitch { -1 2 1 }
- eisis = \musicalpitch { -1 2 2 }
- eississ = \musicalpitch { -1 2 2 }
- feses = \musicalpitch { -1 3 -2 }
- fessess = \musicalpitch { -1 3 -2 }
- fes = \musicalpitch { -1 3 -1 }
- fess = \musicalpitch { -1 3 -1 }
- f = \musicalpitch { -1 3 0 }
- fis = \musicalpitch { -1 3 1 }
- fiss = \musicalpitch { -1 3 1 }
- fisis = \musicalpitch { -1 3 2 }
- fississ = \musicalpitch { -1 3 2 }
- geses = \musicalpitch { -1 4 -2 }
- gessess = \musicalpitch { -1 4 -2 }
- ges = \musicalpitch { -1 4 -1 }
- gess = \musicalpitch { -1 4 -1 }
- g = \musicalpitch { -1 4 0 }
- g = \musicalpitch { -1 4 0 }
- gis = \musicalpitch { -1 4 1 }
- giss = \musicalpitch { -1 4 1 }
- gisis = \musicalpitch { -1 4 2 }
- gississ = \musicalpitch { -1 4 2 }
- aeses = \musicalpitch { -1 5 -2 }
- aessess = \musicalpitch { -1 5 -2 }
- ases = \musicalpitch { -1 5 -2 }
- assess = \musicalpitch { -1 5 -2 }
- aes = \musicalpitch { -1 5 -1 }
- aess = \musicalpitch { -1 5 -1 }
- as = \musicalpitch { -1 5 -1 }
- ass = \musicalpitch { -1 5 -1 }
- a = \musicalpitch { -1 5 0 }
- ais = \musicalpitch { -1 5 1 }
- aiss = \musicalpitch { -1 5 1 }
- aisis = \musicalpitch { -1 5 2 }
- aississ = \musicalpitch { -1 5 2 }
- bes = \musicalpitch { -1 6 -2 }
- bess = \musicalpitch { -1 6 -2 }
- b = \musicalpitch { -1 6 -1 }
- b = \musicalpitch { -1 6 -1 }
- h = \musicalpitch { -1 6 0 }
- his = \musicalpitch { -1 6 1 }
- hiss = \musicalpitch { -1 6 1 }
- hisis = \musicalpitch { -1 6 2 }
- hississ = \musicalpitch { -1 6 2 }
-
-
- %
- % upper case: 1 octave lower, as usual.
- %
-
-
- Ceses = \musicalpitch { -2 0 -2 }
- Cessess = \musicalpitch { -2 0 -2 }
- Ces = \musicalpitch { -2 0 -1 }
- Cess = \musicalpitch { -2 0 -1 }
- C = \musicalpitch { -2 0 0 }
- Cis = \musicalpitch { -2 0 1 }
- Ciss = \musicalpitch { -2 0 1 }
- Cisis = \musicalpitch { -2 0 2 }
- Cississ = \musicalpitch { -2 0 2 }
- Deses = \musicalpitch { -2 1 -2 }
- Dessess = \musicalpitch { -2 1 -2 }
- Des = \musicalpitch { -2 1 -1 }
- Dess = \musicalpitch { -2 1 -1 }
- D = \musicalpitch { -2 1 0 }
- D = \musicalpitch { -2 1 0 }
- Dis = \musicalpitch { -2 1 1 }
- Diss = \musicalpitch { -2 1 1 }
- Disis = \musicalpitch { -2 1 2 }
- Dississ = \musicalpitch { -2 1 2 }
- Eses = \musicalpitch { -2 2 -2 }
- Essess = \musicalpitch { -2 2 -2 }
- Es = \musicalpitch { -2 2 -1 }
- Ess = \musicalpitch { -2 2 -1 }
- E = \musicalpitch { -2 2 0 }
- E = \musicalpitch { -2 2 0 }
- Eis = \musicalpitch { -2 2 1 }
- Eiss = \musicalpitch { -2 2 1 }
- Eisis = \musicalpitch { -2 2 2 }
- Eississ = \musicalpitch { -2 2 2 }
- Feses = \musicalpitch { -2 3 -2 }
- Fessess = \musicalpitch { -2 3 -2 }
- Fes = \musicalpitch { -2 3 -1 }
- Fess = \musicalpitch { -2 3 -1 }
- F = \musicalpitch { -2 3 0 }
- Fis = \musicalpitch { -2 3 1 }
- Fiss = \musicalpitch { -2 3 1 }
- Fisis = \musicalpitch { -2 3 2 }
- Fississ = \musicalpitch { -2 3 2 }
- Geses = \musicalpitch { -2 4 -2 }
- Gessess = \musicalpitch { -2 4 -2 }
- Ges = \musicalpitch { -2 4 -1 }
- Gess = \musicalpitch { -2 4 -1 }
- G = \musicalpitch { -2 4 0 }
- Gis = \musicalpitch { -2 4 1 }
- Giss = \musicalpitch { -2 4 1 }
- Gisis = \musicalpitch { -2 4 2 }
- Gississ = \musicalpitch { -2 4 2 }
- Aeses = \musicalpitch { -2 5 -2 }
- Aessess = \musicalpitch { -2 5 -2 }
- Ases = \musicalpitch { -2 5 -2 }
- Assess = \musicalpitch { -2 5 -2 }
- Aes = \musicalpitch { -2 5 -1 }
- Aess = \musicalpitch { -2 5 -1 }
- As = \musicalpitch { -2 5 -1 }
- Ass = \musicalpitch { -2 5 -1 }
- A = \musicalpitch { -2 5 0 }
- A = \musicalpitch { -2 5 0 }
- Ais = \musicalpitch { -2 5 1 }
- Aiss = \musicalpitch { -2 5 1 }
- Aisis = \musicalpitch { -2 5 2 }
- Aississ = \musicalpitch { -2 5 2 }
- Bes = \musicalpitch { -2 6 -2 }
- Bess = \musicalpitch { -2 6 -2 }
- B = \musicalpitch { -2 6 -1 }
- H = \musicalpitch { -2 6 0 }
- His = \musicalpitch { -2 6 1 }
- Hiss = \musicalpitch { -2 6 1 }
- Hisis = \musicalpitch { -2 6 2 }
- Hississ = \musicalpitch { -2 6 2 }
-
-}
-
-
-
+\notenames #'(
+ (ceses . ( -1 0 -2 ))
+ (cessess . ( -1 0 -2 ))
+ (ces . ( -1 0 -1 ))
+ (cess . ( -1 0 -1 ))
+ (c . ( -1 0 0 ))
+ (cis . ( -1 0 1 ))
+ (ciss . ( -1 0 1 ))
+ (cisis . ( -1 0 2 ))
+ (cississ . ( -1 0 2 ))
+ (deses . ( -1 1 -2 ))
+ (dessess . ( -1 1 -2 ))
+ (des . ( -1 1 -1 ))
+ (dess . ( -1 1 -1 ))
+ (d . ( -1 1 0 ))
+ (dis . ( -1 1 1 ))
+ (diss . ( -1 1 1 ))
+ (disis . ( -1 1 2 ))
+ (dississ . ( -1 1 2 ))
+ (eeses . ( -1 2 -2 ))
+ (eessess . ( -1 2 -2 ))
+ (eses . ( -1 2 -2 ))
+ (essess . ( -1 2 -2 ))
+ (ees . ( -1 2 -1 ))
+ (eess . ( -1 2 -1 ))
+ (es . ( -1 2 -1 ))
+ (ess . ( -1 2 -1 ))
+ (e . ( -1 2 0 ))
+ (eis . ( -1 2 1 ))
+ (eiss . ( -1 2 1 ))
+ (eisis . ( -1 2 2 ))
+ (eississ . ( -1 2 2 ))
+ (feses . ( -1 3 -2 ))
+ (fessess . ( -1 3 -2 ))
+ (fes . ( -1 3 -1 ))
+ (fess . ( -1 3 -1 ))
+ (f . ( -1 3 0 ))
+ (fis . ( -1 3 1 ))
+ (fiss . ( -1 3 1 ))
+ (fisis . ( -1 3 2 ))
+ (fississ . ( -1 3 2 ))
+ (geses . ( -1 4 -2 ))
+ (gessess . ( -1 4 -2 ))
+ (ges . ( -1 4 -1 ))
+ (gess . ( -1 4 -1 ))
+ (g . ( -1 4 0 ))
+ (g . ( -1 4 0 ))
+ (gis . ( -1 4 1 ))
+ (giss . ( -1 4 1 ))
+ (gisis . ( -1 4 2 ))
+ (gississ . ( -1 4 2 ))
+ (aeses . ( -1 5 -2 ))
+ (aessess . ( -1 5 -2 ))
+ (ases . ( -1 5 -2 ))
+ (assess . ( -1 5 -2 ))
+ (aes . ( -1 5 -1 ))
+ (aess . ( -1 5 -1 ))
+ (as . ( -1 5 -1 ))
+ (ass . ( -1 5 -1 ))
+ (a . ( -1 5 0 ))
+ (ais . ( -1 5 1 ))
+ (aiss . ( -1 5 1 ))
+ (aisis . ( -1 5 2 ))
+ (aississ . ( -1 5 2 ))
+ (bes . ( -1 6 -2 ))
+ (bess . ( -1 6 -2 ))
+ (b . ( -1 6 -1 ))
+ (b . ( -1 6 -1 ))
+ (h . ( -1 6 0 ))
+ (his . ( -1 6 1 ))
+ (hiss . ( -1 6 1 ))
+ (hisis . ( -1 6 2 ))
+ (hississ . ( -1 6 2 ))
+)
+
+
+
+\version "1.3.38";
%
% by Mats Bengtsson.
-\notenames {
- cessess = \musicalpitch { -1 0 -2 }
- cess = \musicalpitch { -1 0 -1 }
- c = \musicalpitch { -1 0 0 }
- ciss = \musicalpitch { -1 0 1 }
- cississ = \musicalpitch { -1 0 2 }
- dessess = \musicalpitch { -1 1 -2 }
- dess = \musicalpitch { -1 1 -1 }
- d = \musicalpitch { -1 1 0 }
- diss = \musicalpitch { -1 1 1 }
- dississ = \musicalpitch { -1 1 2 }
- essess = \musicalpitch { -1 2 -2 }
- ess = \musicalpitch { -1 2 -1 }
- e = \musicalpitch { -1 2 0 }
- eiss = \musicalpitch { -1 2 1 }
- eississ = \musicalpitch { -1 2 2 }
- fessess = \musicalpitch { -1 3 -2 }
- fess = \musicalpitch { -1 3 -1 }
- f = \musicalpitch { -1 3 0 }
- fiss = \musicalpitch { -1 3 1 }
- fississ = \musicalpitch { -1 3 2 }
- gessess = \musicalpitch { -1 4 -2 }
- gess = \musicalpitch { -1 4 -1 }
- g = \musicalpitch { -1 4 0 }
- giss = \musicalpitch { -1 4 1 }
- gississ = \musicalpitch { -1 4 2 }
- assess = \musicalpitch { -1 5 -2 }
- ass = \musicalpitch { -1 5 -1 }
- a = \musicalpitch { -1 5 0 }
- aiss = \musicalpitch { -1 5 1 }
- aississ = \musicalpitch { -1 5 2 }
- hessess = \musicalpitch { -1 6 -2 }
- b = \musicalpitch { -1 6 -1 }
- h = \musicalpitch { -1 6 0 }
- hiss = \musicalpitch { -1 6 1 }
- hississ = \musicalpitch { -1 6 2 }
-
-
- %
- % upper case: 1 octave lower.
- %
-
-
- Cessess = \musicalpitch { -2 0 -2 }
- Cess = \musicalpitch { -2 0 -1 }
- C = \musicalpitch { -2 0 0 }
- Ciss = \musicalpitch { -2 0 1 }
- Cississ = \musicalpitch { -2 0 2 }
- Dessess = \musicalpitch { -2 1 -2 }
- Dess = \musicalpitch { -2 1 -1 }
- D = \musicalpitch { -2 1 0 }
- Diss = \musicalpitch { -2 1 1 }
- Dississ = \musicalpitch { -2 1 2 }
- Essess = \musicalpitch { -2 2 -2 }
- Ess = \musicalpitch { -2 2 -1 }
- E = \musicalpitch { -2 2 0 }
- Eiss = \musicalpitch { -2 2 1 }
- Eississ = \musicalpitch { -2 2 2 }
- Fessess = \musicalpitch { -2 3 -2 }
- Fess = \musicalpitch { -2 3 -1 }
- F = \musicalpitch { -2 3 0 }
- Fiss = \musicalpitch { -2 3 1 }
- Fississ = \musicalpitch { -2 3 2 }
- Gessess = \musicalpitch { -2 4 -2 }
- Gess = \musicalpitch { -2 4 -1 }
- G = \musicalpitch { -2 4 0 }
- Giss = \musicalpitch { -2 4 1 }
- Gississ = \musicalpitch { -2 4 2 }
- Assess = \musicalpitch { -2 5 -2 }
- Ass = \musicalpitch { -2 5 -1 }
- A = \musicalpitch { -2 5 0 }
- Aiss = \musicalpitch { -2 5 1 }
- Aississ = \musicalpitch { -2 5 2 }
- Hessess = \musicalpitch { -2 6 -2 }
- B = \musicalpitch { -2 6 -1 }
- H = \musicalpitch { -2 6 0 }
- Hiss = \musicalpitch { -2 6 1 }
- Hississ = \musicalpitch { -2 6 2 }
-
-
-}
+\notenames #'(
+ (cessess . ( -1 0 -2 ))
+ (cess . ( -1 0 -1 ))
+ (c . ( -1 0 0 ))
+ (ciss . ( -1 0 1 ))
+ (cississ . ( -1 0 2 ))
+ (dessess . ( -1 1 -2 ))
+ (dess . ( -1 1 -1 ))
+ (d . ( -1 1 0 ))
+ (diss . ( -1 1 1 ))
+ (dississ . ( -1 1 2 ))
+ (essess . ( -1 2 -2 ))
+ (ess . ( -1 2 -1 ))
+ (e . ( -1 2 0 ))
+ (eiss . ( -1 2 1 ))
+ (eississ . ( -1 2 2 ))
+ (fessess . ( -1 3 -2 ))
+ (fess . ( -1 3 -1 ))
+ (f . ( -1 3 0 ))
+ (fiss . ( -1 3 1 ))
+ (fississ . ( -1 3 2 ))
+ (gessess . ( -1 4 -2 ))
+ (gess . ( -1 4 -1 ))
+ (g . ( -1 4 0 ))
+ (giss . ( -1 4 1 ))
+ (gississ . ( -1 4 2 ))
+ (assess . ( -1 5 -2 ))
+ (ass . ( -1 5 -1 ))
+ (a . ( -1 5 0 ))
+ (aiss . ( -1 5 1 ))
+ (aississ . ( -1 5 2 ))
+ (hessess . ( -1 6 -2 ))
+ (b . ( -1 6 -1 ))
+ (h . ( -1 6 0 ))
+ (hiss . ( -1 6 1 ))
+ (hississ . ( -1 6 2 ))
+)
+\version "1.3.38";
Begin3
Title: LilyPond
-Version: 1.3.38
-Entered-date: 22MAR00
+Version: 1.3.39
+Entered-date: 24MAR00
Description:
Keywords: music notation typesetting midi fonts engraving
Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 1000k lilypond-1.3.38.tar.gz
+ 1000k lilypond-1.3.39.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.3.38.tar.gz
+ 1000k lilypond-1.3.39.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 1.3.38
+Version: 1.3.39
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.38.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.39.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
# get Packager from (undocumented?) ~/.rpmmacros!
conversions.append ((1,3,35), conv, 'textEmptyDimension -> textNonEmpty')
+if 1:
+ def conv (str):
+ str = re.sub ("([a-z]+)[ \t]*=[ \t]*\\\\musicalpitch *{([- 0-9]+)} *\n",
+ "(\\1 . (\\2))\n", str)
+ str = re.sub ("\\\\musicalpitch *{([0-9 -]+)}",
+ "\\\\musicalpitch #'(\\1)", str)
+ if re.search ('\\\\notenames',str):
+ sys.stderr.write ('\nNot smart enough to convert to new \\notenames format')
+ return str
+
+ conversions.append ((1,3,38), conv, '\musicalpitch { a b c } -> #\'(a b c)')
+
+
############################