1.3.0-alpha.2
This is a release from the development branch, like nightly builds (but not exactly).
The degree of stability provided by this release is greater than that of nightly builds but less than that of stable releases. Crashes may happen, and in the worst case scenario your project files may break. Project files saved in this release cannot be reopened in previous versions of LMMS, making it a one-way upgrade. New features added in an alpha release may be modified or even removed prior to the next stable release - do not expect forward compatibility.
That said, we recommend this release to most users over the nightly builds.
System requirements
The system requirements for LMMS have changed since the last release. Notably, 32-bit builds have been dropped.
| platform | OS requirements | CPU requirements |
|---|---|---|
| Linux (x86_64) | glibc 2.35 (Ubuntu 22.04 equivalent or newer) | x86_64-v2 or higher |
| Linux (arm64) | glibc 2.39 (Ubuntu 24.04 equivalent or newer) | ARMv8-A or higher |
| macOS (x86_64) | macOS 10.13 (High Sierra) or newer | x86_64-v2 or higher |
| macOS (arm64) | macOS 11.0 (Big Sur) or newer | Apple M1 or newer |
| Windows (x86_64) | Windows 10 or 11 | x86_64-v2 or higher |
| Windows (arm64) | Windows 11 | ARMv8.1-A or higher (Windows 11 requirement) |
Changelog
This release contains over 5 years of work completed since the previous alpha.1 release, including 932 commits and 3457 files changed by 65 contributors. It brings 8 new native plugins, ARM64 builds, many new features and quality-of-life improvements, hundreds of bug fixes, and many performance improvements.
Major features
- Detachable windows (#3532)
- Alternative tunings (microtonality) and keyboard mappings (#5522)
- Native LinuxVST support (#6048)
- Tap Tempo tool (#6375)
- Dispersion effect (#6683)
- SlicerT (slicer plugin) (#6857)
- LOMM (upward/downward multiband compressor) (#6925)
- Granular Pitch Shifter effect (#7328)
- Splitting (and resizing) for all types of clips (#7477)
- Workspace panning by dragging the mouse (#7595)
- SlewDistortion effect (#7641)
- Pitch bending directly in the Piano Roll (#7759)
- Oscilloscope plugin (#7937)
- Frequency Shifter effect (#8140)
Minor features
- Alias-free oscillators (#5826)
- Carla: Expose parameters for automation (#5846)
- Allow editing the tangents of Cubic Hermite progressions (#5924)
- LV2: Implement
LV2_BUF_SIZE__boundedBlockLengthandLV2_BUF_SIZE__fixedBlockLength(#6254) - Allow recording pitch automation directly into the Piano Roll (#6297)
- New loop marker shortcuts (#6382)
- Transpose MIDI clips in Song Editor (#6409)
- Mallets: Add random knob function (#6466)
- BitCrush: Allow negative value for stereo difference (#6475)
- LV2: Implement Lv2 Worker (#6484)
- SF2Player: Add microtonality support (#6580)
- SF2Player: Add support for per-note detuning and panning (#6602)
- Add MP3 import (#6750)
- Sample and Hold for LFO Controller (#6850)
- Ghost notes for the Automation Editor (#6940)
- Allow filtering by effect type in the effect select dialog (#7024)
- Peak indicators in mixer strips (#7295)
- Continuous auto-scrolling (#7396)
- SDL input and output device configuration (#7421)
- Add note reversal tool to the Piano Roll (#7606)
- AppImage: Initial support for wayland (#7704)
- Add ability to change sample rate in the settings menu (#7719)
- Add strum tool to the Piano Roll (#7725)
- Add option to favorite items in the file browser (#7753)
- Add new "Psychoacoustic Clipper" LADSPA effect (#7783)
- Add setting for default auto-scroll state (#7851)
- Lb302: Velocity and note panning, code cleanup, and performance improvements (#8132)
- Sf2Player: Add search bar for patches (#8193)
Small enhancements, quality-of-life features, and performance improvements
- New LADSPA control dialog (#2068)
- Don't recalculate the song length for every added clip while loading (#5236)
- Use better colors in the Piano Roll's default and classic themes (#5953)
- Preserve FX channel when replacing track (#5957)
- Show detailed CPU load information in a tooltip (#5970)
- SpectrumAnalyzer: Improve performance by caching most used computations (#6003)
- Default to FLAC compression level 5 (#6052)
- SF2Player: Speed up loading (#6075)
- Color submenu and undoable colors (#6165)
- Extend denormal protection through DAZ flag to all capable CPUs (#6167)
- Microtuner UI update (#6206)
- Show error message when loading an invalid sample file (#6286)
- Fix Song Editor selection CPU hog (#6303)
- Make loop markers snap to same increments as clips (#6313)
- Reload stylesheet when CSS file changes (#6331)
- Allow opening .midi and .rmi files from sidebar (#6417)
- VST2: Make VST sync always-on and non-global (#6418)
- Allow resizing pattern clips from the left (#6584)
- Improve readability of text floats (#6607)
- Draggable effects (#6648)
- Change zoom in
SongEditorto a Slider Zoom (#6664) - Add confirm removal on mixer channels (#6691)
- Add instrument plugins to Song Editor via right click (#6698)
- Add .DirIcon to AppImage (#6715)
- Fix startup lag caused by
FileBrowser::expandItems(#6721) - Extend
TabWidget's style sheet options (#6732) - Unmute all sends when soloing in the mixer (#6746)
- Add BPM tags to built-in beat loops (#6747)
- Modifier keys for mouse wheel adjustments (#6770)
- Add mixer LCD channels for Instrument & Sample tracks (#6831)
- Vertically center
SideBarWidget's title with the icon and remove underlining (#6833) - Include mounted volumes in file dialog on Linux (#6834)
- Show Knob value on mouse over (#6835)
- Make files visible when searching in
FileBrowser(#6845) - Display flats in Piano Roll's keys dropdown (#6865)
- Changed sharps to music sharps Unicode (#6873)
- SetupDialog: Display message on buffer size larger than 256 (#6906)
- Improve color contrast of
lcd_21pink.pngasset (#6914) - Compressor: Improve lookahead algorithm (#6953)
- Improve search performance in
FileBrowser(#6962) - More prominent search (#6968)
- Analyze and improve search in the file browser (again) (#6985)
- Compressor: Disable background autofill (#6986)
- Changed bar lines to follow snap size (#7034)
- Resizable mixer window (#7037)
- Scalable consistent faders with themeable gradients, marker at unity, dbFS by default (#7045)
- Hide the LED button for "Custom Base Velocity" (#7067)
- Add menu option and hotkeys to move controllers/effects (#7139)
- Enable different colors for oscilloscope channels (#7155)
- Compressor: Make background themeable (#7157)
- Optimize map accesses in
LadspaManager(#7173) - Font size adjustments (#7185)
- Only repaint
LcdWidgetif necessary (#7187) - Remove "GENERAL SETTINGS" tab from instrument and sample track windows (#7188)
- GUI adjustments around base velocity (#7196)
- A few accessibility changes in default theme (#7202)
- Remove high quality mode (#7219)
- Remove global oversampling (#7228)
- Warn about LADSPA problems (#7267)
- Resizable mixer channels/strips (#7293)
- Add "Show Hidden Content" checkbox to the file browser (#7309)
- Open up some GUI elements to theming (#7314)
- Improve mix sanitization behavior (#7323)
- LV2: Improve plugin description (#7357)
- Remove term "blacklist" (#7365)
- Improve performance when rendering sample waveforms (#7366)
- Optimize PNG images using ImageOptim (#7384)
- Add input dialog to the mixer channel LCD spin box (#7399)
- SlicerT: UI update (#7453)
- Proportional horizontal scroll (#7474)
- Reintroduce fast math functions (#7495)
- Maximize button for resizable instruments (#7514)
- Optimize dBFS/amplitude conversion functions (#7535)
- Optimise usage of
powusing fast equivalent andexp2(#7548) - Inline
TimePosandTimeSigfunctions to improve performance (#7549) - Improve performance of sample rate getters (#7552)
- Add beat preview for pattern clips (#7559)
- Sample Track Recording with JACK backend (#7567)
- Song Editor: Improve performance of auto-scroll, scroll, zoom, and clip dragging (#7570)
- Faders with a dB scale (instead of linear/percentage) (#7636)
- Improve search behavior in the file browser (#7679)
- Allow plugins to be skipped at runtime (#7691)
- Improve performance when rendering sample waveforms (follow-up) (#7695)
- Handle
SIGINT(#7698) - FileBrowser: "Open containing folder" automatically selects file in the OS's file manager (#7700)
- Update mute and solo buttons, add them to instrument windows (#7708)
- ZynAddSubFX: HiDPI support on Linux (#7710)
- Allow cutting multiple notes at once in Piano Roll (#7715)
- ExportProjectDialog: Remove arbitrary loop count limit (#7724)
- Improve
lmms::fastRand()and use it instead ofstd::rand()(#7741) - Global spacebar play (#7762)
- Amplifier: Upgrade PNG assets to SVG (#7770)
- BassBooster: Upgrade PNG assets to SVG (#7771)
- Bitcrusher: Upgrade PNG assets to SVG (#7772)
- Dispersion: Upgrade PNG assets to SVG (#7773)
- DualFilter: Upgrade PNG assets to SVG (#7774)
- Flanger: Upgrade PNG assets to SVG (#7775)
- PeakController: Upgrade PNG assets to SVG (#7776)
- ReverbSC: Upgrade PNG assets to SVG (#7777)
- Add build flags to output of
lmms --version(#7780) - CrossoverEQ: Rework GUI and use SVG assets (#7781)
- VeSTige and VST Effect assets replacement (#7791)
- Add Playhead and Timeline to Pattern Editor (#7794)
- StereoMatrix: Upgrade assets to SVG (#7803)
- Auto assign MIDI device when track is created (#7835)
- Use system cursors instead of embedded raster images where possible (#7838)
- Make playhead red when recording (#7847)
- SlicerT: Add option to clear all notes (#7850)
- Save scale/key highlighting, and many more editor options (#7854)
- Inputs and Outputs Selection for JACK backend (#7919)
- Fix sensitivity of tangent editing in Automation Editor (#7946)
- Add info
TextFloatfor Piano Roll knife tool (and make cut notes auto selected) (#7953) - Escape emails in plugin author field (#7975)
- Allow export of only the selected notes (#7991)
- Remove the Gate knob from effects (#8011)
- Glue all notes if none are selected (#8018)
- Allow Tempo Sync Knobs and Bars to be logarithmic (#8058)
- Auto-quit rework (#8070)
- TapTempo: Refactor and improve accuracy (#8098)
- Add file browser context menu option for opening samples in SlicerT (#8100)
- Add platform identifier to save files (#8116)
- Make arrow "stepper" buttons themeable and use SVG assets (#8123)
- Centralize standard LMMS plugin logo (#8124)
- Use SVG asset for knife tool icon (#8128)
- Increase clip resize grip width (#8169)
- Add help message & icon to empty automation editor (#8171)
- Add horizontal scroll bar to the File Browser (#8184)
- Improve strum tool LMB event (#8195)
- Improve performance when moving channels in the Mixer (#8235)
- Fix VST parameter automation performance (#8253)
- Remove unused default volume model in
SamplePlayHandlewhich was causing performance issues (#8349) - Add double-click actions to global volume & transposition (#8372)
- Fix slow MIDI operations by only initializing the detuning clip when needed (#8380)
- Fix clips being hard to move when zoomed out (#8385)
- Make tiny notes easier to move (#8386)
Bug fixes
- Fix build due to missing includes (80a6672)
- MidiOss: Fix a typo which breaks build (877a931)
- FreeBoy: Fix division by zero (#5734)
- Implement note types and fix issues with zero-length notes (#5902)
- Save Piano Roll's behavior at stop state (#5942)
- Compressor: Fix interaction between input gain and audition (#5999)
- WaveShaper: Fix regression (#6040)
- Fix empty automation patterns treated as disconnected (#6041)
- Fix collapsing a directory triggering preview in file browser (#6060)
- VST2: Fix wrong pitch after starting LMMS with non-default sampling rate (#6068)
- Fix cloning of pattern tracks (#6077)
- Fix occasional project save failures (#6107)
- Fix CMT Echo Delay Line malfunction (#6151)
- Fix crash when zooming out during knife mode (#6184)
- Prevent segfaults with future lmmsrc.xml version (#6208)
- Make preset saving oblivious to mute/solo/muteBeforeSolo states (#6214)
- Fix a bug where the BPM is modulo'd by 256 on MIDI export (#6215)
- Fix MIDI output note setting (#6236)
- Fix changing LcdSpinBox value changing their init value (#6241)
- Add missing disconnect statements in
PianoRoll(#6245) - Fix crash when using shortcut keys in the Pinao Roll (#6252)
- MidiOss: Use unbuffered I/O to access the device node (#6276)
- Fix broken data file upgrade (#6279)
- EQ: Fix small memory leaks in EQ dialog (#6300)
- MidiImport: Use automation track for MIDI program change events (#6308)
- LV2: Don't show ports with prop
notOnGUI(#6310) - Undoable add/remove bar (#6347)
- Kill orphaned subprocesses on crash (#6366)
- AppImage: Fix project file decompression (#6384)
- AudioFileProcessor: Include the last sample frame (#6399)
- Carla: Fix version detction in
CarlaBase(#6403) - LV2: Fix response to sample rate changes (#6419)
- Correctly upgrade projects saved by LMMS forks (#6424)
- MidiRawClient: Fix setting useless param (#6431)
- VST2: Don't send
effEditIdleon CLI rendering (#6440) - Fix a typo in 420769a which breaks the microtuner (#6458)
- LV2: Block plugins that require GUI support (#6486)
- Fix regression from #6481 (#6522)
- Fix master pitch behavior to transpose instead of detune (#6544)
- Make shifting notes by octaves respect microtuning (#6545)
- Fix AM pitch shift compatibility with 1.2 projects (#6554)
- Fix pause issues (#6590)
- Fix recording not possible with MIDI keyboard in PianoRoll (#6593)
- Fix invalid sample rate for Sample Track files (#6594)
- Refactor
SampleBufferand fix several sample-related bugs (#6610) - Fix recent files menu on old KDE in a different way (#6612)
- EQ: Fix math errors (#6655)
- Fix loading automated parameters of certain plugins and saving/loading Vibed's string data (#6670)
- FreeBoy: Fix CPU time bug (#6680)
- Add references to namespaces in
inheritsfunction call (#6687) - EQ: Set default shelf resonance to 0.707 (#6694)
- Don't auto-quantize notes when recording MIDI input (#6714)
- Fix for adding new FX channel while in solo (#6717)
- Fix automation crash (#6718)
- Fix uninitialized variable "pCurPreset" (#6723)
- Fix audio file transposed an octave down between versions (#6725)
- Look for
libcarla_native-plugin.dllon Windows (#6726) - Partially revert #6721 and improve performance of
Directory::addItems(#6738) - Fix scan for LinuxVST effects (#6751)
- Replace corrupted default samples with fixed ones (#6752)
- Fix occasional crash when clicking Key button in piano roll with no clip (#6757)
- Fix note copy/paste in the Pattern Editor (#6803)
- Fix marked notes bleeding into note velocity (#6807)
- Fix segfault when clicking "Auto Detect" in Connection Settings window (#6811)
- Fix regressions from #6477 (#6826)
- Fix the base note automation fix (#6832)
- Fix
std::vectorrefactor mistake (#6836) - Fix a few memory issues found with ASan (#6843)
- Fix sample tracks in old projects losing FX channel (#6851)
- Make off-grid automation nodes draggable (#6852)
- Compressor: Fix arithmetic exception in Debug mode (#6854)
- Fix invalid use of iterators in Piano Roll (#6869)
- Fix zero-length beat notes ending too soon (#6872)
- Add instrument play handles unconditionally (#6875)
- Fix memory leaks (#6879)
- Fix Compressor zero divisions (#6887)
- Fix instrument release fade-out (#6908)
- Fix a Jack audio segfault (#6912)
- Mallets: Some small fixes (#6913)
- Fix loading samples unsupported by
libsndfile(#6918) - Fix
LcdFloatSpinBoxmouse behavior and negative values (#6923) - SF2Player: Set voice tuning relative to initial value (#6924)
- Fix invalid iterators in Piano Roll (again) (#6943)
- LV2: Fix losing automation on export (#6944)
- Fix conditional jump on an uninitialized value (#6945)
- LV2: Delay setting worker interface to fix segfault (#6947)
- SF2Player: Fix freeze on project unloading with shared SoundFonts (#6950)
- LV2: Fix handling of instantiation failure (#6951)
- Fix CLI render crash (#6952)
- AudioFileProcessor: Fix reverse bug (#6958)
- LV2: Fix instrument instantiation crash (#6977)
- Fix regression involving missed filters in #6962 (#6978)
- Fix crash when changing track color and refactor colour interfaces and storage (#6991)
- Fix memory leaks within tests (#7001)
- Fix lost connections when restoring automation clip (#7002)
- Fix for wrong arpeggio pattern (#7007)
- Compressor: Hideable controls (#7008)
- SpectrumAnalyzer: Fix floating point exception (#7018)
- Handle divisions by 0 in Lb302 and Monstro (#7021)
- Fix arpeggiator sorted mode (#7025)
- LOMM: Fix crossovers (#7026)
- Fix Editor windows keeping focus after close (#7035)
- EQ: Fix peak updates (#7038)
- Fix regressions from #6610 (#7040)
- LOMM: Add
setSampleRatetoBasicFiltersand update allpass sample rate (#7048) - Fix crash on subsequent song loads (#7051)
- Fix sliding of waveform when drawing sample in reverse (#7063)
- Fix most of the track cloning for MIDI ports (#7066)
- Add private setters for the "from" and "to" values in
AudioFileProcessorWaveView(#7071) - Fix invalidated iterator when removing notes in Piano Roll (#7080)
- Fix deletion of mixer channels when calling
MixerView::clear(#7081) - SF2Player: Fix missing nullptr initialization (#7084)
- Fix playback within
Sample(#7100) - Prevent out of bound read in
Sample::playRaw(#7113) - Reenable song editor zooming (#7118)
- AudioFileProcessor: Fix crash after loading reversed sample (#7124)
- EQ: Fix a NaN in
EqSpectrumView(#7140) - Fix NaNs in basic filters and Equalizer (#7141)
- Fix mixer channel deletion message when loading another project (#7154)
- DynamicsProcessor: Fix various bugs (#7168)
- SlicerT: Fix filter glitch (#7174)
- Fix infinite loop in
InstrumentPlayHandle::play(#7176) - Fix loading of CMT delays with locale-dependent names (#7206)
- Move icon determination into
TrackLabelButtonagain (#7209) - SlicerT: Fix crash when loading a sample with no detected slices (#7214)
- Make instrument release time independent of the sample rate (#7217)
- Only set sample clips for valid files (#7224)
- Kicker: Fix release stage (#7226)
- Lb302: Consistent decay regardless of sample rate (#7230)
- Fix upgrade routine for BPM renamings (#7235)
- Add support for "factorysample:" prefix / Fix "bassloopes" typo (#7236)
- DualFilter: Reset filters when effect is enabled/disabled to avoid pops (#7237)
- Lb302: Replace
processingSampleRatewithoutputSampleRate(#7239) - AudioFileProcessor: Fix crash when playing with loop while no sample is loaded (#7266)
- Fix missing initialization of some variables in
TrackContentWidget(#7271) - Fix crash when automating the Delay Time parameter in SWH Reverse Delay (#7277)
- Set "child subreaper" process attribute on Linux (#7315)
- TripleOscillator: Fix white noise generator when multiple notes are played at once (#7318)
- Use
src_set_ratioto fix artifacts withinSampleplayback (#7321) - macOS: Change drag copy shortcut from Command to Option (#7325)
- Compressor: Fix uninitialized values (#7343)
- Reduce memory leaks (#7345)
- GranularPitchShifter: Fix glide 0 division (#7348)
- GranularPitchShifter: Fix bad init values (#7354)
- LOMM: Fix distortion and delay bug (#7355)
- Revert "Reduce memory leaks (#7345)" (#7360)
- Change
SampleFrame's sample index type tosize_tto avoid integer overflow (#7362) - Define
fpp_tandf_cnt_tto be of typesize_tto avoid integer overflow (#7363) - Monstro: Fix buzz in 2nd oscillator (#7368)
- ZynAddSubFx: Fix filter frequency (#7381)
- Fixed alt + left or right causing a crash in PianoRoll (#7390)
- Fix duplication of solo state when cloning tracks (#7391)
- ZynAddSubFx: Fix filter frequency (again) (#7401)
- Revert "Switch to libsamplerate's callback API in
Sample(#7361)" (#7410) - Fix memleaks in help/version (#7423)
- Do not put the main thread in realtime or high priority (#7436)
- Refactor and fix PortAudio backend (#7444)
- Do not save MIDI connections in presets (#7445)
- Fix Sample Clip Reversing Position (#7446)
- Fix export of empty projects (#7458)
- Fix metronome skips at high tempos (#7483)
- Xpressive: Fix crash when using integrate function (#7499)
- Lb302: Fix regression causing silence (#7504)
- SlicerT: Partially revert #7453 (#7519)
- AudioFileProcessor: Fix various bugs (#7533)
- PeakController: Fix attack/decay, use linear interpolation between samples (#7566)
- Remove the FIFO thread and fix deadlock during export (#7568)
- Recording logarithmic automation hotfix (#7621)
- Downgrade
RemoteVstPluginbuild back to C++17 (#7624) - SID: Fix dropout when instrument is used for the first time (#7673)
- Improve mono compatibility with LADSPA plugins (#7674)
- SharedMemory: Make key optional, default to shorter UID on macOS (#7681)
- AppImage: Fix Wine VSTs on Arch Linux (#7686)
- Fix libjack.so.0 detection for openSUSE (#7690)
- Refactor OGG export and always use VBR (#7697)
- Fix additional warnings when Carla is missing (#7722)
- Fix stk/rawwaves for MSYS2 (#7736)
- Fix crash when switching opened projects (#7797)
- Fix memory leak in
RemoteVstPlugin::loadPresetFile(#7827) - Fix audio resampling functionality (#7858)
- Fix crash when playing Pattern Editor without Pattern Track (#7862)
- Revert "PeakController: Fix attack/decay, use linear interpolation between samples (#7566)" (#7871)
- Ensure clips have auto-resizing enabled by default (#7874)
- Fix knob linking / refactor linking (#7883)
- Don't copy
DetuningHelperinNotecopy constructor (#7888) - Fix resized samples getting shifted after tempo change (#7890)
- Fix crash when reversing empty MIDI clip (#7893)
- Update sample length when loading new sample via double-click (#7898)
- Fix Piano Roll key events from leaking to other instrument windows (#7915)
- Flanger: Fix "Invert" checkbox functionality (#7929)
- Fix handling of file names with periods (#7934)
- Don't undo zoom! (#7943)
- Fix crash01, cello01, and e-organ01 sample lengths (#7948)
- Fix auto-resize when dragging sample files onto sample clips (#7952)
- Fix effect gate logic (#7971)
- VST2: Disable ASLR when building
RemoteVstPluginon Windows to fix some broken VSTs (#7976) - VST2: Disable ASLR when building
RemoteVstPluginon Linux to fix some broken Wine VSTs (#7987) - Fix import of xpt and xptz files (#7990)
- Set the sample rate for MP3 exports (#7998)
- Fix a segfault if JACK libs are missing (#8026)
- Fix several problems from #7919 (#8032)
- VST2: Fix null pointer deref when getting window size (#8051)
- PathUtil: Serialization and Formatting (#8103)
- Fix note quantization resetting clip length (#8131)
- Fix mute/solo icons not matching initial mixer channel state (#8145)
- Fix help menu crashes upon program close in Xpressive and Slew Distortion (#8150)
- Fix Shift+Space corrupting playback state when used on stopped editors (#8154)
- Fix truncated OGG exports (#8156)
- AudioFileProcessor: Fix wrong beat length depending on sample rate (#8176)
- Fix sample clips getting out of sync (#8183)
- Fix sample clip loop exporting (#8192)
- AudioFileProcessor: Update amplify model when new sample is loaded (#8198)
- Fix
AutomatableSlidercreating too many journal entries (#8223) - Vibed: Fix regression caused by
fastRandInc(#8225) - Set file format combo box unconditionally (#8237)
- Fix
PianoRolltimeline constantly emittingpositionJumpedduring Record-Play (#8252) - Emit the
playbackPositionJumpedsignal only when the active timeline jumps (#8256) - Fix empty value returned by
FileRevealer::getSelectCommand()(#8281) - Prevent key modifiers in
MainWindowfrom getting stuck (#8282) - Fix Settings bug that occurs when not using JACK (#8299)
- SlicerT: Remove localization of key name (#8305)
- OpulenZ: Fix level scaling knob (#8308)
- Sf2Player: Fix segfault when opening GUI during load (#8322)
- Prevent zero-length notes during MIDI recording (#8328)
- Fix "Send to new SlicerT instance" not sending to Pattern Editor (#8339)
- Fix beat clips being created with a length of 0 in the pattern editor (#8355)
- SlewDistortion: Fix tanh mode (#8363)
- Fix sample track playback in pattern editor (#8375)
- Fix MIDI import of multi-track files and CC automation (#8383)
- Fix
FloatModel::getDigitCount()returning wrong value (#8394) - Fix Sndio backend & cleanup compilation on OpenBSD (#8407)
- Fix
AudioBuffer::absPeakValue()not actually being absolute (#8422) - LV2: Fix crash by only accessing Lv2 Worker if instantiated (#8426)
- Remove
Modelconstraints onVolumeKnob(#8438) - Fix FPE in Automation Editor on startup (#8457)
- AudioFileProcessor: Fix crash when attempting to play sample that failed to load (#8469)
- Export symbols of LADSPA plugins (#8480)
- Fix crash when opening Automation Editor after setting ghost notes (#8488)
- Fix the default frames per audio buffer (#8523)
UI fixes
- Add "natural" scrolling support for trackpads (#5510)
- Fix wrong cursor for selected resizeable clips in Song Editor (#5996)
- Fix clip rendering inconsistency (#6182)
- Don't draw position arrow when line is out of view (#6191)
- Fix spinbox offsets in MIDI tab of instruments (#6235)
- Update PianoRoll to immediately reflect note changes in BBEditor (#6242)
- Only show Piano Roll when editable (#6295)
- Fix track handles disappearing (#6338)
- LB302: Use "TB-303" consistently (#6344)
- Fix colour of Master bus on FX Mixer when switching project (#6421)
- Limit height of position line to height of all tracks (#6509)
- Fix blank lines in language dropdown menu (#6512)
- Make notes in MIDI clips easily visible under any track color (#6539)
- Fix pattern clip colors from pre-1.3 versions (#6563)
- Fix several issues raised at Transifex (#6568)
- Fix unwanted scrolling when changing track name (#6583)
- AudioFileProcessor: Fix broken playback cursor (#6601)
- Make note octave highlight in piano roll obey microtonality (#6663)
- Fix
LcdFloatSpinBoxconstructor and label alignment (#6686) - Include
cstdint(#6697) - SID: Add filter image back (#6731)
- EQ: Fix Lowpass and Highpass display (#6748)
- Fix scale highlighting with vertical zooming (#6761)
- Convert MIDI CC indexes from 1-indexed to 0-indexed (#6774)
- Fix HiDPI issues in the setup dialog (#6779)
- Fix HiDPI issues for menus (#6787)
- Fix HiDPI issue of sample track window (#6788)
- Fix HiDPI issues for elements based on
QTreeView(#6789) - LV2: Improve control visualization (#6799)
- Fix updates to
TempoSyncKnob's context menu string for custom tempo (#6827) - Patman: Update display file name when opening GUI (#6870)
- Update
SampleBuffererror message (#6892) - SubWindow: Increase to respect child's
sizeHint(#6956) - LV2: Fix help window issues (#6957)
- Fix minimum size of LADSPA dialogs (#7019)
- Run without terminal for non-debug Windows builds (#7022)
- Fix
Faderpixmaps (#7041) - Some minor UI fixes (#7044)
- Fix scaling of PixmapButton in layouts (#7053)
- Fix mixer channel updates on solo/mute (#7055)
- AudioFileProcessor: Fix missing playback indicator when dragging and dropping samples (#7064)
- Center effects W/D knob at 0 (#7077)
- Track resizing behavior (#7114)
- Fix missing icons for some instruments (#7132)
- Apply master gain outside audio devices (#7135)
- Fix NaNs for some dbFS value displays (-∞ dbFS) (#7142)
- EQ: Fix display flickering (#7146)
- Set mixer channel LCD when its index changes (#7160)
- Fix empty pattern window regression (#7177)
- Fix Piano Roll rendering regression (#7181)
- Scalable LFO graph (#7203)
- Fix shifting of sample waveform during zoom (#7222)
- Fix UI freeze when zooming in on long samples (#7253)
- Update widths of combo boxes (#7262)
- Fix incorrect rounding of automation nodes (#7269)
- Fix incorrect rounding of automation nodes (again) (#7282)
- Fix position line disappearing when zoomed out (#7296)
- Adjust rendering of
BarModelEditor(#7299) - Change the wording of Instrument Plugin Dialogue (#7301)
- Capitalise root sidebar widget (#7350)
- AudioFileProcessor: Fix zooming and sliding of the waveform view (#7377)
- Fix visual glitch when renaming tracks (#7413)
- Implement
EffectRackView::sizeHint()to fix instrument height (#7428) - Fix bug with continuous auto-scrolling when smooth scrolling is enabled (#7433)
- Fix typo in
DataFileerror message (#7478) - EQ: Remove unnecessary space from resonance knob tooltip (#7485)
- Fix hardcoded fonts scaling issues (#7493)
- Compressor: Replace infinite ratio icons (#7501)
- Shrink mixer channel strip (#7502)
- Make the send button and receive arrow occupy the same space (#7503)
- Restore some whitespace to the mixer channel layout (#7507)
- Fix empty editor windows (#7515)
- Individual knob labels rendered using the widget's font size (#7525)
- Fix the maximization of sub windows (#7530)
- Fix unrestricted splash screen geometry (#7588)
- Disable focus for new channel button in Mixer (#7597)
- Fix styling on message boxes (#7608)
- Fix coarse gridlines being half as wide every 8 bars (#7610)
- Change tooltip window flags (#7613)
- Fix 3 minor typos (#7635)
- Do not set
Qt::WA_OpaquePaintEvent(#7643) - Fix logarithmic behavior when dragging knobs and sliders (#7647)
- Vectorscope: Fix broken UI under Wayland (#7652)
- SpectrumAnalyzer: Fix missing icons (#7667)
- Fix incorrect graph step size behavior (#7703)
- Fix envelope and LFO graph size on resizeable instruments (#7738)
- Ensure hidden full-screen windows are restored in the correct position (#7752)
- Revert "Change tooltip window flags (#7613)" (#7761)
- Fix Clip Creation Quantization in Song Editor (#7763)
- Fix track operations widget vertical alignment (#7765)
- Fix SVG Scaling; Allow SVGs to be rendered at sizes other than their natural size (#7769)
- Fix track operations button alignment, size, and style (#7779)
- Fix missing update to mixer channel name when created (#7795)
- Update Classic Theme (#7799)
- Fix microtuning warning text widening instruments (#7805)
- Make buttons automatable on macOS (#7813)
- VeSTige: Fix file browser filter (#7816)
- ZynAddSubFX: Filter FREQ brought back to 64, fix lowpass issues (#7844)
- Fix issue with Mixer key events and Track Label Button focus (#7870)
- Fix Position Line gradient appearing in all editors no matter which one is playing (#7882)
- Ignore "Keep plugin windows on top" setting when on wayland (#7901)
- Fix quick access letter conflict with Export and Export Tracks (#7927)
- LOMM: Set Init button to non-checkable (#7940)
- Fix
TextFloatflickering (#7942) - Update clip length after clearing all notes (#7960)
- Carla: Fix broken GUI on Wayland (#7966)
- Fix
PianoRoll::getKeyand remove dead code (#8008) - Fix several typos in user-facing strings (#8090)
- Fix untoggleable buttons not updating connected models (#8144)
- Allow Piano Roll to open empty again, but with a help icon (#8148)
- SlewDistortion: Fix missing icon in help window (#8151)
- Fix Clang compiler misidentification in About dialog (#8153)
- Fix track moving not updating
PatternClipView(#8155) - AudioFileProcessor: Fix reverse mode desync on new sample load (#8158)
- Fix unknown arch+os info in versioninfo (#8159)
- Fix Pattern Editor not updating (#8175)
- Fix hardcoded max dB value when double-clicking knobs (#8189)
- Fix Pattern Editor UI updates when adjusting note volume via scrolling (#8196)
- Fix velocity/panning change affecting unselected notes (#8201)
- Fix subwindow size on load (#8204)
- Avoid adding journal checkpoints when initially creating volume knobs (#8214)
- Fix clips not retaining colors or names after using "Clear notes out of bounds" (#8234)
- Fix pitch bending, strum, and knife tools affecting per-note velocity/panning (#8243)
- Fix key inputs not updating time display (#8266)
- Forbid clip pasting when clipboard empty (#8268)
- Fix volume knob and tooltip bugs (#8359)
- Don't show irrelevant context menu options when right-clicking projects on the sidebar (#8368)
- Fix attached subwindows occasionally snapping to minimum size (#8387)
- Fix pan/velocity underflow when dragging lower than window bottom (#8389)
- Fix subwindows occasionally snapping to minimum size 2: Electric Boogaloo (#8396)
- Fix automation clip view desync when editing node values via double-click (#8414)
- Sf2Player: Fix loading when no soundfont is specified (#8432)
- Don't hide BeatClip names (#8456)
- Fix default Piano Roll zoom and quantization (#8484)
- Allow Ctrl-Drag copying tracks via
TrackGrip(#8495) - Fix
CONTRIBUTORSfile generation to fix blank "Involved" tab in the About dialog (#8518)
Code maintenance
- Tests: Fix CMP0115 CMake warning (b4854f8)
- LV2: Fix all code-style issues with curly braces (fa5f2aa)
- AudioEngine: Introduce
RequestChangesGuard: an RAII verion ofrequestChangeInModel(371f7f5) - Remove song import global automation (#5229)
- Remove GUI menu items for global automation (#5230)
- Compile LMMS using C++17 (#5838)
- Use MEMBER, not WRITE for mouseHotspot Q_PROPERTYs (#5955)
- Fix Editor build warning (#6008)
- Simplify an if-else (#6046)
- Replace some identical function calls with a variable (#6050)
- Remove
using namespace std;from some headers (#6076) - Macro cleanup (#6095)
- clang-format: Prepare plugin descriptor init'ers (#6123)
- Rename
MixertoAudioEngine(#6127) - Eliminate deprecated
registerkeyword (#6133) - Namespace
lmms(#6174) - Split
InstrumentTrack(#6176) - Add missing cstddef include (#6178)
- Rename "mixer" to "audioengine" on lmmsrc.xml (#6181)
- Disable tooltips through event filter (#6192)
- Run
dos2unix(#6198) - Rename
TCOand related toClip(#6226) - Fix build issue when
-fpermissiveisn't enabled (#6231) - Rename
FxMixertoMixer(#6239) - Rename
TCOtoClipin the clipboard data (#6278) - Rename Beat/Bassline to Pattern (#6284)
- Rename TCO and BB to clip and pattern in save files (#6309)
- Improve includes (#6320)
- Split RemotePlugin.h into separate files (#6322)
- Add .clang-format and .clang-tidy (#6323)
- Rename LedCheckbox to LedCheckBox in filenames (#6345)
- Fix casing of filenames and code in
plugins/(#6350) - Rename 'dialogs' folder to 'modal', add missing modals (#6367)
- Move widget files, add folder for track and instrument (#6374)
- Fix Qt deprecations (#6386)
- Refactor shared memory (#6404)
- clang-tidy: Apply
modernize-use-overrideeverywhere (#6439) - Clean up macros a bit (#6444)
- Fix clazy warning: "Signature is not normalized." (#6445)
- clang-tidy: Apply
modernize-redundant-void-argeverywhere (#6446) - Add missing
gui::prefixes to types inAudioSoundIo(#6447) - clang-tidy: Apply
modernize-use-bool-literals(#6448) - clang-tidy: Apply
modernize-use-equals-defaulteverywhere (#6450) - clang-tidy: Run
modernize-use-emplaceeverywhere (#6451) - clang-tidy: Apply
modernize-use-usingeverywhere (#6453) - Replace
QVectorwithstd::vector(#6477) - clang-tidy: Apply
modernize-use-autoeverywhere (#6480) - clang-tidy: Apply
modernize-loop-converteverywhere (#6481) - clang-tidy: Apply
modernize-avoid-c-arrayseverywhere (#6564) - Fix whitespace (#6572)
- Use Qt layouts for mixer channels (#6591)
- Replace deprecated
QString::sprintfwithQString::arg(#6598) - Flanger: Move class declarations into namespace
lmms(#6600) - Fix include guards and copyright statements (#6603)
- MidiImport: Remove more global automation (#6605)
- Fix more Qt deprecation warnings (#6615)
- clang-tidy: Apply
readability-const-return-type(#6618) - Update .clang-format (#6619)
- Fix comparing int with bool (#6637)
- Remove redundant
nameChangedsignal fromInstrumentTrack(#6742) - Classier enums (#6760)
- MidiApple.cpp: Fix getName to allow build with GCC (#6791)
- Improve recognition of compiler and platforms (#6795)
- Carla: Update
DummyCarla.cppto useCARLA_PLUGIN_EXPORT(#6814) - Replace global Qt declarations with standard equivalents (#6821)
- (Re)move identical calls to
InstrumentTrack::processAudioBuffer(#6867) - Use UTF-8 for MSVC source and execution charset (#6876)
- Revamp synchronization with the audio engine (#6881)
- Update some old file filtering code (#6882)
- Update copyright year (#6888)
- Fix warnings in Clang build (#6893)
- Wrap resource urls in double quotes (#6898)
- Switched
LadspaEffect/CMakeLists.txtto useLMMS_HAVE_*instead ofWANT_*(#6903) - Rewrite Amplifier plugin code (#6989)
- LV2: Migrate to new LV2 header paths (#6990)
- Enforce lazy loading for
FileBrowser(#6996) - Split
TimeLineWidgetinto core and GUI parts (#7004) - Add missing copyright in
SampleDecoder.cpp(#7030) - Abstraction in
MixerChannelView(#7057) - Migrate to CTest (#7062)
- AudioFileProcessor: Disentangle and clean the classes (#7069)
- Update
src/common/to coding conventions (#7082) - Remove
MemoryManager(#7128) - Redesign file browser searching (#7130)
- Replace
QRegExpwithQRegularExpression(#7133) - Revisit the initialization for local variables (#7143)
- Simplify sample frame operations (make it a class) (#7156)
- Refactor
gui_templates.h(#7159) - Conditionally remove use of
QApplication::desktopinComboBox.cpp(#7179) - Style format
DrumSynth(#7189) - Use layouts for the instrument sound shaping tab / Extract classes for Envelope and LFO graphs (#7193)
- Scalable envelope graph (#7194)
- Add native system semaphore and Windows shared memory (#7212)
- Streamline instrument flags (#7227)
InstrumentSoundShapingrefactoring (#7229)- Revamp resource embedding (#7241)
- Fix for
-Werror=self-movein test for GCC >= 13 (#7288) - Suppress warnings in third-party code (#7319)
- Fix MSVC warnings up to level 2 (#7329)
- Remove
MemoryHelper(#7335) - GranularPitchShifter: Start running upon initialization (#7356)
- Use recursive mutex for
requestChangeInModel/doneChangeInModel(#7359) - Switch to libsamplerate's callback API in
Sample(#7361) - Remove
BufferManager::clear(#7378) - Re-enable disabled GCC warnings where possible (#7379)
- Remove
typeInfostruct fromlmms_basics.h(#7380) - Clean up
lmms_math.h(#7382) - Fix include of array in
BasicFilters.h(#7398) - Reformat
MixerChannelViewclasses (#7431) - Fix build regression from #7380 (#7437)
- Remove support for SDL1 (#7443)
- Refactor to move
positionChangedsignal toTimeline(#7454) - Flanger: Remove
Noiseclass (#7473) - Refactor Effect processing (#7484)
- Remove dead code using
#if 0(#7521) - Tidy up
MixerChannelView(#7527) - Track operations widget with layout (#7537)
- Make
PluginView::isResizablea virtual (#7541) - Upgrade to C++20 (#7554)
- Use templates for common geometric constants (#7558)
- Remove usage of
QTextCodecin Hydrogen Import plugin (#7562) - Remove obsolete workaround for Qt4 (#7590)
- Clean up some header files and move a bit of debugging logic to Cmake (#7677)
- Update math functions to C++ standard library (#7685)
- Use C++20
std::numbers,std::lerp()(#7696) - Use length-bounded string/memory functions (#7709)
- Rename
AudioPort->AudioBusHandle(#7712) - Fix Clang warning due to implicit conversion from int to float for the
RAND_MAXmacro (#7717) - Use C++20 in
RemoteVstPlugin(#7916) - Remove
m_inBuffromAudioJack(#7922) - Move
FileRevealerinto thelmms::guinamespace (#7923) - Rename some include guards (#7924)
- Refactor global spacebar play (#7926)
- Audio buffer views (#7945)
- Remove
m_resizablefrom Clips (#7954) - Remove
currentPatternChanged()that has no effect (#7989) - Remove
Knob::setHtmlLabel(#7993) - Remove lots of useless/misplaced includes (#7999)
- Audio buffer view improvements (#8016)
- OpulenZ: Fix compilation error (#8040)
- Remove
fastMemCpy()fromRemotePluginBase(#8114) - Use
std::round()instead ofnearbyintf()(#8119) - Remove
SampleLoader(#8186) - Refactor
ExportProjectDialog(#8215) - Replace
fpp_twithf_cnt_t(#8311) - Resolve remaining C++20 TODOs (#8326)
- Oscilloscope: Add missing
QApplicationandQThreadincludes (#8377) - GranularPitchShifter: Revert "Start running upon initialization (#7356)" (#8398)
- TapTempo: Fix missing include (#8421)
- Fix a few warnings (#8465)
- Move
SampleThumbnailinto thelmms::guinamespace (#8470)
Build system / CI / Dependencies
- Fix wrong variable name in CreateTempFile (46c246a)
- Pull vcpkg quietly on AppVeyor (fd18305)
- Update Docker image version for ShellCheck (9d5d86d)
- Fix "invalid macro definition" error in VSCode (#6051)
- Fix CMake check for
SFC_SET_COMPRESSION_LEVEL(#6054) - Update exprtk submodule to 93a9f44 (#6130)
- Use modern CMake targets for SDL2 (#6132)
- Fix compilation on macOS aarch64 (#6152)
- Update CPU to Pentium 4 for win32 builds (#6155)
- Let CircleCI use linux.gcc:18:04 (#6158)
- Fix MSVC architecture detection with non-VS generators (#6175)
- Fix QRC dependency issues (#6349)
- Add check-strings (#6379)
- Correctly detect architecture on powerpc* (#6415)
- Add
check-namespacescript (#6438) - Split lines in .clang-tidy (#6449)
- Migrate CI to GitHub Actions (#6476)
- Remove a workaround for broken
install-qt-action(#6482) - Fix
check-stringsverification (#6485) - Improve use of strip command (#6505)
- Support Sf2 Player, Mallets, PortAudio, and Lame compilation with MSVC (#6507)
- Support building AppImage on non-Ubuntu systems (#6510)
- Don't require comment after
#elseincheck-namespace(#6513) - Fix Visual Studio 2022 detection (#6520)
- Add HIIR library to LMMS (#6553)
- Fix transport 'file' not allowed error (#6557)
- Support ZynAddSubFx compilation with MSVC (#6561)
- Show pull request number in version string (#6565)
- Only rebuild translations when ts files change (#6566)
- Update HIIR submodule to latest (#6622)
- Update
BashCompletion.cmake(#6634) - Update ExprTk package (#6646)
- Fix typo (#6652)
- Fix STK rawwave installation in Windows builds (#6705)
- Fix hiir submodule detection (#6755)
- Fix generator expression in strip command (#6762)
- Bump veal submodule (#6771)
- Consolidate and simplify
CMAKE_POLICYentries (#6780) - ZynAddSubFX: Fix Apple install script (#6782)
- Fix GCC builds on macOS (#6784)
- Allow Apple install step to fail CI (#6796)
- Bump
mingw-std-threadssubmodule (#6817) - Add options to enable sanitizers (#6840)
- Expose targets and versions for more dependencies (#6842)
- Enable build under NixOS (#6855)
- Improve CI cache usage (#6868)
- Push policy stack in
InstallDependenciesmodule (#6878) - Use
residsubmodule fromlibsidplayfp(#6883) - Bump SWH and TAP LADSPA plugin submodules (#6937)
- Update remote of ZynAddSubFX's
instrumentssubmodule (#6939) - Run CI build on macOS 12 (#6960)
- Enable LADSPA plugins on MSVC (#6973)
- Update Linux CI to Ubuntu 20.04 (#7015)
- Update URL of tap-plugins submodule (#7087)
- Fix vcpkg dependencies (#7088)
- Add
WANT_OSSas a configuration option (#7099) - Use GitHub mirror of tap-plugins (#7110)
- Remove message location check from
check-stringstest (#7112) - Update
game-music-emusubmodule (#7144) - Update
jack2submodule to latest (#7147) - Update
carlasubmodule (#7149) - CMake: Replace
EXEC_PROGRAMwithexecute_process(#7166) - Bump project year (#7167)
- Replace call
QT5_WRAP_UIwithCMAKE_AUTOUIC(#7200) - Bump Qt minimum version to 5.9 (#7204)
- Support VSTs on Linux even if Wine is unavailable (#7205)
- Update ZynAddSubFX (#7250)
- Remove support for MSYS2 (#7251)
- CPack: Refactor AppImage and Apple DMG Generation (#7252)
- Modernize compiler and linker flags (#7255)
- Fix native Linux VST on ARM64 (#7257)
- Update MinGW CI to Ubuntu 20.04 (#7259)
- Fix macOS CI builds (#7261)
- Update
upload-artifactsactions (#7263) FindWineimprovements (#7268)- Fix fftw linking when cross-compiling (#7276)
- Remove
mingw-std-threadsfrom 3rd party deps and use native libs/headers instead (#7283) - Add support for Apple Silicon (#7285)
- Fix to allow NSIS packaging to work for non-MSVC Windows builds (#7287)
- Update
vealsubmodule (#7290) - Remove
debianfolder (#7311) - Run CMake with
-Werror=devin CI (#7322) - Fix caching for macOS CI jobs (#7326)
- Cleanup of MinGW-related scripts (#7327)
- Add Qt6 support (#7339)
- Apply warning flags to
RemoteVstPlugintoo (#7389) - Add yamllint checks (#7424)
- Add gprof profiling support (#7547)
- Xpressive: Update
ExprTksubmodule (#7571) - Update macOS CI (#7572)
- Fix the MSVC CI fail happening due to outdated vcpkg (#7589)
- Remove
pkg-configfrom Brewfile (#7593) - Revert
pkgconfremoval (#7605) - Remove 32-bit CI support for Windows builds (#7619)
- ZynAddSubFX: Update
zynaddsubfxsubmodule (#7625) - Add support for Windows on ARM64 (#7644)
- Bump project year (#7645)
- Add VST support for Gentoo Linux (#7665)
- CI: Switch linux-x86_64 to Ubuntu 22.04 (#7678)
- CI: Switch mingw64 to Ubuntu 24.04 (#7682)
- Add VST64 targets for Linux ARM64 (#7687)
- Remove
libgalliumfrom the AppImage (#7693) - VersionInfo: Mimic github's hash styling (#7694)
- Improve Qt5 detection on macOS (#7699)
- Fix vcpkg builds (#7702)
- AppImage: Use fully qualified path when calling appimagetool (#7707)
- Make
portsmfa git submodule (#7755) - Enable
CMAKE_EXPORT_COMPILE_COMMANDS(#7804) - Update
qt5-x11embedsubmodule to latest version (#7825) - Add Windows arm64 CI builds (#7848)
- Upgrade to Windows 2022 / Visual Studio 2022 (#7897)
- Set minimum deployment target for macOS builds (#8004)
- AppImage: Un-pollute
/usr/lib(#8053) - Remove custom winebuild task (#8077)
- Update macOS runner image and XCode version (#8092)
- Make apprun-hooks POSIX compliant (#8121)
- Bump minimum Qt version to 5.15 (#8129)
- CMake: Check for PERL's
List::MoreUtils(#8180) - Bump project year (#8207)
- Use vcpkg for MinGW dependencies (#8218)
- CMake: Fix build for CYGWIN (#8247)
- Docs: Fix update
libstk0-devtolibstk-devfor Debian/Ubuntu (#8409) - Remove
suilfrom MSYS2 dependencies (#8420) - Bump
upload-artifactto v7, don't zip (#8423) - Remove unnecessary
CHECK_INCLUDE_FILES()calls (#8451) - Add CMake options for targeting specific microarchitectures (#8464)
- macOS: Switch from appdmg to dmgbuild (#8471)
- Don't compress man page in during build (#8494)
- Change
TARGET_UARCHdefault from 'native' to 'none' (#8507) - Add
ENV{MSYSTEM}to installers created by MSYS2 (#8521)
Meta / Other
- Update translations (726fae2)
- Update freeze/reorg disclaimer (5f32df5)
- README: Use CircleCI build passed badge (fa407d2)
- Remove the reorganization disclaimer (c8a9d45)
- Replace the CI status badge with GitHub Actions (fc2f6a0)
- Update README.md with the new logo (#6009)
- Fix CONTRIBUTORS and .mailmap (#6033)
- Fix typo in doc/lmms.1 (#6429)
- Ensure that build and target are directories in .gitignore (#6884)
- Add GitHub issue forms for bug reports and feature requests (#7102)
- Remove the missing spoken.flac file from "unfa - Spoken" (#7208)
- Remove demo project Greshz-CoolSnip.mmpz (#7248)
- Update translations (#7529)
- Revise README (#7545)
- Major German translation rework (#7612)
- Revert "Major German translation rework (#7612)" (#7628)
- Add clangd cache to .gitignore (#7846)
- Update translations (#8149)
- Clarify VST support to VST2 and mention LV2 support in README (#8233)
- Update .mailmap, AUTHORS, and CONTRIBUTORS (#8283)
- Add Doxygen docs to Github Pages (#8329)