1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
This is a list of features/fixes to implement for future releases
=================================================================
Roadmap 1.0.5
-------------
- python 3.10 and 3.11 wheels
Roadmap 1.0.6
-------------
- Doc page about multichannel expansion.
- FAQ in github's wiki
1) multi-channel expansion
2) the necessity of keeping the python process alive (no sound because the main python process quits)
3) scoping problems (defining a PyoObject in a function that gets garbage-collected before it produces sound)
- HiDPI on Windows:
• since I run Windows 11 in HighDPI resolution, the default GUI looks a bit pixelated
-- this could be fixed later on by using
if IS_WINDOWS:
try:
import ctypes
ctypes.windll.shcore.SetProcessDpiAwareness(True)
except Exception as e:
pass
in conjunction with self.FromDIP(wx.Point, wx.Size, ...) in _wxwidgets.py
ref: https://mail.google.com/mail/u/0/?zx=5375dhfmshql#label/PYO/KtbxLxghkxTqDXhnSCDJxLQkCDHGxpMslq
- Safer version of realloc
- Add Midifile object
- Add an optional callback on the "stop" event of the PyoObject.
- Add "loop points" to Linseg, Expseg, and MidiLinseg.
ref: https://groups.google.com/g/pyo-discuss/c/Y3Eu-O7lYRM/m/vLoflgWvAQAJ?utm_medium=email&utm_source=footer&pli=1
- Install m_pyo.h configured for the target version in pythonlib/pyo/include/.
- PyoMatrixObject.get(x, y) inverts arguments. Add PyoMatrixObject.getValue(x, y) with x and y in the good order (also putValue(value, x, y))
- PyoMatrixObject.getMatrix()
- A new implementation, Pyo2DTableObject, doing the right things.
Internal
--------
- Use inheritance (instead of a bunch of macros) at the C level.
PyoObject_base or Stream) should handle `mul`, `add` and
stream-related functions for every PyoObject. It should make the
code much simple and easier to maintain/extend, and also reduce
compiling time and binary size.
Server
------
- Updating coreaudio support (lot of deprecated functions).
- A method to retrieve a graph of the internal state of the server
(active objects, connections, attribute values, ...).
Examples
--------
- finish the examples.
- A section about building fx and synth classes.
Objects
-------
- SigTo with independent rising and falling times.
- PVInterp
- PVGain with controlable gain value over time.
- Integrator and Differentiator
- TrigAdsr, to generate envelope from trigger with constant fadein time.
- Add VBAP and LBAP spat algorithms.
- Add a plate reverb.
MIDI
----
- MidiFile & MidiFileReader
- sysex support in MidiListener.
GUI
---
- PyoGuiRangeSlider (instead of importing pyo.lib._widgets.HRangeSlider
- MixerGUI, an interface to control the routing of a Mixer object.
- A graphical representation of a parametric EQ.
- Analysis display (cartesian plane, sonnagram, filter frequency response)
Matrices
--------
- Implement the buffer protocol as in the PyoTableObject.
Link
----
- Added Link integration to the Event Framework.
|