Ben Niemann
d456ba030d
Initial high level tests for the editor app.
2019-06-13 01:12:38 +02:00
Ben Niemann
fd1a958cb7
More tests for project_registry.py
2019-06-12 18:38:37 +02:00
Ben Niemann
2e7ab59e97
Use data from "Tome of Forbidden Spells" to generate project names.
2019-06-11 16:49:27 +02:00
Ben Niemann
4d022ce70b
Minor UI tweaks.
...
- Tried and failed to make the 'open project error' dialog resizeable.
- Focus and select the name when showing the new project dialog.
2019-06-11 16:42:17 +02:00
Ben Niemann
10c30878d6
Fix lint issues and tests.
2019-06-11 03:11:58 +02:00
Ben Niemann
9b59f16060
Project list updates when projects get updated. Refuse to operate on opened projects.
2019-06-10 20:10:30 +02:00
Ben Niemann
65fbe84216
Make New/Open from menu work again and fix handling of multiple project tabs.
2019-06-10 17:26:21 +02:00
Ben Niemann
0a4d1994aa
Remember currently opened projects and restore them on startup.
2019-06-10 15:55:28 +02:00
Ben Niemann
8d0ef9c2f0
Add a TODO for later.
2019-06-10 15:53:41 +02:00
Ben Niemann
5e2f83e25f
Add a basic project debugger.
...
For now just displaying the mutation history and support truncating it.
2019-06-10 02:35:54 +02:00
Ben Niemann
84f3d60454
Open project dialog persists state (search text, sorting) in settings.
2019-06-09 18:54:22 +02:00
Ben Niemann
35a16e9db5
Fix project list when projects are deleted.
2019-06-09 18:42:33 +02:00
Ben Niemann
69e0ab6b8a
Gracefully handle exceptions when opening/creating projects.
2019-06-09 18:01:38 +02:00
Ben Niemann
1cbace1655
Fix some issues with the project list.
2019-06-09 17:21:07 +02:00
Ben Niemann
dec25ac24c
Change storage layout of projects.
...
A project is now completely contained in a directory, the metadata file moved into the directory as 'project.noise'.
2019-06-09 17:19:34 +02:00
Ben Niemann
eba3e1abbf
Implement FlatProjectListModel as an QAbstractProxyModel.
2019-06-09 17:17:37 +02:00
Ben Niemann
42bb081670
Random song title generator for project name suggestions.
...
Just using some dummy data set for now.
2019-06-09 16:03:37 +02:00
Ben Niemann
f1cb716f89
Make closing the current project work again.
2019-06-09 02:29:36 +02:00
Ben Niemann
b3c17c14c3
Sort project list by name or mtime.
...
mtime gets updated when project is opened or closed.
2019-06-09 01:42:18 +02:00
Ben Niemann
135e72a3ee
Improve filtering the project list.
2019-06-09 00:59:21 +02:00
Ben Niemann
b3e18c5bae
Add a a comment for the future.
2019-06-09 00:58:42 +02:00
Ben Niemann
4c9d4a61de
Sort and filter project list.
2019-06-08 04:00:35 +02:00
Ben Niemann
b1383d8387
Do not allow creating project on existing path.
2019-06-08 03:28:44 +02:00
Ben Niemann
b93807abb7
Implement deleting projects.
2019-06-08 03:26:02 +02:00
Ben Niemann
11f79fec31
Add a "New Project" button.
2019-06-07 22:52:44 +02:00
Ben Niemann
b43eb88d73
Implement the ProjectRegistry as an QAbstractItemModel.
...
And use QListView to display it in the OpenProjectDialog.
2019-06-07 01:58:47 +02:00
Ben Niemann
9b31dd54b8
Remove obsolete ProjectMixin.editor_window property.
2019-06-03 01:13:28 +02:00
Ben Niemann
107a8f5fa8
Closing the editor window calls deleteWindow() on the app.
2019-06-03 00:45:36 +02:00
Ben Niemann
3e71609b19
Do not create settings dialog on demand.
2019-06-02 20:43:26 +02:00
Ben Niemann
947af52e87
Separate out the model for the instrument list.
...
And populate it as instruments are coming in to not block the main thread.
2019-06-02 20:40:45 +02:00
Ben Niemann
a6e06da89e
More more global (not project related) stuff to the app.
2019-06-02 18:40:13 +02:00
Ben Niemann
0a07ac9040
Instrument library is owned by app.
2019-06-02 16:53:49 +02:00
Ben Niemann
876d8f5066
Settings dialog is owned by app.
2019-06-02 16:05:31 +02:00
Ben Niemann
6d67e2a7c5
Use CommonMixin for project registry.
2019-06-02 15:46:48 +02:00
Ben Niemann
7e0999fe96
Initial version of reorganized app startup and custom project dialog.
2019-06-02 01:12:45 +02:00
Ben Niemann
fcf1db67e6
Explicitly set the executor on the event loop.
2019-06-02 00:36:12 +02:00
Ben Niemann
7e06b1155a
Use my own patched version of quamash.
2019-06-02 00:35:32 +02:00
Ben Niemann
7259fb1c40
Remove some cruft.
2019-06-02 00:35:01 +02:00
Ben Niemann
7982ec5934
Ignore session values for non-existing nodes.
2019-06-02 00:33:02 +02:00
Ben Niemann
fa52f61595
Fix faustlibraries installer to work from a clean slate.
2019-05-30 20:30:40 +02:00
Ben Niemann
6328c73424
Blog post: Development update (May 19)
2019-05-19 19:16:14 +02:00
Ben Niemann
accff25ed0
The great "model merge" refactoring.
...
- Merge the base/client/server model class trees into a single tree.
- Move the model into the UI process.
- Autogenerate model boilerplate code.
- Replace commands by arbitrary mutations directly from the UI.
- Assorted other cleanups.
2019-05-19 17:58:38 +02:00
Ben Niemann
6cd4d024d8
Blog post: The great "Model Merge" refactoring
2019-04-28 14:42:34 +02:00
Ben Niemann
07c662f2dc
Tweak website CSS.
...
- Format <pre> code blocks.
- Remove indent of first paragraph line.
- Fix spacing around <ul> lists.
2019-04-28 14:41:20 +02:00
Ben Niemann
e667c6e383
Blog post: Development update (April 25)
2019-04-25 19:09:05 +02:00
Ben Niemann
5ca602b9e4
Add some more builtin nodes.
...
- Oscillator
- VCA
- Noise
- Step Sequencer
- MIDI CC to CV
Also added the infrastructure to use Faust for creating new processors (used by the Oscillator, VCA
and Noise nodes).
2019-04-25 18:27:13 +02:00
Ben Niemann
1a4435dd71
Blog post: Development update (April 6)
2019-04-06 16:12:47 +02:00
Ben Niemann
c3e5c3a88d
Allow nodes to have dynamic list of ports.
...
- Currently only used for CustomCSound nodes.
- Bring back node parameters
- Add a ObjectListEditor widget.
2019-04-06 15:58:26 +02:00
Ben Niemann
9f4dbd2732
Blog post: Development update (March 24)
2019-03-24 05:50:17 +01:00
Ben Niemann
6d52afb424
Optionally "expose" control values as input ports, so they can be connected to other nodes.
...
Also:
- Also add ControlValueDials for a-rate control ports (and make them exposeable).
- Fix exception in UI when removing nodes with connections.
- Fix exception in PluginHost when cleaning up some LV2 plugins.
- Dump audio engine opcode list to log.
2019-03-24 05:30:10 +01:00