CreativePython 0.1.4__tar.gz → 0.1.6__tar.gz
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.
- {creativepython-0.1.4/src/CreativePython.egg-info → creativepython-0.1.6}/PKG-INFO +33 -13
- {creativepython-0.1.4 → creativepython-0.1.6}/README.md +31 -12
- {creativepython-0.1.4 → creativepython-0.1.6}/pyproject.toml +2 -1
- {creativepython-0.1.4 → creativepython-0.1.6/src/CreativePython.egg-info}/PKG-INFO +33 -13
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython.egg-info/requires.txt +1 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/gui.py +6 -6
- {creativepython-0.1.4 → creativepython-0.1.6}/LICENSE +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/MANIFEST.in +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/setup.cfg +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/__init__.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/_creativepythonSetup.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/_soundfont.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/.DS_Store +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/ArvoPart.CantusInMemoriam.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/ConcretPH_Xenakis.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/DeepPurple.SmokeOnTheWater.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/JS_Bach.Canon.TriasHarmonica.BWV1072.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/JS_Bach.Canon_1.GoldbergGround.BWV1087.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/Mozart.MusikalischesWurfelspiel.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/PierreCage.StructuresPourDeuxChances.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/RGB_Display.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/TerryRiley.InC.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/arpeggiator1.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/arpeggiator2.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/autumnLeaves.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/axelF.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/biosignals.txt +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/boids.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/brownianMelody.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/changesByTupac.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/clementine.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/continuousPitchInstrumentAudio.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/drumExample.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/drumMachinePattern1.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/drumsComeAlive.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/fibonacci.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/findPitchOctave.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/furElise.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/generativeMusic.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/goldenTree.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/guidoWordMusic.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonicesMundi.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonicesMundiRevisisted.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonographLateral.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonographRotary.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoBlackDown.png +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoOctave.png +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoParallel.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoSimple.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoWhiteCenterDown.png +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoWhiteLeftDown.png +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoWhiteRightDown.png +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiIn1.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiIn2.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiIn3.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiOut.a.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiOut.b.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiSynthesizer.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiSynthesizer2.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/moondog-bird_slament.wav +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/musicalSphere.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/note.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/octoplus.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/oscIn1.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/oscIn2.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/pentatonicMelody.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/pianoPhase.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/pianoRollGenerator.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/playNote.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/proteinMusic.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/randomCircles.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/randomCirclesThroughMidiInput.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/randomCirclesTimed.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/retrograde.a.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/retrograde.b.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/retrograde.c.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/rowYourBoat.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/scaleTutor.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sierpinskiTriangle.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/simpleButtonInstrument.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/simpleCircleInstrument.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sineMelody.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sineMelodyPlus.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sliderControl.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sonifyBiosignals.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sonifyImage.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/soundscapeLoutrakiSunset.jpg +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/stringQuartet.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/textMusic.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/theWayItIs.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/themeAndVariations.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/throwingDice.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/windChimes.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/zipfMetrics.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/resources/.DS_Store +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/resources/550973__luizguilherme_a__clean-guitarr-riff.mp3 +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/resources/chopper.jpg +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/resources/de-brazzas-monkey.jpg +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython.egg-info/SOURCES.txt +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython.egg-info/dependency_links.txt +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython.egg-info/top_level.txt +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/_RealtimeAudioPlayer.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/iannix.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/image.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/markov.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/midi.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/music.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/osc.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/timer.py +0 -0
- {creativepython-0.1.4 → creativepython-0.1.6}/src/zipf.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CreativePython
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: A Python-based software environment for developing algorithmic art projects.
|
|
5
5
|
Author-email: "Dr. Bill Manaris" <manaris@cofc.edu>, Taj Ballinger <ballingertj@g.cofc.edu>, Trevor Ritchie <ritchiets@g.cofc.edu>
|
|
6
6
|
License: MIT License
|
|
@@ -37,6 +37,7 @@ Requires-Dist: tinysoundfont>=0.3.6
|
|
|
37
37
|
Requires-Dist: osc4py3>=1.0.8
|
|
38
38
|
Requires-Dist: mido>=1.3.3
|
|
39
39
|
Requires-Dist: PySide6>=6.9.1
|
|
40
|
+
Requires-Dist: python-rtmidi>=1.5.8
|
|
40
41
|
Requires-Dist: sounddevice>=0.5.2
|
|
41
42
|
Requires-Dist: soundfile>=0.13.1
|
|
42
43
|
Requires-Dist: tqdm>=4.67.1
|
|
@@ -58,24 +59,31 @@ CreativePython is distributed under the MIT License.
|
|
|
58
59
|
|
|
59
60
|
This package is still under development.
|
|
60
61
|
|
|
61
|
-
#
|
|
62
|
+
# Requirements
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
Before installing CreativePython, you will need:
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
- **Python3**, version 3.9 or greater [[Download](https://www.python.org/downloads/)]
|
|
67
|
+
- **A C++ compiler** (see **Troubleshooting** below)
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
# Beginner Installation (Windows/MacOS)
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
1. Download the [CreativePython Setup Script](https://www.dropbox.com/scl/fi/253bvfqsf0ij3rmza88q5/_creativepythonSetup.py?rlkey=iu4y4u8pujltgfx6kbjmodu9m&dl=1).
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
2. Open `creativePythonSetup.py` with IDLE, Python's Integrated Development Learning Environment.
|
|
72
74
|
|
|
73
|
-
|
|
75
|
+
3. From the IDLE toolbar, select `Run`, then `Run Module`.
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
4. CreativePython will check for its requirements on your system, download any missing requirements, and install its libraries.
|
|
78
|
+
|
|
79
|
+
5. If you see `[CreativePython Setup]: CreativePython installed successfully.`, you're all done! You're ready to start using CreativePython in your Python code.
|
|
80
|
+
|
|
81
|
+
- To test the installation, try out the **playNote** example below!
|
|
76
82
|
|
|
77
83
|
# Custom Installation
|
|
78
84
|
|
|
85
|
+
If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.
|
|
86
|
+
|
|
79
87
|
## Windows
|
|
80
88
|
|
|
81
89
|
Install CreativePython using `pip`:
|
|
@@ -116,7 +124,7 @@ from music import Note, Play, C4, HN
|
|
|
116
124
|
|
|
117
125
|
Or a similar statement. CreativePython includes a number of useful constants, so we recommend using wildcard imports like `from music import *`.
|
|
118
126
|
|
|
119
|
-
**NOTE
|
|
127
|
+
**NOTE:** The first time you import `music`, CreativePython will download a high-quality soundfont (FluidR3 G2-2.sf2) for you. You should only have to do this once.
|
|
120
128
|
|
|
121
129
|
## Running CreativePython programs
|
|
122
130
|
|
|
@@ -140,12 +148,24 @@ note = Note(C4, HN) # create a middle C half note
|
|
|
140
148
|
Play.midi(note) # and play it!
|
|
141
149
|
```
|
|
142
150
|
|
|
143
|
-
In
|
|
151
|
+
In IDLE, you can open playNote.py, and select **Run**, then **Run Module** from the toolbar.
|
|
152
|
+
|
|
153
|
+
In a terminal, run playNote.py in interactive mode:
|
|
144
154
|
|
|
145
155
|
```
|
|
146
156
|
python -i playNote.py
|
|
147
157
|
```
|
|
148
158
|
|
|
149
|
-
If this is the first time you've used CreativePython, it will ask to download a soundfont.
|
|
150
|
-
|
|
151
159
|
After you do, you should hear a single C4 half-note.
|
|
160
|
+
|
|
161
|
+
## Troubleshooting
|
|
162
|
+
|
|
163
|
+
### CMake configuration failed
|
|
164
|
+
|
|
165
|
+
Some of CreativePython's libraries need to compile C++ code during installation.
|
|
166
|
+
|
|
167
|
+
- On Windows, download and install [Visual Studio Build Tools 2022](https://visualstudio.microsoft.com/downloads/). In the Visual Studio installer, make sure "C++ Build Tools" is checked.
|
|
168
|
+
|
|
169
|
+
- On MacOS, you can download and install [XCode from the App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
|
|
170
|
+
|
|
171
|
+
Restart your computer, then try installing CreativePython again.
|
|
@@ -9,24 +9,31 @@ CreativePython is distributed under the MIT License.
|
|
|
9
9
|
|
|
10
10
|
This package is still under development.
|
|
11
11
|
|
|
12
|
-
#
|
|
12
|
+
# Requirements
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Before installing CreativePython, you will need:
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
- **Python3**, version 3.9 or greater [[Download](https://www.python.org/downloads/)]
|
|
17
|
+
- **A C++ compiler** (see **Troubleshooting** below)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
# Beginner Installation (Windows/MacOS)
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
1. Download the [CreativePython Setup Script](https://www.dropbox.com/scl/fi/253bvfqsf0ij3rmza88q5/_creativepythonSetup.py?rlkey=iu4y4u8pujltgfx6kbjmodu9m&dl=1).
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
2. Open `creativePythonSetup.py` with IDLE, Python's Integrated Development Learning Environment.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
3. From the IDLE toolbar, select `Run`, then `Run Module`.
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
4. CreativePython will check for its requirements on your system, download any missing requirements, and install its libraries.
|
|
28
|
+
|
|
29
|
+
5. If you see `[CreativePython Setup]: CreativePython installed successfully.`, you're all done! You're ready to start using CreativePython in your Python code.
|
|
30
|
+
|
|
31
|
+
- To test the installation, try out the **playNote** example below!
|
|
27
32
|
|
|
28
33
|
# Custom Installation
|
|
29
34
|
|
|
35
|
+
If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.
|
|
36
|
+
|
|
30
37
|
## Windows
|
|
31
38
|
|
|
32
39
|
Install CreativePython using `pip`:
|
|
@@ -67,7 +74,7 @@ from music import Note, Play, C4, HN
|
|
|
67
74
|
|
|
68
75
|
Or a similar statement. CreativePython includes a number of useful constants, so we recommend using wildcard imports like `from music import *`.
|
|
69
76
|
|
|
70
|
-
**NOTE
|
|
77
|
+
**NOTE:** The first time you import `music`, CreativePython will download a high-quality soundfont (FluidR3 G2-2.sf2) for you. You should only have to do this once.
|
|
71
78
|
|
|
72
79
|
## Running CreativePython programs
|
|
73
80
|
|
|
@@ -91,12 +98,24 @@ note = Note(C4, HN) # create a middle C half note
|
|
|
91
98
|
Play.midi(note) # and play it!
|
|
92
99
|
```
|
|
93
100
|
|
|
94
|
-
In
|
|
101
|
+
In IDLE, you can open playNote.py, and select **Run**, then **Run Module** from the toolbar.
|
|
102
|
+
|
|
103
|
+
In a terminal, run playNote.py in interactive mode:
|
|
95
104
|
|
|
96
105
|
```
|
|
97
106
|
python -i playNote.py
|
|
98
107
|
```
|
|
99
108
|
|
|
100
|
-
|
|
109
|
+
After you do, you should hear a single C4 half-note.
|
|
110
|
+
|
|
111
|
+
## Troubleshooting
|
|
112
|
+
|
|
113
|
+
### CMake configuration failed
|
|
114
|
+
|
|
115
|
+
Some of CreativePython's libraries need to compile C++ code during installation.
|
|
116
|
+
|
|
117
|
+
- On Windows, download and install [Visual Studio Build Tools 2022](https://visualstudio.microsoft.com/downloads/). In the Visual Studio installer, make sure "C++ Build Tools" is checked.
|
|
118
|
+
|
|
119
|
+
- On MacOS, you can download and install [XCode from the App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
|
|
101
120
|
|
|
102
|
-
|
|
121
|
+
Restart your computer, then try installing CreativePython again.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "CreativePython"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.6"
|
|
8
8
|
description = "A Python-based software environment for developing algorithmic art projects."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
|
@@ -25,6 +25,7 @@ dependencies = [
|
|
|
25
25
|
"osc4py3>=1.0.8",
|
|
26
26
|
"mido>=1.3.3",
|
|
27
27
|
"PySide6>=6.9.1",
|
|
28
|
+
"python-rtmidi>=1.5.8",
|
|
28
29
|
"sounddevice>=0.5.2",
|
|
29
30
|
"soundfile>=0.13.1",
|
|
30
31
|
"tqdm>=4.67.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CreativePython
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: A Python-based software environment for developing algorithmic art projects.
|
|
5
5
|
Author-email: "Dr. Bill Manaris" <manaris@cofc.edu>, Taj Ballinger <ballingertj@g.cofc.edu>, Trevor Ritchie <ritchiets@g.cofc.edu>
|
|
6
6
|
License: MIT License
|
|
@@ -37,6 +37,7 @@ Requires-Dist: tinysoundfont>=0.3.6
|
|
|
37
37
|
Requires-Dist: osc4py3>=1.0.8
|
|
38
38
|
Requires-Dist: mido>=1.3.3
|
|
39
39
|
Requires-Dist: PySide6>=6.9.1
|
|
40
|
+
Requires-Dist: python-rtmidi>=1.5.8
|
|
40
41
|
Requires-Dist: sounddevice>=0.5.2
|
|
41
42
|
Requires-Dist: soundfile>=0.13.1
|
|
42
43
|
Requires-Dist: tqdm>=4.67.1
|
|
@@ -58,24 +59,31 @@ CreativePython is distributed under the MIT License.
|
|
|
58
59
|
|
|
59
60
|
This package is still under development.
|
|
60
61
|
|
|
61
|
-
#
|
|
62
|
+
# Requirements
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
Before installing CreativePython, you will need:
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
- **Python3**, version 3.9 or greater [[Download](https://www.python.org/downloads/)]
|
|
67
|
+
- **A C++ compiler** (see **Troubleshooting** below)
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
# Beginner Installation (Windows/MacOS)
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
1. Download the [CreativePython Setup Script](https://www.dropbox.com/scl/fi/253bvfqsf0ij3rmza88q5/_creativepythonSetup.py?rlkey=iu4y4u8pujltgfx6kbjmodu9m&dl=1).
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
2. Open `creativePythonSetup.py` with IDLE, Python's Integrated Development Learning Environment.
|
|
72
74
|
|
|
73
|
-
|
|
75
|
+
3. From the IDLE toolbar, select `Run`, then `Run Module`.
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
4. CreativePython will check for its requirements on your system, download any missing requirements, and install its libraries.
|
|
78
|
+
|
|
79
|
+
5. If you see `[CreativePython Setup]: CreativePython installed successfully.`, you're all done! You're ready to start using CreativePython in your Python code.
|
|
80
|
+
|
|
81
|
+
- To test the installation, try out the **playNote** example below!
|
|
76
82
|
|
|
77
83
|
# Custom Installation
|
|
78
84
|
|
|
85
|
+
If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.
|
|
86
|
+
|
|
79
87
|
## Windows
|
|
80
88
|
|
|
81
89
|
Install CreativePython using `pip`:
|
|
@@ -116,7 +124,7 @@ from music import Note, Play, C4, HN
|
|
|
116
124
|
|
|
117
125
|
Or a similar statement. CreativePython includes a number of useful constants, so we recommend using wildcard imports like `from music import *`.
|
|
118
126
|
|
|
119
|
-
**NOTE
|
|
127
|
+
**NOTE:** The first time you import `music`, CreativePython will download a high-quality soundfont (FluidR3 G2-2.sf2) for you. You should only have to do this once.
|
|
120
128
|
|
|
121
129
|
## Running CreativePython programs
|
|
122
130
|
|
|
@@ -140,12 +148,24 @@ note = Note(C4, HN) # create a middle C half note
|
|
|
140
148
|
Play.midi(note) # and play it!
|
|
141
149
|
```
|
|
142
150
|
|
|
143
|
-
In
|
|
151
|
+
In IDLE, you can open playNote.py, and select **Run**, then **Run Module** from the toolbar.
|
|
152
|
+
|
|
153
|
+
In a terminal, run playNote.py in interactive mode:
|
|
144
154
|
|
|
145
155
|
```
|
|
146
156
|
python -i playNote.py
|
|
147
157
|
```
|
|
148
158
|
|
|
149
|
-
If this is the first time you've used CreativePython, it will ask to download a soundfont.
|
|
150
|
-
|
|
151
159
|
After you do, you should hear a single C4 half-note.
|
|
160
|
+
|
|
161
|
+
## Troubleshooting
|
|
162
|
+
|
|
163
|
+
### CMake configuration failed
|
|
164
|
+
|
|
165
|
+
Some of CreativePython's libraries need to compile C++ code during installation.
|
|
166
|
+
|
|
167
|
+
- On Windows, download and install [Visual Studio Build Tools 2022](https://visualstudio.microsoft.com/downloads/). In the Visual Studio installer, make sure "C++ Build Tools" is checked.
|
|
168
|
+
|
|
169
|
+
- On MacOS, you can download and install [XCode from the App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
|
|
170
|
+
|
|
171
|
+
Restart your computer, then try installing CreativePython again.
|
|
@@ -984,12 +984,12 @@ class Display(Interactable):
|
|
|
984
984
|
|
|
985
985
|
# determine item under cursor at press-time for correct focus
|
|
986
986
|
pressedItem = None
|
|
987
|
-
i =
|
|
988
|
-
while pressedItem is None and i
|
|
987
|
+
i = len(self.items) - 1
|
|
988
|
+
while pressedItem is None and i >=0:
|
|
989
989
|
item = self.items[i]
|
|
990
990
|
if item.contains(x, y):
|
|
991
991
|
pressedItem = item
|
|
992
|
-
i
|
|
992
|
+
i = i - 1
|
|
993
993
|
|
|
994
994
|
# set focus based on press location
|
|
995
995
|
self.focusItem = pressedItem
|
|
@@ -1049,12 +1049,12 @@ class Display(Interactable):
|
|
|
1049
1049
|
# while dragging we avoid changing hover/focus behavior based on items under the cursor
|
|
1050
1050
|
if not isMouseDrag:
|
|
1051
1051
|
hoverItem = None # look for a hover item
|
|
1052
|
-
i =
|
|
1053
|
-
while hoverItem is None and i
|
|
1052
|
+
i = len(self.items) - 1
|
|
1053
|
+
while hoverItem is None and i >= 0:
|
|
1054
1054
|
item = self.items[i]
|
|
1055
1055
|
if item.contains(x, y):
|
|
1056
1056
|
hoverItem = item
|
|
1057
|
-
i
|
|
1057
|
+
i = i - 1
|
|
1058
1058
|
|
|
1059
1059
|
if hoverItem != self.hoverItem: # if hover item has changed,
|
|
1060
1060
|
if self.hoverItem is not None: # was there an old hover item?
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/ConcretPH_Xenakis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/drumMachinePattern1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/findPitchOctave.py
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/generativeMusic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonicesMundi.py
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonographLateral.py
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/harmonographRotary.py
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoBlackDown.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoWhiteCenterDown.png
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoWhiteLeftDown.png
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/iPianoWhiteRightDown.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiSynthesizer.py
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/midiSynthesizer2.py
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/moondog-bird_slament.wav
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/pentatonicMelody.py
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/pianoRollGenerator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/randomCirclesTimed.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sierpinskiTriangle.py
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/simpleButtonInstrument.py
RENAMED
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/simpleCircleInstrument.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/sonifyBiosignals.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/examples/themeAndVariations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython/resources/de-brazzas-monkey.jpg
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.4 → creativepython-0.1.6}/src/CreativePython.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|