emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [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 public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).