CreativePython 0.1.3__tar.gz → 0.1.5__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.3 → creativepython-0.1.5}/MANIFEST.in +0 -1
- {creativepython-0.1.3/src/CreativePython.egg-info → creativepython-0.1.5}/PKG-INFO +30 -8
- {creativepython-0.1.3 → creativepython-0.1.5}/README.md +29 -8
- {creativepython-0.1.3 → creativepython-0.1.5}/pyproject.toml +2 -12
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/_soundfont.py +3 -3
- {creativepython-0.1.3 → creativepython-0.1.5/src/CreativePython.egg-info}/PKG-INFO +30 -8
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython.egg-info/requires.txt +1 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/gui.py +6 -6
- {creativepython-0.1.3 → creativepython-0.1.5}/LICENSE +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/setup.cfg +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/__init__.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/_creativepythonSetup.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/.DS_Store +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/ArvoPart.CantusInMemoriam.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/ConcretPH_Xenakis.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/DeepPurple.SmokeOnTheWater.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/JS_Bach.Canon.TriasHarmonica.BWV1072.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/JS_Bach.Canon_1.GoldbergGround.BWV1087.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/Mozart.MusikalischesWurfelspiel.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/PierreCage.StructuresPourDeuxChances.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/RGB_Display.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/TerryRiley.InC.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/arpeggiator1.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/arpeggiator2.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/autumnLeaves.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/axelF.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/biosignals.txt +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/boids.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/brownianMelody.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/changesByTupac.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/clementine.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/continuousPitchInstrumentAudio.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/drumExample.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/drumMachinePattern1.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/drumsComeAlive.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/fibonacci.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/findPitchOctave.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/furElise.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/generativeMusic.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/goldenTree.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/guidoWordMusic.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonicesMundi.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonicesMundiRevisisted.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonographLateral.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonographRotary.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoBlackDown.png +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoOctave.png +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoParallel.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoSimple.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoWhiteCenterDown.png +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoWhiteLeftDown.png +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoWhiteRightDown.png +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiIn1.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiIn2.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiIn3.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiOut.a.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiOut.b.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiSynthesizer.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiSynthesizer2.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/moondog-bird_slament.wav +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/musicalSphere.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/note.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/octoplus.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/oscIn1.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/oscIn2.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/pentatonicMelody.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/pianoPhase.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/pianoRollGenerator.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/playNote.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/proteinMusic.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/randomCircles.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/randomCirclesThroughMidiInput.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/randomCirclesTimed.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/retrograde.a.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/retrograde.b.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/retrograde.c.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/rowYourBoat.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/scaleTutor.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/sierpinskiTriangle.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/simpleButtonInstrument.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/simpleCircleInstrument.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/sineMelody.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/sineMelodyPlus.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/sliderControl.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/sonifyBiosignals.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/sonifyImage.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/soundscapeLoutrakiSunset.jpg +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/stringQuartet.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/textMusic.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/theWayItIs.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/themeAndVariations.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/throwingDice.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/windChimes.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/zipfMetrics.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/resources/.DS_Store +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/resources/550973__luizguilherme_a__clean-guitarr-riff.mp3 +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/resources/chopper.jpg +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/resources/de-brazzas-monkey.jpg +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython.egg-info/SOURCES.txt +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython.egg-info/dependency_links.txt +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython.egg-info/top_level.txt +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/_RealtimeAudioPlayer.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/iannix.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/image.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/markov.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/midi.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/music.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/osc.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/src/timer.py +0 -0
- {creativepython-0.1.3 → creativepython-0.1.5}/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.5
|
|
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: rtmidi>=2.5.0
|
|
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,33 @@ 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 - CMake configuration failed** 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`.
|
|
76
|
+
|
|
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, download [playNote.py](https://www.dropbox.com/scl/fi/z6rkjy4xnofmg0t899se3/playNote.py?rlkey=o3t8c91ne6agj2lqf2aupl8m5&dl=1) and run it in IDLE. You should hear a single C4 half-note.
|
|
74
82
|
|
|
75
83
|
**NOTE**: You can use the setup script in any Python3 environment - not just IDLE!
|
|
76
84
|
|
|
77
85
|
# Custom Installation
|
|
78
86
|
|
|
87
|
+
If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.
|
|
88
|
+
|
|
79
89
|
## Windows
|
|
80
90
|
|
|
81
91
|
Install CreativePython using `pip`:
|
|
@@ -149,3 +159,15 @@ python -i playNote.py
|
|
|
149
159
|
If this is the first time you've used CreativePython, it will ask to download a soundfont.
|
|
150
160
|
|
|
151
161
|
After you do, you should hear a single C4 half-note.
|
|
162
|
+
|
|
163
|
+
## Troubleshooting
|
|
164
|
+
|
|
165
|
+
### CMake configuration failed
|
|
166
|
+
|
|
167
|
+
Some of CreativePython's libraries need to compile C++ code during installation.
|
|
168
|
+
|
|
169
|
+
- 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.
|
|
170
|
+
|
|
171
|
+
- On MacOS, you can download and install [XCode from the App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
|
|
172
|
+
|
|
173
|
+
Restart your computer, then try installing CreativePython again.
|
|
@@ -9,24 +9,33 @@ 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 - CMake configuration failed** 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`.
|
|
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, download [playNote.py](https://www.dropbox.com/scl/fi/z6rkjy4xnofmg0t899se3/playNote.py?rlkey=o3t8c91ne6agj2lqf2aupl8m5&dl=1) and run it in IDLE. You should hear a single C4 half-note.
|
|
25
32
|
|
|
26
33
|
**NOTE**: You can use the setup script in any Python3 environment - not just IDLE!
|
|
27
34
|
|
|
28
35
|
# Custom Installation
|
|
29
36
|
|
|
37
|
+
If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.
|
|
38
|
+
|
|
30
39
|
## Windows
|
|
31
40
|
|
|
32
41
|
Install CreativePython using `pip`:
|
|
@@ -99,4 +108,16 @@ python -i playNote.py
|
|
|
99
108
|
|
|
100
109
|
If this is the first time you've used CreativePython, it will ask to download a soundfont.
|
|
101
110
|
|
|
102
|
-
After you do, you should hear a single C4 half-note.
|
|
111
|
+
After you do, you should hear a single C4 half-note.
|
|
112
|
+
|
|
113
|
+
## Troubleshooting
|
|
114
|
+
|
|
115
|
+
### CMake configuration failed
|
|
116
|
+
|
|
117
|
+
Some of CreativePython's libraries need to compile C++ code during installation.
|
|
118
|
+
|
|
119
|
+
- 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.
|
|
120
|
+
|
|
121
|
+
- On MacOS, you can download and install [XCode from the App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
|
|
122
|
+
|
|
123
|
+
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.5"
|
|
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
|
+
"rtmidi>=2.5.0",
|
|
28
29
|
"sounddevice>=0.5.2",
|
|
29
30
|
"soundfile>=0.13.1",
|
|
30
31
|
"tqdm>=4.67.1",
|
|
@@ -35,16 +36,5 @@ dependencies = [
|
|
|
35
36
|
[project.urls]
|
|
36
37
|
Homepage = "https://jythonmusic.me"
|
|
37
38
|
|
|
38
|
-
[tool.setuptools.package-data]
|
|
39
|
-
CreativePython = [
|
|
40
|
-
"examples/*",
|
|
41
|
-
"scripts/*",
|
|
42
|
-
"resources/*",
|
|
43
|
-
# "bin/windows/*",
|
|
44
|
-
# "bin/macos/*",
|
|
45
|
-
# "licenses/*",
|
|
46
|
-
# "wheels/*.whl"
|
|
47
|
-
]
|
|
48
|
-
|
|
49
39
|
[project.optional-dependencies]
|
|
50
40
|
dev = ["build", "twine"]
|
|
@@ -67,7 +67,7 @@ def _installSoundfont():
|
|
|
67
67
|
soundfontPath = _findSoundfont()
|
|
68
68
|
if not soundfontPath:
|
|
69
69
|
print(f"[CREATIVEPYTHON SETUP]: Downloading MIDI Soundfont...")
|
|
70
|
-
|
|
71
|
-
print(f"[CREATIVEPYTHON SETUP]: Soundfont downloaded to {
|
|
70
|
+
soundfontPath = _downloadSoundfont()
|
|
71
|
+
print(f"[CREATIVEPYTHON SETUP]: Soundfont downloaded to {soundfontPath}")
|
|
72
72
|
|
|
73
|
-
return
|
|
73
|
+
return soundfontPath
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CreativePython
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
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: rtmidi>=2.5.0
|
|
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,33 @@ 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 - CMake configuration failed** 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`.
|
|
76
|
+
|
|
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, download [playNote.py](https://www.dropbox.com/scl/fi/z6rkjy4xnofmg0t899se3/playNote.py?rlkey=o3t8c91ne6agj2lqf2aupl8m5&dl=1) and run it in IDLE. You should hear a single C4 half-note.
|
|
74
82
|
|
|
75
83
|
**NOTE**: You can use the setup script in any Python3 environment - not just IDLE!
|
|
76
84
|
|
|
77
85
|
# Custom Installation
|
|
78
86
|
|
|
87
|
+
If you're familiar with Python development, we recommend installing CreativePython through the Command Prompt/Terminal.
|
|
88
|
+
|
|
79
89
|
## Windows
|
|
80
90
|
|
|
81
91
|
Install CreativePython using `pip`:
|
|
@@ -149,3 +159,15 @@ python -i playNote.py
|
|
|
149
159
|
If this is the first time you've used CreativePython, it will ask to download a soundfont.
|
|
150
160
|
|
|
151
161
|
After you do, you should hear a single C4 half-note.
|
|
162
|
+
|
|
163
|
+
## Troubleshooting
|
|
164
|
+
|
|
165
|
+
### CMake configuration failed
|
|
166
|
+
|
|
167
|
+
Some of CreativePython's libraries need to compile C++ code during installation.
|
|
168
|
+
|
|
169
|
+
- 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.
|
|
170
|
+
|
|
171
|
+
- On MacOS, you can download and install [XCode from the App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
|
|
172
|
+
|
|
173
|
+
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
|
{creativepython-0.1.3 → creativepython-0.1.5}/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.3 → creativepython-0.1.5}/src/CreativePython/examples/drumMachinePattern1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/findPitchOctave.py
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/generativeMusic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonicesMundi.py
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonographLateral.py
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/harmonographRotary.py
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoBlackDown.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoWhiteCenterDown.png
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/iPianoWhiteLeftDown.png
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/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.3 → creativepython-0.1.5}/src/CreativePython/examples/midiSynthesizer.py
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/midiSynthesizer2.py
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/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.3 → creativepython-0.1.5}/src/CreativePython/examples/pentatonicMelody.py
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/pianoRollGenerator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/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.3 → creativepython-0.1.5}/src/CreativePython/examples/sierpinskiTriangle.py
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/simpleButtonInstrument.py
RENAMED
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/src/CreativePython/examples/simpleCircleInstrument.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/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.3 → creativepython-0.1.5}/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.3 → creativepython-0.1.5}/src/CreativePython/resources/de-brazzas-monkey.jpg
RENAMED
|
File without changes
|
|
File without changes
|
{creativepython-0.1.3 → creativepython-0.1.5}/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
|