songbookize 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Creator/capo.rb +53 -0
- data/Creator/html_formatter.rb +75 -0
- data/Creator/latex_formatter.rb +113 -0
- data/Creator/midi_formatter.rb +25 -0
- data/Creator/parser.rb +150 -0
- data/Creator/slideable_song.slim +134 -0
- data/Creator/song.rb +52 -0
- data/Creator/song.slim +82 -0
- data/Creator/songbook.slim +121 -0
- data/Creator/tv.slim +33 -0
- data/LICENSE +427 -0
- data/Rakefile +95 -0
- data/Readme.md +16 -0
- data/bin/bookize +6 -0
- data/template.tex +161 -0
- metadata +59 -0
data/Readme.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Zach's Songbook
|
2
|
+
_Songs for folks. Songs I like to play the way I like to play 'em_
|
3
|
+
|
4
|
+
I noticed that lot of times when people would come over to play music, there was a lot of time spent looking up chords and lyrics. And since it's folk music, most of the time the version on the internet would different from the version I know, which would cause a bit of confusion.
|
5
|
+
|
6
|
+
Thus, I decided to make my own songbook to keep around the house, for when people come over to play music and want to sing or play along with my versions of songs.
|
7
|
+
|
8
|
+
I'm not a real musician, and I never really play from song books or play exactly the same thing twice, so everything here is more of just a suggestion rather than what to play exactly. I also make no guarantee that any of my versions of songs will match anyone else's. If you want their version, get their songbook ☺
|
9
|
+
|
10
|
+
As far as I can tell, all of the songs in this book are either in the public domain, copylefted, or written by yours truly.
|
11
|
+
|
12
|
+
The latest version of this book can be found at <http://www.zachcapalbo.com/projects/songbook.html>
|
13
|
+
|
14
|
+
The source code for this booklet can be found at <https://gitlab.com/zach-geek/songbook>
|
15
|
+
|
16
|
+
The songbook, the source code, and any songs here that I've written can be copied and shared under the Creative Commons Attribution-Share Alike license. <https://creativecommons.org/licenses/by-sa/2.5/>
|
data/bin/bookize
ADDED
data/template.tex
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
% xelatex -shell-escape file.tex
|
2
|
+
\documentclass[letterpaper]{article}
|
3
|
+
\usepackage{abc}
|
4
|
+
\usepackage{fontspec}
|
5
|
+
\usepackage{multicol}
|
6
|
+
\usepackage{varwidth}
|
7
|
+
\usepackage{url}
|
8
|
+
\usepackage{newunicodechar}
|
9
|
+
\setlength{\columnsep}{0.1cm}
|
10
|
+
|
11
|
+
\newunicodechar{☺}{{\fontspec{DejaVu Sans}☺}}
|
12
|
+
|
13
|
+
\setlength{\oddsidemargin}{2.0cm}
|
14
|
+
\setlength{\evensidemargin}{2.5cm}
|
15
|
+
\usepackage[noprint,1to1]{booklet} %\nofiles
|
16
|
+
\pagespersignature{1600} % 16 pages per signature
|
17
|
+
\ifpdf
|
18
|
+
\setpdftargetpages
|
19
|
+
\else
|
20
|
+
\setdvipstargetpages
|
21
|
+
\fi
|
22
|
+
|
23
|
+
\ifprintoption % tweak dvi output only for final printing
|
24
|
+
\special{!TeXDict begin /landplus90{true}store end}
|
25
|
+
\special{!TeXDict begin <</Tumble true>> setpagedevice end}
|
26
|
+
\else
|
27
|
+
\usepackage[margin=1cm]{geometry}
|
28
|
+
\fi
|
29
|
+
|
30
|
+
\setlength{\pagesepwidth}{0.4pt}
|
31
|
+
|
32
|
+
\setmainfont{Junge}
|
33
|
+
\usepackage{ifthen}
|
34
|
+
\usepackage{changepage}
|
35
|
+
\strictpagecheck
|
36
|
+
|
37
|
+
\let\Contentsline\contentsline
|
38
|
+
\renewcommand\contentsline[3]{\Contentsline{#1}{#2}{}}
|
39
|
+
\makeatletter
|
40
|
+
\renewcommand{\@dotsep}{10000}
|
41
|
+
\makeatother
|
42
|
+
|
43
|
+
% \usepackage{indentfirst}
|
44
|
+
% \setlength{\parindent}{0em}
|
45
|
+
\setlength{\parskip}{0.2em}
|
46
|
+
% \renewcommand{\baselinestretch}{1.3}
|
47
|
+
\headsep 20pt
|
48
|
+
|
49
|
+
\newcommand*\cleartoleftpage{%
|
50
|
+
\clearpage
|
51
|
+
\ifodd\value{page}\hbox{}\newpage\fi
|
52
|
+
}
|
53
|
+
|
54
|
+
\makeatletter
|
55
|
+
\newcommand{\ch}[1]{%
|
56
|
+
\leavevmode\@bsphack
|
57
|
+
\raisebox{2ex}{\makebox[0pt][l]{\fontspec{Source Sans Pro}\small\bfseries\strut#1}}\nolinebreak
|
58
|
+
\@esphack
|
59
|
+
}
|
60
|
+
\makeatother
|
61
|
+
|
62
|
+
|
63
|
+
\newcounter{numTunes}
|
64
|
+
\setcounter{numTunes}{1}
|
65
|
+
|
66
|
+
\newcommand\chorus{
|
67
|
+
{\fontspec{Lora}\small\bfseries\strut{}Chorus:} \\*
|
68
|
+
}
|
69
|
+
|
70
|
+
\newcommand{\melody}[1]{
|
71
|
+
\ifprintoption
|
72
|
+
\ifthenelse{\isodd{\thepage}}{\hspace{-0.35in}}{\hspace{-0.35in}}
|
73
|
+
\centerline{\includegraphics[width=\textwidth]{#1}}
|
74
|
+
\else
|
75
|
+
\centerline{\includegraphics{#1}}
|
76
|
+
\fi
|
77
|
+
}
|
78
|
+
|
79
|
+
\ifprintoption
|
80
|
+
\newenvironment{lyrics}{}{}
|
81
|
+
\newcommand\newsong{\cleartoleftpage}
|
82
|
+
\newcommand\newshortsong\newpage
|
83
|
+
\newenvironment{songverse}{\begin{verse}}{\end{verse}}
|
84
|
+
\else
|
85
|
+
\newenvironment{lyrics}
|
86
|
+
% {\begin{center}\begin{varwidth}[t]{\textwidth}}
|
87
|
+
% {\end{varwidth}\end{center}}
|
88
|
+
{\begin{center}\begin{varwidth}[t]{\textwidth}\begin{multicols}{2}}
|
89
|
+
{\end{multicols}\end{varwidth}\end{center}}
|
90
|
+
\newcommand\newsong{\newpage}
|
91
|
+
\newcommand\newshortsong\newpage
|
92
|
+
\newenvironment{songverse}{%
|
93
|
+
|
94
|
+
\begin{minipage}{\columnwidth}
|
95
|
+
\setlength{\parskip}{0.2em}
|
96
|
+
\begin{verse}
|
97
|
+
}
|
98
|
+
{
|
99
|
+
\end{verse}\vspace{0.2em}\end{minipage}
|
100
|
+
|
101
|
+
}
|
102
|
+
\fi
|
103
|
+
|
104
|
+
\newcommand\newtune{%
|
105
|
+
\stepcounter{numTunes}
|
106
|
+
\ifthenelse{\value{numTunes}=2}{%
|
107
|
+
\newpage
|
108
|
+
\setcounter{numTunes}{0}
|
109
|
+
}{}
|
110
|
+
}
|
111
|
+
|
112
|
+
\renewcommand{\thesection}{\arabic{section}}
|
113
|
+
\makeatletter
|
114
|
+
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\quad}
|
115
|
+
\makeatother
|
116
|
+
|
117
|
+
\newcommand\songdesc[1]{
|
118
|
+
\textit{\indent\fontspec{Old Standard TT}#1}
|
119
|
+
}
|
120
|
+
|
121
|
+
\newcommand\songinfo[2]{
|
122
|
+
\vspace{0.0cm}
|
123
|
+
|
124
|
+
\ifprintoption
|
125
|
+
\begin{center}\parbox{0.9\linewidth}{\small \fontspec{Old Standard TT}#1 \hfill \textit{#2}}\end{center}
|
126
|
+
\else
|
127
|
+
\begin{center}\parbox{0.75\linewidth}{\small \fontspec{Old Standard TT}#1 \hfill \textit{#2}}\end{center}
|
128
|
+
\fi
|
129
|
+
\vspace{-1.0cm}
|
130
|
+
|
131
|
+
}
|
132
|
+
|
133
|
+
\newcommand\nmsonginfo[2]{
|
134
|
+
{\small \fontspec{Old Standard TT}#1 \\* \indent \textit{#2}}
|
135
|
+
}
|
136
|
+
|
137
|
+
\title{\Huge TITLEGOESHERE \\ {\large SUBTITLEGOESHERE}}
|
138
|
+
|
139
|
+
\begin{document}
|
140
|
+
{\fontspec{Indie Flower}\maketitle\newpage}
|
141
|
+
|
142
|
+
\ifprintoption
|
143
|
+
\else
|
144
|
+
\vspace*{5cm}
|
145
|
+
\fi
|
146
|
+
|
147
|
+
\begin{center}
|
148
|
+
\begin{varwidth}[t]{0.65\textwidth}
|
149
|
+
\setlength{\parskip}{1.2em}
|
150
|
+
\setlength{\parindent}{1.2em}
|
151
|
+
PREFACEGOESHERE
|
152
|
+
\end{varwidth}
|
153
|
+
\end{center}
|
154
|
+
|
155
|
+
\newpage
|
156
|
+
|
157
|
+
\tableofcontents\thispagestyle{empty}
|
158
|
+
|
159
|
+
SONGGOESHERE
|
160
|
+
|
161
|
+
\end{document}
|
metadata
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: songbookize
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Zach Capalbo
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-12-29 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Generate your own PDF/HTML songbook.
|
14
|
+
email: zach.geek@gmail.com
|
15
|
+
executables:
|
16
|
+
- bookize
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- Creator/capo.rb
|
21
|
+
- Creator/html_formatter.rb
|
22
|
+
- Creator/latex_formatter.rb
|
23
|
+
- Creator/midi_formatter.rb
|
24
|
+
- Creator/parser.rb
|
25
|
+
- Creator/slideable_song.slim
|
26
|
+
- Creator/song.rb
|
27
|
+
- Creator/song.slim
|
28
|
+
- Creator/songbook.slim
|
29
|
+
- Creator/tv.slim
|
30
|
+
- LICENSE
|
31
|
+
- Rakefile
|
32
|
+
- Readme.md
|
33
|
+
- bin/bookize
|
34
|
+
- template.tex
|
35
|
+
homepage: https://github.com/zach-capalbo/zachs-songbook
|
36
|
+
licenses:
|
37
|
+
- MIT
|
38
|
+
metadata: {}
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options: []
|
41
|
+
require_paths:
|
42
|
+
- lib
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
requirements: []
|
54
|
+
rubyforge_project:
|
55
|
+
rubygems_version: 2.4.8
|
56
|
+
signing_key:
|
57
|
+
specification_version: 4
|
58
|
+
summary: Songbook Generator
|
59
|
+
test_files: []
|