maialib 1.6.1__cp38-cp38-musllinux_1_2_i686.whl → 1.7.0__cp38-cp38-musllinux_1_2_i686.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of maialib might be problematic. Click here for more details.

@@ -385,6 +385,22 @@ class HeapData:
385
385
  pass
386
386
  class Helper:
387
387
  @staticmethod
388
+ @typing.overload
389
+ def calculateMelodyEuclideanSimilarity(melodyPattern: list[Note], otherMelody: list[Note]) -> float:
390
+ ...
391
+ @staticmethod
392
+ @typing.overload
393
+ def calculateMelodyEuclideanSimilarity(semitonesDifference: list[float]) -> float:
394
+ ...
395
+ @staticmethod
396
+ @typing.overload
397
+ def calculateRhythmicEuclideanSimilarity(rhythmPattern: list[Note], otherRhythm: list[Note]) -> float:
398
+ ...
399
+ @staticmethod
400
+ @typing.overload
401
+ def calculateRhythmicEuclideanSimilarity(durationDifferences: list[float]) -> float:
402
+ ...
403
+ @staticmethod
388
404
  def durationRatio(duration_A: float, duration_B: float) -> float:
389
405
  ...
390
406
  @staticmethod
@@ -400,9 +416,15 @@ class Helper:
400
416
  def frequencies2cents(freq_A: float, freq_B: float) -> int:
401
417
  ...
402
418
  @staticmethod
419
+ def getDurationDifferenceBetweenRhythms(referenceRhythm: list[Note], otherRhythm: list[Note]) -> list[float]:
420
+ ...
421
+ @staticmethod
403
422
  def getPercentiles(arg0: typing.Any, arg1: list[float]) -> typing.Any:
404
423
  ...
405
424
  @staticmethod
425
+ def getSemitonesDifferenceBetweenMelodies(referenceMelody: list[Note], otherMelody: list[Note]) -> list[float]:
426
+ ...
427
+ @staticmethod
406
428
  def isEnharmonic(arg0: str, arg1: str) -> bool:
407
429
  ...
408
430
  @staticmethod
@@ -475,6 +497,8 @@ class Interval:
475
497
  ...
476
498
  def getDiatonicSteps(self, useSingleOctave: bool = True, absoluteValue: bool = False) -> int:
477
499
  ...
500
+ def getDirection(self) -> str:
501
+ ...
478
502
  def getName(self) -> str:
479
503
  ...
480
504
  def getNotes(self) -> list[Note]:
@@ -1052,6 +1076,8 @@ class Part:
1052
1076
  @typing.overload
1053
1077
  def getMeasure(self, measureId: int) -> Measure:
1054
1078
  ...
1079
+ def getMeasures(self) -> list[Measure]:
1080
+ ...
1055
1081
  def getMidiUnpitched(self) -> list[int]:
1056
1082
  ...
1057
1083
  def getName(self) -> str:
@@ -1184,6 +1210,8 @@ class Score:
1184
1210
  ...
1185
1211
  def clear(self) -> None:
1186
1212
  ...
1213
+ def findMelodyPatternDataFrame(self, melodyPattern: list[Note], totalIntervalsSimilarityThreshold: float = 0.5, totalRhythmSimilarityThreshold: float = 0.5, intervalsSimilarityCallback: typing.Callable[[list[Note], list[Note]], list[float]] = None, rhythmSimilarityCallback: typing.Callable[[list[Note], list[Note]], list[float]] = None, totalIntervalSimilarityCallback: typing.Callable[[list[float]], float] = None, totalRhythmSimilarityCallback: typing.Callable[[list[float]], float] = None, totalSimilarityCallback: typing.Callable[[float, float], float] = None) -> typing.Any:
1214
+ ...
1187
1215
  def forEachNote(self, callback: typing.Callable[[Part, Measure, int, Note], None], measureStart: int = 0, measureEnd: int = -1, partNames: list[str] = []) -> None:
1188
1216
  ...
1189
1217
  def getChords(self, config: json = None) -> list[tuple[int, float, Key, Chord, bool]]:
@@ -1317,4 +1345,4 @@ C: ClefSign # value = <ClefSign.C: 2>
1317
1345
  F: ClefSign # value = <ClefSign.F: 1>
1318
1346
  G: ClefSign # value = <ClefSign.G: 0>
1319
1347
  P: ClefSign # value = <ClefSign.P: 3>
1320
- __version__: str = '"1.6.1"'
1348
+ __version__: str = '"1.7.0"'
maialib/maiapy/other.pyi CHANGED
@@ -1,20 +1,79 @@
1
1
  import maialib.maiacore as mc
2
2
  from enum import Enum
3
3
 
4
- __all__ = ['getSampleScorePath', 'SampleScore', 'setScoreEditorApp', 'getScoreEditorApp', 'openScore', 'getXmlSamplesDirPath']
4
+ def setScoreEditorApp(executableFullPath: str) -> None:
5
+ '''Set the full path to the installed score editor app
5
6
 
6
- def setScoreEditorApp(executableFullPath: str) -> None: ...
7
+ Args:
8
+ executableFullPath (str): Score editor full path
9
+ Example 01: "C:/path/to/MuseScore"
10
+ Example 02: "/Applications/MuseScore 4.app/Contents/MacOS/mscore"
11
+
12
+ Examples of use:
13
+
14
+ >>> import maialib as ml
15
+ >>> # Example for Windows:
16
+ >>> ml.setScoreEditorApp("C:/path/to/MuseScore.exe")
17
+ >>> # Example for Mac OSX:
18
+ >>> ml.setScoreEditorApp("/Applications/MuseScore 4.app/Contents/MacOS/mscore")
19
+ '''
7
20
  def getScoreEditorApp() -> str: ...
8
21
  def openScore(score: mc.Score) -> None: ...
9
22
 
10
23
  class SampleScore(Enum):
11
- Bach_Cello_Suite_1 = 'Bach_Cello_Suite_1'
12
- Beethoven_Symphony_5th = 'Beethoven_Symphony_5th'
13
- Chopin_Fantasie_Impromptu = 'Chopin_Fantasie_Impromptu'
14
- Dvorak_Symphony_9_mov_4 = 'Dvorak_Symphony_9_mov_4'
15
- Mahler_Symphony_8_Finale = 'Mahler_Symphony_8_Finale'
16
- Mozart_Requiem_Introitus = 'Mozart_Requiem_Introitus'
17
- Strauss_Also_Sprach_Zarathustra = 'Strauss_Also_Sprach_Zarathustra'
18
-
19
- def getSampleScorePath(sampleEnum: SampleScore) -> str: ...
20
- def getXmlSamplesDirPath() -> str: ...
24
+ Bach_Cello_Suite_1: str
25
+ Beethoven_Symphony_5th: str
26
+ Chopin_Fantasie_Impromptu: str
27
+ Dvorak_Symphony_9_mov_4: str
28
+ Mahler_Symphony_8_Finale: str
29
+ Mozart_Requiem_Introitus: str
30
+ Strauss_Also_Sprach_Zarathustra: str
31
+
32
+ def getSampleScorePath(sampleEnum: SampleScore) -> str:
33
+ """Get a maialib internal XML sample file
34
+
35
+ Args:
36
+ sampleEnum (SampleScore): Maialib SampleScore enum value
37
+ - Bach_Cello_Suite_1
38
+ - Beethoven_Symphony_5th
39
+ - Chopin_Fantasie_Impromptu
40
+ - Dvorak_Symphony_9_mov_4
41
+ - Mahler_Symphony_8_Finale
42
+ - Mozart_Requiem_Introitus
43
+ - Strauss_Also_Sprach_Zarathustra
44
+
45
+ Kwargs:
46
+ None
47
+
48
+ Returns:
49
+ A full file path (str) to the XML maialib internal sample score
50
+
51
+ Raises:
52
+ RuntimeError
53
+
54
+ Examples of use:
55
+
56
+ >>> import maialib as ml
57
+ >>> filePath = ml.getSampleScorePath(ml.SampleScore.Bach_Cello_Suite_1)
58
+ >>> score = ml.Score(filePath)
59
+ >>> score.info()
60
+ """
61
+ def getXmlSamplesDirPath() -> str:
62
+ '''Get the maialib XML samples directory path
63
+
64
+ Kwargs:
65
+ None
66
+
67
+ Returns:
68
+ A full dir path (str) to the XML maialib internal samples score directory
69
+
70
+ Raises:
71
+ RuntimeError
72
+
73
+ Examples of use:
74
+
75
+ >>> import maialib as ml
76
+ >>> xmlDir = ml.getXmlSamplesDirPath()
77
+ >>> score = ml.Score(xmlDir + "Bach/cello_suite_1_violin.xml")
78
+ >>> score.info()
79
+ '''
maialib/maiapy/plots.pyi CHANGED
@@ -2,9 +2,102 @@ import maialib.maiacore as mc
2
2
  import pandas as pd
3
3
  import plotly
4
4
 
5
- __all__ = ['plotPartsActivity', 'plotPianoRoll', 'plotScorePitchEnvelope', 'plotChordsNumberOfNotes']
5
+ def plotPartsActivity(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]:
6
+ '''Plots a timeline graph showing the musical activity of each score instrument
6
7
 
7
- def plotPartsActivity(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]: ...
8
- def plotPianoRoll(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]: ...
9
- def plotScorePitchEnvelope(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]: ...
10
- def plotChordsNumberOfNotes(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]: ...
8
+ Args:
9
+ score (maialib.Score): A maialib Score object loaded with a valid MusicXML file
10
+
11
+ Kwargs:
12
+ measureStart (int): Start measure to plot
13
+ measureEnd (int): End measure to plot
14
+ partNames (list): A str list that contains the filtered desired score parts to plot
15
+
16
+ Returns:
17
+ A list: [Plotly Figure, The plot data as a Pandas Dataframe]
18
+
19
+ Raises:
20
+ RuntimeError, KeyError
21
+
22
+ Examples of use:
23
+
24
+ >>> plotPartsActivity(myScore)
25
+ >>> plotPartsActivity(myScore, measureStart=50)
26
+ >>> plotPartsActivity(myScore, measureStart=50, measureEnd=100)
27
+ >>> plotPartsActivity(myScore, measureStart=50, measureEnd=100, partNames=["Violin 1", "Cello"])
28
+ '''
29
+ def plotPianoRoll(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]:
30
+ '''Plots a piano roll graph showing the musical activity of each score instrument
31
+
32
+ Args:
33
+ score (maialib.Score): A maialib Score object loaded with a valid MusicXML file
34
+
35
+ Kwargs:
36
+ measureStart (int): Start measure to plot
37
+ measureEnd (int): End measure to plot
38
+ partNames (list): A str list that contains the filtered desired score parts to plot
39
+
40
+ Returns:
41
+ A list: [Plotly Figure, The plot data as a Pandas Dataframe]
42
+
43
+ Raises:
44
+ RuntimeError, KeyError
45
+
46
+ Examples of use:
47
+
48
+ >>> plotPianoRoll(myScore)
49
+ >>> plotPianoRoll(myScore, measureStart=50)
50
+ >>> plotPianoRoll(myScore, measureStart=50, measureEnd=100)
51
+ >>> plotPianoRoll(myScore, measureStart=50, measureEnd=100, partNames=["Violin 1", "Cello"])
52
+ '''
53
+ def plotScorePitchEnvelope(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]:
54
+ '''Plot a score pitch envelope
55
+
56
+ Args:
57
+ score (maialib.Score): A maialib Score object loaded with a valid MusicXML file
58
+
59
+ Kwargs:
60
+ numPoints: (int): Number of interpolated points
61
+ showHigher (bool): Plot the envelop upper limit
62
+ showLower (bool): Plot the envelop lower limit
63
+ showMean (bool): Plot the envelop mean curve
64
+ showMeanOfExtremes (bool): Plot the envelop mean of extremes curve
65
+
66
+ Returns:
67
+ A list: [Plotly Figure, The plot data as a Pandas Dataframe]
68
+
69
+ Raises:
70
+ RuntimeError, KeyError
71
+
72
+ Examples of use:
73
+
74
+ >>> myScore = ml.Score("/path/to/score.xml")
75
+ >>> plotScorePitchEnvelope(myScore)
76
+ >>> plotScorePitchEnvelope(myScore, numPoints=10)
77
+ >>> plotScorePitchEnvelope(myScore, showLower=False)
78
+ >>> plotScorePitchEnvelope(myScore, showMean=False, showMean=True)
79
+ '''
80
+ def plotChordsNumberOfNotes(score: mc.Score, **kwargs) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]:
81
+ '''Plot chord number of notes varying in time
82
+
83
+ Args:
84
+ score (maialib.Score): A maialib Score object loaded with a valid MusicXML file
85
+
86
+ Kwargs:
87
+ measureStart (int): Start measure to plot
88
+ measureEnd (int): End measure to plot
89
+ numPoints (int): Number of interpolated points
90
+
91
+ Returns:
92
+ A list: [Plotly Figure, The plot data as a Pandas Dataframe]
93
+
94
+ Raises:
95
+ RuntimeError, KeyError
96
+
97
+ Examples of use:
98
+
99
+ >>> myScore = ml.Score("/path/to/score.xml")
100
+ >>> plotChordsNumberOfNotes(myScore)
101
+ >>> plotChordsNumberOfNotes(myScore, numPoints=15)
102
+ >>> plotChordsNumberOfNotes(myScore, measureStart=10, measureEnd=20)
103
+ '''
@@ -4,8 +4,68 @@ import plotly.graph_objects as go
4
4
  from maialib import maiacore as mc
5
5
  from typing import Callable
6
6
 
7
- __all__ = ['plotSetharesDissonanceCurve', 'plotScoreSetharesDissonance', 'plotChordDyadsSetharesDissonanceHeatmap']
7
+ def plotSetharesDissonanceCurve(fundamentalFreq: float = 440, numPartials: int = 6, ratioLowLimit: float = 1.0, ratioHighLimit: float = 2.3, ratioStepIncrement: float = 0.001, amplCallback: Callable[[list[float]], list[float]] | None = None) -> tuple[go.Figure, pd.DataFrame]:
8
+ """
9
+ Compute the Sethares Dissonance Curve of a given base frequency
8
10
 
9
- def plotSetharesDissonanceCurve(fundamentalFreq: float = 440, numPartials: int = 6, ratioLowLimit: float = 1.0, ratioHighLimit: float = 2.3, ratioStepIncrement: float = 0.001, amplCallback: Callable[[list[float]], list[float]] | None = None) -> tuple[go.Figure, pd.DataFrame]: ...
10
- def plotScoreSetharesDissonance(score: mc.Score, plotType: str = 'line', lineShape: str = 'linear', numPartialsPerNote: int = 6, useMinModel: bool = True, amplCallback: Callable[[list[float]], list[float]] | None = None, dissCallback: Callable[[list[float]], float] | None = None, **kwargs) -> tuple[go.Figure, pd.DataFrame]: ...
11
- def plotChordDyadsSetharesDissonanceHeatmap(chord: mc.Chord, numPartialsPerNote: int = 6, useMinModel: bool = True, amplCallback: Callable[[list[float]], list[float]] | None = None, dissonanceThreshold: float = 0.1, dissonanceDecimalPoint: int = 2) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]: ...
11
+ Return
12
+ A tuple that contains a Plotly figure, and the pair 'ratios' and 'dissonance' lists
13
+ """
14
+ def plotScoreSetharesDissonance(score: mc.Score, plotType: str = 'line', lineShape: str = 'linear', numPartialsPerNote: int = 6, useMinModel: bool = True, amplCallback: Callable[[list[float]], list[float]] | None = None, dissCallback: Callable[[list[float]], float] | None = None, **kwargs) -> tuple[go.Figure, pd.DataFrame]:
15
+ '''Plot 2D line graph of the Sethares Dissonance over time
16
+
17
+ Args:
18
+ score (maialib.Score): A maialib Score object loaded with a valid MusicXML file
19
+ plotType (str): Can be \'line\' or \'scatter\'
20
+ lineShape (str): Can be \'linear\' or \'spline\'
21
+ numPartialsPerNote (int): Amount of spectral partials for each note
22
+ useMinModel (bool): Sethares dissonance values can be computed using the \'minimal amplitude\' model
23
+ or the \'product amplitudes\' model. The \'min\' model is a more recent approach
24
+ amplCallback: Custom user function callback to generate the amplitude of each spectrum partial
25
+ dissCallback: Custom user function callback to receive all paired partial dissonances and computes
26
+ a single total dissonance value output
27
+ Kwargs:
28
+ measureStart (int): Start measure to plot
29
+ measureEnd (int): End measure to plot
30
+ numPoints (int): Number of interpolated points
31
+
32
+ Returns:
33
+ A list: [Plotly Figure, The plot data as a Pandas Dataframe]
34
+
35
+ Raises:
36
+ RuntimeError, KeyError
37
+
38
+ Examples of use:
39
+
40
+ >>> myScore = ml.Score("/path/to/score.xml")
41
+ >>> ml.plotScoreSetharesDissonance(myScore)
42
+ >>> ml.plotScoreSetharesDissonance(myScore, numPoints=15)
43
+ >>> ml.plotScoreSetharesDissonance(myScore, measureStart=10, measureEnd=20)
44
+ '''
45
+ def plotChordDyadsSetharesDissonanceHeatmap(chord: mc.Chord, numPartialsPerNote: int = 6, useMinModel: bool = True, amplCallback: Callable[[list[float]], list[float]] | None = None, dissonanceThreshold: float = 0.1, dissonanceDecimalPoint: int = 2) -> tuple[plotly.graph_objs._figure.Figure, pd.DataFrame]:
46
+ '''Plot chord dyads Sethares dissonance heatmap
47
+
48
+ Args:
49
+ chord (maialib.Chord): A maialib Chord
50
+
51
+ Kwargs:
52
+ numPartialsPerNote (int): Amount of spectral partials for each note
53
+ useMinModel (bool): Sethares dissonance values can be computed using the \'minimal amplitude\' model
54
+ or the \'product amplitudes\' model. The \'min\' model is a more recent approach
55
+ amplCallback: Custom user function callback to generate the amplitude of each spectrum partial
56
+ dissonanceThreshold (float): Dissonance threshold to skip small dissonance values
57
+ dissonanceDecimalPoint (int): Round chord dissonance value in the plot title
58
+
59
+ Returns:
60
+ A list: [Plotly Figure, The plot data as a Pandas Dataframe]
61
+
62
+ Raises:
63
+ RuntimeError, KeyError
64
+
65
+ Examples of use:
66
+
67
+ >>> import maialib as ml
68
+ >>> myChord = ml.Chord(["C3", "E3", "G3"])
69
+ >>> fig, df = plotChordDyadsSetharesDissonanceHeatmap(myChord)
70
+ >>> fig.show()
71
+ '''
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maialib
3
- Version: 1.6.1
3
+ Version: 1.7.0
4
4
  Summary: A C++/Python library to manipulate sheet music data
5
5
  Home-page: https://github.com/nyckmaia/maialib
6
6
  Author: Nycholas Maia
@@ -1,28 +1,28 @@
1
- maialib.libs/libstdc++-d2a021ba.so.6.0.32,sha256=1zr_iwGwEBe95gyKdgiw7C4Y1RR9ijV40j66rk4elzg,3537349
2
- maialib.libs/libgcc_s-f3fb5a36.so.1,sha256=SrjjCCuY7RHj-T9JLrY9XFMgCCpYD9Qmezr4uoJGVEQ,168321
3
- maialib-1.6.1.dist-info/RECORD,,
4
- maialib-1.6.1.dist-info/WHEEL,sha256=PAqPq9OlHnYDWMN9wTOaK8pK2HyLTms8b-nV4j6lxCw,108
5
- maialib-1.6.1.dist-info/top_level.txt,sha256=sZWQaa-Up2ba00WpAxBhOLKM6qQYTpUKJMXgSE0Nc48,17
6
- maialib-1.6.1.dist-info/LICENSE.txt,sha256=ixuiBLtpoK3iv89l7ylKkg9rs2GzF9ukPH7ynZYzK5s,35148
7
- maialib-1.6.1.dist-info/METADATA,sha256=dnJv1NuCDKbjtn4NrsOrV78tXnuqADoSHmHknU8tUr4,6926
8
- maialib/__init__.py,sha256=qiIEL1ZDvpDK0bkGUdZRib3bG973EtKQDFYPFfvJKQA,122
1
+ maialib-1.7.0.dist-info/top_level.txt,sha256=sZWQaa-Up2ba00WpAxBhOLKM6qQYTpUKJMXgSE0Nc48,17
2
+ maialib-1.7.0.dist-info/RECORD,,
3
+ maialib-1.7.0.dist-info/LICENSE.txt,sha256=ixuiBLtpoK3iv89l7ylKkg9rs2GzF9ukPH7ynZYzK5s,35148
4
+ maialib-1.7.0.dist-info/METADATA,sha256=jPb7F1yOnWz2k9h003DCWUNgvtV5ojabZJiVL0VM-go,6926
5
+ maialib-1.7.0.dist-info/WHEEL,sha256=8mXPuDV2qXc-RHUE1QhrdRfnaZNRa8DXsrwOEvbOqtY,108
9
6
  maialib/setup.py,sha256=1Cbv0DfEUNK1EQHb64-1B0rwbRrsTSnJBY8fVn8gtbU,2168
10
- maialib/xml-scores-examples/Mozart_Requiem_Introitus.mxl,sha256=_wc4hMaPhtgocUoL94uVzfVN3TGb08z8Xa2BL4SHfgA,91112
11
- maialib/xml-scores-examples/Strauss_Also_Sprach_Zarathustra.mxl,sha256=nOQra05RHHDe_dXFs5WBJG2l9R1KQk64urV7lWYC2vw,18863
12
- maialib/xml-scores-examples/Mahler_Symphony_8_Finale.mxl,sha256=F2-QBKNYjBv_sWT-z4LWi1rX84-P3msxtl-g6joA2FQ,229034
13
- maialib/xml-scores-examples/Bach_Cello_Suite_1.mxl,sha256=0XGNlcW8o0W7kkeG8j2V_M4eggdOnrxvvvCkpf6x_z4,29622
7
+ maialib/__init__.py,sha256=qiIEL1ZDvpDK0bkGUdZRib3bG973EtKQDFYPFfvJKQA,122
8
+ maialib/maiacore/maiacore.pyi,sha256=ilYSbYhYQI7Yi-x8h-VTlqLUIQNC1uV7y_NurK6jQLY,44977
9
+ maialib/maiacore/__init__.py,sha256=IW7E0LuzAttsn0b37SEthCA0LKuzSgkepSpq8DWExYQ,77
10
+ maialib/maiacore/maiacore.cpython-38-i386-linux-gnu.so,sha256=JTs2rAf5s86TOR7v7ooCTGS1LtOd3Eh8Fb2cjaQG3vA,5340129
11
+ maialib/maiacore/__init__.pyi,sha256=cJfflEKHJ6BPUTlDQt95xZmi2N3zwHJkHEXy27fBd5c,1282
12
+ maialib/maiapy/sethares_dissonance.pyi,sha256=O8D_cYRPCE1K5Zw54ckg3I5frULcBGgs_di_bTOpuBU,3609
13
+ maialib/maiapy/plots.py,sha256=laAt68-IiZ4vNLFPKcGCf4IcMDIIZ1uavJpROrS8tqs,23153
14
+ maialib/maiapy/__init__.py,sha256=L8YtZYJMw_9TrdejcKs2c5xTbu5WMRwlHhKz6Qzulf8,77
15
+ maialib/maiapy/sethares_dissonance.py,sha256=uRQLTQN55dk74hIFpzu9RlTWP0ZhRpVT3yTLI-su1ww,12830
16
+ maialib/maiapy/other.py,sha256=5o2zXcm1quM-9jfUhzzzuKrj2qTBaNheA6Z05Ux9H_g,4042
17
+ maialib/maiapy/other.pyi,sha256=jEmAc-MDc3iMA2-5hp41RLgNrfBQRMvq-sF2_pexhbo,2163
18
+ maialib/maiapy/__init__.pyi,sha256=L8YtZYJMw_9TrdejcKs2c5xTbu5WMRwlHhKz6Qzulf8,77
19
+ maialib/maiapy/plots.pyi,sha256=nRNUQ9h9kjJHTdbQt4eXv933MOx7TIztIg-inThglB4,3620
14
20
  maialib/xml-scores-examples/Chopin_Fantasie_Impromptu.mxl,sha256=HkouQ_4bI6XDoGmzJITuU81CzQZE2lQjwl6WNlfZmJA,35727
21
+ maialib/xml-scores-examples/Bach_Cello_Suite_1.mxl,sha256=0XGNlcW8o0W7kkeG8j2V_M4eggdOnrxvvvCkpf6x_z4,29622
15
22
  maialib/xml-scores-examples/Dvorak_Symphony_9_mov_4.mxl,sha256=s7FGUEmFmgcIdmkZ-bv4sOGGj5HYKc2nc760V79DMtM,261438
23
+ maialib/xml-scores-examples/Mahler_Symphony_8_Finale.mxl,sha256=F2-QBKNYjBv_sWT-z4LWi1rX84-P3msxtl-g6joA2FQ,229034
24
+ maialib/xml-scores-examples/Mozart_Requiem_Introitus.mxl,sha256=_wc4hMaPhtgocUoL94uVzfVN3TGb08z8Xa2BL4SHfgA,91112
25
+ maialib/xml-scores-examples/Strauss_Also_Sprach_Zarathustra.mxl,sha256=nOQra05RHHDe_dXFs5WBJG2l9R1KQk64urV7lWYC2vw,18863
16
26
  maialib/xml-scores-examples/Beethoven_Symphony_5_mov_1.xml,sha256=iZ2uqqHWMkDtmQVKovT-H_-zZp1SixASi1R7L3TmuOI,4775525
17
- maialib/maiapy/other.pyi,sha256=KmvytsOd9WJpb7VPXJE76tIvTqb2C1MZtrGScy6RYTE,851
18
- maialib/maiapy/__init__.pyi,sha256=L8YtZYJMw_9TrdejcKs2c5xTbu5WMRwlHhKz6Qzulf8,77
19
- maialib/maiapy/sethares_dissonance.pyi,sha256=DMZtrHTGSAaJwcBWX_G-sHF15_eETp1OeRr2L5vwdF0,1171
20
- maialib/maiapy/other.py,sha256=5o2zXcm1quM-9jfUhzzzuKrj2qTBaNheA6Z05Ux9H_g,4042
21
- maialib/maiapy/plots.py,sha256=laAt68-IiZ4vNLFPKcGCf4IcMDIIZ1uavJpROrS8tqs,23153
22
- maialib/maiapy/plots.pyi,sha256=7zchTew8-uvIvo0TmJXRd_SRlIX9w1AyOSplbL5YGNM,619
23
- maialib/maiapy/sethares_dissonance.py,sha256=uRQLTQN55dk74hIFpzu9RlTWP0ZhRpVT3yTLI-su1ww,12830
24
- maialib/maiapy/__init__.py,sha256=L8YtZYJMw_9TrdejcKs2c5xTbu5WMRwlHhKz6Qzulf8,77
25
- maialib/maiacore/__init__.pyi,sha256=cJfflEKHJ6BPUTlDQt95xZmi2N3zwHJkHEXy27fBd5c,1282
26
- maialib/maiacore/maiacore.cpython-38-i386-linux-gnu.so,sha256=LCac4l_HKFhGmmkuk6pyM3VGzy9KZfjg4EgzVLBoCTU,5278113
27
- maialib/maiacore/__init__.py,sha256=IW7E0LuzAttsn0b37SEthCA0LKuzSgkepSpq8DWExYQ,77
28
- maialib/maiacore/maiacore.pyi,sha256=IoVUJYogP4VGrxvj3RcCe-AXMQ2MHWhP0x-bPVQsMrY,43395
27
+ maialib.libs/libstdc++-d2a021ba.so.6.0.32,sha256=1zr_iwGwEBe95gyKdgiw7C4Y1RR9ijV40j66rk4elzg,3537349
28
+ maialib.libs/libgcc_s-f3fb5a36.so.1,sha256=SrjjCCuY7RHj-T9JLrY9XFMgCCpYD9Qmezr4uoJGVEQ,168321
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.2.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp38-cp38-musllinux_1_2_i686
5
5