-
-
Notifications
You must be signed in to change notification settings - Fork 135
changelog
Thomas Tortorini edited this page Feb 8, 2025
·
300 revisions
The 48
means we had 48 different versions of GridSound containing at least one new audio feature, it could be a new effect or simply a new oscillator's param for example. This number doesn't get reset.
The last number is for intermediate versions: fixing, optimisation or any non-audio changes.
The last number is reset after the 2nd one increases (the little fixes will not be listed here).
- 🌊 Synth: add the LFO pitch.
- 🩹 Fix: Synth's LFO gain square wave now goes fully between 0 and 1, before it was never really mute due to periodic wave normalization.
- 🎨 UI: Update the minimap loop appearance.
- 🌊 Synth: Fix the stereo panner. The native WebAudio stereoPannerNode doesn't act how it should in this context so we now use our own gswaStereoPanner everywhere.
- 🩹 Fix: The keyboard shortcuts (eg. Ctrl+Z) now work with CapsLock too.
- 🌊 Synth: Pitch envelope.
- 📐 UX: Each scrolling window has an
autoscroll
toggle button, to follow the currentTime automatically.
- 📐 UX: Each window has its own play/pause/stop controls.
- 🩹 Fix: Pressing play will start the correct focused window.
- 💥 Effects: add the Reverb effect.
- 🩹 Fix: WaveShapper effect.
- 📐 UX: The Mixer has a better "new effect" button.
- 🎨 UI: All the effects share the same design and colors.
- ☁️ The DAW's URL has changed:
gridsound.com/daw
➡️daw.gridsound.com
. - ☁️ The DAW is able to open other users' composition in readOnly mode (if the compo is set as "opensource").
- ☁️ The DAW will no more show your compositions list from your account (you will have to open it from the website (gridsound.com)).
- 📐 UX: The Undo/Redo buttons are next to the Play/Stop ones.
- 📐 UX: The Undo/Redo list has been removed (it will come back inside a separate window).
- 📐 UX: The Tempo and TimeDivision popup has been redesign.
- 🌊 Synth: Oscillator's Phaze can now be changed.
- 🤖 MIDI: Handle velocity of MIDI devices.
- 🎚️ Mixer: Add a VU meter plugged on the selected channel.
- 🎚️ Mixer: A toggle to switch between frequency or timeDomain visualisation.
- 📐 UX: Add a dynamic scrollbar under each scrollable window.
- 📐 UX: Better algorythm for scrollable window zooming.
- 📐 UX: The Timeline (currentTime and loop) is easier to use.
- 🩹 Fix: No more crash when we move a pattern inside a muted track.
- 💥 Effects: add the WaveShaper effect.
- 📦 Patterns: Buffers can now be cloned.
- 📦 Patterns: Buffers can now be reversed.
- ⚙️ Settings: Key notation CDEFGAB/DoRéMi/etc.
- 🎹 Pianoroll: Clicking on a key or moving it will launch a preview sound.
- 🌊 Synth: Buffers can be used in the synth.
- 🌊 Synth: Type
noise
is now stereo + random start offset. - 📦 Patterns: Possibility to drag and drop a buffer directly from the library to the drumrows or in a synth or in the composition window.
- 📦 Patterns: parse the buffers' name to set the BPM correctly if it's in the title.
- 🌊 Synth: new type
noise
. - 🎨 UI: The windows are darker.
- 🎨 UI: The blocks/patterns are more discernible with little borders/shadows.
- 📐 UX: fix the patterns' panels.
- 🥁 Drums: Step splitting, double clicking on a drum or a drumcut to divide it.
- 🤖 MIDI: Possibility to drop a single-track midi file on the pianoroll.
- 🪟 Windows: no more minimize button, only maximize and close.
- 📐 UX: Now when you click a slider you can use the mouse wheel to get the exact value you want.
- 🎨 UI: Reduce the size of the patterns and the libraries.
- 🪟 Windows: There are now two sliders to handling the zoom X/Y. [tweet]
- 🪟 Windows: Preventing the windows to scroll on focus.
- 🪟 Windows: The windows can't be moved where you can't reach them again.
- 🪟 Windows: Closing a windows now free the content, meaning the app will take less memory and CPU if you want to only use the pianoroll for example.
- 🎚️ Mixer: Each channel now contains a small visual stack to see all its effects. [tweet]
- 🎨 UI: Little changes everywhere.
- ⚖️ Policy: The cookie check has been moved at the gate instead of being mixed in the code.
- 🌊 Synth: Unison. [tweet]
- 🤖 MIDI: Handle piano midi devices.
- 📻 Samples: make it retractable.
- 🎚️ Mixer: move the effects next to the channels inside a new Mixer window. [tweet]
- 🌊 Synth: fix, reformat the older composition with detunefine (#85).
- 🌊 Synth: fix, start the oscillators always in the same order.
- 🌊 Synth: fix, when an oscillator changes it will apply the change instantaneously in the pianoroll.
- Patternroll: muting tracks is now applied instantaneously to the audio feedback.
- 📻 Samples: show the used samples in blue.
- 🌊 Synth: the oscillators now have a fine detune parameter (#83). [tweet]
- 🎹 Pianoroll: the root octave can be change for keyboard playing (#82). [tweet]
- 📐 UX: bind the Backspace key on the Delete key.
- 💥 Effects: add the Delay effect.
- 📻 Samples: fix, after reloading a composition the samples was not loading again.
- 🎨 UI: make the daw's header (all the controller etc.) smaller.
- 📦 Patterns: dropped buffers will now appear on the library panel (in the "local" side).
- 🎨 UI: make the windows' header smaller.
- 🎨 UI: reduce the animation of the popups.
- 📻 Samples: Add a new sample library (151 samples).
- 🎨 UI: Make the patterns in the left panel smaller.
- 🩹 Fix: some fixes related to the currentTime and the focus between the windows.
- ✂️ Slicer: can now set a inner loop.
- 🪟 Windows: the blocks/patterns window is now a resizable panel on the left.
- 🩹 Massive rewrite of the wrap of the DAW itself.
- ✂️ Slicer: introduce a new pattern type, the slices.
- 📦 Patterns: the pattern buffers have now metadata attached to them like BPM. Then the loop samples can stay sync with any tempo.
- BPM: the BPM can be more precise, e.g. 120.01 is now possible.
- 📦 Patterns: the drumcuts are shown as a thin bar into the drums patterns' preview.
- 🩹 Fix: many fixes related to the pattern of type buffers when they do not have their data loaded yet, and about undoing a buffer deletion.
- 🌊 Synth: add a gain envelop (AHDSR).
- ⚙️ Settings: we can now change the audioContext's sampleRate for live feedback.
- 🎹 Pianoroll: each key can have a special LFO gain speed and amplitude.
- 🩹 Fix: Muted tracks and muted channels were not reloading well.
- 🩹 Fix: #63, some bugs related to the drumrows were still there since the rewrite of the 0.32.2 version.
- Controls: a new button next to play/stop to restart the audio engine.
- Time numbering: the timelines and the clock are now counting the measures instead of the beats. [tweet]
- Time numbering: it's now possible, in the settings to makes the measures start counting from 0 instead of 1. [tweet]
- 🩹 Performance: an important optimization on the Drums, Piano and Composition windows, there is now only one scrolling area on each window, no more scroll-linked elements. [tweet]
- 🥁 Drums: a pan slider for each row.
- 🥁 Drums: a gain/pan/detune attribute for each drum. [tweet]
- 🌊 Synth: LFO gain, handle negative amplitude. [tweet]
- 🩹 Fix: Don't crash when we want to use two effects in the same channel.
- 🥁 Drums: a gain and a pitch slider for each row. [tweet]
- 🥁 Drums: introduce the drumcut, a stop button on each drum to stop all the previous drums on the same row. [tweet]
- TimeSignature: changing the time signature will update the composition and patterns' duration accordingly.
- 🌊 Synth: fix the LFO background when the time signature changes.
- 🥁 Drums: fix the time slider when the drums was selected.
- 🎚️ Mixer: fix the channel redirection.
- Reopening the current composition will discard correctly the unsaved changed.
- version: able to reload all the old version of gridsound.
- TimeSignature: fix undo bug.
- 🪟 Windows: reduce the size of the title bar of each windows.
- Composition: fix a bug related to
drums
blocks' scheduler. - 🪟 Windows: magnetism, each window will naturally stick or align itself with the others.
- 🥁 Drums: display the buffer's wave on each rows.
- 🥁 Drums: display all the started drums playing with cursors on the waves.
- 🥁 Drums: left/right click on drumrows will start/stop their buffers. [tweet]
- 🥁 Drums: a really basic drum loop editor. [tweet]
- 🌊 Synth: review the oscillators Detune. [tweet]
- Add a second oscillator (-24detune) on the default synth.
- 🪟 Windows: the windows can't be shrank too much anymore.
- 🩹 Fix: 6 bug fixes.
- Better drawing algorythm for the spectrums.
- 🌊 Synth: add an LFO based on gain. [tweet]
- Add a pattern into the main grid by default.
- 💥 Effects: a new Fxs window.
- 💥 Effects: add the Filter effect.
- ⚙️ Settings: a new settings popup to set the UI refresh rate (fps) and toggle how the windows moves (direct or with a shadow).
- 🎚️ Mixer: the channels are now reorderable.
- 📦 Patterns: the patterns are now reorderable.
- 🌊 Synth: the oscillators are now reorderable.
- 📻 Samples: ability to drop and use WAV files directly in the main grid.
- 🎹 Pianoroll: an attack and a release can be set on each key.
- 🎹 Pianoroll: each key has a low/highpass values like gain and pan.
- 🎹 Pianoroll: the multi-slider area has been improved.
- 🪟 Windows: all the panels are now splitted in multiple windows, this leads to better performances.
- 🎨 UI: buttons and icons has been review.
- Clock: the clock has now a button to swap its display.
- 🩹 Performance: review the analysers and the clock to increase the FPS.
- 🌊 Synth: review its design.
- 🩹 Fix: The offline is fixed.
- 🎚️ Mixer: a basic mixer (without any effects for the moment).
- Cloud: possibility to drag n drop compositions from the cloud to the local and vice versa.
- 🎨 UI: use fancy fonts (Montserrat and Unica One (for numbers)).
- Cloud: possibility to create and update compositions online via gridsound.com.
- Splash screen: add a loading screen to force the user to click in order to allow the audioContext being constructed (cf. Autoplay Policy improvements).
- 🎨 UI: reduce the borders everywhere and flatten controls items.
- 📐 UX: the left panel can be more shrinked.
- 🩹 Fix: delete an oscillator doesn't soundly fail anymore.
- 🩹 Fix: key selection, the keys' gain/pan sliders were stay locked sometimes.
- 🩹 Fix: pattern change synth, when a pattern was moved to another synth, the sound was not following instantaneously.
- 🩹 Fix: cloning a pattern with the same name of another one is now ok.
- 🎹 Pianoroll: Able to link keys together to perform a same noise with gain, pan and frequency variations!
- Help: add a link to this help/tutorial page.
- Possibility to load a composition via
.../daw/#cmp=https://.../file.gs
. - Patternroll: The loop selection is now savable and undo/redoable.
- 🎹 Pianoroll: fix, gain/pan/duration default value are reset when a pattern is open.
- CSS: adjust the min/max panels size.
- 🩹 Fix: no more issue with offset while rendering.
- ⌨️ Shortcut:
Ctrl+B
to copy-paste the current selection. - Render popup: a popup to handle the rendering.
- 🩹 Fix: several fix.
- 🎹 Pianoroll: able to set a gain/pan specific to each key.
- Patterns list: able to delete the last pattern.
- 🩹 Fix: handle old compositions.
- Piano/patternroll: able to change the grid-magnetism precision.
- Piano/patternroll: full rewrite, native scroll, better rect-selection behaviour.
- Audio scheduler: full rewrite, a full inner streaming increase the performance.
- Patterns list: clicking a pattern doesn't preview it anymore.
- 🌊 Synth: add a tiny default gain envelope to avoid the clicking.
- About popup: the version-check is now done after clicking a specific link.
- 🩹 Fix: a bug related to the pattern selection has been fixed.
- 🌊 Synth: add 18 custom periodicWaves (via lukehorvat/web-audio-oscillators).
- 🎹 Pianoroll: possibility to play keys directly with the keyboard (no record feature yet).
- About: add a popup with all the GridSound's links (GitHub, Twitter, etc.).
- 🎨 UI: move the version number into the About's popup.
- A rewrite of one of synthesizer's subpart: gsuiOscillator.
- Don't fail if we load a composition while playing another.
Feedback on /r/programming
- 🌊 Synth: possibility to create different synthesizers, with different patterns.
- 🎹 Pianoroll: fix #30.
- ⌨️ Shortcut: the
Alt
orCtrl
keys can be used for all the shortcuts #29. - 📐 UX: add CSS cursor feedback while resizing the panels #28.
- Controls: the pattern and the main grid are now playing in loop by default.
- 🌊 Synth: Keep the oscillators order while undo/redoing.
- Help: Add explications in the shortcuts popup.
- 🩹 Fix: No more bug when we render a composition while playing it.
- 🌊 Synth: A new panel which contains the synthesizer.
- 🩹 Fix: Keyboard shortcuts.
- ⚙️ Settings: A tap button in the settings-popup to set a precise BPM.
- Help: Add a popup to show all the keyboard/mouse shortcuts.
- ⌨️ Shortcut: Change many keyboard shortcuts,
Ctrl+Z
becomeAlt+Z
etc. to a better cross-compatibility. - 🩹 Fix: Add/fix some grid events for Mac users (scroll horizontal).
- 🩹 Fix: No more problem after resizing the app.
- Controls: Add a main volume slider to control the output gain tab feedback without impacting the rendering.
- 🩹 Fix: No more problem when rendering with the feedback loop enabled.
Feedback on /r/webdev
- A New button (
Alt+N
) to start a new composition. - A Open button (
Ctrl+O
) to allow loading a composition by a local file or with an URL.
-
.json
and.txt
files are now accepted as a.gs
composition file. - 🩹 Fix: a bug when we drop a composition file into the main sample grid.
Feedback on /r/coolgithubprojects
- When we stop the cursor will be at
loopA
if present instead of0
. - 🩹 Fix: Fixes around play/stop/loop when we change the pattern or preview a pattern.
- The feedback loop while playing is now finally ready :)
- ⌨️ Shortcut:
Ctrl+A
, select all the blocks of the selected grid. - ⌨️ Shortcut:
Ctrl+D
, deselect all the selected blocks of the selected grid. - 🎹 Pianoroll: At start the pianoroll is now showing the middle of the keyboard.
- 🎹 Add two more octaves in the low frequencies.
- 🩹 Improve the switch/focus between the grids.
- 🩹 Fix: Fix a bug event in the settings popup.
- Link the version number to this changelog.