Skyler Lehmkuhl
7ec69ce950
Merge branch 'new_timeline' of github.com:skykooler/Lightningbeam into new_timeline
2025-11-06 23:42:50 -05:00
Skyler Lehmkuhl
b82d2b7278
codify new timeline
2025-11-06 23:42:45 -05:00
Skyler Lehmkuhl
47e1954efe
try to improve performance
2025-11-06 22:36:02 -05:00
Skyler Lehmkuhl
430ecb0ae6
use native player to speed up playback
2025-11-06 11:36:56 -05:00
Skyler Lehmkuhl
e51a6b803d
Add metronome
2025-11-06 10:59:25 -05:00
Skyler Lehmkuhl
e97dc5695f
draw midi input indicator
2025-11-06 09:12:48 -05:00
Skyler Lehmkuhl
09426e21f4
use channel and jpeg compression to speed up playback
2025-11-06 06:42:12 -05:00
Skyler Lehmkuhl
3c5a24e0b6
video backend
2025-11-06 06:04:39 -05:00
Skyler Lehmkuhl
07dc7efbe4
Rename Layer to VectorLayer
2025-11-05 19:18:11 -05:00
Skyler Lehmkuhl
5320e14745
midi hotplug
2025-11-03 09:48:38 -05:00
Skyler Lehmkuhl
06314dbf57
Add MIDI input
2025-11-03 06:16:17 -05:00
Skyler Lehmkuhl
f6a91abccd
shift virtual keyboard
2025-11-03 05:08:34 -05:00
Skyler Lehmkuhl
3b0e5b7ada
fix save/load bugs
2025-11-03 04:38:31 -05:00
Skyler Lehmkuhl
1ee86af94d
File save/load for audio projects
2025-11-03 02:46:43 -05:00
Skyler Lehmkuhl
9702a501bd
add BPM detection
2025-11-02 09:53:34 -05:00
Skyler Lehmkuhl
66c4746767
use nodes for audio tracks
2025-11-02 06:33:10 -05:00
Skyler Lehmkuhl
988bbfd1a9
Add automation and drag nodes into connections in the graph
2025-11-02 01:27:22 -05:00
Skyler Lehmkuhl
0ae168cbca
Add bit crusher, constant, math, envelope follower, phaser, ring modulator, sample and hold, and vocoder nodes
2025-10-29 03:14:01 -04:00
Skyler Lehmkuhl
dc32fc4200
MIDI recording
2025-10-29 01:50:45 -04:00
Skyler Lehmkuhl
6e7e90fe57
Lay out preset instruments better
2025-10-28 21:00:27 -04:00
Skyler Lehmkuhl
d496d796dd
Add CV visualizer to oscilloscope node
2025-10-28 20:19:25 -04:00
Skyler Lehmkuhl
d7dc423fe3
Remove old SimpleSynth and effect system
2025-10-28 20:19:08 -04:00
Skyler Lehmkuhl
2cdde33e37
Add minimap and node search to node graph
2025-10-28 10:27:54 -04:00
Skyler Lehmkuhl
a379266f99
Add undo/redo support for node graph editor
2025-10-28 09:53:57 -04:00
Skyler Lehmkuhl
9d6eaa5bba
Node graph improvements and fixes
2025-10-28 08:51:53 -04:00
Skyler Lehmkuhl
d2354e4864
Fix sampled instrument loading
2025-10-28 05:50:44 -04:00
Skyler Lehmkuhl
e426da0f5b
Update README
2025-10-28 04:19:20 -04:00
Skyler Lehmkuhl
8e6ea82f92
Load factory preset instruments
2025-10-28 04:19:05 -04:00
Skyler Lehmkuhl
f1bcf16ddc
Add preset instruments
2025-10-28 04:18:18 -04:00
Skyler Lehmkuhl
2e9699b524
Add sampler nodes and startup screen
2025-10-28 01:32:51 -04:00
Skyler Lehmkuhl
e57ae51397
Fix preset loading, add LFO, noise, pan and splitter nodes
2025-10-25 07:29:14 -04:00
Skyler Lehmkuhl
139946fb75
Add presets and make graph follow selected layer/track
2025-10-25 05:31:18 -04:00
Skyler Lehmkuhl
16f4a2a359
Add audio node graph editing
2025-10-25 03:29:54 -04:00
Skyler Lehmkuhl
19e99fa8bf
Update piano roll icon
2025-10-24 01:37:21 -04:00
Skyler Lehmkuhl
6b8679fa87
fix pane split/join menu
2025-10-24 00:28:24 -04:00
Skyler Lehmkuhl
4b1d9dc851
Fix UI selection when dragging pane borders
2025-10-23 23:25:22 -04:00
Skyler Lehmkuhl
976b41cb83
Add piano roll track editing
2025-10-23 23:10:56 -04:00
Skyler Lehmkuhl
3de1b05fb3
Add custom layouts, piano pane, midi file import
2025-10-23 21:15:17 -04:00
Skyler Lehmkuhl
c46c28c9bb
Add timestamp window
2025-10-23 06:21:02 -04:00
Skyler Lehmkuhl
9649fe173b
Rename views to keyframe, curve and segment and update defaults
2025-10-23 05:38:10 -04:00
Skyler Lehmkuhl
5e1a30d812
add timeline markings
2025-10-23 05:00:13 -04:00
Skyler Lehmkuhl
8be10b8213
send playback events from backend to use as time reference
2025-10-23 04:30:52 -04:00
Skyler Lehmkuhl
d2fa167179
use tauri events instead of polling to fix race condition in recording stop
2025-10-23 03:59:01 -04:00
Skyler Lehmkuhl
20c3b820a3
Record audio tracks
2025-10-23 01:08:45 -04:00
Skyler Lehmkuhl
48ec738027
add recording and reset function
2025-10-22 20:06:02 -04:00
Skyler Lehmkuhl
9699e1e1ea
Migrate from frame-centric to AnimationData system
...
Replaces legacy Frame-based object positioning and shape management with
AnimationData curves throughout the codebase. This enables time-based
animation instead of discrete frame indices, providing smoother playback
and more flexible keyframe editing.
Key changes:
- Remove currentFrame getter and frame.keys lookups
- Replace setFrameNum() with setTime() for continuous time navigation
- Add Layer.addShape()/removeShape() with AnimationData integration
- Migrate actions (move, group, delete, z-order) to use animation curves
- Update keyboard shortcuts and drag operations to modify curves directly
- Leave "holes" in shapeIndex values for proper undo/redo support
Rendering now fully driven by AnimationData curves (exists, zOrder,
shapeIndex for shapes; x, y, rotation, scale for objects).
2025-10-20 01:56:53 -04:00
Skyler Lehmkuhl
5a72743209
UI tests
2025-10-20 00:44:47 -04:00
Skyler Lehmkuhl
97b9ff71b7
Fix curve issues
2025-10-19 18:45:17 -04:00
Skyler Lehmkuhl
a8c81c8352
fix volume
2025-10-18 23:59:44 -04:00
Skyler Lehmkuhl
5e91882d01
Use buffer pool
2025-10-18 23:45:27 -04:00