songbookize 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rake'
3
+ require 'pry'
4
+ load "#{File.dirname(__FILE__)}/../Rakefile"
5
+
6
+ Rake.application[ARGV[0] || 'default'].invoke
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: []