-
-
Notifications
You must be signed in to change notification settings - Fork 144
changelog
The 54
means we had 54 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).
There are different emojies used in this changelog to quickly get what everything is about, here's the list:
🎚️ Mixer
💥 Effects (FX)
🌊 Synthesizer
🎹 Pianoroll
🥁 Drums (drum machine)
✂️ Slicer
🤖 MIDI files / MIDI inputs
📻 Sample library
📦 Audio patterns
⚙️ Settings (options)
📐 UX (User eXperience)
🎨 UI (User Interface)
🪟 UX/UI related to the windows
🩹 Bug fix
📕 Help
☁️ Cloud profile / saving / sharing
- 🌊📐 Synth: Oscillator's wavetable are now an array of 2048 float instead of a dot-line (this is way better for this exact purpose).
- 🌊 Synth: Oscillator's wavetable, it's now possible to drop in the WaveEditor a WAVE file containing a raw waveform.
- 🌊 Synth: Each oscillator can now has its own wavetable, with 10 editable wavetable-position curves.
- 🎚️🩹 Mixer: Reordering effects is now possible.
- 🤖🩹 MIDI: Fix, handle multi-tracks MIDI files (it will still only display the 1st track containing keys).
- ✂️🩹 Slicer: Fix, dropping a buffer from the library into the slicer works (without the need to do any action in order to trigger the buffer writing).
- 📐 UX: Upgrade the drag-n-drop system on the entire app, easier to reorder everything and also easier to understand where an item can be dropped.
- 📐 UX: Upgrade the dotted polyline editor, the slider to change the curve between two points doesn't need to be shown. This simplification fix a click problem linked to the Web PointerLock API.
- 📐 UX: Sliders can now be reset to their default value with the mouse's middle-click. #104
- 🩹 Fix: An empty composition will no more play for infinity.
- 📕 Help: Write the mixer and effects documentation. wiki/help
- 🎚️🩹 Mixer: Fix, prevent reordering the main channel.
- 🌊🩹 Synth: Fix, prevent selecting the oscillator's custom wave with the prevWave button without editing one before.
- 🌊🩹 Synth: Fix, add many checks around the automation calls.
- 🌊 Synth: Add a lowpass envelope.
- 🌊 Synth: Improve how envelopes works with key shorter than the attack + hold + decay.
- 🌊 Synth: Improve how pianoroll key's lowpass/highpass works.
- 📕 Help: Write the synthesizer documentation. wiki/help
- 📕 Help: Clicking the top-right help icon will show/hide all the help links.
- 📐 UX: Add some help links in the synthesizer.
- 🌊 Synth: Each oscillator now have an editable custom wave.
- 💥 Effects: WaveShaper, the shaping curve can be more complex with wave, arc, etc. (not only straight line).
- 🌊 Synth: In addition of White noise, we now have Pink and Brown noises too.
- 🌊📐 Synth: UX, noises are at a difference place.
- 🩹 Fix: The Sliders was sometime not working.
- 🌊 Synth: Add the pitch LFO.
- 🌊🩹 Synth: Fix the gain LFO square wave, now it oscillate fully between 0 and 1, before it was never really mute due to periodic wave normalization.
- 💥 Effects: Filter has now a live analyser showing exactly which frenquences are impacted.
- 🎨 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: Add a 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.
- 💥 Effects: Fix the WaveShaper effect.
- 🎚️📐 Mixer: UX, a better "new effect" button.
- 🎚️🎨 Mixer: 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 fine pitch (#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 pitch 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/pitch 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 pitch. [tweet]
- 🌊 Add a second oscillator (-24 pitch) 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.
- Render popup: a popup to handle the rendering.
- ⌨️ Shortcut:
Ctrl+B
to copy-paste the current selection. - 🩹 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.