%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                        %
%      This file is part of the 'lilyglyphs' LaTeX package.              %
%                                ==========                              %
%                                                                        %
%              https://github.com/openlilylib/lilyglyphs                 %
%               http://www.openlilylib.org/lilyglyphs                    %
%                                                                        %
%  Copyright 2012-2020 Urs Liska and others, ul@openlilylib.org          %
%                                                                        %
%  'lilyglyphs' is free software: you can redistribute it and/or modify  %
%  it under the terms of the LaTeX Project Public License, either        %
%  version 1.3 of this license or (at your option) any later version.    %
%  You may find the latest version of this license at                    %
%               http://www.latex-project.org/lppl.txt                    %
%  more information on                                                   %
%               http://latex-project.org/lppl/                           %
%  and version 1.3 or later is part of all distributions of LaTeX        %
%  version 2005/12/01 or later.                                          %
%                                                                        %
%  This work has the LPPL maintenance status 'maintained'.               %
%  The Current Maintainer of this work is Urs Liska (see above).         %
%                                                                        %
%  This work consists of the files listed in the file 'manifest.txt'     %
%  which can be found in the 'license' directory.                        %
%                                                                        %
%  This program is distributed in the hope that it will be useful,       %
%  but WITHOUT ANY WARRANTY; without even the implied warranty of        %
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  %
%                                                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This file is part of the lilyglyphs package %
% and defines one subset of glyphs            %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%
% Rests %
%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%
% Whole note rests

% "rests.1o - whole note rest upwards"
\newcommand*{\wholeNoteRest}[1][]{%
	\setkeys{lilyDesignOptions}{scale=1.3,raise=0.4}%
	\lilyPrint[#1]{\hspace*{0.25ex}\lilyGetGlyph{rests.0o}}%
}

% Dotted whole note rest
\newcommand*{\wholeNoteRestDotted}[1][]{%
	% define the optional arguments for the dot
	\setkeys{lilyDesignOptions}{scale=0.8,raise=0.2}%
	% Calculate effective scale/raise and the hspace for the dot
	\lilySetDotOptions[#1]{0}{0.5}{0.4}%
	% Print the rest and then the dot
	\wholeNoteRest[#1]\lilyDotSpace\lilyPrintDot
}


%%%%%%%%%%%%%%%%%
% Half note rests
%%%%%%%%%%%%%%%%%

% "rests.1o - half note rest upwards"
\newcommand*{\halfNoteRest}[1][]{%
	\setkeys{lilyDesignOptions}{scale=1.3,raise=0.4}%
	\lilyPrint[#1]{\hspace*{0.25ex}\lilyGetGlyph{rests.1o}}%
}

% Dotted half note rest
\newcommand*{\halfNoteRestDotted}[1][]{%
	% define the optional arguments for the dot
	\setkeys{lilyDesignOptions}{scale=0.8,raise=0.2}%
	% Calculate effective scale/raise and the hspace for the dot
	\lilySetDotOptions[#1]{0}{0.5}{0.4}%
	% Print the rest and then the dot
	\halfNoteRest[#1]\lilyDotSpace\lilyPrintDot
}

%%%%%%%%%%%%%%%%%
% Crotchet Rests
%%%%%%%%%%%%%%%%%

% Crotchet Rest
\newcommand*{\crotchetRest}[1][]{%
	\setkeys{lilyDesignOptions}{scale=1.3,raise=0.5}%
	\lilyPrint[#1]{\lilyGetGlyph{rests.2}}%
}

% Dotted crotched rest
\newcommand*{\crotchetRestDotted}[1][]{%
	% define the optional arguments for the dot
	\setkeys{lilyDesignOptions}{scale=0.8,raise=0.2}%
	% Calculate effective scale/raise and the hspace for the dot
	\lilySetDotOptions[#1]{0}{0}{-0.5}%
	% Print the rest and then the dot
	\crotchetRest[#1]\lilyPrintDot%
}

%%%%%%%%%%%%%%%
% Quaver Rests
%%%%%%%%%%%%%%%

% Quaver Rest
\newcommand*{\quaverRest}[1][]{%
	\setkeys{lilyDesignOptions}{scale=1.3,raise=0.5}%
	\lilyPrint[#1]{\lilyGetGlyph{rests.3}}%
}

% Dotted crotched rest
\newcommand*{\quaverRestDotted}[1][]{%
	% define the optional arguments for the dot
	\setkeys{lilyDesignOptions}{scale=0.8,raise=0.2}%
	% Calculate effective scale/raise and the hspace for the dot
	\lilySetDotOptions[#1]{0}{0}{-0.5}%
	% Print the rest and then the dot
	\quaverRest[#1]\lilyPrintDot%
}


%%%%%%%%%%%%%%%%%%
% Semiquaver Rests
%%%%%%%%%%%%%%%%%%

% Semiquaver Rest
\newcommand*{\semiquaverRest}[1][]{%
	\setkeys{lilyDesignOptions}{scale=1.3,raise=0.5}%
	\lilyPrint[#1]{\lilyGetGlyph{rests.4}}%
}

% Dotted crotchet rest
\newcommand*{\semiquaverRestDotted}[1][]{%
	% define the optional arguments for the dot
	\setkeys{lilyDesignOptions}{scale=0.8,raise=0.2}%
	% Calculate effective scale/raise and the hspace for the dot
	\lilySetDotOptions[#1]{0}{0}{-0.3}%
	% Print the rest and then the dot
	\semiquaverRest[#1]\lilyPrintDot%
}
