Commit Graph

774 Commits (d456ba030dc3a4ce2962a2e27a8c6cff0ceba065)

Author SHA1 Message Date
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