Giter VIP home page Giter VIP logo

openbook's Introduction

openbook

version: 0.0.1

description: OpenBook is an open source Jazz real book

website: https://veltzer.github.io/openbook

Build

build

OpenBook is a standards book for Jazz players which containts hundreds of jazz standards

Contact

chat with me at gitter

What is OpenBook?

OpenBook is a Jazz real book constructed with free software. A real book simply means a big book with lots ofJazz tunes or standards as they are more widely known.

Where is the project's website?

https://veltzer.github.io/openbook

Why did you start this?

Because of many reasons:

  • I wanted to learn Jazz, and a good way to do that is to write down the tunes (amongst many other things).
  • I wanted beautiful sheet music that I could fiddle with.
  • I did not want to pay for the overly expensive real or fake books out there.
  • I believe in free software and wanted free (in the sense of freedom) sheet music.
  • Jazz is a prime example of a free type of art, so it's conjunction with free software seems a match made in heaven.
  • Jazz musicians may need beautiful electronic Real books because electronic books are starting to be used by Jazz musicians both for practice and for performance.

What tools are used?

  • python3: for the python scripts
  • virtualenv: for using virtualenv for python
  • lilypond: this is the main tool we use
  • qpdf: for qpdf(1) (used in pdf size reduction)
  • ghostscript: for ps2pdf(1), pdf2ps(1), gv (used in pdf size reduction and cutting pdfs)
  • timidity: play output midi and convert midi to wav
  • lame: convert audio (encode ogg)
  • tidy: for tidy(1) (used in checking HTML)
  • okular: kde pdf reader
  • python-mako-doc: documentation for the template preprocessor
  • texi2html: needed to install lilypond from source
  • guile-2.2-dev: needed to install lilypond from source
  • lilypond-doc: documentation for lilypond
  • lilypond-doc-html: documentation for lilypond
  • lilypond-doc-pdf: documentation for lilypond
  • npm: for htmlhint

What python modules are used?

  • pytconf: Configuration, command line and injection framework for python
  • python-dateutil: Extensions to the standard Python datetime module
  • tqdm: Fast, Extensible Progress Meter
  • PyMySQL: Pure Python MySQL Driver
  • Mako: A super-fast templating language that borrows the best ideas from the existing templating languages.
  • requests: Python HTTP for Humans.
  • gitpython: GitPython is a Python library used to interact with Git repositories

What is produced?

Beautiful and lightweight postscript and PDF real books with Jazz tunes. The idea is that the end user can control the final output and decide if he/she wants lyrics, size of paper, transposition for a trumpet, selection of tunes and more. In addition, you can produce midi, mp3 and ogg outputs. Possibly other output formats will be supported in the future (epub?).

What is the copyright?

All the stuff in this project is GPL version 3. The tunes themselves have their own copyright holders.

Who can contribute?

Anyone.

What system do I need to participate?

A Linux system that you can install software on. Mac OSX is reported to work too if you know how to install the right stuff on it. Windows is not currently supported although well-formed patches will be accepted. (disclaimer: the author hates Windows with a vengence so patches have to be spotless to be accepted)

What do I need to know to participate?

  • Some rudimentary Linux system administration (in order to install the software needed for this project to build).
  • Some basic git software content tracking (in order to fetch the project, modify and submit patches).
  • The lilypond language (in order to edit or add tunes).
  • Some music knowledge would also help...:)

Who currently contributes?

Look at the CREDITS file

Your name could be here if you contribute...

Where can I see some results?

Check out the PDFs and other outputs in https://veltzer.github.io/openbook.

Why is there so little documentation?

I just started this project (4 years all in all -> that's not true: it's 12 years in the making). Feel free to add stuff and request a pull. Contributing may make you an admin...

How do you write the standards?

Using lilypond. Check it out at http://www.lilypond.org/.

Will you co-operate with the lilypond, mutopia and wikifonia communities?

YES! Any bugs or feature suggestion are submitted to the lilypond community. Any requests for pieces from the mutopia community will be respected. Wikifonia uses musicXML for typesetting while I use an essentially lilypond format as input format - so there could not be much co-operation there.

Do you only allow Jazz tunes?

No. Rock and Pop will be welcome and so would classical. If you are really into classical lilypond production, you may alternativly wish to contribute to the mutopia project at http://www.mutopiaproject.org/.

How do I build the pdfs?

  • you need tools installed. on Ubuntu $ sudo apt install lilypond qpdf
  • clone the repository $ git clone git://github.com/veltzer/openbook.git
  • cd into the newly created folder $ cd openbook
  • install python tools to create a python virtual envrionment. on Ubuntu $ sudo apt install python3 virtualenv
  • create a python virtual environment $ virtualenv --python=/usr/bin/python3 .venv
  • activate the virutal env $ source .venv/bin/activate
  • update pip $ python -m pip install --upgrade pip
  • install the python prerequisites $ pip install -r requirements.txt
  • run the build process $ make
  • the pdfs should now be built, and you will find them in the 'docs' folder.
  • if you want to build all the tunes individually then run $ make all_tunes

MacOS user notes

How do I contribute?

  • create an account on github.
  • hack on the .ly.mako files (git add the files that you hack on).
  • commit to your own hard drive repository (git commit).
  • push to git hub (git push).
  • send me a pull request (button in the github ui).

Can I just add a single tune?

Yes. To add a tune named [tunename] just add single file named

src/openbook/[tunename].ly.mako

Yes, the extension should be .mako since I use "mako" for templating. In that file there are sections. Just copy them from some other tune. One section for chords, another for lyrics, another for the melody etc. After working on the tune build just a single tune by issueing:

make out/src/openbook/[tunename].pdf

or

make out/src/openbook/[tunename].midi

or

make out/src/openbook/[tunename].stamp

to get both pdf and midi.

To get the external pdfs build

make out/src/openbook/[tunename].?.pdf

Can I just build a single tune?

Sure. Just use:

make out/src/openbook/[tunename].pdf

to build the pdf

make out/src/openbook/[tunename].midi

to build the midi

make out/src/openbook/[tunename].stamp

to get both pdf and midi.

What about MusicXML?

Sorry, this project is lilypond based. Patches for MusicXML will be welcome, but I don't see how they will fit into this project.

Can I send corrections to the tunes without learning lilypond and all the rest of the stuff?

Yes. Just send them as regular text via my email below.

Where can I get more documentation about this project?

Look in the doc subfolder of the source code...

How can I get a version of this book in a key other than C?

Just edit include/common.ly.mako and change TONALITY="c" to "bes" or "ees" before compiling.

How do I download the external pdfs to compare them to this project?

Just run:

make real_books_archive.gi

and look at the resulting real_books_archive.gi folder that is created.

Mark Veltzer, Copyright ยฉ 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024

openbook's People

Contributors

arktisvogel avatar captbaritone avatar glynnforrest avatar michadnt avatar skuzzymiglet avatar veltzer avatar wgruenberger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openbook's Issues

Problems running make

Thanks for this project but I'm not sure I can get off the ground with it. I just wanted to let you know of a few problems I ran into trying to get the build system to work, which may be representative of problems other people have.

I'm running Ubuntu 14.04 which has Python 3.4. Maybe there's something simple I can do, but system is unfamiliar and at this point I really can't tell. It is nice just to have the song pdf's, though, and even if I don't get things going I can find some other way to plumb the mako files for the .ly source (one reason for looking at this is to get up to speed coding jazz standards with Lilypond.

  1. The main readme says I can run ./scripts/ubuntu_install.py to install necessary packages, but I was unable to find any script with that name.
  2. I eventually discovered that I needed to install the 'templar' module, found that info here at github in issues section but didn't notice it in the docs.
  3. After getting some errors, I manually went through install_deps.py, install2_deps.py, and install3_deps.py in templar package. It downloaded a couple of modules. It gave 404 errors for the sample files from the veltzer website, so I ended up commenting out those lines.
  4. When I run tdefs.py in /usr/share/templar/templardefs manually I get an empty file. I assume this means something's not right.

5. When I run 'make' examples I get error message below, and checking manually I find that the get_mod_list() function returns an empty list:

Traceback (most recent call last):
File "/usr/bin/templar_cmd", line 15, in
templar.cmdline.cmdline()
File "/usr/lib/python3/dist-packages/templar/cmdline.py", line 97, in cmdline
print(' '.join(templar.api.get_all_deps()))
File "/usr/lib/python3/dist-packages/templar/api.py", line 67, in get_all_deps
for m in get_mod_list():
File "/usr/lib/python3/dist-packages/templar/api.py", line 49, in get_mod_list
m=ml.load_module()
AttributeError: 'NoneType' object has no attribute 'load_module'
doing [out/tools.stamp]
Traceback (most recent call last):
File "/usr/bin/templar_cmd", line 15, in
templar.cmdline.cmdline()
File "/usr/lib/python3/dist-packages/templar/cmdline.py", line 89, in cmdline
d=templar.api.load_and_populate()
File "/usr/lib/python3/dist-packages/templar/api.py", line 54, in load_and_populate
for m in get_mod_list():
File "/usr/lib/python3/dist-packages/templar/api.py", line 49, in get_mod_list
m=ml.load_module()
AttributeError: 'NoneType' object has no attribute 'load_module'

make: *** [out/tools.stamp] Error 1

templar package

I am unable to locate the templar package on Ubuntu; I installed templar using pip3 install templar, but it seems to be name-coincidence and no what is really needed --

Makefile:1: /usr/share/templar/make/Makefile: No such file or directory

I am running Ubuntu 14.10. Googling /usr/share/templar/make/Makefile only returns pages of this or related projects. What is happening?

syntax error on lilypond compile, "unexpected UNSIGNED"

I'm trying to compile a single song file with Lilypond. I get the syntax error "unexpected UNSIGNED" for the assignments to youtube variables, e.g.:

idyoutuberemark1="Original from Kind of Blue"
idyoutube1="PoPL7BExSQU"
idyoutuberemark2="Bill Evans in a piano version"
idyoutube2="mW_7gRH7ASE"

The error is caused because my Lilypond (v. 2.16.2) has restrictions on use of numbers in variable names. 2.16.2 is the version available in my Ubuntu repository, so far as I know wouyld require manual installation if I wanted more recent version, and I can't find anything in Openbook docs that says I need more recent version.

Does more recent Lilypond fix this error, or is it in fact due to something else I"m not seeing?

On another note, I've developed a farly simply awk script (180 lines with comments, no outside packages or utilities required, other than Lilypond) that handles the compilation of song files with templates into valid .ly files, requiring just some simple changes to the main template file 'common.ly.mako' and no changes at all to the song files. It seems to be a heck of a lot simpler than the Python system currently being used, and has advantage of being non-confusing and easily installable on Windows, LInux, Mac, if it's not there by default. I'm polishing up a bit and may extend it to do most or all of the file creation stuff that's done in the current Make system.

Consider dropping outside dependencies and just using LilyPond

You seem to be using a lot of different tools to do things you can do within LilyPond directly.

Have you never seen a multi-directory, multi-file LilyPond project that can be built a number different ways? Here's an example: https://github.com/mrbeany/shipping-containers

It's from an art-album I did a while back. I wanted it to be easy to re-use, so it only depends upon LilyPond. It can be built one of five different ways out-of-the-box (Fakebook, SATB, MIDIs, A4 Songbook and Letter Songbook), plus any of the pieces of sheet music can be built adhoc.

I mean, a basic LilyPond templating/Mako replacement can be done by using LilyPond variables and a common "LilyPondLogic.lyi" include. That common file can check for global variables and adjust things right there.

I've seen the issues users have with some of the dependencies. I'm sure you have other people who would be potential users, but they get frustrated without commenting. You can get rid of all of the dependency issues.

It's a LilyPond project. There's no reason for outside dependencies.

Special rendering for LinnStrument

I'm working on an adaption of the OpenBook where I render the sheet-music especially for the LinnStrument.
Which looks like this:

image

Are you interested to include this here, or shall I simply crate a separate repository?

Legend of symbols

This is a great project; much thanks for all of the great work. Might you consider adding a symbol key in a future revision? It would help us newer jazz cats.

Add back in double bar at end of song

We disabled the double bar at the end of each section because it was breaking repeats at the end of sections, but we also removed the thick double-bar at the end of each song. Was this interfering with repeats at the end of songs?

If no, we should re-enable them because we need a thick double bar at the end of each tune, if yes, what are our other options?

Note: They were removed in commit e0133b4

Section markers can be confused with chord names

Occasionally the \marks can be in a position where it's hard to distinguish them from chord names. Lilypond can easily create rehearsal marks with a circle or square around them, but according to this documentation that's only when you use \mark \default.

The only way I can think to implement this would be to replace every instance of \mark with some user defined function. Maybe someone else has another idea?

Compiling to Bb, Eb, etc.

Would it be possible (or is it already possible) to compile copies in Bb, Eb, and bass clef? I feel Lilypond should allow this relatively easily, but I'm not familiar enough with the structure of this project to know for sure.

P.S. Thanks for an amazing resource! :-)

ParamCreator import

Getting the following error on make:

ImportError: cannot import name 'ParamCreator' from 'pytconf.config' 

Looks like the import in wrapper_lilypond.py should be:

from ParamCreator.param import ParamCreator

How to transpose the songs?

Probably not an issue but rather a sign of me being a lilypond newbie. One of the main benefits of openbook for me would be the possibility to easily transpose the songs to other keys. Is that possible, and if so, how?

Convert the Todo list to GitHub issues

It might be nice to use GitHub issues instead of the TODO text file. This might encourage others to work on these issues and submit pull requests. At the very least it would enable people to comment on the issues with suggestions or votes of encouragement.

I realize that this would increase your dependency on GitHub which you may not be interested in. If that is the case, feel free to dismiss this suggestion.

Standardize turnarounds

Some tunes have parenthesized notes at the end, and some just have the turnaround chords in the last few measures. Others have explicit first/second endings.

I think the explicit alternate ending for the first time (turnaround) and the last time (end) is much cleaner. I propose that all tunes that include turnarounds should be notated that way.

If you agree, I would be willing to work on cleaning up those tunes that don't yet fulfil that requirement.

I think the chords for Summertime could be improved

I think the chords for the Gershwin tune Summertime could be improved. However, I know this is might be a tricky issue as harmonizations are ultimately a matter of preference. In this particular case the chords would change about twice a measure and I think the new chords would be an obvious improvement.

What is your policy for things like this? Are you interested in pull requests refining and improving harmonizations? I don't want to step on your toes.

Thanks for all your work on this project. As you can probably tell I've become very excited about it and am eager to help. I hope my flood of pull requests has not overwhelmed you.

FileNotFoundError: [Errno 2] No such file or directory: 'qpdf': 'qpdf

This project is so exciting. I was actually just looking for a lilypond file of Summertime for a student 'cause I was (or thought I was) in a rush. Came across github.com/tj64/org-bandbook, which lead me here.

I'm on a Mac. Ran under python3 -v Python 3.7.7 with the built-in venv: python3 -m venv openbook, cd openbook, source bin/activate, make. Got the above error somewhere in rendering the rock book:

$ tree docs -L 2
docs
โ”œโ”€โ”€ build
โ”‚ย ย  โ”œโ”€โ”€ pdf.js
โ”‚ย ย  โ”œโ”€โ”€ pdf.js.map
โ”‚ย ย  โ”œโ”€โ”€ pdf.worker.js
โ”‚ย ย  โ””โ”€โ”€ pdf.worker.js.map
โ”œโ”€โ”€ drumming.ly
โ”œโ”€โ”€ drumming.pdf
โ”œโ”€โ”€ drumming.ps
โ”œโ”€โ”€ favicon.ico
โ”œโ”€โ”€ guitar_album.ly
โ”œโ”€โ”€ guitar_album.pdf
โ”œโ”€โ”€ guitar_album.ps
โ”œโ”€โ”€ index.html
โ”œโ”€โ”€ israeli.ly
โ”œโ”€โ”€ israeli.pdf
โ”œโ”€โ”€ israeli.ps
โ”œโ”€โ”€ openbook.ly
โ”œโ”€โ”€ openbook.pdf
โ”œโ”€โ”€ openbook.ps
โ”œโ”€โ”€ rockbook.ly
โ”œโ”€โ”€ rockbook.pdf
โ”œโ”€โ”€ rockbook.ps
โ””โ”€โ”€ web
    โ”œโ”€โ”€ cmaps
    โ”œโ”€โ”€ debugger.js
    โ”œโ”€โ”€ images
    โ”œโ”€โ”€ locale
    โ”œโ”€โ”€ viewer.css
    โ”œโ”€โ”€ viewer.html
    โ”œโ”€โ”€ viewer.js
    โ””โ”€โ”€ viewer.js.map

Rock book TOC:

Ain't No Sunshine / Bill Withers 3 
Baby One More Time / Max Martin 4 
Creep / Radiohead 5 
Days Like This / Van Morrison 6 
Forever Young / Alphaville 7 
I Am Beautiful / Linda Perry 8 
Lucky Man / Greg Lake 9 
Shape of My Heart / Sting, Dominic Miller, Sting 10 
Talkin' Bout A Revolution / Tracy Chapman 11

Here is the full traceback:

Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py", line 179, in <module>
    main()
  File "/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py", line 175, in main
    config_arg_parse_and_launch()
  File "/Users/mikekilmer/Music/Lilypond/openbook/lib/python3.7/site-packages/pytconf/config.py", line 485, in config_arg_parse_and_launch
    launch=launch, args=args, app_name=app_name,
  File "/Users/mikekilmer/Music/Lilypond/openbook/lib/python3.7/site-packages/pytconf/config.py", line 368, in config_arg_parse_and_launch
    function_to_run()
  File "/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py", line 153, in run
    system_check_output(['qpdf', '--linearize', ConfigAll.pdf, t.name])
  File "/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py", line 61, in system_check_output
    pr = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'qpdf': 'qpdf'
make: *** [docs/rockbook.pdf] Error 1

When I moved the docs directory and ran make again, it errored out sooner:

$ make
doing [docs/openbook.ly]
doing [docs/openbook.pdf]
/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py: stderr is
warning: compressing over-full page by 1.5 staff-spaces
warning: page 16 has been compressed

/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py: return code is [0]
/Users/mikekilmer/Music/Lilypond/openbook/scripts/wrapper_lilypond.py: error in executing ['lilypond', '--loglevel=WARNING', '--ps', '--pdf', '--output=docs', 'docs/openbook.ly']
make: *** [docs/openbook.pdf] Error 1

Using LilyPond 2.19.82. Going to try upgrading and see if that helps.

Stop storing pdfs in the epdf section.

Store page numbers and have an extract program to extract the right pages from a collection of real books which is out of the git tree. @veltzer

Do you have an idea where the new files would live? Another repo? A web-server? Your local hard-drive?

build: UnicodeDecode error if LANG=C

A minor problem, but sometimes I set the terminal LANG to C to print messages in english instead of my locale. This is the error when I run make:

$ make
doing [out/openbook.ly]
Traceback (most recent call last):
  File "scripts/wrapper_mako.py", line 101, in <module>
    raise e
  File "scripts/wrapper_mako.py", line 65, in <module>
    filelist=list(filter(is_ready,filelist))
  File "scripts/wrapper_mako.py", line 16, in is_ready
    for line in open(file):
  File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 7024: ordinal not in range(128)
Makefile:390: recipe for target 'out/openbook.ly' failed
make: *** [out/openbook.ly] Error 1

SyntaxException in file 'src/include/common.makoi' at line: 2 char: 1

right after a git clone, i am running make in the openbook root directory and get the following error

make
doing [out/openbook.ly]
Traceback (most recent call last):
File "scripts/mako_book.py", line 38, in
template=mako.template.Template(filename=common,lookup=mylookup,output_encoding=output_encoding,input_encoding=input_encoding)
File "/usr/lib/pymodules/python2.6/mako/template.py", line 93, in init
(code, module) = _compile_text(self, file(filename).read(), filename)
File "/usr/lib/pymodules/python2.6/mako/template.py", line 257, in _compile_text
node = lexer.parse()
File "/usr/lib/pymodules/python2.6/mako/lexer.py", line 152, in parse
if self.match_control_line():
File "/usr/lib/pymodules/python2.6/mako/lexer.py", line 304, in match_control_line
raise exceptions.SyntaxException("Invalid control line: '%s'" % text, *self.exception_kwargs)
mako.exceptions.SyntaxException: Invalid control line: '% end verbatim - this comment is a hack to prevent texinfo.tex' in file 'src/include/common.makoi' at line: 2 char: 1
make: *
* [out/openbook.ly] Fehler 1

i wonder if this error is related to to the following errors (german ubuntu)

make check_all
doing [check_empty_copyright]
make: [check_empty_copyright] Fehler 1 (ignoriert)
doing [check_ws]
doing [check_and]
make: [check_and] Fehler 1 (ignoriert)
make: [check_and] Fehler 1 (ignoriert)
doing [check_extra_files]
doing [check_min_chords]
make: [check_min_chords] Fehler 1 (ignoriert)
doing [check_uuid]
doing [check_chordChanges]
make: [check_chordChanges] Fehler 1 (ignoriert)
doing [check_bar]
make: [check_bar] Fehler 1 (ignoriert)
doing [check_break]
make: [check_break] Fehler 1 (ignoriert)
doing [check_completion]
doing [check_include]
make: [check_include] Fehler 1 (ignoriert)
doing [check_threeunderscores]
make: [check_threeunderscores] Fehler 1 (ignoriert)

I am not familiar with mako... I suppose some project initialization is missing after git clone, but which?

Typesetting attribution

I noticed that when I generate a single pdf of the Ave Maria I have typeset, it still has your name in the "Typeset by" field in the footer. Is there a field I need to fill in for that?

Some songs (those with "Own" parameter) do not appear in the final pdf

The song "Cantaloupe Island", though present in the src directory, is not included in the final openbook.pdf file.
After quick inspection, it seems that its mako file has a very specific structure, using part=="Own" instead of "Chords/Lyrics/etc"...
Is this a bug or is it normal (i.e.: should the source file cantaloupe_island be fixed) ?

Legal status

This looks like a great project with a lot of potential. I am also a big believer in free software and the open source ideals but

I did not want to pay for the overly expensive real or fake books out there.

and

Jazz is a prime example of a free type of art so it's conjunction with free software seems a match made in heaven.

are not good arguments to publish copyrighted music. IANAL but making the melodies of tunes available to the general public without proper licensing is probably a bad idea. So my question is, what is the legal status here? Can I savely fork from your repository and contribute without fearing legal problems myself?

Please facilitate installation of templar

Hi @veltzer

great project, let's see if I can contribute. But before I need to make it.

This is for ubuntu, but I'm using debian jessie stable
https://launchpad.net/~mark-veltzer/+related-packages

I hope that with pip we facilitate the others to run make without problems. I don't know how to get the source to compile myself (if there are requirements), but if templar is a python thing, I propose to have it as a pip package (I never did that, but I think it is very easy) pip3 install templar_openbook (templar is a python package already).

Please, help, this way, we can be more people building openbook

Create build (config) system

The system will allow users to config which type of tune they want to produce.
They could select:

  • scale (C for concert, Bb, Eb for horns etc).
  • do they want lyrics?
  • font sizes from several configurations and more.
  • do they want to produce midi, postscript, pdf, mp3, ogg.
  • what tunes do they want to build.
  • Display half-dim 7th chords as m7b5 or slashed circles?
  • Use a jazz font or traditional font?
  • If a tune has more than one version then which version to build?
  • ability to select all tunes by a certain composer at one go...
  • ability to select all tunes by a certain poet at one go...

(@veltzer)

I know this is something @veltzer is currently very interested in, and I think it's an important part of this project. Have you done any planning on how you would implement this? Are you expecting to have users make it on their own machine? Could we have this be a web interface?

There are a number of other issues that deal with what options should be presented to the user. If we want to merge those issues into this one, I can update this list as it grows.

Does not work from ZIP download

The make file defaults to using git calls and find calls to get the filenames.

Please consider using $(wildcard) instead. You don't need to fork an external process. (It's a GNU extension, but you're already using ${filter} and ${subst}, so you're already using GNU extensions.)

Right now, you need to check for the .git directory before trying to run the git ls and git grep commands. Since this isn't done, it just totally breaks if you download the ZIP instead of cloning it.

Make more tunes fit on one page

Reduce sizes of staffs, space between staff and more - @veltzer

Could we implement a test that checked which tunes spilled over onto multiple pages? That would be a great way to keep confidence that this important layout issue is take into consideration when making global layout changes like song footers/titles etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.