Michael Gregorius 4a720cb3e5 Move the fader of the selected channel
Move the fader of the selected channel instead of the fader that has
focus when the up/plus or down/minus keys are pressed. Doing so also
feels more natural because users can already change the selected
channel via the left and right keys and now they can immediately adjust
the volume of the currently selected channel while doing so.

Key events are now handled in `MixerView::keyPressEvent` instead of
`Fader::keyPressEvent` and the latter is removed. `MixerChannelView`
now has a method called `fader` which provides the associated fader.
This is needed so that the event handler of `MixerView` can act upon
the currently selected fader.

## Changes in Fader
The `Fader` class provides two new public methods.

The `adjust` method takes the modifier key(s) and the adjustment
direction and then decides internally how the modifier keys are mapped
to increment values. This is done to keep the mapping between modifier
keys and increment values consistent across different clients, e.g. the
key event of the `MixerView` and the wheel event of the `Fader` itself.
The direction is provided by the client because the means to determine
the direction can differ between clients and cases, e.g. a wheel event
determines the direction differently than a key event does.

The method `adjustByDecibelDelta` simply adjusts the fader by the given
delta amount. It currently is not really used in a public way but it
still makes sense to provide this functionality in case a parent class
or client wants to manipulate the faders by its very own logic.

Because the `Fader` class does not react itself to key press events
anymore the call to `setFocusPolicy` is removed again.
2025-01-12 14:03:56 +01:00
2018-03-07 23:54:28 +09:00
2024-11-22 23:11:39 -05:00
2022-08-03 17:29:11 +01:00
2024-12-24 13:46:02 +01:00
2024-11-22 23:11:39 -05:00
2024-11-22 23:11:39 -05:00
2024-11-22 23:11:39 -05:00
2019-06-25 03:37:14 +02:00
2021-12-14 23:13:13 +01:00
2024-11-22 10:15:46 -05:00
2021-05-28 14:02:57 +02:00
2024-08-04 15:47:43 +02:00
2024-12-01 13:33:17 -05:00
2024-08-11 12:20:02 +02:00
2024-12-08 08:37:28 +05:30
2024-02-02 08:56:21 +00:00

LMMS Logo
LMMS

Cross-platform music production software

Website ⦁︎ Releases ⦁︎ Developer wiki ⦁︎ User manual ⦁︎ Showcase ⦁︎ Sharing platform

Build status Latest stable release Overall downloads on Github Join the chat at Discord

What is LMMS?

LMMS is an open-source cross-platform digital audio workstation designed for music production. It includes an advanced Piano Roll, Beat Sequencer, Song Editor, and Mixer for composing, arranging, and mixing music. It comes with 15+ synthesizer plugins by default, along with VST(i) and SoundFont2 support.

Features

  • Song-Editor for arranging melodies, samples, patterns, and automation
  • Pattern-Editor for creating beats and patterns
  • An easy-to-use Piano-Roll for editing patterns and melodies
  • A Mixer with unlimited mixer channels and arbitrary number of effects
  • Many powerful instrument and effect-plugins out of the box
  • Full user-defined track-based automation and computer-controlled automation sources
  • Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and full MIDI support
  • MIDI file importing and exporting

Building

See Compiling LMMS

Join LMMS-development

If you are interested in LMMS, its programming, artwork, testing, writing demo songs, (and improving this README...) or something like that, you're welcome to participate in the development of LMMS!

Information about what you can do and how can be found in the wiki.

Before coding a new big feature, please always file an issue for your idea and suggestions about your feature and about the intended implementation on GitHub, or ask in one of the tech channels on Discord and wait for replies! Maybe there are different ideas, improvements, or hints, or maybe your feature is not welcome/needed at the moment.

Description
Custom LMMS fork because upstream hasn't merged the cool stuff yet. Contains Disintegrator violently vibefixed from a 7-year-old PR.
Readme 155 MiB
Build Latest
2026-03-15 04:54:16 +01:00
Languages
C++ 87.7%
C 6.4%
CMake 3.5%
CSS 1%
HTML 0.9%
Other 0.4%