/*
Hairy function to put elements where they should be. Can be tweaked
- from the outside by setting minimum-space and extra-space in its
+ from the outside by setting minimum-space-pair and extra-space in its
children
We assume that the children the refpoints of the children are still
Grob *e =dynamic_cast<Grob*> (all_grobs[i]);
// todo: fucks up if item both in Halign & Valign.
- SCM min_dims = e->remove_grob_property ("minimum-space");
+ SCM min_dims = e->remove_grob_property ("minimum-space-pair");
if (gh_pair_p (min_dims) &&
gh_number_p (ly_car (min_dims))
&& gh_number_p (ly_cdr (min_dims)))
}
ENTER_DESCRIPTION(Dynamic_performer,
- "","","","","");
+ "","","","dynamicAbsoluteVolumeFunction midiMaximumVolume midiMinimumVolume midiInstrument instrumentEqualizer","");
/*
- new-staff-margin-engraver.cc -- implement Instrument_name_engraver
+ instrument-name-engraver.cc -- implement Instrument_name_engraver
source file of the GNU LilyPond music typesetter
but is only a vehicle for the placement routine it contains, and
therefore the location of its refpoint won't be very useful.
+
+ We could also just use staffsFound, but lets keep this working
+ without staffs as well.
+
*/
if (dynamic_cast<Spanner*> (i.grob_l_)
&& ((Axis_group_interface::has_interface (i.grob_l_)
str += to_str ((char)0x42);
else if (audio_l_->type_str_ == "Sustain")
str += to_str ((char)0x40);
- else if (audio_l_->type_str_ == "UnaChorda")
+ else if (audio_l_->type_str_ == "UnaCorda")
str += to_str ((char)0x43);
int pedal = ((1 - audio_l_->dir_) / 2) * 0x7f;
info_alist_ = new Pedal_info[4];
Pedal_info *p = info_alist_;
- char * names [] = { "Sostenuto", "Sustain", "UnaChorda", 0 };
+ char * names [] = { "Sostenuto", "Sustain", "UnaCorda", 0 };
char **np = names ;
do
{
SCM val = music_l ()->get_mus_property ("value");
bool ok= true;
if (val != SCM_EOL)
- ok = type_check_assignment (val, sym, ly_symbol2scm ("translation-type?"));
+ ok = type_check_assignment (sym, val, ly_symbol2scm ("translation-type?"));
if (ok)
report_to_l ()->internal_set_property (sym, val);
}
void
Push_property_iterator::process (Moment m)
{
- SCM syms = music_l ()->get_mus_property ("symbols");
+ SCM sym = music_l ()->get_mus_property ("symbol");
SCM eprop = music_l ()->get_mus_property ("grob-property");
SCM val = music_l ()->get_mus_property ("grob-value");
if (to_boolean (music_l ()->get_mus_property ("pop-first")))
Translator_def::apply_pushpop_property (report_to_l (),
- syms, eprop, SCM_UNDEFINED);
+ sym, eprop, SCM_UNDEFINED);
- Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, val);
+ Translator_def::apply_pushpop_property (report_to_l (), sym, eprop, val);
Simple_music_iterator::process (m);
}
void
Pop_property_iterator::process (Moment m)
{
- SCM syms = music_l ()->get_mus_property ("symbols");
+ SCM sym = music_l ()->get_mus_property ("symbol");
SCM eprop = music_l ()->get_mus_property ("grob-property");
- Translator_def::apply_pushpop_property (report_to_l (), syms, eprop, SCM_UNDEFINED);
+ Translator_def::apply_pushpop_property (report_to_l (), sym, eprop, SCM_UNDEFINED);
Simple_music_iterator::process (m);
}
Separating_group_spanner::set_spacing_rods_and_seqs (SCM smob)
{
set_spacing_rods (smob);
- find_musical_sequences (unsmob_grob (smob));
+
return SCM_UNSPECIFIED;
}
if (rb)
find_rods (rb, ly_cdr (s));
}
- find_musical_sequences (me);
#if 0
/*
}
-void
-Separating_group_spanner::find_musical_sequences (Grob *me)
-{
- Item *last = 0;
- Item *llast = 0;
- for (SCM s = me->get_grob_property ("elements");
- gh_pair_p (s); s = ly_cdr (s))
- {
- Item *it = dynamic_cast<Item*> (unsmob_grob (ly_car (s)));
- if (last)
- {
- Item *lcol = last->column_l ();
- Item *col = it->column_l ();
-
- int lrank = Paper_column::rank_i (lcol);
- int rank = Paper_column ::rank_i (col);
-
- bool mus = Paper_column::musical_b (col);
- bool lmus = Paper_column::musical_b (lcol);
-
- if ((lrank - rank == 2) && lmus && mus)
- {
- SCM seq = col->get_grob_property ("spacing-sequence");
- col->set_grob_property ("spacing-sequence",
- gh_cons (gh_cons (it->self_scm (), last->self_scm ()), seq));
- }
-
- if (llast && !Paper_column::breakable_b (last))
- {
- Item *llcol = llast->column_l ();
- int llrank = Paper_column::rank_i (llcol);
- bool llmus= Paper_column::musical_b (llcol);
- if (llrank - lrank == 1
- && lrank - rank == 1
- && llmus && !lmus && mus)
- {
- /*
- these columns are adjacent, so set spacing-sequence in
- IT.
-
- Q Q+1 Q+2 (rank)
- Note Clef Note
-
- IT LAST LLAST
-
- */
- SCM seq = col->get_grob_property ("spacing-sequence");
- col->set_grob_property ("spacing-sequence",
- gh_cons (gh_cons (it->self_scm (), last->self_scm ()), seq));
-
- /*
- lcol can not be a loose column, so we make sure
- that is and will not be marked as such.
- */
- lcol->set_grob_property ("between-cols" , SCM_BOOL_F);
- }
- else if (!lmus)
- {
- SCM between = lcol->get_grob_property ("between-cols");
-
- if (between == SCM_BOOL_F)
- continue;
-
- if (!gh_pair_p (between))
- {
- between = gh_cons (it->self_scm (), llast->self_scm ());
- lcol ->set_grob_property ("between-cols", between);
- }
-
- Item * left
- = dynamic_cast<Item*> (unsmob_grob (ly_car (between)));
- if(Paper_column::rank_i (left->column_l ()) < rank)
- gh_set_car_x (between, col->self_scm());
-
- Item * right
- = dynamic_cast<Item*> (unsmob_grob (ly_cdr (between)));
- if (Paper_column::rank_i (right->column_l ()) > llrank )
- gh_set_cdr_x (between, llcol->self_scm ());
- }
- }
- }
-
- llast = last;
- last = it;
- }
-}
-
-#if 0
-void
-Separating_group_spanner::set_loose_rods ()
-{
- // loose columns should also generate minimum distances.
- // TODO
-}
-#endif
-
-
void
Separating_group_spanner::set_interface (Grob*)
{
-\version "1.3.146"
+\version "1.5.33"
%
% setup for Request->Element conversion. Guru-only
\name InnerChoirStaff
alignmentReference = #0
\consists "System_start_delimiter_engraver"
- SystemStartDelimiter = #'SystemStartBracket
+ systemStartDelimiter = #'SystemStartBracket
\accepts "Staff"
\accepts "RhythmicStaff"
\consists "Span_bar_engraver"
\consists "Span_arpeggio_engraver"
\consists "System_start_delimiter_engraver"
- SystemStartDelimiter = #'SystemStartBrace
+ systemStartDelimiter = #'SystemStartBrace
Generic_property_list = #generic-grand-staff-properties
\accepts "Staff"
}
\consists "Vertical_align_engraver"
\consists "Instrument_name_engraver"
- instrument = ##f
- instr = ##f
+ instrument = #'()
+ instr = #'()
verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
VerticalAlignment \override #'forced-distance = #12
\consists "Span_bar_engraver"
\consists "Span_arpeggio_engraver"
\consists "Output_property_engraver"
- SystemStartDelimiter = #'SystemStartBracket
+ systemStartDelimiter = #'SystemStartBracket
\consists "System_start_delimiter_engraver"
\accepts "Staff"
soloADue = ##t
splitInterval = #'(0 . 1)
changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
- SystemStartDelimiter =#'SystemStartBar
- barAuto = ##t
- voltaVisibility = ##t
+ systemStartDelimiter =#'SystemStartBar
+
+
% name, glyph id, clef position
% where is c0 in this clef?
centralCPosition = #-6
automaticPhrasing = ##t
- alignmentReference = #-1 % \down
+
defaultBarType = #"|"
explicitClefVisibility = #all-visible
\consists "Key_performer"
\consists "Tempo_performer"
\consists "Time_signature_performer"
- dynamicStyle = #"dynamic"
+
}
\translator { \StaffContext }
\translator { \StaffContext
@code{Axis_group_engraver}.
")
+(translator-property-description
+ 'acknowledgeHashTable vector?
+ "Internal variable: store interface to engraver smob table for current context. Don't mess with this."
+ )
(translator-property-description 'aDueText string? "text for begin of a due")
(translator-property-description 'associatedVoice string? "Name of the Voice that has the melody for this LyricsVoice.")
@end table
")
(translator-property-description 'decrescendoSpanner symbol? "Type of spanner to be used for decrescendi. One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, @samp{dotted-line}. If unset, hairpin type is used.")
+
+(translator-property-description 'dynamicAbsoluteVolumeFunction procedure? "
+[DOCUMENT-ME]
+")
(translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
+
+
(translator-property-description 'explicitKeySignatureVisibility
procedure? "visibility-lambda function for explicit Key changes;
\override of #'visibility-lambda will set the visibility for normal
is used to determine the instrument for MIDI output.")
(translator-property-description 'instrumentEqualizer procedure? "[DOCUMENT-ME]")
-
+(translator-property-description 'instrumentSupport list? "
+list of grobs to attach instrument name to.
+")
(translator-property-description 'keyAccidentalOrder list? "
Alist that defines in what order alterations should be printed.
The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1.
(translator-property-description 'melismaEngraverBusy boolean? "See @ref{(lilypond)melismaBusy}. This is set automatically.")
(translator-property-description 'midiInstrument string? "Name of the
MIDI instrument to use ")
+(translator-property-description 'midiMinimumVolume number? "[DOCUMENT-ME]")
+(translator-property-description 'midiMaximumVolume number? "[DOCUMENT-ME]")
+
+
(translator-property-description 'noAutoBeaming boolean? "If set to true then beams are not generated automatically.
")
(translator-property-description 'noDirection boolean? "Don't set directions by a2-engraver when part-combining.")
(translator-property-description 'pedalSustainStrings list? "List of string to print for sustain-pedal. Format is
(UP UPDOWN DOWN), where each of the three is the string to print when
this is done with the pedal.")
-(translator-property-description 'pedalUnaCordaStrings string? "see pedalSustainStrings.")
-(translator-property-description 'pedalSostenutoStrings string? "see pedalSustainStrings.")
+(translator-property-description 'pedalUnaCordaStrings list? "see pedalSustainStrings.")
+(translator-property-description 'pedalSostenutoStrings list? "see pedalSustainStrings.")
(translator-property-description 'phrasingPunctuation string? "")
(translator-property-description 'rehearsalMark number-or-string? "")
(translator-property-description 'stz markup? "Abbreviated form for a stanza, see also Stanza property.")
(translator-property-description 'subdivideBeams boolean? "If set, multiple beams will be subdivided at beat
positions - by only drawing one beam over the beat.")
+(translator-property-description 'systemStartDelimiter symbol? "Which grob to make for the start of the system/staff?")
(translator-property-description 'textNonEmpty boolean? " If set
to true then text placed above or below the staff is not assumed to
have zero width. @code{\fatText} and @code{\emptyText} are predefined
conversions.append (((1,3,148), conv, '"(align" -> "(axis", "(rows" -> "(columns"'))
+if 1:
+ def conv (str):
+ str = re.sub ('SystemStartDelimiter', 'systemStartDelimiter', str)
+ return str
+ conversions.append (((1,5,33), conv, 'SystemStartDelimiter -> systemStartDelimiter'))
+
################################
# END OF CONVERSIONS