* [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians
@ 2014-08-26 1:26 Thorsten Jolitz
2014-08-26 1:41 ` Thorsten Jolitz
0 siblings, 1 reply; 4+ messages in thread
From: Thorsten Jolitz @ 2014-08-26 1:26 UTC (permalink / raw)
To: emacs-orgmode
Hi List,
see the attached ASCII version of org-bandbook.el's comment section for
more info:
___________________
ORG-BANDBOOK
Thorsten Jolitz
tjolitz@gmail.com
___________________
Table of Contents
_________________
1 org-bandbook.el --- Functions for Org-Bandbook
.. 1.1 MetaData
.. 1.2 Commentary
.. 1.3 Inspiration and Credits
.. 1.4 Usage
..... 1.4.1 9 Steps to Heaven
..... 1.4.2 Song Properties
..... 1.4.3 Song Arrangements
..... 1.4.4 Project Properties
.. 1.5 Contribute
..... 1.5.1 Songs
..... 1.5.2 Export Headers
..... 1.5.3 Accounting Schemes
..... 1.5.4 Title Pages
..... 1.5.5 Artwork
..... 1.5.6 Source Code
1 org-bandbook.el --- Functions for Org-Bandbook
================================================
Author: Thorsten Jolitz <tjolitz AT gmail DOT com> Version: 0.9 URL:
[https://github.com/tj64/org-bandbook]
1.1 MetaData
~~~~~~~~~~~~
copyright: Thorsten Jolitz
copyright-years: 2014+
version: 0.9
licence: GPL 3 or later (free software)
licence-url: http://www.gnu.org/licenses/
part-of-emacs: no
author: Thorsten Jolitz
author_email: tjolitz AT gmail DOT com
inspiration: https://github.com/veltzer/openbook
keywords: emacs org-mode taskjuggler lilypond
git-repo: https://github.com/tj64/org-bandbook
git-clone: git://github.com/tj64/org-bandbook.git
1.2 Commentary
~~~~~~~~~~~~~~
Emacs Lisp functionality for "Org-Bandbook - Professional Band
Management for Computer-Literate Musicians".
1.3 Inspiration and Credits
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Org-Bandbook is inspired by Mark Veltzer's [Open-Book] project, in
fact it started out as a port of Open-Book' to Org-mode, and it would
not exist without this wonderfull project.
However, Org-Bandbook has a different focus than Open-Book. While the
latter tries to become a free 'Real Book' or 'Fake Book' with possibly
hundreds of tunes, the former is meant to just contain the repertoire
of a band-project (may one or two dozen tunes) with arrangements, as
well as planning, accounting and contact info.
[Open-Book] https://github.com/veltzer/openbook
1.4 Usage
~~~~~~~~~
1.4.1 9 Steps to Heaven
-----------------------
1. Clone or fork repo on Github.
2. Create a personnal branch for hacking the sources and producing
patches and pull requests.
3. Create a new branch for every band-project or yours. You should not
touch the org-bandbook sources in these branches, only modify your
project-xyz subdirectory.
4. Use project-massey-hall-1953 as template, either rename it or copy
it for your own band-project.
5. Goto the library-of-songs, select songs and create a config file
for each in the projects 'songs' directory (whose name starts with
an integer, e.g. 1-all-the-things.org).
6. Edit the config file for each song (see 'songs' subdir of massey
hall project).
7. Edit 'peoples.org' file (kind of org-contacts)
8. Edit 'instruments.org' file
9. finally edit the 'master.org' file
The files 'journal.ledger' and 'timeline-and-tasks.org' are frequently
edited during the band-project for planning and keeping track of band
finances.
1.4.2 Song Properties
---------------------
Use this command:
,----[ C-h f org-bandbook-insert-arrangement-table-skeleton RET ]
org-bandbook-refresh-song-info is an interactive Lisp function in
`org-bandbook.el'.
(org-bandbook-refresh-song-info)
Get key/mode/form from song-link and update properties.
Assumes that point is in a song file in the <project>/songs/
directory that has a 'song' entry, and that this entry has a
'link' property with an Org-link (to an Org-Bandbook song in
the '/library-of-songs/' directory) as value.
`----
Note that, thanks to amazing LilyPond, transposing a song is done by
simply adding a property like this ':transpose: g'. Thats all.
1.4.3 Song Arrangements
-----------------------
Use these two commands:
,----[ C-h f org-bandbook-refresh-arrangement-properties RET ]
org-bandbook-refresh-arrangement-properties is an interactive Lisp
function in `org-bandbook.el'.
(org-bandbook-refresh-arrangement-properties)
Gather (and insert) info about project instruments.
Assumes that point is in a song file in the <project>/songs/
directory that has a 'arrangement' entry.
`----
,----[ C-h f org-bandbook-insert-arrangement-table-skeleton RET ]
org-bandbook-insert-arrangement-table-skeleton is an interactive Lisp
function in `org-bandbook.el'.
(org-bandbook-insert-arrangement-table-skeleton)
Insert skeleton-table for song arrangement.
`----
or simply copy&pase from existing song config files. Then create the
arrangement as org-table, it will be exported to an PlantUML activity
diagram.
Here is an example arrangement:
seq do melody solo accomp riff
---------------------------------------
a 1 as tr b dr p
aaba 3 as b dr p
aaba 4 tr b dr p
aaba 3 p b dr
aa 1 as tr b dr p
b 1 dr
a 1 as tr b dr p
AABA is the song structure, as tr p b dr are the instruments of the
classical jazz quintett. This table should and must be edited by hand.
1.4.4 Project Properties
------------------------
In file 'master.org' you specify
- export header (org link)
- accounting scheme (org link)
- song order (integers)
- bandbook parts (songs tasks funds people)
- project people (musicians nick-names = resource_id's)
Note the song-order/overview table at the bottom. This table should
and must *not* be edited by hand. Use command:
,----[ C-h f org-bandbook-refresh-song-order RET ]
org-bandbook-refresh-song-order is an interactive Lisp function in
`org-bandbook.el'.
(org-bandbook-refresh-song-order)
Get key/mode from song-link and put them in properties.
Assumes that point is in a project's master.org file that
contains one the 1st-level 'Master' entry.
If this entry does not have property 'song_order', call
`org-bandbook-reset-song-order' to get all project songs in their
natural order, put their file-name's numerical prefix values into
this property, and update the entry's dynamic-block (for showing
the song-order in human-readable format).
Otherwise read the (possibly user modified) value of property
'song_order' and update the entry's dynamic-block to reflect the
any changes.
`----
for inserting and refreshing the table. The song-order is simply
changed by moving the number in property ':song_order: 1 3'
around. The '1' is the song ID, the numerical prefix of its
song-config file (e.g. 1-all-the-things.org).
1.5 Contribute
~~~~~~~~~~~~~~
1.5.1 Songs
-----------
Add songs to the 'library-of-songs'. Use commands
`org-bandbook-export-org-file',
`org-bandbook-export-directory-org-files',
`org-bandbook-import-mako-file', and
`org-bandbook-import-directory-mako-files' to import from and export
to 'Open-Book' project. Each song you add in either of the two formats
(org or mako) will therefore benefit both projects, since conversion
is simple.
1.5.2 Export Headers
--------------------
Add headers that produce beautiful (LaTeX) output to the
'library-of-headers'.
1.5.3 Accounting Schemes
------------------------
Add ledger accounting schemes for your country to the
'library-of-accounting-schemes'.
1.5.4 Title Pages
-----------------
Add beautiful (LaTeX) title pages for Org-Bandbook to the
'library-of-title-pages'.
1.5.5 Artwork
-------------
Add artwork for title pages and other parts of Org-Bandbook to the
'library-of-artwork.
1.5.6 Source Code
-----------------
Bug Reports and Patches welcome.
Emacs 24.3.1 (Org mode 8.3beta)
--
cheers,
Thorsten
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians
2014-08-26 1:26 [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians Thorsten Jolitz
@ 2014-08-26 1:41 ` Thorsten Jolitz
2014-09-25 9:58 ` Andreas Leha
0 siblings, 1 reply; 4+ messages in thread
From: Thorsten Jolitz @ 2014-08-26 1:41 UTC (permalink / raw)
To: emacs-orgmode
Thorsten Jolitz <tjolitz@gmail.com> writes:
> Hi List,
>
> see the attached ASCII version of org-bandbook.el's comment section for
> more info:
>
>
> ___________________
>
> ORG-BANDBOOK
>
> Thorsten Jolitz
> tjolitz@gmail.com
> ___________________
Ups, forgot to mention the core command ;)
,----
| M-x org-bandbook-make-bandbook
`----
to produce the PDF.
--
cheers,
Thorsten
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians
2014-08-26 1:41 ` Thorsten Jolitz
@ 2014-09-25 9:58 ` Andreas Leha
2014-09-25 17:26 ` Thorsten Jolitz
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Leha @ 2014-09-25 9:58 UTC (permalink / raw)
To: emacs-orgmode
Hi Thorsten,
Thorsten Jolitz <tjolitz@gmail.com> writes:
> Thorsten Jolitz <tjolitz@gmail.com> writes:
>
>> Hi List,
>>
>> see the attached ASCII version of org-bandbook.el's comment section for
>> more info:
>>
>>
>> ___________________
>>
>> ORG-BANDBOOK
>>
>> Thorsten Jolitz
>> tjolitz@gmail.com
>> ___________________
>
>
> Ups, forgot to mention the core command ;)
>
> ,----
> | M-x org-bandbook-make-bandbook
> `----
>
> to produce the PDF.
This sounds interesting (pun intended). I might be interested. Would
you be able to provide an example to play with?
Regards,
Andreas
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians
2014-09-25 9:58 ` Andreas Leha
@ 2014-09-25 17:26 ` Thorsten Jolitz
0 siblings, 0 replies; 4+ messages in thread
From: Thorsten Jolitz @ 2014-09-25 17:26 UTC (permalink / raw)
To: emacs-orgmode
Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
Hi Andreas,
> Thorsten Jolitz <tjolitz@gmail.com> writes:
>> Thorsten Jolitz <tjolitz@gmail.com> writes:
>>
>>> Hi List,
>>>
>>> see the attached ASCII version of org-bandbook.el's comment section for
>>> more info:
>>>
>>>
>>> ___________________
>>>
>>> ORG-BANDBOOK
>>>
>>> Thorsten Jolitz
>>> tjolitz@gmail.com
>>> ___________________
>>
>>
>> Ups, forgot to mention the core command ;)
>>
>> ,----
>> | M-x org-bandbook-make-bandbook
>> `----
>>
>> to produce the PDF.
>
> This sounds interesting (pun intended). I might be interested. Would
> you be able to provide an example to play with?
when you look at the github page
,----
| https://github.com/tj64/org-bandbook
`----
you'll see these two examples:
,----
| project-guitar-duo
| project-massey-hall-1953
`----
I cannot put a pdf online because the songs in these projects have
copyrights, that would be asking for a lot of trouble.
The whole thing is build around the directory structure, similar to java
projects in eclipse or maven projects. So it makes no sense to just get
the elisp sources, you actually need to clone the git repo.
To try it out, you can then open the master.org file of an example
project and call
,----
| M-x org-bandbook-make-bandbook
`----
after loading /src/org-bandbook.el and dependendies (puml, org-dp) of
course, you find them in my github repo:
,----
| ;;; Requires
|
| (eval-when-compile (require 'cl))
| (require 'puml)
| (require 'org-dp-lib)
`----
This should produce a pdf that looks 'alright' so far. But I think this
has the potential to grow, since its just a perfect showcase for
Org-mode's versatility and might meet a real demand.
It works on my machine, would be interesting to see if it works for you
too.
PS
For starting your own project, make a new git branch, and either rename
one of the example projects or add another project-xyz directory.
--
cheers,
Thorsten
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-09-25 17:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-26 1:26 [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians Thorsten Jolitz
2014-08-26 1:41 ` Thorsten Jolitz
2014-09-25 9:58 ` Andreas Leha
2014-09-25 17:26 ` Thorsten Jolitz
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.