patacrep/patadata

The `volume` books are not compilable

Opened this issue · 5 comments

The volume-*.sb files are still using the old syntax (not supported anymore) and the song list is probably not up-to-date.

What should we do with them ?

  • delete (and forget)
  • convert "as-is" (some songs will not be in any volume)
  • convert and add missing songs
  • convert with a new plugin to ease future update (see patacrep/patacrep#206)

Just my two cents: I would remove them.

I don't really know the purpose of these volume books though. If the idea is to have smaller books e.g. from songbook_en.yaml, a low maintenance solution could be to simply add an option to the songbook script to split the book into volumes, something like:

songbook -n 5  songbook_en.yaml

to split into five volumes. The splitting could be done in such a way as to get roughly the same number of songs in each book.

low maintenance solution, maybe, but it is adding more options to the command-line, which I am not fond of.

The plugin proposition would create a new kind of content:

select_songs:
  offset: 10  # start with the 10th song
  limit: 150     # and include 150 items
  content: ...

One disadvantage, is that you need to manually write 5 .yaml files.

On the other hand you have complete flexibility if you want to adjust the number of songs in each volume (to roughly get the same number of pages for instance).

Adding such flexibility to the command line seems a bit more complex.

What about an option in the yaml file max_songs_per_volume that would automagically split the songbook in an appropriate number of smaller songbooks?

@LaTruelle I like that. Actually, this is better than a command line option since we have a configuration file anyway (the yaml file)

max_songs_per_volume

I like it better than a command line option.
Actually a complete section could be made (for future options):

volumes:
  filename: "volume-*.pdf" # the star will be replaced by the volume number
  max_items: 150 # max number of items per volume
  counter: continue # or `reset` to start each volume with the number 1