Commit Graph

781 Commits (sample-track)

Author SHA1 Message Date
Ben Niemann f94fb2fcd8 Disable mypy checking of profutil. 2020-02-18 03:30:04 +01:00
Ben Niemann 70c06f6903 Support FLAC 2020-02-18 02:41:52 +01:00
Ben Niemann d464ba0dd6 Generate test files in various formats during build. 2020-02-18 02:38:47 +01:00
Ben Niemann ee36b59342 Delete samples via context menu.
Also rename stuff (segment vs. sample, import vs. add)
2020-02-18 02:25:31 +01:00
Ben Niemann ef04c76e29 Fix crash when the last sample was removed while is was played. 2020-02-18 02:23:20 +01:00
Ben Niemann f007ab8234 Use QImage instead of QPixmap to render tiles. 2020-02-18 01:50:28 +01:00
Ben Niemann 1e8be00df2 Improve profiler tooling and minor optimization of sample rendering. 2020-02-17 04:54:54 +01:00
Ben Niemann 0607f9b326 Split out an async load_sample() method, and improve test coverage. 2020-02-17 03:41:57 +01:00
Ben Niemann b4a771845f Make uitest event simulation async (instead of calling QApplication::processEvent) 2020-02-17 03:39:56 +01:00
Ben Niemann eac4abc590 Print source_traceback for better debugging of asyncio issues. 2020-02-17 03:29:56 +01:00
Ben Niemann ec44ef29a3 Fix initial properties of TrackEditors. 2020-02-16 13:02:03 +01:00
Ben Niemann 583b3d7910 Use mutagen for file metadata and support AAC files. 2020-02-16 12:54:59 +01:00
Ben Niemann 98f34ea4b1 Support importing MP3 files. 2020-02-16 12:19:51 +01:00
Ben Niemann 105275d5cf Remember dialog settings. 2020-02-16 10:00:48 +01:00
Ben Niemann 9eccdc5d01 Fix moving samples around. 2020-02-16 09:41:46 +01:00
Ben Niemann f5a19601f9 Stereo samples only played back one channel. 2020-02-16 09:28:01 +01:00
Ben Niemann afa0bfb215 Rewrite sample rendering.
- Read sample data from raw files.
- Render multi channel samples.
- Asynchronous rendering.
2020-02-16 09:20:37 +01:00
Ben Niemann 13d444da0a Expose the TimeMapper's sample rate. 2020-02-16 04:40:55 +01:00
Ben Niemann 9ddcd1a336 Gracefully handle non-UTF8 stdout/stdin for subprocesses. 2020-02-16 04:40:22 +01:00
Ben Niemann e867916332 Fix bad key for raw audio files. 2020-02-16 04:39:57 +01:00
Ben Niemann 405aa62e67 Load samples from raw files in SampleTrack. 2020-02-16 02:55:18 +01:00
Ben Niemann f778ef25c9 A loaded AudioFile is always acquired. 2020-02-16 02:50:57 +01:00
Ben Niemann 8a293a0f12 Import samples as raw float arrays into project directory. 2020-02-15 05:58:05 +01:00
Ben Niemann b72d16bee2 Fix test issues. 2020-01-26 17:06:45 +01:00
Ben Niemann 7011658cf1 Blog post: Development update (January 3) 2020-01-03 05:55:37 +01:00
Ben Niemann bae6940b36 Track list improvements. 2019-12-15 17:35:10 +01:00
Ben Niemann 51053cf5a1 Use boost::rational as the implementation of MusicalTime/Duration.
Seems to be a bit faster, but not as much as I hoped...
2019-12-12 19:04:32 +01:00
Ben Niemann 7bf10cf937 Blog post: Development update (September 23) 2019-09-23 00:31:22 +02:00
Ben Niemann f4c583ee5b New copy&paste system. 2019-09-22 19:26:41 +02:00
Ben Niemann c4e63e29f5 Blog post: PySide2 non-migration 2019-09-22 03:34:25 +02:00
Ben Niemann 4bb8ea6d2f Random bug fixes. 2019-09-22 02:24:03 +02:00
Ben Niemann ec0d3ced2f Blog post: "Development update (September 8)" 2019-09-09 00:39:00 +02:00
Ben Niemann f81b4e3889 Add a basic pianoroll track type. 2019-09-08 23:38:58 +02:00
Ben Niemann 98ed4f38ad Blog post: "Development update (August 11)" 2019-08-11 16:52:34 +02:00
Ben Niemann 53ccc97183 Improve test infrastructure.
- Reanimate vmtests.
- Use waf to run tests.
- Run clang-tidy of C++ sources.
- Ensure noisicaä still runs on Ubuntu 16.04.
- Upgrade mypy to 0.720 and fix new issues.
2019-08-11 15:10:31 +02:00
Ben Niemann 55c999aed5 Blog post: waf migration 2019-07-20 10:43:20 +02:00
Ben Niemann 6425de4967 Fix runtests. 2019-07-20 08:16:27 +02:00
Ben Niemann 0e4c0ddf10 Switch build system to waf. 2019-07-20 07:54:48 +02:00
Ben Niemann 371337a0d7 Blog post: Development update (July 14) 2019-07-14 01:32:52 +02:00
Ben Niemann 66011fa94a Allow ports with variable types.
- Ports can be declared with more than one type.
- Two ports with at least one common type can be connected.
- Connections track their type.
- Processors must handle the actually selected type for a port at runtime.
- Handling of connecting buffers to ports moved completely into the Processor base class.

Also:
- Common base class for Processor unittests, removing a lot of redundant code.
2019-07-14 01:20:48 +02:00
Ben Niemann 8fcbf791f2 Blog post: Development update (July 6) 2019-07-06 03:39:53 +02:00
Ben Niemann a00e72ed49 Add some new node types.
Metronome, MIDI Monitor, Control Value Mapper, MIDI Velocity Mapper and Osciloscope.

Also simplify tests for processors.
2019-07-06 02:45:32 +02:00
Ben Niemann 1eea0de231 Blog post: Development update (June 23) 2019-06-23 16:09:47 +02:00
Ben Niemann bc9be73125 Add MIDI Looper node. 2019-06-23 03:28:09 +02:00
Ben Niemann 45c50ed15b Blog post: Development update (June 13) 2019-06-14 00:29:41 +02:00
Ben Niemann 8d7c0cc0d4 Reorganize the app start process and use a new "open project" dialog.
Also:
- Initial project debugger.
- Random name generator for new projects.
- Don't crash when opening a project fails.
- Fix crash when opening project with deleted node.
- All project files are now in a single directory.
- Single model for instrument library shared across widgets.
2019-06-13 23:35:21 +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