Ben Niemann
ef5527be03
Move flatpy to a separate repo and include it as a submodule.
2022-01-02 04:07:45 +01:00
Ben Niemann
26f42e2e70
Hide the --shell flag.
2022-01-02 03:03:12 +01:00
Ben Niemann
ae6f7200fe
Do not package libjack in appimage.
...
Must use the version from the host, which matches the running jackd.
See https://musescore.org/en/node/105361#comment-783841
2022-01-02 03:03:02 +01:00
Ben Niemann
91a702bc1d
Fix logging.
2022-01-01 13:10:33 +01:00
Ben Niemann
b5113590b3
Flag to open shell in appimage for debugging.
2022-01-01 13:09:50 +01:00
Ben Niemann
66275ca434
Fix typo.
2022-01-01 02:51:40 +01:00
Ben Niemann
73d7ffec63
Tweak .projectile
2022-01-01 02:50:55 +01:00
Ben Niemann
ee1a2d49af
Move subprocess from nix to a submodule.
2022-01-01 02:50:50 +01:00
Ben Niemann
c1954a4032
Move dep_sort from nix to a submodule.
2022-01-01 02:30:58 +01:00
Ben Niemann
1d5ebaa58e
Update comment.
2021-12-31 09:17:00 +01:00
Ben Niemann
fe0428e1cd
Fix lint.
2021-12-31 04:52:01 +01:00
Ben Niemann
f44e3edbd4
meld messed with my python. don't!
2021-12-31 04:46:38 +01:00
Ben Niemann
4bd251ec49
Tweak QNanoPainter build.
2021-12-31 04:28:56 +01:00
Ben Niemann
575979796a
ADSR: visualize envelope and track current position.
2021-12-31 04:01:47 +01:00
Ben Niemann
d9f344e4e0
Support faust nodes with custom C++ code.
2021-12-31 03:59:15 +01:00
Ben Niemann
39b372104b
Add QML component to draw simple plots.
2021-12-31 03:57:47 +01:00
Ben Niemann
a7afb8b878
Add QNanoPainter as a submodule and add it to the build script.
2021-12-31 03:46:27 +01:00
Ben Niemann
cc2405a358
Export logging interface to QML.
2021-12-31 03:41:21 +01:00
Ben Niemann
d7e992ec3f
Support internal ports, which don't show up on the UI.
2021-12-31 00:11:41 +01:00
Ben Niemann
10ac9eabe7
Fix duplicate rule for noisicaa.svg icon.
2021-12-31 00:10:45 +01:00
Ben Niemann
beaa46d9ec
Fix port overrides for faust output ports.
2021-12-31 00:10:26 +01:00
Ben Niemann
ab9511e2f1
Feed Qt logs into Python's logging system.
2021-12-30 11:34:50 +01:00
Ben Niemann
14adb0777f
Fix crash when restarting jack backend and properly recreate jack connections.
2021-12-29 00:32:46 +01:00
Ben Niemann
86030335cb
Add plausible stats snippet to website.
2021-12-27 03:48:33 +01:00
Ben Niemann
7ada599cb4
Announce noisicaä reloaded.
2021-12-27 03:35:55 +01:00
Ben Niemann
b6e8ffe564
Reanimate website sources.
2021-12-27 02:39:53 +01:00
Ben Niemann
9181ae4118
Remove some lint.
2021-12-27 01:48:29 +01:00
Ben Niemann
d132c430c8
Defer engine start until window is open, control master volume, transition audio in on start.
2021-12-27 01:43:05 +01:00
Ben Niemann
62c28181a8
Factor out some common util classes.
2021-12-26 00:44:59 +01:00
Ben Niemann
daea30ac22
Add 'Step Sequencer' node.
2021-12-26 00:15:40 +01:00
Ben Niemann
e0ad86f894
Send (flatbuffer) messages from model/UI to engine nodes.
2021-12-26 00:13:53 +01:00
Ben Niemann
daa8d5752b
Support extra (non-Node) classes in model modules.
2021-12-26 00:04:04 +01:00
Ben Niemann
8a7d8afdfa
Add ADSR envelope.
2021-12-25 01:36:08 +01:00
Ben Niemann
053670aaaf
Fix faust UIs.
2021-12-25 01:31:58 +01:00
Ben Niemann
f121171d74
'LFO' node.
2021-12-25 01:31:28 +01:00
Ben Niemann
53f1f14abe
Support text base nentry fields.
2021-12-24 02:35:16 +01:00
Ben Niemann
aca7206aeb
Make passthru actually pass the signal thru.
2021-12-24 02:34:44 +01:00
Ben Niemann
2ab4c6ea1b
'Sample & Hold' node.
2021-12-24 01:22:23 +01:00
Ben Niemann
3ccbc3a7a5
'Clock' node to generate pulses in BPM units.
2021-12-24 00:50:42 +01:00
Ben Niemann
a6831d6569
Assorted tweaks to appimage scripts.
2021-12-23 01:01:25 +01:00
Ben Niemann
7bd5a8624e
Install .desktop file.
2021-12-23 00:41:53 +01:00
Ben Niemann
693e21be07
Properly setup application icon (even if I don't have one yet).
2021-12-23 00:41:14 +01:00
Ben Niemann
4f7582a4ef
Remove another trace of protobuf.
2021-12-23 00:40:21 +01:00
Ben Niemann
40d1b808f0
Silence some more compiler warnings.
2021-12-22 03:19:16 +01:00
Ben Niemann
ef2785c720
Script to do the most basic smoke testing in various docker images.
2021-12-22 03:18:36 +01:00
Ben Niemann
1d8de95ea6
New AppImage build script using Docker.
...
Using a "regular" (non-Nix) build script under Debian, and appimage-builder to include all
dependencies in the AppImage.
2021-12-22 02:35:26 +01:00
Ben Niemann
660d935bdc
Adjust default paths when running in AppImage.
2021-12-21 23:11:07 +01:00
Ben Niemann
edf3864f60
Do not build a dynamic lib for each node.
2021-12-21 23:08:59 +01:00
Ben Niemann
eb3b00f98f
Fix visibility of global symbols in SWH plugins.
2021-12-21 23:03:21 +01:00
Ben Niemann
bf7b2e357e
Use __attribute__((constructor)) to register classes.
2021-12-21 22:59:57 +01:00
Ben Niemann
352375bc1e
Give dynamic libraries proper SONAMEs.
2021-12-21 22:58:31 +01:00
Ben Niemann
6cf447ca31
Fix linker flags.
2021-12-21 22:19:45 +01:00
Ben Niemann
8dfd585e1a
Remove unused dependency on protobuf.
2021-12-21 05:01:16 +01:00
Ben Niemann
afd10b2247
Compile QML files for syntax checking during build.
2021-12-20 03:59:27 +01:00
Ben Niemann
08c31ed695
Clip audio output to [-1.0, 1.0].
2021-12-19 17:10:48 +01:00
Ben Niemann
a75039c9be
Configure project dialog and change sample rate and block size.
2021-12-19 01:55:16 +01:00
Ben Niemann
7e86bb9c7b
Rewrite jack output and resampling logic.
2021-12-19 00:48:41 +01:00
Ben Niemann
a90d780e6e
Timeout when process_block() gets never called.
2021-12-19 00:22:55 +01:00
Ben Niemann
0512552bc7
Fix memory leak and double free crash.
2021-12-19 00:22:14 +01:00
Ben Niemann
20549ae78d
More in-depth testing of jack IO.
2021-12-18 02:22:53 +01:00
Ben Niemann
b19d6d2891
Test JackIOPorts, fix memory corruption bug.
2021-12-17 22:01:15 +01:00
Ben Niemann
1e54cba975
Initial test for BackendJack.
2021-12-17 19:39:19 +01:00
Ben Niemann
95cc729325
Set jack server name via BackendSettings.
2021-12-17 19:38:36 +01:00
Ben Niemann
e0bcc8a5d9
Decouple backends from EngineImpl.
2021-12-17 18:23:15 +01:00
Ben Niemann
3c94e00356
Option to only build, but not run tests.
...
E.g. when running tests outside of waf.
2021-12-17 18:14:18 +01:00
Ben Niemann
5b5823dc87
Remove the type argument from connect_ports()
2021-12-17 17:54:13 +01:00
Ben Niemann
ca13f6082c
Remove debug plugin.
2021-12-17 02:12:16 +01:00
Ben Niemann
79a9ac8dce
Run lint tests before merging to main.
2021-12-17 02:10:05 +01:00
Ben Niemann
077c1bc842
Make everything lint free.
2021-12-17 02:09:11 +01:00
Ben Niemann
1af57a6b78
Make noisicaa.model lint free.
2021-12-16 23:45:06 +01:00
Ben Niemann
f908a2aaa8
flatpy: fix type errors in generated code.
2021-12-15 19:21:52 +01:00
Ben Niemann
1008e43d9d
Remove even more lint.
2021-12-15 18:05:33 +01:00
Ben Niemann
c762401dea
Remove some more lint.
2021-12-15 16:54:32 +01:00
Ben Niemann
72cfdaca82
Add typing stubs to PySide2 (and placeholder for flatbuffers).
2021-12-15 16:53:50 +01:00
Ben Niemann
8db1789961
Improve mypy test output.
2021-12-15 16:04:03 +01:00
Ben Niemann
ff42a71ae7
Remove some lint.
2021-12-15 15:28:38 +01:00
Ben Niemann
7bc17923f3
Tune logging during tests.
2021-12-15 15:13:56 +01:00
Ben Niemann
21b8f37453
Add "Open recent" submenu.
2021-12-14 20:36:22 +01:00
Ben Niemann
81529fed18
Window to show current engine program.
2021-12-14 19:36:29 +01:00
Ben Niemann
5d4bd8a457
Properly initialize control values for AUDIO ports.
2021-12-14 17:02:01 +01:00
Ben Niemann
d9b7a9d177
Remove ARATE_CONTROL type, rename KRATE_CONTROL to CONTROL, remove support for multiple port types.
2021-12-13 18:17:17 +01:00
Ben Niemann
148d1e2de6
Process a single block for every node.
2021-12-11 02:21:26 +01:00
Ben Niemann
dfccf4261c
Optionally run tests under GDB.
2021-12-11 01:48:06 +01:00
Ben Niemann
8267055049
Disable some more SWH plugins, which crash when used.
2021-12-11 01:47:36 +01:00
Ben Niemann
c7ec36c4b3
Run a basic smoke test on all nodes.
2021-12-11 01:47:20 +01:00
Ben Niemann
7541f949aa
Move common test fixtures into conftest.py
2021-12-11 01:40:24 +01:00
Ben Niemann
c678705cdd
Also wrap the UI registry in a class.
2021-12-11 01:39:42 +01:00
Ben Niemann
6d5b64236f
Move all code from <BaseObject children>.__init__ to created()/setup().
2021-12-10 23:50:23 +01:00
Ben Niemann
27d27f865d
Fix crash on shutdown.
2021-12-10 23:49:31 +01:00
Ben Niemann
1a9afd36b8
Fix crash when inserting new sink node.
2021-12-10 19:22:04 +01:00
Ben Niemann
09f48e06b8
Make appimage work (at least on my system).
2021-12-10 00:53:11 +01:00
Ben Niemann
5e4209c2be
Fix missing UIs for faust nodes.
2021-12-10 00:52:52 +01:00
Ben Niemann
f4aba1b7d4
Tweak syntax
2021-12-10 00:52:39 +01:00
Ben Niemann
fa438fa38d
Support control output buffers.
2021-12-09 22:11:02 +01:00
Ben Niemann
9599655046
Make it install properly under nix.
2021-12-09 21:59:29 +01:00
Ben Niemann
7427ecc872
Fix building under nix
2021-12-08 23:42:59 +01:00
Ben Niemann
04d011fe32
Fix build ordering issue.
2021-12-08 23:34:54 +01:00
Ben Niemann
f224c6c1b0
Merge branch 'main' into dev
2021-12-08 23:14:39 +01:00
Ben Niemann
393c3b3b99
Clip list of nodes
2021-12-08 17:40:48 +01:00
Ben Niemann
cc7d194bc9
Support mode SWH plugins.
2021-12-08 16:19:31 +01:00
Ben Niemann
b3c22949a0
Add some more SWH plugins.
2021-12-08 02:47:32 +01:00
Ben Niemann
34b5806370
Import SWH first module.
2021-12-08 01:20:23 +01:00
Ben Niemann
6c7bbf77e1
Script to merge dev branch into main.
2021-12-07 17:17:38 +01:00
Ben Niemann
0fb349ef97
Sink node can connect to any jack client.
...
- Replace static two output buffers by a map keyed by sink node id
- Sink model node stores selected device and ports.
- Sink engine node allocates io buffers and ask backend to connect to specific jack ports.
- Sink UI node lets user pick the jack client and ports.
2021-12-07 17:12:16 +01:00
Ben Niemann
b1afecc98c
Fix test.
2021-12-07 17:05:53 +01:00
Ben Niemann
0daa0e7253
Remove BackendSettings.connect_ports
2021-12-06 19:43:00 +01:00
Ben Niemann
2eab27880d
Emit PropertyListSet changes when setting list elements.
2021-12-06 18:53:30 +01:00
Ben Niemann
32a44d787d
Improved Menu QML type.
2021-12-06 18:48:45 +01:00
Ben Niemann
71013132ca
Move initial engine change message into Node.initialEngineChanges().
2021-12-05 18:30:59 +01:00
Ben Niemann
7424fbda77
Add model and UI to sink node to select output device and ports.
2021-12-05 00:44:29 +01:00
Ben Niemann
b370064ab0
Assorted tweaks.
2021-12-05 00:43:46 +01:00
Ben Niemann
823b93b002
Defer creation of GraphView.
2021-12-05 00:42:59 +01:00
Ben Niemann
50fe9298b5
Add pytest-qt
2021-12-05 00:42:38 +01:00
Ben Niemann
dbe4e006ac
Factor out a base App class, which can be used in tests.
2021-12-05 00:41:55 +01:00
Ben Niemann
ec8e1aac1e
Move the model registry into a class, instead of using global state.
2021-12-04 17:59:49 +01:00
Ben Niemann
ce94732538
UI keeps list of devices as reported by engine.
2021-12-04 17:45:53 +01:00
Ben Niemann
1d538f6fc8
Jack backend posts list of devices (other jack clients and their ports) back to UI.
2021-12-04 17:41:51 +01:00
Ben Niemann
99504a0d94
Defer creating the QML component.
...
Otherwise the node might be accessed, before all initializers were run.
2021-12-04 17:34:46 +01:00
Ben Niemann
b9bce2f5b7
Fix GraphNode.__str__().
2021-12-04 17:34:12 +01:00
Ben Niemann
bc54d083bf
flatpy: Fix code generation when imports are present.
2021-12-04 17:33:34 +01:00
Ben Niemann
e53481fa20
Separate BaseObject.deserialize() method and created() hook.
2021-12-04 17:32:47 +01:00
Ben Niemann
68f26a4c90
Fix faust compilation error.
2021-12-02 19:01:47 +01:00
Ben Niemann
ea665af763
Rename EVENTS port type to MIDI.
2021-12-02 19:01:29 +01:00
Ben Niemann
479507dacb
Add VCO node, support nentry faust controls.
2021-12-02 16:30:11 +01:00
Ben Niemann
717bc8bf8a
Simplify declaration of port types.
2021-12-01 17:56:29 +01:00
Ben Niemann
cf0d9c7321
Give faust in-/output ports default names.
2021-12-01 17:49:36 +01:00
Ben Niemann
28ebe490b5
Apply overrides from description to generated UIs for faust nodes.
2021-12-01 17:40:09 +01:00
Ben Niemann
6ca83e8d5c
Bugfix: Context menu was confused after deleting connection.
2021-12-01 16:42:09 +01:00
Ben Niemann
74d3f747da
Show port names when hovered.
2021-11-30 17:17:05 +01:00
Ben Niemann
0f0cd3f99c
Initial faust to QML ui generator.
2021-11-30 13:22:40 +01:00
Ben Niemann
7cb00221f7
Don't hardcode sample rate.
2021-11-30 11:46:39 +01:00
Ben Niemann
ecefbf57df
Show "No trigger" message.
2021-11-30 11:35:47 +01:00
Ben Niemann
da9e451a59
Add pause mode, tweak layout.
2021-11-29 19:34:41 +01:00
Ben Niemann
a670cafa1f
Extend the y range a bit.
2021-11-29 17:24:06 +01:00
Ben Niemann
4d4482e879
Set colors based on theme.
2021-11-29 17:13:41 +01:00
Ben Niemann
cf8d9cd9ee
Render per sample min/max range, properties for appearance.
2021-11-29 17:07:00 +01:00
Ben Niemann
09eec94cf7
Add labels.
2021-11-29 14:02:43 +01:00
Ben Niemann
3f5345119b
Render proper grid.
2021-11-28 18:32:15 +01:00
Ben Niemann
a810170594
Use a simple black background.
2021-11-28 16:59:43 +01:00
Ben Niemann
5eb9d56cf6
Add some checks for UI classes.
2021-11-28 16:31:39 +01:00
Ben Niemann
b343b1318e
Simplify build scripts for node lib.
2021-11-28 16:28:13 +01:00
Ben Niemann
f7badd7b7f
Add custom model class for oscilloscope to store its settings.
2021-11-28 16:15:10 +01:00
Ben Niemann
40b0b6951e
Forgot to add file.
2021-11-28 16:14:49 +01:00
Ben Niemann
37d08e05c9
Support custom model classes for nodes.
2021-11-28 16:14:46 +01:00
Ben Niemann
056525cbf4
Create registry of model classes, use fqn as type of serialized classes.
2021-11-28 16:12:17 +01:00
Ben Niemann
5acb2f962d
Rename model.Node to GraphNode
2021-11-28 16:09:53 +01:00
Ben Niemann
02f5988eb3
Fix tests.
2021-11-28 15:53:57 +01:00
Ben Niemann
54ef8676df
Add BaseObject.debugInfo() method.
2021-11-28 14:38:06 +01:00
Ben Niemann
934fd7dd60
Fix sine description.
2021-11-28 14:36:39 +01:00
Ben Niemann
53148f92c9
Rename NodeDescription::class_uri to audio_class_uri.
2021-11-28 14:36:11 +01:00
Ben Niemann
400d1729b4
Get rid of the fancy shader stuff for the oscilloscope line.
2021-11-27 15:16:41 +01:00
Ben Niemann
37858f1b33
Initial oscilloscope node.
2021-11-27 13:41:56 +01:00
Ben Niemann
01d4a8183d
flatpy: support vector of floats.
2021-11-27 13:37:01 +01:00
Ben Niemann
ad420644b0
don't hardcode nixGL.
2021-11-26 12:01:18 +01:00
Ben Niemann
cb40d2f07f
Generate ports from dsp metadata.
2021-11-26 09:04:43 +01:00
Ben Niemann
ac30406780
Support static faust node and add VCA.
2021-11-26 07:41:14 +01:00
Ben Niemann
2bf05127a7
Tweak build rule.
2021-11-25 18:34:14 +01:00
Ben Niemann
d326577cd2
Read node descriptions from disk.
2021-11-25 18:24:00 +01:00
Ben Niemann
1d6ed93fea
Fix typo (where did that come from?)
2021-11-25 18:21:57 +01:00
Ben Niemann
528d33b86e
flatpy: fix handling of enum fields in CreateXXXFromJSON
2021-11-25 18:21:47 +01:00
Ben Niemann
b269ecc361
flatpy: Generate CreateXXXFromJSON functions.
2021-11-25 14:50:11 +01:00
Ben Niemann
2a95bd789c
Larger area for clicking on ports.
2021-11-25 14:00:34 +01:00
Ben Niemann
c07dbf6c96
Improve list of possible target ports for new connection.
2021-11-25 13:57:19 +01:00
Ben Niemann
ec7ee215ff
Track number of connections to/from ports.
2021-11-25 13:20:22 +01:00
Ben Niemann
dbbeddf86b
Move higher level methods to model.
2021-11-25 13:20:00 +01:00
Ben Niemann
09663157d6
Add glow to possible target ports when dragging connection.
2021-11-25 12:47:59 +01:00
Ben Niemann
5d2d2a1eda
Flatbuffers return proper objects for table or vector of table fields.
2021-11-25 12:18:25 +01:00
Ben Niemann
33dd2a276a
Set initial control value from port description.
2021-11-25 11:02:00 +01:00
Ben Niemann
8d49960023
Color ports based on type.
2021-11-25 10:48:31 +01:00
Ben Niemann
3d7a45766b
Pipe control value changes from model to engine.
2021-11-25 10:39:28 +01:00
Ben Niemann
eb55db5867
Create model object for Node ports.
2021-11-25 09:52:16 +01:00
Ben Niemann
295829ae14
Fix removing node message listener.
2021-11-25 09:49:40 +01:00
Ben Niemann
c7010b4f82
flatpy: Fix Vector[enum]
2021-11-25 09:49:00 +01:00
Ben Niemann
c30807c463
Use control value for unconnected krate control input ports.
2021-11-24 17:21:55 +01:00
Ben Niemann
ac886ebc34
Drop the Wrapper suffix.
2021-11-24 12:57:47 +01:00
Ben Niemann
22b0a6fdf4
Add labels and support horizontal orientation for VUMeter.
2021-11-24 12:52:20 +01:00
Ben Niemann
c7b1668bc4
Bring back the VUMeter node.
2021-11-24 10:05:17 +01:00
Ben Niemann
9e476df44f
Create a module with generic QML components.
...
Start with a partially reimplemented VUMeter.
2021-11-24 10:03:31 +01:00
Ben Niemann
b32a56097d
Fix payload type for node message listeners.
2021-11-24 08:00:12 +01:00
Ben Niemann
c8e38cb105
Let UI nodes have custom classes and body QML.
2021-11-24 07:48:01 +01:00
Ben Niemann
e95e005e24
Fix test.
2021-11-24 06:27:02 +01:00
Ben Niemann
40f250a6da
Engine nodes can push messages to interested listeners.
2021-11-24 06:08:02 +01:00
Ben Niemann
5ca6a35383
Automatically set node name.
2021-11-23 15:53:36 +01:00
Ben Niemann
a03fe0a287
Standardize filenames for nodes.
2021-11-23 15:48:14 +01:00
Ben Niemann
6e2a312891
Fix Ok button in Insert Node dialog.
2021-11-23 14:51:18 +01:00
Ben Niemann
be8df96e35
Fix deleting node, minimap.
2021-11-23 14:41:34 +01:00
Ben Niemann
0fd9b425a2
All of noisicaa.ui is QML.
2021-11-23 13:38:37 +01:00
Ben Niemann
fdc075cec1
Save graph view state in project.
2021-11-23 13:26:42 +01:00
Ben Niemann
d7a17f0643
Persist window geometry.
2021-11-23 13:10:07 +01:00
Ben Niemann
c580b5d2d3
Ask when closing modified project.
2021-11-23 12:36:12 +01:00
Ben Niemann
58bce32a5e
Implement new project.
2021-11-23 12:03:59 +01:00
Ben Niemann
eb2985be30
Make window owned by app and reuse when opening a new project.
2021-11-23 11:58:16 +01:00
Ben Niemann
2e2a1d42c5
Always clear output buffers, to avoid noise when program fails to write anything out.
2021-11-23 11:57:16 +01:00
Ben Niemann
48dbcd3ad3
Open and Save as dialogs.
2021-11-23 11:43:29 +01:00
Ben Niemann
e4f359495b
Tweak projectile-project-run-cmd
2021-11-23 11:41:15 +01:00
Ben Niemann
9ade76a9c8
Delete highlighted connections.
2021-11-23 10:18:28 +01:00
Ben Niemann
d31f7f8068
Use ui_base properties.
2021-11-23 10:03:02 +01:00
Ben Niemann
970305eee2
Setting QML style and Material theme, variant.
2021-11-23 09:40:22 +01:00
Ben Niemann
724f8bf3d8
Fix QML2_IMPORT_PATH
2021-11-23 07:46:49 +01:00
Ben Niemann
324b4ee3f3
New settings dialog.
2021-11-23 07:46:22 +01:00
Ben Niemann
b9acaca9b8
Enable oversampling again.
2021-11-22 15:42:34 +01:00
Ben Niemann
fd2b6b3f92
Reimplement context menu for graphview, incl. node selection dialog.
2021-11-22 15:42:23 +01:00
Ben Niemann
49511e4516
Context menu for nodes and make rename, set color and delete work again.
2021-11-22 13:36:16 +01:00
Ben Niemann
2695bd5aee
Make the graph view (mostly) work again.
2021-11-22 12:57:29 +01:00
Ben Niemann
693cdd0f6e
Start turning the app into pure Qml.
2021-11-22 11:50:36 +01:00
Ben Niemann
0b6f151885
Use a 'icons:' prefix to load icon files.
2021-11-22 08:25:51 +01:00
Ben Niemann
6df396ef43
Move material icons to separate directory and add README with license information.
2021-11-22 06:14:45 +01:00
Ben Niemann
e07c71fb16
Update README for the new nix world.
2021-11-22 05:58:11 +01:00
Ben Niemann
50d6be3954
Cleanup top-level directory.
2021-11-22 04:35:14 +01:00
Ben Niemann
b2ea8b14bf
flatpy: Object keep reference to their underlying buffer.
2021-11-21 17:53:08 +01:00
Ben Niemann
dfa0b42591
Tweak .projectile
2021-11-21 17:50:32 +01:00
Ben Niemann
f5cb9d338b
Basic render thread load monitoring.
2021-11-21 17:49:45 +01:00
Ben Niemann
88fed1bde2
Show grid and snap nodes to grid.
2021-11-21 16:51:03 +01:00
Ben Niemann
d7349edf99
Pipe QML engine warnings through logging.
2021-11-21 16:50:36 +01:00
Ben Niemann
1b58131fc6
Fix SVG support.
2021-11-21 16:09:25 +01:00
Ben Niemann
39f4288c62
Highlight hovered connection, delete via context menu.
2021-11-21 15:40:54 +01:00
Ben Niemann
d84a60a7a7
Fix OpCodeSine. Used incorrect buffer index.
2021-11-21 15:39:50 +01:00
Ben Niemann
f5b88bf3ab
Add simple sine generator node. It makes noise!
2021-11-21 13:58:16 +01:00
Ben Niemann
1d76ab8345
Do not create the same connection again.
2021-11-21 13:23:18 +01:00
Ben Niemann
272f80e976
Implement disconnect_port.
2021-11-21 13:19:22 +01:00
Ben Niemann
d5ab96002f
Render ports, drag to create connections.
2021-11-21 13:03:38 +01:00
Ben Niemann
7ad4001e8c
flatpy: handle Vector[Obj]
2021-11-21 12:58:41 +01:00
Ben Niemann
45132c14b9
Get node description from NodeDB.
2021-11-21 09:52:34 +01:00
Ben Niemann
12aaa83c32
Python bindings for NodeDB and add insert node widget.
2021-11-21 09:20:23 +01:00
Ben Niemann
de8b09dfcd
Fix test.
2021-11-21 07:10:43 +01:00
Ben Niemann
e77d087558
Make cpp file generated by cython depend on the pxd, if it exists.
2021-11-21 07:09:59 +01:00
Ben Niemann
61c281a9dd
Create the QQmlEngine in python, so it gets destroyed first.
...
Otherwise it gets destroyed much later and sees QML properties getting reset to null, which triggers
a whole bunch of warning messages.
See https://bugreports.qt.io/browse/QTBUG-81247
2021-11-21 07:08:06 +01:00
Ben Niemann
3aa5741e2a
Add selection box, move selected nodes, moves canvas with middle mouse.
2021-11-21 05:30:36 +01:00
Ben Niemann
2de7434dca
Basic selection support.
2021-11-21 04:35:59 +01:00
Ben Niemann
ab54b8077f
Fix header visibility.
2021-11-21 04:35:11 +01:00
Ben Niemann
ebaa91a2e0
Persist window and view state.
2021-11-21 03:38:45 +01:00
Ben Niemann
4fcbe75823
Delete notes via icon and context menu.
2021-11-20 15:27:49 +01:00
Ben Niemann
8d48825cdb
Show node title in tooltip, if header is not visible.
2021-11-20 14:01:05 +01:00
Ben Niemann
dab3771cf6
Rename nodes.
2021-11-20 13:47:45 +01:00
Ben Niemann
e75a10b0a0
Pass wrapper instance to qml as initial property, not via context.
2021-11-20 12:18:07 +01:00
Ben Niemann
a796fc72f6
Colorize nodes.
2021-11-20 12:17:33 +01:00
Ben Niemann
cb7108cb1c
Fix cursor shape on title bar/resize handle.
2021-11-20 09:56:58 +01:00
Ben Niemann
8331bbe661
Drag area covers whole node, if header is not visible.
2021-11-20 08:50:28 +01:00
Ben Niemann
72d8bcf857
Trigger context menu.
2021-11-20 08:44:35 +01:00
Ben Niemann
3140e3d513
Make inactive nodes slightly transparent.
2021-11-20 06:34:14 +01:00
Ben Niemann
15c33d18dd
Fix rendering issue.
2021-11-20 06:34:03 +01:00
Ben Niemann
b14459b597
Render connections.
2021-11-20 05:49:47 +01:00
Ben Niemann
71b2f32606
Add the minimap.
2021-11-20 04:07:37 +01:00
Ben Niemann
c3c80a2f2b
Double drop the shadow.
2021-11-19 11:20:29 +01:00
Ben Niemann
184a1ecec4
Hide title and resize handle for small nodes.
2021-11-19 10:39:33 +01:00
Ben Niemann
afb28e7e56
Do not scale the canvas itself, but recompute the visible node rects.
2021-11-19 10:15:27 +01:00
Ben Niemann
b2518485b9
Decouple GraphNode from GraphView.
2021-11-19 09:54:26 +01:00
Ben Niemann
f463751f34
Only update Node.rect when mouse actually moved.
2021-11-19 09:53:58 +01:00
Ben Niemann
5f5c20adf4
Add some dummy node body.
2021-11-19 09:03:45 +01:00
Ben Niemann
aa13f433d3
Store node rect in model, tracking moving/resizing as commands.
2021-11-19 08:24:13 +01:00
Ben Niemann
f83a390fed
Use the fancy node box from the prototype.
2021-11-19 08:00:46 +01:00
Ben Niemann
5fea193277
Partial QML based graph view.
2021-11-19 07:24:04 +01:00
Ben Niemann
8685665147
Let nodes have a body.
2021-11-19 03:07:32 +01:00
Ben Niemann
cf074433e9
Export node and connection lists as models and update dynamically.
2021-11-19 02:24:33 +01:00
Ben Niemann
20e3cd131f
Add lots of nodes and connections.
2021-11-18 14:40:54 +01:00
Ben Niemann
6182032947
Connect nodes with bezier curve.
2021-11-18 13:46:17 +01:00
Ben Niemann
3e1442293a
Enable antialiasing.
2021-11-18 13:45:44 +01:00
Ben Niemann
c21d969436
Show FPS.
2021-11-18 13:45:30 +01:00
Ben Niemann
6c80a08b60
Library for QML extensions with cython binding to use from Python.
2021-11-18 12:52:03 +01:00
Ben Niemann
8389ccf6fb
Compile custom QML item type in C++
2021-11-18 12:40:29 +01:00
Ben Niemann
9f353ee612
Use pyside2 from nixpkgs.
2021-11-18 12:39:17 +01:00
Ben Niemann
de8fbbef41
Force generating flatbuffers first.
...
Just can't get waf to correctly compute the dependency graph and it randomly tries to compile files
when the included files are still missing.
2021-11-18 12:15:31 +01:00
Ben Niemann
f4ee9c3a80
Playing with QML.
2021-11-18 07:09:47 +01:00
Ben Niemann
6f0cb7a131
Track project modification state and confirm closing if needed.
2021-11-18 01:40:15 +01:00
Ben Niemann
77ff8a894a
Open and save projects to disk.
2021-11-17 04:02:59 +01:00
Ben Niemann
4548ea0f5b
Sink node changes with the engine.
2021-11-17 02:40:48 +01:00
Ben Niemann
e7447c14ff
Subclasses with the same base name cause problems in Qt.
...
https://bugreports.qt.io/browse/PYSIDE-983
2021-11-17 02:38:41 +01:00
Ben Niemann
c32c3e1c23
flatpy: Support vectors of enums and tables.
2021-11-17 02:37:58 +01:00
Ben Niemann
9c6a6e1a0c
Track commands and implement undo/redo.
2021-11-17 01:38:45 +01:00
Ben Niemann
03a7820982
Mock UI to manage the list of nodes (for testing the model and the interaction).
2021-11-17 01:08:51 +01:00
Ben Niemann
08ff58096b
Start the model again with much less sophisticated code.
2021-11-16 05:23:56 +01:00
Ben Niemann
d5090bd5ef
Disable flaky tests.
2021-11-16 03:52:52 +01:00
Ben Niemann
8752f3a571
Fix lint configs.
2021-11-14 23:41:48 +01:00
Ben Niemann
edc0585213
Get rid of the old music stuff. Start from scratch.
2021-11-14 23:41:30 +01:00
Ben Niemann
55ce097e47
Move ownership of engine and settings dialog to app.
2021-11-14 05:21:26 +01:00
Ben Niemann
4b0abbd301
Rip out the engine server, merge graph into engine, split engine into public and private classes.
2021-11-14 03:29:23 +01:00
Ben Niemann
974d5b649e
Rip out the multiprocess stuff again. Let's keep it simple!
2021-11-14 00:30:02 +01:00
Ben Niemann
85dacb019e
Add settings dialog.
2021-11-13 05:56:15 +01:00
Ben Niemann
640a2aed03
Remove some log noise.
2021-11-13 04:27:58 +01:00
Ben Niemann
c3db5ea7d3
Make the app run as multiple processes again.
2021-11-13 01:25:10 +01:00
Ben Niemann
1f72f6b9b4
Ignore deprecation warning from flatbuffers.
2021-11-13 01:19:14 +01:00
Ben Niemann
430674912d
Allow running without gdb
2021-11-13 01:18:55 +01:00
Ben Niemann
22c23490d9
gdb should ignore sigint
2021-11-13 01:18:35 +01:00
Ben Niemann
c1a4e04d0d
Remove junk.
2021-11-12 03:45:18 +01:00
Ben Niemann
4d972d6673
Fix coverage report.
2021-11-12 03:45:11 +01:00
Ben Niemann
c7f8b8a122
pytest: more verbose logging.
2021-11-12 03:27:50 +01:00
Ben Niemann
d593f61021
Child processes create grpc server and handle shutdown requests.
2021-11-12 03:27:32 +01:00
Ben Niemann
5e4dd1f80f
Add grpc server to ProcessManager.
2021-11-12 02:38:27 +01:00
Ben Niemann
2680e34c38
Filter warnings more specifically.
2021-11-12 02:00:20 +01:00
Ben Niemann
b6fe276291
Drop the src directory again. Too annoying.
2021-11-12 01:25:02 +01:00
Ben Niemann
fe111b49e8
Compile python grpc code for protos.
2021-11-12 01:04:23 +01:00
Ben Niemann
bd91aee811
Wrapper script to run pytest manually.
2021-11-11 22:01:28 +01:00
Ben Niemann
d293e040a9
ProcessManager: stop explicitly passing the event_loop around.
2021-11-11 21:59:55 +01:00
Ben Niemann
42abcfbad7
Tweak pytest tracebacks.
2021-11-11 08:18:29 +01:00
Ben Niemann
5244391e71
Fix building the base model proto.
2021-11-11 08:15:39 +01:00
Ben Niemann
2def22e3c8
Bring back the process manager.
2021-11-11 08:15:25 +01:00
Ben Niemann
38e681ccac
Initial parts of noisicaa.music
2021-11-11 07:01:04 +01:00
Ben Niemann
faa38751ab
Build python test modules only during 'waf test'.
2021-11-11 05:55:56 +01:00
Ben Niemann
2997bde6ea
Fix client test.
2021-11-11 05:55:43 +01:00
Ben Niemann
bc42918b1c
Be more ignorant about deprecation warning for the imp module.
2021-11-11 05:55:17 +01:00
Ben Niemann
32b57b21e1
Pipe C++ log message through python's logging.
2021-11-11 04:58:22 +01:00
Ben Niemann
6ac03e060b
Add quit menu.
2021-11-11 03:27:49 +01:00
Ben Niemann
f1a19eb3cf
Make the default program silent.
2021-11-11 03:25:43 +01:00
Ben Niemann
be57afcc45
Project starts the engine. There's noise!
2021-11-11 03:12:24 +01:00
Ben Niemann
821fae5ce3
Initial Qt boilerplate with qasync (successor of quamash).
2021-11-11 02:23:55 +01:00
Ben Niemann
642632f628
run-noisicaa runs the app under gdb.
2021-11-11 02:21:59 +01:00
Ben Niemann
d3273644f9
Create a noisicaa/config.py file.
2021-11-11 02:21:11 +01:00
Ben Niemann
c2f5410fe1
Make nodes references counted.
...
So they can't get deleted, while still being used by the active program.
2021-11-11 00:45:36 +01:00
Ben Niemann
ad91f4441c
flatpy: handle Vector[UByte]
2021-11-10 05:00:59 +01:00
Ben Niemann
f976342f95
EngineServer creates NodeDB and sync state with client.
2021-11-10 05:00:38 +01:00
Ben Niemann
468591bf15
Fix race when stopping engine.
2021-11-10 03:49:53 +01:00
Ben Niemann
8819779ea1
Initial NodeDB (just with builtin nodes).
2021-11-10 03:49:33 +01:00
Ben Niemann
40725ceace
Make StatusOr<> work with ASSERT_SUCCESS, etc.
2021-11-10 03:29:45 +01:00
Ben Niemann
68f000e070
Rename NodeRegistry to NodeClassRegistry.
2021-11-10 02:32:11 +01:00
Ben Niemann
2dd8548c73
Tune .projectile.
2021-11-10 02:27:09 +01:00
Ben Niemann
ed3fcc004f
Link against gmock. How did this work without this?
2021-11-10 02:26:31 +01:00
Ben Niemann
b23cd973ca
Remove another stray "using namespace std".
2021-11-10 02:12:04 +01:00
Ben Niemann
1a58f65ea1
Use NodeDescription.class_uri to select Node class, not uri.
...
The uri field will be used for different purposes.
2021-11-09 03:04:34 +01:00
Ben Niemann
00eafff5ad
Engine emits state change notifications when starting/stopping.
2021-11-09 02:54:15 +01:00
Ben Niemann
b7ee6f3213
Add --test option to './waf test' to select a specific test to run.
2021-11-09 02:52:32 +01:00
Ben Niemann
11f287b3d8
flatpy: Return proper default values for unset fields.
2021-11-09 02:51:36 +01:00
Ben Niemann
a425c506ef
Fix race condition.
...
In Engine::start(), the backend sometimes managed to call Engine::process_block(), before
Engine::_running was set to true, triggering an assert in process_block.
2021-11-09 02:50:21 +01:00
Ben Niemann
38a2b2d7c9
Add python coverage and merge it into the lcov report.
2021-11-08 02:32:53 +01:00
Ben Niemann
8891d9f162
Strip down server_test code, covered by client_test already.
2021-11-08 00:12:30 +01:00
Ben Niemann
6c91b09b0e
Add engine client class.
2021-11-08 00:11:21 +01:00
Ben Niemann
17195af13c
Bring back noisicaa.core.callbacks
2021-11-08 00:04:39 +01:00
Ben Niemann
86888696d8
Merge branch 'reloaded' of odahoda.de:pink/noisicaa into reloaded
2021-11-07 23:20:51 +01:00
Ben Niemann
1ffe03c526
Add initial server_test.py
2021-11-07 23:20:10 +01:00
Ben Niemann
1b25ef8929
Fix Create*() function.
2021-11-07 23:19:19 +01:00
Ben Niemann
fc6f271780
Make mypy/pylint even more on-request.
2021-11-07 02:09:42 +01:00
Ben Niemann
107448e476
Only run pylint/mypy on request.
2021-11-07 02:01:24 +01:00
Ben Niemann
29d560a5d1
Add REGISTER_NODE macro
2021-11-07 01:55:20 +01:00
Ben Niemann
7fb43a069b
Pin down the current nixpkgs version.
2021-11-07 01:48:42 +01:00
Ben Niemann
b8d73cc640
Initial setup for pyside2.
2021-11-07 01:28:44 +01:00
Ben Niemann
fa450972b6
Move sink and passthru nodes to node_lib.
2021-11-06 23:52:17 +01:00
Ben Niemann
5e600adf70
Check for pytest_pylint package.
2021-11-06 23:27:42 +01:00
Ben Niemann
2060975dd0
Fix default program.
2021-11-06 23:21:36 +01:00
Ben Niemann
ab792d3cba
Move playground out of src directory.
2021-11-06 23:20:11 +01:00
Ben Niemann
c6f014975a
Stricter mypy checking.
2021-11-06 23:14:17 +01:00
Ben Niemann
a428895fac
Remove lint.
2021-11-06 17:08:06 +01:00
Ben Niemann
6650a3b983
Custom assertions for Status results.
2021-11-06 03:44:25 +01:00
Ben Niemann
750cf65805
Split the graph module into smaller chunks, add PassthruNode.
2021-11-06 03:05:08 +01:00
Ben Niemann
f90266e838
Use static registration for node classes.
2021-11-06 02:34:08 +01:00
Ben Niemann
97e9436de2
Build dynamic libs.
2021-11-06 02:32:49 +01:00
Ben Niemann
a6b520d5d5
Make OpCodeOutput publicly available.
2021-11-06 01:44:17 +01:00
Ben Niemann
058d4d5e87
Remove dependency of Buffer on Engine.
2021-11-06 01:43:58 +01:00
Ben Niemann
1be385ad39
Delete obsolete files.
2021-11-06 01:17:14 +01:00
Ben Niemann
2933ded61f
Make Node abstract baseclass, factor out ProcessorNode and add SinkNode.
2021-11-06 01:15:10 +01:00
Ben Niemann
1c6b1c29c1
Simplify buffer type handling and optimize buffer allocation.
2021-11-05 23:26:28 +01:00
Ben Niemann
ca0d37adf4
Do not store list of port->buffer connections in Node.
...
To prevent future races, when the node's description changes, while Node::run() is active.
2021-11-05 22:03:10 +01:00
Ben Niemann
cae45b2699
OpCodes call back to Node, optimize opcodes for input buffers with single connection.
2021-11-05 17:08:48 +01:00
Ben Niemann
5b3cc71f54
Basic program compilation.
2021-11-05 03:00:22 +01:00
Ben Niemann
0bbd345ee8
Add Program::to_string().
2021-11-05 02:59:16 +01:00
Ben Niemann
4e23089d8e
Change Program::append_buffer to take a unique_ptr<BufferType>.
2021-11-05 02:57:37 +01:00
Ben Niemann
d04776b44f
Add fmt library for string formatting.
...
https://fmt.dev/
2021-11-05 02:55:59 +01:00
Ben Niemann
ecb4aa66b3
Add dep_sort headers for topological sorting of nodes.
2021-11-05 01:29:07 +01:00
Ben Niemann
be82c43f8c
Initial ports and connections.
2021-11-05 00:35:59 +01:00
Ben Niemann
41196c904c
Initial plumbing for processing graph handling.
2021-11-04 02:16:50 +01:00
Ben Niemann
bc04efa983
Fix some C++ indentation issues.
2021-11-04 01:09:26 +01:00
Ben Niemann
f4194b6245
Convert (existing part of) node description to flatbuffer.
2021-11-04 00:21:59 +01:00
Ben Niemann
ac46d8ecb1
Remove obsolete file.
2021-11-04 00:21:38 +01:00
Ben Niemann
d3fc51f64e
Fix NotImplementedError value.
2021-11-04 00:21:26 +01:00
Ben Niemann
90823ba9bd
Reimplement opcodes as C++ classes.
2021-11-03 02:02:53 +01:00
Ben Niemann
7c86269546
Move Program to its own file.
2021-11-02 23:41:38 +01:00
Ben Niemann
57e55c5f6c
Move engine internal stuff to noisicaa::engine namespace.
2021-11-02 19:00:48 +01:00
Ben Niemann
e567180f74
Remove some lint.
2021-11-02 18:07:42 +01:00
Ben Niemann
fed3e4539b
flatc: ignore namespace, write file directly to --output.
2021-11-02 17:40:55 +01:00
Ben Niemann
503655ab03
Add a dummy backend and add it by default (to make some tests pass again).
2021-11-02 01:42:12 +01:00
Ben Niemann
d67a596f53
Move QueueLogSink to engine.cpp, where it is used.
...
So there is no dependency from noisicaa/core on noisicaa/engine.
2021-11-02 01:19:33 +01:00
Ben Niemann
3f8796363b
Prototype script to build appimage.
2021-11-02 00:44:10 +01:00
Ben Niemann
7a8cb12a8a
Move version string to a central file.
2021-11-02 00:43:55 +01:00
Ben Niemann
7e3bdb3e78
Add a dummy "main" binary.
2021-11-02 00:37:53 +01:00
Ben Niemann
f9e2656aa3
Make test dependencies optional and only activate in nix-shell.
2021-11-02 00:37:17 +01:00
Ben Niemann
c750aa2859
Not using top = '.' might have been a bad idea after all.
2021-11-02 00:36:36 +01:00
Ben Niemann
85a81d8ad6
My own (more sensible) code generator for python flatbuffers.
2021-10-31 23:46:53 +01:00
Ben Niemann
1b740bdd47
Reimplement playground in python using rpcs.
2021-10-30 00:14:19 +02:00
Ben Niemann
153013d639
More graceful server shutdown.
2021-10-30 00:13:40 +02:00
Ben Niemann
60538d7f8e
(only moderately sensible) flatbuffer codegen for python.
2021-10-29 23:29:56 +02:00
Ben Niemann
b2cb30d712
Stop engine on server shutdown.
2021-10-29 23:28:22 +02:00
Ben Niemann
c0dad70641
Allow StartEngine request without block_size/sample_rate.
2021-10-29 23:27:59 +02:00
Ben Niemann
5af576a822
Bring back some cython bindings.
2021-10-29 03:05:39 +02:00
Ben Niemann
333937b2dd
Enable tests by default.
2021-10-29 01:39:54 +02:00
Ben Niemann
d2f0e25f0f
Drop openssl dependency.
...
Found out about grpc++_unsecure
2021-10-29 01:22:15 +02:00
Ben Niemann
a2bab79140
Bring back noisicaa.logging.
2021-10-29 00:07:27 +02:00
Ben Niemann
4d823cf50d
Run pytest from build folder, so paths in error reports look correct.
2021-10-28 23:39:43 +02:00
Ben Niemann
013ed6cc94
Use mach-nix to setup python packages, add pytest-pylint support.
2021-10-28 22:56:51 +02:00
Ben Niemann
b55be25698
Add pytest-mypy.
2021-10-28 18:13:01 +02:00
Ben Niemann
ebfa6d67a5
Convert BackendSettings to flatbuffer.
...
Not sure how happy I am about this...
2021-10-28 02:54:08 +02:00
Ben Niemann
eca5a47042
Rename MessageQueue to MessageBuffer.
...
Because it is not a queue.
2021-10-28 01:22:41 +02:00
Ben Niemann
b7f8faa0c8
Move grpc server to a separate class.
2021-10-28 00:47:30 +02:00
Ben Niemann
9940c0657a
Move audio engine related code to noisicaa/engine/
2021-10-28 00:46:50 +02:00
Ben Niemann
ac5d19b5a3
Merge branch 'reloaded' of odahoda.de:pink/noisicaa into reloaded
2021-10-26 19:53:17 +02:00
Ben Niemann
55eca35776
Move code into a src directory, so it doesn't get accidentally imported.
2021-10-26 19:52:58 +02:00
Ben Niemann
9206b73a97
Move code into a src directory, so it doesn't get accidentally imported.
2021-10-26 19:45:34 +02:00
Ben Niemann
3b28d053b7
Bring back some python code and make tests optional.
2021-10-26 19:01:18 +02:00
Ben Niemann
f3afb63253
Use pytest to run unittests.
2021-10-26 18:12:38 +02:00
Ben Niemann
0163ef5f3b
Add pytest and pytest-cpp packages.
2021-10-26 03:10:11 +02:00
Ben Niemann
4dabf9f9dc
Stream engine notifications over grpc.
2021-10-24 23:41:57 +02:00
Ben Niemann
6e5ad1049e
Initial grpc based server.
2021-10-24 17:38:50 +02:00
Ben Niemann
0058096b54
Don't fail build if tests are disabled.
2021-10-24 17:36:44 +02:00
Ben Niemann
6f09dc9754
Upgrade to flatbuffers 2.0.0
2021-10-24 16:10:13 +02:00
Ben Niemann
26e0a20f52
Pass log messages from the realtime section through the message queue.
2021-10-24 00:06:32 +02:00
Ben Niemann
84c06426ae
Allocate BlockContext on the stack, initialize anew on each block.
2021-10-22 23:27:51 +02:00
Ben Niemann
5e43d5eb4b
Use FlatBuffers for engine notifications.
2021-10-21 23:49:22 +02:00
Ben Niemann
0b5e5ce556
Bring back the out message queue.
2021-10-21 21:58:56 +02:00
Ben Niemann
f95478e49b
ProgramSpec::append_opcode uses varargs.
2021-10-20 14:53:15 +02:00
Ben Niemann
7c1446b937
Programs can have buffers again.
2021-10-20 02:08:37 +02:00
Ben Niemann
edb1cbcef8
Execute some kind of program again!
2021-10-20 01:10:16 +02:00
Ben Niemann
db982607cf
Let the backend call Engine::process_block directly.
2021-10-19 23:16:37 +02:00
Ben Niemann
2a8e633814
Make resampling work for small block sizes.
2021-10-19 18:12:18 +02:00
Ben Niemann
669d66ab1e
Decouple engine sample rate from backend's sample rate.
2021-10-19 18:05:50 +02:00
Ben Niemann
e5e8118ac6
Decouple engine block size from backend's block size.
2021-10-19 15:31:38 +02:00
Ben Niemann
cd00927a62
Fold HostSystem into Engine.
2021-10-19 14:55:45 +02:00
Ben Niemann
335adafed7
Fix some lint warnings.
2021-10-19 00:22:03 +02:00
Ben Niemann
249c7e4b32
Add coverage reports.
2021-10-19 00:21:44 +02:00
Ben Niemann
050caca36a
Rename Core to Engine.
2021-10-18 17:31:26 +02:00
Ben Niemann
4fcce777d0
Bring back a bunch of code. Not yet doing anything.
2021-10-18 17:26:58 +02:00
Ben Niemann
9255d1622f
Rename src back to noisicaa.
2021-10-17 23:52:57 +02:00
Ben Niemann
597282ebd3
Bring back some logging.
2021-10-17 18:04:31 +02:00
Ben Niemann
584168ecd2
Change Core::stop() to void.
2021-10-17 17:27:11 +02:00
Ben Niemann
2723258a1c
Run a meterbridge as subprocess from playground.
2021-10-17 17:00:13 +02:00
Ben Niemann
b8c87a0b46
Bring back and fix Status objects.
2021-10-17 16:24:49 +02:00
Ben Niemann
df4ff49899
Configure backend via protobuf, move process function to Core.
2021-10-17 15:27:17 +02:00
Ben Niemann
ff483babfc
Jack makes some noises.
2021-10-17 00:10:49 +02:00
Ben Niemann
105ab5d05a
Something with unittests.
2021-10-16 16:40:22 +02:00
Ben Niemann
7e5718d9b5
Something that build with waf and nix.
2021-10-16 15:27:36 +02:00
Ben Niemann
0ce8b75e20
Tabula Rasa
2021-10-16 13:49:10 +02:00
Ben Niemann
4e2426d88e
Make it build again...
2021-01-22 23:51:18 +01:00
Ben Niemann
9da22235f2
Blog post: Development update (March 13)
2020-03-13 12:13:25 +01:00
Ben Niemann
3fb19792d4
Assorted bug fixes and minor improvements.
...
- runs ./waf build on reload
- more information in engine dump
- after a crash, do not reopen previously opened projects (to avoid entering a crash loop)
- rename nodes via context menu (double click on title was very flaky)
- settings dialog shows engine state and load
- dialog to add N measures to measured tracks (Score and Beat Tracks), or fill them till the end of the project
- fix test sample playback in settings dialog
- fix some class of crashes when restarting the engine
- changing BPM triggers rerendering of samples
- fix size of control dials in mixer node UI
- remove crackling when chaning mixer control values
- fix in sample track crash when changing BPM
- engine state wasn't updated when undoing a node removal
- fix corruption of device list in MIDI Source node when plugging in/unplugging a device
- gracefully handle more crashes while opening/creating projects
- name labels for hidden tracks might become visible
- resize track name labels when renaming tracks
- unittest results might not get written to disk
- separate messages for engine load and state
- EngineState tracker is owned by EditorApp (which also owns the engine client) instead of EditorWindow
2020-03-13 11:32:06 +01:00
Ben Niemann
4417fcd020
Fix broken context menu on nodes.
2020-02-23 12:02:22 +01:00
Ben Niemann
f11d5bbd93
Blog post: Development update (February 22)
2020-02-22 18:32:05 +01:00
Ben Niemann
8fd99a2ef9
Fix/improve some time related issues and a new toolbar.
...
- Use a custom layout for the toolbar (instead of QToolBar).
- Add display of the current playhead time to toolbar.
- Add a VUMeter for master output level to toolbar.
- Move engine load widget to the toolbar.
- Snap-to-grid when moving the playhead.
- Fix moving the playhead.
- Fix state updates of the playback/loop buttons.
- Measured tracks were incorrectly aligned.
- New VUMeter node.
2020-02-22 17:52:35 +01:00
Ben Niemann
fa32b0f59c
Blog post: Development update (February 21)
2020-02-21 11:16:11 +01:00
Ben Niemann
9081b3418d
Tweaks to make it work with the latest odasite version.
2020-02-21 10:18:25 +01:00