Wykres commitów

296 Commity (b6465abc43c53b69e02e6143dd92e53beb059a8e)

Autor SHA1 Wiadomość Data
James Ball abad00a308 Add button to open Audio/MIDI settings from MIDI section 2024-01-31 17:20:06 +00:00
James Ball 2fcaa6431d Remove 'Audio input muted to avoid feedback loop' warning 2024-01-31 17:20:06 +00:00
James Ball 4a97c317f9 Correctly check for end-of-lines in Blender connection 2024-01-31 17:20:06 +00:00
James Ball a83cc33a76 Correctly reset frame drawn, shape drawn, and current shape when starting a new frame, fixing the trace function 2024-01-31 17:20:06 +00:00
James Ball 0a956e963a Check if local file before getting local file 2024-01-30 20:18:47 +00:00
James Ball dae57b6ce1 Add audio thread callback in null check 2024-01-30 20:15:56 +00:00
James Ball 36fea8f484 Add audio thread callback in null check 2024-01-30 20:14:07 +00:00
James Ball bfc70d71dc Resolve conflicts 2024-01-30 19:29:31 +00:00
James Ball 4401a7674b Record audio using audio directly from audio thread to guarantee no audio is missed 2024-01-28 20:19:56 +00:00
James Ball 95ab90ad63 Correctly overwrite existing wav file 2024-01-28 20:19:56 +00:00
James Ball cad5bad853 It works 2024-01-28 20:19:56 +00:00
James Ball f5d3f83a2f Fix bug with volume visualiser leading to NaN volume, and make audio recorder use sample buffer 2024-01-28 20:19:56 +00:00
James Ball d39122232f Add ability to record and save files 2024-01-28 20:19:56 +00:00
James Ball e83f3f769e Get Frustum Culling half-working 2024-01-21 22:22:03 +00:00
James Ball 379109be0d Merge master 2024-01-21 19:14:49 +00:00
James Ball 240fafe65c Add pitch bend support 2024-01-21 19:10:26 +00:00
James Ball 0ab4b8cc84 Always show 3D settings and rename settings titles to be more clear 2024-01-21 17:56:47 +00:00
James Ball f748fa66d6 Rename ObjComponent, fix Custom Effect, and always show 3D settings 2024-01-17 01:26:07 +00:00
James Ball 22fdf8872d Refactor significant portion of codebase to use custom effect instead of perspective effect, and add perspective effect as a new permanent effect 2024-01-07 19:48:02 +00:00
James Ball 70028c55b5 Remove Vector3D and remove rotate from Shape 2024-01-07 16:37:22 +00:00
James Ball 8a91099c55 Rename Vector2 to Point 2024-01-07 16:17:20 +00:00
James Ball 9376b5d715 Fix trace effects 2024-01-07 16:00:43 +00:00
James Ball 18776c7324 Set value of parameters in correct order, increment version number, and clip input volume 2024-01-01 17:34:17 +00:00
James Ball b20ef8b994 Disable sidechain for Lua 2024-01-01 17:34:17 +00:00
James Ball 7a5ab4d31f Reduce how dark the disabled audio effect names are 2024-01-01 17:34:17 +00:00
James Ball 72cc253159 Resize effect component when too small, and add sidechain ability 2024-01-01 17:34:17 +00:00
James Ball 10fecca39e Correctly notify host of parameter changes when loading a project 2024-01-01 17:34:17 +00:00
James Ball 95ccbacc42 Double-click visualiser to make fullscreen 2023-12-29 13:28:26 +00:00
James Ball 0c10d7054b Enable OpenGL rendering on Windows and Linux 2023-12-27 11:51:21 +00:00
James Ball 968916bb10 Remove duplicate const 2023-12-26 20:49:36 +00:00
James Ball 925bf98e4b Correctly support mono output 2023-12-25 12:56:46 +00:00
James Ball 9f4890c35b Remove dumb cap on drawing speed that caused innacurate frequencies 2023-12-23 10:43:08 +00:00
James Ball 1dcdb50eb0 Remake README for osci-render 2.0 and get projucer file production-ready 2023-12-22 17:52:36 +00:00
James Ball eddfa9bcd9 Enable all buttons on native title bar 2023-12-22 14:41:52 +00:00
James Ball b8892532fc Fix some bugs and deadlocks when opening projects 2023-12-22 10:27:23 +00:00
James Ball fcf5d69f6b Make volume visualiser less laggy at lower sample rates, fix lfo frequency at lower sample rates, improve lua and svg demo files 2023-12-21 21:33:05 +00:00
James Ball 14607636ca Remove button for software oscilloscope, use MIDI key velocity to control gain 2023-12-21 19:58:00 +00:00
James Ball b8a86f3655 Add static dot when beam is moving extremely slowly 2023-12-21 18:46:28 +00:00
James Ball 1eec8fc2e1 Allow modification of visualiser quality, and improve how it looks 2023-12-21 18:31:18 +00:00
James Ball 972a9840cd Fix laggy visualiser component on lower sample rates 2023-12-21 17:24:39 +00:00
James Ball 2fa34819d9 Set lookandfeel earlier on, and set colour for highlighting menu bar 2023-12-21 16:18:34 +00:00
James Ball f810a73a2e Add drop shadow to menu bar and code editor 2023-12-21 15:17:08 +00:00
James Ball 185737dea8 Save ADSR and voice info to state and add Create New Project option 2023-12-21 14:43:15 +00:00
James Ball fd8935a589 Slightly improve Lua variable performance, and add control for MIDI voices 2023-12-21 14:14:33 +00:00
James Ball b85318a4fd Use independent states for every ShapeVoice for Lua 2023-12-20 23:30:20 +00:00
James Ball c17d5024cf Pass more variables from audioprocessor to Lua 2023-12-20 21:41:28 +00:00
James Ball a0d2c93327 Fix bug that meant you couldn't change slider ranges 2023-12-20 21:09:22 +00:00
James Ball 151aaf68cf Use native window with native menu bar 2023-12-20 20:58:08 +00:00
James Ball 0d4f461503 Remove race condition when painting error message, and remove newline characters from error message 2023-12-20 19:22:59 +00:00
James Ball 1eb0c4956f Use a unique id for each file, rather than non-unique filename, to identify a document 2023-12-20 18:43:03 +00:00
James Ball be8f30476b Only update code editors that map to the lua parser 2023-12-20 17:47:58 +00:00
James Ball 6686d25085 Show Lua errors in the code editor 2023-12-20 17:13:38 +00:00
James Ball e3ecb794b0 Start getting useful error messages for Lua 2023-12-20 13:27:22 +00:00
James Ball c62b6a9f90 Change envelope to show ADSR stats when ADSR mode is on 2023-12-19 12:11:12 +00:00
James Ball f9b9e09a53 Change design of envelope component 2023-12-18 15:06:34 +00:00
James Ball 3eb8bbae5a Remove tabs from interface, move MIDI settings to seperate toggleable window, resign MIDI settings and envelope component, wire up MIDI keyboard 2023-12-18 13:41:56 +00:00
James Ball 07a35e709e Add tooltips to fixed rotate and edit buttons 2023-12-17 22:46:24 +00:00
James Ball 633723f1ba Move description to parameters 2023-12-17 21:32:56 +00:00
James Ball b2d37dacb1 Add audio input support 2023-12-14 21:26:40 +00:00
James Ball ea67f99a94 Temporarily disable tooltips 2023-12-14 20:12:03 +00:00
James Ball f310e98d6b Add basic tooltips to effect component 2023-12-12 22:54:36 +00:00
James Ball 6608e0f35b Remove white background from tabs 2023-12-10 21:57:34 +00:00
James Ball 55c296d4f7 Update lookandfeel and revert to old colours 2023-12-10 21:38:35 +00:00
James Ball 7097779110 Correctly disable components visually 2023-12-10 21:03:12 +00:00
James Ball a520ec1621 Avoid having to change alpha for disabled components 2023-12-03 22:52:34 +00:00
James Ball 50cc383e25 Start improving design of effect component lists 2023-12-03 22:37:38 +00:00
James Ball 3ab190398b Allow sections to be resized 2023-11-25 22:10:36 +00:00
James Ball 553e672f84 Minor code cleanup 2023-11-25 18:45:04 +00:00
James Ball 00edb70a75 Have envelope control ADSR of MIDI 2023-11-25 17:57:35 +00:00
James Ball a7169bd8d1 Get all parameters working 2023-11-25 16:38:09 +00:00
James Ball 6d08a00b33 Move envelope to MidiComponent and get parameters working 2023-11-25 15:37:33 +00:00
James Ball 5047979ff4 Show dragging cursor when hovering over envelope line 2023-11-18 11:34:15 +00:00
James Ball 81eb0585ae Fix compilation issues 2023-11-18 11:07:05 +00:00
James Ball 95dd9a5f4b Add default ADSR envelope and control shape of curve with alt + mouse drag 2023-11-18 11:00:14 +00:00
James Ball 3959dafe28 Add functional envelope component for ADSR 2023-11-18 11:00:14 +00:00
DJLevel3 f898e8ac8a Implement oscilloscope improvements 2023-11-07 11:59:57 -07:00
James Ball 48a5f2bb20 Allow lua slider values to be used in perspective function 2023-10-19 12:20:24 +01:00
James Ball 2469835c2f Fix lua values so they update when the interface is closed 2023-09-16 13:59:52 +01:00
James Ball 059d436261 Add Lua fallback script if it doesn't run correctly 2023-09-14 20:21:08 +01:00
James Ball 60e7e2082d Fix various lua bugs to prevent crashes 2023-09-11 21:28:34 +01:00
James Ball ac2cf8f372 Fix default midiEndabled 2023-09-10 19:30:04 +01:00
James Ball 775da0186c Fix Blender when using MIDI, and change default MIDI enabled 2023-09-10 18:52:21 +01:00
James Ball 1bf3ba6646 Add Blender support 2023-09-10 17:43:37 +01:00
James Ball 740f2e2a0a Slightly improve line culling 2023-09-10 12:39:34 +01:00
James Ball a047888382 Super basic 3D object line culling 2023-09-10 12:35:26 +01:00
James Ball eece1b1dae Allow visualiser to be paused by clicking 2023-09-10 11:14:10 +01:00
James Ball 298b2eeb77 Fix BlockingQueue implementation 2023-09-10 10:53:50 +01:00
James Ball a6d25a122c Use a blocking queue instead of lock free to massively reduce CPU usage 2023-09-09 15:32:03 +01:00
James Ball 3c0bda1984 Replace std min with juce jmin 2023-09-09 13:47:02 +01:00
James Ball 398f3268f5 Fix SVG parsing bugs, object parsing bugs, rotation precision errors 2023-09-09 11:22:14 +01:00
James Ball 2157b8a867 Allow files to be selected on mac when opening 2023-09-09 10:02:16 +01:00
James Ball fca62d009f Support enabling and disabling MIDI 2023-09-07 22:04:08 +01:00
James Ball 596771f625 Change how min/max is initialised to prevent naming conflicts on Windows 2023-09-07 21:55:10 +01:00
James Ball 8c8ccb2a02 Get MIDI working, and MASSIVELY speed up calculating arc length 2023-09-05 22:57:29 +01:00
James Ball 81bea16c91 Fix the most major mac bugs 2023-09-05 20:46:05 +01:00
James Ball c6c3b21e06 Merge synthesiser branch into mac-support 2023-09-05 19:52:31 +01:00
James Ball 259dadbf3b Remove old buffer producer and consumer and replace with the way legacy osci-render does it 2023-09-01 23:42:17 +01:00
James Ball adf5624e4e Start trying to support mac 2023-09-01 19:52:36 +01:00
James Ball 8107c521b8 Add tabs for main settings and MIDI settings 2023-08-29 20:47:13 +01:00
James Ball 4667019163 Add failsafe when fetching new frame in loop 2023-08-28 22:09:34 +01:00
James Ball 13a6a6e2e3 Get basic MIDI input working 2023-08-28 22:06:21 +01:00
James Ball 665e7b806e Save and load fonts and styles 2023-08-27 22:01:37 +01:00
James Ball 7c0043edf6 Add text settings 2023-08-27 19:33:42 +01:00
James Ball 616e33c291 Adopt Dracula theme in code editor 2023-08-27 17:47:30 +01:00
James Ball 9eb5ac2c29 Add button to open software oscilloscope 2023-08-27 16:41:16 +01:00
James Ball c9a46c29d0 Completely remove custom SVG implementation and pugixml library in favour of JUCE classes 2023-07-30 14:01:56 +01:00
James Ball 4a3ba6c99c Set background colours for code editor 2023-07-28 22:14:06 +01:00
James Ball e193122cfc Style the title bar on standalone window 2023-07-28 21:55:54 +01:00
James Ball 5a7124cc80 Massively overhaul the entire interface colours to make it look similar to legacy osci-render 2023-07-28 21:10:21 +01:00
James Ball b845d150ff Support opening legacy osci-render projects and fix some bugs 2023-07-28 13:55:44 +01:00
James Ball 40c0086bf4 Add shortcuts for opening, saving, and saving as, as well as file menu bar 2023-07-25 20:44:18 +01:00
James Ball 8bdbe2aac4 Projects are now fully saveable and loadable from a DAW 2023-07-25 14:09:21 +01:00
James Ball c75a036048 Add ability to save state of project to xml 2023-07-25 12:23:27 +01:00
James Ball 96133574b3 Increase length of effect slider label 2023-07-22 22:11:02 +01:00
James Ball 12e4ffa509 Add TODO 2023-07-22 22:06:26 +01:00
James Ball d6436aa3fa Hacky solution to get editing perspective function fully working 2023-07-22 22:00:59 +01:00
James Ball 26860a00e6 Add pencil icon (non-functional) and change long-running spinlocks to mutexes 2023-07-22 18:42:30 +01:00
James Ball 3a50b4f53e Add fixed rotate buttons to perspective effect 2023-07-22 15:07:11 +01:00
James Ball 90ce1a73a2 Create SvgButton component to reduce duplication 2023-07-22 13:44:13 +01:00
James Ball 3701157440 Fix lua sliders and 3d rotation precision 2023-07-21 20:04:10 +01:00
James Ball e3c2010917 Add non-editable perspective effect 2023-07-21 17:42:29 +01:00
James Ball 70de26bbb2 Show different slider when non-static LFO chosen 2023-07-21 11:41:01 +01:00
James Ball 34adbc767d Remove LFO support for Lua and remove 'infinite' lua sliders as you cannot dynamically add parameters 2023-07-21 11:08:55 +01:00
James Ball 4520771b15 Make BooleanParameter discrete, show correct LFO names to plugin parameter 2023-07-20 21:54:21 +01:00
James Ball 7b38df4031 Add animation in Effect 2023-07-20 21:41:53 +01:00
James Ball 08458a4251 Add LFO and LFO Rate as parameters 2023-07-20 20:01:09 +01:00
James Ball e4bc512a66 Add combobox on all effects for changing LFO and move lua/obj panel underneath other effects 2023-07-20 17:24:34 +01:00
James Ball e4a579164c Make visualiser look better, add translate effect, fix fixed rotation axis 2023-07-19 21:40:31 +01:00
James Ball 230707823d Convert all parameters to raw pointers as JUCE manages them 2023-07-18 19:20:54 +01:00
James Ball 28f8626dbc Update effect sliders when DAW changes parameter 2023-07-18 18:28:09 +01:00
James Ball e22897d8d0 Add parameters for enabling and disabling effects, and refactor effects to store a boolean for enabled effects rather than presence in a list 2023-07-18 17:25:09 +01:00
James Ball de3ab79052 Parameters are now controllable from DAW 2023-07-17 20:09:13 +01:00
James Ball 707715bc2e Refactor EffectDetails into EffectParameter 2023-07-17 17:16:18 +01:00
James Ball a9e99d336b Ensure min < max always 2023-07-17 15:39:21 +01:00
James Ball 72951d3146 Range of sliders is now controllable 2023-07-17 14:37:36 +01:00
James Ball bb91460429 Store range, step, and smoothing within EffectDetails 2023-07-16 20:54:41 +01:00
James Ball afc16fc044 Most effects now change smoothly between values, making the visuals MUCH smoother when using sliders 2023-07-14 15:34:24 +01:00
James Ball 6d048ce26e Add wobble effect and remove frequency input from effect applications 2023-07-13 20:11:24 +01:00
James Ball 89452a4dd6 Introduce more locks to prevent concurrency issues 2023-07-11 22:28:54 +01:00
James Ball 3ea8bad02b Use weak_ptr to avoid memory leak and circular reference 2023-07-11 19:25:42 +01:00
James Ball 2462a7978e Add variable-size listboxes for echo effect 2023-07-11 18:48:45 +01:00
James Ball a369adb6ae Add delay effect and refactor effects to allow multiple values per effect 2023-07-11 13:32:52 +01:00
James Ball a103ac44b6 Add audio websocket server that sends data to software oscilloscope browser client 2023-07-10 22:00:36 +01:00
James Ball 662f423bc2 Add volume and threshold icons 2023-07-10 18:04:24 +01:00
James Ball c0e64094aa Create fully-functioning and somewhat good looking volume visualiser 2023-07-10 17:42:22 +01:00
James Ball afdd4483b3 Add basic volume visualiser with non-functioning sliders 2023-07-10 13:17:04 +01:00
James Ball be64e7325e Set audio visualiser to 60fps and show current frequency 2023-07-09 21:30:33 +01:00
James Ball 061595b575 Add proof of concept audio visualiser component 2023-07-08 18:59:05 +01:00
James Ball 8e61d6f280 Add core functionality for audio buffer producers and consumers 2023-07-08 13:25:35 +01:00
James Ball 011fc8bb10 Add trace min and trace max effects 2023-07-06 17:57:10 +01:00