File: TODO.md

package info (click to toggle)
python-pyo 1.0.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,332 kB
  • sloc: python: 135,133; ansic: 127,822; javascript: 16,116; sh: 395; makefile: 388; cpp: 242
file content (117 lines) | stat: -rw-r--r-- 3,016 bytes parent folder | download | duplicates (2)
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.