accraze / python-twelve-tone

:notes: 12-tone matrix to generate dodecaphonic melodies :notes:
https://pypi.python.org/pypi/twelve-tone
BSD 2-Clause "Simplified" License
71 stars 5 forks source link

Feature Request: Text Output View (Without List) #29

Open jgarte opened 3 years ago

jgarte commented 3 years ago

Instead of

$ twelve-tone
['G', 'F', 'B', 'C# / Db', 'F# / Gb', 'D', 'D# / Eb', 'A', 'A# / Bb', 'E', 'G# / Ab', 'C']

I think it would be nice to have large text outside of a list data structure in a representation like this instead:

$ twelve-tone
G F B C# F# D D# A A# E G# C

Or

$ twelve-tone
G F B Db Gb D Eb A Bb E Ab C

Or in integer notation:

$ twelve-tone
7 5 11 1 6 2 3 9 10 4 8 0

Or using A and B instead of 10 and 11, respectively:

$ twelve-tone
7 5 B 1 6 2 3 9 A 4 8 0

Or maybe even lilypond output:

$ twelve-tone --lilypond

{ g f b cs fs d ds a as e gs c }

So, that the composer can send it to a file, compile it, and view it:

$ twelve-tone --lilypond > reihe.ly && lilypond reihe.ly && zathura reihe.pdf

The above examples show different twelve-tone views/outputs which I realize are separate feature requests altogether.

Maybe there is a python library we can use to prettify the printed text even further.

Maybe something like rich?

I'll try to get around to submitting a pull request when my time frees up.

accraze commented 3 years ago

Hey @jgarte - this is a great idea! I think it would be really helpful to include some flags that let you output the view in different formats (i.e. rich-text, table, integer, lilypond, etc.) Feel free to send a PR if you have time, otherwise I might give it a shot in a couple weeks.

jgarte commented 3 years ago

Hey @jgarte - this is a great idea! I think it would be really helpful to include some flags that let you output the view in different formats (i.e. rich-text, table, integer, lilypond, etc.) Feel free to send a PR if you have time, otherwise I might give it a shot in a couple weeks.

@accraze If you'd like to give it a try together in a couple of weeks let me know and we can pair on it over jitsi/tmate or however you prefer.

We host a Guix Packaging Meetup once a month and we usually meet over jitsi/tmate to work on guix packages together.

Last meetup we worked on these patches during the meetup that we sent upstream afterwards:

One of the goals of the GuixRUs channel is to act as a pre-release channel for our work while we wait for upstream to peer review and merge the contributions.

We usually commit as a group.

Meetups are announced on the guix-devel mailing.

Meetups happen on the last Saturday of every month at 18:00 UTC (14:00 ET).