This repository contains critical "behind-the-scenes" part of project harrrp
— convenient tools that allow anyone to easily extract meaningful intelligence from already existing .yaml
harmonica tabs (for example estimate performance difficulty) and perform other operations.
This repository DOES NOT yet contain tools for creating new .yaml
harmonica tabs from scratch.
- Clone the repository.
- Install requirements
pip install -r requirements.txt
.
This repository is useful for batch non-composing operations on already existing harmonica tabs. Therefore the first step requires the user to actually provide the paths to these already existing harmonica tabs.
Please create the plaintext file named tab_folders.txt
at the root of this repository and write desired paths to it (one path per line). Example:
some/custom/path/tabs
c:\another\custom\path\tabs
d:\third\different\location\tabs
After defining paths to at least one existing folder with harmonica tabs, tool launchers
become usable.
Please choose the autorun_*.py
file according to current goals, open it with any python code editor of choice and run it.
This project contains several parts that nicely fit together and allow to easily accommodate future changes while preserving past versions and functionality.
Name | Description | How to Locate |
---|---|---|
Some tool |
Rather abstract data analysis tool that can be applied to any compatible user input, regardless of its origin or meaning. There can be many of them, they exist for different purposes. |
Any file named src/some_*_Columns . |
Some tool launcher |
Wrapper code that allows the user to one-click apply the tool of choice to any harrrp harmonica tabs without headaches or low-level considerations.There can be many of them, they exist for usage convenience. |
Any file named autorun_*.py . |
Some interface to specific tab version |
Actual low-level programmatic interface to some specific harrrp harmonica tab.There are many of them, they evolve according to user needs. |
Any file named src/format_*/Columns_Tab.py . |
The interface chooser |
One convenient endpoint that automatically chooses the correct programmatic interface for any given harmonica tab, freeing the developer from any worries regarding "how to process this specific tab".There is only one. |
The file named src/some_TabFormat_Columns.py . |
Some tool |
Some interface to specific tab version |
The interface chooser |
Some tool launcher |
|
---|---|---|---|---|
Welcomes structural changes? | ❌ Any functionality-adding changes are appended to the latest version. Any functionality-altering changes are not welcome and should be avoided as much as possible, because they may dramatically affect apps that rely on the output of this tool. |
✔️ Any functionality-adding changes are appended to the latest version. Any functionality-altering changes are placed in the new version. |
❌ Any functionality-adding changes are appended to the latest version. Any functionality-altering changes are not welcome and should be avoided as much as possible, because they may dramatically affect apps that rely on this code. |
✔️ Must be as convenient as possible, usually calls appropriate methods from interface chooser , but in more complex cases can combine some tool with interface chooser . |
Has to be compatible with... | No one. | 👈 Some 👉 The |
No one. | 👈 Some 👈 The |
In this section the functionality of all available "some tools
" and "some tool launchers
" is listed.
Tool | Description | How to Locate |
---|---|---|
Estimate tab difficulty. |
|
The file named The file named |
Create convenient tab comparison table. |
|
The file named The file named |
Process MIDI attachments. |
|
The file named The file named The file named The file named |
4.1.0: ok
The actual licenses are available per-flie, please see the source code.
Any files which contain data, unique to project harrrp, are subject to GPL v3.
Any general files which contain data, not unique to project harrrp, are subject to BSD0.
Any unmarked file is implied to be subject to either BSD0 or GPL v3, according to the statements above.