// todo
if (dx >= 400 PT)
{
- WARN<<"halfslur too large" <<print_dimen (dx)<< "shrinking (ugh)\n";
+ WARN<<_("halfslur too large") <<print_dimen (dx)<< _("shrinking (ugh)\n");
dx = 400 PT;
}
int widx = int (floor (dx / 4.0));
dx = widx * 4.0;
if (widx) widx --;
- else
+ else
{
- WARN << "slur too narrow\n";
+ WARN << _("slur too narrow\n");
}
Atom s;
-
+
s.dim_[Y_AXIS] = Interval (min (0, 0), max (0, 0)); // todo
s.dim_[X_AXIS] = Interval (-dx/2, dx/2);
}
/*
- The halfslurs have their center at the end pointing away from the notehead.
+ The halfslurs have their center at the end pointing away from the notehead.
This lookup translates so that width() == [0, w]
*/
return half_slur_middlepart (dx, dir);
int widx;
-
- if (dx >= 96 PT)
+
+ if (dx >= 96 PT)
{
- WARN << "Slur half too wide." << print_dimen (orig_dx) << " shrinking (ugh)\n";
+ WARN << _("Slur half too wide.") << print_dimen (orig_dx) << _(" shrinking (ugh)\n");
dx = 96 PT;
}
dx = widx*12.0;
if (widx)
widx --;
- else
+ else
{
- WARN << "slur too narrow " << print_dimen (orig_dx)<<"\n";
+ WARN << _("slur too narrow ") << print_dimen (orig_dx)<<"\n";
}
-
+
Atom s;
s.dim_[X_AXIS] = Interval (0, dx);
s.dim_[Y_AXIS] = Interval (min (0, dy), max (0, dy));
idx = widx * 16 + hidx;
if (xpart < 0)
idx += 128;
-
+
assert (idx < 256);
f+=String ("{") + String (idx) + "}";
-
+
s.tex_ = f;
-
+
return s;
}
Atom
Lookup::slur (int dy , Real &dx, Direction dir) const
{
-
+
assert (abs (dir) <= 1);
if (dx < 0)
{
- warning ("Negative slur/tie length: " + print_dimen (dx));
+ warning (_("Negative slur/tie length: ") + print_dimen (dx));
dx = 4.0 PT;
}
Direction y_sign = (Direction) sign (dy);
bool large = abs (dy) > 8;
- if (y_sign)
+ if (y_sign)
{
large |= dx>= 4*16 PT;
}
else
large |= dx>= 4*54 PT;
-
- if (large)
+
+ if (large)
{
return big_slur (dy, dx, dir);
}
dx = 4.0 * widx;
if (widx)
widx --;
- else
+ else
{
- WARN << "slur too narrow: " << print_dimen (orig_dx) << "\n";
+ WARN << _("slur too narrow: ") << print_dimen (orig_dx) << "\n";
}
int hidx = dy;
if (hidx <0)
hidx = -hidx;
- hidx --;
- if (hidx > 8)
+ hidx --;
+ if (hidx > 8)
{
- WARN<<"slur to steep: " << dy << " shrinking (ugh)\n";
+ WARN<<_("slur to steep: ") << dy << _(" shrinking (ugh)\n");
}
-
+
Atom s;
s.dim_[X_AXIS] = Interval (0, dx);
s.dim_[Y_AXIS] = Interval (min (0, dy), max (0, dy));
String f = String ("\\slurchar") + String (direction_char (y_sign));
int idx=-1;
- if (y_sign)
- {
+ if (y_sign)
+ {
idx = hidx * 16 + widx;
if (dir < 0)
idx += 128;
}
- else
+ else
{
- if (dx >= 4*54 PT)
+ if (dx >= 4*54 PT)
{
- WARN << "slur too wide: " << print_dimen (dx) <<
- " shrinking (ugh)\n";
+ WARN << _("slur too wide: ") << print_dimen (dx) <<
+ _(" shrinking (ugh)\n");
dx = 4*54 PT;
}
idx = widx;
if (dir < 0)
- idx += 54;
+ idx += 54;
}
-
+
assert (idx < 256);
f+=String ("{") + String (idx) + "}";
s.tex_ = f;
s.translate_axis (dx/2, X_AXIS);
- return s;
+ return s;
}
Atom
Lookup::big_slur (int dy , Real &dx, Direction dir) const
{
- if (dx < 24 PT)
+ if (dx < 24 PT)
{
- warning ("big_slur too small " + print_dimen (dx) + " (stretching)");
+ warning (_("big_slur too small ") + print_dimen (dx) + _(" (stretching)"));
dx = 24 PT;
}
-
- Real slur_extra =abs (dy) /2.0 + 2;
+
+ Real slur_extra =abs (dy) /2.0 + 2;
int l_dy = int (Real (dy)/2 + slur_extra*dir);
int r_dy = dy - l_dy;
Real right_wid = left_wid;
Atom l = half_slur (l_dy, left_wid, dir, -1);
-
-
+
+
Atom r = half_slur (r_dy, right_wid, dir, 1);
Real mid_wid = dx - left_wid - right_wid;
s.dim_ = mol.extent();
return s;
}
-
-