[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [ANN] org-bandbook - Professional Band Management for Computer Liter
From: |
Thorsten Jolitz |
Subject: |
[O] [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians |
Date: |
Tue, 26 Aug 2014 03:26:45 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Hi List,
see the attached ASCII version of org-bandbook.el's comment section for
more info:
___________________
ORG-BANDBOOK
Thorsten Jolitz
address@hidden
___________________
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
- [O] [ANN] org-bandbook - Professional Band Management for Computer Literate Musicians,
Thorsten Jolitz <=