musurgia is a library of different (personal) tools for computer aided music composition.
python 3.7
DEPENDENCIES:
quicktions == 1.9
musicscore == 1.0.1
prettytable == 0.7.2
fpdf2 == 2.0.3
diff-pdf-visually == 1.4.1
VERSIONS
v 1.0.1 _init_.py added
v 1.1.0
reading_direction (vertical) added to:
permutation
LimitedPermutation
FractalTree
v 1.1.1
reading_direction (vertical) added to:
Square()
pdf function deleted in Square() and Module()
v 1.2.1 (1.2.0 was corrupt)
FractalTree()
value can only be changed for the root without children
FractalMusic()
delete module_tempo, score_tempo
add tempo
quarter_duration only changes duration
children can have different tempi
tempo can only be set once
set_non_tempi()
FractalTree() and FractalMusic()
changes needed in merge, reduce, quantize, round
Square() and TimeLine()
minor changes needed
v 1.2.2
Square()
write_infos() module duration decimal changed to 1
v 1.2.3
FractalMusic().quarter_duration: bug fix
v 1.2.4
FractalMusic().quarter_duration: bug fix
v 1.3.0
Module().change_duration(): deleted
Module().change_quarter_duration(): deleted
Square().change_module_duration(): attribute mode (module_duration or score_duration) deleted
Row().change_duration(): added
Row().change_quarter_duration(): added
v 1.4.0
FractalMusic().quarter_duration: bug fix (float instead of fraction)
FractalMusic().find_best_tempo(): function added
FractalMusic().duration: bug fix (no type change to fraction)
FractalTree().round_leaves() : deleted
FractalMusic().round_leaves() : added
v 1.4.1
FractalTree()._deepcopy_(): optimize
FractalMusic()._deepcopy_(): optimize
v 1.4.2
FractalTree().size: added
v 1.5.0
testcomparefiles: renamed to agtestunit
TestCompareFiles(): renames to AGTestCase
TestCompareFiles().assertTemplate(file_path=pdf_path): changed to: self.assertCompareFiles(actual_file_path=pdf_path)
file_path: renamed tp actual_path
template_path: renamed to expected_path
Tests:
if comparing files is needed use Test(AGTestCase)
_template.* renamed to _expected.*
v 1.5.1
setup.py: install_requires: added diff-pdf-visually == 1.4.1
v 1.6.0
Tree().get_leaves(): modified to return [self] if no children exist
FractalTree().generate_children(): added
v 1.6.1
FractalTree()._reduce(): bug fix (/ instead of Fraction)
v 1.7.0 FractalTree().change_value() FractalMusic().quarter_duration: modified to Fraction FractalMusic().change_quarter_duration(): added FractalMusic().quantize_children(): added FractalMusic().quantize_leaves(): optimised FractalMusic().round_leaves(): optimised FractalMusic().get_root_score(): deleted FractalMusic().get_children_score(): added
v 1.7.1
FractalTree().val: Fraction
FractalTree().change_value(): bug fix (children duration)
FractalMusic().get_children_score(): bug fix: gets score of each child with max layers of all children
v 1.8.0
setup.py install_requires: musicscore 1.0.1
FractalMusic().get_score_template(): subtitle changed to have one decimal place for seconds
FractalMusic().find_best_tempo(): renamed to: find_best_tempo_in_range()
FractalMusic().find_best_tempi_in_list(): added
FractalTree().generate_children(): added argument mode in ['reduce','merge'] and argument merge_index
v 1.8.1: Module().write_square_infos(): renamed to write_info Square().write_infos(): renamed to write_info
v 1.8.2: FractalTree().multi: bug fix: if multi = (size, x>size) --> LimitedPermutation().multi FractalTree()._calculate_children_fractal_values(): deleted: if value == 0: value = 0.01