Fixes Issue 1504, allowing feather beam line breaking.
[lilypond/patrick.git] / lily / note-column-scheme.cc
blobbf76ce9112862883e2c995d2e1aeae4f1470647b
1 /*
2 This file is part of LilyPond, the GNU music typesetter.
4 Copyright (C) 2010--2011 Nicolas Sceaux <nicolas.sceaux@free.fr>
6 LilyPond is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 LilyPond is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
20 #include "note-column.hh"
21 #include "lily-guile.hh"
22 #include "grob.hh"
24 LY_DEFINE (ly_note_column_accidentals, "ly:note-column-accidentals",
25 1, 0, 0, (SCM note_column),
26 "Return the @code{AccidentalPlacement} grob from @var{note-column}"
27 " if any, or @code{SCM_EOL} otherwise.")
29 Grob *grob = unsmob_grob (note_column);
30 LY_ASSERT_SMOB (Grob, note_column, 1);
31 Grob *acc = Note_column::accidentals (grob);
32 if (acc)
33 return acc->self_scm ();
34 return SCM_EOL;
37 LY_DEFINE (ly_note_column_dot_column, "ly:note-column-dot-column",
38 1, 0, 0, (SCM note_column),
39 "Return the @code{DotColumn} grob from @var{note-column}"
40 " if any, or @code{SCM_EOL} otherwise.")
42 Grob *grob = unsmob_grob (note_column);
43 LY_ASSERT_SMOB (Grob, note_column, 1);
44 Grob *dot_column = Note_column::dot_column (grob);
45 if (dot_column)
46 return dot_column->self_scm ();
47 return SCM_EOL;