From bda1a9c37ed29cd7c80f08d7405dd4dbfad8947d Mon Sep 17 00:00:00 2001 From: szeli1 <143485814+szeli1@users.noreply.github.com> Date: Sun, 11 Aug 2024 17:14:43 +0200 Subject: [PATCH 001/112] Add input dialog to the mixer channel LCD spin box (#7399) Co-authored-by: saker --- include/MixerChannelLcdSpinBox.h | 2 ++ src/gui/widgets/MixerChannelLcdSpinBox.cpp | 23 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/include/MixerChannelLcdSpinBox.h b/include/MixerChannelLcdSpinBox.h index 0abd9f100..251cf7da2 100644 --- a/include/MixerChannelLcdSpinBox.h +++ b/include/MixerChannelLcdSpinBox.h @@ -50,6 +50,8 @@ protected: void contextMenuEvent(QContextMenuEvent* event) override; private: + void enterValue(); + TrackView * m_tv; }; diff --git a/src/gui/widgets/MixerChannelLcdSpinBox.cpp b/src/gui/widgets/MixerChannelLcdSpinBox.cpp index 8a67394de..73e21b479 100644 --- a/src/gui/widgets/MixerChannelLcdSpinBox.cpp +++ b/src/gui/widgets/MixerChannelLcdSpinBox.cpp @@ -24,6 +24,9 @@ #include "MixerChannelLcdSpinBox.h" +#include +#include + #include "CaptionMenu.h" #include "MixerView.h" #include "GuiApplication.h" @@ -40,6 +43,13 @@ void MixerChannelLcdSpinBox::setTrackView(TrackView * tv) void MixerChannelLcdSpinBox::mouseDoubleClickEvent(QMouseEvent* event) { + if (!(event->modifiers() & Qt::ShiftModifier) && + !(event->modifiers() & Qt::ControlModifier)) + { + enterValue(); + return; + } + getGUI()->mixerView()->setCurrentMixerChannel(model()->value()); getGUI()->mixerView()->parentWidget()->show(); @@ -69,5 +79,18 @@ void MixerChannelLcdSpinBox::contextMenuEvent(QContextMenuEvent* event) contextMenu->exec(QCursor::pos()); } +void MixerChannelLcdSpinBox::enterValue() +{ + const auto val = model()->value(); + const auto min = model()->minValue(); + const auto max = model()->maxValue(); + const auto step = model()->step(); + const auto label = tr("Please enter a new value between %1 and %2:").arg(min).arg(max); + + auto ok = false; + const auto newVal = QInputDialog::getInt(this, tr("Set value"), label, val, min, max, step, &ok); + + if (ok) { model()->setValue(newVal); } +} } // namespace lmms::gui From 58ce9b476af8ddbef004b1665eadf1ecdcfba00b Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 16 Aug 2024 18:50:39 +0200 Subject: [PATCH 002/112] Fix track handles dissapearing (#6338) --- include/TrackContainerView.h | 2 -- src/gui/editors/TrackContainerView.cpp | 18 +++++------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/include/TrackContainerView.h b/include/TrackContainerView.h index 9bdcdcab6..010cda602 100644 --- a/include/TrackContainerView.h +++ b/include/TrackContainerView.h @@ -168,8 +168,6 @@ public slots: protected: static const int DEFAULT_PIXELS_PER_BAR = 128; - void resizeEvent( QResizeEvent * ) override; - TimePos m_currentPosition; diff --git a/src/gui/editors/TrackContainerView.cpp b/src/gui/editors/TrackContainerView.cpp index 60a468380..39eb41f34 100644 --- a/src/gui/editors/TrackContainerView.cpp +++ b/src/gui/editors/TrackContainerView.cpp @@ -89,11 +89,15 @@ TrackContainerView::TrackContainerView( TrackContainer * _tc ) : m_tc->setHook( this ); //keeps the direction of the widget, undepended on the locale setLayoutDirection( Qt::LeftToRight ); + + // The main layout - by default it only contains the scroll area, + // but SongEditor uses the layout to add a TimeLineWidget on top auto layout = new QVBoxLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing( 0 ); layout->addWidget( m_scrollArea ); + // The widget that will contain all TrackViews auto scrollContent = new QWidget; m_scrollLayout = new QVBoxLayout( scrollContent ); m_scrollLayout->setContentsMargins(0, 0, 0, 0); @@ -101,6 +105,7 @@ TrackContainerView::TrackContainerView( TrackContainer * _tc ) : m_scrollLayout->setSizeConstraint( QLayout::SetMinAndMaxSize ); m_scrollArea->setWidget( scrollContent ); + m_scrollArea->setWidgetResizable(true); m_scrollArea->show(); m_rubberBand->hide(); @@ -254,10 +259,6 @@ void TrackContainerView::scrollToTrackView( TrackView * _tv ) void TrackContainerView::realignTracks() { - m_scrollArea->widget()->setFixedWidth(width()); - m_scrollArea->widget()->setFixedHeight( - m_scrollArea->widget()->minimumSizeHint().height()); - for (const auto& trackView : m_trackViews) { trackView->show(); @@ -447,15 +448,6 @@ void TrackContainerView::dropEvent( QDropEvent * _de ) -void TrackContainerView::resizeEvent( QResizeEvent * _re ) -{ - realignTracks(); - QWidget::resizeEvent( _re ); -} - - - - RubberBand *TrackContainerView::rubberBand() const { return m_rubberBand; From 5e697f01c8570dbaf649d15971be606b16de1f58 Mon Sep 17 00:00:00 2001 From: szeli1 <143485814+szeli1@users.noreply.github.com> Date: Mon, 19 Aug 2024 19:20:19 +0200 Subject: [PATCH 003/112] Fix zooming and sliding of the waveform view in AudioFileProcessor (#7377) --- .../AudioFileProcessorWaveView.cpp | 31 ++++++++++++------- .../AudioFileProcessorWaveView.h | 6 ++-- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp index 2a07e5f77..ee5225c20 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp +++ b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp @@ -166,16 +166,22 @@ void AudioFileProcessorWaveView::mouseMoveEvent(QMouseEvent * me) case DraggingType::SampleLoop: slideSamplePointByPx(Point::Loop, step); break; + case DraggingType::SlideWave: + slide(step); + break; + case DraggingType::ZoomWave: + zoom(me->y() < m_draggingLastPoint.y()); + break; case DraggingType::Wave: default: if (qAbs(me->y() - m_draggingLastPoint.y()) < 2 * qAbs(me->x() - m_draggingLastPoint.x())) { - slide(step); + m_draggingType = DraggingType::SlideWave; } else { - zoom(me->y() < m_draggingLastPoint.y()); + m_draggingType = DraggingType::ZoomWave; } } @@ -376,14 +382,15 @@ void AudioFileProcessorWaveView::zoom(const bool out) void AudioFileProcessorWaveView::slide(int px) { const double fact = qAbs(double(px) / width()); - auto step = range() * fact * (px > 0 ? -1 : 1); + auto step = range() * fact * (px > 0 ? 1 : -1); - const auto stepFrom = std::clamp(m_from + step, 0.0, static_cast(m_sample->sampleSize())) - m_from; - const auto stepTo = std::clamp(m_to + step, m_from + 1.0, static_cast(m_sample->sampleSize())) - m_to; + const auto sampleStart = static_cast(m_sample->startFrame()); + const auto sampleEnd = static_cast(m_sample->endFrame()); + + const auto stepFrom = std::clamp(sampleStart + step, 0.0, static_cast(m_sample->sampleSize())) - sampleStart; + const auto stepTo = std::clamp(sampleEnd + step, sampleStart + 1.0, static_cast(m_sample->sampleSize())) - sampleEnd; step = std::abs(stepFrom) < std::abs(stepTo) ? stepFrom : stepTo; - setFrom(m_from + step); - setTo(m_to + step); slideSampleByFrames(step); } @@ -395,7 +402,7 @@ void AudioFileProcessorWaveView::slideSamplePointByPx(Point point, int px) ); } -void AudioFileProcessorWaveView::slideSamplePointByFrames(Point point, f_cnt_t frames, bool slide_to) +void AudioFileProcessorWaveView::slideSamplePointByFrames(Point point, long frameOffset, bool slideTo) { knob * a_knob = m_startKnob; switch(point) @@ -415,8 +422,8 @@ void AudioFileProcessorWaveView::slideSamplePointByFrames(Point point, f_cnt_t f } else { - const double v = static_cast(frames) / m_sample->sampleSize(); - if (slide_to) + const double v = static_cast(frameOffset) / m_sample->sampleSize(); + if (slideTo) { a_knob->slideTo(v); } @@ -430,13 +437,13 @@ void AudioFileProcessorWaveView::slideSamplePointByFrames(Point point, f_cnt_t f -void AudioFileProcessorWaveView::slideSampleByFrames(f_cnt_t frames) +void AudioFileProcessorWaveView::slideSampleByFrames(long frameOffset) { if (m_sample->sampleSize() <= 1) { return; } - const double v = static_cast(frames) / m_sample->sampleSize(); + const double v = static_cast(frameOffset) / m_sample->sampleSize(); // update knobs in the right order // to avoid them clamping each other if (v < 0) diff --git a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h index 8081d20ca..1251501b0 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h +++ b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h @@ -118,6 +118,8 @@ private: enum class DraggingType { Wave, + SlideWave, + ZoomWave, SampleStart, SampleEnd, SampleLoop @@ -158,8 +160,8 @@ private: void zoom(const bool out = false); void slide(int px); void slideSamplePointByPx(Point point, int px); - void slideSamplePointByFrames(Point point, f_cnt_t frames, bool slide_to = false); - void slideSampleByFrames(f_cnt_t frames); + void slideSamplePointByFrames(Point point, long frameOffset, bool slideTo = false); + void slideSampleByFrames(long frameOffset); void slideSamplePointToFrames(Point point, f_cnt_t frames) { From 88ee83bb4aebdb4ce3ed27195288453e22dc715a Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Tue, 20 Aug 2024 19:50:39 +0200 Subject: [PATCH 004/112] Do not save MIDI connections in presets (#7445) Ensure that no MIDI information (connected inputs, outputs, etc.) is stored in presets. This main fix can be found in `InstrumentTrack::saveTrackSpecificSettings` where the state of the MIDI ports are now only saved if we are not in preset mode. The remaining changes are concered with a refactoring of the code that's related to saving and loading presets. The refactoring mainly revolves around the removal of the member `m_simpleSerializingMode` and the method `setSimpleSerializing` in `Track`. This is accomplished by introducing two new methods `saveTrack` and `loadTrack`. These methods have a similar interface to `saveSettings` and `loadSettings` but they additionally contain a boolean which indicates if a preset is saved/loaded or a whole track. Both new methods contain the previous code of `saveSettings` and `loadSettings`. The latter two now only delegate to the new methods assuming that the full track is to be stored/loaded if called via the overridden methods `saveSettings` and `loadSettings`. The methods `savePreset` and `loadPreset` are added as well. They call `saveTrack` and `loadTrack` with the preset boolean set to `true`. These methods are now used by all places in the code where presets are saved or loaded which makes the code more readable. Clients also do not need to know any implementation details of `Track`, e.g. like having to call `setSimpleSerializing`. Adjust `saveTrackSpecificSettings` so that it also passes information of whether a preset or a whole track is stored. This leads to changes in the interfaces of `AutomationTrack`, `InstrumentTrack`, `PatternTrack` and `SampleTrack`. Only the implementation of `InstrumentTrack` uses the new information though. --- include/AutomationTrack.h | 3 +- include/InstrumentTrack.h | 3 +- include/PatternTrack.h | 3 +- include/SampleTrack.h | 3 +- include/Track.h | 18 ++++---- src/core/Track.cpp | 47 +++++++++++++------- src/gui/editors/TrackContainerView.cpp | 4 +- src/gui/instrument/InstrumentTrackWindow.cpp | 3 +- src/tracks/AutomationTrack.cpp | 3 +- src/tracks/InstrumentTrack.cpp | 13 +++--- src/tracks/PatternTrack.cpp | 2 +- src/tracks/SampleTrack.cpp | 3 +- 12 files changed, 58 insertions(+), 47 deletions(-) diff --git a/include/AutomationTrack.h b/include/AutomationTrack.h index 64c2cc43a..9bcb537f4 100644 --- a/include/AutomationTrack.h +++ b/include/AutomationTrack.h @@ -50,8 +50,7 @@ public: gui::TrackView * createView( gui::TrackContainerView* ) override; Clip* createClip(const TimePos & pos) override; - void saveTrackSpecificSettings( QDomDocument & _doc, - QDomElement & _parent ) override; + void saveTrackSpecificSettings(QDomDocument& doc, QDomElement& parent, bool presetMode) override; void loadTrackSpecificSettings( const QDomElement & _this ) override; private: diff --git a/include/InstrumentTrack.h b/include/InstrumentTrack.h index 1e46fb0cb..689c962cd 100644 --- a/include/InstrumentTrack.h +++ b/include/InstrumentTrack.h @@ -133,8 +133,7 @@ public: // called by track - void saveTrackSpecificSettings( QDomDocument & _doc, - QDomElement & _parent ) override; + void saveTrackSpecificSettings(QDomDocument& doc, QDomElement& parent, bool presetMode) override; void loadTrackSpecificSettings( const QDomElement & _this ) override; using Track::setJournalling; diff --git a/include/PatternTrack.h b/include/PatternTrack.h index 1c0c610d2..2568fc91e 100644 --- a/include/PatternTrack.h +++ b/include/PatternTrack.h @@ -57,8 +57,7 @@ public: gui::TrackView * createView( gui::TrackContainerView* tcv ) override; Clip* createClip(const TimePos & pos) override; - void saveTrackSpecificSettings( QDomDocument & _doc, - QDomElement & _parent ) override; + void saveTrackSpecificSettings(QDomDocument& doc, QDomElement& parent, bool presetMode) override; void loadTrackSpecificSettings( const QDomElement & _this ) override; static PatternTrack* findPatternTrack(int pattern_num); diff --git a/include/SampleTrack.h b/include/SampleTrack.h index f71f01cd1..e79df0c2c 100644 --- a/include/SampleTrack.h +++ b/include/SampleTrack.h @@ -54,8 +54,7 @@ public: Clip* createClip(const TimePos & pos) override; - void saveTrackSpecificSettings( QDomDocument & _doc, - QDomElement & _parent ) override; + void saveTrackSpecificSettings(QDomDocument& doc, QDomElement& parent, bool presetMode) override; void loadTrackSpecificSettings( const QDomElement & _this ) override; inline IntModel * mixerChannelModel() diff --git a/include/Track.h b/include/Track.h index db33900f5..52d43f6e1 100644 --- a/include/Track.h +++ b/include/Track.h @@ -107,19 +107,17 @@ public: virtual gui::TrackView * createView( gui::TrackContainerView * view ) = 0; virtual Clip * createClip( const TimePos & pos ) = 0; - virtual void saveTrackSpecificSettings( QDomDocument & doc, - QDomElement & parent ) = 0; + virtual void saveTrackSpecificSettings(QDomDocument& doc, QDomElement& parent, bool presetMode) = 0; virtual void loadTrackSpecificSettings( const QDomElement & element ) = 0; + // Saving and loading of presets which do not necessarily contain all the track information + void savePreset(QDomDocument & doc, QDomElement & element); + void loadPreset(const QDomElement & element); + // Saving and loading of full tracks void saveSettings( QDomDocument & doc, QDomElement & element ) override; void loadSettings( const QDomElement & element ) override; - void setSimpleSerializing() - { - m_simpleSerializingMode = true; - } - // -- for usage by Clip only --------------- Clip * addClip( Clip * clip ); void removeClip( Clip * clip ); @@ -209,6 +207,10 @@ public slots: void toggleSolo(); +private: + void saveTrack(QDomDocument& doc, QDomElement& element, bool presetMode); + void loadTrack(const QDomElement& element, bool presetMode); + private: TrackContainer* m_trackContainer; Type m_type; @@ -222,8 +224,6 @@ private: BoolModel m_soloModel; bool m_mutedBeforeSolo; - bool m_simpleSerializingMode; - clipVector m_clips; QMutex m_processingLock; diff --git a/src/core/Track.cpp b/src/core/Track.cpp index 7ff73e718..e44475d93 100644 --- a/src/core/Track.cpp +++ b/src/core/Track.cpp @@ -63,7 +63,6 @@ Track::Track( Type type, TrackContainer * tc ) : m_name(), /*!< The track's name */ m_mutedModel( false, this, tr( "Mute" ) ), /*!< For controlling track muting */ m_soloModel( false, this, tr( "Solo" ) ), /*!< For controlling track soloing */ - m_simpleSerializingMode( false ), m_clips() /*!< The clips (segments) */ { m_trackContainer->addTrack( this ); @@ -174,10 +173,6 @@ Track* Track::clone() } - - - - /*! \brief Save this track's settings to file * * We save the track type and its muted state and solo state, then append the track- @@ -186,12 +181,13 @@ Track* Track::clone() * * \param doc The QDomDocument to use to save * \param element The The QDomElement to save into + * \param presetMode Describes whether to save the track as a preset or not. * \todo Does this accurately describe the parameters? I think not!? * \todo Save the track height */ -void Track::saveSettings( QDomDocument & doc, QDomElement & element ) +void Track::saveTrack(QDomDocument& doc, QDomElement& element, bool presetMode) { - if( !m_simpleSerializingMode ) + if (!presetMode) { element.setTagName( "track" ); } @@ -215,11 +211,10 @@ void Track::saveSettings( QDomDocument & doc, QDomElement & element ) QDomElement tsDe = doc.createElement( nodeName() ); // let actual track (InstrumentTrack, PatternTrack, SampleTrack etc.) save its settings element.appendChild( tsDe ); - saveTrackSpecificSettings( doc, tsDe ); + saveTrackSpecificSettings(doc, tsDe, presetMode); - if( m_simpleSerializingMode ) + if (presetMode) { - m_simpleSerializingMode = false; return; } @@ -230,9 +225,6 @@ void Track::saveSettings( QDomDocument & doc, QDomElement & element ) } } - - - /*! \brief Load the settings from a file * * We load the track's type and muted state and solo state, then clear out our @@ -243,9 +235,10 @@ void Track::saveSettings( QDomDocument & doc, QDomElement & element ) * one at a time. * * \param element the QDomElement to load track settings from + * \param presetMode Indicates if a preset or a full track is loaded * \todo Load the track height. */ -void Track::loadSettings( const QDomElement & element ) +void Track::loadTrack(const QDomElement& element, bool presetMode) { if( static_cast(element.attribute( "type" ).toInt()) != type() ) { @@ -267,7 +260,7 @@ void Track::loadSettings( const QDomElement & element ) setColor(QColor{element.attribute("color")}); } - if( m_simpleSerializingMode ) + if (presetMode) { QDomNode node = element.firstChild(); while( !node.isNull() ) @@ -279,7 +272,7 @@ void Track::loadSettings( const QDomElement & element ) } node = node.nextSibling(); } - m_simpleSerializingMode = false; + return; } @@ -316,6 +309,28 @@ void Track::loadSettings( const QDomElement & element ) } } +void Track::savePreset(QDomDocument & doc, QDomElement & element) +{ + saveTrack(doc, element, true); +} + +void Track::loadPreset(const QDomElement & element) +{ + loadTrack(element, true); +} + +void Track::saveSettings(QDomDocument& doc, QDomElement& element) +{ + // Assume that everything should be saved if we are called through SerializingObject::saveSettings + saveTrack(doc, element, false); +} + +void Track::loadSettings(const QDomElement& element) +{ + // Assume that everything should be loaded if we are called through SerializingObject::loadSettings + loadTrack(element, false); +} + diff --git a/src/gui/editors/TrackContainerView.cpp b/src/gui/editors/TrackContainerView.cpp index 39eb41f34..e85f4e866 100644 --- a/src/gui/editors/TrackContainerView.cpp +++ b/src/gui/editors/TrackContainerView.cpp @@ -417,8 +417,8 @@ void TrackContainerView::dropEvent( QDropEvent * _de ) { DataFile dataFile( value ); auto it = dynamic_cast(Track::create(Track::Type::Instrument, m_tc)); - it->setSimpleSerializing(); - it->loadSettings( dataFile.content().toElement() ); + it->loadPreset(dataFile.content().toElement()); + //it->toggledInstrumentTrackButton( true ); _de->accept(); } diff --git a/src/gui/instrument/InstrumentTrackWindow.cpp b/src/gui/instrument/InstrumentTrackWindow.cpp index 1c9c93a09..1d1d2d73c 100644 --- a/src/gui/instrument/InstrumentTrackWindow.cpp +++ b/src/gui/instrument/InstrumentTrackWindow.cpp @@ -424,8 +424,7 @@ void InstrumentTrackWindow::saveSettingsBtnClicked() DataFile dataFile(DataFile::Type::InstrumentTrackSettings); QDomElement& content(dataFile.content()); - m_track->setSimpleSerializing(); - m_track->saveSettings(dataFile, content); + m_track->savePreset(dataFile, content); //We don't want to save muted & solo settings when we're saving a preset content.setAttribute("muted", 0); content.setAttribute("solo", 0); diff --git a/src/tracks/AutomationTrack.cpp b/src/tracks/AutomationTrack.cpp index e353197f8..1ff30ac76 100644 --- a/src/tracks/AutomationTrack.cpp +++ b/src/tracks/AutomationTrack.cpp @@ -66,8 +66,7 @@ Clip* AutomationTrack::createClip(const TimePos & pos) -void AutomationTrack::saveTrackSpecificSettings( QDomDocument & _doc, - QDomElement & _this ) +void AutomationTrack::saveTrackSpecificSettings(QDomDocument& doc, QDomElement& _this, bool presetMode) { } diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index be18fc9e4..66992bc4f 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -821,7 +821,7 @@ gui::TrackView* InstrumentTrack::createView( gui::TrackContainerView* tcv ) -void InstrumentTrack::saveTrackSpecificSettings( QDomDocument& doc, QDomElement & thisElement ) +void InstrumentTrack::saveTrackSpecificSettings(QDomDocument& doc, QDomElement& thisElement, bool presetMode) { m_volumeModel.saveSettings( doc, thisElement, "vol" ); m_panningModel.saveSettings( doc, thisElement, "pan" ); @@ -860,7 +860,7 @@ void InstrumentTrack::saveTrackSpecificSettings( QDomDocument& doc, QDomElement // Save the midi port info if we are not in song saving mode, e.g. in // track cloning mode or if we are in song saving mode and the user - // has chosen to discard the MIDI connections. + // has chosen not to discard the MIDI connections. if (!Engine::getSong()->isSavingProject() || !Engine::getSong()->getSaveOptions().discardMIDIConnections.value()) { @@ -868,7 +868,11 @@ void InstrumentTrack::saveTrackSpecificSettings( QDomDocument& doc, QDomElement bool hasAuto = m_hasAutoMidiDev; autoAssignMidiDevice(false); - m_midiPort.saveState( doc, thisElement ); + // Only save the MIDI port information if we are not saving a preset. + if (!presetMode) + { + m_midiPort.saveState(doc, thisElement); + } autoAssignMidiDevice(hasAuto); } @@ -1007,14 +1011,13 @@ void InstrumentTrack::replaceInstrument(DataFile dataFile) int mixerChannel = mixerChannelModel()->value(); InstrumentTrack::removeMidiPortNode(dataFile); - setSimpleSerializing(); //Replacing an instrument shouldn't change the solo/mute state. bool oldMute = isMuted(); bool oldSolo = isSolo(); bool oldMutedBeforeSolo = isMutedBeforeSolo(); - loadSettings(dataFile.content().toElement()); + loadPreset(dataFile.content().toElement()); setMuted(oldMute); setSolo(oldSolo); diff --git a/src/tracks/PatternTrack.cpp b/src/tracks/PatternTrack.cpp index bdde4780c..697a7c2a8 100644 --- a/src/tracks/PatternTrack.cpp +++ b/src/tracks/PatternTrack.cpp @@ -154,7 +154,7 @@ Clip* PatternTrack::createClip(const TimePos & pos) -void PatternTrack::saveTrackSpecificSettings(QDomDocument& doc, QDomElement& _this) +void PatternTrack::saveTrackSpecificSettings(QDomDocument& doc, QDomElement& _this, bool presetMode) { // _this.setAttribute( "icon", m_trackLabel->pixmapFile() ); /* _this.setAttribute( "current", s_infoMap[this] == diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index 130502856..609043efe 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -188,8 +188,7 @@ Clip * SampleTrack::createClip(const TimePos & pos) -void SampleTrack::saveTrackSpecificSettings( QDomDocument & _doc, - QDomElement & _this ) +void SampleTrack::saveTrackSpecificSettings(QDomDocument& _doc, QDomElement& _this, bool presetMode) { m_audioPort.effects()->saveState( _doc, _this ); #if 0 From ff8c47062f4480a6252b09cd4b1075780d5e5678 Mon Sep 17 00:00:00 2001 From: saker Date: Tue, 20 Aug 2024 14:32:46 -0400 Subject: [PATCH 005/112] Continue processing `Song` even when no tracks are found (#7458) --- src/core/Song.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/core/Song.cpp b/src/core/Song.cpp index 92cb2ba30..e4f31c622 100644 --- a/src/core/Song.cpp +++ b/src/core/Song.cpp @@ -235,9 +235,6 @@ void Song::processNextBuffer() return; } - // If we have no tracks to play, there is nothing to do - if (trackList.empty()) { return; } - // If the playback position is outside of the range [begin, end), move it to // begin and inform interested parties. // Returns true if the playback position was moved, else false. From a992019626ef15b9bf34174de285b4a5c986bb08 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:48:56 +0530 Subject: [PATCH 006/112] Cleanup `lmms_math.h` (#7382) * simplified fraction and absfraction functions * removed unused fastSqrt() and fastPow() functions * unused absMin() and absMax() * move roundAt to math header * Code review from saker Co-authored-by: saker * use std::trunc() * fixup after fixing merge conflicts * remove unused fastFma and fastFmal functions. * remove lmms_basics include, not needed * use signedPowf from lmms_math in NES * removed fastRand function, unused * remove unused sinc function * cleanup signedPowf * code review * further simplify random number math * removed static from lmms_math file --------- Co-authored-by: saker --- include/interpolation.h | 18 +- include/lmms_math.h | 246 ++++-------------- plugins/Flanger/Noise.cpp | 4 +- .../GranularPitchShifterEffect.cpp | 6 +- plugins/Kicker/KickerOsc.h | 4 +- plugins/Monstro/Monstro.cpp | 2 +- plugins/Nes/Nes.cpp | 9 +- plugins/Nes/Nes.h | 7 - src/core/AutomatableModel.cpp | 12 - 9 files changed, 75 insertions(+), 233 deletions(-) diff --git a/include/interpolation.h b/include/interpolation.h index fd2c29a04..4b2d3bca9 100644 --- a/include/interpolation.h +++ b/include/interpolation.h @@ -71,11 +71,11 @@ inline float cubicInterpolate( float v0, float v1, float v2, float v3, float x ) { float frsq = x*x; float frcu = frsq*v0; - float t1 = v3 + 3*v1; + float t1 = std::fma(v1, 3, v3); - return( v1 + fastFmaf( 0.5f, frcu, x ) * ( v2 - frcu * ( 1.0f/6.0f ) - - fastFmaf( t1, ( 1.0f/6.0f ), -v0 ) * ( 1.0f/3.0f ) ) + frsq * x * ( t1 * - ( 1.0f/6.0f ) - 0.5f * v2 ) + frsq * fastFmaf( 0.5f, v2, -v1 ) ); + return (v1 + std::fma(0.5f, frcu, x) * (v2 - frcu * (1.0f / 6.0f) - + std::fma(t1, (1.0f / 6.0f), -v0) * (1.0f / 3.0f)) + frsq * x * (t1 * + (1.0f / 6.0f) - 0.5f * v2) + frsq * std::fma(0.5f, v2, -v1)); } @@ -83,13 +83,13 @@ inline float cubicInterpolate( float v0, float v1, float v2, float v3, float x ) inline float cosinusInterpolate( float v0, float v1, float x ) { const float f = ( 1.0f - cosf( x * F_PI ) ) * 0.5f; - return fastFmaf( f, v1-v0, v0 ); + return std::fma(f, v1 - v0, v0); } inline float linearInterpolate( float v0, float v1, float x ) { - return fastFmaf( x, v1-v0, v0 ); + return std::fma(x, v1 - v0, v0); } @@ -104,7 +104,7 @@ inline float optimalInterpolate( float v0, float v1, float x ) const float c2 = even * -0.004541102062639801; const float c3 = odd * -1.57015627178718420; - return fastFmaf( fastFmaf( fastFmaf( c3, z, c2 ), z, c1 ), z, c0 ); + return std::fma(std::fma(std::fma(c3, z, c2), z, c1), z, c0); } @@ -121,7 +121,7 @@ inline float optimal4pInterpolate( float v0, float v1, float v2, float v3, float const float c2 = even1 * -0.246185007019907091 + even2 * 0.24614027139700284; const float c3 = odd1 * -0.36030925263849456 + odd2 * 0.10174985775982505; - return fastFmaf( fastFmaf( fastFmaf( c3, z, c2 ), z, c1 ), z, c0 ); + return std::fma(std::fma(std::fma(c3, z, c2), z, c1), z, c0); } @@ -132,7 +132,7 @@ inline float lagrangeInterpolate( float v0, float v1, float v2, float v3, float const float c1 = v2 - v0 * ( 1.0f / 3.0f ) - v1 * 0.5f - v3 * ( 1.0f / 6.0f ); const float c2 = 0.5f * (v0 + v2) - v1; const float c3 = ( 1.0f/6.0f ) * ( v3 - v0 ) + 0.5f * ( v1 - v2 ); - return fastFmaf( fastFmaf( fastFmaf( c3, x, c2 ), x, c1 ), x, c0 ); + return std::fma(std::fma(std::fma(c3, x, c2), x, c1), x, c0); } diff --git a/include/lmms_math.h b/include/lmms_math.h index 369a89b6e..13004b0e6 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -37,40 +37,11 @@ namespace lmms { -static inline bool approximatelyEqual(float x, float y) +inline bool approximatelyEqual(float x, float y) { return x == y ? true : std::abs(x - y) < F_EPSILON; } -#ifdef __INTEL_COMPILER - -static inline float absFraction( const float _x ) -{ - return( _x - floorf( _x ) ); -} - -static inline float fraction( const float _x ) -{ - return( _x - floorf( _x ) - ( _x >= 0.0f ? 0.0 : 1.0 ) ); -} - -#else - -/*! - * @brief Returns the wrapped fractional part of a float, a value between 0.0f and 1.0f. - * - * absFraction( 2.3) => 0.3 - * absFraction(-2.3) => 0.7 - * - * Note that this not the same as the absolute value of the fraction (as the function name suggests). - * If the result is interpreted as a phase of an oscillator, it makes that negative phases are - * converted to positive phases. - */ -static inline float absFraction(const float x) -{ - return x - std::floor(x); -} - /*! * @brief Returns the fractional part of a float, a value between -1.0f and 1.0f. * @@ -80,143 +51,75 @@ static inline float absFraction(const float x) * Note that if the return value is used as a phase of an oscillator, that the oscillator must support * negative phases. */ -static inline float fraction( const float _x ) +inline float fraction(const float x) { - return( _x - static_cast( _x ) ); + return x - std::trunc(x); +} + +/*! + * @brief Returns the wrapped fractional part of a float, a value between 0.0f and 1.0f. + * + * absFraction( 2.3) => 0.3 + * absFraction(-2.3) => 0.7 + * + * Note that this not the same as the absolute value of the fraction (as the function name suggests). + * If the result is interpreted as a phase of an oscillator, it makes that negative phases are + * converted to positive phases. + */ +inline float absFraction(const float x) +{ + return x - std::floor(x); } -#if 0 -// SSE3-version -static inline float absFraction( float _x ) -{ - unsigned int tmp; - asm( - "fld %%st\n\t" - "fisttp %1\n\t" - "fild %1\n\t" - "ftst\n\t" - "sahf\n\t" - "jae 1f\n\t" - "fld1\n\t" - "fsubrp %%st, %%st(1)\n\t" - "1:\n\t" - "fsubrp %%st, %%st(1)" - : "+t"( _x ), "=m"( tmp ) - : - : "st(1)", "cc" ); - return( _x ); -} - -static inline float absFraction( float _x ) -{ - unsigned int tmp; - asm( - "fld %%st\n\t" - "fisttp %1\n\t" - "fild %1\n\t" - "fsubrp %%st, %%st(1)" - : "+t"( _x ), "=m"( tmp ) - : - : "st(1)" ); - return( _x ); -} -#endif - -#endif // __INTEL_COMPILER - - - -constexpr int FAST_RAND_MAX = 32767; -static inline int fast_rand() +constexpr float FAST_RAND_RATIO = 1.0f / 32767; +inline int fast_rand() { static unsigned long next = 1; next = next * 1103515245 + 12345; return( (unsigned)( next / 65536 ) % 32768 ); } -static inline double fastRand( double range ) +inline float fastRandf(float range) { - static const double fast_rand_ratio = 1.0 / FAST_RAND_MAX; - return fast_rand() * range * fast_rand_ratio; + return fast_rand() * range * FAST_RAND_RATIO; } -static inline float fastRandf( float range ) -{ - static const float fast_rand_ratio = 1.0f / FAST_RAND_MAX; - return fast_rand() * range * fast_rand_ratio; -} -//! @brief Takes advantage of fmal() function if present in hardware -static inline long double fastFmal( long double a, long double b, long double c ) +//! Round `value` to `where` depending on step size +template +static void roundAt(T& value, const T& where, const T& stepSize) { -#ifdef FP_FAST_FMAL - #ifdef __clang__ - return fma( a, b, c ); - #else - return fmal( a, b, c ); - #endif -#else - return a * b + c; -#endif // FP_FAST_FMAL -} - -//! @brief Takes advantage of fmaf() function if present in hardware -static inline float fastFmaf( float a, float b, float c ) -{ -#ifdef FP_FAST_FMAF - #ifdef __clang__ - return fma( a, b, c ); - #else - return fmaf( a, b, c ); - #endif -#else - return a * b + c; -#endif // FP_FAST_FMAF -} - -//! @brief Takes advantage of fma() function if present in hardware -static inline double fastFma( double a, double b, double c ) -{ -#ifdef FP_FAST_FMA - return fma( a, b, c ); -#else - return a * b + c; -#endif -} - -// source: http://martin.ankerl.com/2007/10/04/optimized-pow-approximation-for-java-and-c-c/ -static inline double fastPow( double a, double b ) -{ - union + if (std::abs(value - where) < F_EPSILON * std::abs(stepSize)) { - double d; - int32_t x[2]; - } u = { a }; - u.x[1] = static_cast( b * ( u.x[1] - 1072632447 ) + 1072632447 ); - u.x[0] = 0; - return u.d; + value = where; + } } -// sinc function -static inline double sinc( double _x ) + +//! returns 1.0f if val >= 0.0f, -1.0 else +inline float sign(float val) +{ + return val >= 0.0f ? 1.0f : -1.0f; +} + + +//! if val >= 0.0f, returns sqrtf(val), else: -sqrtf(-val) +inline float sqrt_neg(float val) { - return _x == 0.0 ? 1.0 : sin( F_PI * _x ) / ( F_PI * _x ); + return std::sqrt(std::abs(val)) * sign(val); } - //! @brief Exponential function that deals with negative bases -static inline float signedPowf( float v, float e ) +inline float signedPowf(float v, float e) { - return v < 0 - ? powf( -v, e ) * -1.0f - : powf( v, e ); + return std::pow(std::abs(v), e) * sign(v); } //! @brief Scales @value from linear to logarithmic. //! Value should be within [0,1] -static inline float logToLinearScale( float min, float max, float value ) +inline float logToLinearScale(float min, float max, float value) { if( min < 0 ) { @@ -231,7 +134,7 @@ static inline float logToLinearScale( float min, float max, float value ) //! @brief Scales value from logarithmic to linear. Value should be in min-max range. -static inline float linearToLogScale( float min, float max, float value ) +inline float linearToLogScale(float min, float max, float value) { static const float EXP = 1.0f / F_E; const float valueLimited = std::clamp(value, min, max); @@ -252,7 +155,7 @@ static inline float linearToLogScale( float min, float max, float value ) //! @brief Converts linear amplitude (0-1.0) to dBFS scale. Handles zeroes as -inf. //! @param amp Linear amplitude, where 1.0 = 0dBFS. //! @return Amplitude in dBFS. -inf for 0 amplitude. -static inline float safeAmpToDbfs( float amp ) +inline float safeAmpToDbfs(float amp) { return amp == 0.0f ? -INFINITY @@ -263,7 +166,7 @@ static inline float safeAmpToDbfs( float amp ) //! @brief Converts dBFS-scale to linear amplitude with 0dBFS = 1.0. Handles infinity as zero. //! @param dbfs The dBFS value to convert: all infinites are treated as -inf and result in 0 //! @return Linear amplitude -static inline float safeDbfsToAmp( float dbfs ) +inline float safeDbfsToAmp(float dbfs) { return std::isinf( dbfs ) ? 0.0f @@ -274,7 +177,7 @@ static inline float safeDbfsToAmp( float dbfs ) //! @brief Converts linear amplitude (>0-1.0) to dBFS scale. //! @param amp Linear amplitude, where 1.0 = 0dBFS. ** Must be larger than zero! ** //! @return Amplitude in dBFS. -static inline float ampToDbfs(float amp) +inline float ampToDbfs(float amp) { return log10f(amp) * 20.0f; } @@ -283,54 +186,12 @@ static inline float ampToDbfs(float amp) //! @brief Converts dBFS-scale to linear amplitude with 0dBFS = 1.0 //! @param dbfs The dBFS value to convert. ** Must be a real number - not inf/nan! ** //! @return Linear amplitude -static inline float dbfsToAmp(float dbfs) +inline float dbfsToAmp(float dbfs) { return std::pow(10.f, dbfs * 0.05f); } - -//! returns 1.0f if val >= 0.0f, -1.0 else -static inline float sign( float val ) -{ - return val >= 0.0f ? 1.0f : -1.0f; -} - - -//! if val >= 0.0f, returns sqrtf(val), else: -sqrtf(-val) -static inline float sqrt_neg( float val ) -{ - return sqrtf( fabs( val ) ) * sign( val ); -} - - -// fast approximation of square root -static inline float fastSqrt( float n ) -{ - union - { - int32_t i; - float f; - } u; - u.f = n; - u.i = ( u.i + ( 127 << 23 ) ) >> 1; - return u.f; -} - -//! returns value furthest from zero -template -static inline T absMax( T a, T b ) -{ - return std::abs(a) > std::abs(b) ? a : b; -} - -//! returns value nearest to zero -template -static inline T absMin( T a, T b ) -{ - return std::abs(a) < std::abs(b) ? a : b; -} - //! Returns the linear interpolation of the two values template constexpr T lerp(T a, T b, F t) @@ -340,13 +201,12 @@ constexpr T lerp(T a, T b, F t) // @brief Calculate number of digits which LcdSpinBox would show for a given number // @note Once we upgrade to C++20, we could probably use std::formatted_size -static inline int numDigitsAsInt(float f) +inline int numDigitsAsInt(float f) { // use rounding: - // LcdSpinBox sometimes uses roundf(), sometimes cast rounding + // LcdSpinBox sometimes uses std::round(), sometimes cast rounding // we use rounding to be on the "safe side" - const float rounded = roundf(f); - int asInt = static_cast(rounded); + int asInt = static_cast(std::round(f)); int digits = 1; // always at least 1 if(asInt < 0) { @@ -354,11 +214,11 @@ static inline int numDigitsAsInt(float f) asInt = -asInt; } // "asInt" is positive from now - int32_t power = 1; - for(int32_t i = 1; i<10; ++i) + int power = 1; + for (int i = 1; i < 10; ++i) { power *= 10; - if(static_cast(asInt) >= power) { ++digits; } // 2 digits for >=10, 3 for >=100 + if (asInt >= power) { ++digits; } // 2 digits for >=10, 3 for >=100 else { break; } } return digits; diff --git a/plugins/Flanger/Noise.cpp b/plugins/Flanger/Noise.cpp index 263fb7c45..b05324fd2 100644 --- a/plugins/Flanger/Noise.cpp +++ b/plugins/Flanger/Noise.cpp @@ -31,7 +31,7 @@ namespace lmms Noise::Noise() { - inv_randmax = 1.0/FAST_RAND_MAX; /* for range of 0 - 1.0 */ + inv_randmax = FAST_RAND_RATIO; /* for range of 0 - 1.0 */ } @@ -39,7 +39,7 @@ Noise::Noise() float Noise::tick() { - return (float) ((2.0 * fast_rand() * inv_randmax) - 1.0); + return fastRandf(2.0f) - 1.0f; } diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp index 992d05304..2b182991f 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp @@ -157,17 +157,17 @@ bool GranularPitchShifterEffect::processAudioBuffer(SampleFrame* buf, const fpp_ if (++m_timeSinceLastGrain >= m_nextWaitRandomization * waitMult) { m_timeSinceLastGrain = 0; - double randThing = (fast_rand()/static_cast(FAST_RAND_MAX) * 2. - 1.); + double randThing = fast_rand() * static_cast(FAST_RAND_RATIO) * 2. - 1.; m_nextWaitRandomization = std::exp2(randThing * twitch); double grainSpeed = 1. / std::exp2(randThing * jitter); std::array sprayResult = {0, 0}; if (spray > 0) { - sprayResult[0] = (fast_rand() / static_cast(FAST_RAND_MAX)) * spray * m_sampleRate; + sprayResult[0] = fast_rand() * FAST_RAND_RATIO * spray * m_sampleRate; sprayResult[1] = linearInterpolate( sprayResult[0], - (fast_rand() / static_cast(FAST_RAND_MAX)) * spray * m_sampleRate, + fast_rand() * FAST_RAND_RATIO * spray * m_sampleRate, spraySpread); } diff --git a/plugins/Kicker/KickerOsc.h b/plugins/Kicker/KickerOsc.h index 420373512..a11b0fc55 100644 --- a/plugins/Kicker/KickerOsc.h +++ b/plugins/Kicker/KickerOsc.h @@ -64,7 +64,7 @@ public: { for( fpp_t frame = 0; frame < frames; ++frame ) { - const double gain = ( 1 - fastPow( ( m_counter < m_length ) ? m_counter / m_length : 1, m_env ) ); + const double gain = 1 - std::pow((m_counter < m_length) ? m_counter / m_length : 1, m_env); const sample_t s = ( Oscillator::sinSample( m_phase ) * ( 1 - m_noise ) ) + ( Oscillator::noiseSample( 0 ) * gain * gain * m_noise ); buf[frame][0] = s * gain; buf[frame][1] = s * gain; @@ -80,7 +80,7 @@ public: m_FX.nextSample( buf[frame][0], buf[frame][1] ); m_phase += m_freq / sampleRate; - const double change = ( m_counter < m_length ) ? ( ( m_startFreq - m_endFreq ) * ( 1 - fastPow( m_counter / m_length, m_slope ) ) ) : 0; + const double change = (m_counter < m_length) ? ((m_startFreq - m_endFreq) * (1 - std::pow(m_counter / m_length, m_slope))) : 0; m_freq = m_endFreq + change; ++m_counter; } diff --git a/plugins/Monstro/Monstro.cpp b/plugins/Monstro/Monstro.cpp index 874b5d8d1..d53fcc913 100644 --- a/plugins/Monstro/Monstro.cpp +++ b/plugins/Monstro/Monstro.cpp @@ -858,7 +858,7 @@ inline sample_t MonstroSynth::calcSlope( int slope, sample_t s ) { if( m_parent->m_slope[slope] == 1.0f ) return s; if( s == 0.0f ) return s; - return fastPow( s, m_parent->m_slope[slope] ); + return std::pow(s, m_parent->m_slope[slope]); } diff --git a/plugins/Nes/Nes.cpp b/plugins/Nes/Nes.cpp index fb7c52459..6aea0ebdf 100644 --- a/plugins/Nes/Nes.cpp +++ b/plugins/Nes/Nes.cpp @@ -34,6 +34,7 @@ #include "Oscillator.h" #include "embed.h" +#include "lmms_math.h" #include "plugin_export.h" namespace lmms @@ -392,7 +393,7 @@ void NesObject::renderOutput( SampleFrame* buf, fpp_t frames ) pin1 *= 1.0 + ( Oscillator::noiseSample( 0.0f ) * DITHER_AMP ); pin1 = pin1 / 30.0f; - pin1 = signedPow( pin1, NES_DIST ); + pin1 = signedPowf(pin1, NES_DIST); pin1 = pin1 * 2.0f - 1.0f; @@ -401,7 +402,7 @@ void NesObject::renderOutput( SampleFrame* buf, fpp_t frames ) m_12Last = pin1; // compensate DC offset - pin1 += 1.0f - signedPow( static_cast( ch1Level + ch2Level ) / 30.0f, NES_DIST ); + pin1 += 1.0f - signedPowf(static_cast(ch1Level + ch2Level) / 30.0f, NES_DIST); pin1 *= NES_MIXING_12; @@ -410,7 +411,7 @@ void NesObject::renderOutput( SampleFrame* buf, fpp_t frames ) pin2 *= 1.0 + ( Oscillator::noiseSample( 0.0f ) * DITHER_AMP ); pin2 = pin2 / 30.0f; - pin2 = signedPow( pin2, NES_DIST ); + pin2 = signedPowf(pin2, NES_DIST); pin2 = pin2 * 2.0f - 1.0f; @@ -419,7 +420,7 @@ void NesObject::renderOutput( SampleFrame* buf, fpp_t frames ) m_34Last = pin2; // compensate DC offset - pin2 += 1.0f - signedPow( static_cast( ch3Level + ch4Level ) / 30.0f, NES_DIST ); + pin2 += 1.0f - signedPowf(static_cast(ch3Level + ch4Level) / 30.0f, NES_DIST); pin2 *= NES_MIXING_34; diff --git a/plugins/Nes/Nes.h b/plugins/Nes/Nes.h index 207c22e83..ca084032a 100644 --- a/plugins/Nes/Nes.h +++ b/plugins/Nes/Nes.h @@ -136,13 +136,6 @@ public: return static_cast( m_samplerate / freq ); } - inline float signedPow( float f, float e ) - { - return f < 0 - ? powf( qAbs( f ), e ) * -1.0f - : powf( f, e ); - } - inline int nearestNoiseFreq( float f ) { int n = 15; diff --git a/src/core/AutomatableModel.cpp b/src/core/AutomatableModel.cpp index 5ce259dc2..e006be651 100644 --- a/src/core/AutomatableModel.cpp +++ b/src/core/AutomatableModel.cpp @@ -350,18 +350,6 @@ float AutomatableModel::inverseScaledValue( float value ) const -//! @todo: this should be moved into a maths header -template -void roundAt( T& value, const T& where, const T& step_size ) -{ - if (std::abs(value - where) < F_EPSILON * std::abs(step_size)) - { - value = where; - } -} - - - template void AutomatableModel::roundAt( T& value, const T& where ) const From 35f350eeffdeb3f0f280ad03b95520421d80c593 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 29 Aug 2024 01:16:48 +0530 Subject: [PATCH 007/112] Remove Noise class from flanger (#7473) --- plugins/Flanger/CMakeLists.txt | 2 +- plugins/Flanger/FlangerEffect.cpp | 11 ++------ plugins/Flanger/FlangerEffect.h | 3 -- plugins/Flanger/Noise.cpp | 46 ------------------------------- plugins/Flanger/Noise.h | 44 ----------------------------- 5 files changed, 4 insertions(+), 102 deletions(-) delete mode 100644 plugins/Flanger/Noise.cpp delete mode 100644 plugins/Flanger/Noise.h diff --git a/plugins/Flanger/CMakeLists.txt b/plugins/Flanger/CMakeLists.txt index 92a9198e5..e74b2838f 100644 --- a/plugins/Flanger/CMakeLists.txt +++ b/plugins/Flanger/CMakeLists.txt @@ -1,7 +1,7 @@ INCLUDE(BuildPlugin) BUILD_PLUGIN( - flanger FlangerEffect.cpp FlangerControls.cpp FlangerControlsDialog.cpp Noise.cpp MonoDelay.cpp + flanger FlangerEffect.cpp FlangerControls.cpp FlangerControlsDialog.cpp MonoDelay.cpp MOCFILES FlangerControls.h FlangerControlsDialog.h EMBEDDED_RESOURCES artwork.png logo.png ) diff --git a/plugins/Flanger/FlangerEffect.cpp b/plugins/Flanger/FlangerEffect.cpp index b8bb9d692..184df161e 100644 --- a/plugins/Flanger/FlangerEffect.cpp +++ b/plugins/Flanger/FlangerEffect.cpp @@ -25,10 +25,10 @@ #include "FlangerEffect.h" #include "Engine.h" #include "MonoDelay.h" -#include "Noise.h" #include "QuadratureLfo.h" #include "embed.h" +#include "lmms_math.h" #include "plugin_export.h" namespace lmms @@ -61,7 +61,6 @@ FlangerEffect::FlangerEffect( Model *parent, const Plugin::Descriptor::SubPlugin m_lfo = new QuadratureLfo( Engine::audioEngine()->outputSampleRate() ); m_lDelay = new MonoDelay( 1, Engine::audioEngine()->outputSampleRate() ); m_rDelay = new MonoDelay( 1, Engine::audioEngine()->outputSampleRate() ); - m_noise = new Noise; } @@ -81,10 +80,6 @@ FlangerEffect::~FlangerEffect() { delete m_lfo; } - if(m_noise) - { - delete m_noise; - } } @@ -113,8 +108,8 @@ bool FlangerEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) float leftLfo; float rightLfo; - buf[f][0] += m_noise->tick() * noise; - buf[f][1] += m_noise->tick() * noise; + buf[f][0] += (fastRandf(2.0f) - 1.0f) * noise; + buf[f][1] += (fastRandf(2.0f) - 1.0f) * noise; dryS[0] = buf[f][0]; dryS[1] = buf[f][1]; m_lfo->tick(&leftLfo, &rightLfo); diff --git a/plugins/Flanger/FlangerEffect.h b/plugins/Flanger/FlangerEffect.h index c4afb8841..4b0246e7e 100644 --- a/plugins/Flanger/FlangerEffect.h +++ b/plugins/Flanger/FlangerEffect.h @@ -33,7 +33,6 @@ namespace lmms { class MonoDelay; -class Noise; class QuadratureLfo; @@ -55,8 +54,6 @@ private: MonoDelay* m_lDelay; MonoDelay* m_rDelay; QuadratureLfo* m_lfo; - Noise* m_noise; - }; diff --git a/plugins/Flanger/Noise.cpp b/plugins/Flanger/Noise.cpp deleted file mode 100644 index b05324fd2..000000000 --- a/plugins/Flanger/Noise.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - * noise.cpp - defination of Noise class. - * - * Copyright (c) 2014 David French - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#include "Noise.h" -#include "lmms_math.h" - -namespace lmms -{ - - -Noise::Noise() -{ - inv_randmax = FAST_RAND_RATIO; /* for range of 0 - 1.0 */ -} - - - - -float Noise::tick() -{ - return fastRandf(2.0f) - 1.0f; -} - - -} // namespace lmms \ No newline at end of file diff --git a/plugins/Flanger/Noise.h b/plugins/Flanger/Noise.h deleted file mode 100644 index 9f6e2f2e1..000000000 --- a/plugins/Flanger/Noise.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * noise.h - defination of Noise class. - * - * Copyright (c) 2014 David French - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#ifndef NOISE_H -#define NOISE_H - -namespace lmms -{ - - -class Noise -{ -public: - Noise(); - float tick(); -private: - double inv_randmax; -}; - - -} // namespace lmms - -#endif // NOISE_H From 9a76d31732819268c99f0136bd70c0f2d59f4ca1 Mon Sep 17 00:00:00 2001 From: Grzegorz Pruchniakowski Date: Mon, 2 Sep 2024 16:44:44 +0200 Subject: [PATCH 008/112] Fix typo in DataFile.cpp (#7478) --- src/core/DataFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/DataFile.cpp b/src/core/DataFile.cpp index 3e7d6d8b6..8bd3a776b 100644 --- a/src/core/DataFile.cpp +++ b/src/core/DataFile.cpp @@ -414,7 +414,7 @@ bool DataFile::writeFile(const QString& filename, bool withResources) if (!outfile.commit()) { showError(SongEditor::tr("Could not write file"), - SongEditor::tr("An unknown error has occured and the file could not be saved.")); + SongEditor::tr("An unknown error has occurred and the file could not be saved.")); return false; } From b81f806d637865922eb4abcf04275ff782e947d8 Mon Sep 17 00:00:00 2001 From: Grzegorz Pruchniakowski Date: Tue, 3 Sep 2024 14:30:28 +0200 Subject: [PATCH 009/112] Fix: unnecessary space in Update EqControlsDialog.cpp (#7485) * Fix: unnecessary space in Update EqControlsDialog.cpp Fix: unnecessary space in Update EqControlsDialog.cpp Greetings, Gootector * Style fix from Ross --------- Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> --- plugins/Eq/EqControlsDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Eq/EqControlsDialog.cpp b/plugins/Eq/EqControlsDialog.cpp index 8394569f6..1fb10e2bb 100644 --- a/plugins/Eq/EqControlsDialog.cpp +++ b/plugins/Eq/EqControlsDialog.cpp @@ -110,7 +110,7 @@ EqControlsDialog::EqControlsDialog( EqControls *controls ) : resKnob->setVolumeKnob(false); resKnob->setModel( m_parameterWidget->getBandModels( i )->res ); if(i > 1 && i < 6) { resKnob->setHintText( tr( "Bandwidth: " ) , tr( " Octave" ) ); } - else { resKnob->setHintText( tr( "Resonance : " ) , "" ); } + else { resKnob->setHintText(tr("Resonance: "), ""); } auto freqKnob = new Knob(KnobType::Bright26, this); freqKnob->move( distance, 396 ); From d703f391533c3c5c682b5baf0984be44b8786bfa Mon Sep 17 00:00:00 2001 From: saker Date: Wed, 4 Sep 2024 12:58:36 -0400 Subject: [PATCH 010/112] Process metronome every MIDI tick (#7483) --- include/AudioEngine.h | 7 ------ include/Metronome.h | 43 +++++++++++++++++++++++++++++++++ include/Song.h | 6 +++++ src/core/AudioEngine.cpp | 52 ---------------------------------------- src/core/CMakeLists.txt | 1 + src/core/Metronome.cpp | 41 +++++++++++++++++++++++++++++++ src/core/Song.cpp | 15 ++++++++++-- src/gui/MainWindow.cpp | 5 ++-- 8 files changed, 107 insertions(+), 63 deletions(-) create mode 100644 include/Metronome.h create mode 100644 src/core/Metronome.cpp diff --git a/include/AudioEngine.h b/include/AudioEngine.h index f80c860d8..c01b2ea1a 100644 --- a/include/AudioEngine.h +++ b/include/AudioEngine.h @@ -289,9 +289,6 @@ public: void changeQuality(const struct qualitySettings & qs); - inline bool isMetronomeActive() const { return m_metronomeActive; } - inline void setMetronomeActive(bool value = true) { m_metronomeActive = value; } - //! Block until a change in model can be done (i.e. wait for audio thread) void requestChangeInModel(); void doneChangeInModel(); @@ -352,8 +349,6 @@ private: void swapBuffers(); - void handleMetronome(); - void clearInternal(); bool m_renderOnly; @@ -402,8 +397,6 @@ private: AudioEngineProfiler m_profiler; - bool m_metronomeActive; - bool m_clearSignal; std::recursive_mutex m_changeMutex; diff --git a/include/Metronome.h b/include/Metronome.h new file mode 100644 index 000000000..a59ad5b83 --- /dev/null +++ b/include/Metronome.h @@ -0,0 +1,43 @@ +/* + * Metronome.h + * + * Copyright (c) 2024 saker + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef LMMS_METRONOME_H +#define LMMS_METRONOME_H + +#include + +namespace lmms { +class Metronome +{ +public: + bool active() const { return m_active; } + void setActive(bool active) { m_active = active; } + void processTick(int currentTick, int ticksPerBar, int beatsPerBar, size_t bufferOffset); + +private: + bool m_active = false; +}; +} // namespace lmms + +#endif // LMMS_METRONOME_H diff --git a/include/Song.h b/include/Song.h index 2897b2131..f08edfff6 100644 --- a/include/Song.h +++ b/include/Song.h @@ -33,6 +33,7 @@ #include "AudioEngine.h" #include "Controller.h" +#include "Metronome.h" #include "lmms_constants.h" #include "MeterModel.h" #include "Timeline.h" @@ -375,6 +376,8 @@ public: const std::string& syncKey() const noexcept { return m_vstSyncController.sharedMemoryKey(); } + Metronome& metronome() { return m_metronome; } + public slots: void playSong(); void record(); @@ -448,6 +451,7 @@ private: void restoreKeymapStates(const QDomElement &element); void processAutomations(const TrackList& tracks, TimePos timeStart, fpp_t frames); + void processMetronome(size_t bufferOffset); void setModified(bool value); @@ -513,6 +517,8 @@ private: AutomatedValueMap m_oldAutomatedValues; + Metronome m_metronome; + friend class Engine; friend class gui::SongEditor; friend class gui::ControllerRackView; diff --git a/src/core/AudioEngine.cpp b/src/core/AudioEngine.cpp index 42e7079b0..77453a8ba 100644 --- a/src/core/AudioEngine.cpp +++ b/src/core/AudioEngine.cpp @@ -87,7 +87,6 @@ AudioEngine::AudioEngine( bool renderOnly ) : m_oldAudioDev( nullptr ), m_audioDevStartFailed( false ), m_profiler(), - m_metronomeActive(false), m_clearSignal(false) { for( int i = 0; i < 2; ++i ) @@ -345,8 +344,6 @@ void AudioEngine::renderStageNoteSetup() Mixer * mixer = Engine::mixer(); mixer->prepareMasterMix(); - handleMetronome(); - // create play-handles for new notes, samples etc. Engine::getSong()->processNextBuffer(); @@ -459,55 +456,6 @@ void AudioEngine::swapBuffers() zeroSampleFrames(m_outputBufferWrite.get(), m_framesPerPeriod); } - - - -void AudioEngine::handleMetronome() -{ - static tick_t lastMetroTicks = -1; - - Song * song = Engine::getSong(); - Song::PlayMode currentPlayMode = song->playMode(); - - bool metronomeSupported = - currentPlayMode == Song::PlayMode::MidiClip - || currentPlayMode == Song::PlayMode::Song - || currentPlayMode == Song::PlayMode::Pattern; - - if (!metronomeSupported || !m_metronomeActive || song->isExporting()) - { - return; - } - - // stop crash with metronome if empty project - if (song->countTracks() == 0) - { - return; - } - - tick_t ticks = song->getPlayPos(currentPlayMode).getTicks(); - tick_t ticksPerBar = TimePos::ticksPerBar(); - int numerator = song->getTimeSigModel().getNumerator(); - - if (ticks == lastMetroTicks) - { - return; - } - - if (ticks % (ticksPerBar / 1) == 0) - { - addPlayHandle(new SamplePlayHandle("misc/metronome02.ogg")); - } - else if (ticks % (ticksPerBar / numerator) == 0) - { - addPlayHandle(new SamplePlayHandle("misc/metronome01.ogg")); - } - - lastMetroTicks = ticks; -} - - - void AudioEngine::clear() { m_clearSignal = true; diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 3608d2848..1e2c4f3cf 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -40,6 +40,7 @@ set(LMMS_SRCS core/LinkedModelGroups.cpp core/LocklessAllocator.cpp core/MeterModel.cpp + core/Metronome.cpp core/MicroTimer.cpp core/Microtuner.cpp core/MixHelpers.cpp diff --git a/src/core/Metronome.cpp b/src/core/Metronome.cpp new file mode 100644 index 000000000..8afc6afa4 --- /dev/null +++ b/src/core/Metronome.cpp @@ -0,0 +1,41 @@ +/* + * Metronome.cpp + * + * Copyright (c) 2024 saker + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#include "Metronome.h" + +#include "Engine.h" +#include "SamplePlayHandle.h" + +namespace lmms { +void Metronome::processTick(int currentTick, int ticksPerBar, int beatsPerBar, size_t bufferOffset) +{ + const auto ticksPerBeat = ticksPerBar / beatsPerBar; + if (currentTick % ticksPerBeat != 0 || !m_active) { return; } + + const auto handle = currentTick % ticksPerBar == 0 ? new SamplePlayHandle("misc/metronome02.ogg") + : new SamplePlayHandle("misc/metronome01.ogg"); + handle->setOffset(bufferOffset); + Engine::audioEngine()->addPlayHandle(handle); +} +} // namespace lmms diff --git a/src/core/Song.cpp b/src/core/Song.cpp index e4f31c622..4e6bf6f58 100644 --- a/src/core/Song.cpp +++ b/src/core/Song.cpp @@ -332,6 +332,8 @@ void Song::processNextBuffer() { // First frame of tick: process automation and play tracks processAutomations(trackList, getPlayPos(), framesToPlay); + processMetronome(frameOffsetInPeriod); + for (const auto track : trackList) { track->play(getPlayPos(), framesToPlay, frameOffsetInPeriod, clipNum); @@ -426,6 +428,17 @@ void Song::processAutomations(const TrackList &tracklist, TimePos timeStart, fpp } } +void Song::processMetronome(size_t bufferOffset) +{ + const auto currentPlayMode = playMode(); + const auto supported = currentPlayMode == PlayMode::MidiClip + || currentPlayMode == PlayMode::Song + || currentPlayMode == PlayMode::Pattern; + + if (!supported || m_exporting) { return; } + m_metronome.processTick(currentTick(), ticksPerBar(), m_timeSigModel.getNumerator(), bufferOffset); +} + void Song::setModified(bool value) { if( !m_loadingProject && m_modified != value) @@ -1542,6 +1555,4 @@ void Song::setKeymap(unsigned int index, std::shared_ptr newMap) emit keymapListChanged(index); Engine::audioEngine()->doneChangeInModel(); } - - } // namespace lmms diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index d534be96f..fa0c50956 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -43,6 +43,7 @@ #include "ExportProjectDialog.h" #include "FileBrowser.h" #include "FileDialog.h" +#include "Metronome.h" #include "MixerView.h" #include "GuiApplication.h" #include "ImportFilter.h" @@ -430,7 +431,7 @@ void MainWindow::finalize() this, SLOT(onToggleMetronome()), m_toolBar ); m_metronomeToggle->setCheckable(true); - m_metronomeToggle->setChecked(Engine::audioEngine()->isMetronomeActive()); + m_metronomeToggle->setChecked(Engine::getSong()->metronome().active()); m_toolBarLayout->setColumnMinimumWidth( 0, 5 ); m_toolBarLayout->addWidget( project_new, 0, 1 ); @@ -1173,7 +1174,7 @@ void MainWindow::updateConfig( QAction * _who ) void MainWindow::onToggleMetronome() { - Engine::audioEngine()->setMetronomeActive( m_metronomeToggle->isChecked() ); + Engine::getSong()->metronome().setActive(m_metronomeToggle->isChecked()); } From 48314959b8ad83a316fa6b8cafdcda009238efa7 Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Fri, 13 Sep 2024 18:54:00 -0400 Subject: [PATCH 011/112] Fix sample clip position when reversing (#7446) --- src/gui/clips/SampleClipView.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/clips/SampleClipView.cpp b/src/gui/clips/SampleClipView.cpp index 30f09caa8..a7251be8d 100644 --- a/src/gui/clips/SampleClipView.cpp +++ b/src/gui/clips/SampleClipView.cpp @@ -330,6 +330,7 @@ void SampleClipView::paintEvent( QPaintEvent * pe ) void SampleClipView::reverseSample() { m_clip->m_sample.setReversed(!m_clip->m_sample.reversed()); + m_clip->setStartTimeOffset(m_clip->length() - m_clip->startTimeOffset() - m_clip->sampleLength()); Engine::getSong()->setModified(); update(); } From 588aab338968864ae250709f3312fcd9bb481430 Mon Sep 17 00:00:00 2001 From: Lost Robot <34612565+LostRobotMusic@users.noreply.github.com> Date: Sun, 15 Sep 2024 11:10:05 -0500 Subject: [PATCH 012/112] Replace Compressor infinite ratio icons (#7501) --- plugins/Compressor/limiter_sel.png | Bin 771 -> 1480 bytes plugins/Compressor/limiter_unsel.png | Bin 871 -> 1633 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/Compressor/limiter_sel.png b/plugins/Compressor/limiter_sel.png index 2d0e054af8c28f29bd4c542792864cc6b071da98..cc3d4debea6dbe4d6d7441eed1c190739fc1e3a1 100755 GIT binary patch delta 1463 zcmV;o1xWgX2FMGLBYy#fX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmKp2MKwo3h}6tRPd zLx$>PK~%(1t5Adrp;lmpnt#3Mmzb%~iDD9-@f2}XQ8micGq=>9v*?Jp#hpz{Pb-llOqj9boWDmkh~~0<`@3 zJn()--;@OgZh@XPw{OjJoIU_)>Q(XvI5-4G3zWU?@qg~F_P+gF)9l|58|HF^XDk$g z00006VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_000McNliru=m`%G z9vrBwWyJsh0338hSad^gZEa<4bO2CqcV%*AWFTUBAV*GBFHC7}b$CD*ET8}Y1Dr`j zK~z}7?SGeDY*bYcfWNtS7n*88(6sE*S`pkPG+0`N78N8Q+XRR-2I5bn7?A`qCZ^y| zqP+0tgJ|Lp2@*}j)Ita^yhx=fAVk|jDk+V&)UsGCw3MQD-EM#Oj1Skg7P+wx-qqNh z2Qj&BLK+|u{NRddA#G-xp0DsUFjAV+>VV)Sidt9{0pPJPuV&=u`J%US5fP ztOdS|IL5L9h+IQMnUI?fkr=*Z?>qaIFT`wFI;#IQAu!ukA^n5+%JxEU97^Yrcs-2n z3?nkGdyy-5nV}zvgEDReoIAheV z3uj|hH)D18p-&dO#@=*(Z3uE^BD-p!x8JcHIgfRs6|>}S?^ygP56eU3nAP)n9a+ub{|7F9Y9XCqw9-Yk(&hpOvO^n$B#p70BTwt`_o0JZNuKva3+E-&VQXS zas@Om3;N=4rfamMm}=Wz1qR=LwkM&1v%I0d<%Xa00oW4QNQh)nTBS; zeRravEUelV=!iOTD?-S*pB%r+Iy7?{teiV>>LU|3+C|-C|6%GrynNK_FQ6|hM;^R{ zd1xL|`#t8BN3crnLQCdgy<6kDw|{l85vtB2>+>-ctB{lJ$i;3nl!X{W;;WaOLTL-S zE+0AC#`v?ioT;S?Hrx+|v!LcJLtegJD<9emaZTZ+;A zAXa5P9Bu#mMGiJ2YYO0*#qh&b=#3$3_h65}+PnxYFGg+wew#p2hg)Fd5`T2t3S@f~ zTuDH9F1q|4Q&PUOlnaJtL_?N& zW-MOa*Oa%b(e0&}11}GBg~k%X^UYQT>`>F@UlW!5Ox R`vm|1002ovPDHLkV1nREvH$=8 delta 748 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 bPe|k!#z>di5Qby*00000NkvXXu0mjfX|Itp From 7d35d4225ecfdddc9eedc3060bb8ee1e24833768 Mon Sep 17 00:00:00 2001 From: DanielKauss Date: Tue, 17 Sep 2024 08:05:01 +0200 Subject: [PATCH 013/112] SlicerT UI update (#7453) * Update SlicerT UI * Style review Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> * Style fixes --------- Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> --- include/InstrumentTrackWindow.h | 5 + include/PluginView.h | 19 +-- plugins/SlicerT/SlicerT.cpp | 3 +- plugins/SlicerT/SlicerT.h | 2 + plugins/SlicerT/SlicerTView.cpp | 140 +++++++++++++++---- plugins/SlicerT/SlicerTView.h | 37 +++-- plugins/SlicerT/SlicerTWaveform.cpp | 134 ++++++++++++------ plugins/SlicerT/SlicerTWaveform.h | 8 +- plugins/SlicerT/artwork.png | Bin 13791 -> 0 bytes plugins/SlicerT/folder_icon.png | Bin 0 -> 707 bytes plugins/SlicerT/full_logo.png | Bin 0 -> 2535 bytes plugins/SlicerT/sync_active.png | Bin 0 -> 1611 bytes plugins/SlicerT/sync_inactive.png | Bin 0 -> 1625 bytes plugins/SlicerT/toolbox.png | Bin 0 -> 18089 bytes src/gui/EffectRackView.cpp | 4 +- src/gui/EffectView.cpp | 3 +- src/gui/instrument/EnvelopeAndLfoView.cpp | 2 + src/gui/instrument/EnvelopeGraph.cpp | 4 +- src/gui/instrument/InstrumentTrackWindow.cpp | 51 +++++-- src/gui/instrument/InstrumentView.cpp | 4 +- 20 files changed, 311 insertions(+), 105 deletions(-) delete mode 100644 plugins/SlicerT/artwork.png create mode 100644 plugins/SlicerT/folder_icon.png create mode 100644 plugins/SlicerT/full_logo.png create mode 100644 plugins/SlicerT/sync_active.png create mode 100644 plugins/SlicerT/sync_inactive.png create mode 100644 plugins/SlicerT/toolbox.png diff --git a/include/InstrumentTrackWindow.h b/include/InstrumentTrackWindow.h index 48a352cbd..f44430d0e 100644 --- a/include/InstrumentTrackWindow.h +++ b/include/InstrumentTrackWindow.h @@ -29,6 +29,7 @@ #include "ModelView.h" #include "SerializingObject.h" +#include "PluginView.h" class QLabel; class QLineEdit; @@ -67,6 +68,9 @@ public: InstrumentTrackWindow( InstrumentTrackView * _tv ); ~InstrumentTrackWindow() override; + void resizeEvent(QResizeEvent* event) override; + + // parent for all internal tab-widgets TabWidget * tabWidgetParent() { @@ -152,6 +156,7 @@ private: InstrumentSoundShapingView * m_ssView; InstrumentFunctionNoteStackingView* m_noteStackingView; InstrumentFunctionArpeggioView* m_arpeggioView; + QWidget* m_instrumentFunctionsView; // container of note stacking and arpeggio InstrumentMidiIOView * m_midiView; EffectRackView * m_effectView; InstrumentTuningView *m_tuningView; diff --git a/include/PluginView.h b/include/PluginView.h index 3c78cb00a..a85b0b9e1 100644 --- a/include/PluginView.h +++ b/include/PluginView.h @@ -27,23 +27,26 @@ #include -#include "Plugin.h" #include "ModelView.h" +#include "Plugin.h" -namespace lmms::gui -{ +namespace lmms::gui { -class LMMS_EXPORT PluginView : public QWidget, public ModelView +class LMMS_EXPORT PluginView : public QWidget, public ModelView { public: - PluginView( Plugin * _plugin, QWidget * _parent ) : - QWidget( _parent ), - ModelView( _plugin, this ) + PluginView(Plugin* _plugin, QWidget* _parent) + : QWidget(_parent) + , ModelView(_plugin, this) { } -} ; + void setResizable(bool resizable) { m_isResizable = resizable; } + bool isResizable() { return m_isResizable; } +private: + bool m_isResizable = false; +}; } // namespace lmms::gui diff --git a/plugins/SlicerT/SlicerT.cpp b/plugins/SlicerT/SlicerT.cpp index dcfbf6bc5..3b0602584 100644 --- a/plugins/SlicerT/SlicerT.cpp +++ b/plugins/SlicerT/SlicerT.cpp @@ -152,6 +152,7 @@ void SlicerT::playNote(NotePlayHandle* handle, SampleFrame* workingBuffer) void SlicerT::deleteNotePluginData(NotePlayHandle* handle) { delete static_cast(handle->m_pluginData); + emit isPlaying(-1, 0, 0); } // uses the spectral flux to determine the change in magnitude @@ -246,7 +247,7 @@ void SlicerT::findSlices() if (noteSnap == 0) { sliceLock = 1; } for (float& sliceValue : m_slicePoints) { - sliceValue += sliceLock / 2; + sliceValue += sliceLock / 2.f; sliceValue -= static_cast(sliceValue) % sliceLock; } diff --git a/plugins/SlicerT/SlicerT.h b/plugins/SlicerT/SlicerT.h index 06b55687b..53b8bfb2a 100644 --- a/plugins/SlicerT/SlicerT.h +++ b/plugins/SlicerT/SlicerT.h @@ -84,6 +84,8 @@ public: void findSlices(); void findBPM(); + QString getSampleName() { return m_originalSample.sampleFile(); } + QString nodeName() const override; gui::PluginView* instantiateView(QWidget* parent) override; diff --git a/plugins/SlicerT/SlicerTView.cpp b/plugins/SlicerT/SlicerTView.cpp index bbdb53ccb..4be774f6d 100644 --- a/plugins/SlicerT/SlicerTView.cpp +++ b/plugins/SlicerT/SlicerTView.cpp @@ -25,15 +25,16 @@ #include "SlicerTView.h" #include -#include +#include +#include #include "Clipboard.h" #include "DataFile.h" -#include "Engine.h" #include "InstrumentTrack.h" +#include "InstrumentView.h" +#include "PixmapButton.h" #include "SampleLoader.h" #include "SlicerT.h" -#include "Song.h" #include "StringPairDrag.h" #include "Track.h" #include "embed.h" @@ -43,57 +44,63 @@ namespace lmms { namespace gui { SlicerTView::SlicerTView(SlicerT* instrument, QWidget* parent) - : InstrumentViewFixedSize(instrument, parent) + : InstrumentView(instrument, parent) , m_slicerTParent(instrument) + , m_fullLogo(PLUGIN_NAME::getIconPixmap("full_logo")) + , m_background(PLUGIN_NAME::getIconPixmap("toolbox")) { // window settings setAcceptDrops(true); setAutoFillBackground(true); - // render background - QPalette pal; - pal.setBrush(backgroundRole(), PLUGIN_NAME::getIconPixmap("artwork")); - setPalette(pal); + setMaximumSize(QSize(10000, 10000)); + setMinimumSize(QSize(516, 400)); + setResizable(true); m_wf = new SlicerTWaveform(248, 128, instrument, this); - m_wf->move(2, 6); + m_wf->move(0, s_topBarHeight); m_snapSetting = new ComboBox(this, tr("Slice snap")); m_snapSetting->setGeometry(185, 200, 55, ComboBox::DEFAULT_HEIGHT); m_snapSetting->setToolTip(tr("Set slice snapping for detection")); m_snapSetting->setModel(&m_slicerTParent->m_sliceSnap); - m_syncToggle = new LedCheckBox("Sync", this, tr("SyncToggle"), LedCheckBox::LedColor::Green); - m_syncToggle->move(135, 187); + m_syncToggle = new PixmapButton(this, tr("Sync sample")); + m_syncToggle->setActiveGraphic(PLUGIN_NAME::getIconPixmap("sync_active")); + m_syncToggle->setInactiveGraphic(PLUGIN_NAME::getIconPixmap("sync_inactive")); + m_syncToggle->setCheckable(true); m_syncToggle->setToolTip(tr("Enable BPM sync")); m_syncToggle->setModel(&m_slicerTParent->m_enableSync); m_bpmBox = new LcdSpinBox(3, "19purple", this); - m_bpmBox->move(130, 201); m_bpmBox->setToolTip(tr("Original sample BPM")); m_bpmBox->setModel(&m_slicerTParent->m_originalBPM); m_noteThresholdKnob = createStyledKnob(); - m_noteThresholdKnob->move(10, 197); m_noteThresholdKnob->setToolTip(tr("Threshold used for slicing")); m_noteThresholdKnob->setModel(&m_slicerTParent->m_noteThreshold); m_fadeOutKnob = createStyledKnob(); - m_fadeOutKnob->move(64, 197); m_fadeOutKnob->setToolTip(tr("Fade Out per note in milliseconds")); m_fadeOutKnob->setModel(&m_slicerTParent->m_fadeOutFrames); m_midiExportButton = new QPushButton(this); - m_midiExportButton->move(199, 150); m_midiExportButton->setIcon(PLUGIN_NAME::getIconPixmap("copy_midi")); m_midiExportButton->setToolTip(tr("Copy midi pattern to clipboard")); connect(m_midiExportButton, &PixmapButton::clicked, this, &SlicerTView::exportMidi); + m_folderButton = new PixmapButton(this); + m_folderButton->setActiveGraphic(PLUGIN_NAME::getIconPixmap("folder_icon")); + m_folderButton->setInactiveGraphic(PLUGIN_NAME::getIconPixmap("folder_icon")); + m_folderButton->setToolTip(tr("Open sample selector")); + connect(m_folderButton, &PixmapButton::clicked, this, &SlicerTView::openFiles); + m_resetButton = new QPushButton(this); - m_resetButton->move(18, 150); m_resetButton->setIcon(PLUGIN_NAME::getIconPixmap("reset_slices")); - m_resetButton->setToolTip(tr("Reset Slices")); + m_resetButton->setToolTip(tr("Reset slices")); connect(m_resetButton, &PixmapButton::clicked, m_slicerTParent, &SlicerT::updateSlices); + + update(); } Knob* SlicerTView::createStyledKnob() @@ -178,16 +185,101 @@ void SlicerTView::dropEvent(QDropEvent* de) void SlicerTView::paintEvent(QPaintEvent* pe) { QPainter brush(this); - brush.setPen(QColor(255, 255, 255)); brush.setFont(QFont(brush.font().family(), 7, -1, false)); - brush.drawText(8, s_topTextY, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Reset")); - brush.drawText(188, s_topTextY, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Midi")); + int boxTopY = height() - s_bottomBoxHeight; - brush.drawText(8, s_bottomTextY, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Threshold")); - brush.drawText(63, s_bottomTextY, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Fade Out")); - brush.drawText(127, s_bottomTextY, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("BPM")); - brush.drawText(188, s_bottomTextY, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Snap")); + // --- backgrounds and limiters + brush.drawPixmap(QRect(0, boxTopY, s_leftBoxWidth, s_bottomBoxHeight), m_background); // left + brush.fillRect( + QRect(s_leftBoxWidth, boxTopY, width() - s_leftBoxWidth, s_bottomBoxHeight), QColor(23, 26, 31)); // right + brush.fillRect(QRect(0, 0, width(), s_topBarHeight), QColor(20, 23, 27)); // top + + // top bar dividers + brush.setPen(QColor(56, 58, 60)); + brush.drawLine(0, s_topBarHeight - 1, width(), s_topBarHeight - 1); + brush.drawLine(0, 0, width(), 0); + + // sample name divider + brush.setPen(QColor(56, 58, 60)); + brush.drawLine(0, boxTopY, width(), boxTopY); + + // boxes divider + brush.setPen(QColor(56, 24, 94)); + brush.drawLine(s_leftBoxWidth, boxTopY, s_leftBoxWidth, height()); + + // --- top bar + brush.drawPixmap( + QRect(10, (s_topBarHeight - m_fullLogo.height()) / 2, m_fullLogo.width(), m_fullLogo.height()), m_fullLogo); + + int y1_text = m_y1 + 27; + + // --- left box + brush.setPen(QColor(255, 255, 255)); + brush.drawText(s_x1 - 25, y1_text, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Threshold")); + brush.drawText(s_x2 - 25, y1_text, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Fade Out")); + brush.drawText(s_x3 - 25, y1_text, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Reset")); + brush.drawText(s_x4 - 8, y1_text, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Midi")); + brush.drawText(s_x5 - 16, y1_text, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("BPM")); + brush.drawText(s_x6 - 8, y1_text, s_textBoxWidth, s_textBoxHeight, Qt::AlignCenter, tr("Snap")); + + int kor = 15; // knob outer radius + int kir = 9; // knob inner radius + + // draw knob backgrounds + brush.setRenderHint(QPainter::Antialiasing); + + // draw outer radius 2 times to make smooth + brush.setPen(QPen(QColor(159, 124, 223, 100), 4)); + brush.drawArc(QRect(s_x1 - kor, m_y1, kor * 2, kor * 2), -45 * 16, 270 * 16); + brush.drawArc(QRect(s_x2 - kor, m_y1, kor * 2, kor * 2), -45 * 16, 270 * 16); + + brush.setPen(QPen(QColor(159, 124, 223, 255), 2)); + brush.drawArc(QRect(s_x1 - kor, m_y1, kor * 2, kor * 2), -45 * 16, 270 * 16); + brush.drawArc(QRect(s_x2 - kor, m_y1, kor * 2, kor * 2), -45 * 16, 270 * 16); + + // inner knob circle + brush.setBrush(QColor(106, 90, 138)); + brush.setPen(QColor(0, 0, 0, 0)); + brush.drawEllipse(QPoint(s_x1, m_y1 + 15), kir, kir); + brush.drawEllipse(QPoint(s_x2, m_y1 + 15), kir, kir); + + // current sample bar + brush.fillRect(QRect(0, boxTopY - s_sampleBoxHeight, width(), s_sampleBoxHeight), QColor(5, 5, 5)); + + brush.setPen(QColor(56, 58, 60)); + brush.drawLine(width() - 24, boxTopY - s_sampleBoxHeight, width() - 24, boxTopY); + + brush.setPen(QColor(255, 255, 255, 180)); + brush.setFont(QFont(brush.font().family(), 8, -1, false)); + QString sampleName = m_slicerTParent->getSampleName(); + if (sampleName == "") { sampleName = "No sample loaded"; } + + brush.drawText(5, boxTopY - s_sampleBoxHeight, width(), s_sampleBoxHeight, Qt::AlignLeft, sampleName); +} + +void SlicerTView::resizeEvent(QResizeEvent* re) +{ + m_y1 = height() - s_bottomBoxOffset; + + // left box + m_noteThresholdKnob->move(s_x1 - 25, m_y1); + m_fadeOutKnob->move(s_x2 - 25, m_y1); + + m_resetButton->move(s_x3 - 15, m_y1 + 3); + m_midiExportButton->move(s_x4 + 2, m_y1 + 3); + + m_bpmBox->move(s_x5 - 13, m_y1 + 4); + m_snapSetting->move(s_x6 - 8, m_y1 + 3); + + // right box + m_syncToggle->move((width() - 100), m_y1 + 5); + + m_folderButton->move(width() - 20, height() - s_bottomBoxHeight - s_sampleBoxHeight + 1); + + int waveFormHeight = height() - s_bottomBoxHeight - s_topBarHeight - s_sampleBoxHeight; + + m_wf->resize(width(), waveFormHeight); } } // namespace gui diff --git a/plugins/SlicerT/SlicerTView.h b/plugins/SlicerT/SlicerTView.h index ea2b979fc..232c27454 100644 --- a/plugins/SlicerT/SlicerTView.h +++ b/plugins/SlicerT/SlicerTView.h @@ -26,9 +26,9 @@ #define LMMS_GUI_SLICERT_VIEW_H #include +#include #include "ComboBox.h" -#include "Instrument.h" #include "InstrumentView.h" #include "Knob.h" #include "LcdSpinBox.h" @@ -42,7 +42,7 @@ class SlicerT; namespace gui { -class SlicerTView : public InstrumentViewFixedSize +class SlicerTView : public InstrumentView { Q_OBJECT @@ -55,14 +55,27 @@ public: static constexpr int s_textBoxHeight = 20; static constexpr int s_textBoxWidth = 50; - static constexpr int s_topTextY = 170; - static constexpr int s_bottomTextY = 220; + static constexpr int s_topBarHeight = 50; + static constexpr int s_bottomBoxHeight = 97; + static constexpr int s_bottomBoxOffset = 65; + static constexpr int s_sampleBoxHeight = 14; + static constexpr int s_folderButtonWidth = 15; + static constexpr int s_leftBoxWidth = 400; + + + static constexpr int s_x1 = 35; + static constexpr int s_x2 = 85; + static constexpr int s_x3 = 160; + static constexpr int s_x4 = 190; + static constexpr int s_x5 = 275; + static constexpr int s_x6 = 325; protected: - virtual void dragEnterEvent(QDragEnterEvent* dee); - virtual void dropEvent(QDropEvent* de); + void dragEnterEvent(QDragEnterEvent* dee) override; + void dropEvent(QDropEvent* de) override; - virtual void paintEvent(QPaintEvent* pe); + void paintEvent(QPaintEvent* pe) override; + void resizeEvent(QResizeEvent* event) override; private: SlicerT* m_slicerTParent; @@ -71,7 +84,8 @@ private: Knob* m_fadeOutKnob; LcdSpinBox* m_bpmBox; ComboBox* m_snapSetting; - LedCheckBox* m_syncToggle; + PixmapButton* m_syncToggle; + PixmapButton* m_folderButton; QPushButton* m_resetButton; QPushButton* m_midiExportButton; @@ -79,6 +93,13 @@ private: SlicerTWaveform* m_wf; Knob* createStyledKnob(); + + QPixmap m_fullLogo; + QPixmap m_background; + + + int m_y1; + int m_y2; }; } // namespace gui } // namespace lmms diff --git a/plugins/SlicerT/SlicerTWaveform.cpp b/plugins/SlicerT/SlicerTWaveform.cpp index 808b81c39..17fab42e2 100644 --- a/plugins/SlicerT/SlicerTWaveform.cpp +++ b/plugins/SlicerT/SlicerTWaveform.cpp @@ -25,6 +25,7 @@ #include "SlicerTWaveform.h" #include +#include #include "SampleWaveform.h" #include "SlicerT.h" @@ -35,43 +36,52 @@ namespace lmms { namespace gui { +// waveform colors static QColor s_emptyColor = QColor(0, 0, 0, 0); -static QColor s_waveformColor = QColor(123, 49, 212); -static QColor s_waveformBgColor = QColor(255, 255, 255, 0); -static QColor s_waveformMaskColor = QColor(151, 65, 255); // update this if s_waveformColor changes -static QColor s_waveformInnerColor = QColor(183, 124, 255); +static QColor s_waveformColor = QColor(123, 49, 212); // color of outer waveform +static QColor s_waveformSeekerBgColor = QColor(0, 0, 0, 255); +static QColor s_waveformEditorBgColor = QColor(15, 15, 15, 255); +static QColor s_waveformMaskColor = QColor(151, 65, 255); // update this if s_waveformColor changes +static QColor s_waveformInnerColor = QColor(183, 124, 255); // color of inner waveform -static QColor s_playColor = QColor(255, 255, 255, 200); -static QColor s_playHighlightColor = QColor(255, 255, 255, 70); +// now playing colors +static QColor s_playColor = QColor(255, 255, 255, 200); // now playing line +static QColor s_playHighlightColor = QColor(255, 255, 255, 70); // now playing note marker -static QColor s_sliceColor = QColor(218, 193, 255); -static QColor s_sliceShadowColor = QColor(136, 120, 158); -static QColor s_sliceHighlightColor = QColor(255, 255, 255); +// slice markers +static QColor s_sliceColor = QColor(218, 193, 255); // color of slice marker +static QColor s_sliceShadowColor = QColor(136, 120, 158); // color of dark side of slice marker +static QColor s_sliceHighlightColor = QColor(255, 255, 255); // color of highlighted slice marker -static QColor s_seekerColor = QColor(178, 115, 255); -static QColor s_seekerHighlightColor = QColor(178, 115, 255, 100); -static QColor s_seekerShadowColor = QColor(0, 0, 0, 120); +// seeker rect colors +static QColor s_seekerColor = QColor(178, 115, 255); // outline of seeker +static QColor s_seekerHighlightColor = QColor(178, 115, 255, 100); // inside of seeker +static QColor s_seekerShadowColor = QColor(0, 0, 0, 120); // color used for darkening outside seeker + +// decor colors +static QColor s_editorBounding = QColor(53, 22, 90); // color of the editor bounding box +static QColor s_gradientEnd = QColor(29, 16, 47); // end color of the seeker gradient SlicerTWaveform::SlicerTWaveform(int totalWidth, int totalHeight, SlicerT* instrument, QWidget* parent) : QWidget(parent) , m_width(totalWidth) , m_height(totalHeight) + , m_seekerHeight(40) , m_seekerWidth(totalWidth - s_seekerHorMargin * 2) - , m_editorHeight(totalHeight - s_seekerHeight - s_middleMargin) + , m_editorHeight(totalHeight - m_seekerHeight - s_middleMargin - s_seekerVerMargin) , m_editorWidth(totalWidth) , m_sliceArrow(PLUGIN_NAME::getIconPixmap("slice_indicator_arrow")) - , m_seeker(QPixmap(m_seekerWidth, s_seekerHeight)) - , m_seekerWaveform(QPixmap(m_seekerWidth, s_seekerHeight)) - , m_editorWaveform(QPixmap(m_editorWidth, m_editorHeight)) + , m_seeker(QPixmap(m_seekerWidth, m_seekerHeight)) + , m_seekerWaveform(QPixmap(m_seekerWidth, m_seekerHeight)) + , m_editorWaveform(QPixmap(m_editorWidth, m_editorHeight - s_arrowHeight)) , m_sliceEditor(QPixmap(totalWidth, m_editorHeight)) , m_emptySampleIcon(embed::getIconPixmap("sample_track")) , m_slicerTParent(instrument) { - setFixedSize(m_width, m_height); setMouseTracking(true); - m_seekerWaveform.fill(s_waveformBgColor); - m_editorWaveform.fill(s_waveformBgColor); + m_seekerWaveform.fill(s_waveformSeekerBgColor); + m_editorWaveform.fill(s_waveformEditorBgColor); connect(instrument, &SlicerT::isPlaying, this, &SlicerTWaveform::isPlaying); connect(instrument, &SlicerT::dataChanged, this, &SlicerTWaveform::updateUI); @@ -82,15 +92,31 @@ SlicerTWaveform::SlicerTWaveform(int totalWidth, int totalHeight, SlicerT* instr updateUI(); } +void SlicerTWaveform::resizeEvent(QResizeEvent* event) +{ + m_width = width(); + m_height = height(); + m_seekerWidth = m_width - s_seekerHorMargin * 2; + /* m_seekerHeight = m_height * 0.33f; */ + m_editorWidth = m_width; + m_editorHeight = m_height - m_seekerHeight - s_middleMargin - s_seekerVerMargin; + + m_seeker = QPixmap(m_seekerWidth, m_seekerHeight); + m_seekerWaveform = QPixmap(m_seekerWidth, m_seekerHeight); + m_editorWaveform = QPixmap(m_editorWidth, m_editorHeight - s_arrowHeight); + m_sliceEditor = QPixmap(m_width, m_editorHeight); + updateUI(); +} void SlicerTWaveform::drawSeekerWaveform() { - m_seekerWaveform.fill(s_waveformBgColor); + m_seekerWaveform.fill(s_emptyColor); if (m_slicerTParent->m_originalSample.sampleSize() <= 1) { return; } QPainter brush(&m_seekerWaveform); brush.setPen(s_waveformColor); const auto& sample = m_slicerTParent->m_originalSample; - const auto waveform = SampleWaveform::Parameters{sample.data(), sample.sampleSize(), sample.amplification(), sample.reversed()}; + const auto waveform + = SampleWaveform::Parameters{sample.data(), sample.sampleSize(), sample.amplification(), sample.reversed()}; const auto rect = QRect(0, 0, m_seekerWaveform.width(), m_seekerWaveform.height()); SampleWaveform::visualize(waveform, brush, rect); @@ -102,15 +128,16 @@ void SlicerTWaveform::drawSeekerWaveform() void SlicerTWaveform::drawSeeker() { - m_seeker.fill(s_emptyColor); + m_seeker.fill(s_waveformSeekerBgColor); if (m_slicerTParent->m_originalSample.sampleSize() <= 1) { return; } QPainter brush(&m_seeker); + brush.drawPixmap(0, 0, m_seekerWaveform); brush.setPen(s_sliceColor); for (float sliceValue : m_slicerTParent->m_slicePoints) { float xPos = sliceValue * m_seekerWidth; - brush.drawLine(xPos, 0, xPos, s_seekerHeight); + brush.drawLine(xPos, 0, xPos, m_seekerHeight); } float seekerStartPosX = m_seekerStart * m_seekerWidth; @@ -122,16 +149,16 @@ void SlicerTWaveform::drawSeeker() float noteEndPosX = (m_noteEnd - m_noteStart) * m_seekerWidth; brush.setPen(s_playColor); - brush.drawLine(noteCurrentPosX, 0, noteCurrentPosX, s_seekerHeight); - brush.fillRect(noteStartPosX, 0, noteEndPosX, s_seekerHeight, s_playHighlightColor); + brush.drawLine(noteCurrentPosX, 0, noteCurrentPosX, m_seekerHeight); + brush.fillRect(noteStartPosX, 0, noteEndPosX, m_seekerHeight, s_playHighlightColor); - brush.fillRect(seekerStartPosX, 0, seekerMiddleWidth - 1, s_seekerHeight, s_seekerHighlightColor); + brush.fillRect(seekerStartPosX, 0, seekerMiddleWidth - 1, m_seekerHeight, s_seekerHighlightColor); - brush.fillRect(0, 0, seekerStartPosX, s_seekerHeight, s_seekerShadowColor); - brush.fillRect(seekerEndPosX - 1, 0, m_seekerWidth, s_seekerHeight, s_seekerShadowColor); + brush.fillRect(0, 0, seekerStartPosX, m_seekerHeight, s_seekerShadowColor); + brush.fillRect(seekerEndPosX - 1, 0, m_seekerWidth, m_seekerHeight, s_seekerShadowColor); brush.setPen(QPen(s_seekerColor, 1)); - brush.drawRect(seekerStartPosX, 0, seekerMiddleWidth - 1, s_seekerHeight - 1); // -1 needed + brush.drawRoundedRect(seekerStartPosX, 0, seekerMiddleWidth - 1, m_seekerHeight - 1, 2, 2); } void SlicerTWaveform::drawEditorWaveform() @@ -147,7 +174,8 @@ void SlicerTWaveform::drawEditorWaveform() float zoomOffset = (m_editorHeight - m_zoomLevel * m_editorHeight) / 2; const auto& sample = m_slicerTParent->m_originalSample; - const auto waveform = SampleWaveform::Parameters{sample.data() + startFrame, endFrame - startFrame, sample.amplification(), sample.reversed()}; + const auto waveform = SampleWaveform::Parameters{ + sample.data() + startFrame, endFrame - startFrame, sample.amplification(), sample.reversed()}; const auto rect = QRect(0, zoomOffset, m_editorWidth, m_zoomLevel * m_editorHeight); SampleWaveform::visualize(waveform, brush, rect); @@ -159,7 +187,7 @@ void SlicerTWaveform::drawEditorWaveform() void SlicerTWaveform::drawEditor() { - m_sliceEditor.fill(s_waveformBgColor); + m_sliceEditor.fill(s_waveformEditorBgColor); QPainter brush(&m_sliceEditor); // No sample loaded @@ -185,13 +213,16 @@ void SlicerTWaveform::drawEditor() float noteLength = (m_noteEnd - m_noteStart) / (m_seekerEnd - m_seekerStart) * m_editorWidth; brush.setPen(s_playHighlightColor); - brush.drawLine(0, m_editorHeight / 2, m_editorWidth, m_editorHeight / 2); + int middleY = m_editorHeight / 2 + s_arrowHeight; + brush.drawLine(0, middleY, m_editorWidth, middleY); - brush.drawPixmap(0, 0, m_editorWaveform); + brush.drawPixmap(0, s_arrowHeight, m_editorWaveform); + + brush.fillRect(0, 0, m_editorWidth, s_arrowHeight, s_waveformSeekerBgColor); brush.setPen(s_playColor); - brush.drawLine(noteCurrentPos, 0, noteCurrentPos, m_editorHeight); - brush.fillRect(noteStartPos, 0, noteLength, m_editorHeight, s_playHighlightColor); + brush.drawLine(noteCurrentPos, s_arrowHeight, noteCurrentPos, m_editorHeight); + brush.fillRect(noteStartPos, s_arrowHeight, noteLength, m_editorHeight, s_playHighlightColor); brush.setPen(QPen(s_sliceColor, 2)); @@ -215,6 +246,11 @@ void SlicerTWaveform::drawEditor() brush.drawPixmap(xPos - m_sliceArrow.width() / 2.0f, 0, m_sliceArrow); } } + + // decor + brush.setPen(s_editorBounding); + brush.drawLine(0, s_arrowHeight, m_editorWidth, s_arrowHeight); + brush.drawLine(0, m_editorHeight - 1, m_editorWidth, m_editorHeight - 1); } void SlicerTWaveform::isPlaying(float current, float start, float end) @@ -248,7 +284,7 @@ void SlicerTWaveform::updateClosest(QMouseEvent* me) m_closestObject = UIObjects::Nothing; m_closestSlice = -1; - if (me->y() < s_seekerHeight) + if (me->y() < m_seekerHeight) { if (std::abs(normalizedClickSeeker - m_seekerStart) < s_distanceForClick) { @@ -394,7 +430,7 @@ void SlicerTWaveform::mouseMoveEvent(QMouseEvent* me) void SlicerTWaveform::mouseDoubleClickEvent(QMouseEvent* me) { - if (me->button() != Qt::MouseButton::LeftButton) { return; } + if (me->button() != Qt::MouseButton::LeftButton || me->y() < m_seekerHeight) { return; } float normalizedClickEditor = static_cast(me->x()) / m_editorWidth; float startFrame = m_seekerStart; @@ -416,9 +452,27 @@ void SlicerTWaveform::wheelEvent(QWheelEvent* we) void SlicerTWaveform::paintEvent(QPaintEvent* pe) { QPainter p(this); - p.drawPixmap(s_seekerHorMargin, 0, m_seekerWaveform); - p.drawPixmap(s_seekerHorMargin, 0, m_seeker); - p.drawPixmap(0, s_seekerHeight + s_middleMargin, m_sliceEditor); + + // top gradient + QLinearGradient bgGrad(QPointF(0, 0), QPointF(width(), height() - m_editorHeight)); + bgGrad.setColorAt(0, s_waveformEditorBgColor); + bgGrad.setColorAt(1, s_gradientEnd); + + p.setBrush(bgGrad); + p.setPen(s_emptyColor); + p.drawRect(QRect(0, 0, width(), height())); + p.setBrush(QBrush()); + + // seeker + QPainterPath path; + path.addRoundedRect( + QRect(s_seekerHorMargin - 2, s_seekerVerMargin - 2, m_seekerWidth + 4, m_seekerHeight + 4), 4, 4); + p.fillPath(path, s_seekerShadowColor); + p.drawPixmap(s_seekerHorMargin, s_seekerVerMargin, m_seeker); + + // editor + p.setPen(QColor(s_waveformColor)); + p.drawPixmap(0, m_seekerHeight + s_middleMargin + s_seekerVerMargin, m_sliceEditor); } } // namespace gui } // namespace lmms diff --git a/plugins/SlicerT/SlicerTWaveform.h b/plugins/SlicerT/SlicerTWaveform.h index 6478e7f86..d22e83f5e 100644 --- a/plugins/SlicerT/SlicerTWaveform.h +++ b/plugins/SlicerT/SlicerTWaveform.h @@ -32,9 +32,6 @@ #include #include -#include "Instrument.h" -#include "SampleBuffer.h" - namespace lmms { class SlicerT; @@ -54,8 +51,9 @@ public: // predefined sizes static constexpr int s_seekerHorMargin = 5; - static constexpr int s_seekerHeight = 38; // used to calcualte all vertical sizes + static constexpr int s_seekerVerMargin = 6; static constexpr int s_middleMargin = 6; + static constexpr int s_arrowHeight = 5; // interaction behavior values static constexpr float s_distanceForClick = 0.02f; @@ -80,11 +78,13 @@ protected: void wheelEvent(QWheelEvent* we) override; void paintEvent(QPaintEvent* pe) override; + void resizeEvent(QResizeEvent* event) override; private: int m_width; int m_height; + int m_seekerHeight; // used to calcualte all vertical sizes int m_seekerWidth; int m_editorHeight; int m_editorWidth; diff --git a/plugins/SlicerT/artwork.png b/plugins/SlicerT/artwork.png deleted file mode 100644 index e166273c705362e4e07b907a853492b138c566d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13791 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 literal 0 HcmV?d00001 diff --git a/plugins/SlicerT/sync_active.png b/plugins/SlicerT/sync_active.png new file mode 100644 index 0000000000000000000000000000000000000000..9db13c7944e1bee4eb457cd444edc94c5c81a560 GIT binary patch literal 1611 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 literal 0 HcmV?d00001 diff --git a/src/gui/EffectRackView.cpp b/src/gui/EffectRackView.cpp index eb8c6c43e..d815ea311 100644 --- a/src/gui/EffectRackView.cpp +++ b/src/gui/EffectRackView.cpp @@ -216,14 +216,16 @@ void EffectRackView::update() } else { + (*it)->resize(width() - 35, EffectView::DEFAULT_HEIGHT); ( *it )->move( EffectViewMargin, m_lastY ); + (*it)->update(); m_lastY += ( *it )->height(); ++nView; ++it; } } - w->setFixedSize( EffectView::DEFAULT_WIDTH + 2*EffectViewMargin, m_lastY); + w->resize(width() - 35 + 2 * EffectViewMargin, m_lastY); QWidget::update(); } diff --git a/src/gui/EffectView.cpp b/src/gui/EffectView.cpp index 6f2b984c3..32472afc6 100644 --- a/src/gui/EffectView.cpp +++ b/src/gui/EffectView.cpp @@ -52,8 +52,7 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) : m_controlView(nullptr), m_dragging(false) { - setFixedSize(EffectView::DEFAULT_WIDTH, EffectView::DEFAULT_HEIGHT); - setFocusPolicy(Qt::StrongFocus); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); // TODO: Actual effect resizing // Disable effects that are of type "DummyEffect" bool isEnabled = !dynamic_cast( effect() ); diff --git a/src/gui/instrument/EnvelopeAndLfoView.cpp b/src/gui/instrument/EnvelopeAndLfoView.cpp index 1b639e6c3..0f1f47e63 100644 --- a/src/gui/instrument/EnvelopeAndLfoView.cpp +++ b/src/gui/instrument/EnvelopeAndLfoView.cpp @@ -85,9 +85,11 @@ EnvelopeAndLfoView::EnvelopeAndLfoView(QWidget * parent) : envelopeLayout->addLayout(graphAndAmountLayout); m_envelopeGraph = new EnvelopeGraph(this); + m_envelopeGraph->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); graphAndAmountLayout->addWidget(m_envelopeGraph); m_amountKnob = buildKnob(tr("AMT"), tr("Modulation amount:")); + m_amountKnob->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); graphAndAmountLayout->addWidget(m_amountKnob, 0, Qt::AlignCenter); QHBoxLayout* envKnobsLayout = new QHBoxLayout(); diff --git a/src/gui/instrument/EnvelopeGraph.cpp b/src/gui/instrument/EnvelopeGraph.cpp index 4cf5da74b..3102c02a9 100644 --- a/src/gui/instrument/EnvelopeGraph.cpp +++ b/src/gui/instrument/EnvelopeGraph.cpp @@ -211,8 +211,8 @@ void EnvelopeGraph::paintEvent(QPaintEvent*) const QColor lineColor{ColorHelper::interpolateInRgb(noAmountColor, fullAmountColor, absAmount)}; // Determine the line width so that it scales with the widget - // Use the minimum value of the current width and height to compute it. - const qreal lineWidth = std::min(width(), height()) / 20.; + // Use the diagonal of the box to compute it + const qreal lineWidth = sqrt(width()*width() + height()*height()) / 80.; const QPen linePen{lineColor, lineWidth}; p.setPen(linePen); diff --git a/src/gui/instrument/InstrumentTrackWindow.cpp b/src/gui/instrument/InstrumentTrackWindow.cpp index 1d1d2d73c..1fb859662 100644 --- a/src/gui/instrument/InstrumentTrackWindow.cpp +++ b/src/gui/instrument/InstrumentTrackWindow.cpp @@ -105,7 +105,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : connect( m_nameLineEdit, SIGNAL( textChanged( const QString& ) ), this, SLOT( textChanged( const QString& ) ) ); - m_nameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred)); + m_nameLineEdit->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); nameAndChangeTrackLayout->addWidget(m_nameLineEdit, 1); @@ -118,7 +118,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : // m_leftRightNav->setShortcuts(); nameAndChangeTrackLayout->addWidget(m_leftRightNav); - + nameAndChangeTrackWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); generalSettingsLayout->addWidget( nameAndChangeTrackWidget ); auto basicControlsLayout = new QGridLayout; @@ -238,8 +238,8 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : m_ssView = new InstrumentSoundShapingView( m_tabWidget ); // FUNC tab - auto instrumentFunctions = new QWidget(m_tabWidget); - auto instrumentFunctionsLayout = new QVBoxLayout(instrumentFunctions); + m_instrumentFunctionsView = new QWidget(m_tabWidget); + auto instrumentFunctionsLayout = new QVBoxLayout(m_instrumentFunctionsView); instrumentFunctionsLayout->setContentsMargins(5, 5, 5, 5); m_noteStackingView = new InstrumentFunctionNoteStackingView( &m_track->m_noteStacking ); m_arpeggioView = new InstrumentFunctionArpeggioView( &m_track->m_arpeggio ); @@ -259,21 +259,21 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : m_tabWidget->addTab(m_ssView, tr("Envelope, filter & LFO"), "env_lfo_tab", 1); - m_tabWidget->addTab(instrumentFunctions, tr("Chord stacking & arpeggio"), "func_tab", 2); + m_tabWidget->addTab(m_instrumentFunctionsView, tr("Chord stacking & arpeggio"), "func_tab", 2); m_tabWidget->addTab(m_effectView, tr("Effects"), "fx_tab", 3); m_tabWidget->addTab(m_midiView, tr("MIDI"), "midi_tab", 4); m_tabWidget->addTab(m_tuningView, tr("Tuning and transposition"), "tuning_tab", 5); - adjustTabSize(m_ssView); - adjustTabSize(instrumentFunctions); - // EffectRackView has sizeHint to be QSize(EffectRackView::DEFAULT_WIDTH, INSTRUMENT_HEIGHT - 4 - 1) - adjustTabSize(m_midiView); - adjustTabSize(m_tuningView); // setup piano-widget m_pianoView = new PianoView( this ); m_pianoView->setMinimumHeight( PIANO_HEIGHT ); m_pianoView->setMaximumHeight( PIANO_HEIGHT ); + // setup sizes and policies + generalSettingsWidget->setMaximumHeight(90); + generalSettingsWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + m_tabWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + vlayout->addWidget( generalSettingsWidget ); // Use QWidgetItem explicitly to make the size hint change on instrument changes // QLayout::addWidget() uses QWidgetItemV2 with size hint caching @@ -281,13 +281,20 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : vlayout->addWidget( m_pianoView ); setModel( _itv->model() ); + updateInstrumentView(); + QMdiSubWindow* subWin = getGUI()->mainWindow()->addWindowedWidget( this ); Qt::WindowFlags flags = subWin->windowFlags(); - flags |= Qt::MSWindowsFixedSizeDialogHint; + if (!m_instrumentView->isResizable()) { + flags |= Qt::MSWindowsFixedSizeDialogHint; + // any better way than this? + } else { + subWin->setMaximumSize(m_instrumentView->maximumHeight() + 12, m_instrumentView->maximumWidth() + 208); + subWin->setMinimumSize( m_instrumentView->minimumWidth() + 12, m_instrumentView->minimumHeight() + 208); + } flags &= ~Qt::WindowMaximizeButtonHint; subWin->setWindowFlags( flags ); - updateInstrumentView(); // Hide the Size and Maximize options from the system menu // since the dialog size is fixed. @@ -296,10 +303,18 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : systemMenu->actions().at( 4 )->setVisible( false ); // Maximize subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) ); - subWin->setMinimumSize( subWin->size() ); subWin->hide(); } +void InstrumentTrackWindow::resizeEvent(QResizeEvent * event) { + /* m_instrumentView->resize(QSize(size().width()-1, maxHeight)); */ + adjustTabSize(m_instrumentView); + adjustTabSize(m_instrumentFunctionsView); + adjustTabSize(m_ssView); + adjustTabSize(m_effectView); + adjustTabSize(m_midiView); + adjustTabSize(m_tuningView); +} @@ -668,6 +683,13 @@ void InstrumentTrackWindow::viewInstrumentInDirection(int d) } Q_ASSERT(bringToFront); bringToFront->getInstrumentTrackWindow()->setFocus(); + Qt::WindowFlags flags = windowFlags(); + if (!m_instrumentView->isResizable()) { + flags |= Qt::MSWindowsFixedSizeDialogHint; + } else { + flags &= ~Qt::MSWindowsFixedSizeDialogHint; + } + setWindowFlags( flags ); } void InstrumentTrackWindow::viewNextInstrument() @@ -684,7 +706,8 @@ void InstrumentTrackWindow::adjustTabSize(QWidget *w) // "-1" : // in "TabWidget::addTab", under "Position tab's window", the widget is // moved up by 1 pixel - w->setMinimumSize(INSTRUMENT_WIDTH - 4, INSTRUMENT_HEIGHT - 4 - 1); + w->resize(width() - 4, height() - 180); + w->update(); } diff --git a/src/gui/instrument/InstrumentView.cpp b/src/gui/instrument/InstrumentView.cpp index fe2c04cfb..9b681b796 100644 --- a/src/gui/instrument/InstrumentView.cpp +++ b/src/gui/instrument/InstrumentView.cpp @@ -35,6 +35,7 @@ namespace lmms::gui InstrumentView::InstrumentView( Instrument * _Instrument, QWidget * _parent ) : PluginView( _Instrument, _parent ) { + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setModel( _Instrument ); setAttribute( Qt::WA_DeleteOnClose, true ); } @@ -44,6 +45,7 @@ InstrumentView::InstrumentView( Instrument * _Instrument, QWidget * _parent ) : InstrumentView::~InstrumentView() { + setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); if( instrumentTrackWindow() ) { instrumentTrackWindow()->m_instrumentView = nullptr; @@ -76,4 +78,4 @@ InstrumentTrackWindow * InstrumentView::instrumentTrackWindow() -} // namespace lmms::gui \ No newline at end of file +} // namespace lmms::gui From 4803bbb73ad3e7b9e36c39cabdec3aff6f1dafe4 Mon Sep 17 00:00:00 2001 From: saker Date: Wed, 18 Sep 2024 04:45:46 -0400 Subject: [PATCH 014/112] Shrink mixer channel strip (#7502) Remove all content margins and spacing between child widgets for each mixer channel strip. --- src/gui/MixerChannelView.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index 2a1fe0928..aa3ce5f87 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -33,7 +33,6 @@ #include "ConfigManager.h" #include "gui_templates.h" -#include "lmms_math.h" #include #include @@ -129,7 +128,8 @@ namespace lmms::gui m_effectRackView->setFixedWidth(EffectRackView::DEFAULT_WIDTH); auto mainLayout = new QVBoxLayout{this}; - mainLayout->setContentsMargins(4, 4, 4, 4); + mainLayout->setContentsMargins(0, 0, 0, 0); + mainLayout->setSpacing(0); mainLayout->addWidget(m_receiveArrow, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendButton, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendKnob, 0, Qt::AlignHCenter); @@ -492,4 +492,4 @@ namespace lmms::gui return Engine::mixer()->mixerChannel(m_channelIndex); } -} // namespace lmms::gui \ No newline at end of file +} // namespace lmms::gui From 01294192c8e39158e21e404bfec09139f78caaf3 Mon Sep 17 00:00:00 2001 From: saker Date: Wed, 18 Sep 2024 11:25:47 -0400 Subject: [PATCH 015/112] Fix Lb302 silence (#7504) This problem seem to arise due to casting _n->framesLeft() and _n->offset() from an unsigned type (size_t) to a signed type (int). The fix is to use size_t as the type for std::max across the board. --- plugins/Lb302/Lb302.cpp | 11 ++++------- plugins/Lb302/Lb302.h | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/plugins/Lb302/Lb302.cpp b/plugins/Lb302/Lb302.cpp index 0041b0c51..9cb82bd7c 100644 --- a/plugins/Lb302/Lb302.cpp +++ b/plugins/Lb302/Lb302.cpp @@ -462,7 +462,7 @@ inline float GET_INC(float freq) { return freq/Engine::audioEngine()->outputSampleRate(); // TODO: Use actual sampling rate. } -int Lb302Synth::process(SampleFrame* outbuf, const int size) +int Lb302Synth::process(SampleFrame* outbuf, const std::size_t size) { const float sampleRatio = 44100.f / Engine::audioEngine()->outputSampleRate(); @@ -498,13 +498,10 @@ int Lb302Synth::process(SampleFrame* outbuf, const int size) // hard coded value of 0.99897516. auto decay = computeDecayFactor(0.245260770975f, 1.f / 65536.f); - for( int i=0; i= release_frame ) - { - vca_mode = VcaMode::Decay; - } + if (i >= release_frame) { vca_mode = VcaMode::Decay; } // update vcf if(vcf_envpos >= ENVINC) { @@ -751,7 +748,7 @@ void Lb302Synth::playNote( NotePlayHandle * _n, SampleFrame* _working_buffer ) } m_notesMutex.unlock(); - release_frame = std::max(release_frame, static_cast(_n->framesLeft()) + static_cast(_n->offset())); + release_frame = std::max(release_frame, _n->framesLeft() + _n->offset()); } diff --git a/plugins/Lb302/Lb302.h b/plugins/Lb302/Lb302.h index 25a08592c..f9129af66 100644 --- a/plugins/Lb302/Lb302.h +++ b/plugins/Lb302/Lb302.h @@ -214,7 +214,7 @@ private: Lb302FilterKnobState fs; QAtomicPointer vcf; - int release_frame; + size_t release_frame; // More States int vcf_envpos; // Update counter. Updates when >= ENVINC @@ -246,7 +246,7 @@ private: void recalcFilter(); - int process(SampleFrame* outbuf, const int size); + int process(SampleFrame* outbuf, const std::size_t size); friend class gui::Lb302SynthView; From c952d56591b82d51fe2464af73dc6696b25649f8 Mon Sep 17 00:00:00 2001 From: saker Date: Thu, 19 Sep 2024 12:00:16 -0400 Subject: [PATCH 016/112] Restore some whitespace to the mixer channel layout (#7507) --- src/gui/MixerChannelView.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index aa3ce5f87..91705e5d0 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -113,7 +113,7 @@ namespace lmms::gui m_soloButton->setCheckable(true); m_soloButton->setToolTip(tr("Solo this channel")); - QVBoxLayout* soloMuteLayout = new QVBoxLayout(); + auto soloMuteLayout = new QVBoxLayout(); soloMuteLayout->setContentsMargins(0, 0, 0, 0); soloMuteLayout->setSpacing(0); soloMuteLayout->addWidget(m_soloButton, 0, Qt::AlignHCenter); @@ -128,15 +128,16 @@ namespace lmms::gui m_effectRackView->setFixedWidth(EffectRackView::DEFAULT_WIDTH); auto mainLayout = new QVBoxLayout{this}; - mainLayout->setContentsMargins(0, 0, 0, 0); - mainLayout->setSpacing(0); + mainLayout->setContentsMargins(4, 4, 4, 4); + mainLayout->setSpacing(2); + mainLayout->addWidget(m_receiveArrow, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendButton, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendKnob, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendArrow, 0, Qt::AlignHCenter); mainLayout->addWidget(m_channelNumberLcd, 0, Qt::AlignHCenter); mainLayout->addWidget(m_renameLineEditView, 0, Qt::AlignHCenter); - mainLayout->addLayout(soloMuteLayout, 0); + mainLayout->addLayout(soloMuteLayout); mainLayout->addWidget(m_peakIndicator); mainLayout->addWidget(m_fader, 1, Qt::AlignHCenter); From 1d7ed16dc93630ec12f55a992b71181b7e45a0a5 Mon Sep 17 00:00:00 2001 From: saker Date: Thu, 19 Sep 2024 12:53:40 -0400 Subject: [PATCH 017/112] Make the send button and receive arrow occupy the same space in mixer channels (#7503) --- include/MixerChannelView.h | 18 ++++----- src/gui/MixerChannelView.cpp | 72 ++++++++++++------------------------ src/gui/MixerView.cpp | 31 ++++++++++------ 3 files changed, 51 insertions(+), 70 deletions(-) diff --git a/include/MixerChannelView.h b/include/MixerChannelView.h index 7ccb8a24f..13d149e87 100644 --- a/include/MixerChannelView.h +++ b/include/MixerChannelView.h @@ -37,6 +37,7 @@ #include #include #include +#include namespace lmms { @@ -59,11 +60,6 @@ namespace lmms::gui Q_PROPERTY(QColor strokeInnerActive READ strokeInnerActive WRITE setStrokeInnerActive) Q_PROPERTY(QColor strokeInnerInactive READ strokeInnerInactive WRITE setStrokeInnerInactive) public: - enum class SendReceiveState - { - None, SendToThis, ReceiveFromThis - }; - MixerChannelView(QWidget* parent, MixerView* mixerView, int channelIndex); void paintEvent(QPaintEvent* event) override; void contextMenuEvent(QContextMenuEvent*) override; @@ -74,9 +70,6 @@ namespace lmms::gui int channelIndex() const; void setChannelIndex(int index); - SendReceiveState sendReceiveState() const; - void setSendReceiveState(const SendReceiveState& state); - QBrush backgroundActive() const; void setBackgroundActive(const QBrush& c); @@ -115,19 +108,22 @@ namespace lmms::gui private: SendButtonIndicator* m_sendButton; + QLabel* m_receiveArrow; + QStackedWidget* m_receiveArrowOrSendButton; + int m_receiveArrowStackedIndex = -1; + int m_sendButtonStackedIndex = -1; + Knob* m_sendKnob; LcdWidget* m_channelNumberLcd; QLineEdit* m_renameLineEdit; QGraphicsView* m_renameLineEditView; QLabel* m_sendArrow; - QLabel* m_receiveArrow; PixmapButton* m_muteButton; PixmapButton* m_soloButton; PeakIndicator* m_peakIndicator = nullptr; Fader* m_fader; EffectRackView* m_effectRackView; MixerView* m_mixerView; - SendReceiveState m_sendReceiveState = SendReceiveState::None; int m_channelIndex = 0; bool m_inRename = false; @@ -141,4 +137,4 @@ namespace lmms::gui }; } // namespace lmms::gui -#endif \ No newline at end of file +#endif // MIXER_CHANNEL_VIEW_H diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index 91705e5d0..b347a04a0 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -58,12 +58,33 @@ namespace lmms::gui widget->setSizePolicy(sizePolicy); }; + auto receiveArrowContainer = new QWidget{}; + auto receiveArrowLayout = new QVBoxLayout{receiveArrowContainer}; + m_receiveArrow = new QLabel{}; + m_receiveArrow->setPixmap(embed::getIconPixmap("receive_bg_arrow")); + receiveArrowLayout->setContentsMargins(0, 0, 0, 0); + receiveArrowLayout->setSpacing(0); + receiveArrowLayout->addWidget(m_receiveArrow, 0, Qt::AlignHCenter); + + auto sendButtonContainer = new QWidget{}; + auto sendButtonLayout = new QVBoxLayout{sendButtonContainer}; m_sendButton = new SendButtonIndicator{this, this, mixerView}; - retainSizeWhenHidden(m_sendButton); + sendButtonLayout->setContentsMargins(0, 0, 0, 0); + sendButtonLayout->setSpacing(0); + sendButtonLayout->addWidget(m_sendButton, 0, Qt::AlignHCenter); + + m_receiveArrowOrSendButton = new QStackedWidget{this}; + m_receiveArrowStackedIndex = m_receiveArrowOrSendButton->addWidget(receiveArrowContainer); + m_sendButtonStackedIndex = m_receiveArrowOrSendButton->addWidget(sendButtonContainer); + retainSizeWhenHidden(m_receiveArrowOrSendButton); m_sendKnob = new Knob{KnobType::Bright26, this, tr("Channel send amount")}; retainSizeWhenHidden(m_sendKnob); + m_sendArrow = new QLabel{}; + m_sendArrow->setPixmap(embed::getIconPixmap("send_bg_arrow")); + retainSizeWhenHidden(m_sendArrow); + m_channelNumberLcd = new LcdWidget{2, this}; m_channelNumberLcd->setValue(channelIndex); retainSizeWhenHidden(m_channelNumberLcd); @@ -89,16 +110,6 @@ namespace lmms::gui renameLineEditProxy->setRotation(-90); m_renameLineEditView->setFixedSize(m_renameLineEdit->height() + 5, m_renameLineEdit->width() + 5); - m_sendArrow = new QLabel{}; - m_sendArrow->setPixmap(embed::getIconPixmap("send_bg_arrow")); - retainSizeWhenHidden(m_sendArrow); - m_sendArrow->setVisible(m_sendReceiveState == SendReceiveState::SendToThis); - - m_receiveArrow = new QLabel{}; - m_receiveArrow->setPixmap(embed::getIconPixmap("receive_bg_arrow")); - retainSizeWhenHidden(m_receiveArrow); - m_receiveArrow->setVisible(m_sendReceiveState == SendReceiveState::ReceiveFromThis); - m_muteButton = new PixmapButton(this, tr("Mute")); m_muteButton->setModel(&mixerChannel->m_muteModel); m_muteButton->setActiveGraphic(embed::getIconPixmap("led_off")); @@ -131,8 +142,7 @@ namespace lmms::gui mainLayout->setContentsMargins(4, 4, 4, 4); mainLayout->setSpacing(2); - mainLayout->addWidget(m_receiveArrow, 0, Qt::AlignHCenter); - mainLayout->addWidget(m_sendButton, 0, Qt::AlignHCenter); + mainLayout->addWidget(m_receiveArrowOrSendButton, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendKnob, 0, Qt::AlignHCenter); mainLayout->addWidget(m_sendArrow, 0, Qt::AlignHCenter); mainLayout->addWidget(m_channelNumberLcd, 0, Qt::AlignHCenter); @@ -179,13 +189,11 @@ namespace lmms::gui void MixerChannelView::paintEvent(QPaintEvent* event) { - auto * mixer = Engine::mixer(); const auto channel = mixerChannel(); const bool muted = channel->m_muteModel.value(); const auto name = channel->m_name; const auto elidedName = elideName(name); - const auto * mixerChannelView = m_mixerView->currentMixerChannel(); - const auto isActive = mixerChannelView == this; + const auto isActive = m_mixerView->currentMixerChannel() == this; if (!m_inRename && m_renameLineEdit->text() != elidedName) { @@ -213,26 +221,6 @@ namespace lmms::gui painter.setPen(isActive ? strokeOuterActive() : strokeOuterInactive()); painter.drawRect(0, 0, width - MIXER_CHANNEL_OUTER_BORDER_SIZE, height - MIXER_CHANNEL_OUTER_BORDER_SIZE); - const auto & currentMixerChannelIndex = mixerChannelView->m_channelIndex; - const auto sendToThis = mixer->channelSendModel(currentMixerChannelIndex, m_channelIndex) != nullptr; - const auto receiveFromThis = mixer->channelSendModel(m_channelIndex, currentMixerChannelIndex) != nullptr; - const auto sendReceiveStateNone = !sendToThis && !receiveFromThis; - - // Only one or none of them can be on - assert(sendToThis ^ receiveFromThis || sendReceiveStateNone); - - m_sendArrow->setVisible(sendToThis); - m_receiveArrow->setVisible(receiveFromThis); - - if (sendReceiveStateNone) - { - setSendReceiveState(SendReceiveState::None); - } - else - { - setSendReceiveState(sendToThis ? SendReceiveState::SendToThis : SendReceiveState::ReceiveFromThis); - } - QWidget::paintEvent(event); } @@ -284,18 +272,6 @@ namespace lmms::gui m_channelIndex = index; } - MixerChannelView::SendReceiveState MixerChannelView::sendReceiveState() const - { - return m_sendReceiveState; - } - - void MixerChannelView::setSendReceiveState(const SendReceiveState& state) - { - m_sendReceiveState = state; - m_sendArrow->setVisible(state == SendReceiveState::SendToThis); - m_receiveArrow->setVisible(state == SendReceiveState::ReceiveFromThis); - } - QBrush MixerChannelView::backgroundActive() const { return m_backgroundActive; diff --git a/src/gui/MixerView.cpp b/src/gui/MixerView.cpp index 8152509f8..0388c0c7d 100644 --- a/src/gui/MixerView.cpp +++ b/src/gui/MixerView.cpp @@ -343,28 +343,37 @@ void MixerView::setCurrentMixerChannel(MixerChannelView* channel) void MixerView::updateMixerChannel(int index) { - Mixer * mix = getMixer(); + const auto mixer = getMixer(); - // does current channel send to this channel? - int selIndex = m_currentMixerChannel->channelIndex(); - auto thisLine = m_mixerChannelViews[index]; + const auto currentIndex = m_currentMixerChannel->channelIndex(); + const auto thisLine = m_mixerChannelViews[index]; thisLine->setToolTip(getMixer()->mixerChannel(index)->m_name); - FloatModel * sendModel = mix->channelSendModel(selIndex, index); - if (sendModel == nullptr) + const auto sendModelCurrentToThis = mixer->channelSendModel(currentIndex, index); + if (sendModelCurrentToThis == nullptr) { - // does not send, hide send knob thisLine->m_sendKnob->setVisible(false); + thisLine->m_sendArrow->setVisible(false); } else { - // it does send, show knob and connect thisLine->m_sendKnob->setVisible(true); - thisLine->m_sendKnob->setModel(sendModel); + thisLine->m_sendKnob->setModel(sendModelCurrentToThis); + thisLine->m_sendArrow->setVisible(true); + } + + const auto sendModelThisToCurrent = mixer->channelSendModel(index, currentIndex); + if (sendModelThisToCurrent) + { + thisLine->m_receiveArrowOrSendButton->setVisible(true); + thisLine->m_receiveArrowOrSendButton->setCurrentIndex(thisLine->m_receiveArrowStackedIndex); + } + else + { + thisLine->m_receiveArrowOrSendButton->setVisible(!mixer->isInfiniteLoop(currentIndex, index)); + thisLine->m_receiveArrowOrSendButton->setCurrentIndex(thisLine->m_sendButtonStackedIndex); } - // disable the send button if it would cause an infinite loop - thisLine->m_sendButton->setVisible(!mix->isInfiniteLoop(selIndex, index)); thisLine->m_sendButton->updateLightStatus(); thisLine->update(); } From 18252088ba1dcbf5218e0bf7cb6604522a64185c Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Fri, 20 Sep 2024 20:00:36 -0400 Subject: [PATCH 018/112] Refactor Effect processing (#7484) * Move common effect processing code to wrapper method - Introduce `processImpl` and `sleepImpl` methods, and adapt each effect plugin to use them - Use double for RMS out sum in Compressor and LOMM - Run `checkGate` for GranularPitchShifterEffect - Minor changes to LadspaEffect - Remove dynamic allocations and VLAs from VstEffect's process method - Some minor style/formatting fixes * Fix VstEffect regression * GranularPitchShifterEffect should not call `checkGate` * Apply suggestions from code review Co-authored-by: saker * Follow naming convention for local variables * Add `MAXIMUM_BUFFER_SIZE` and use it in VstEffect * Revert "GranularPitchShifterEffect should not call `checkGate`" This reverts commit 67526f0ffe8e98e89fcc9b3201a0e53a9bf5a2be. * VstEffect: Simplify setting "Don't Run" state * Rename `sleepImpl` to `processBypassedImpl` * Use `MAXIMUM_BUFFER_SIZE` in SetupDialog * Pass `outSum` as out parameter; Fix LadspaEffect mutex * Move outSum calculations to wrapper method * Fix Linux build * Oops * Apply suggestions from code review Co-authored-by: Johannes Lorenz <1042576+JohannesLorenz@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: saker --------- Co-authored-by: saker Co-authored-by: Johannes Lorenz <1042576+JohannesLorenz@users.noreply.github.com> --- include/AudioEngine.h | 13 ++-- include/DummyEffect.h | 5 +- include/Effect.h | 42 +++++++++--- plugins/Amplifier/Amplifier.cpp | 11 +--- plugins/Amplifier/Amplifier.h | 3 +- plugins/BassBooster/BassBooster.cpp | 13 +--- plugins/BassBooster/BassBooster.h | 3 +- plugins/Bitcrush/Bitcrush.cpp | 13 +--- plugins/Bitcrush/Bitcrush.h | 5 +- plugins/Compressor/Compressor.cpp | 46 ++++++------- plugins/Compressor/Compressor.h | 4 +- plugins/CrossoverEQ/CrossoverEQ.cpp | 16 ++--- plugins/CrossoverEQ/CrossoverEQ.h | 3 +- plugins/Delay/DelayEffect.cpp | 13 +--- plugins/Delay/DelayEffect.h | 4 +- plugins/Dispersion/Dispersion.cpp | 12 +--- plugins/Dispersion/Dispersion.h | 3 +- plugins/DualFilter/DualFilter.cpp | 17 ++--- plugins/DualFilter/DualFilter.h | 3 +- .../DynamicsProcessor/DynamicsProcessor.cpp | 29 ++++----- plugins/DynamicsProcessor/DynamicsProcessor.h | 5 +- plugins/Eq/EqEffect.cpp | 18 ++--- plugins/Eq/EqEffect.h | 4 +- plugins/Flanger/FlangerEffect.cpp | 12 +--- plugins/Flanger/FlangerEffect.h | 4 +- .../GranularPitchShifterEffect.cpp | 6 +- .../GranularPitchShifterEffect.h | 3 +- plugins/LOMM/LOMM.cpp | 12 +--- plugins/LOMM/LOMM.h | 3 +- plugins/LadspaEffect/LadspaEffect.cpp | 55 +++++++--------- plugins/LadspaEffect/LadspaEffect.h | 5 +- plugins/Lv2Effect/Lv2Effect.cpp | 10 +-- plugins/Lv2Effect/Lv2Effect.h | 3 +- plugins/MultitapEcho/MultitapEcho.cpp | 13 +--- plugins/MultitapEcho/MultitapEcho.h | 3 +- .../PeakControllerEffect.cpp | 28 +++----- .../PeakControllerEffect.h | 4 +- plugins/ReverbSC/ReverbSC.cpp | 15 +---- plugins/ReverbSC/ReverbSC.h | 3 +- plugins/SpectrumAnalyzer/Analyzer.cpp | 8 +-- plugins/SpectrumAnalyzer/Analyzer.h | 3 +- plugins/StereoEnhancer/StereoEnhancer.cpp | 31 +++------ plugins/StereoEnhancer/StereoEnhancer.h | 4 +- plugins/StereoMatrix/StereoMatrix.cpp | 33 +++------- plugins/StereoMatrix/StereoMatrix.h | 4 +- plugins/Vectorscope/Vectorscope.cpp | 9 ++- plugins/Vectorscope/Vectorscope.h | 3 +- plugins/VstEffect/VstEffect.cpp | 65 +++++++------------ plugins/VstEffect/VstEffect.h | 6 +- plugins/WaveShaper/WaveShaper.cpp | 22 ++----- plugins/WaveShaper/WaveShaper.h | 4 +- src/core/Effect.cpp | 39 ++++++++++- src/gui/modals/SetupDialog.cpp | 2 +- 53 files changed, 290 insertions(+), 407 deletions(-) diff --git a/include/AudioEngine.h b/include/AudioEngine.h index c01b2ea1a..f6d8692b5 100644 --- a/include/AudioEngine.h +++ b/include/AudioEngine.h @@ -50,14 +50,15 @@ class AudioPort; class AudioEngineWorkerThread; -const fpp_t MINIMUM_BUFFER_SIZE = 32; -const fpp_t DEFAULT_BUFFER_SIZE = 256; +constexpr fpp_t MINIMUM_BUFFER_SIZE = 32; +constexpr fpp_t DEFAULT_BUFFER_SIZE = 256; +constexpr fpp_t MAXIMUM_BUFFER_SIZE = 4096; -const int BYTES_PER_SAMPLE = sizeof( sample_t ); -const int BYTES_PER_INT_SAMPLE = sizeof( int_sample_t ); -const int BYTES_PER_FRAME = sizeof( SampleFrame ); +constexpr int BYTES_PER_SAMPLE = sizeof(sample_t); +constexpr int BYTES_PER_INT_SAMPLE = sizeof(int_sample_t); +constexpr int BYTES_PER_FRAME = sizeof(SampleFrame); -const float OUTPUT_SAMPLE_MULTIPLIER = 32767.0f; +constexpr float OUTPUT_SAMPLE_MULTIPLIER = 32767.0f; class LMMS_EXPORT AudioEngine : public QObject { diff --git a/include/DummyEffect.h b/include/DummyEffect.h index e2e649ab5..3a1061ead 100644 --- a/include/DummyEffect.h +++ b/include/DummyEffect.h @@ -98,6 +98,7 @@ public: m_originalPluginData( originalPluginData ) { setName(); + setDontRun(true); } ~DummyEffect() override = default; @@ -107,9 +108,9 @@ public: return &m_controls; } - bool processAudioBuffer( SampleFrame*, const fpp_t ) override + ProcessStatus processImpl(SampleFrame*, const fpp_t) override { - return false; + return ProcessStatus::Sleep; } const QDomElement& originalPluginData() const diff --git a/include/Effect.h b/include/Effect.h index 34f8be00a..7eb911701 100644 --- a/include/Effect.h +++ b/include/Effect.h @@ -63,9 +63,8 @@ public: return "effect"; } - - virtual bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) = 0; + //! Returns true if audio was processed and should continue being processed + bool processAudioBuffer(SampleFrame* buf, const fpp_t frames); inline ch_cnt_t processorCount() const { @@ -174,14 +173,29 @@ public: protected: - /** - Effects should call this at the end of audio processing + enum class ProcessStatus + { + //! Unconditionally continue processing + Continue, + + //! Calculate the RMS out sum and call `checkGate` to determine whether to stop processing + ContinueIfNotQuiet, + + //! Do not continue processing + Sleep + }; + + /** + * The main audio processing method that runs when plugin is not asleep + */ + virtual ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) = 0; + + /** + * Optional method that runs when plugin is sleeping (not enabled, + * not running, not in the Okay state, or in the Don't Run state) + */ + virtual void processBypassedImpl() {} - If the setting "Keep effects running even without input" is disabled, - after "decay" ms of a signal below "gate", the effect is turned off - and won't be processed again until it receives new audio input - */ - void checkGate( double _out_sum ); gui::PluginView* instantiateView( QWidget * ) override; @@ -212,6 +226,14 @@ protected: private: + /** + If the setting "Keep effects running even without input" is disabled, + after "decay" ms of a signal below "gate", the effect is turned off + and won't be processed again until it receives new audio input + */ + void checkGate(double outSum); + + EffectChain * m_parent; void resample( int _i, const SampleFrame* _src_buf, sample_rate_t _src_sr, diff --git a/plugins/Amplifier/Amplifier.cpp b/plugins/Amplifier/Amplifier.cpp index 2f4e57f77..04fd98682 100644 --- a/plugins/Amplifier/Amplifier.cpp +++ b/plugins/Amplifier/Amplifier.cpp @@ -57,11 +57,8 @@ AmplifierEffect::AmplifierEffect(Model* parent, const Descriptor::SubPluginFeatu } -bool AmplifierEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +Effect::ProcessStatus AmplifierEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning()) { return false ; } - - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -86,13 +83,9 @@ bool AmplifierEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) // Dry/wet mix currentFrame = currentFrame * d + s * w; - - outSum += currentFrame.sumOfSquaredAmplitudes(); } - checkGate(outSum / frames); - - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/Amplifier/Amplifier.h b/plugins/Amplifier/Amplifier.h index 8be938001..8c0667316 100644 --- a/plugins/Amplifier/Amplifier.h +++ b/plugins/Amplifier/Amplifier.h @@ -37,7 +37,8 @@ class AmplifierEffect : public Effect public: AmplifierEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* key); ~AmplifierEffect() override = default; - bool processAudioBuffer(SampleFrame* buf, const fpp_t frames) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/BassBooster/BassBooster.cpp b/plugins/BassBooster/BassBooster.cpp index f12fd6ace..ae914c85d 100644 --- a/plugins/BassBooster/BassBooster.cpp +++ b/plugins/BassBooster/BassBooster.cpp @@ -69,12 +69,8 @@ BassBoosterEffect::BassBoosterEffect( Model* parent, const Descriptor::SubPlugin -bool BassBoosterEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus BassBoosterEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } // check out changed controls if( m_frequencyChangeNeeded || m_bbControls.m_freqModel.isValueChanged() ) { @@ -87,7 +83,6 @@ bool BassBoosterEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames const float const_gain = m_bbControls.m_gainModel.value(); const ValueBuffer *gainBuffer = m_bbControls.m_gainModel.valueBuffer(); - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -102,13 +97,9 @@ bool BassBoosterEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames // Dry/wet mix currentFrame = currentFrame * d + s * w; - - outSum += currentFrame.sumOfSquaredAmplitudes(); } - checkGate( outSum / frames ); - - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/BassBooster/BassBooster.h b/plugins/BassBooster/BassBooster.h index 64c4e354d..f46c910a3 100644 --- a/plugins/BassBooster/BassBooster.h +++ b/plugins/BassBooster/BassBooster.h @@ -38,7 +38,8 @@ class BassBoosterEffect : public Effect public: BassBoosterEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ); ~BassBoosterEffect() override = default; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/Bitcrush/Bitcrush.cpp b/plugins/Bitcrush/Bitcrush.cpp index ea1c43acb..7b9e8f8ef 100644 --- a/plugins/Bitcrush/Bitcrush.cpp +++ b/plugins/Bitcrush/Bitcrush.cpp @@ -100,13 +100,8 @@ inline float BitcrushEffect::noise( float amt ) return fastRandf( amt * 2.0f ) - amt; } -bool BitcrushEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus BitcrushEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - // update values if( m_needsUpdate || m_controls.m_rateEnabled.isValueChanged() ) { @@ -222,7 +217,6 @@ bool BitcrushEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) // now downsample and write it back to main buffer - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); for (auto f = std::size_t{0}; f < frames; ++f) @@ -236,12 +230,9 @@ bool BitcrushEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) } buf[f][0] = d * buf[f][0] + w * qBound( -m_outClip, lsum, m_outClip ) * m_outGain; buf[f][1] = d * buf[f][1] + w * qBound( -m_outClip, rsum, m_outClip ) * m_outGain; - outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; } - checkGate( outSum / frames ); - - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/Bitcrush/Bitcrush.h b/plugins/Bitcrush/Bitcrush.h index 009c7c02d..4957ea9ec 100644 --- a/plugins/Bitcrush/Bitcrush.h +++ b/plugins/Bitcrush/Bitcrush.h @@ -41,13 +41,14 @@ class BitcrushEffect : public Effect public: BitcrushEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ); ~BitcrushEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { return &m_controls; } - + private: void sampleRateChanged(); float depthCrush( float in ); diff --git a/plugins/Compressor/Compressor.cpp b/plugins/Compressor/Compressor.cpp index c04893361..1e4c0d0f6 100755 --- a/plugins/Compressor/Compressor.cpp +++ b/plugins/Compressor/Compressor.cpp @@ -233,31 +233,10 @@ void CompressorEffect::calcMix() -bool CompressorEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +Effect::ProcessStatus CompressorEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning()) - { - // Clear lookahead buffers and other values when needed - if (!m_cleanedBuffers) - { - m_yL[0] = m_yL[1] = COMP_NOISE_FLOOR; - m_gainResult[0] = m_gainResult[1] = 1; - m_displayPeak[0] = m_displayPeak[1] = COMP_NOISE_FLOOR; - m_displayGain[0] = m_displayGain[1] = COMP_NOISE_FLOOR; - std::fill(std::begin(m_scLookBuf[0]), std::end(m_scLookBuf[0]), COMP_NOISE_FLOOR); - std::fill(std::begin(m_scLookBuf[1]), std::end(m_scLookBuf[1]), COMP_NOISE_FLOOR); - std::fill(std::begin(m_inLookBuf[0]), std::end(m_inLookBuf[0]), 0); - std::fill(std::begin(m_inLookBuf[1]), std::end(m_inLookBuf[1]), 0); - m_cleanedBuffers = true; - } - return false; - } - else - { - m_cleanedBuffers = false; - } + m_cleanedBuffers = false; - float outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -516,8 +495,6 @@ bool CompressorEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) buf[f][0] = (1 - m_mixVal) * temp1 + m_mixVal * buf[f][0]; buf[f][1] = (1 - m_mixVal) * temp2 + m_mixVal * buf[f][1]; - outSum += buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; - if (--m_lookWrite < 0) { m_lookWrite = m_lookBufLength - 1; } lInPeak = drySignal[0] > lInPeak ? drySignal[0] : lInPeak; @@ -526,15 +503,30 @@ bool CompressorEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) rOutPeak = s[1] > rOutPeak ? s[1] : rOutPeak; } - checkGate(outSum / frames); m_compressorControls.m_outPeakL = lOutPeak; m_compressorControls.m_outPeakR = rOutPeak; m_compressorControls.m_inPeakL = lInPeak; m_compressorControls.m_inPeakR = rInPeak; - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } +void CompressorEffect::processBypassedImpl() +{ + // Clear lookahead buffers and other values when needed + if (!m_cleanedBuffers) + { + m_yL[0] = m_yL[1] = COMP_NOISE_FLOOR; + m_gainResult[0] = m_gainResult[1] = 1; + m_displayPeak[0] = m_displayPeak[1] = COMP_NOISE_FLOOR; + m_displayGain[0] = m_displayGain[1] = COMP_NOISE_FLOOR; + std::fill(std::begin(m_scLookBuf[0]), std::end(m_scLookBuf[0]), COMP_NOISE_FLOOR); + std::fill(std::begin(m_scLookBuf[1]), std::end(m_scLookBuf[1]), COMP_NOISE_FLOOR); + std::fill(std::begin(m_inLookBuf[0]), std::end(m_inLookBuf[0]), 0); + std::fill(std::begin(m_inLookBuf[1]), std::end(m_inLookBuf[1]), 0); + m_cleanedBuffers = true; + } +} // Regular modulo doesn't handle negative numbers correctly. This does. inline int CompressorEffect::realmod(int k, int n) diff --git a/plugins/Compressor/Compressor.h b/plugins/Compressor/Compressor.h index af322de97..d4c9625c9 100755 --- a/plugins/Compressor/Compressor.h +++ b/plugins/Compressor/Compressor.h @@ -43,7 +43,9 @@ class CompressorEffect : public Effect public: CompressorEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* key); ~CompressorEffect() override = default; - bool processAudioBuffer(SampleFrame* buf, const fpp_t frames) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + void processBypassedImpl() override; EffectControls* controls() override { diff --git a/plugins/CrossoverEQ/CrossoverEQ.cpp b/plugins/CrossoverEQ/CrossoverEQ.cpp index 2142d040c..e221dc525 100644 --- a/plugins/CrossoverEQ/CrossoverEQ.cpp +++ b/plugins/CrossoverEQ/CrossoverEQ.cpp @@ -89,13 +89,8 @@ void CrossoverEQEffect::sampleRateChanged() } -bool CrossoverEQEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus CrossoverEQEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - // filters update if( m_needsUpdate || m_controls.m_xover12.isValueChanged() ) { @@ -192,17 +187,14 @@ bool CrossoverEQEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames const float d = dryLevel(); const float w = wetLevel(); - double outSum = 0.0; + for (auto f = std::size_t{0}; f < frames; ++f) { buf[f][0] = d * buf[f][0] + w * m_work[f][0]; buf[f][1] = d * buf[f][1] + w * m_work[f][1]; - outSum += buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; } - - checkGate( outSum / frames ); - - return isRunning(); + + return ProcessStatus::ContinueIfNotQuiet; } void CrossoverEQEffect::clearFilterHistories() diff --git a/plugins/CrossoverEQ/CrossoverEQ.h b/plugins/CrossoverEQ/CrossoverEQ.h index 078e51c21..276e2c131 100644 --- a/plugins/CrossoverEQ/CrossoverEQ.h +++ b/plugins/CrossoverEQ/CrossoverEQ.h @@ -40,7 +40,8 @@ class CrossoverEQEffect : public Effect public: CrossoverEQEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ); ~CrossoverEQEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/Delay/DelayEffect.cpp b/plugins/Delay/DelayEffect.cpp index 4e90c0fa8..baf015916 100644 --- a/plugins/Delay/DelayEffect.cpp +++ b/plugins/Delay/DelayEffect.cpp @@ -81,13 +81,8 @@ DelayEffect::~DelayEffect() -bool DelayEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus DelayEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - double outSum = 0.0; const float sr = Engine::audioEngine()->outputSampleRate(); const float d = dryLevel(); const float w = wetLevel(); @@ -135,19 +130,17 @@ bool DelayEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) // Dry/wet mix currentFrame = dryS * d + currentFrame * w; - - outSum += currentFrame.sumOfSquaredAmplitudes(); lengthPtr += lengthInc; amplitudePtr += amplitudeInc; lfoTimePtr += lfoTimeInc; feedbackPtr += feedbackInc; } - checkGate( outSum / frames ); + m_delayControls.m_outPeakL = peak.left(); m_delayControls.m_outPeakR = peak.right(); - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } void DelayEffect::changeSampleRate() diff --git a/plugins/Delay/DelayEffect.h b/plugins/Delay/DelayEffect.h index b7e2cfef0..fc6a21fd6 100644 --- a/plugins/Delay/DelayEffect.h +++ b/plugins/Delay/DelayEffect.h @@ -39,7 +39,9 @@ class DelayEffect : public Effect public: DelayEffect(Model* parent , const Descriptor::SubPluginFeatures::Key* key ); ~DelayEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + EffectControls* controls() override { return &m_delayControls; diff --git a/plugins/Dispersion/Dispersion.cpp b/plugins/Dispersion/Dispersion.cpp index a2fada615..4d8dd40b0 100644 --- a/plugins/Dispersion/Dispersion.cpp +++ b/plugins/Dispersion/Dispersion.cpp @@ -58,14 +58,8 @@ DispersionEffect::DispersionEffect(Model* parent, const Descriptor::SubPluginFea } -bool DispersionEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +Effect::ProcessStatus DispersionEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning()) - { - return false; - } - - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -122,11 +116,9 @@ bool DispersionEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) buf[f][0] = d * buf[f][0] + w * s[0]; buf[f][1] = d * buf[f][1] + w * s[1]; - outSum += buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; } - checkGate(outSum / frames); - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/Dispersion/Dispersion.h b/plugins/Dispersion/Dispersion.h index e3d5d4b5c..27365950d 100644 --- a/plugins/Dispersion/Dispersion.h +++ b/plugins/Dispersion/Dispersion.h @@ -41,7 +41,8 @@ class DispersionEffect : public Effect public: DispersionEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* key); ~DispersionEffect() override = default; - bool processAudioBuffer(SampleFrame* buf, const fpp_t frames) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/DualFilter/DualFilter.cpp b/plugins/DualFilter/DualFilter.cpp index b337e1003..397180b8e 100644 --- a/plugins/DualFilter/DualFilter.cpp +++ b/plugins/DualFilter/DualFilter.cpp @@ -77,23 +77,17 @@ DualFilterEffect::~DualFilterEffect() -bool DualFilterEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus DualFilterEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); - if( m_dfControls.m_filter1Model.isValueChanged() || m_filter1changed ) + if (m_dfControls.m_filter1Model.isValueChanged() || m_filter1changed) { m_filter1->setFilterType( static_cast::FilterType>(m_dfControls.m_filter1Model.value()) ); m_filter1changed = true; } - if( m_dfControls.m_filter2Model.isValueChanged() || m_filter2changed ) + if (m_dfControls.m_filter2Model.isValueChanged() || m_filter2changed) { m_filter2->setFilterType( static_cast::FilterType>(m_dfControls.m_filter2Model.value()) ); m_filter2changed = true; @@ -201,7 +195,6 @@ bool DualFilterEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames // do another mix with dry signal buf[f][0] = d * buf[f][0] + w * s[0]; buf[f][1] = d * buf[f][1] + w * s[1]; - outSum += buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; //increment pointers cut1Ptr += cut1Inc; @@ -213,9 +206,7 @@ bool DualFilterEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames mixPtr += mixInc; } - checkGate( outSum / frames ); - - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } void DualFilterEffect::onEnabledChanged() diff --git a/plugins/DualFilter/DualFilter.h b/plugins/DualFilter/DualFilter.h index 6c53f61ef..dc573a8d6 100644 --- a/plugins/DualFilter/DualFilter.h +++ b/plugins/DualFilter/DualFilter.h @@ -40,7 +40,8 @@ class DualFilterEffect : public Effect public: DualFilterEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ); ~DualFilterEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/DynamicsProcessor/DynamicsProcessor.cpp b/plugins/DynamicsProcessor/DynamicsProcessor.cpp index 5b251a6f0..752e63e23 100644 --- a/plugins/DynamicsProcessor/DynamicsProcessor.cpp +++ b/plugins/DynamicsProcessor/DynamicsProcessor.cpp @@ -91,15 +91,8 @@ inline void DynProcEffect::calcRelease() } -bool DynProcEffect::processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) +Effect::ProcessStatus DynProcEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { -//apparently we can't keep running after the decay value runs out so we'll just set the peaks to zero - m_currentPeak[0] = m_currentPeak[1] = DYN_NOISE_FLOOR; - return( false ); - } //qDebug( "%f %f", m_currentPeak[0], m_currentPeak[1] ); // variables for effect @@ -107,7 +100,6 @@ bool DynProcEffect::processAudioBuffer( SampleFrame* _buf, auto sm_peak = std::array{0.0f, 0.0f}; - double out_sum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -140,9 +132,9 @@ bool DynProcEffect::processAudioBuffer( SampleFrame* _buf, } } - for( fpp_t f = 0; f < _frames; ++f ) + for (fpp_t f = 0; f < frames; ++f) { - auto s = std::array{_buf[f][0], _buf[f][1]}; + auto s = std::array{buf[f][0], buf[f][1]}; // apply input gain s[0] *= inputGain; @@ -210,17 +202,18 @@ bool DynProcEffect::processAudioBuffer( SampleFrame* _buf, s[1] *= outputGain; // mix wet/dry signals - _buf[f][0] = d * _buf[f][0] + w * s[0]; - _buf[f][1] = d * _buf[f][1] + w * s[1]; - out_sum += _buf[f][0] * _buf[f][0] + _buf[f][1] * _buf[f][1]; + buf[f][0] = d * buf[f][0] + w * s[0]; + buf[f][1] = d * buf[f][1] + w * s[1]; } - checkGate( out_sum / _frames ); - - return( isRunning() ); + return ProcessStatus::ContinueIfNotQuiet; } - +void DynProcEffect::processBypassedImpl() +{ + // Apparently we can't keep running after the decay value runs out so we'll just set the peaks to zero + m_currentPeak[0] = m_currentPeak[1] = DYN_NOISE_FLOOR; +} diff --git a/plugins/DynamicsProcessor/DynamicsProcessor.h b/plugins/DynamicsProcessor/DynamicsProcessor.h index 970690d8d..fbf5d930a 100644 --- a/plugins/DynamicsProcessor/DynamicsProcessor.h +++ b/plugins/DynamicsProcessor/DynamicsProcessor.h @@ -42,8 +42,9 @@ public: DynProcEffect( Model * _parent, const Descriptor::SubPluginFeatures::Key * _key ); ~DynProcEffect() override; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + void processBypassedImpl() override; EffectControls * controls() override { diff --git a/plugins/Eq/EqEffect.cpp b/plugins/Eq/EqEffect.cpp index 662b85a8e..6859529f4 100644 --- a/plugins/Eq/EqEffect.cpp +++ b/plugins/Eq/EqEffect.cpp @@ -64,7 +64,7 @@ EqEffect::EqEffect( Model *parent, const Plugin::Descriptor::SubPluginFeatures:: -bool EqEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus EqEffect::processImpl(SampleFrame* buf, const fpp_t frames) { const int sampleRate = Engine::audioEngine()->outputSampleRate(); @@ -131,13 +131,6 @@ bool EqEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) m_lp481.setParameters( sampleRate, lpFreq, lpRes, 1 ); - - - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - if( m_eqControls.m_outGainModel.isValueChanged() ) { m_outGain = dbfsToAmp(m_eqControls.m_outGainModel.value()); @@ -151,9 +144,9 @@ bool EqEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) m_eqControls.m_inProgress = true; double outSum = 0.0; - for( fpp_t f = 0; f < frames; ++f ) + for (fpp_t f = 0; f < frames; ++f) { - outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; + outSum += buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; } const float outGain = m_outGain; @@ -268,8 +261,6 @@ bool EqEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) m_eqControls.m_outPeakL = m_eqControls.m_outPeakL < outPeak[0] ? outPeak[0] : m_eqControls.m_outPeakL; m_eqControls.m_outPeakR = m_eqControls.m_outPeakR < outPeak[1] ? outPeak[1] : m_eqControls.m_outPeakR; - checkGate( outSum / frames ); - if(m_eqControls.m_analyseOutModel.value( true ) && outSum > 0 && m_eqControls.isViewVisible() ) { m_eqControls.m_outFftBands.analyze( buf, frames ); @@ -281,7 +272,8 @@ bool EqEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) } m_eqControls.m_inProgress = false; - return isRunning(); + + return Effect::ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/Eq/EqEffect.h b/plugins/Eq/EqEffect.h index ca0ebb1b9..35e1b12b5 100644 --- a/plugins/Eq/EqEffect.h +++ b/plugins/Eq/EqEffect.h @@ -40,7 +40,9 @@ class EqEffect : public Effect public: EqEffect( Model * parent , const Descriptor::SubPluginFeatures::Key * key ); ~EqEffect() override = default; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + EffectControls * controls() override { return &m_eqControls; diff --git a/plugins/Flanger/FlangerEffect.cpp b/plugins/Flanger/FlangerEffect.cpp index 184df161e..c13de47cd 100644 --- a/plugins/Flanger/FlangerEffect.cpp +++ b/plugins/Flanger/FlangerEffect.cpp @@ -85,13 +85,8 @@ FlangerEffect::~FlangerEffect() -bool FlangerEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus FlangerEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); const float length = m_flangerControls.m_delayTimeModel.value() * Engine::audioEngine()->outputSampleRate(); @@ -127,10 +122,9 @@ bool FlangerEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) buf[f][0] = ( d * dryS[0] ) + ( w * buf[f][0] ); buf[f][1] = ( d * dryS[1] ) + ( w * buf[f][1] ); - outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; } - checkGate( outSum / frames ); - return isRunning(); + + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/Flanger/FlangerEffect.h b/plugins/Flanger/FlangerEffect.h index 4b0246e7e..ec43d3199 100644 --- a/plugins/Flanger/FlangerEffect.h +++ b/plugins/Flanger/FlangerEffect.h @@ -41,7 +41,9 @@ class FlangerEffect : public Effect public: FlangerEffect( Model* parent , const Descriptor::SubPluginFeatures::Key* key ); ~FlangerEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + EffectControls* controls() override { return &m_flangerControls; diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp index 2b182991f..27c935ab9 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp @@ -60,10 +60,8 @@ GranularPitchShifterEffect::GranularPitchShifterEffect(Model* parent, const Desc } -bool GranularPitchShifterEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +Effect::ProcessStatus GranularPitchShifterEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning()) { return false; } - const float d = dryLevel(); const float w = wetLevel(); @@ -245,7 +243,7 @@ bool GranularPitchShifterEffect::processAudioBuffer(SampleFrame* buf, const fpp_ changeSampleRate(); } - return isRunning(); + return Effect::ProcessStatus::ContinueIfNotQuiet; } void GranularPitchShifterEffect::changeSampleRate() diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.h b/plugins/GranularPitchShifter/GranularPitchShifterEffect.h index 0f94168b7..09b8025cd 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.h +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.h @@ -48,7 +48,8 @@ class GranularPitchShifterEffect : public Effect public: GranularPitchShifterEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* key); ~GranularPitchShifterEffect() override = default; - bool processAudioBuffer(SampleFrame* buf, const fpp_t frames) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/LOMM/LOMM.cpp b/plugins/LOMM/LOMM.cpp index 7c4574cd1..14f254eab 100644 --- a/plugins/LOMM/LOMM.cpp +++ b/plugins/LOMM/LOMM.cpp @@ -101,13 +101,8 @@ void LOMMEffect::changeSampleRate() } -bool LOMMEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +Effect::ProcessStatus LOMMEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning()) - { - return false; - } - if (m_needsUpdate || m_lommControls.m_split1Model.isValueChanged()) { m_lp1.setLowpass(m_lommControls.m_split1Model.value()); @@ -121,7 +116,6 @@ bool LOMMEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) } m_needsUpdate = false; - float outSum = 0.f; const float d = dryLevel(); const float w = wetLevel(); @@ -423,11 +417,9 @@ bool LOMMEffect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) buf[f][0] = d * buf[f][0] + w * s[0]; buf[f][1] = d * buf[f][1] + w * s[1]; - outSum += buf[f][0] + buf[f][1]; } - checkGate(outSum / frames); - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } extern "C" diff --git a/plugins/LOMM/LOMM.h b/plugins/LOMM/LOMM.h index 783233c5f..0dd209e07 100644 --- a/plugins/LOMM/LOMM.h +++ b/plugins/LOMM/LOMM.h @@ -45,7 +45,8 @@ class LOMMEffect : public Effect public: LOMMEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* key); ~LOMMEffect() override = default; - bool processAudioBuffer(SampleFrame* buf, const fpp_t frames) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/LadspaEffect/LadspaEffect.cpp b/plugins/LadspaEffect/LadspaEffect.cpp index 75c79ad21..5baa3834c 100644 --- a/plugins/LadspaEffect/LadspaEffect.cpp +++ b/plugins/LadspaEffect/LadspaEffect.cpp @@ -129,26 +129,25 @@ void LadspaEffect::changeSampleRate() -bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) +Effect::ProcessStatus LadspaEffect::processImpl(SampleFrame* buf, const fpp_t frames) { m_pluginMutex.lock(); - if( !isOkay() || dontRun() || !isRunning() || !isEnabled() ) + if (!isOkay() || dontRun() || !isEnabled() || !isRunning()) { m_pluginMutex.unlock(); - return( false ); + return ProcessStatus::Sleep; } - auto frames = _frames; - SampleFrame* o_buf = nullptr; - QVarLengthArray sBuf(_frames); + auto outFrames = frames; + SampleFrame* outBuf = nullptr; + QVarLengthArray sBuf(frames); if( m_maxSampleRate < Engine::audioEngine()->outputSampleRate() ) { - o_buf = _buf; - _buf = sBuf.data(); - sampleDown( o_buf, _buf, m_maxSampleRate ); - frames = _frames * m_maxSampleRate / + outBuf = buf; + buf = sBuf.data(); + sampleDown(outBuf, buf, m_maxSampleRate); + outFrames = frames * m_maxSampleRate / Engine::audioEngine()->outputSampleRate(); } @@ -163,11 +162,9 @@ bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, switch( pp->rate ) { case BufferRate::ChannelIn: - for( fpp_t frame = 0; - frame < frames; ++frame ) + for (fpp_t frame = 0; frame < outFrames; ++frame) { - pp->buffer[frame] = - _buf[frame][channel]; + pp->buffer[frame] = buf[frame][channel]; } ++channel; break; @@ -176,7 +173,7 @@ bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, ValueBuffer * vb = pp->control->valueBuffer(); if( vb ) { - memcpy( pp->buffer, vb->values(), frames * sizeof(float) ); + memcpy(pp->buffer, vb->values(), outFrames * sizeof(float)); } else { @@ -185,11 +182,9 @@ bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, // This only supports control rate ports, so the audio rates are // treated as though they were control rate by setting the // port buffer to all the same value. - for( fpp_t frame = 0; - frame < frames; ++frame ) + for (fpp_t frame = 0; frame < outFrames; ++frame) { - pp->buffer[frame] = - pp->value; + pp->buffer[frame] = pp->value; } } break; @@ -218,11 +213,10 @@ bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, // Process the buffers. for( ch_cnt_t proc = 0; proc < processorCount(); ++proc ) { - (m_descriptor->run)( m_handles[proc], frames ); + (m_descriptor->run)(m_handles[proc], outFrames); } // Copy the LADSPA output buffers to the LMMS buffer. - double out_sum = 0.0; channel = 0; const float d = dryLevel(); const float w = wetLevel(); @@ -238,11 +232,9 @@ bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, case BufferRate::ControlRateInput: break; case BufferRate::ChannelOut: - for( fpp_t frame = 0; - frame < frames; ++frame ) + for (fpp_t frame = 0; frame < outFrames; ++frame) { - _buf[frame][channel] = d * _buf[frame][channel] + w * pp->buffer[frame]; - out_sum += _buf[frame][channel] * _buf[frame][channel]; + buf[frame][channel] = d * buf[frame][channel] + w * pp->buffer[frame]; } ++channel; break; @@ -255,17 +247,14 @@ bool LadspaEffect::processAudioBuffer( SampleFrame* _buf, } } - if( o_buf != nullptr ) + if (outBuf != nullptr) { - sampleBack( _buf, o_buf, m_maxSampleRate ); + sampleBack(buf, outBuf, m_maxSampleRate); } - checkGate( out_sum / frames ); - - - bool is_running = isRunning(); m_pluginMutex.unlock(); - return( is_running ); + + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/LadspaEffect/LadspaEffect.h b/plugins/LadspaEffect/LadspaEffect.h index d5b93d4e2..0cfa18682 100644 --- a/plugins/LadspaEffect/LadspaEffect.h +++ b/plugins/LadspaEffect/LadspaEffect.h @@ -47,9 +47,8 @@ public: const Descriptor::SubPluginFeatures::Key * _key ); ~LadspaEffect() override; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; - + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + void setControl( int _control, LADSPA_Data _data ); EffectControls * controls() override diff --git a/plugins/Lv2Effect/Lv2Effect.cpp b/plugins/Lv2Effect/Lv2Effect.cpp index d6b89a229..afa69fe13 100644 --- a/plugins/Lv2Effect/Lv2Effect.cpp +++ b/plugins/Lv2Effect/Lv2Effect.cpp @@ -68,9 +68,8 @@ Lv2Effect::Lv2Effect(Model* parent, const Descriptor::SubPluginFeatures::Key *ke -bool Lv2Effect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +Effect::ProcessStatus Lv2Effect::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning()) { return false; } Q_ASSERT(frames <= static_cast(m_tmpOutputSmps.size())); m_controls.copyBuffersFromLmms(buf, frames); @@ -83,7 +82,6 @@ bool Lv2Effect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) m_controls.copyModelsToLmms(); m_controls.copyBuffersToLmms(m_tmpOutputSmps.data(), frames); - double outSum = .0; bool corrupt = wetLevel() < 0; // #3261 - if w < 0, bash w := 0, d := 1 const float d = corrupt ? 1 : dryLevel(); const float w = corrupt ? 0 : wetLevel(); @@ -91,13 +89,9 @@ bool Lv2Effect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) { buf[f][0] = d * buf[f][0] + w * m_tmpOutputSmps[f][0]; buf[f][1] = d * buf[f][1] + w * m_tmpOutputSmps[f][1]; - auto l = static_cast(buf[f][0]); - auto r = static_cast(buf[f][1]); - outSum += l*l + r*r; } - checkGate(outSum / frames); - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/Lv2Effect/Lv2Effect.h b/plugins/Lv2Effect/Lv2Effect.h index bc81eb590..dbede0d43 100644 --- a/plugins/Lv2Effect/Lv2Effect.h +++ b/plugins/Lv2Effect/Lv2Effect.h @@ -42,7 +42,8 @@ public: */ Lv2Effect(Model* parent, const Descriptor::SubPluginFeatures::Key* _key); - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + EffectControls* controls() override { return &m_controls; } Lv2FxControls* lv2Controls() { return &m_controls; } diff --git a/plugins/MultitapEcho/MultitapEcho.cpp b/plugins/MultitapEcho/MultitapEcho.cpp index ecc1d8f30..96a828dcc 100644 --- a/plugins/MultitapEcho/MultitapEcho.cpp +++ b/plugins/MultitapEcho/MultitapEcho.cpp @@ -94,14 +94,8 @@ void MultitapEchoEffect::runFilter( SampleFrame* dst, SampleFrame* src, StereoOn } -bool MultitapEchoEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus MultitapEchoEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -156,12 +150,9 @@ bool MultitapEchoEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frame { buf[f][0] = d * buf[f][0] + w * m_work[f][0]; buf[f][1] = d * buf[f][1] + w * m_work[f][1]; - outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; } - - checkGate( outSum / frames ); - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/MultitapEcho/MultitapEcho.h b/plugins/MultitapEcho/MultitapEcho.h index d6e981fbd..8c8a007aa 100644 --- a/plugins/MultitapEcho/MultitapEcho.h +++ b/plugins/MultitapEcho/MultitapEcho.h @@ -40,7 +40,8 @@ class MultitapEchoEffect : public Effect public: MultitapEchoEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ); ~MultitapEchoEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/PeakControllerEffect/PeakControllerEffect.cpp b/plugins/PeakControllerEffect/PeakControllerEffect.cpp index 886036095..394a80efd 100644 --- a/plugins/PeakControllerEffect/PeakControllerEffect.cpp +++ b/plugins/PeakControllerEffect/PeakControllerEffect.cpp @@ -93,37 +93,29 @@ PeakControllerEffect::~PeakControllerEffect() } -bool PeakControllerEffect::processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) +Effect::ProcessStatus PeakControllerEffect::processImpl(SampleFrame* buf, const fpp_t frames) { PeakControllerEffectControls & c = m_peakControls; - // This appears to be used for determining whether or not to continue processing - // audio with this effect - if( !isEnabled() || !isRunning() ) - { - return false; - } - // RMS: double sum = 0; if( c.m_absModel.value() ) { - for (auto i = std::size_t{0}; i < _frames; ++i) + for (auto i = std::size_t{0}; i < frames; ++i) { // absolute value is achieved because the squares are > 0 - sum += _buf[i][0]*_buf[i][0] + _buf[i][1]*_buf[i][1]; + sum += buf[i][0] * buf[i][0] + buf[i][1] * buf[i][1]; } } else { - for (auto i = std::size_t{0}; i < _frames; ++i) + for (auto i = std::size_t{0}; i < frames; ++i) { // the value is absolute because of squaring, // so we need to correct it - sum += _buf[i][0] * _buf[i][0] * sign( _buf[i][0] ) - + _buf[i][1] * _buf[i][1] * sign( _buf[i][1] ); + sum += buf[i][0] * buf[i][0] * sign(buf[i][0]) + + buf[i][1] * buf[i][1] * sign(buf[i][1]); } } @@ -131,19 +123,19 @@ bool PeakControllerEffect::processAudioBuffer( SampleFrame* _buf, // this will mute the output after the values were measured if( c.m_muteModel.value() ) { - for (auto i = std::size_t{0}; i < _frames; ++i) + for (auto i = std::size_t{0}; i < frames; ++i) { - _buf[i][0] = _buf[i][1] = 0.0f; + buf[i][0] = buf[i][1] = 0.0f; } } - float curRMS = sqrt_neg( sum / _frames ); + float curRMS = sqrt_neg(sum / frames); const float tres = c.m_tresholdModel.value(); const float amount = c.m_amountModel.value() * c.m_amountMultModel.value(); curRMS = qAbs( curRMS ) < tres ? 0.0f : curRMS; m_lastSample = qBound( 0.0f, c.m_baseModel.value() + amount * curRMS, 1.0f ); - return isRunning(); + return ProcessStatus::Continue; } diff --git a/plugins/PeakControllerEffect/PeakControllerEffect.h b/plugins/PeakControllerEffect/PeakControllerEffect.h index dc6e507f3..bac8db929 100644 --- a/plugins/PeakControllerEffect/PeakControllerEffect.h +++ b/plugins/PeakControllerEffect/PeakControllerEffect.h @@ -41,8 +41,8 @@ public: PeakControllerEffect( Model * parent, const Descriptor::SubPluginFeatures::Key * _key ); ~PeakControllerEffect() override; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls * controls() override { diff --git a/plugins/ReverbSC/ReverbSC.cpp b/plugins/ReverbSC/ReverbSC.cpp index 2def88d1d..1383d5266 100644 --- a/plugins/ReverbSC/ReverbSC.cpp +++ b/plugins/ReverbSC/ReverbSC.cpp @@ -75,14 +75,8 @@ ReverbSCEffect::~ReverbSCEffect() sp_destroy(&sp); } -bool ReverbSCEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) +Effect::ProcessStatus ReverbSCEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - - double outSum = 0.0; const float d = dryLevel(); const float w = wetLevel(); @@ -119,14 +113,9 @@ bool ReverbSCEffect::processAudioBuffer( SampleFrame* buf, const fpp_t frames ) sp_dcblock_compute(sp, dcblk[1], &tmpR, &dcblkR); buf[f][0] = d * buf[f][0] + w * dcblkL * outGain; buf[f][1] = d * buf[f][1] + w * dcblkR * outGain; - - outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; } - - checkGate( outSum / frames ); - - return isRunning(); + return ProcessStatus::ContinueIfNotQuiet; } void ReverbSCEffect::changeSampleRate() diff --git a/plugins/ReverbSC/ReverbSC.h b/plugins/ReverbSC/ReverbSC.h index f3c196f5b..2d02662bf 100644 --- a/plugins/ReverbSC/ReverbSC.h +++ b/plugins/ReverbSC/ReverbSC.h @@ -45,7 +45,8 @@ class ReverbSCEffect : public Effect public: ReverbSCEffect( Model* parent, const Descriptor::SubPluginFeatures::Key* key ); ~ReverbSCEffect() override; - bool processAudioBuffer( SampleFrame* buf, const fpp_t frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/SpectrumAnalyzer/Analyzer.cpp b/plugins/SpectrumAnalyzer/Analyzer.cpp index dc2108eb9..7b6086ed2 100644 --- a/plugins/SpectrumAnalyzer/Analyzer.cpp +++ b/plugins/SpectrumAnalyzer/Analyzer.cpp @@ -77,7 +77,7 @@ Analyzer::~Analyzer() } // Take audio data and pass them to the spectrum processor. -bool Analyzer::processAudioBuffer(SampleFrame* buffer, const fpp_t frame_count) +Effect::ProcessStatus Analyzer::processImpl(SampleFrame* buf, const fpp_t frames) { // Measure time spent in audio thread; both average and peak should be well under 1 ms. #ifdef SA_DEBUG @@ -91,14 +91,12 @@ bool Analyzer::processAudioBuffer(SampleFrame* buffer, const fpp_t frame_count) } #endif - if (!isEnabled() || !isRunning ()) {return false;} - // Skip processing if the controls dialog isn't visible, it would only waste CPU cycles. if (m_controls.isViewVisible()) { // To avoid processing spikes on audio thread, data are stored in // a lockless ringbuffer and processed in a separate thread. - m_inputBuffer.write(buffer, frame_count, true); + m_inputBuffer.write(buf, frames, true); } #ifdef SA_DEBUG audio_time = std::chrono::high_resolution_clock::now().time_since_epoch().count() - audio_time; @@ -107,7 +105,7 @@ bool Analyzer::processAudioBuffer(SampleFrame* buffer, const fpp_t frame_count) if (audio_time / 1000000.0 > m_max_execution) {m_max_execution = audio_time / 1000000.0;} #endif - return isRunning(); + return ProcessStatus::Continue; } diff --git a/plugins/SpectrumAnalyzer/Analyzer.h b/plugins/SpectrumAnalyzer/Analyzer.h index da87ffd35..d898b1333 100644 --- a/plugins/SpectrumAnalyzer/Analyzer.h +++ b/plugins/SpectrumAnalyzer/Analyzer.h @@ -45,7 +45,8 @@ public: Analyzer(Model *parent, const Descriptor::SubPluginFeatures::Key *key); ~Analyzer() override; - bool processAudioBuffer(SampleFrame* buffer, const fpp_t frame_count) override; + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + EffectControls *controls() override {return &m_controls;} SaProcessor *getProcessor() {return &m_processor;} diff --git a/plugins/StereoEnhancer/StereoEnhancer.cpp b/plugins/StereoEnhancer/StereoEnhancer.cpp index 261c897df..f0cf830c5 100644 --- a/plugins/StereoEnhancer/StereoEnhancer.cpp +++ b/plugins/StereoEnhancer/StereoEnhancer.cpp @@ -82,28 +82,17 @@ StereoEnhancerEffect::~StereoEnhancerEffect() -bool StereoEnhancerEffect::processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) +Effect::ProcessStatus StereoEnhancerEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - - // This appears to be used for determining whether or not to continue processing - // audio with this effect - double out_sum = 0.0; - - if( !isEnabled() || !isRunning() ) - { - return( false ); - } - const float d = dryLevel(); const float w = wetLevel(); - for( fpp_t f = 0; f < _frames; ++f ) + for (fpp_t f = 0; f < frames; ++f) { // copy samples into the delay buffer - m_delayBuffer[m_currFrame][0] = _buf[f][0]; - m_delayBuffer[m_currFrame][1] = _buf[f][1]; + m_delayBuffer[m_currFrame][0] = buf[f][0]; + m_delayBuffer[m_currFrame][1] = buf[f][1]; // Get the width knob value from the Stereo Enhancer effect float width = m_seFX.wideCoeff(); @@ -117,27 +106,25 @@ bool StereoEnhancerEffect::processAudioBuffer( SampleFrame* _buf, frameIndex += DEFAULT_BUFFER_SIZE; } - //sample_t s[2] = { _buf[f][0], _buf[f][1] }; //Vanilla - auto s = std::array{_buf[f][0], m_delayBuffer[frameIndex][1]}; //Chocolate + //sample_t s[2] = { buf[f][0], buf[f][1] }; //Vanilla + auto s = std::array{buf[f][0], m_delayBuffer[frameIndex][1]}; //Chocolate m_seFX.nextSample( s[0], s[1] ); - _buf[f][0] = d * _buf[f][0] + w * s[0]; - _buf[f][1] = d * _buf[f][1] + w * s[1]; - out_sum += _buf[f][0]*_buf[f][0] + _buf[f][1]*_buf[f][1]; + buf[f][0] = d * buf[f][0] + w * s[0]; + buf[f][1] = d * buf[f][1] + w * s[1]; // Update currFrame m_currFrame += 1; m_currFrame %= DEFAULT_BUFFER_SIZE; } - checkGate( out_sum / _frames ); if( !isRunning() ) { clearMyBuffer(); } - return( isRunning() ); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/StereoEnhancer/StereoEnhancer.h b/plugins/StereoEnhancer/StereoEnhancer.h index 861187f8f..3e27330ad 100644 --- a/plugins/StereoEnhancer/StereoEnhancer.h +++ b/plugins/StereoEnhancer/StereoEnhancer.h @@ -40,8 +40,8 @@ public: StereoEnhancerEffect( Model * parent, const Descriptor::SubPluginFeatures::Key * _key ); ~StereoEnhancerEffect() override; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls * controls() override { diff --git a/plugins/StereoMatrix/StereoMatrix.cpp b/plugins/StereoMatrix/StereoMatrix.cpp index c4384fddd..038b56059 100644 --- a/plugins/StereoMatrix/StereoMatrix.cpp +++ b/plugins/StereoMatrix/StereoMatrix.cpp @@ -64,44 +64,29 @@ StereoMatrixEffect::StereoMatrixEffect( -bool StereoMatrixEffect::processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) +Effect::ProcessStatus StereoMatrixEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - - // This appears to be used for determining whether or not to continue processing - // audio with this effect - if( !isEnabled() || !isRunning() ) - { - return( false ); - } - - double out_sum = 0.0; - - for( fpp_t f = 0; f < _frames; ++f ) + for (fpp_t f = 0; f < frames; ++f) { const float d = dryLevel(); const float w = wetLevel(); - sample_t l = _buf[f][0]; - sample_t r = _buf[f][1]; + sample_t l = buf[f][0]; + sample_t r = buf[f][1]; // Init with dry-mix - _buf[f][0] = l * d; - _buf[f][1] = r * d; + buf[f][0] = l * d; + buf[f][1] = r * d; // Add it wet - _buf[f][0] += ( m_smControls.m_llModel.value( f ) * l + + buf[f][0] += ( m_smControls.m_llModel.value( f ) * l + m_smControls.m_rlModel.value( f ) * r ) * w; - _buf[f][1] += ( m_smControls.m_lrModel.value( f ) * l + + buf[f][1] += ( m_smControls.m_lrModel.value( f ) * l + m_smControls.m_rrModel.value( f ) * r ) * w; - out_sum += _buf[f][0]*_buf[f][0] + _buf[f][1]*_buf[f][1]; - } - checkGate( out_sum / _frames ); - - return( isRunning() ); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/StereoMatrix/StereoMatrix.h b/plugins/StereoMatrix/StereoMatrix.h index a254264f8..2b2b22f1a 100644 --- a/plugins/StereoMatrix/StereoMatrix.h +++ b/plugins/StereoMatrix/StereoMatrix.h @@ -39,8 +39,8 @@ public: StereoMatrixEffect( Model * parent, const Descriptor::SubPluginFeatures::Key * _key ); ~StereoMatrixEffect() override = default; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls* controls() override { diff --git a/plugins/Vectorscope/Vectorscope.cpp b/plugins/Vectorscope/Vectorscope.cpp index c94eb5d28..106116c84 100644 --- a/plugins/Vectorscope/Vectorscope.cpp +++ b/plugins/Vectorscope/Vectorscope.cpp @@ -58,18 +58,17 @@ Vectorscope::Vectorscope(Model *parent, const Plugin::Descriptor::SubPluginFeatu // Take audio data and store them for processing and display in the GUI thread. -bool Vectorscope::processAudioBuffer(SampleFrame* buffer, const fpp_t frame_count) +Effect::ProcessStatus Vectorscope::processImpl(SampleFrame* buf, const fpp_t frames) { - if (!isEnabled() || !isRunning ()) {return false;} - // Skip processing if the controls dialog isn't visible, it would only waste CPU cycles. if (m_controls.isViewVisible()) { // To avoid processing spikes on audio thread, data are stored in // a lockless ringbuffer and processed in a separate thread. - m_inputBuffer.write(buffer, frame_count); + m_inputBuffer.write(buf, frames); } - return isRunning(); + + return ProcessStatus::Continue; } diff --git a/plugins/Vectorscope/Vectorscope.h b/plugins/Vectorscope/Vectorscope.h index 66d20e639..528b23690 100644 --- a/plugins/Vectorscope/Vectorscope.h +++ b/plugins/Vectorscope/Vectorscope.h @@ -39,7 +39,8 @@ public: Vectorscope(Model *parent, const Descriptor::SubPluginFeatures::Key *key); ~Vectorscope() override = default; - bool processAudioBuffer(SampleFrame* buffer, const fpp_t frame_count) override; + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; + EffectControls *controls() override {return &m_controls;} LocklessRingBuffer *getBuffer() {return &m_inputBuffer;} diff --git a/plugins/VstEffect/VstEffect.cpp b/plugins/VstEffect/VstEffect.cpp index ecb8240c8..53de4f4cc 100644 --- a/plugins/VstEffect/VstEffect.cpp +++ b/plugins/VstEffect/VstEffect.cpp @@ -65,63 +65,47 @@ VstEffect::VstEffect( Model * _parent, m_key( *_key ), m_vstControls( this ) { + bool loaded = false; if( !m_key.attributes["file"].isEmpty() ) { - openPlugin( m_key.attributes["file"] ); + loaded = openPlugin(m_key.attributes["file"]); } setDisplayName( m_key.attributes["file"].section( ".dll", 0, 0 ).isEmpty() ? m_key.name : m_key.attributes["file"].section( ".dll", 0, 0 ) ); + + setDontRun(!loaded); } -bool VstEffect::processAudioBuffer( SampleFrame* _buf, const fpp_t _frames ) +Effect::ProcessStatus VstEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) + assert(m_plugin != nullptr); + static thread_local auto tempBuf = std::array(); + + std::memcpy(tempBuf.data(), buf, sizeof(SampleFrame) * frames); + if (m_pluginMutex.tryLock(Engine::getSong()->isExporting() ? -1 : 0)) { - return false; + m_plugin->process(tempBuf.data(), tempBuf.data()); + m_pluginMutex.unlock(); } - if( m_plugin ) + const float w = wetLevel(); + const float d = dryLevel(); + for (fpp_t f = 0; f < frames; ++f) { - const float d = dryLevel(); -#ifdef __GNUC__ - SampleFrame buf[_frames]; -#else - SampleFrame* buf = new SampleFrame[_frames]; -#endif - memcpy( buf, _buf, sizeof( SampleFrame ) * _frames ); - if (m_pluginMutex.tryLock(Engine::getSong()->isExporting() ? -1 : 0)) - { - m_plugin->process( buf, buf ); - m_pluginMutex.unlock(); - } - - double out_sum = 0.0; - const float w = wetLevel(); - for( fpp_t f = 0; f < _frames; ++f ) - { - _buf[f][0] = w*buf[f][0] + d*_buf[f][0]; - _buf[f][1] = w*buf[f][1] + d*_buf[f][1]; - } - for( fpp_t f = 0; f < _frames; ++f ) - { - out_sum += _buf[f][0]*_buf[f][0] + _buf[f][1]*_buf[f][1]; - } -#ifndef __GNUC__ - delete[] buf; -#endif - - checkGate( out_sum / _frames ); + buf[f][0] = w * tempBuf[f][0] + d * buf[f][0]; + buf[f][1] = w * tempBuf[f][1] + d * buf[f][1]; } - return isRunning(); + + return ProcessStatus::ContinueIfNotQuiet; } -void VstEffect::openPlugin( const QString & _plugin ) +bool VstEffect::openPlugin(const QString& plugin) { gui::TextFloat* tf = nullptr; if( gui::getGUI() != nullptr ) @@ -133,18 +117,19 @@ void VstEffect::openPlugin( const QString & _plugin ) } QMutexLocker ml( &m_pluginMutex ); Q_UNUSED( ml ); - m_plugin = QSharedPointer(new VstPlugin( _plugin )); + m_plugin = QSharedPointer(new VstPlugin(plugin)); if( m_plugin->failed() ) { m_plugin.clear(); delete tf; - collectErrorForUI( VstPlugin::tr( "The VST plugin %1 could not be loaded." ).arg( _plugin ) ); - return; + collectErrorForUI(VstPlugin::tr("The VST plugin %1 could not be loaded.").arg(plugin)); + return false; } delete tf; - m_key.attributes["file"] = _plugin; + m_key.attributes["file"] = plugin; + return true; } diff --git a/plugins/VstEffect/VstEffect.h b/plugins/VstEffect/VstEffect.h index c3f6e8091..a8fbd410b 100644 --- a/plugins/VstEffect/VstEffect.h +++ b/plugins/VstEffect/VstEffect.h @@ -45,8 +45,7 @@ public: const Descriptor::SubPluginFeatures::Key * _key ); ~VstEffect() override = default; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls * controls() override { @@ -55,7 +54,8 @@ public: private: - void openPlugin( const QString & _plugin ); + //! Returns true if plugin was loaded (m_plugin != nullptr) + bool openPlugin(const QString& plugin); void closePlugin(); QSharedPointer m_plugin; diff --git a/plugins/WaveShaper/WaveShaper.cpp b/plugins/WaveShaper/WaveShaper.cpp index 373785408..f21a2dff7 100644 --- a/plugins/WaveShaper/WaveShaper.cpp +++ b/plugins/WaveShaper/WaveShaper.cpp @@ -66,18 +66,11 @@ WaveShaperEffect::WaveShaperEffect( Model * _parent, -bool WaveShaperEffect::processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) +Effect::ProcessStatus WaveShaperEffect::processImpl(SampleFrame* buf, const fpp_t frames) { - if( !isEnabled() || !isRunning () ) - { - return( false ); - } - // variables for effect int i = 0; - double out_sum = 0.0; const float d = dryLevel(); const float w = wetLevel(); float input = m_wsControls.m_inputModel.value(); @@ -94,9 +87,9 @@ bool WaveShaperEffect::processAudioBuffer( SampleFrame* _buf, const float *inputPtr = inputBuffer ? &( inputBuffer->values()[ 0 ] ) : &input; const float *outputPtr = outputBufer ? &( outputBufer->values()[ 0 ] ) : &output; - for( fpp_t f = 0; f < _frames; ++f ) + for (fpp_t f = 0; f < frames; ++f) { - auto s = std::array{_buf[f][0], _buf[f][1]}; + auto s = std::array{buf[f][0], buf[f][1]}; // apply input gain s[0] *= *inputPtr; @@ -138,17 +131,14 @@ bool WaveShaperEffect::processAudioBuffer( SampleFrame* _buf, s[1] *= *outputPtr; // mix wet/dry signals - _buf[f][0] = d * _buf[f][0] + w * s[0]; - _buf[f][1] = d * _buf[f][1] + w * s[1]; - out_sum += _buf[f][0] * _buf[f][0] + _buf[f][1] * _buf[f][1]; + buf[f][0] = d * buf[f][0] + w * s[0]; + buf[f][1] = d * buf[f][1] + w * s[1]; outputPtr += outputInc; inputPtr += inputInc; } - checkGate( out_sum / _frames ); - - return( isRunning() ); + return ProcessStatus::ContinueIfNotQuiet; } diff --git a/plugins/WaveShaper/WaveShaper.h b/plugins/WaveShaper/WaveShaper.h index 4c9d6e962..773419de8 100644 --- a/plugins/WaveShaper/WaveShaper.h +++ b/plugins/WaveShaper/WaveShaper.h @@ -40,8 +40,8 @@ public: WaveShaperEffect( Model * _parent, const Descriptor::SubPluginFeatures::Key * _key ); ~WaveShaperEffect() override = default; - bool processAudioBuffer( SampleFrame* _buf, - const fpp_t _frames ) override; + + ProcessStatus processImpl(SampleFrame* buf, const fpp_t frames) override; EffectControls * controls() override { diff --git a/src/core/Effect.cpp b/src/core/Effect.cpp index b6b284051..1fb0b71b5 100644 --- a/src/core/Effect.cpp +++ b/src/core/Effect.cpp @@ -122,6 +122,41 @@ void Effect::loadSettings( const QDomElement & _this ) +bool Effect::processAudioBuffer(SampleFrame* buf, const fpp_t frames) +{ + if (!isOkay() || dontRun() || !isEnabled() || !isRunning()) + { + processBypassedImpl(); + return false; + } + + const auto status = processImpl(buf, frames); + switch (status) + { + case ProcessStatus::Continue: + break; + case ProcessStatus::ContinueIfNotQuiet: + { + double outSum = 0.0; + for (std::size_t idx = 0; idx < frames; ++idx) + { + outSum += buf[idx].sumOfSquaredAmplitudes(); + } + + checkGate(outSum / frames); + break; + } + case ProcessStatus::Sleep: + return false; + default: + break; + } + + return isRunning(); +} + + + Effect * Effect::instantiate( const QString& pluginName, Model * _parent, @@ -146,7 +181,7 @@ Effect * Effect::instantiate( const QString& pluginName, -void Effect::checkGate( double _out_sum ) +void Effect::checkGate(double outSum) { if( m_autoQuitDisabled ) { @@ -155,7 +190,7 @@ void Effect::checkGate( double _out_sum ) // Check whether we need to continue processing input. Restart the // counter if the threshold has been exceeded. - if (_out_sum - gate() <= F_EPSILON) + if (outSum - gate() <= F_EPSILON) { incrementBufferCount(); if( bufferCount() > timeout() ) diff --git a/src/gui/modals/SetupDialog.cpp b/src/gui/modals/SetupDialog.cpp index 6f05433b7..d71ede03f 100644 --- a/src/gui/modals/SetupDialog.cpp +++ b/src/gui/modals/SetupDialog.cpp @@ -564,7 +564,7 @@ SetupDialog::SetupDialog(ConfigTab tab_to_open) : QHBoxLayout * bufferSizeSubLayout = new QHBoxLayout(); m_bufferSizeSlider = new QSlider(Qt::Horizontal, bufferSizeBox); - m_bufferSizeSlider->setRange(1, 128); + m_bufferSizeSlider->setRange(1, MAXIMUM_BUFFER_SIZE / BUFFERSIZE_RESOLUTION); m_bufferSizeSlider->setTickInterval(8); m_bufferSizeSlider->setPageStep(8); m_bufferSizeSlider->setValue(m_bufferSize / BUFFERSIZE_RESOLUTION); From 6a7b23b278b14c4b8a4e75fe9f578520871bffa0 Mon Sep 17 00:00:00 2001 From: saker Date: Thu, 26 Sep 2024 08:56:34 -0400 Subject: [PATCH 019/112] Partially revert #7453 (#7519) --- src/gui/EffectRackView.cpp | 4 +--- src/gui/EffectView.cpp | 3 ++- src/gui/instrument/EnvelopeAndLfoView.cpp | 2 -- src/gui/instrument/EnvelopeGraph.cpp | 4 ++-- src/gui/instrument/InstrumentView.cpp | 1 - 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/gui/EffectRackView.cpp b/src/gui/EffectRackView.cpp index d815ea311..b43ec7648 100644 --- a/src/gui/EffectRackView.cpp +++ b/src/gui/EffectRackView.cpp @@ -216,16 +216,14 @@ void EffectRackView::update() } else { - (*it)->resize(width() - 35, EffectView::DEFAULT_HEIGHT); ( *it )->move( EffectViewMargin, m_lastY ); - (*it)->update(); m_lastY += ( *it )->height(); ++nView; ++it; } } - w->resize(width() - 35 + 2 * EffectViewMargin, m_lastY); + w->setFixedSize(EffectView::DEFAULT_WIDTH + 2 * EffectViewMargin, m_lastY); QWidget::update(); } diff --git a/src/gui/EffectView.cpp b/src/gui/EffectView.cpp index 32472afc6..6f2b984c3 100644 --- a/src/gui/EffectView.cpp +++ b/src/gui/EffectView.cpp @@ -52,7 +52,8 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) : m_controlView(nullptr), m_dragging(false) { - setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); // TODO: Actual effect resizing + setFixedSize(EffectView::DEFAULT_WIDTH, EffectView::DEFAULT_HEIGHT); + setFocusPolicy(Qt::StrongFocus); // Disable effects that are of type "DummyEffect" bool isEnabled = !dynamic_cast( effect() ); diff --git a/src/gui/instrument/EnvelopeAndLfoView.cpp b/src/gui/instrument/EnvelopeAndLfoView.cpp index 0f1f47e63..1b639e6c3 100644 --- a/src/gui/instrument/EnvelopeAndLfoView.cpp +++ b/src/gui/instrument/EnvelopeAndLfoView.cpp @@ -85,11 +85,9 @@ EnvelopeAndLfoView::EnvelopeAndLfoView(QWidget * parent) : envelopeLayout->addLayout(graphAndAmountLayout); m_envelopeGraph = new EnvelopeGraph(this); - m_envelopeGraph->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); graphAndAmountLayout->addWidget(m_envelopeGraph); m_amountKnob = buildKnob(tr("AMT"), tr("Modulation amount:")); - m_amountKnob->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); graphAndAmountLayout->addWidget(m_amountKnob, 0, Qt::AlignCenter); QHBoxLayout* envKnobsLayout = new QHBoxLayout(); diff --git a/src/gui/instrument/EnvelopeGraph.cpp b/src/gui/instrument/EnvelopeGraph.cpp index 3102c02a9..4cf5da74b 100644 --- a/src/gui/instrument/EnvelopeGraph.cpp +++ b/src/gui/instrument/EnvelopeGraph.cpp @@ -211,8 +211,8 @@ void EnvelopeGraph::paintEvent(QPaintEvent*) const QColor lineColor{ColorHelper::interpolateInRgb(noAmountColor, fullAmountColor, absAmount)}; // Determine the line width so that it scales with the widget - // Use the diagonal of the box to compute it - const qreal lineWidth = sqrt(width()*width() + height()*height()) / 80.; + // Use the minimum value of the current width and height to compute it. + const qreal lineWidth = std::min(width(), height()) / 20.; const QPen linePen{lineColor, lineWidth}; p.setPen(linePen); diff --git a/src/gui/instrument/InstrumentView.cpp b/src/gui/instrument/InstrumentView.cpp index 9b681b796..f7912444d 100644 --- a/src/gui/instrument/InstrumentView.cpp +++ b/src/gui/instrument/InstrumentView.cpp @@ -45,7 +45,6 @@ InstrumentView::InstrumentView( Instrument * _Instrument, QWidget * _parent ) : InstrumentView::~InstrumentView() { - setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); if( instrumentTrackWindow() ) { instrumentTrackWindow()->m_instrumentView = nullptr; From 729593c0228c2553248099a09f4fcb6dbe8312e1 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Sat, 28 Sep 2024 13:18:02 +0530 Subject: [PATCH 020/112] Fix hardcoded fonts scaling issues (#7493) * changed font sizes to better values * rename gui_templates.h to FontHelper.h * replace hardcoded values with constants * make knob labels use small font * code review from michael * more consolidation * Fix text problem in Vectorscope Fix a problem with cutoff text in Vectorscope. During the constructor call of `LedCheckBox` the method `LedCheckBox::onTextUpdated` is triggered which sets a fixed size that fits the pixmap and the text. After instantiating the two instances in `VecControlsDialog` the constructor then set a minimum size which overrode the fixed size that was previously set. This then led to text that was cutoff. --------- Co-authored-by: Michael Gregorius --- include/{gui_templates.h => FontHelper.h} | 12 ++++++++---- .../AudioFileProcessor/AudioFileProcessorView.cpp | 4 ++-- .../AudioFileProcessorWaveView.cpp | 4 ++-- plugins/CarlaBase/Carla.cpp | 6 +++--- plugins/Eq/EqCurve.cpp | 5 ++--- .../GranularPitchShifterControlDialog.cpp | 1 - plugins/Patman/Patman.cpp | 6 +++--- plugins/TapTempo/TapTempoView.cpp | 4 ++-- plugins/Vectorscope/VecControlsDialog.cpp | 2 -- plugins/Vectorscope/VectorView.cpp | 4 ++-- plugins/Vestige/Vestige.cpp | 12 +++++------- plugins/VstEffect/VstEffectControlDialog.cpp | 4 ++-- plugins/ZynAddSubFx/ZynAddSubFx.cpp | 4 ++-- src/gui/EffectView.cpp | 6 +++--- src/gui/Lv2ViewBase.cpp | 4 ++-- src/gui/MixerChannelView.cpp | 5 ++--- src/gui/SampleTrackWindow.cpp | 2 +- src/gui/SideBarWidget.cpp | 4 ++-- src/gui/editors/AutomationEditor.cpp | 4 ++-- src/gui/editors/PianoRoll.cpp | 10 +++++----- src/gui/instrument/EnvelopeAndLfoView.cpp | 1 - src/gui/instrument/InstrumentFunctionViews.cpp | 11 +++++------ src/gui/instrument/InstrumentMidiIOView.cpp | 1 - src/gui/instrument/InstrumentSoundShapingView.cpp | 4 ++-- src/gui/instrument/InstrumentTrackWindow.cpp | 2 +- src/gui/instrument/InstrumentTuningView.cpp | 4 ++-- src/gui/instrument/LfoGraph.cpp | 5 ++--- src/gui/instrument/PianoView.cpp | 4 ++-- src/gui/widgets/ComboBox.cpp | 4 ++-- src/gui/widgets/GroupBox.cpp | 4 ++-- src/gui/widgets/Knob.cpp | 8 ++++---- src/gui/widgets/LcdFloatSpinBox.cpp | 4 ++-- src/gui/widgets/LcdWidget.cpp | 6 +++--- src/gui/widgets/LedCheckBox.cpp | 6 +++--- src/gui/widgets/Oscilloscope.cpp | 4 ++-- src/gui/widgets/TabWidget.cpp | 6 +++--- 36 files changed, 85 insertions(+), 92 deletions(-) rename include/{gui_templates.h => FontHelper.h} (81%) diff --git a/include/gui_templates.h b/include/FontHelper.h similarity index 81% rename from include/gui_templates.h rename to include/FontHelper.h index bbb5f80da..ccef24775 100644 --- a/include/gui_templates.h +++ b/include/FontHelper.h @@ -1,5 +1,5 @@ /* - * gui_templates.h - GUI-specific templates + * FontHelper.h - Header function to help with fonts * * Copyright (c) 2005-2008 Tobias Doerffel * @@ -22,12 +22,16 @@ * */ -#ifndef LMMS_GUI_TEMPLATES_H -#define LMMS_GUI_TEMPLATES_H +#ifndef LMMS_FONT_HELPER_H +#define LMMS_FONT_HELPER_H #include #include +constexpr int DEFAULT_FONT_SIZE = 12; +constexpr int SMALL_FONT_SIZE = 10; +constexpr int LARGE_FONT_SIZE = 14; + namespace lmms::gui { @@ -40,4 +44,4 @@ inline QFont adjustedToPixelSize(QFont font, int size) } // namespace lmms::gui -#endif // LMMS_GUI_TEMPLATES_H +#endif // LMMS_FONT_HELPER_H diff --git a/plugins/AudioFileProcessor/AudioFileProcessorView.cpp b/plugins/AudioFileProcessor/AudioFileProcessorView.cpp index b7d5802dc..298e79c5e 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorView.cpp +++ b/plugins/AudioFileProcessor/AudioFileProcessorView.cpp @@ -31,7 +31,7 @@ #include "ComboBox.h" #include "DataFile.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "PixmapButton.h" #include "SampleLoader.h" #include "Song.h" @@ -227,7 +227,7 @@ void AudioFileProcessorView::paintEvent(QPaintEvent*) int idx = a->sample().sampleFile().length(); - p.setFont(adjustedToPixelSize(font(), 8)); + p.setFont(adjustedToPixelSize(font(), SMALL_FONT_SIZE)); QFontMetrics fm(p.font()); diff --git a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp index ee5225c20..7c5f9387e 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp +++ b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp @@ -25,7 +25,7 @@ #include "AudioFileProcessorWaveView.h" #include "ConfigManager.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "SampleWaveform.h" #include @@ -279,7 +279,7 @@ void AudioFileProcessorWaveView::paintEvent(QPaintEvent * pe) p.fillRect(s_padding, s_padding, m_graph.width(), 14, g); p.setPen(QColor(255, 255, 255)); - p.setFont(adjustedToPixelSize(font(), 8)); + p.setFont(adjustedToPixelSize(font(), SMALL_FONT_SIZE)); QString length_text; const int length = m_sample->sampleDuration().count(); diff --git a/plugins/CarlaBase/Carla.cpp b/plugins/CarlaBase/Carla.cpp index e81e65550..37cba078a 100644 --- a/plugins/CarlaBase/Carla.cpp +++ b/plugins/CarlaBase/Carla.cpp @@ -32,7 +32,7 @@ #include "Knob.h" #include "MidiEventToByteSeq.h" #include "MainWindow.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "Song.h" #include @@ -627,7 +627,7 @@ CarlaInstrumentView::CarlaInstrumentView(CarlaInstrument* const instrument, QWid m_toggleUIButton->setCheckable( true ); m_toggleUIButton->setChecked( false ); m_toggleUIButton->setIcon( embed::getIconPixmap( "zoom" ) ); - m_toggleUIButton->setFont(adjustedToPixelSize(m_toggleUIButton->font(), 8)); + m_toggleUIButton->setFont(adjustedToPixelSize(m_toggleUIButton->font(), SMALL_FONT_SIZE)); connect( m_toggleUIButton, SIGNAL( clicked(bool) ), this, SLOT( toggleUI( bool ) ) ); m_toggleUIButton->setToolTip( @@ -637,7 +637,7 @@ CarlaInstrumentView::CarlaInstrumentView(CarlaInstrument* const instrument, QWid m_toggleParamsWindowButton = new QPushButton(tr("Params"), this); m_toggleParamsWindowButton->setIcon(embed::getIconPixmap("controller")); m_toggleParamsWindowButton->setCheckable(true); - m_toggleParamsWindowButton->setFont(adjustedToPixelSize(m_toggleParamsWindowButton->font(), 8)); + m_toggleParamsWindowButton->setFont(adjustedToPixelSize(m_toggleParamsWindowButton->font(), SMALL_FONT_SIZE)); #if CARLA_VERSION_HEX < CARLA_MIN_PARAM_VERSION m_toggleParamsWindowButton->setEnabled(false); m_toggleParamsWindowButton->setToolTip(tr("Available from Carla version 2.1 and up.")); diff --git a/plugins/Eq/EqCurve.cpp b/plugins/Eq/EqCurve.cpp index df17f71ff..417f101f7 100644 --- a/plugins/Eq/EqCurve.cpp +++ b/plugins/Eq/EqCurve.cpp @@ -30,6 +30,7 @@ #include "AudioEngine.h" #include "embed.h" #include "Engine.h" +#include "FontHelper.h" #include "lmms_constants.h" #include "lmms_math.h" @@ -148,9 +149,7 @@ void EqHandle::paint( QPainter *painter, const QStyleOptionGraphicsItem *option, res = tr( "BW: " ) + QString::number( getResonance() ); } - QFont painterFont = painter->font(); - painterFont.setPointSizeF( painterFont.pointSizeF() * 0.7 ); - painter->setFont( painterFont ); + painter->setFont(adjustedToPixelSize(painter->font(), SMALL_FONT_SIZE)); painter->setPen( Qt::black ); painter->drawRect( textRect ); painter->fillRect( textRect, QBrush( QColor( 6, 106, 43, 180 ) ) ); diff --git a/plugins/GranularPitchShifter/GranularPitchShifterControlDialog.cpp b/plugins/GranularPitchShifter/GranularPitchShifterControlDialog.cpp index 71a8d15f7..1231535c2 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterControlDialog.cpp +++ b/plugins/GranularPitchShifter/GranularPitchShifterControlDialog.cpp @@ -28,7 +28,6 @@ #include "LcdFloatSpinBox.h" #include "Knob.h" #include "GuiApplication.h" -#include "gui_templates.h" #include "PixmapButton.h" diff --git a/plugins/Patman/Patman.cpp b/plugins/Patman/Patman.cpp index 6165bd537..4ecbe1bb8 100644 --- a/plugins/Patman/Patman.cpp +++ b/plugins/Patman/Patman.cpp @@ -33,7 +33,7 @@ #include "endian_handling.h" #include "Engine.h" #include "FileDialog.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "InstrumentTrack.h" #include "NotePlayHandle.h" #include "PathUtil.h" @@ -545,7 +545,7 @@ void PatmanView::updateFilename() m_displayFilename = ""; int idx = m_pi->m_patchFile.length(); - QFontMetrics fm(adjustedToPixelSize(font(), 8)); + QFontMetrics fm(adjustedToPixelSize(font(), SMALL_FONT_SIZE)); // simple algorithm for creating a text from the filename that // matches in the white rectangle @@ -615,7 +615,7 @@ void PatmanView::paintEvent( QPaintEvent * ) { QPainter p( this ); - p.setFont(adjustedToPixelSize(font() ,8)); + p.setFont(adjustedToPixelSize(font(), SMALL_FONT_SIZE)); p.drawText( 8, 116, 235, 16, Qt::AlignLeft | Qt::TextSingleLine | Qt::AlignVCenter, m_displayFilename ); diff --git a/plugins/TapTempo/TapTempoView.cpp b/plugins/TapTempo/TapTempoView.cpp index d6c24fcf5..ed451eaa5 100644 --- a/plugins/TapTempo/TapTempoView.cpp +++ b/plugins/TapTempo/TapTempoView.cpp @@ -35,6 +35,7 @@ #include #include "Engine.h" +#include "FontHelper.h" #include "SamplePlayHandle.h" #include "Song.h" #include "TapTempo.h" @@ -47,11 +48,10 @@ TapTempoView::TapTempoView(TapTempo* plugin) setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); auto font = QFont(); - font.setPointSize(24); m_tapButton = new QPushButton(); m_tapButton->setFixedSize(200, 200); - m_tapButton->setFont(font); + m_tapButton->setFont(adjustedToPixelSize(font, 32)); m_tapButton->setText(tr("0")); auto precisionCheckBox = new QCheckBox(tr("Precision")); diff --git a/plugins/Vectorscope/VecControlsDialog.cpp b/plugins/Vectorscope/VecControlsDialog.cpp index 9aa2cfd8d..cd2805089 100644 --- a/plugins/Vectorscope/VecControlsDialog.cpp +++ b/plugins/Vectorscope/VecControlsDialog.cpp @@ -64,7 +64,6 @@ VecControlsDialog::VecControlsDialog(VecControls *controls) : auto highQualityButton = new LedCheckBox(tr("HQ"), this); highQualityButton->setToolTip(tr("Double the resolution and simulate continuous analog-like trace.")); highQualityButton->setCheckable(true); - highQualityButton->setMinimumSize(70, 12); highQualityButton->setModel(&controls->m_highQualityModel); switch_layout->addWidget(highQualityButton); @@ -72,7 +71,6 @@ VecControlsDialog::VecControlsDialog(VecControls *controls) : auto logarithmicButton = new LedCheckBox(tr("Log. scale"), this); logarithmicButton->setToolTip(tr("Display amplitude on logarithmic scale to better see small values.")); logarithmicButton->setCheckable(true); - logarithmicButton->setMinimumSize(70, 12); logarithmicButton->setModel(&controls->m_logarithmicModel); switch_layout->addWidget(logarithmicButton); diff --git a/plugins/Vectorscope/VectorView.cpp b/plugins/Vectorscope/VectorView.cpp index 2077d12cd..a9b5e51b2 100644 --- a/plugins/Vectorscope/VectorView.cpp +++ b/plugins/Vectorscope/VectorView.cpp @@ -30,6 +30,7 @@ #include "ColorChooser.h" #include "GuiApplication.h" +#include "FontHelper.h" #include "MainWindow.h" #include "VecControls.h" @@ -89,7 +90,6 @@ void VectorView::paintEvent(QPaintEvent *event) painter.setRenderHint(QPainter::Antialiasing, true); QFont normalFont, boldFont; - boldFont.setPixelSize(26); boldFont.setBold(true); const int labelWidth = 26; const int labelHeight = 26; @@ -264,7 +264,7 @@ void VectorView::paintEvent(QPaintEvent *event) painter.drawLine(QPointF(centerX, centerY), QPointF(displayRight - gridCorner, displayTop + gridCorner)); painter.setPen(QPen(m_controls->m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); - painter.setFont(boldFont); + painter.setFont(adjustedToPixelSize(boldFont, 26)); painter.drawText(displayLeft + margin, displayTop, labelWidth, labelHeight, Qt::AlignLeft | Qt::AlignTop | Qt::TextDontClip, QString("L")); diff --git a/plugins/Vestige/Vestige.cpp b/plugins/Vestige/Vestige.cpp index ffed82af7..5a7d4afa0 100644 --- a/plugins/Vestige/Vestige.cpp +++ b/plugins/Vestige/Vestige.cpp @@ -46,7 +46,7 @@ #include "Engine.h" #include "FileDialog.h" #include "GuiApplication.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "InstrumentPlayHandle.h" #include "InstrumentTrack.h" #include "LocaleHelper.h" @@ -583,12 +583,10 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument, m_selPresetButton->setMenu(menu); - constexpr int buttonFontSize = 12; - m_toggleGUIButton = new QPushButton( tr( "Show/hide GUI" ), this ); m_toggleGUIButton->setGeometry( 20, 130, 200, 24 ); m_toggleGUIButton->setIcon( embed::getIconPixmap( "zoom" ) ); - m_toggleGUIButton->setFont(adjustedToPixelSize(m_toggleGUIButton->font(), buttonFontSize)); + m_toggleGUIButton->setFont(adjustedToPixelSize(m_toggleGUIButton->font(), LARGE_FONT_SIZE)); connect( m_toggleGUIButton, SIGNAL( clicked() ), this, SLOT( toggleGUI() ) ); @@ -597,7 +595,7 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument, this); note_off_all_btn->setGeometry( 20, 160, 200, 24 ); note_off_all_btn->setIcon( embed::getIconPixmap( "stop" ) ); - note_off_all_btn->setFont(adjustedToPixelSize(note_off_all_btn->font(), buttonFontSize)); + note_off_all_btn->setFont(adjustedToPixelSize(note_off_all_btn->font(), LARGE_FONT_SIZE)); connect( note_off_all_btn, SIGNAL( clicked() ), this, SLOT( noteOffAll() ) ); @@ -882,7 +880,7 @@ void VestigeInstrumentView::paintEvent( QPaintEvent * ) tr( "No VST plugin loaded" ); QFont f = p.font(); f.setBold( true ); - p.setFont(adjustedToPixelSize(f, 10)); + p.setFont(adjustedToPixelSize(f, DEFAULT_FONT_SIZE)); p.setPen( QColor( 255, 255, 255 ) ); p.drawText( 10, 100, plugin_name ); @@ -894,7 +892,7 @@ void VestigeInstrumentView::paintEvent( QPaintEvent * ) { p.setPen( QColor( 0, 0, 0 ) ); f.setBold( false ); - p.setFont(adjustedToPixelSize(f, 8)); + p.setFont(adjustedToPixelSize(f, SMALL_FONT_SIZE)); p.drawText( 10, 114, tr( "by " ) + m_vi->m_plugin->vendorString() ); p.setPen( QColor( 255, 255, 255 ) ); diff --git a/plugins/VstEffect/VstEffectControlDialog.cpp b/plugins/VstEffect/VstEffectControlDialog.cpp index 0fb4913a3..a5b67f5f3 100644 --- a/plugins/VstEffect/VstEffectControlDialog.cpp +++ b/plugins/VstEffect/VstEffectControlDialog.cpp @@ -33,7 +33,7 @@ #include "PixmapButton.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" #include #include @@ -246,7 +246,7 @@ VstEffectControlDialog::VstEffectControlDialog( VstEffectControls * _ctl ) : tb->addWidget(space1); tbLabel = new QLabel( tr( "Effect by: " ), this ); - tbLabel->setFont(adjustedToPixelSize(f, 7)); + tbLabel->setFont(adjustedToPixelSize(f, SMALL_FONT_SIZE)); tbLabel->setTextFormat(Qt::RichText); tbLabel->setAlignment( Qt::AlignTop | Qt::AlignLeft ); tb->addWidget( tbLabel ); diff --git a/plugins/ZynAddSubFx/ZynAddSubFx.cpp b/plugins/ZynAddSubFx/ZynAddSubFx.cpp index 51610d877..19864932d 100644 --- a/plugins/ZynAddSubFx/ZynAddSubFx.cpp +++ b/plugins/ZynAddSubFx/ZynAddSubFx.cpp @@ -48,6 +48,7 @@ #include "Clipboard.h" #include "embed.h" +#include "FontHelper.h" #include "plugin_export.h" namespace lmms @@ -546,8 +547,7 @@ ZynAddSubFxView::ZynAddSubFxView( Instrument * _instrument, QWidget * _parent ) m_toggleUIButton->setChecked( false ); m_toggleUIButton->setIcon( embed::getIconPixmap( "zoom" ) ); QFont f = m_toggleUIButton->font(); - f.setPointSizeF(12); - m_toggleUIButton->setFont(f); + m_toggleUIButton->setFont(adjustedToPixelSize(f, DEFAULT_FONT_SIZE)); connect( m_toggleUIButton, SIGNAL( toggled( bool ) ), this, SLOT( toggleUI() ) ); diff --git a/src/gui/EffectView.cpp b/src/gui/EffectView.cpp index 6f2b984c3..a5095ee6d 100644 --- a/src/gui/EffectView.cpp +++ b/src/gui/EffectView.cpp @@ -34,7 +34,7 @@ #include "CaptionMenu.h" #include "embed.h" #include "GuiApplication.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "Knob.h" #include "LedCheckBox.h" #include "MainWindow.h" @@ -91,7 +91,7 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) : { auto ctls_btn = new QPushButton(tr("Controls"), this); QFont f = ctls_btn->font(); - ctls_btn->setFont(adjustedToPixelSize(f, 10)); + ctls_btn->setFont(adjustedToPixelSize(f, DEFAULT_FONT_SIZE)); ctls_btn->setGeometry( 150, 14, 50, 20 ); connect( ctls_btn, SIGNAL(clicked()), this, SLOT(editControls())); @@ -258,7 +258,7 @@ void EffectView::paintEvent( QPaintEvent * ) QPainter p( this ); p.drawPixmap( 0, 0, m_bg ); - QFont f = adjustedToPixelSize(font(), 10); + QFont f = adjustedToPixelSize(font(), DEFAULT_FONT_SIZE); f.setBold( true ); p.setFont( f ); diff --git a/src/gui/Lv2ViewBase.cpp b/src/gui/Lv2ViewBase.cpp index fc025e268..d6a25af83 100644 --- a/src/gui/Lv2ViewBase.cpp +++ b/src/gui/Lv2ViewBase.cpp @@ -38,7 +38,7 @@ #include "Engine.h" #include "GuiApplication.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "lmms_math.h" #include "Lv2ControlBase.h" #include "Lv2Manager.h" @@ -157,7 +157,7 @@ Lv2ViewBase::Lv2ViewBase(QWidget* meAsWidget, Lv2ControlBase *ctrlBase) : m_toggleUIButton->setCheckable(true); m_toggleUIButton->setChecked(false); m_toggleUIButton->setIcon(embed::getIconPixmap("zoom")); - m_toggleUIButton->setFont(adjustedToPixelSize(m_toggleUIButton->font(), 8)); + m_toggleUIButton->setFont(adjustedToPixelSize(m_toggleUIButton->font(), SMALL_FONT_SIZE)); btnBox->addWidget(m_toggleUIButton, 0); } btnBox->addStretch(1); diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index b347a04a0..82bbedb03 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -31,8 +31,7 @@ #include "PeakIndicator.h" #include "Song.h" #include "ConfigManager.h" - -#include "gui_templates.h" +#include "FontHelper.h" #include #include @@ -95,7 +94,7 @@ namespace lmms::gui m_renameLineEdit = new QLineEdit{mixerName, nullptr}; m_renameLineEdit->setFixedWidth(65); - m_renameLineEdit->setFont(adjustedToPixelSize(font(), 12)); + m_renameLineEdit->setFont(adjustedToPixelSize(font(), LARGE_FONT_SIZE)); m_renameLineEdit->setReadOnly(true); m_renameLineEdit->installEventFilter(this); diff --git a/src/gui/SampleTrackWindow.cpp b/src/gui/SampleTrackWindow.cpp index 81a2ca89b..1c7a56828 100644 --- a/src/gui/SampleTrackWindow.cpp +++ b/src/gui/SampleTrackWindow.cpp @@ -92,7 +92,7 @@ SampleTrackWindow::SampleTrackWindow(SampleTrackView * tv) : basicControlsLayout->setVerticalSpacing(0); basicControlsLayout->setContentsMargins(0, 0, 0, 0); - QString labelStyleSheet = "font-size: 6pt;"; + QString labelStyleSheet = "font-size: 10px;"; Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop; Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter; diff --git a/src/gui/SideBarWidget.cpp b/src/gui/SideBarWidget.cpp index c218bedd3..5a73cb471 100644 --- a/src/gui/SideBarWidget.cpp +++ b/src/gui/SideBarWidget.cpp @@ -29,6 +29,7 @@ #include #include "embed.h" +#include "FontHelper.h" namespace lmms::gui { @@ -63,8 +64,7 @@ void SideBarWidget::paintEvent( QPaintEvent * ) QFont f = p.font(); f.setBold( true ); f.setUnderline(false); - f.setPointSize( f.pointSize() + 2 ); - p.setFont( f ); + p.setFont(adjustedToPixelSize(f, LARGE_FONT_SIZE)); p.setPen( palette().highlightedText().color() ); diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index a7ca07279..df6739882 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -64,7 +64,7 @@ #include "TimeLineWidget.h" #include "debug.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms::gui @@ -1040,7 +1040,7 @@ void AutomationEditor::paintEvent(QPaintEvent * pe ) QBrush bgColor = p.background(); p.fillRect( 0, 0, width(), height(), bgColor ); - p.setFont(adjustedToPixelSize(p.font(), 10)); + p.setFont(adjustedToPixelSize(p.font(), DEFAULT_FONT_SIZE)); int grid_height = height() - TOP_MARGIN - SCROLLBAR_SIZE; diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index 1c89f6a0b..f8472b688 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -59,6 +59,7 @@ #include "DetuningHelper.h" #include "embed.h" #include "GuiApplication.h" +#include "FontHelper.h" #include "InstrumentTrack.h" #include "MainWindow.h" #include "MidiClip.h" @@ -1028,7 +1029,7 @@ void PianoRoll::drawNoteRect( QPainter & p, int x, int y, QString noteKeyString = getNoteString(n->key()); QFont noteFont(p.font()); - noteFont.setPixelSize(noteTextHeight); + noteFont = adjustedToPixelSize(noteFont, noteTextHeight); QFontMetrics fontMetrics(noteFont); QSize textSize = fontMetrics.size(Qt::TextSingleLine, noteKeyString); @@ -3017,8 +3018,8 @@ void PianoRoll::paintEvent(QPaintEvent * pe ) // set font-size to 80% of key line height QFont f = p.font(); - f.setPixelSize(m_keyLineHeight * 0.8); - p.setFont(f); // font size doesn't change without this for some reason + int keyFontSize = m_keyLineHeight * 0.8; + p.setFont(adjustedToPixelSize(f, keyFontSize)); QFontMetrics fontMetrics(p.font()); // G-1 is one of the widest; plus one pixel margin for the shadow QRect const boundingRect = fontMetrics.boundingRect(QString("G-1")) + QMargins(0, 0, 1, 0); @@ -3345,8 +3346,7 @@ void PianoRoll::paintEvent(QPaintEvent * pe ) // display note editing info f.setBold(false); - f.setPixelSize(10); - p.setFont(f); + p.setFont(adjustedToPixelSize(f, SMALL_FONT_SIZE)); p.setPen(m_noteModeColor); p.drawText( QRect( 0, keyAreaBottom(), m_whiteKeyWidth, noteEditBottom() - keyAreaBottom()), diff --git a/src/gui/instrument/EnvelopeAndLfoView.cpp b/src/gui/instrument/EnvelopeAndLfoView.cpp index 1b639e6c3..959264506 100644 --- a/src/gui/instrument/EnvelopeAndLfoView.cpp +++ b/src/gui/instrument/EnvelopeAndLfoView.cpp @@ -33,7 +33,6 @@ #include "LfoGraph.h" #include "EnvelopeAndLfoParameters.h" #include "SampleLoader.h" -#include "gui_templates.h" #include "Knob.h" #include "LedCheckBox.h" #include "DataFile.h" diff --git a/src/gui/instrument/InstrumentFunctionViews.cpp b/src/gui/instrument/InstrumentFunctionViews.cpp index ad8abe735..a60fa64f9 100644 --- a/src/gui/instrument/InstrumentFunctionViews.cpp +++ b/src/gui/instrument/InstrumentFunctionViews.cpp @@ -30,7 +30,7 @@ #include "InstrumentFunctionViews.h" #include "ComboBox.h" #include "GroupBox.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "Knob.h" #include "TempoSyncKnob.h" @@ -57,7 +57,7 @@ InstrumentFunctionNoteStackingView::InstrumentFunctionNoteStackingView( Instrume mainLayout->setVerticalSpacing( 1 ); auto chordLabel = new QLabel(tr("Chord:")); - chordLabel->setFont(adjustedToPixelSize(chordLabel->font(), 10)); + chordLabel->setFont(adjustedToPixelSize(chordLabel->font(), DEFAULT_FONT_SIZE)); m_chordRangeKnob->setLabel( tr( "RANGE" ) ); m_chordRangeKnob->setHintText( tr( "Chord range:" ), " " + tr( "octave(s)" ) ); @@ -145,15 +145,14 @@ InstrumentFunctionArpeggioView::InstrumentFunctionArpeggioView( InstrumentFuncti m_arpGateKnob->setLabel( tr( "GATE" ) ); m_arpGateKnob->setHintText( tr( "Arpeggio gate:" ), tr( "%" ) ); - constexpr int labelFontSize = 10; auto arpChordLabel = new QLabel(tr("Chord:")); - arpChordLabel->setFont(adjustedToPixelSize(arpChordLabel->font(), labelFontSize)); + arpChordLabel->setFont(adjustedToPixelSize(arpChordLabel->font(), DEFAULT_FONT_SIZE)); auto arpDirectionLabel = new QLabel(tr("Direction:")); - arpDirectionLabel->setFont(adjustedToPixelSize(arpDirectionLabel->font(), labelFontSize)); + arpDirectionLabel->setFont(adjustedToPixelSize(arpDirectionLabel->font(), DEFAULT_FONT_SIZE)); auto arpModeLabel = new QLabel(tr("Mode:")); - arpModeLabel->setFont(adjustedToPixelSize(arpModeLabel->font(), labelFontSize)); + arpModeLabel->setFont(adjustedToPixelSize(arpModeLabel->font(), DEFAULT_FONT_SIZE)); mainLayout->addWidget( arpChordLabel, 0, 0 ); mainLayout->addWidget( m_arpComboBox, 1, 0 ); diff --git a/src/gui/instrument/InstrumentMidiIOView.cpp b/src/gui/instrument/InstrumentMidiIOView.cpp index e3f10bd1a..c6b58e090 100644 --- a/src/gui/instrument/InstrumentMidiIOView.cpp +++ b/src/gui/instrument/InstrumentMidiIOView.cpp @@ -33,7 +33,6 @@ #include "Engine.h" #include "embed.h" #include "GroupBox.h" -#include "gui_templates.h" #include "LcdSpinBox.h" #include "MidiClient.h" diff --git a/src/gui/instrument/InstrumentSoundShapingView.cpp b/src/gui/instrument/InstrumentSoundShapingView.cpp index 7558c4c26..45abace19 100644 --- a/src/gui/instrument/InstrumentSoundShapingView.cpp +++ b/src/gui/instrument/InstrumentSoundShapingView.cpp @@ -31,7 +31,7 @@ #include "EnvelopeAndLfoView.h" #include "ComboBox.h" #include "GroupBox.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "Knob.h" #include "TabWidget.h" @@ -83,7 +83,7 @@ InstrumentSoundShapingView::InstrumentSoundShapingView(QWidget* parent) : m_singleStreamInfoLabel = new QLabel(tr("Envelopes, LFOs and filters are not supported by the current instrument."), this); m_singleStreamInfoLabel->setWordWrap(true); // TODO Could also be rendered in system font size... - m_singleStreamInfoLabel->setFont(adjustedToPixelSize(m_singleStreamInfoLabel->font(), 10)); + m_singleStreamInfoLabel->setFont(adjustedToPixelSize(m_singleStreamInfoLabel->font(), DEFAULT_FONT_SIZE)); m_singleStreamInfoLabel->setFixedWidth(242); mainLayout->addWidget(m_singleStreamInfoLabel, 0, Qt::AlignTop); diff --git a/src/gui/instrument/InstrumentTrackWindow.cpp b/src/gui/instrument/InstrumentTrackWindow.cpp index 1fb859662..221338138 100644 --- a/src/gui/instrument/InstrumentTrackWindow.cpp +++ b/src/gui/instrument/InstrumentTrackWindow.cpp @@ -137,7 +137,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : #endif - QString labelStyleSheet = "font-size: 6pt;"; + QString labelStyleSheet = "font-size: 10px;"; Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop; Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter; diff --git a/src/gui/instrument/InstrumentTuningView.cpp b/src/gui/instrument/InstrumentTuningView.cpp index daa361aad..06121502e 100644 --- a/src/gui/instrument/InstrumentTuningView.cpp +++ b/src/gui/instrument/InstrumentTuningView.cpp @@ -33,7 +33,7 @@ #include "ComboBox.h" #include "GroupBox.h" #include "GuiApplication.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "InstrumentTrack.h" #include "LedCheckBox.h" #include "MainWindow.h" @@ -60,7 +60,7 @@ InstrumentTuningView::InstrumentTuningView(InstrumentTrack *it, QWidget *parent) auto tlabel = new QLabel(tr("Enables the use of global transposition")); tlabel->setWordWrap(true); - tlabel->setFont(adjustedToPixelSize(tlabel->font(), 10)); + tlabel->setFont(adjustedToPixelSize(tlabel->font(), DEFAULT_FONT_SIZE)); masterPitchLayout->addWidget(tlabel); // Microtuner settings diff --git a/src/gui/instrument/LfoGraph.cpp b/src/gui/instrument/LfoGraph.cpp index 7edbacb09..7444eeb46 100644 --- a/src/gui/instrument/LfoGraph.cpp +++ b/src/gui/instrument/LfoGraph.cpp @@ -32,7 +32,7 @@ #include "Oscillator.h" #include "ColorHelper.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms { @@ -166,8 +166,7 @@ void LfoGraph::drawInfoText(const EnvelopeAndLfoParameters& params) // First configure the font so that we get correct results for the font metrics used below QFont f = p.font(); - f.setPixelSize(height() * 0.2); - p.setFont(f); + p.setFont(adjustedToPixelSize(f, height() * 0.2)); // This is the position where the text and its rectangle will be rendered const QPoint textPosition(4, height() - 6); diff --git a/src/gui/instrument/PianoView.cpp b/src/gui/instrument/PianoView.cpp index 13628d97e..aeeb1fbbc 100644 --- a/src/gui/instrument/PianoView.cpp +++ b/src/gui/instrument/PianoView.cpp @@ -50,7 +50,7 @@ #include "CaptionMenu.h" #include "embed.h" #include "Engine.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "InstrumentTrack.h" #include "Song.h" #include "StringPairDrag.h" @@ -72,7 +72,7 @@ const int PW_WHITE_KEY_WIDTH = 10; /*!< The width of a white key */ const int PW_BLACK_KEY_WIDTH = 8; /*!< The width of a black key */ const int PW_WHITE_KEY_HEIGHT = 57; /*!< The height of a white key */ const int PW_BLACK_KEY_HEIGHT = 38; /*!< The height of a black key */ -const int LABEL_TEXT_SIZE = 7; /*!< The height of the key label text */ +const int LABEL_TEXT_SIZE = 8; /*!< The height of the key label text */ diff --git a/src/gui/widgets/ComboBox.cpp b/src/gui/widgets/ComboBox.cpp index 0daae1b24..945d30aa3 100644 --- a/src/gui/widgets/ComboBox.cpp +++ b/src/gui/widgets/ComboBox.cpp @@ -32,7 +32,7 @@ #include #include "CaptionMenu.h" -#include "gui_templates.h" +#include "FontHelper.h" #define QT_SUPPORTS_WIDGET_SCREEN (QT_VERSION >= QT_VERSION_CHECK(5,14,0)) #if !QT_SUPPORTS_WIDGET_SCREEN @@ -53,7 +53,7 @@ ComboBox::ComboBox( QWidget * _parent, const QString & _name ) : { setFixedHeight( ComboBox::DEFAULT_HEIGHT ); - setFont(adjustedToPixelSize(font(), 10)); + setFont(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)); connect( &m_menu, SIGNAL(triggered(QAction*)), this, SLOT(setItem(QAction*))); diff --git a/src/gui/widgets/GroupBox.cpp b/src/gui/widgets/GroupBox.cpp index e7d78acb9..e55052823 100644 --- a/src/gui/widgets/GroupBox.cpp +++ b/src/gui/widgets/GroupBox.cpp @@ -31,7 +31,7 @@ #include "GroupBox.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms::gui @@ -111,7 +111,7 @@ void GroupBox::paintEvent( QPaintEvent * pe ) // draw text p.setPen( palette().color( QPalette::Active, QPalette::Text ) ); - p.setFont(adjustedToPixelSize(font(), 10)); + p.setFont(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)); int const captionX = ledButtonShown() ? 22 : 6; p.drawText(captionX, m_titleBarHeight, m_caption); diff --git a/src/gui/widgets/Knob.cpp b/src/gui/widgets/Knob.cpp index d282f72c2..8941dcc29 100644 --- a/src/gui/widgets/Knob.cpp +++ b/src/gui/widgets/Knob.cpp @@ -33,7 +33,7 @@ #include "lmms_math.h" #include "DeprecationHelper.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms::gui @@ -139,7 +139,7 @@ void Knob::setLabel( const QString & txt ) if( m_knobPixmap ) { setFixedSize(qMax( m_knobPixmap->width(), - horizontalAdvance(QFontMetrics(adjustedToPixelSize(font(), 10)), m_label)), + horizontalAdvance(QFontMetrics(adjustedToPixelSize(font(), SMALL_FONT_SIZE)), m_label)), m_knobPixmap->height() + 10); } @@ -459,7 +459,7 @@ void Knob::paintEvent( QPaintEvent * _me ) { if (!m_isHtmlLabel) { - p.setFont(adjustedToPixelSize(p.font(), 10)); + p.setFont(adjustedToPixelSize(p.font(), SMALL_FONT_SIZE)); p.setPen(textColor()); p.drawText(width() / 2 - horizontalAdvance(p.fontMetrics(), m_label) / 2, @@ -468,7 +468,7 @@ void Knob::paintEvent( QPaintEvent * _me ) else { // TODO setHtmlLabel is never called so this will never be executed. Remove functionality? - m_tdRenderer->setDefaultFont(adjustedToPixelSize(p.font(), 10)); + m_tdRenderer->setDefaultFont(adjustedToPixelSize(p.font(), SMALL_FONT_SIZE)); p.translate((width() - m_tdRenderer->idealWidth()) / 2, (height() - m_tdRenderer->pageSize().height()) / 2); m_tdRenderer->drawContents(&p); } diff --git a/src/gui/widgets/LcdFloatSpinBox.cpp b/src/gui/widgets/LcdFloatSpinBox.cpp index c71d66568..37d262e4b 100644 --- a/src/gui/widgets/LcdFloatSpinBox.cpp +++ b/src/gui/widgets/LcdFloatSpinBox.cpp @@ -41,7 +41,7 @@ #include "DeprecationHelper.h" #include "embed.h" #include "GuiApplication.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "MainWindow.h" namespace lmms::gui @@ -245,7 +245,7 @@ void LcdFloatSpinBox::paintEvent(QPaintEvent*) // Label if (!m_label.isEmpty()) { - p.setFont(adjustedToPixelSize(p.font(), 10)); + p.setFont(adjustedToPixelSize(p.font(), DEFAULT_FONT_SIZE)); p.setPen(m_wholeDisplay.textShadowColor()); p.drawText(width() / 2 - p.fontMetrics().boundingRect(m_label).width() / 2 + 1, height(), m_label); p.setPen(m_wholeDisplay.textColor()); diff --git a/src/gui/widgets/LcdWidget.cpp b/src/gui/widgets/LcdWidget.cpp index 7370a939f..4b07af6f7 100644 --- a/src/gui/widgets/LcdWidget.cpp +++ b/src/gui/widgets/LcdWidget.cpp @@ -31,7 +31,7 @@ #include "LcdWidget.h" #include "DeprecationHelper.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms::gui @@ -209,7 +209,7 @@ void LcdWidget::paintEvent( QPaintEvent* ) // Label if( !m_label.isEmpty() ) { - p.setFont(adjustedToPixelSize(p.font(), 10)); + p.setFont(adjustedToPixelSize(p.font(), DEFAULT_FONT_SIZE)); p.setPen( textShadowColor() ); p.drawText(width() / 2 - horizontalAdvance(p.fontMetrics(), m_label) / 2 + 1, @@ -261,7 +261,7 @@ void LcdWidget::updateSize() setFixedSize( qMax( m_cellWidth * m_numDigits + marginX1 + marginX2, - horizontalAdvance(QFontMetrics(adjustedToPixelSize(font(), 10)), m_label) + horizontalAdvance(QFontMetrics(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)), m_label) ), m_cellHeight + (2 * marginY) + 9 ); diff --git a/src/gui/widgets/LedCheckBox.cpp b/src/gui/widgets/LedCheckBox.cpp index c26e21039..850393356 100644 --- a/src/gui/widgets/LedCheckBox.cpp +++ b/src/gui/widgets/LedCheckBox.cpp @@ -30,7 +30,7 @@ #include "DeprecationHelper.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms::gui { @@ -93,7 +93,7 @@ void LedCheckBox::initUi( LedColor _color ) m_ledOnPixmap = embed::getIconPixmap(names[static_cast(_color)].toUtf8().constData()); m_ledOffPixmap = embed::getIconPixmap("led_off"); - if (m_legacyMode){ setFont(adjustedToPixelSize(font(), 10)); } + if (m_legacyMode){ setFont(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)); } setText( m_text ); } @@ -114,7 +114,7 @@ void LedCheckBox::onTextUpdated() void LedCheckBox::paintLegacy(QPaintEvent * pe) { QPainter p( this ); - p.setFont(adjustedToPixelSize(font(), 10)); + p.setFont(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)); p.drawPixmap(0, 0, model()->value() ? m_ledOnPixmap : m_ledOffPixmap); diff --git a/src/gui/widgets/Oscilloscope.cpp b/src/gui/widgets/Oscilloscope.cpp index 775bd96a8..28ddff938 100644 --- a/src/gui/widgets/Oscilloscope.cpp +++ b/src/gui/widgets/Oscilloscope.cpp @@ -28,7 +28,7 @@ #include "Oscilloscope.h" #include "GuiApplication.h" -#include "gui_templates.h" +#include "FontHelper.h" #include "MainWindow.h" #include "AudioEngine.h" #include "Engine.h" @@ -203,7 +203,7 @@ void Oscilloscope::paintEvent( QPaintEvent * ) else { p.setPen( QColor( 192, 192, 192 ) ); - p.setFont(adjustedToPixelSize(p.font(), 10)); + p.setFont(adjustedToPixelSize(p.font(), DEFAULT_FONT_SIZE)); p.drawText( 6, height()-5, tr( "Click to enable" ) ); } } diff --git a/src/gui/widgets/TabWidget.cpp b/src/gui/widgets/TabWidget.cpp index a370c1ea9..81fae1c04 100644 --- a/src/gui/widgets/TabWidget.cpp +++ b/src/gui/widgets/TabWidget.cpp @@ -33,7 +33,7 @@ #include "DeprecationHelper.h" #include "embed.h" -#include "gui_templates.h" +#include "FontHelper.h" namespace lmms::gui { @@ -58,7 +58,7 @@ TabWidget::TabWidget(const QString& caption, QWidget* parent, bool usePixmap, m_tabheight = caption.isEmpty() ? m_tabbarHeight - 3 : m_tabbarHeight - 4; - setFont(adjustedToPixelSize(font(), 10)); + setFont(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)); setAutoFillBackground(true); QColor bg_color = QApplication::palette().color(QPalette::Active, QPalette::Window).darker(132); @@ -214,7 +214,7 @@ void TabWidget::resizeEvent(QResizeEvent*) void TabWidget::paintEvent(QPaintEvent* pe) { QPainter p(this); - p.setFont(adjustedToPixelSize(font(), 10)); + p.setFont(adjustedToPixelSize(font(), DEFAULT_FONT_SIZE)); // Draw background QBrush bg_color = p.background(); From 860749a8a19782e0364c3768d10c67cce84f930c Mon Sep 17 00:00:00 2001 From: saker Date: Mon, 30 Sep 2024 19:32:21 -0400 Subject: [PATCH 021/112] Reformat `MixerChannelView` classes (#7431) --- include/MixerChannelView.h | 170 ++++--- src/gui/MixerChannelView.cpp | 847 +++++++++++++++++------------------ 2 files changed, 503 insertions(+), 514 deletions(-) diff --git a/include/MixerChannelView.h b/include/MixerChannelView.h index 13d149e87..8074d4dce 100644 --- a/include/MixerChannelView.h +++ b/include/MixerChannelView.h @@ -25,6 +25,13 @@ #ifndef MIXER_CHANNEL_VIEW_H #define MIXER_CHANNEL_VIEW_H +#include +#include +#include +#include +#include +#include + #include "EffectRackView.h" #include "Fader.h" #include "Knob.h" @@ -32,109 +39,100 @@ #include "PixmapButton.h" #include "SendButtonIndicator.h" -#include -#include -#include -#include -#include -#include - -namespace lmms -{ - class MixerChannel; +namespace lmms { +class MixerChannel; } -namespace lmms::gui +namespace lmms::gui { +class PeakIndicator; + +constexpr int MIXER_CHANNEL_INNER_BORDER_SIZE = 3; +constexpr int MIXER_CHANNEL_OUTER_BORDER_SIZE = 1; + +class MixerChannelView : public QWidget { - class PeakIndicator; + Q_OBJECT + Q_PROPERTY(QBrush backgroundActive READ backgroundActive WRITE setBackgroundActive) + Q_PROPERTY(QColor strokeOuterActive READ strokeOuterActive WRITE setStrokeOuterActive) + Q_PROPERTY(QColor strokeOuterInactive READ strokeOuterInactive WRITE setStrokeOuterInactive) + Q_PROPERTY(QColor strokeInnerActive READ strokeInnerActive WRITE setStrokeInnerActive) + Q_PROPERTY(QColor strokeInnerInactive READ strokeInnerInactive WRITE setStrokeInnerInactive) +public: + MixerChannelView(QWidget* parent, MixerView* mixerView, int channelIndex); + void paintEvent(QPaintEvent* event) override; + void contextMenuEvent(QContextMenuEvent*) override; + void mousePressEvent(QMouseEvent*) override; + void mouseDoubleClickEvent(QMouseEvent*) override; + bool eventFilter(QObject* dist, QEvent* event) override; - constexpr int MIXER_CHANNEL_INNER_BORDER_SIZE = 3; - constexpr int MIXER_CHANNEL_OUTER_BORDER_SIZE = 1; + int channelIndex() const; + void setChannelIndex(int index); - class MixerChannelView : public QWidget - { - Q_OBJECT - Q_PROPERTY(QBrush backgroundActive READ backgroundActive WRITE setBackgroundActive) - Q_PROPERTY(QColor strokeOuterActive READ strokeOuterActive WRITE setStrokeOuterActive) - Q_PROPERTY(QColor strokeOuterInactive READ strokeOuterInactive WRITE setStrokeOuterInactive) - Q_PROPERTY(QColor strokeInnerActive READ strokeInnerActive WRITE setStrokeInnerActive) - Q_PROPERTY(QColor strokeInnerInactive READ strokeInnerInactive WRITE setStrokeInnerInactive) - public: - MixerChannelView(QWidget* parent, MixerView* mixerView, int channelIndex); - void paintEvent(QPaintEvent* event) override; - void contextMenuEvent(QContextMenuEvent*) override; - void mousePressEvent(QMouseEvent*) override; - void mouseDoubleClickEvent(QMouseEvent*) override; - bool eventFilter(QObject* dist, QEvent* event) override; + QBrush backgroundActive() const; + void setBackgroundActive(const QBrush& c); - int channelIndex() const; - void setChannelIndex(int index); + QColor strokeOuterActive() const; + void setStrokeOuterActive(const QColor& c); - QBrush backgroundActive() const; - void setBackgroundActive(const QBrush& c); + QColor strokeOuterInactive() const; + void setStrokeOuterInactive(const QColor& c); - QColor strokeOuterActive() const; - void setStrokeOuterActive(const QColor& c); + QColor strokeInnerActive() const; + void setStrokeInnerActive(const QColor& c); - QColor strokeOuterInactive() const; - void setStrokeOuterInactive(const QColor& c); + QColor strokeInnerInactive() const; + void setStrokeInnerInactive(const QColor& c); - QColor strokeInnerActive() const; - void setStrokeInnerActive(const QColor& c); + void reset(); - QColor strokeInnerInactive() const; - void setStrokeInnerInactive(const QColor& c); +public slots: + void renameChannel(); + void resetColor(); + void selectColor(); + void randomizeColor(); - void reset(); +private slots: + void renameFinished(); + void removeChannel(); + void removeUnusedChannels(); + void moveChannelLeft(); + void moveChannelRight(); - public slots: - void renameChannel(); - void resetColor(); - void selectColor(); - void randomizeColor(); +private: + bool confirmRemoval(int index); + QString elideName(const QString& name); + MixerChannel* mixerChannel() const; + auto isMasterChannel() const -> bool { return m_channelIndex == 0; } - private slots: - void renameFinished(); - void removeChannel(); - void removeUnusedChannels(); - void moveChannelLeft(); - void moveChannelRight(); +private: + SendButtonIndicator* m_sendButton; + QLabel* m_receiveArrow; + QStackedWidget* m_receiveArrowOrSendButton; + int m_receiveArrowStackedIndex = -1; + int m_sendButtonStackedIndex = -1; - private: - bool confirmRemoval(int index); - QString elideName(const QString& name); - MixerChannel* mixerChannel() const; - auto isMasterChannel() const -> bool { return m_channelIndex == 0; } + Knob* m_sendKnob; + LcdWidget* m_channelNumberLcd; + QLineEdit* m_renameLineEdit; + QGraphicsView* m_renameLineEditView; + QLabel* m_sendArrow; + PixmapButton* m_muteButton; + PixmapButton* m_soloButton; + PeakIndicator* m_peakIndicator = nullptr; + Fader* m_fader; + EffectRackView* m_effectRackView; + MixerView* m_mixerView; + int m_channelIndex = 0; + bool m_inRename = false; - private: - SendButtonIndicator* m_sendButton; - QLabel* m_receiveArrow; - QStackedWidget* m_receiveArrowOrSendButton; - int m_receiveArrowStackedIndex = -1; - int m_sendButtonStackedIndex = -1; + QBrush m_backgroundActive; + QColor m_strokeOuterActive; + QColor m_strokeOuterInactive; + QColor m_strokeInnerActive; + QColor m_strokeInnerInactive; - Knob* m_sendKnob; - LcdWidget* m_channelNumberLcd; - QLineEdit* m_renameLineEdit; - QGraphicsView* m_renameLineEditView; - QLabel* m_sendArrow; - PixmapButton* m_muteButton; - PixmapButton* m_soloButton; - PeakIndicator* m_peakIndicator = nullptr; - Fader* m_fader; - EffectRackView* m_effectRackView; - MixerView* m_mixerView; - int m_channelIndex = 0; - bool m_inRename = false; - - QBrush m_backgroundActive; - QColor m_strokeOuterActive; - QColor m_strokeOuterInactive; - QColor m_strokeInnerActive; - QColor m_strokeInnerInactive; - - friend class MixerView; - }; + friend class MixerView; +}; } // namespace lmms::gui #endif // MIXER_CHANNEL_VIEW_H diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index 82bbedb03..2228c8508 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -22,450 +22,441 @@ * */ -#include "CaptionMenu.h" -#include "ColorChooser.h" -#include "GuiApplication.h" -#include "Mixer.h" #include "MixerChannelView.h" -#include "MixerView.h" -#include "PeakIndicator.h" -#include "Song.h" -#include "ConfigManager.h" -#include "FontHelper.h" +#include +#include #include #include #include -#include -#include #include -#include - +#include #include -namespace lmms::gui +#include "CaptionMenu.h" +#include "ColorChooser.h" +#include "ConfigManager.h" +#include "FontHelper.h" +#include "GuiApplication.h" +#include "Mixer.h" +#include "MixerView.h" +#include "PeakIndicator.h" +#include "Song.h" + +namespace lmms::gui { +MixerChannelView::MixerChannelView(QWidget* parent, MixerView* mixerView, int channelIndex) + : QWidget(parent) + , m_mixerView(mixerView) + , m_channelIndex(channelIndex) { - MixerChannelView::MixerChannelView(QWidget* parent, MixerView* mixerView, int channelIndex) : - QWidget(parent), - m_mixerView(mixerView), - m_channelIndex(channelIndex) - { - auto retainSizeWhenHidden = [](QWidget* widget) - { - auto sizePolicy = widget->sizePolicy(); - sizePolicy.setRetainSizeWhenHidden(true); - widget->setSizePolicy(sizePolicy); - }; - - auto receiveArrowContainer = new QWidget{}; - auto receiveArrowLayout = new QVBoxLayout{receiveArrowContainer}; - m_receiveArrow = new QLabel{}; - m_receiveArrow->setPixmap(embed::getIconPixmap("receive_bg_arrow")); - receiveArrowLayout->setContentsMargins(0, 0, 0, 0); - receiveArrowLayout->setSpacing(0); - receiveArrowLayout->addWidget(m_receiveArrow, 0, Qt::AlignHCenter); - - auto sendButtonContainer = new QWidget{}; - auto sendButtonLayout = new QVBoxLayout{sendButtonContainer}; - m_sendButton = new SendButtonIndicator{this, this, mixerView}; - sendButtonLayout->setContentsMargins(0, 0, 0, 0); - sendButtonLayout->setSpacing(0); - sendButtonLayout->addWidget(m_sendButton, 0, Qt::AlignHCenter); - - m_receiveArrowOrSendButton = new QStackedWidget{this}; - m_receiveArrowStackedIndex = m_receiveArrowOrSendButton->addWidget(receiveArrowContainer); - m_sendButtonStackedIndex = m_receiveArrowOrSendButton->addWidget(sendButtonContainer); - retainSizeWhenHidden(m_receiveArrowOrSendButton); - - m_sendKnob = new Knob{KnobType::Bright26, this, tr("Channel send amount")}; - retainSizeWhenHidden(m_sendKnob); - - m_sendArrow = new QLabel{}; - m_sendArrow->setPixmap(embed::getIconPixmap("send_bg_arrow")); - retainSizeWhenHidden(m_sendArrow); - - m_channelNumberLcd = new LcdWidget{2, this}; - m_channelNumberLcd->setValue(channelIndex); - retainSizeWhenHidden(m_channelNumberLcd); - - const auto mixerChannel = Engine::mixer()->mixerChannel(channelIndex); - const auto mixerName = mixerChannel->m_name; - setToolTip(mixerName); - - m_renameLineEdit = new QLineEdit{mixerName, nullptr}; - m_renameLineEdit->setFixedWidth(65); - m_renameLineEdit->setFont(adjustedToPixelSize(font(), LARGE_FONT_SIZE)); - m_renameLineEdit->setReadOnly(true); - m_renameLineEdit->installEventFilter(this); - - auto renameLineEditScene = new QGraphicsScene{}; - m_renameLineEditView = new QGraphicsView{}; - m_renameLineEditView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - m_renameLineEditView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - m_renameLineEditView->setAttribute(Qt::WA_TransparentForMouseEvents, true); - m_renameLineEditView->setScene(renameLineEditScene); - - auto renameLineEditProxy = renameLineEditScene->addWidget(m_renameLineEdit); - renameLineEditProxy->setRotation(-90); - m_renameLineEditView->setFixedSize(m_renameLineEdit->height() + 5, m_renameLineEdit->width() + 5); - - m_muteButton = new PixmapButton(this, tr("Mute")); - m_muteButton->setModel(&mixerChannel->m_muteModel); - m_muteButton->setActiveGraphic(embed::getIconPixmap("led_off")); - m_muteButton->setInactiveGraphic(embed::getIconPixmap("led_green")); - m_muteButton->setCheckable(true); - m_muteButton->setToolTip(tr("Mute this channel")); - - m_soloButton = new PixmapButton(this, tr("Solo")); - m_soloButton->setModel(&mixerChannel->m_soloModel); - m_soloButton->setActiveGraphic(embed::getIconPixmap("led_red")); - m_soloButton->setInactiveGraphic(embed::getIconPixmap("led_off")); - m_soloButton->setCheckable(true); - m_soloButton->setToolTip(tr("Solo this channel")); - - auto soloMuteLayout = new QVBoxLayout(); - soloMuteLayout->setContentsMargins(0, 0, 0, 0); - soloMuteLayout->setSpacing(0); - soloMuteLayout->addWidget(m_soloButton, 0, Qt::AlignHCenter); - soloMuteLayout->addWidget(m_muteButton, 0, Qt::AlignHCenter); - - m_fader = new Fader{&mixerChannel->m_volumeModel, tr("Fader %1").arg(channelIndex), this}; - - m_peakIndicator = new PeakIndicator(this); - connect(m_fader, &Fader::peakChanged, m_peakIndicator, &PeakIndicator::updatePeak); - - m_effectRackView = new EffectRackView{&mixerChannel->m_fxChain, mixerView->m_racksWidget}; - m_effectRackView->setFixedWidth(EffectRackView::DEFAULT_WIDTH); - - auto mainLayout = new QVBoxLayout{this}; - mainLayout->setContentsMargins(4, 4, 4, 4); - mainLayout->setSpacing(2); - - mainLayout->addWidget(m_receiveArrowOrSendButton, 0, Qt::AlignHCenter); - mainLayout->addWidget(m_sendKnob, 0, Qt::AlignHCenter); - mainLayout->addWidget(m_sendArrow, 0, Qt::AlignHCenter); - mainLayout->addWidget(m_channelNumberLcd, 0, Qt::AlignHCenter); - mainLayout->addWidget(m_renameLineEditView, 0, Qt::AlignHCenter); - mainLayout->addLayout(soloMuteLayout); - mainLayout->addWidget(m_peakIndicator); - mainLayout->addWidget(m_fader, 1, Qt::AlignHCenter); - - connect(m_renameLineEdit, &QLineEdit::editingFinished, this, &MixerChannelView::renameFinished); - } - - void MixerChannelView::contextMenuEvent(QContextMenuEvent*) - { - auto contextMenu = new CaptionMenu(mixerChannel()->m_name, this); - - if (!isMasterChannel()) // no move-options in master - { - contextMenu->addAction(tr("Move &left"), this, &MixerChannelView::moveChannelLeft); - contextMenu->addAction(tr("Move &right"), this, &MixerChannelView::moveChannelRight); - } - - contextMenu->addAction(tr("Rename &channel"), this, &MixerChannelView::renameChannel); - contextMenu->addSeparator(); - - if (!isMasterChannel()) // no remove-option in master - { - contextMenu->addAction(embed::getIconPixmap("cancel"), tr("R&emove channel"), this, &MixerChannelView::removeChannel); - contextMenu->addSeparator(); - } - - contextMenu->addAction(embed::getIconPixmap("cancel"), tr("Remove &unused channels"), this, &MixerChannelView::removeUnusedChannels); - contextMenu->addSeparator(); - - auto colorMenu = QMenu{tr("Color"), this}; - colorMenu.setIcon(embed::getIconPixmap("colorize")); - colorMenu.addAction(tr("Change"), this, &MixerChannelView::selectColor); - colorMenu.addAction(tr("Reset"), this, &MixerChannelView::resetColor); - colorMenu.addAction(tr("Pick random"), this, &MixerChannelView::randomizeColor); - contextMenu->addMenu(&colorMenu); - - contextMenu->exec(QCursor::pos()); - delete contextMenu; - } - - void MixerChannelView::paintEvent(QPaintEvent* event) - { - const auto channel = mixerChannel(); - const bool muted = channel->m_muteModel.value(); - const auto name = channel->m_name; - const auto elidedName = elideName(name); - const auto isActive = m_mixerView->currentMixerChannel() == this; - - if (!m_inRename && m_renameLineEdit->text() != elidedName) - { - m_renameLineEdit->setText(elidedName); - } - - const auto width = rect().width(); - const auto height = rect().height(); - auto painter = QPainter{this}; - - if (channel->color().has_value() && !muted) - { - painter.fillRect(rect(), channel->color()->darker(isActive ? 120 : 150)); - } - else - { - painter.fillRect(rect(), isActive ? backgroundActive().color() : painter.background().color()); - } - - // inner border - painter.setPen(isActive ? strokeInnerActive() : strokeInnerInactive()); - painter.drawRect(1, 1, width - MIXER_CHANNEL_INNER_BORDER_SIZE, height - MIXER_CHANNEL_INNER_BORDER_SIZE); - - // outer border - painter.setPen(isActive ? strokeOuterActive() : strokeOuterInactive()); - painter.drawRect(0, 0, width - MIXER_CHANNEL_OUTER_BORDER_SIZE, height - MIXER_CHANNEL_OUTER_BORDER_SIZE); - - QWidget::paintEvent(event); - } - - void MixerChannelView::mousePressEvent(QMouseEvent*) - { - if (m_mixerView->currentMixerChannel() != this) - { - m_mixerView->setCurrentMixerChannel(this); - } - } - - void MixerChannelView::mouseDoubleClickEvent(QMouseEvent*) - { - renameChannel(); - } - - bool MixerChannelView::eventFilter(QObject* dist, QEvent* event) - { - // If we are in a rename, capture the enter/return events and handle them - if (event->type() == QEvent::KeyPress) - { - auto keyEvent = static_cast(event); - if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) - { - if (m_inRename) - { - renameFinished(); - event->accept(); // Stop the event from propagating - return true; - } - } - } - return false; - } - - int MixerChannelView::channelIndex() const - { - return m_channelIndex; - } - - void MixerChannelView::setChannelIndex(int index) - { - MixerChannel* mixerChannel = Engine::mixer()->mixerChannel(index); - m_fader->setModel(&mixerChannel->m_volumeModel); - m_muteButton->setModel(&mixerChannel->m_muteModel); - m_soloButton->setModel(&mixerChannel->m_soloModel); - m_effectRackView->setModel(&mixerChannel->m_fxChain); - m_channelNumberLcd->setValue(index); - m_channelIndex = index; - } - - QBrush MixerChannelView::backgroundActive() const - { - return m_backgroundActive; - } - - void MixerChannelView::setBackgroundActive(const QBrush& c) - { - m_backgroundActive = c; - } - - QColor MixerChannelView::strokeOuterActive() const - { - return m_strokeOuterActive; - } - - void MixerChannelView::setStrokeOuterActive(const QColor& c) - { - m_strokeOuterActive = c; - } - - QColor MixerChannelView::strokeOuterInactive() const - { - return m_strokeOuterInactive; - } - - void MixerChannelView::setStrokeOuterInactive(const QColor& c) - { - m_strokeOuterInactive = c; - } - - QColor MixerChannelView::strokeInnerActive() const - { - return m_strokeInnerActive; - } - - void MixerChannelView::setStrokeInnerActive(const QColor& c) - { - m_strokeInnerActive = c; - } - - QColor MixerChannelView::strokeInnerInactive() const - { - return m_strokeInnerInactive; - } - - void MixerChannelView::setStrokeInnerInactive(const QColor& c) - { - m_strokeInnerInactive = c; - } - - void MixerChannelView::reset() - { - m_peakIndicator->resetPeakToMinusInf(); - } - - void MixerChannelView::renameChannel() - { - m_inRename = true; - setToolTip(""); - m_renameLineEdit->setReadOnly(false); - - m_channelNumberLcd->hide(); - m_renameLineEdit->setFixedWidth(m_renameLineEdit->width()); - m_renameLineEdit->setText(mixerChannel()->m_name); - - m_renameLineEditView->setFocus(); - m_renameLineEdit->selectAll(); - m_renameLineEdit->setFocus(); - } - - void MixerChannelView::renameFinished() - { - m_inRename = false; - - m_renameLineEdit->deselect(); - m_renameLineEdit->setReadOnly(true); - m_renameLineEdit->setFixedWidth(m_renameLineEdit->width()); - m_channelNumberLcd->show(); - - auto newName = m_renameLineEdit->text(); - setFocus(); - - const auto mc = mixerChannel(); - if (!newName.isEmpty() && mc->m_name != newName) - { - mc->m_name = newName; - m_renameLineEdit->setText(elideName(newName)); - Engine::getSong()->setModified(); - } - - setToolTip(mc->m_name); - } - - void MixerChannelView::resetColor() - { - mixerChannel()->setColor(std::nullopt); - Engine::getSong()->setModified(); - update(); - } - - void MixerChannelView::selectColor() - { - const auto channel = mixerChannel(); - - const auto initialColor = channel->color().value_or(backgroundActive().color()); - const auto * colorChooser = ColorChooser{this}.withPalette(ColorChooser::Palette::Mixer); - const auto newColor = colorChooser->getColor(initialColor); - - if (!newColor.isValid()) { return; } - - channel->setColor(newColor); - - Engine::getSong()->setModified(); - update(); - } - - void MixerChannelView::randomizeColor() - { - auto channel = mixerChannel(); - channel->setColor(ColorChooser::getPalette(ColorChooser::Palette::Mixer)[rand() % 48]); - Engine::getSong()->setModified(); - update(); - } - - bool MixerChannelView::confirmRemoval(int index) + auto retainSizeWhenHidden = [](QWidget* widget) { + auto sizePolicy = widget->sizePolicy(); + sizePolicy.setRetainSizeWhenHidden(true); + widget->setSizePolicy(sizePolicy); + }; + + auto receiveArrowContainer = new QWidget{}; + auto receiveArrowLayout = new QVBoxLayout{receiveArrowContainer}; + m_receiveArrow = new QLabel{}; + m_receiveArrow->setPixmap(embed::getIconPixmap("receive_bg_arrow")); + receiveArrowLayout->setContentsMargins(0, 0, 0, 0); + receiveArrowLayout->setSpacing(0); + receiveArrowLayout->addWidget(m_receiveArrow, 0, Qt::AlignHCenter); + + auto sendButtonContainer = new QWidget{}; + auto sendButtonLayout = new QVBoxLayout{sendButtonContainer}; + m_sendButton = new SendButtonIndicator{this, this, mixerView}; + sendButtonLayout->setContentsMargins(0, 0, 0, 0); + sendButtonLayout->setSpacing(0); + sendButtonLayout->addWidget(m_sendButton, 0, Qt::AlignHCenter); + + m_receiveArrowOrSendButton = new QStackedWidget{this}; + m_receiveArrowStackedIndex = m_receiveArrowOrSendButton->addWidget(receiveArrowContainer); + m_sendButtonStackedIndex = m_receiveArrowOrSendButton->addWidget(sendButtonContainer); + retainSizeWhenHidden(m_receiveArrowOrSendButton); + + m_sendKnob = new Knob{KnobType::Bright26, this, tr("Channel send amount")}; + retainSizeWhenHidden(m_sendKnob); + + m_sendArrow = new QLabel{}; + m_sendArrow->setPixmap(embed::getIconPixmap("send_bg_arrow")); + retainSizeWhenHidden(m_sendArrow); + + m_channelNumberLcd = new LcdWidget{2, this}; + m_channelNumberLcd->setValue(channelIndex); + retainSizeWhenHidden(m_channelNumberLcd); + + const auto mixerChannel = Engine::mixer()->mixerChannel(channelIndex); + const auto mixerName = mixerChannel->m_name; + setToolTip(mixerName); + + m_renameLineEdit = new QLineEdit{mixerName, nullptr}; + m_renameLineEdit->setFixedWidth(65); + m_renameLineEdit->setFont(adjustedToPixelSize(font(), LARGE_FONT_SIZE)); + m_renameLineEdit->setReadOnly(true); + m_renameLineEdit->installEventFilter(this); + + auto renameLineEditScene = new QGraphicsScene{}; + m_renameLineEditView = new QGraphicsView{}; + m_renameLineEditView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + m_renameLineEditView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + m_renameLineEditView->setAttribute(Qt::WA_TransparentForMouseEvents, true); + m_renameLineEditView->setScene(renameLineEditScene); + + auto renameLineEditProxy = renameLineEditScene->addWidget(m_renameLineEdit); + renameLineEditProxy->setRotation(-90); + m_renameLineEditView->setFixedSize(m_renameLineEdit->height() + 5, m_renameLineEdit->width() + 5); + + m_muteButton = new PixmapButton(this, tr("Mute")); + m_muteButton->setModel(&mixerChannel->m_muteModel); + m_muteButton->setActiveGraphic(embed::getIconPixmap("led_off")); + m_muteButton->setInactiveGraphic(embed::getIconPixmap("led_green")); + m_muteButton->setCheckable(true); + m_muteButton->setToolTip(tr("Mute this channel")); + + m_soloButton = new PixmapButton(this, tr("Solo")); + m_soloButton->setModel(&mixerChannel->m_soloModel); + m_soloButton->setActiveGraphic(embed::getIconPixmap("led_red")); + m_soloButton->setInactiveGraphic(embed::getIconPixmap("led_off")); + m_soloButton->setCheckable(true); + m_soloButton->setToolTip(tr("Solo this channel")); + + auto soloMuteLayout = new QVBoxLayout(); + soloMuteLayout->setContentsMargins(0, 0, 0, 0); + soloMuteLayout->setSpacing(0); + soloMuteLayout->addWidget(m_soloButton, 0, Qt::AlignHCenter); + soloMuteLayout->addWidget(m_muteButton, 0, Qt::AlignHCenter); + + m_fader = new Fader{&mixerChannel->m_volumeModel, tr("Fader %1").arg(channelIndex), this}; + + m_peakIndicator = new PeakIndicator(this); + connect(m_fader, &Fader::peakChanged, m_peakIndicator, &PeakIndicator::updatePeak); + + m_effectRackView = new EffectRackView{&mixerChannel->m_fxChain, mixerView->m_racksWidget}; + m_effectRackView->setFixedWidth(EffectRackView::DEFAULT_WIDTH); + + auto mainLayout = new QVBoxLayout{this}; + mainLayout->setContentsMargins(4, 4, 4, 4); + mainLayout->setSpacing(2); + + mainLayout->addWidget(m_receiveArrowOrSendButton, 0, Qt::AlignHCenter); + mainLayout->addWidget(m_sendKnob, 0, Qt::AlignHCenter); + mainLayout->addWidget(m_sendArrow, 0, Qt::AlignHCenter); + mainLayout->addWidget(m_channelNumberLcd, 0, Qt::AlignHCenter); + mainLayout->addWidget(m_renameLineEditView, 0, Qt::AlignHCenter); + mainLayout->addLayout(soloMuteLayout); + mainLayout->addWidget(m_peakIndicator); + mainLayout->addWidget(m_fader, 1, Qt::AlignHCenter); + + connect(m_renameLineEdit, &QLineEdit::editingFinished, this, &MixerChannelView::renameFinished); +} + +void MixerChannelView::contextMenuEvent(QContextMenuEvent*) +{ + auto contextMenu = new CaptionMenu(mixerChannel()->m_name, this); + + if (!isMasterChannel()) // no move-options in master { - // if config variable is set to false, there is no need for user confirmation - bool needConfirm = ConfigManager::inst()->value("ui", "mixerchanneldeletionwarning", "1").toInt(); - if (!needConfirm) { return true; } - - // is the channel is not in use, there is no need for user confirmation - if (!getGUI()->mixerView()->getMixer()->isChannelInUse(index)) { return true; } - - QString messageRemoveTrack = tr("This Mixer Channel is being used.\n" - "Are you sure you want to remove this channel?\n\n" - "Warning: This operation can not be undone."); - - QString messageTitleRemoveTrack = tr("Confirm removal"); - QString askAgainText = tr("Don't ask again"); - auto askAgainCheckBox = new QCheckBox(askAgainText, nullptr); - connect(askAgainCheckBox, &QCheckBox::stateChanged, [](int state) { - // Invert button state, if it's checked we *shouldn't* ask again - ConfigManager::inst()->setValue("ui", "mixerchanneldeletionwarning", state ? "0" : "1"); - }); - - QMessageBox mb(this); - mb.setText(messageRemoveTrack); - mb.setWindowTitle(messageTitleRemoveTrack); - mb.setIcon(QMessageBox::Warning); - mb.addButton(QMessageBox::Cancel); - mb.addButton(QMessageBox::Ok); - mb.setCheckBox(askAgainCheckBox); - mb.setDefaultButton(QMessageBox::Cancel); - - int answer = mb.exec(); - - return answer == QMessageBox::Ok; + contextMenu->addAction(tr("Move &left"), this, &MixerChannelView::moveChannelLeft); + contextMenu->addAction(tr("Move &right"), this, &MixerChannelView::moveChannelRight); } - void MixerChannelView::removeChannel() - { - if (!confirmRemoval(m_channelIndex)) { return; } - auto mix = getGUI()->mixerView(); - mix->deleteChannel(m_channelIndex); - } + contextMenu->addAction(tr("Rename &channel"), this, &MixerChannelView::renameChannel); + contextMenu->addSeparator(); - void MixerChannelView::removeUnusedChannels() - { - auto mix = getGUI()->mixerView(); - mix->deleteUnusedChannels(); - } + if (!isMasterChannel()) // no remove-option in master + { + contextMenu->addAction( + embed::getIconPixmap("cancel"), tr("R&emove channel"), this, &MixerChannelView::removeChannel); + contextMenu->addSeparator(); + } - void MixerChannelView::moveChannelLeft() - { - auto mix = getGUI()->mixerView(); - mix->moveChannelLeft(m_channelIndex); - } + contextMenu->addAction( + embed::getIconPixmap("cancel"), tr("Remove &unused channels"), this, &MixerChannelView::removeUnusedChannels); + contextMenu->addSeparator(); - void MixerChannelView::moveChannelRight() - { - auto mix = getGUI()->mixerView(); - mix->moveChannelRight(m_channelIndex); - } + auto colorMenu = QMenu{tr("Color"), this}; + colorMenu.setIcon(embed::getIconPixmap("colorize")); + colorMenu.addAction(tr("Change"), this, &MixerChannelView::selectColor); + colorMenu.addAction(tr("Reset"), this, &MixerChannelView::resetColor); + colorMenu.addAction(tr("Pick random"), this, &MixerChannelView::randomizeColor); + contextMenu->addMenu(&colorMenu); - QString MixerChannelView::elideName(const QString& name) - { - const auto maxTextHeight = m_renameLineEdit->width(); - const auto metrics = QFontMetrics{m_renameLineEdit->font()}; - const auto elidedName = metrics.elidedText(name, Qt::ElideRight, maxTextHeight); - return elidedName; - } + contextMenu->exec(QCursor::pos()); + delete contextMenu; +} - MixerChannel* MixerChannelView::mixerChannel() const - { - return Engine::mixer()->mixerChannel(m_channelIndex); - } +void MixerChannelView::paintEvent(QPaintEvent* event) +{ + const auto channel = mixerChannel(); + const bool muted = channel->m_muteModel.value(); + const auto name = channel->m_name; + const auto elidedName = elideName(name); + const auto isActive = m_mixerView->currentMixerChannel() == this; + + if (!m_inRename && m_renameLineEdit->text() != elidedName) { m_renameLineEdit->setText(elidedName); } + + const auto width = rect().width(); + const auto height = rect().height(); + auto painter = QPainter{this}; + + if (channel->color().has_value() && !muted) + { + painter.fillRect(rect(), channel->color()->darker(isActive ? 120 : 150)); + } + else { painter.fillRect(rect(), isActive ? backgroundActive().color() : painter.background().color()); } + + // inner border + painter.setPen(isActive ? strokeInnerActive() : strokeInnerInactive()); + painter.drawRect(1, 1, width - MIXER_CHANNEL_INNER_BORDER_SIZE, height - MIXER_CHANNEL_INNER_BORDER_SIZE); + + // outer border + painter.setPen(isActive ? strokeOuterActive() : strokeOuterInactive()); + painter.drawRect(0, 0, width - MIXER_CHANNEL_OUTER_BORDER_SIZE, height - MIXER_CHANNEL_OUTER_BORDER_SIZE); + + QWidget::paintEvent(event); +} + +void MixerChannelView::mousePressEvent(QMouseEvent*) +{ + if (m_mixerView->currentMixerChannel() != this) { m_mixerView->setCurrentMixerChannel(this); } +} + +void MixerChannelView::mouseDoubleClickEvent(QMouseEvent*) +{ + renameChannel(); +} + +bool MixerChannelView::eventFilter(QObject* dist, QEvent* event) +{ + // If we are in a rename, capture the enter/return events and handle them + if (event->type() == QEvent::KeyPress) + { + auto keyEvent = static_cast(event); + if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) + { + if (m_inRename) + { + renameFinished(); + event->accept(); // Stop the event from propagating + return true; + } + } + } + return false; +} + +int MixerChannelView::channelIndex() const +{ + return m_channelIndex; +} + +void MixerChannelView::setChannelIndex(int index) +{ + MixerChannel* mixerChannel = Engine::mixer()->mixerChannel(index); + m_fader->setModel(&mixerChannel->m_volumeModel); + m_muteButton->setModel(&mixerChannel->m_muteModel); + m_soloButton->setModel(&mixerChannel->m_soloModel); + m_effectRackView->setModel(&mixerChannel->m_fxChain); + m_channelNumberLcd->setValue(index); + m_channelIndex = index; +} + +QBrush MixerChannelView::backgroundActive() const +{ + return m_backgroundActive; +} + +void MixerChannelView::setBackgroundActive(const QBrush& c) +{ + m_backgroundActive = c; +} + +QColor MixerChannelView::strokeOuterActive() const +{ + return m_strokeOuterActive; +} + +void MixerChannelView::setStrokeOuterActive(const QColor& c) +{ + m_strokeOuterActive = c; +} + +QColor MixerChannelView::strokeOuterInactive() const +{ + return m_strokeOuterInactive; +} + +void MixerChannelView::setStrokeOuterInactive(const QColor& c) +{ + m_strokeOuterInactive = c; +} + +QColor MixerChannelView::strokeInnerActive() const +{ + return m_strokeInnerActive; +} + +void MixerChannelView::setStrokeInnerActive(const QColor& c) +{ + m_strokeInnerActive = c; +} + +QColor MixerChannelView::strokeInnerInactive() const +{ + return m_strokeInnerInactive; +} + +void MixerChannelView::setStrokeInnerInactive(const QColor& c) +{ + m_strokeInnerInactive = c; +} + +void MixerChannelView::reset() +{ + m_peakIndicator->resetPeakToMinusInf(); +} + +void MixerChannelView::renameChannel() +{ + m_inRename = true; + setToolTip(""); + m_renameLineEdit->setReadOnly(false); + + m_channelNumberLcd->hide(); + m_renameLineEdit->setFixedWidth(m_renameLineEdit->width()); + m_renameLineEdit->setText(mixerChannel()->m_name); + + m_renameLineEditView->setFocus(); + m_renameLineEdit->selectAll(); + m_renameLineEdit->setFocus(); +} + +void MixerChannelView::renameFinished() +{ + m_inRename = false; + + m_renameLineEdit->deselect(); + m_renameLineEdit->setReadOnly(true); + m_renameLineEdit->setFixedWidth(m_renameLineEdit->width()); + m_channelNumberLcd->show(); + + auto newName = m_renameLineEdit->text(); + setFocus(); + + const auto mc = mixerChannel(); + if (!newName.isEmpty() && mc->m_name != newName) + { + mc->m_name = newName; + m_renameLineEdit->setText(elideName(newName)); + Engine::getSong()->setModified(); + } + + setToolTip(mc->m_name); +} + +void MixerChannelView::resetColor() +{ + mixerChannel()->setColor(std::nullopt); + Engine::getSong()->setModified(); + update(); +} + +void MixerChannelView::selectColor() +{ + const auto channel = mixerChannel(); + + const auto initialColor = channel->color().value_or(backgroundActive().color()); + const auto* colorChooser = ColorChooser{this}.withPalette(ColorChooser::Palette::Mixer); + const auto newColor = colorChooser->getColor(initialColor); + + if (!newColor.isValid()) { return; } + + channel->setColor(newColor); + + Engine::getSong()->setModified(); + update(); +} + +void MixerChannelView::randomizeColor() +{ + auto channel = mixerChannel(); + channel->setColor(ColorChooser::getPalette(ColorChooser::Palette::Mixer)[rand() % 48]); + Engine::getSong()->setModified(); + update(); +} + +bool MixerChannelView::confirmRemoval(int index) +{ + // if config variable is set to false, there is no need for user confirmation + bool needConfirm = ConfigManager::inst()->value("ui", "mixerchanneldeletionwarning", "1").toInt(); + if (!needConfirm) { return true; } + + // is the channel is not in use, there is no need for user confirmation + if (!getGUI()->mixerView()->getMixer()->isChannelInUse(index)) { return true; } + + QString messageRemoveTrack = tr("This Mixer Channel is being used.\n" + "Are you sure you want to remove this channel?\n\n" + "Warning: This operation can not be undone."); + + QString messageTitleRemoveTrack = tr("Confirm removal"); + QString askAgainText = tr("Don't ask again"); + auto askAgainCheckBox = new QCheckBox(askAgainText, nullptr); + connect(askAgainCheckBox, &QCheckBox::stateChanged, [](int state) { + // Invert button state, if it's checked we *shouldn't* ask again + ConfigManager::inst()->setValue("ui", "mixerchanneldeletionwarning", state ? "0" : "1"); + }); + + QMessageBox mb(this); + mb.setText(messageRemoveTrack); + mb.setWindowTitle(messageTitleRemoveTrack); + mb.setIcon(QMessageBox::Warning); + mb.addButton(QMessageBox::Cancel); + mb.addButton(QMessageBox::Ok); + mb.setCheckBox(askAgainCheckBox); + mb.setDefaultButton(QMessageBox::Cancel); + + int answer = mb.exec(); + + return answer == QMessageBox::Ok; +} + +void MixerChannelView::removeChannel() +{ + if (!confirmRemoval(m_channelIndex)) { return; } + auto mix = getGUI()->mixerView(); + mix->deleteChannel(m_channelIndex); +} + +void MixerChannelView::removeUnusedChannels() +{ + auto mix = getGUI()->mixerView(); + mix->deleteUnusedChannels(); +} + +void MixerChannelView::moveChannelLeft() +{ + auto mix = getGUI()->mixerView(); + mix->moveChannelLeft(m_channelIndex); +} + +void MixerChannelView::moveChannelRight() +{ + auto mix = getGUI()->mixerView(); + mix->moveChannelRight(m_channelIndex); +} + +QString MixerChannelView::elideName(const QString& name) +{ + const auto maxTextHeight = m_renameLineEdit->width(); + const auto metrics = QFontMetrics{m_renameLineEdit->font()}; + const auto elidedName = metrics.elidedText(name, Qt::ElideRight, maxTextHeight); + return elidedName; +} + +MixerChannel* MixerChannelView::mixerChannel() const +{ + return Engine::mixer()->mixerChannel(m_channelIndex); +} } // namespace lmms::gui From 121d608c3a9bbbd55588f29bff881f34b048d8f6 Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Tue, 1 Oct 2024 14:35:15 -0400 Subject: [PATCH 022/112] Reintroduce fast math functions (#7495) * Add fast fma functions * Use fast fma functions * Add fast pow function * Use fast pow function * Fix build * Remove fastFma * Avoid UB in fastPow On GCC with -O1 or -O2 optimizations, this new implementation generates identical assembly to the old union-based implementation --- include/interpolation.h | 22 +++++++++++----------- include/lmms_math.h | 17 ++++++++++++++++- plugins/Kicker/KickerOsc.h | 4 ++-- plugins/Monstro/Monstro.cpp | 2 +- 4 files changed, 30 insertions(+), 15 deletions(-) diff --git a/include/interpolation.h b/include/interpolation.h index 4b2d3bca9..0b972bc27 100644 --- a/include/interpolation.h +++ b/include/interpolation.h @@ -69,13 +69,13 @@ inline float hermiteInterpolate( float x0, float x1, float x2, float x3, inline float cubicInterpolate( float v0, float v1, float v2, float v3, float x ) { - float frsq = x*x; - float frcu = frsq*v0; - float t1 = std::fma(v1, 3, v3); + float frsq = x * x; + float frcu = frsq * v0; + float t1 = v1 * 3.f + v3; - return (v1 + std::fma(0.5f, frcu, x) * (v2 - frcu * (1.0f / 6.0f) - - std::fma(t1, (1.0f / 6.0f), -v0) * (1.0f / 3.0f)) + frsq * x * (t1 * - (1.0f / 6.0f) - 0.5f * v2) + frsq * std::fma(0.5f, v2, -v1)); + return v1 + (0.5f * frcu + x) * (v2 - frcu * (1.0f / 6.0f) - + (t1 * (1.0f / 6.0f) - v0) * (1.0f / 3.0f)) + frsq * x * (t1 * + (1.0f / 6.0f) - 0.5f * v2) + frsq * (0.5f * v2 - v1); } @@ -83,13 +83,13 @@ inline float cubicInterpolate( float v0, float v1, float v2, float v3, float x ) inline float cosinusInterpolate( float v0, float v1, float x ) { const float f = ( 1.0f - cosf( x * F_PI ) ) * 0.5f; - return std::fma(f, v1 - v0, v0); + return f * (v1 - v0) + v0; } inline float linearInterpolate( float v0, float v1, float x ) { - return std::fma(x, v1 - v0, v0); + return x * (v1 - v0) + v0; } @@ -104,7 +104,7 @@ inline float optimalInterpolate( float v0, float v1, float x ) const float c2 = even * -0.004541102062639801; const float c3 = odd * -1.57015627178718420; - return std::fma(std::fma(std::fma(c3, z, c2), z, c1), z, c0); + return ((c3 * z + c2) * z + c1) * z + c0; } @@ -121,7 +121,7 @@ inline float optimal4pInterpolate( float v0, float v1, float v2, float v3, float const float c2 = even1 * -0.246185007019907091 + even2 * 0.24614027139700284; const float c3 = odd1 * -0.36030925263849456 + odd2 * 0.10174985775982505; - return std::fma(std::fma(std::fma(c3, z, c2), z, c1), z, c0); + return ((c3 * z + c2) * z + c1) * z + c0; } @@ -132,7 +132,7 @@ inline float lagrangeInterpolate( float v0, float v1, float v2, float v3, float const float c1 = v2 - v0 * ( 1.0f / 3.0f ) - v1 * 0.5f - v3 * ( 1.0f / 6.0f ); const float c2 = 0.5f * (v0 + v2) - v1; const float c3 = ( 1.0f/6.0f ) * ( v3 - v0 ) + 0.5f * ( v1 - v2 ); - return std::fma(std::fma(std::fma(c3, x, c2), x, c1), x, c0); + return ((c3 * x + c2) * x + c1) * x + c0; } diff --git a/include/lmms_math.h b/include/lmms_math.h index 13004b0e6..728008388 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -27,12 +27,13 @@ #include #include +#include #include #include +#include #include "lmms_constants.h" #include "lmmsconfig.h" -#include namespace lmms { @@ -96,6 +97,20 @@ static void roundAt(T& value, const T& where, const T& stepSize) } } +//! Source: http://martin.ankerl.com/2007/10/04/optimized-pow-approximation-for-java-and-c-c/ +inline double fastPow(double a, double b) +{ + double d; + std::int32_t x[2]; + + std::memcpy(x, &a, sizeof(x)); + x[1] = static_cast(b * (x[1] - 1072632447) + 1072632447); + x[0] = 0; + + std::memcpy(&d, x, sizeof(d)); + return d; +} + //! returns 1.0f if val >= 0.0f, -1.0 else inline float sign(float val) diff --git a/plugins/Kicker/KickerOsc.h b/plugins/Kicker/KickerOsc.h index a11b0fc55..adcceaefe 100644 --- a/plugins/Kicker/KickerOsc.h +++ b/plugins/Kicker/KickerOsc.h @@ -64,7 +64,7 @@ public: { for( fpp_t frame = 0; frame < frames; ++frame ) { - const double gain = 1 - std::pow((m_counter < m_length) ? m_counter / m_length : 1, m_env); + const double gain = 1 - fastPow((m_counter < m_length) ? m_counter / m_length : 1, m_env); const sample_t s = ( Oscillator::sinSample( m_phase ) * ( 1 - m_noise ) ) + ( Oscillator::noiseSample( 0 ) * gain * gain * m_noise ); buf[frame][0] = s * gain; buf[frame][1] = s * gain; @@ -80,7 +80,7 @@ public: m_FX.nextSample( buf[frame][0], buf[frame][1] ); m_phase += m_freq / sampleRate; - const double change = (m_counter < m_length) ? ((m_startFreq - m_endFreq) * (1 - std::pow(m_counter / m_length, m_slope))) : 0; + const double change = (m_counter < m_length) ? ((m_startFreq - m_endFreq) * (1 - fastPow(m_counter / m_length, m_slope))) : 0; m_freq = m_endFreq + change; ++m_counter; } diff --git a/plugins/Monstro/Monstro.cpp b/plugins/Monstro/Monstro.cpp index d53fcc913..ff92abbb6 100644 --- a/plugins/Monstro/Monstro.cpp +++ b/plugins/Monstro/Monstro.cpp @@ -858,7 +858,7 @@ inline sample_t MonstroSynth::calcSlope( int slope, sample_t s ) { if( m_parent->m_slope[slope] == 1.0f ) return s; if( s == 0.0f ) return s; - return std::pow(s, m_parent->m_slope[slope]); + return fastPow(s, m_parent->m_slope[slope]); } From a83130f8c922b17d991c9694f286fe536d84b976 Mon Sep 17 00:00:00 2001 From: liushuyu Date: Wed, 2 Oct 2024 10:21:08 -0600 Subject: [PATCH 023/112] .tx/config: migrate the configuration to v2 format --- .tx/config | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.tx/config b/.tx/config index ab92433c5..f75700e97 100644 --- a/.tx/config +++ b/.tx/config @@ -3,9 +3,8 @@ host = https://www.transifex.com minimum_perc = 51 #Need to finish at least 51% before merging back -[lmms.lmms] +[o:lmms:p:lmms:r:lmms] file_filter = data/locale/.ts source_file = data/locale/en.ts source_lang = en -type = QT - +type = QT From e0ae8a1cecff3a91153591c054ae171b4affe3a9 Mon Sep 17 00:00:00 2001 From: LMMS Service Date: Wed, 2 Oct 2024 10:37:50 -0600 Subject: [PATCH 024/112] locale: Update translations --- data/locale/cs.ts | 28028 ++++++++++++++++++++------------------ data/locale/de.ts | 26851 +++++++++++++++++++----------------- data/locale/es.ts | 27171 ++++++++++++++++++++----------------- data/locale/eu.ts | 27805 +++++++++++++++++++++----------------- data/locale/fr.ts | 27665 ++++++++++++++++++++----------------- data/locale/he.ts | 23136 +++++++++++++++++-------------- data/locale/hu_HU.ts | 27952 ++++++++++++++++++++------------------ data/locale/id.ts | 27027 ++++++++++++++++++++----------------- data/locale/it.ts | 27989 ++++++++++++++++++++------------------ data/locale/ja.ts | 26961 +++++++++++++++++++----------------- data/locale/ko.ts | 28482 ++++++++++++++++++++------------------ data/locale/nl.ts | 27808 +++++++++++++++++++++----------------- data/locale/pl.ts | 26283 ++++++++++++++++++++---------------- data/locale/pt.ts | 27144 ++++++++++++++++++++----------------- data/locale/ru.ts | 27556 ++++++++++++++++++++----------------- data/locale/sl.ts | 30011 ++++++++++++++++++++++------------------- data/locale/sv.ts | 27537 ++++++++++++++++++++----------------- data/locale/tr.ts | 27264 ++++++++++++++++++++----------------- data/locale/uk.ts | 27169 ++++++++++++++++++++----------------- data/locale/zh_CN.ts | 27888 +++++++++++++++++++++----------------- data/locale/zh_TW.ts | 26785 +++++++++++++++++++----------------- 21 files changed, 313025 insertions(+), 261487 deletions(-) diff --git a/data/locale/cs.ts b/data/locale/cs.ts index 16982e4ae..331a37c9b 100644 --- a/data/locale/cs.ts +++ b/data/locale/cs.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -69,811 +69,44 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - HLA - - - - Volume: - Hlasitost: - - - - PAN - PAN - - - - Panning: - Panoráma: - - - - LEFT - LEVÝ - - - - Left gain: - Zesílení vlevo: - - - - RIGHT - PRAVÝ - - - - Right gain: - Zesílení vpravo: - - - - AmplifierControls - - - Volume - Hlasitost - - - - Panning - Panoráma - - - - Left gain - Zesílení vlevo - - - - Right gain - Zesílení vpravo - - - - AudioAlsaSetupWidget - - - DEVICE - ZAŘÍZENÍ - - - - CHANNELS - KANÁLY - - - - AudioFileProcessorView - - - Open sample - Načíst sampl - - - - Reverse sample - Přehrávat pozpátku - - - - Disable loop - Vypnout smyčku - - - - Enable loop - Zapnout smyčku - - - - Enable ping-pong loop - Zapnout ping-pongovou smyčku - - - - Continue sample playback across notes - Pokračovat v přehrávání samplu přes znějící tóny - - - - Amplify: - Zesílení: - - - - Start point: - Počáteční bod: - - - - End point: - Koncový bod: - - - - Loopback point: - Začátek smyčky: - - - - AudioFileProcessorWaveView - - - Sample length: - Délka samplu: - - - - AudioJack - - - JACK client restarted - Klient JACK je restartován - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS bylo z nějakého důvodu shozeno JACKem. Proto byl ovladač JACK v LMMS restartován. Musíte znovu provést ruční připojení. - - - - JACK server down - JACK server byl zastaven - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Vypnutí a nové spuštění serveru JACK se nezdařilo. LMMS proto nemůže pokračovat. Uložte svůj projekt a restartujte JACK i LMMS. - - - - Client name - Jméno klienta - - - - Channels - Kanály - - - - AudioOss - - - Device - Zařízení - - - - Channels - Kanály - - - - AudioPortAudio::setupWidget - - - Backend - Backend - - - - Device - Zařízení - - - - AudioPulseAudio - - - Device - Zařízení - - - - Channels - Kanály - - - - AudioSdl::setupWidget - - - Device - Zařízení - - - - AudioSndio - - - Device - Zařízení - - - - Channels - Kanály - - - - AudioSoundIo::setupWidget - - - Backend - Backend - - - - Device - Zařízení - - - - AutomatableModel - - - &Reset (%1%2) - &Resetovat hodnoty (%1%2) - - - - &Copy value (%1%2) - &Kopírovat hodnoty (%1%2) - - - - &Paste value (%1%2) - &Vložit hodnoty (%1%2) - - - - &Paste value - &Vložit hodnoty - - - - Edit song-global automation - Upravit hlavní automatizaci skladby - - - - Remove song-global automation - Odebrat hlavní automatizaci skladby - - - - Remove all linked controls - Odebrat všechny propojené ovládací prvky - - - - Connected to %1 - Připojeno k %1 - - - - Connected to controller - Připojeno k ovladači - - - - Edit connection... - Upravit připojení... - - - - Remove connection - Odebrat připojení - - - - Connect to controller... - Připojit k ovladači... - - - - AutomationEditor - - - Edit Value + + About JUCE - - New outValue + + <b>About JUCE</b> - - New inValue + + This program uses JUCE version 3.x.x. - - Please open an automation clip with the context menu of a control! - Otevřete prosím automatizační záznam pomocí kontextové nabídky ovládání! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Přehrát/Pozastavit přehrávání aktuálního záznamu (mezerník) - - - - Stop playing of current clip (Space) - Zastavit přehrávání aktuálního záznamu (mezerník) - - - - Edit actions - Akce úprav - - - - Draw mode (Shift+D) - Režim kreslení (Shift+D) - - - - Erase mode (Shift+E) - Režim mazání (Shift+E) - - - - Draw outValues mode (Shift+C) + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Flip vertically - Převrátit vertikálně - - - - Flip horizontally - Převrátit horizontálně - - - - Interpolation controls - Ovládání interpolace - - - - Discrete progression - Terasovitý průběh - - - - Linear progression - Lineární průběh - - - - Cubic Hermite progression - Křivkovitý průběh - - - - Tension value for spline - Hodnota napětí pro křivku - - - - Tension: - Napětí: - - - - Zoom controls - Ovládání zvětšení - - - - Horizontal zooming - Horizontální zvětšení - - - - Vertical zooming - Vertikální zvětšení - - - - Quantization controls - Ovládání kvantizace - - - - Quantization - Kvantizace - - - - - Automation Editor - no clip - Editor automatizace – žádný záznam - - - - - Automation Editor - %1 - Editor automatizace – %1 - - - - Model is already connected to this clip. - Model je již k tomuto záznamu připojen. - - - - AutomationClip - - - Drag a control while pressing <%1> - Ovládací prvek táhni při stisknutém <%1> - - - - AutomationClipView - - - Open in Automation editor - Otevřít v Editoru automatizace - - - - Clear - Vyčistit - - - - Reset name - Obnovit výchozí jméno - - - - Change name - Změnit jméno - - - - Set/clear record - Zapnout/Vypnout záznam - - - - Flip Vertically (Visible) - Převrátit vertikálně (viditelné) - - - - Flip Horizontally (Visible) - Převrátit horizontálně (viditelné) - - - - %1 Connections - %1 Připojení - - - - Disconnect "%1" - Odpojit "%1" - - - - Model is already connected to this clip. - Model je již k tomuto záznamu připojen. - - - - AutomationTrack - - - Automation track - Stopa automatizace - - - - PatternEditor - - - Beat+Bassline Editor - Editor bicích/basů - - - - Play/pause current beat/bassline (Space) - Přehrát/Pozastavit přehrávání aktuálního záznamu bicích/basů (mezerník) - - - - Stop playback of current beat/bassline (Space) - Zastavit přehrávání aktuálního záznamu bicích/basů (mezerník) - - - - Beat selector - Výběr rytmu - - - - Track and step actions - Akce stopy a kroků - - - - Add beat/bassline - Přidat bicí/basy - - - - Clone beat/bassline clip + + This program uses JUCE version - - - Add sample-track - Přidat stopu samplů - - - - Add automation-track - Přidat stopu automatizace - - - - Remove steps - Odstranit kroky - - - - Add steps - Přidat kroky - - - - Clone Steps - Klonovat kroky - - PatternClipView + AudioDeviceSetupWidget - - Open in Beat+Bassline-Editor - Otevřít v editoru bicích/basů - - - - Reset name - Resetovat jméno - - - - Change name - Změnit jméno - - - - PatternTrack - - - Beat/Bassline %1 - Bicí/basy %1 - - - - Clone of %1 - Klon z %1 - - - - BassBoosterControlDialog - - - FREQ - FREKV - - - - Frequency: - Frekvence: - - - - GAIN - ZES - - - - Gain: - Zesílení: - - - - RATIO - POMĚR - - - - Ratio: - Poměr: - - - - BassBoosterControls - - - Frequency - Frekvence - - - - Gain - Zesílení - - - - Ratio - Poměr - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - OUT - - - - - GAIN - ZISK - - - - Input gain: - Zesílení vstupu: - - - - NOISE - ŠUM - - - - Input noise: - Vstup šumu: - - - - Output gain: - Zesílení výstupu: - - - - CLIP - OŘÍZ - - - - Output clip: - Oříznutí výstupu: - - - - Rate enabled - Frekvence zapnuta - - - - Enable sample-rate crushing - Zapnout drtič vzorkovací frekvence - - - - Depth enabled - Hloubka zapnuta - - - - Enable bit-depth crushing - Zapnout drtič bitové hloubky - - - - FREQ - FREKV - - - - Sample rate: - Vzorkovací frekvence: - - - - STEREO - STEREO - - - - Stereo difference: - Stereo rozdíl: - - - - QUANT - KVANT - - - - Levels: - Úrovně: - - - - BitcrushControls - - - Input gain - Zesílení vstupu - - - - Input noise - Vstup šumu - - - - Output gain - Zesílení výstupu - - - - Output clip - Oříznutí výstupu - - - - Sample rate - Vzorkovací frekvence - - - - Stereo difference - Stereo rozdíl - - - - Levels - Úrovně - - - - Rate enabled - Frekvence zapnuta - - - - Depth enabled - Hloubka zapnuta + + [System Default] + @@ -881,12 +114,12 @@ If you're interested in translating LMMS in another language or want to imp About Carla - + O programu Carla About - O LMMS + O programu @@ -899,124 +132,124 @@ If you're interested in translating LMMS in another language or want to imp - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + VST2: - + DSSI: - + DSSI: - + LV2: - + LV2: - + VST3: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License Licence - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,50 +534,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + Verze pluginu - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1377,561 +610,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File &Soubor - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help &Nápověda - - toolBar + + Tool Bar - + Disk - - + + Home Domů - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Délka: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Nastavení - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &Nový - + Ctrl+N - + &Open... &Otevřít... - - + + Open... - + Ctrl+O - + &Save &Uložit - + Ctrl+S - + Save &As... Uložit &jako... - - + + Save As... - + Ctrl+Shift+S - + &Quit &Ukončit - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In Přiblížit - + Ctrl++ Ctrl++ - + Zoom Out Oddálit - + Ctrl+- Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error Chyba - + Failed to load project - + Failed to save project - + Quit - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - Ukázat grafické rozhraní - - CarlaSettingsW @@ -1986,19 +1256,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2019,1487 +1289,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths Cesty - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: Velikost: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Zvuk - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + LADSPA - + DSSI - + DSSI - + LV2 - + LV2 - + VST2 - + VST2 - + VST3 - + VST3 - + SF2/3 - + SF2/3 - + SFZ + SFZ + + + + JSFX - + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Poměr: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Náběh: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Doznění: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Zadržení: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Zesílení výstupu - - - - - Gain - Zesílení - - - - Output volume - - - - - Input gain - Zesílení vstupu - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Poměr - - - - Attack - Náběh - - - - Release - Doznění - - - - Knee - - - - - Hold - Držení - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Zesílení výstupu - - - - Input Gain - Vstupní úroveň - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Zpětná vazba - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Poměr - - - - Controller - - - Controller %1 - Ovladač %1 - - - - ControllerConnectionDialog - - - Connection Settings - Nastavení připojení - - - - MIDI CONTROLLER - MIDI OVLADAČ - - - - Input channel - Vstupní kanál - - - - CHANNEL - KANÁL - - - - Input controller - Vstupní ovladač - - - - CONTROLLER - OVLADAČ - - - - - Auto Detect - Autodetekce - - - - MIDI-devices to receive MIDI-events from - MIDI zařízení k přijmu MIDI události - - - - USER CONTROLLER - UŽIVATELSKÝ OVLADAČ - - - - MAPPING FUNCTION - MAPOVACÍ FUNKCE - - - - OK - OK - - - - Cancel - Zrušit - - - - LMMS - LMMS - - - - Cycle Detected. - Zjištěno zacyklení. - - - - ControllerRackView - - - Controller Rack - Ovladače - - - - Add - Přidat - - - - Confirm Delete - Potvrdit smazání - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Opravdu smazat? Je (jsou) zde propojení na tento ovladač. Nebude možné vrátit se zpět. - - - - ControllerView - - - Controls - Ovládací prvky - - - - Rename controller - Přejmenovat ovladač - - - - Enter the new name for this controller - Vložte nové jméno pro tento ovladač - - - - LFO - LFO - - - - &Remove this controller - Odst&ranit tento ovladač - - - - Re&name this controller - Přejme&novat tento ovladač - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Přechod mezi pásmy 1/2: - - - - Band 2/3 crossover: - Přechod mezi pásmy 2/3: - - - - Band 3/4 crossover: - Přechod mezi pásmy 3/4: - - - - Band 1 gain - Zesílení pásma 1 - - - - Band 1 gain: - Zesílení pásma 1: - - - - Band 2 gain - Zesílení pásma 2 - - - - Band 2 gain: - Zesílení pásma 2: - - - - Band 3 gain - Zesílení pásma 3 - - - - Band 3 gain: - Zesílení pásma 3: - - - - Band 4 gain - Zesílení pásma 4 - - - - Band 4 gain: - Zesílení pásma 4: - - - - Band 1 mute - Ztlumení pásma 1 - - - - Mute band 1 - Ztlumit pásmo 1 - - - - Band 2 mute - Ztlumení pásma 2 - - - - Mute band 2 - Ztlumit pásmo 2 - - - - Band 3 mute - Ztlumení pásma 3 - - - - Mute band 3 - Ztlumit pásmo 3 - - - - Band 4 mute - Ztlumení pásma 4 - - - - Mute band 4 - Ztlumit pásmo 4 - - - - DelayControls - - - Delay samples - Zpoždění vzorků - - - - Feedback - Zpětná vazba - - - - LFO frequency - Frekvence LFO - - - - LFO amount - Hloubka LFO - - - - Output gain - Zesílení výstupu - - - - DelayControlsDialog - - - DELAY - ZPOŽ - - - - Delay time - Délka zpoždění - - - - FDBK - ZPVAZ - - - - Feedback amount - Hloubka zpětné vazby - - - - RATE - RYCH - - - - LFO frequency - Frekvence LFO - - - - AMNT - MNOŽ - - - - LFO amount - Hloubka LFO - - - - Out gain - Zesílení výstupu - - - - Gain - Zesílení - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Žádný - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3525,27 +1897,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3600,948 +1951,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - FREKV - - - - - Cutoff frequency - Frekvence oříznutí - - - - - RESO - REZON - - - - - Resonance - Rezonance - - - - - GAIN - ZESIL - - - - - Gain - Zesílení - - - - MIX - POMĚR - - - - Mix - Poměr - - - - Filter 1 enabled - Filtr 1 zapnutý - - - - Filter 2 enabled - Filtr 2 zapnutý - - - - Enable/disable filter 1 - Zapnout/vypnout filtr 1 - - - - Enable/disable filter 2 - Zapnout/vypnout filtr 2 - - - - DualFilterControls - - - Filter 1 enabled - Filtr 1 zapnutý - - - - Filter 1 type - Typ filtru 1 - - - - Cutoff frequency 1 - Frekvence oříznutí 1 - - - - Q/Resonance 1 - Q/rezonance 1 - - - - Gain 1 - Zesílení 1 - - - - Mix - Mix - - - - Filter 2 enabled - Filtr 1 zapnutý - - - - Filter 2 type - Typ filtru 2 - - - - Cutoff frequency 2 - Frekvence oříznutí 2 - - - - Q/Resonance 2 - Q/rezonance 2 - - - - Gain 2 - Zesílení 2 - - - - - Low-pass - Dolní propust - - - - - Hi-pass - Horní propust - - - - - Band-pass csg - Pásmová propust csg - - - - - Band-pass czpg - Pásmová propust czpg - - - - - Notch - Pásmová zádrž - - - - - All-pass - All-pass - - - - - Moog - Moogův filtr - - - - - 2x Low-pass - 2x dolní propust - - - - - RC Low-pass 12 dB/oct - RC dolní propust 12 dB/okt - - - - - RC Band-pass 12 dB/oct - RC pásmová propust 12 dB/okt - - - - - RC High-pass 12 dB/oct - RC horní propust 12 dB/okt - - - - - RC Low-pass 24 dB/oct - RC dolní propust 24 dB/okt - - - - - RC Band-pass 24 dB/oct - RC pásmová propust 24 dB/okt - - - - - RC High-pass 24 dB/oct - RC horní propust 24 dB/okt - - - - - Vocal Formant - Vokální formant - - - - - 2x Moog - 2x Moogův filtr - - - - - SV Low-pass - SV dolní propust - - - - - SV Band-pass - SV pásmová propust - - - - - SV High-pass - SV horní propust - - - - - SV Notch - SV pásmová zádrž - - - - - Fast Formant - Rychlý formantový filtr - - - - - Tripole - Třípólový filtr - - - - Editor - - - Transport controls - Řízení přenosu - - - - Play (Space) - Přehrát (mezerník) - - - - Stop (Space) - Zastavit (mezerník) - - - - Record - Nahrávat - - - - Record while playing - Nahrávat při přehrávání - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Efekt aktivován - - - - Wet/Dry mix - Poměr zpracovaného/původního signálu - - - - Gate - Brána - - - - Decay - Pokles - - - - EffectChain - - - Effects enabled - Efekty aktivovány - - - - EffectRackView - - - EFFECTS CHAIN - ŘETĚZ EFEKTŮ - - - - Add effect - Přidat efekt - - - - EffectSelectDialog - - - Add effect - Přidat efekt - - - - - Name - Název - - - - Type - Typ - - - - Description - Popis - - - - Author - Autor - - - - EffectView - - - On/Off - Zap/Vyp - - - - W/D - POM - - - - Wet Level: - Úroveň zpracovaného signálu: - - - - DECAY - POKLES - - - - Time: - Délka: - - - - GATE - BRÁ - - - - Gate: - Brána: - - - - Controls - Ovladače - - - - Move &up - Posunout &nahoru - - - - Move &down - Posunout &dolů - - - - &Remove this plugin - &Odstranit tento plugin - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Obálka předzpoždění - - - - Env attack - Obálka náběh - - - - Env hold - Obálka zadržení - - - - Env decay - Obálka pokles - - - - Env sustain - Obálka držení - - - - Env release - Obálka doznění - - - - Env mod amount - Obálka hloubky modulace - - - - LFO pre-delay - Předzpoždění LFO - - - - LFO attack - Náběh LFO - - - - LFO frequency - Frekvence LFO - - - - LFO mod amount - Hloubka modulace LFO - - - - LFO wave shape - Tvar vlny LFO - - - - LFO frequency x 100 - Frekvence LFO x 100 - - - - Modulate env amount - Modulovat obálku - - - - EnvelopeAndLfoView - - - - DEL - PŘED - - - - - Pre-delay: - Předzpoždění: - - - - - ATT - NÁB - - - - - Attack: - Náběh: - - - - HOLD - ZADR - - - - Hold: - Zadržení: - - - - DEC - POK - - - - Decay: - Pokles: - - - - SUST - DRŽE - - - - Sustain: - Držení: - - - - REL - DOZ - - - - Release: - Doznění: - - - - - AMT - MOD - - - - - Modulation amount: - Hloubka modulace: - - - - SPD - RYCH - - - - Frequency: - Frekvence: - - - - FREQ x 100 - FREKVENCE x 100 - - - - Multiply LFO frequency by 100 - Vynásobit frekvenci LFO x 100 - - - - MODULATE ENV AMOUNT - MODULOVAT OBÁLKU - - - - Control envelope amount by this LFO - Řízení množství obálky tímto LFO - - - - ms/LFO: - ms/LFO: - - - - Hint - Rada - - - - Drag and drop a sample into this window. - Přetáhněte sampl do tohoto okna - - - - EqControls - - - Input gain - Zesílení vstupu - - - - Output gain - Zesílení výstupu - - - - Low-shelf gain - Zesílení dolního šelfu - - - - Peak 1 gain - Zesílení špičky 1 - - - - Peak 2 gain - Zesílení špičky 2 - - - - Peak 3 gain - Zesílení špičky 3 - - - - Peak 4 gain - Zesílení špičky 4 - - - - High-shelf gain - Zesílení horního šelfu - - - - HP res - Rezonance horní propusti - - - - Low-shelf res - Rezonance dolního šelfu - - - - Peak 1 BW - Šířka pásma špičky 1 - - - - Peak 2 BW - Šířka pásma špičky 2 - - - - Peak 3 BW - Šířka pásma špičky 3 - - - - Peak 4 BW - Šířka pásma špičky 4 - - - - High-shelf res - Rezonance horního šelfu - - - - LP res - Rezonance dolní propusti - - - - HP freq - Frekvence horní propusti - - - - Low-shelf freq - Frekvence dolního šelfu - - - - Peak 1 freq - Frekvence špičky 1 - - - - Peak 2 freq - Frekvence špičky 2 - - - - Peak 3 freq - Frekvence špičky 3 - - - - Peak 4 freq - Frekvence špičky 3 - - - - High-shelf freq - Frekvence horního šelfu - - - - LP freq - Frekvence dolní propusti - - - - HP active - Horní propust aktivní - - - - Low-shelf active - Dolní šelf aktivní - - - - Peak 1 active - Špička 1 aktivní - - - - Peak 2 active - Špička 2 aktivní - - - - Peak 3 active - Špička 3 aktivní - - - - Peak 4 active - Špička 4 aktivní - - - - High-shelf active - Horní šelf aktivní - - - - LP active - Dolní propust aktivní - - - - LP 12 - DP 12 - - - - LP 24 - DP 24 - - - - LP 48 - DP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - Typ dolní propusti - - - - High-pass type - Typ horní propusti - - - - Analyse IN - Analýza VSTUPU - - - - Analyse OUT - Analýza VÝSTUPU - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - Dolní šelf - - - - Peak 1 - Špička 1 - - - - Peak 2 - Špička 2 - - - - Peak 3 - Špička 3 - - - - Peak 4 - Špička 4 - - - - High-shelf - Horní šelf - - - - LP - DP - - - - Input gain - Zesílení vstupu - - - - - - Gain - Zesílení - - - - Output gain - Zesílení výstupu - - - - Bandwidth: - Šířka pásma: - - - - Octave - oktávy - - - - Resonance : - Rezonance: - - - - Frequency: - Frekvence: - - - - LP group - Skupina DP - - - - HP group - Skupina HP - - - - EqHandle - - - Reso: - Rezon: - - - - BW: - ŠPás: - - - - - Freq: - Frekv: - - ExportProjectDialog @@ -4562,12 +1971,12 @@ If you are unsure, leave it as 'Automatic'. Render Looped Section: - + Opakovat smyčku: time(s) - + krát @@ -4725,2126 +2134,652 @@ If you are unsure, leave it as 'Automatic'. Sinc nejlepší (nejpomalejší) - - Oversampling: - Převzorkování: - - - - 1x (None) - 1x (žádné) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Začít - + Cancel Zrušit - - - Could not open file - Nemohu otevřít soubor - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Nelze otevřít soubor %1 pro zápis. -Ověřte si prosím, zda máte povolen zápis do souboru a do složky, ve které je umístěn, a zkuste znovu! - - - - Export project to %1 - Exportovat projekt do %1 - - - - ( Fastest - biggest ) - (Nejrychlejší – největší) - - - - ( Slowest - smallest ) - (Nejpomalejší – nejmenší) - - - - Error - Chyba - - - - Error while determining file-encoder device. Please try to choose a different output format. - Chyba při zjišťování souboru enkodéru. Zkuste prosím vybrat jiný výstupní formát. - - - - Rendering: %1% - Renderuji: %1% - - - - Fader - - - Set value - Nastavit hodnotu - - - - Please enter a new value between %1 and %2: - Vložte prosím novou hodnotu mezi %1 a %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Prohlížeč - - - - Search - Hledat - - - - Refresh list - Obnovit seznam - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Odeslat do aktivní stopy nástroje - - - - Open containing folder - - - - - Song Editor - Editor skladby - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Načítám vzorek - - - - Please wait, loading sample for preview... - Počkejte prosím, načítám vzorek pro náhled... - - - - Error - Chyba - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Tovární soubory --- - - - - FlangerControls - - - Delay samples - Zpoždění vzorků - - - - LFO frequency - Frekvence LFO - - - - Seconds - Sekund - - - - Stereo phase - - - - - Regen - Obnov - - - - Noise - Šum - - - - Invert - Převrátit - - - - FlangerControlsDialog - - - DELAY - ZPOŽ - - - - Delay time: - Délka zpoždění: - - - - RATE - POMĚR - - - - Period: - Perioda: - - - - AMNT - MNOŽ - - - - Amount: - Množství: - - - - PHASE - - - - - Phase: - - - - - FDBK - ZP. VAZ - - - - Feedback amount: - Velikost zpětné vazby: - - - - NOISE - ŠUM - - - - White noise amount: - Množství bílého šumu: - - - - Invert - Převrátit - - - - FreeBoyInstrument - - - Sweep time - Trvání sweepu - - - - Sweep direction - Směr sweepu - - - - Sweep rate shift amount - Úroveň pro změnu frekvence sweepu - - - - - Wave pattern duty cycle - Pracovní cyklus vlnového vzorce - - - - Channel 1 volume - Hlasitost kanálu 1 - - - - - - Volume sweep direction - Směr hlasitosti sweepu - - - - - - Length of each step in sweep - Délka každého kroku ve sweepu - - - - Channel 2 volume - Hlasitost kanálu 2 - - - - Channel 3 volume - Hlasitost kanálu 3 - - - - Channel 4 volume - Hlasitost kanálu 4 - - - - Shift Register width - Posun šířky registru - - - - Right output level - Úroveň pravého výstupu - - - - Left output level - Úroveň levého výstupu - - - - Channel 1 to SO2 (Left) - Kanál 1 do SO2 (pravý) - - - - Channel 2 to SO2 (Left) - Kanál 2 do SO2 (pravý) - - - - Channel 3 to SO2 (Left) - Kanál 3 do SO2 (pravý) - - - - Channel 4 to SO2 (Left) - Kanál 4 do SO2 (pravý) - - - - Channel 1 to SO1 (Right) - Kanál 1 do SO1 (pravý) - - - - Channel 2 to SO1 (Right) - Kanál 2 do SO1 (pravý) - - - - Channel 3 to SO1 (Right) - Kanál 3 do SO1 (pravý) - - - - Channel 4 to SO1 (Right) - Kanál 4 do SO1 (pravý) - - - - Treble - Výšky - - - - Bass - Basy - - - - FreeBoyInstrumentView - - - Sweep time: - Trvání sweepu: - - - - Sweep time - Trvání sweepu - - - - Sweep rate shift amount: - Úroveň pro změnu frekvence sweepu: - - - - Sweep rate shift amount - Úroveň pro změnu frekvence sweepu - - - - - Wave pattern duty cycle: - Pracovní cyklus vlnového vzorce: - - - - - Wave pattern duty cycle - Pracovní cyklus vlnového vzorce - - - - Square channel 1 volume: - Hlasitost pulzního kanálu 1: - - - - Square channel 1 volume - Hlasitost pulzního kanálu 1 - - - - - - Length of each step in sweep: - Délka každého kroku ve sweepu: - - - - - - Length of each step in sweep - Délka každého kroku ve sweepu - - - - Square channel 2 volume: - Hlasitost pulzního kanálu 2: - - - - Square channel 2 volume - Hlasitost pulzního kanálu 2 - - - - Wave pattern channel volume: - Hlasitost kanálu vlnového vzorce: - - - - Wave pattern channel volume - Hlasitost kanálu vlnového vzorce - - - - Noise channel volume: - Hlasitost šumového kanálu: - - - - Noise channel volume - Hlasitost šumového kanálu - - - - SO1 volume (Right): - Hlasitost SO1 (pravý): - - - - SO1 volume (Right) - Hlasitost SO1 (pravý) - - - - SO2 volume (Left): - Hlasitost SO2 (levý): - - - - SO2 volume (Left) - Hlasitost SO2 (levý) - - - - Treble: - Výšky: - - - - Treble - Výšky - - - - Bass: - Basy: - - - - Bass - Basy - - - - Sweep direction - Směr sweepu - - - - - - - - Volume sweep direction - Směr hlasitosti sweepu - - - - Shift register width - Posun šířky registru - - - - Channel 1 to SO1 (Right) - Kanál 1 do SO1 (pravý) - - - - Channel 2 to SO1 (Right) - Kanál 2 do SO1 (pravý) - - - - Channel 3 to SO1 (Right) - Kanál 3 do SO1 (pravý) - - - - Channel 4 to SO1 (Right) - Kanál 4 do SO1 (pravý) - - - - Channel 1 to SO2 (Left) - Kanál 1 do SO2 (pravý) - - - - Channel 2 to SO2 (Left) - Kanál 2 do SO2 (pravý) - - - - Channel 3 to SO2 (Left) - Kanál 3 do SO2 (pravý) - - - - Channel 4 to SO2 (Left) - Kanál 4 do SO2 (pravý) - - - - Wave pattern graph - Zobrazení vlnového vzorce - - - - MixerChannelView - - - Channel send amount - Množství odeslaného kanálu - - - - Move &left - Přesunout do&leva - - - - Move &right - Přesun dop&rava - - - - Rename &channel - Přejmenovat &kanál - - - - R&emove channel - Př&esunout kanál - - - - Remove &unused channels - Odstranit nepo&užívané kanály - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Přiřadit k: - - - - New mixer Channel - Nový efektový kanál - - - - Mixer - - - Master - Hlavní - - - - - - Channel %1 - Efekt %1 - - - - Volume - Hlasitost - - - - Mute - Ztlumit - - - - Solo - Sólo - - - - MixerView - - - Mixer - Efektový mixážní panel - - - - Fader %1 - Efektový fader %1 - - - - Mute - Ztlumit - - - - Mute this mixer channel - Ztlumit tento efektový kanál - - - - Solo - Sólo - - - - Solo mixer channel - Sólovat efektový kanál - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Množství k odeslání z kanálu %1 do kanálu %2 - - - - GigInstrument - - - Bank - Banka - - - - Patch - Patch - - - - Gain - Zisk - - - - GigInstrumentView - - - - Open GIG file - Otevřít GIG soubor - - - - Choose patch - Vybrat patch - - - - Gain: - Zesílení: - - - - GIG Files (*.gig) - GIG soubory (*.gig) - - - - GuiApplication - - - Working directory - Pracovní adresář - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Pracovní adresář LMMS %1 neexistuje. Chcete jej nyní vytvořit? Změnu adresáře mžete provést později v nabídce Úpravy -> Nastavení. - - - - Preparing UI - Připravuji UI - - - - Preparing song editor - Připravuji editor skladby - - - - Preparing mixer - Připravuji mixážní panel - - - - Preparing controller rack - Připravuji panel ovladačů - - - - Preparing project notes - Připravuji poznámky k projektu - - - - Preparing beat/bassline editor - Připravuji editor bicích/basů - - - - Preparing piano roll - Připravuji Piano roll - - - - Preparing automation editor - Připravuji Editor automatizace - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Typ arpeggia - - - - Arpeggio range - Rozsah arpeggia - - - - Note repeats - - - - - Cycle steps - Počet kroků v cyklu - - - - Skip rate - Míra vynechávání - - - - Miss rate - Míra míjení - - - - Arpeggio time - Trvání arpeggia - - - - Arpeggio gate - Brána arpeggia - - - - Arpeggio direction - Směr arpeggia - - - - Arpeggio mode - Styl arpeggia - - - - Up - Nahoru - - - - Down - Dolů - - - - Up and down - Nahoru a dolů - - - - Down and up - Dolů a nahoru - - - - Random - Náhodné - - - - Free - Volné - - - - Sort - Tříděné - - - - Sync - Synchronizované - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - ROZSAH - - - - Arpeggio range: - Rozsah arpeggia: - - - - octave(s) - oktáva(y) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - CYKL - - - - Cycle notes: - Počet not v cyklu: - - - - note(s) - nota(y) - - - - SKIP - VYNECH - - - - Skip rate: - Míra vynechávání: - - - - - - % - % - - - - MISS - MÍJ - - - - Miss rate: - Míra míjení: - - - - TIME - TRVÁNÍ - - - - Arpeggio time: - Trvání arpeggia: - - - - ms - ms - - - - GATE - BRÁNA - - - - Arpeggio gate: - Brána arpeggia: - - - - Chord: - Akord: - - - - Direction: - Směr: - - - - Mode: - Styl: - InstrumentFunctionNoteStacking - + octave Oktáva - - + + Major Dur - + Majb5 Maj5b - + minor Moll - + minb5 m5b - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 aug sus4 - + tri tri - + 6 6 - + 6sus4 6 sus4 - + 6add9 6 add9 - + m6 m6 - + m6add9 m6 add9 - + 7 7 - + 7sus4 7 sus4 - + 7#5 7/5# - + 7b5 7/5b - + 7#9 7/9# - + 7b9 7/9b - + 7#5#9 7/5#/9# - + 7#5b9 7/5#/9b - + 7b5b9 7/5b/9b - + 7add11 7 add11 - + 7add13 7 add13 - + 7#11 7/11# - + Maj7 Maj7 - + Maj7b5 Maj7/5b - + Maj7#5 Maj7/5# - + Maj7#11 Maj7/11# - + Maj7add13 Maj7 add13 - + m7 m7 - + m7b5 m7/5b - + m7b9 m7/9b - + m7add11 m7 add11 - + m7add13 m7 add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7 add11 - + m-Maj7add13 m-Maj7 add13 - + 9 9 - + 9sus4 9 sus4 - + add9 add9 - + 9#5 9/5# - + 9b5 9/5b - + 9#11 9/11# - + 9b13 9/13b - + Maj9 Maj9 - + Maj9sus4 Maj9 sus4 - + Maj9#5 Maj9/5# - + Maj9#11 Maj9/11# - + m9 m9 - + madd9 m add9 - + m9b5 m9/5b - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11/9b - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13/9# - + 13b9 13/9b - + 13b5b9 13/9b/5b - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Mollová harmonická - + Melodic minor Mollová melodická - + Whole tone Celotónová stupnice - + Diminished Zmenšená - + Major pentatonic Durová pentatonika - + Minor pentatonic Mollová pentatonika - + Jap in sen Japonská (in sen) stupnice - + Major bebop Durová bebopová - + Dominant bebop Dominantní bebopová - + Blues Bluesová stupnice - + Arabic Arabská - + Enigmatic Enigmatická - + Neopolitan Neapolská - + Neopolitan minor Mollová neapolská - + Hungarian minor Mollová maďarská - + Dorian Dórská - + Phrygian Frygický - + Lydian Lydická - + Mixolydian Mixolydická - + Aeolian Aiolská - + Locrian Lokrická - + Minor Moll - + Chromatic Chromatická - + Half-Whole Diminished Zmenšená (půltón–celý tón) - + 5 5 - + Phrygian dominant Frygická dominanta - + Persian Perská - - - Chords - Akordy - - - - Chord type - Typ akordu - - - - Chord range - Rozsah akordu - - - - InstrumentFunctionNoteStackingView - - - STACKING - VRSTVENÍ - - - - Chord: - Akord: - - - - RANGE - ROZSAH - - - - Chord range: - Rozsah akordu: - - - - octave(s) - oktáva(y) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - POVOLIT MIDI VSTUP - - - - ENABLE MIDI OUTPUT - POVOLIT MIDI VÝSTUP - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTA - - - - MIDI devices to receive MIDI events from - MIDI zařízení pro přijímání MIDI událostí - - - - MIDI devices to send MIDI events to - MIDI zařízení pro odesílání MIDI událostí - - - - CUSTOM BASE VELOCITY - VLASTNÍ VÝCHOZÍ DYNAMIKA - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Udává výchozí úroveň dynamiky pro MIDI nástroje při 100 % dynamiky tónu. - - - - BASE VELOCITY - VÝCHOZÍ DYNAMIKA - - - - InstrumentTuningView - - - MASTER PITCH - TRANSPOZICE - - - - Enables the use of master pitch - Povolí použití transpozice - InstrumentSoundShaping - + VOLUME HLASITOST - + Volume Hlasitost - + CUTOFF SEŘÍZNUTÍ - - + Cutoff frequency Frekvence oříznutí - + RESO REZONANCE - + Resonance Rezonance - - - Envelopes/LFOs - Obálky/LFO - - - - Filter type - Typ filtru - - - - Q/Resonance - Q/rezonance - - - - Low-pass - Dolní propust - - - - Hi-pass - Horní propust - - - - Band-pass csg - Pásmová propust csg - - - - Band-pass czpg - Pásmová propust czpg - - - - Notch - Pásmová zádrž - - - - All-pass - All-pass - - - - Moog - Moogův filtr - - - - 2x Low-pass - 2x dolní propust - - - - RC Low-pass 12 dB/oct - RC dolní propust 12 dB/okt - - - - RC Band-pass 12 dB/oct - RC pásmová propust 12 dB/okt - - - - RC High-pass 12 dB/oct - RC horní propust 12 dB/okt - - - - RC Low-pass 24 dB/oct - RC dolní propust 24 dB/okt - - - - RC Band-pass 24 dB/oct - RC pásmová propust 24 dB/okt - - - - RC High-pass 24 dB/oct - RC horní propust 24 dB/okt - - - - Vocal Formant - Vokální formant - - - - 2x Moog - 2x Moogův filtr - - - - SV Low-pass - SV dolní propust - - - - SV Band-pass - SV pásmová propust - - - - SV High-pass - SV horní propust - - - - SV Notch - SV pásmová zádrž - - - - Fast Formant - Rychlý formantový filtr - - - - Tripole - Třípólový filtr - - InstrumentSoundShapingView + JackAppDialog - - TARGET - CÍL: - - - - FILTER - FILTR - - - - FREQ - FREKV - - - - Cutoff frequency: - Frekvence oříznutí: - - - - Hz - Hz - - - - Q/RESO - Q/REZO - - - - Q/Resonance: - Q/rezonance - - - - Envelopes, LFOs and filters are not supported by the current instrument. - Obálky, LFO a filtry nejsou podporovány stávajícím nástrojem. - - - - InstrumentTrack - - - - unnamed_track - nepojmenovaná_stopa - - - - Base note - Základní nota - - - - First note + + Add JACK Application - - Last note - Podle poslední noty - - - - Volume - Hlasitost - - - - Panning - Panoráma - - - - Pitch - Ladění - - - - Pitch range - Výškový rozsah - - - - Mixer channel - Efektový kanál - - - - Master pitch - Transpozice - - - - Enable/Disable MIDI CC + + Note: Features not implemented yet are greyed out - - CC Controller %1 + + Application - - - Default preset - Výchozí předvolba - - - - InstrumentTrackView - - - Volume - Hlasitost - - - - Volume: - Hlasitost: - - - - VOL - HLA - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Vstup - - - - Output - Výstup - - - - Open/Close MIDI CC Rack + + Name: - - Channel %1: %2 - Efekt %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - HLAVNÍ NASTAVENÍ + + Application: + - - Volume - Hlasitost + + From template + - - Volume: - Hlasitost: + + Custom + - - VOL - HLA + + Template: + - - Panning - Panoráma + + Command: + - - Panning: - Panoráma: + + Setup + - - PAN - PAN + + Session Manager: + - - Pitch - Ladění + + None + - - Pitch: - Ladění: + + Audio inputs: + - - cents - centů + + MIDI inputs: + - - PITCH - LADĚNÍ + + Audio outputs: + - - Pitch range (semitones) - Rozsah výšky (v půltónech) + + MIDI outputs: + - - RANGE - ROZSAH + + Take control of main application window + - - Mixer channel - Efektový kanál + + Workarounds + - - CHANNEL - EFEKT + + Wait for external application start (Advanced, for Debug only) + - - Save current instrument track settings in a preset file - Uložit aktuální nastavení nástrojové stopy do souboru předvoleb + + Capture only the first X11 Window + - - SAVE - ULOŽIT + + Use previous client output buffer as input for the next client + - - Envelope, filter & LFO - Obálka, filtr a LFO + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Chord stacking & arpeggio - Vrstvení akordů a arpeggio + + Error here + - - Effects - Efekty - - - - MIDI - MIDI - - - - Miscellaneous - Různé - - - - Save preset - Uložit předvolbu - - - - XML preset file (*.xpf) - XML soubor předvoleb (*.xpf) - - - - Plugin - Plugin - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6852,948 +2787,11 @@ Ověřte si prosím, zda máte povolen zápis do souboru a do složky, ve které JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Lineární zobrazení - - - - Set logarithmic - Logaritmické zobrazení - - - - - Set value - Nastavit hodnotu - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Zadejte prosím novou hodnotu mezi -96.0 dBFS a 6.0 dBFS: - - - - Please enter a new value between %1 and %2: - Vložte prosím novou hodnotu mezi %1 a %2: - - - - LadspaControl - - - Link channels - Propojit kanály - - - - LadspaControlDialog - - - Link Channels - Propojit kanály - - - - Channel - Kanál - - - - LadspaControlView - - - Link channels - Propojit kanály - - - - Value: - Hodnota: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Je požadován neznámý LADSPA plugin %1. - - - - LcdFloatSpinBox - - - Set value - Nastavit hodnotu - - - - Please enter a new value between %1 and %2: - Vložte prosím novou hodnotu mezi %1 a %2: - - - - LcdSpinBox - - - Set value - Nastavit hodnotu - - - - Please enter a new value between %1 and %2: - Vložte prosím novou hodnotu mezi %1 a %2: - - - - LeftRightNav - - - - - Previous - Předchozí - - - - - - Next - Další - - - - Previous (%1) - Předchozí (%1) - - - - Next (%1) - Další (%1) - - - - LfoController - - - LFO Controller - Ovladač LFO - - - - Base value - Základní hodnota - - - - Oscillator speed - Rychlost oscilátoru - - - - Oscillator amount - Míra oscilátoru - - - - Oscillator phase - Fáze oscilátoru - - - - Oscillator waveform - Vlna oscilátoru - - - - Frequency Multiplier - Frekvenční multiplikátor - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - ZÁKL - - - - Base: - - - - - FREQ - FREKV - - - - LFO frequency: - Frekvence LFO: - - - - AMNT - MNOŽ - - - - Modulation amount: - Hloubka modulace: - - - - PHS - FÁZ - - - - Phase offset: - Posun fáze: - - - - degrees - stupňů - - - - Sine wave - Sinusová vlna - - - - Triangle wave - Trojúhelníková vlna - - - - Saw wave - Pilovitá vlna - - - - Square wave - Pravoúhlá vlna - - - - Moog saw wave - Pilovitá vlna typu Moog - - - - Exponential wave - Exponenciální vlna - - - - White noise - Bílý šum - - - - User-defined shape. -Double click to pick a file. - Uživatelem definovaná křivka. -Poklepejte pro výběr souboru. - - - - Mutliply modulation frequency by 1 - Násobit frekvenci LFO x 1 - - - - Mutliply modulation frequency by 100 - Násobit frekvenci LFO x 100 - - - - Divide modulation frequency by 100 - Dělit frekvenci LFO / 100 - - - - Engine - - - Generating wavetables - Generuji vlny - - - - Initializing data structures - Inicializuji datové struktury - - - - Opening audio and midi devices - Spouštím zvuková a MIDI zařízení - - - - Launching mixer threads - Spouštím vlákna mixážního panelu - - - - MainWindow - - - Configuration file - Soubor nastavení - - - - Error while parsing configuration file at line %1:%2: %3 - Chyba při kontrole konfiguračního souboru na řádku %1:%2: %3 - - - - Could not open file - Nemohu otevřít soubor - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Nelze otevřít soubor %1 pro zápis. -Ujistěte se prosím, zda máte povolen zápis do souboru a do složky obsahující soubor a zkuste znovu! - - - - Project recovery - Obnovení projektu - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Je k dispozici soubor pro obnovu. Zdá se, že poslední práce nebyla správně ukončena nebo že je již spuštěna jiná instance LMMS. Chcete obnovit tuto verzi projektu? - - - - - Recover - Obnovit - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Obnovit soubor. Před dokončením prosím nespouštějte další instance LMMS. - - - - - Discard - Zrušit - - - - Launch a default session and delete the restored files. This is not reversible. - Spustit LMMS do výchozího stavu a smazat obnovené soubory. Tento krok je nevratný. - - - - Version %1 - Verze %1 - - - - Preparing plugin browser - Připravuji prohlížeč pluginů - - - - Preparing file browsers - Připravuji prohlížeč souborů - - - - My Projects - Moje projekty - - - - My Samples - Moje samply - - - - My Presets - Moje předvolby - - - - My Home - Domů - - - - Root directory - Kořenový adresář - - - - Volumes - Hlasitosti - - - - My Computer - Můj počítač - - - - &File - &Soubor - - - - &New - &Nový - - - - &Open... - &Otevřít... - - - - Loading background picture - Načítání obrázku pozadí - - - - &Save - &Uložit - - - - Save &As... - Uložit &jako... - - - - Save as New &Version - Uložit jako novou &verzi - - - - Save as default template - Uložit jako výchozí šablonu - - - - Import... - Importovat... - - - - E&xport... - E&xportovat... - - - - E&xport Tracks... - E&xportovat stopy... - - - - Export &MIDI... - &Exportovat MIDI... - - - - &Quit - &Ukončit - - - - &Edit - Úpr&avy - - - - Undo - Zpět - - - - Redo - Znovu - - - - Settings - Nastavení - - - - &View - &Zobrazení - - - - &Tools - &Nástroje - - - - &Help - &Nápověda - - - - Online Help - Nápověda online - - - - Help - Nápověda - - - - About - O LMMS - - - - Create new project - Vytvořit nový projekt - - - - Create new project from template - Vytvořit nový projekt ze šablony - - - - Open existing project - Otevřít existující projekt - - - - Recently opened projects - Naposledy otevřené projekty - - - - Save current project - Uložit aktuální projekt - - - - Export current project - Exportovat aktuální projekt - - - - Metronome - Metronom - - - - - Song Editor - Editor skladby - - - - - Beat+Bassline Editor - Editor bicích/basů - - - - - Piano Roll - Piano roll - - - - - Automation Editor - Editor automatizace - - - - - Mixer - Efektový mixážní panel - - - - Show/hide controller rack - Zobrazit/Skrýt panel ovladačů - - - - Show/hide project notes - Zobrazit/Skrýt poznámky k projektu - - - - Untitled - Nepojmenovaný - - - - Recover session. Please save your work! - Obnovit projekt. Uložte prosím svou práci! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Obnovený projekt není uložen - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Tento projekt byl obnoven z minulého spuštění LMMS. Zatím není uložen a pokud tak neučiníte, práce bude ztracena. Chcete jej nyní uložit? - - - - Project not saved - Projekt není uložen - - - - The current project was modified since last saving. Do you want to save it now? - Aktuální projekt byl od posledního uložení změněn. Chcete jej nyní uložit? - - - - Open Project - Otevřít projekt - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Uložit projekt - - - - LMMS Project - Projekt LMMS - - - - LMMS Project Template - Šablona projektu LMMS - - - - Save project template - Uložit šablonu projektu - - - - Overwrite default template? - Přepsat výchozí šablonu? - - - - This will overwrite your current default template. - Tímto se přepíše vaše nynější výchozí šablona. - - - - Help not available - Nápověda není dostupná - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - V současnosti není v LMMS nápověda dostupná. -Navštivte prosím stránku s dokumentací k LMMS na adrese http://lmms.sf.net/wiki. - - - - Controller Rack - Panel ovladačů - - - - Project Notes - Poznámky k projektu - - - - Fullscreen - - - - - Volume as dBFS - Hlasitost v dBFS - - - - Smooth scroll - Plynulé posouvání - - - - Enable note labels in piano roll - Povolit názvy tónů v Piano rollu - - - - MIDI File (*.mid) - MIDI soubor (*.mid) - - - - - untitled - nepojmenovaný - - - - - Select file for project-export... - Vyberte soubor pro export projektu... - - - - Select directory for writing exported tracks... - Vyberte adresář pro zápis exportovaných stop... - - - - Save project - Uložit projekt - - - - Project saved - Projekt uložen - - - - The project %1 is now saved. - Projekt %1 je nyní uložen. - - - - Project NOT saved. - Projekt NENÍ uložen. - - - - The project %1 was not saved! - Projekt %1 nebyl uložen! - - - - Import file - Importovat soubor - - - - MIDI sequences - MIDI sekvence - - - - Hydrogen projects - Projekty Hydrogen - - - - All file types - Všechny typy souborů - - - - MeterDialog - - - - Meter Numerator - Počet dob v taktu - - - - Meter numerator - Počet dob v taktu - - - - - Meter Denominator - Délka doby v taktu - - - - Meter denominator - Délka doby v taktu - - - - TIME SIG - METRUM - - - - MeterModel - - - Numerator - Počet dob - - - - Denominator - Délka doby - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI ovladač - - - - unnamed_midi_controller - nepojmenovaný_midi_ovladač - - - - MidiImport - - - - Setup incomplete - Nastavení není dokončeno - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Nemáte nastaven výchozí soundfont v dialogovém okně (Edit-> Nastavení). Z tohoto důvodu nebude po importu MIDI souboru přehráván žádný zvuk. Stáhněte si nějaký General MIDI soundfont, zadejte jej v dialogovém okně nastavení a zkuste to znovu. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Nelze zkompilovat LMMS s podporou přehrávače SoundFont2, který je použitý k přidání výchozího zvuku do importovaných MIDI souborů. Proto nebude po importování tohoto MIDI souboru přehráván žádný zvuk. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Počet dob - - - - Denominator - Délka doby - - - - Track - Stopa - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK server zhavaroval - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Zdá se, že JACK server zhavaroval. - - MidiPatternW @@ -7999,2730 +2997,369 @@ Navštivte prosím stránku s dokumentací k LMMS na adrese http://lmms.sf.net/w &Ukončit - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Vstupní kanál - - - - Output channel - Výstupní kanál - - - - Input controller - Vstupní ovladač - - - - Output controller - Výstupní ovladač - - - - Fixed input velocity - Pevná vstupní dynamika - - - - Fixed output velocity - Pevná výstupní dynamika - - - - Fixed output note - Pevná výstupní nota - - - - Output MIDI program - Výstupní MIDI program - - - - Base velocity - Výchozí dynamika - - - - Receive MIDI-events - Přijímat MIDI události - - - - Send MIDI-events - Posílat MIDI události - - - - MidiSetupWidget - - - Device - Zařízení - - - - MonstroInstrument - - - Osc 1 volume - Osc 1 hlasitost - - - - Osc 1 panning - Osc 1 panoráma - - - - Osc 1 coarse detune - Osc 1 hrubé rozladění - - - - Osc 1 fine detune left - Osc 1 jemné rozladění vlevo - - - - Osc 1 fine detune right - Osc 1 jemné rozladění vpravo - - - - Osc 1 stereo phase offset - Osc 1 posun stereo fáze - - - - Osc 1 pulse width - Osc 1 délka pulzu - - - - Osc 1 sync send on rise - Osc 1 synchronizace při nárůstu - - - - Osc 1 sync send on fall - Osc 1 synchronizace při poklesu - - - - Osc 2 volume - Osc 2 hlasitost - - - - Osc 2 panning - Osc 2 panoráma - - - - Osc 2 coarse detune - Osc 2 hrubé rozladění - - - - Osc 2 fine detune left - Osc 2 jemné rozladění vlevo - - - - Osc 2 fine detune right - Osc 2 jemné rozladění vpravo - - - - Osc 2 stereo phase offset - Osc 2 posun stereo fáze - - - - Osc 2 waveform - Osc 2 typ vlny - - - - Osc 2 sync hard - Osc 2 pevná synchronizace - - - - Osc 2 sync reverse - Osc 2 reverzní synchronizace - - - - Osc 3 volume - Osc 3 hlasitost - - - - Osc 3 panning - Osc 3 panoráma - - - - Osc 3 coarse detune - Osc 3 hrubé rozladění - - - - Osc 3 Stereo phase offset - Osc 3 posun stereo fáze - - - - Osc 3 sub-oscillator mix - Osc 3 smíchání se sub-oscilátorem - - - - Osc 3 waveform 1 - Osc 3 typ vlny 1 - - - - Osc 3 waveform 2 - Osc 3 typ vlny 2 - - - - Osc 3 sync hard - Osc 2 pevná synchronizace - - - - Osc 3 Sync reverse - Osc 3 reverzní synchronizace - - - - LFO 1 waveform - LFO 1 typ vlny - - - - LFO 1 attack - LFO 1 náběh - - - - LFO 1 rate - LFO 1 rychlost - - - - LFO 1 phase - LFO 1 fáze - - - - LFO 2 waveform - LFO 2 typ vlny - - - - LFO 2 attack - LFO 2 náběh - - - - LFO 2 rate - LFO 2 rychlost - - - - LFO 2 phase - LFO 2 fáze - - - - Env 1 pre-delay - Obálka 1 předzpoždění - - - - Env 1 attack - Obálka 1 náběh - - - - Env 1 hold - Obálka 1 zadržení - - - - Env 1 decay - Obálka 1 pokles - - - - Env 1 sustain - Obálka 1 držení - - - - Env 1 release - Obálka 1 doznění - - - - Env 1 slope - Obálka 1 strmost - - - - Env 2 pre-delay - Obálka 2 předzpoždění - - - - Env 2 attack - Obálka 2 náběh - - - - Env 2 hold - Obálka 2 zadržení - - - - Env 2 decay - Obálka 2 pokles - - - - Env 2 sustain - Obálka 2 držení - - - - Env 2 release - Obálka 2 doznění - - - - Env 2 slope - Obálka 2 strmost - - - - Osc 2+3 modulation - Osc 2+3 modulace - - - - Selected view - Zvolený pohled - - - - Osc 1 - Vol env 1 - Osc 1 – hlasitost obálka 1 - - - - Osc 1 - Vol env 2 - Osc 1 – hlasitost obálka 2 - - - - Osc 1 - Vol LFO 1 - Osc 1 – hlasitost LFO 1 - - - - Osc 1 - Vol LFO 2 - Osc 1 – hlasitost LFO 2 - - - - Osc 2 - Vol env 1 - Osc 2 – hlasitost obálka 1 - - - - Osc 2 - Vol env 2 - Osc 2 – hlasitost obálka 2 - - - - Osc 2 - Vol LFO 1 - Osc 2 – hlasitost LFO 1 - - - - Osc 2 - Vol LFO 2 - Osc 2 – hlasitost LFO 2 - - - - Osc 3 - Vol env 1 - Osc 3 – hlasitost obálka 1 - - - - Osc 3 - Vol env 2 - Osc 3 – hlasitost obálka 2 - - - - Osc 3 - Vol LFO 1 - Osc 3 – hlasitost LFO 1 - - - - Osc 3 - Vol LFO 2 - Osc 3 – hlasitost LFO 2 - - - - Osc 1 - Phs env 1 - Osc 1 – fáze obálka 1 - - - - Osc 1 - Phs env 2 - Osc 1 – fáze obálka 2 - - - - Osc 1 - Phs LFO 1 - Osc 1 – fáze LFO 1 - - - - Osc 1 - Phs LFO 2 - Osc 1 – fáze LFO 2 - - - - Osc 2 - Phs env 1 - Osc 2 – fáze obálka 1 - - - - Osc 2 - Phs env 2 - Osc 2 – fáze obálka 2 - - - - Osc 2 - Phs LFO 1 - Osc 2 – fáze LFO 1 - - - - Osc 2 - Phs LFO 2 - Osc 2 – fáze LFO 2 - - - - Osc 3 - Phs env 1 - Osc 3 – fáze obálka 1 - - - - Osc 3 - Phs env 2 - Osc 3 – fáze obálka 2 - - - - Osc 3 - Phs LFO 1 - Osc 3 – fáze LFO 1 - - - - Osc 3 - Phs LFO 2 - Osc 3 – fáze LFO 2 - - - - Osc 1 - Pit env 1 - Osc 1 – výška obálka 1 - - - - Osc 1 - Pit env 2 - Osc 1 – výška obálka 2 - - - - Osc 1 - Pit LFO 1 - Osc 1 – výška LFO 1 - - - - Osc 1 - Pit LFO 2 - Osc 1 – výška LFO 2 - - - - Osc 2 - Pit env 1 - Osc 2 – výška obálka 1 - - - - Osc 2 - Pit env 2 - Osc 2 – výška obálka 2 - - - - Osc 2 - Pit LFO 1 - Osc 2 – výška LFO 1 - - - - Osc 2 - Pit LFO 2 - Osc 2 – výška LFO 2 - - - - Osc 3 - Pit env 1 - Osc 3 – výška obálka 1 - - - - Osc 3 - Pit env 2 - Osc 3 – výška obálka 2 - - - - Osc 3 - Pit LFO 1 - Osc 3 – výška LFO 1 - - - - Osc 3 - Pit LFO 2 - Osc 3 – výška LFO 2 - - - - Osc 1 - PW env 1 - Osc 1 – délka pulzu obálka 1 - - - - Osc 1 - PW env 2 - Osc 1 – délka pulzu obálka 2 - - - - Osc 1 - PW LFO 1 - Osc 1 – délka pulzu LFO 1 - - - - Osc 1 - PW LFO 2 - Osc 1 – délka pulzu LFO 2 - - - - Osc 3 - Sub env 1 - Osc 3 – suboscilátor obálka 1 - - - - Osc 3 - Sub env 2 - Osc 3 – suboscilátor obálka 2 - - - - Osc 3 - Sub LFO 1 - Osc 3 – suboscilátor LFO 1 - - - - Osc 3 - Sub LFO 2 - Osc 3 – suboscilátor LFO 2 - - - - - Sine wave - Sinusová vlna - - - - Bandlimited Triangle wave - Pásmově zúžená trojúhelníková vlna - - - - Bandlimited Saw wave - Pásmově zúžená pilovitá vlna - - - - Bandlimited Ramp wave - Pásmově zúžená šikmá vlna - - - - Bandlimited Square wave - Pásmově zúžená pravoúhlá vlna - - - - Bandlimited Moog saw wave - Pásmově zúžená pilovitá vlna typu Moog - - - - - Soft square wave - Zaoblená pravoúhlá vlna - - - - Absolute sine wave - Absolutní sinusová vlna - - - - - Exponential wave - Exponenciální vlna - - - - White noise - Bílý šum - - - - Digital Triangle wave - Digitální trojúhelníková vlna - - - - Digital Saw wave - Digitální pilovitá vlna - - - - Digital Ramp wave - Digitální šikmá vlna - - - - Digital Square wave - Digitální pravoúhlá vlna - - - - Digital Moog saw wave - Digitální pilovitá vlna typu Moog - - - - Triangle wave - Trojúhelníková vlna - - - - Saw wave - Pilovitá vlna - - - - Ramp wave - Šikmá vlna - - - - Square wave - Pravoúhlá vlna - - - - Moog saw wave - Pilovitá vlna typu Moog - - - - Abs. sine wave - Abs. sinusová vlna - - - - Random - Náhodná - - - - Random smooth - Vyhlazená náhodná - - - - MonstroView - - - Operators view - Zobrazení operátorů - - - - Matrix view - Zobrazení matrice - - - - - - Volume - Hlasitost - - - - - - Panning - Panoráma - - - - - - Coarse detune - Hrubé rozladění - - - - - - semitones - půltónů - - - - - Fine tune left - Jemné rozladění vlevo - - - - - - - cents - centů - - - - - Fine tune right - Jemné rozladění vpravo - - - - - - Stereo phase offset - Posun stereo fáze - - - - - - - - deg - stupňů - - - - Pulse width - Délka pulzu - - - - Send sync on pulse rise - Synchronizace při nárůstu pulzu - - - - Send sync on pulse fall - Synchronizace při poklesu pulzu - - - - Hard sync oscillator 2 - Pevně synchronizovat oscilátor 2 - - - - Reverse sync oscillator 2 - Reverzně synchronizovat oscilátor 2 - - - - Sub-osc mix - Míchání sub-osc - - - - Hard sync oscillator 3 - Pevně synchronizovat oscilátor 3 - - - - Reverse sync oscillator 3 - Reverzně synchronizovat oscilátor 3 - - - - - - - Attack - Náběh - - - - - Rate - Typ - - - - - Phase - Fáze - - - - - Pre-delay - Předzpoždění - - - - - Hold - Držení - - - - - Decay - Pokles - - - - - Sustain - Držení - - - - - Release - Doznění - - - - - Slope - Strmost - - - - Mix osc 2 with osc 3 - Smíchat osc 2 s osc 3 - - - - Modulate amplitude of osc 3 by osc 2 - Modulovat amplitudu oscilátoru 3 oscilátorem 2 - - - - Modulate frequency of osc 3 by osc 2 - Modulovat frekvenci oscilátoru 3 oscilátorem 2 - - - - Modulate phase of osc 3 by osc 2 - Modulovat fázi oscilátoru 3 oscilátorem 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Hloubka modulace - - - - MultitapEchoControlDialog - - - Length - Délka - - - - Step length: - Délka kroku: - - - - Dry - Poměr - - - - Dry gain: - Poměr zdrojového zvuku: - - - - Stages - Úrovně - - - - Low-pass stages: - Počet úrovní dolní propusti: - - - - Swap inputs - Přepnout vstupy - - - - Swap left and right input channels for reflections - Přepnout levý a pravý vstupní kanál pro odrazy - - - - NesInstrument - - - Channel 1 coarse detune - Kanál 1 hrubé rozladění - - - - Channel 1 volume - Hlasitost kanálu 1 - - - - Channel 1 envelope length - Kanál 1 délka obálky - - - - Channel 1 duty cycle - Kanál 1 pracovní cyklus - - - - Channel 1 sweep amount - Kanál 1 množství sweepu - - - - Channel 1 sweep rate - Kanál 1 rychlost sweepu - - - - Channel 2 Coarse detune - Kanál 2 hrubé rozladění - - - - Channel 2 Volume - Hlasitost kanálu 2 - - - - Channel 2 envelope length - Kanál 2 délka obálky - - - - Channel 2 duty cycle - Kanál 2 pracovní cyklus - - - - Channel 2 sweep amount - Kanál 2 množství sweepu - - - - Channel 2 sweep rate - Kanál 2 rychlost sweepu - - - - Channel 3 coarse detune - Kanál 3 hrubé rozladění - - - - Channel 3 volume - Hlasitost kanálu 3 - - - - Channel 4 volume - Hlasitost kanálu 4 - - - - Channel 4 envelope length - Kanál 4 délka obálky - - - - Channel 4 noise frequency - Kanál 4 frekvence šumu - - - - Channel 4 noise frequency sweep - Kanál 4 sweep frekvence šumu - - - - Master volume - Hlavní hlasitost - - - - Vibrato - Vibráto - - - - NesInstrumentView - - - - - - Volume - Hlasitost - - - - - - Coarse detune - Hrubé rozladění - - - - - - Envelope length - Délka obálky - - - - Enable channel 1 - Zapnout kanál 1 - - - - Enable envelope 1 - Zapnout obálku 1 - - - - Enable envelope 1 loop - Zapnout smyčku obálky 1 - - - - Enable sweep 1 - Zapnout sweep 1 - - - - - Sweep amount - Množství sweepu - - - - - Sweep rate - Rychlost sweepu - - - - - 12.5% Duty cycle - 12.5% pracovního cyklu - - - - - 25% Duty cycle - 25% pracovního cyklu - - - - - 50% Duty cycle - 50% pracovního cyklu - - - - - 75% Duty cycle - 75% pracovního cyklu - - - - Enable channel 2 - Zapnout kanál 2 - - - - Enable envelope 2 - Zapnout obálku 2 - - - - Enable envelope 2 loop - Zapnout smyčku obálky 2 - - - - Enable sweep 2 - Zapnout sweep 2 - - - - Enable channel 3 - Zapnout kanál 3 - - - - Noise Frequency - Frekvence šumu - - - - Frequency sweep - Frekvence sweepu - - - - Enable channel 4 - Zapnout kanál 4 - - - - Enable envelope 4 - Zapnout obálku 4 - - - - Enable envelope 4 loop - Zapnout smyčku obálky 4 - - - - Quantize noise frequency when using note frequency - Kvantizovat frekvenci šumu při použití frekvence noty - - - - Use note frequency for noise - Použít frekvenci pro šum - - - - Noise mode - Typ šumu - - - - Master volume - Hlavní hlasitost - - - - Vibrato - Vibráto - - - - OpulenzInstrument - - - Patch - Patch - - - - Op 1 attack - Op 1 náběh - - - - Op 1 decay - Op 1 pokles - - - - Op 1 sustain - Op 1 držení - - - - Op 1 release - Op 1 doznění - - - - Op 1 level - Op 1 úroveň - - - - Op 1 level scaling - Op 1 škálování úrovně - - - - Op 1 frequency multiplier - Op 1 násobení frekvence - - - - Op 1 feedback - Op 1 zpětná vazba - - - - Op 1 key scaling rate - Op 1 rychlost podle výšky klávesy - - - - Op 1 percussive envelope - Op 1 perkusivní obálka - - - - Op 1 tremolo - Op 1 tremolo - - - - Op 1 vibrato - Op 1 vibrato - - - - Op 1 waveform - Op 1 typ vlny - - - - Op 2 attack - Op 2 náběh - - - - Op 2 decay - Op 2 pokles - - - - Op 2 sustain - - - - - Op 2 release - Op 2 doznění - - - - Op 2 level - Op 2 úroveň - - - - Op 2 level scaling - Op 2 škálování úrovně - - - - Op 2 frequency multiplier - Op 2 násobení frekvence - - - - Op 2 key scaling rate - Op 2 rychlost podle výšky klávesy - - - - Op 2 percussive envelope - Op 2 perkusivní obálka - - - - Op 2 tremolo - Op 2 tremolo - - - - Op 2 vibrato - Op 2 vibrato - - - - Op 2 waveform - Op 2 typ vlny - - - - FM - FM - - - - Vibrato depth - Hloubka vibráta - - - - Tremolo depth - Hloubka tremola - - - - OpulenzInstrumentView - - - - Attack - Náběh - - - - - Decay - Pokles - - - - - Release - Doznění - - - - - Frequency multiplier - Násobič frekvence - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 vlna - - - - Osc %1 harmonic - Osc %1 harmonické - - - - - Osc %1 volume - Osc %1 hlasitost - - - - - Osc %1 panning - Osc %1 panoráma - - - - - Osc %1 fine detuning left - Osc %1 jemné rozladění vlevo - - - - Osc %1 coarse detuning - Osc %1 hrubé rozladění - - - - Osc %1 fine detuning right - Osc %1 jemné rozladění vpravo - - - - Osc %1 phase-offset - Osc %1 posun fáze - - - - Osc %1 stereo phase-detuning - Osc %1 rozladění stereo fáze - - - - Osc %1 wave shape - Osc %1 forma vlny - - - - Modulation type %1 - Typ modulace %1 - - - - Oscilloscope - - - Oscilloscope - Osciloskop - - - - Click to enable - Klepněte pro zapnutí - - PatchesDialog + Qsynth: Channel Preset Qsynth: Předvolba kanálu + Bank selector Výběr banky + Bank Banka + Program selector Výběr programu + Patch Patch + Name Název + OK OK + Cancel Zrušit - - PatmanView - - - Open patch - Otevřít patch - - - - Loop - Smyčka - - - - Loop mode - Režim smyčky - - - - Tune - Ladění - - - - Tune mode - Režim ladění - - - - No file selected - Není vybrán žádný soubor - - - - Open patch file - Otevřít soubor patch - - - - Patch-Files (*.pat) - Soubor patch (*.pat) - - - - MidiClipView - - - Open in piano-roll - Otevřít v Piano rollu - - - - Set as ghost in piano-roll - - - - - Clear all notes - Vymazat všechny noty - - - - Reset name - Resetovat jméno - - - - Change name - Změnit jméno - - - - Add steps - Přidat kroky - - - - Remove steps - Odstranit kroky - - - - Clone Steps - Klonovat kroky - - - - PeakController - - - Peak Controller - Ovladač špičky - - - - Peak Controller Bug - Chyba ovladače špičky - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Z důvodu chyby ve starší verzi LMMS nemusí být ovladače špiček správně připojeny. Ujistěte se prosím, zda jsou ovladače špiček správně připojeny a znovu uložte tento soubor. Omlouváme se za způsobené nepříjemnosti. - - - - PeakControllerDialog - - - PEAK - ŠPIČ - - - - LFO Controller - Ovladač LFO - - - - PeakControllerEffectControlDialog - - - BASE - ZÁKL - - - - Base: - - - - - AMNT - MNOŽ - - - - Modulation amount: - Hloubka modulace: - - - - MULT - NÁSB - - - - Amount multiplicator: - Násobič množství: - - - - ATCK - NÁBH - - - - Attack: - Náběh: - - - - DCAY - POKL - - - - Release: - Doznění: - - - - TRSH - PRÁH - - - - Treshold: - Práh: - - - - Mute output - Ztlumit výstup - - - - Absolute value - Absolutní hodnota - - - - PeakControllerEffectControls - - - Base value - Základní hodnota - - - - Modulation amount - Hloubka modulace - - - - Attack - Náběh - - - - Release - Doznění - - - - Treshold - Práh - - - - Mute output - Ztlumit výstup - - - - Absolute value - Absolutní hodnota - - - - Amount multiplicator - Násobič množství - - - - PianoRoll - - - Note Velocity - Dynamika noty - - - - Note Panning - Panoráma noty - - - - Mark/unmark current semitone - Zvýraznit/Skrýt zvolený tón - - - - Mark/unmark all corresponding octave semitones - Zvýraznit/Skrýt zvolený tón ve všech oktávách - - - - Mark current scale - Zvýraznit zvolenou stupnici - - - - Mark current chord - Zvýraznit zvolený akord - - - - Unmark all - Skrýt vše - - - - Select all notes on this key - Vybrat všechny noty zvolené výšky - - - - Note lock - Zamknout notu - - - - Last note - Podle poslední noty - - - - No key - - - - - No scale - Žádná stupnice - - - - No chord - Žádný akord - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Dynamika: %1% - - - - Panning: %1% left - Panoráma: %1% vlevo - - - - Panning: %1% right - Panoráma: %1% vpravo - - - - Panning: center - Panoráma: střed - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Otevřete prosím záznam poklepáním! - - - - - Please enter a new value between %1 and %2: - Vložte prosím novou hodnotu mezi %1 a %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Přehrát/Pozastavit přehrávání aktuálního záznamu (mezerník) - - - - Record notes from MIDI-device/channel-piano - Nahrávat z MIDI zařízení / virtuální klávesnice - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Nahrávat z MIDI zařízení / virtuální klávesnice při přehrávání skladby nebo stopy bicích/basů - - - - Record notes from MIDI-device/channel-piano, one step at the time - Nahrává noty z MIDI zařízení / piano kanálu v jednotlivých krocích - - - - Stop playing of current clip (Space) - Zastavit přehrávání aktuálního záznamu (mezerník) - - - - Edit actions - Akce úprav - - - - Draw mode (Shift+D) - Režim kreslení (Shift+D) - - - - Erase mode (Shift+E) - Režim mazání (Shift+E) - - - - Select mode (Shift+S) - Režim výběru (Shift+S) - - - - Pitch Bend mode (Shift+T) - Režim ohýbání výšky (Shift+T) - - - - Quantize - Kvantizace - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Ovládání kopírování a vkládání - - - - Cut (%1+X) - Vystřihnout (%1+X) - - - - Copy (%1+C) - Kopírovat (%1+C) - - - - Paste (%1+V) - Vložit (%1+V) - - - - Timeline controls - Ovládání časové osy - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Lupa a ovládání not - - - - Horizontal zooming - Horizontální zvětšení - - - - Vertical zooming - Vertikální zvětšení - - - - Quantization - Kvantizace - - - - Note length - Délka noty - - - - Key - - - - - Scale - Stupnice - - - - Chord - Akord - - - - Snap mode - - - - - Clear ghost notes - Vymazat stínové noty - - - - - Piano-Roll - %1 - Piano roll – %1 - - - - - Piano-Roll - no clip - Piano roll – žádný záznam - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Základní nota - - - - First note - - - - - Last note - Podle poslední noty - - - - Plugin - - - Plugin not found - Plugin nenalezen - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Plugin "%1" nebyl nalezen nebo nemůže být načten! -Důvod: "%2" - - - - Error while loading plugin - Při načítání pluginu došlo k chybě - - - - Failed to load plugin "%1"! - Načtení pluginu "%1" selhalo! - - PluginBrowser - - Instrument Plugins - Nástrojové pluginy - - - - Instrument browser - Prohlížeč nástrojů - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Nástroj přetáhněte do editoru skladby, editoru bicích/basů nebo do existující nástrojové stopy. - - - + no description bez popisu - + A native amplifier plugin Nativní plugin zesilovače - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Jednoduchý sampler s bohatým nastavením pro používání samplů (např. bicích nástrojů) v nástrojové stopě - + Boost your bass the fast and simple way Zesílení vašeho basu rychlým a snadným způsobem - + Customizable wavetable synthesizer Upravitelný tabulkový syntezátor - + An oversampling bitcrusher Bitcrusher založený na převzorkování - + Carla Patchbay Instrument Nástroj Carla Patchbay - + Carla Rack Instrument Nástroj Carla Rack - + A dynamic range compressor. - + A 4-band Crossover Equalizer 4 pásmový crossover ekvalizér - + A native delay plugin Nativní plugin delay - + A Dual filter plugin Plugin duální filtr - + plugin for processing dynamics in a flexible way plugin pro flexibilní práci s dynamikou - + A native eq plugin Nativní plugin ekvalizér - + A native flanger plugin Nativní plugin flanger - + Emulation of GameBoy (TM) APU Emulace APU GameBoye (TM) - + Player for GIG files Přehrávač GIG souborů - + Filter for importing Hydrogen files into LMMS Filtr pro import souborů Hydrogen do LMMS - + Versatile drum synthesizer Univerzální syntezátor bicích nástrojů - + List installed LADSPA plugins Seznam nainstalovaných LADSPA pluginů - + plugin for using arbitrary LADSPA-effects inside LMMS. plugin pro užití libovolných LADSPA efektů uvnitř LMMS. - + Incomplete monophonic imitation TB-303 - Nekompletní monofonní imitace TB-303 + - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS Filtr pro export souborů MIDI z LMMS - + Filter for importing MIDI-files into LMMS Filtr pro import MIDI souborů do LMMS - + Monstrous 3-oscillator synth with modulation matrix 3oscilátorový syntezátor Monstrous s modulační matricí - + A multitap echo delay plugin Plugin multi-tap delay - + A NES-like synthesizer Syntetizér typu NES - + 2-operator FM Synth 2 operátorová FM syntéza - + Additive Synthesizer for organ-like sounds Aditivní syntezátor pro zvuky podobné varhanám - + GUS-compatible patch instrument GUS kompatibilní patch instrument - + Plugin for controlling knobs with sound peaks Plugin pro řízení otočných ovladačů zvukovými špičkami - + Reverb algorithm by Sean Costello Algoritmus dozvuku od Seana Costello - + Player for SoundFont files Přehrávač SoundFont souborů - + LMMS port of sfxr LMMS port sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulace MOS6581 a MOS8580 SID. Tento čip byl používán v počítačích Commodore 64. - + A graphical spectrum analyzer. Grafický analyzátor spektra - + Plugin for enhancing stereo separation of a stereo input file Plugin pro zlepšení stereo separace vstupních stereo souborů - + Plugin for freely manipulating stereo output Plugin pro volné úpravy stereo výstupu - + Tuneful things to bang on Melodické bicí nástroje - + Three powerful oscillators you can modulate in several ways 3 silné oscilátory, které můžete různými způsoby modulovat - + A stereo field visualizer. - + Vizualizér stereofonního pole. - + VST-host for using VST(i)-plugins within LMMS VST host pro užití VST(i) pluginů v LMMS - + Vibrating string modeler Vibrační modelátor strun - + plugin for using arbitrary VST effects inside LMMS. Plugin pro použití libovolného VST efektu v LMMS. - + 4-oscillator modulatable wavetable synth 4oscilátorový modulovatelný tabulkový syntezátor - + plugin for waveshaping plugin pro tvarování vln - + Mathematical expression parser Parser matematických výrazů - + Embedded ZynAddSubFX Vestavěný ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Typ - - - - Effects - Efekty - - - - Instruments - Nástroje - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Zrušit - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Typ: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Název - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10821,93 +3458,98 @@ Tento čip byl používán v počítačích Commodore 64. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Typ: - + Maker: - + Copyright: - + Unique ID: @@ -10915,16 +3557,457 @@ Plugin Name PluginFactory - + Plugin not found. Plugin nebyl nalezen. - + LMMS plugin %1 does not have a plugin descriptor named %2! U LMMS pluginu %1 chybí popisovač pluginu s názvem %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10939,157 +4022,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Zavřít + @@ -11104,50 +4091,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off Zap/Vyp - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11162,2549 +4149,13816 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Poznámky k projektu - - - - Enter project notes here - Sem zapište poznámky k projektu - - - - Edit Actions - Provedené úpravy - - - - &Undo - &Zpět - - - - %1+Z - %1+Z - - - - &Redo - &Znovu - - - - %1+Y - %1+Z - - - - &Copy - &Kopírovat - - - - %1+C - %1+C - - - - Cu&t - &Vyjmout - - - - %1+X - %1+X - - - - &Paste - V&ložit - - - - %1+V - %1+V - - - - Format Actions - Formátování - - - - &Bold - &Tučné - - - - %1+B - %1+B - - - - &Italic - &Kurzíva - - - - %1+I - %1+I - - - - &Underline - &Podtržené - - - - %1+U - %1+U - - - - &Left - &Vlevo - - - - %1+L - %1+L - - - - C&enter - &Na střed - - - - %1+E - %1+E - - - - &Right - V&pravo - - - - %1+R - %1+R - - - - &Justify - &Do bloku - - - - %1+J - %1+J - - - - &Color... - &Barva... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) - QObject + QGroupBox - - Reload Plugin + + + Settings for %1 + + + QObject - + + Reload Plugin + Restartuj plugin + + + Show GUI Ukázat grafické rozhraní - + Help Nápověda + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Název: - - URI: - - - - - - + Maker: Tvůrce: - - - + Copyright: Autorská práva: - - + Requires Real Time: Vyžaduje běh v reálném čase: - - - - - - + + + Yes Ano - - - - - - + + + No Ne - - + Real Time Capable: Schopnost běhu v reálném čase: - - + In Place Broken: Na místě poškozeného: - - + Channels In: Vstupní kanály: - - + Channels Out: Výstupní kanály: - + File: %1 Soubor: %1 - + File: Soubor: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Naposledy otevřené projekty + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Přejmenovat... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Vstup + + Amplify + - - Input gain: - Zesílení vstupu: + + Start of sample + - - Size - Velikost + + End of sample + - - Size: - Velikost: + + Loopback point + - - Color - Barva + + Reverse sample + - - Color: - Barva: + + Loop mode + - - Output - Výstup + + Stutter + - - Output gain: - Zesílení výstupu: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + JACK klient restartován + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + LMMS bylo z nějakého důvodu odpojeno od JACKu. Ovladač JACK rozhraní v LMMS byl proto restartován. Budete muset znovu provést ruční připojení. + + + + JACK server down + JACK server byl zastaven + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + JACK server byl zřejmě zastaven, a jeho opětovné spuštění se nezdařilo. LMMS proto nemůže pokračovat. Uložte svůj projekt a restartujte JACK i LMMS. + + + + Client name + Název klienta + + + + Channels + Kanály + + + + lmms::AudioOss + + + Device + Zařízení + + + + Channels + Kanály + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Backend + + + + Device + Zařízení + + + + lmms::AudioPulseAudio + + + Device + Zařízení + + + + Channels + Kanály + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + Zařízení + + + + Channels + Kanály + + + + lmms::AudioSoundIo::setupWidget + + + Backend + Backend + + + + Device + Zařízení + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Zesílení vstupu + - - Size - Velikost + + Input noise + - - Color - Barva + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Zesílení výstupu + - SaControls + lmms::SaControls - + Pause - Pauza + - + Reference freeze - + Waterfall - Vodopád + - + Averaging - - - Stereo - Stereo - - - - Peak hold - Držet špičku - - Logarithmic frequency - Logaritmická frekvence - - - - Logarithmic amplitude - Logaritmická amplituda - - - - Frequency range - Frekvenční rozsah - - - - Amplitude range - Rozsah amplitudy - - - - FFT block size - Velikost FFT bloku - - - - FFT window type - Typ FFT okna - - - - Peak envelope resolution + Stereo - - Spectrum display resolution - Rozlišení zobrazení spektra + + Peak hold + - - Peak decay multiplier + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap - Překrývání FFT oken + Averaging weight + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - Basy + - + Mids - + High - - - Extended - Rozšířený - - - - Loud - Hlasitý - - Silent - Tichý + Extended + - + + Loud + + + + + Silent + + + + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - Pauza - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - Vodopád - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Stereo - - - - Display stereo channels separately - - - - - Peak hold - Držet špičku - - - - Display envelope of peak values - - - - - Logarithmic frequency - Logaritmická frekvence - - - - Switch between logarithmic and linear frequency scale - Přepnout mezi mezi logaritmickým a lineárním zobrazením frekvence - - - - - Frequency range - Frekvenční rozsah - - - - Logarithmic amplitude - Logaritmická amplituda - - - - Switch between logarithmic and linear amplitude scale - Přepnout mezi mezi logaritmickým a lineárním zobrazením amplitudy - - - - - Amplitude range - Rozsah amplitudy - - - - Envelope res. - Rozliš. obálky - - - - Increase envelope resolution for better details, decrease for better GUI performance. - Zvyšte rozlišení obálky pro lepší detaily, snižte pro vyšší výkon rozhraní (GUI). - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - Rozliš. spektra - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - Zvyšte rozlišení spektra pro lepší detaily, snižte pro vyšší výkon rozhraní (GUI). - - - - spectrum points per pixel - bodů spektra na pixel - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - Zachovat - - - - lines - linie - - - - Waterfall gamma - Gamma vodopádu - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - Hodnota gamma: - - - - Window overlap - Překrývání oken - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - Zpracování všech samplů - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - Rozšířená nastavení - - - - Access advanced settings - - - - - - FFT block size - Velikost FFT bloku - - - - - FFT window type - Typ FFT okna - - - - SampleBuffer - - - Fail to open file - Chyba otevírání souboru - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Audio soubory jsou omezeny na %1 MB velikosti a %2 minut délky - - - - Open audio file - Otevřít audio soubor - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Všechny audio soubory (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - WAV soubory (*.wav) - - - - OGG-Files (*.ogg) - OGG soubory (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth soubory (*.ds) - - - - FLAC-Files (*.flac) - FLAC soubory (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX soubory (*.spx) - - - - VOC-Files (*.voc) - VOC soubory (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Soubory AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - AU soubory (*.au) - - - - RAW-Files (*.raw) - RAW soubory (*.raw) - - - - SampleClipView - - - Double-click to open sample - Poklepejte pro výběr samplu - - - - Delete (middle mousebutton) - Smazat (prostřední tlačítko myši) - - - - Delete selection (middle mousebutton) - - - - - Cut - Vyjmout - - - - Cut selection - - - - - Copy - Kopírovat - - - - Copy selection - - - - - Paste - Vložit - - - - Mute/unmute (<%1> + middle click) - Ztlumit/Odtlumit (<%1> + prostřední tlačítko) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Přehrávat pozpátku - - - - Set clip color - - - - - Use track color + + Sample not found - SampleTrack + lmms::SampleTrack - + Volume - Hlasitost + - + Panning - Panoráma + - + Mixer channel - Efektový kanál + - - + + Sample track - Stopa samplů - - - - SampleTrackView - - - Track volume - Hlasitost stopy - - - - Channel volume: - Hlasitost kanálu: - - - - VOL - HLA - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - Channel %1: %2 - Efekt %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - HLAVNÍ NASTAVENÍ - - - - Sample volume - Hlasitost samplu - - - - Volume: - Hlasitost: - - - - VOL - HLA - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - Mixer channel - Efektový kanál - - - - CHANNEL - EFEKT - - - - SaveOptionsWidget - - - Discard MIDI connections - Zrušit MIDI připojení - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value - Obnovit výchozí hodnoty - - - - Use built-in NaN handler - Použít vestavěný NaN handler - - - - Settings - Nastavení - - - - - General - Hlavní - - - - Graphical user interface (GUI) - Grafické uživatelské rozhraní (GUI) - - - - Display volume as dBFS - Zobrazit hlasitost v dBFS - - - - Enable tooltips - Zapnout bublinovou nápovědu - - - - Enable master oscilloscope by default + + empty - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - Projekty - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - Jazyk - - - - - Performance - Výkon - - - - Autosave - Automatické ukládání - - - - Enable autosave - Povolit automatické ukládání - - - - Allow autosave while playing - Povolit automatické ukládání během přehrávání - - - - User interface (UI) effects vs. performance - Efekty uživatelského rozhraní (UI) vs. výkon - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Pluginy - - - - VST plugins embedding: - Vložení VST pluginů: - - - - No embedding - Nevkládat - - - - Embed using Qt API - Vložit pomocí rozhraní Qt - - - - Embed using native Win32 API - Vložit pomocí nativního rozhraní Win32 - - - - Embed using XEmbed protocol - Vložit pomocí protokolu XEmbed - - - - Keep plugin windows on top when not embedded - Udržet okna pluginů na vrchu, když nejsou vložená - - - - Sync VST plugins to host playback - Synchronizace VST pluginů s hostujícím přehráváním - - - - Keep effects running even without input - Nechat efekty spuštěné i bez vstupu - - - - - Audio - Zvuk - - - - Audio interface - Zvukové rozhraní - - - - HQ mode for output audio device - HQ režim pro výstup audio zařízení - - - - Buffer size - Velikost bufferu - - - - - MIDI - MIDI - - - - MIDI interface - MIDI rozhraní - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Pracovní adresář LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Adresář pro SF2 - - - - Default SF2 - - - - - GIG directory - Adresář pro GIG - - - - Theme directory - - - - - Background artwork - Obrázek na pozadí - - - - Some changes require restarting. - Některé změny vyžadují restartování. - - - - Autosave interval: %1 - Interval automatického ukládání: %1 - - - - Choose the LMMS working directory - Vyberte pracovní adresář LMMS - - - - Choose your VST plugins directory - Vyberte svůj adresář pro VST pluginy - - - - Choose your LADSPA plugins directory - Vyberte svůj adresář pro LADSPA pluginy - - - - Choose your default SF2 - Vyberte svůj výchozí SF2 soubor - - - - Choose your theme directory - Vyberte svůj adresář pro motivy - - - - Choose your background picture - Vyberte svou tapetu - - - - - Paths - Cesty - - - - OK - OK - - - - Cancel - Zrušit - - - - Frames: %1 -Latency: %2 ms - Rámce: %1 -Zpoždění %2 ms - - - - Choose your GIG directory - Vyberte svůj adresář pro GIG soubory - - - - Choose your SF2 directory - Vyberte svůj adresář pro SF2 soubory - - - - minutes - minut - - - - minute - minuta - - - - Disabled - Vypnuto - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Frekvence oříznutí + - + Resonance - Rezonance + + + + + Filter type + - Filter type - Typ filtru - - - Voice 3 off - Vypnout hlas 3 + - + Volume - Hlasitost + - + Chip model - Model čipu + - SidInstrumentView + lmms::SlicerT - - Volume: - Hlasitost: + + Note threshold + - - Resonance: - Rezonance: + + FadeOut + - - - Cutoff frequency: - Frekvence oříznutí: + + Original bpm + - - High-pass filter - Filtr horní propust + + Slice snap + - - Band-pass filter - Filtr pásmová propust + + BPM sync + - - Low-pass filter - Filtr dolní propust + + + slice_%1 + - - Voice 3 off - Vypnout hlas 3 - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Náběh: - - - - - Decay: - Pokles: - - - - Sustain: - Držení: - - - - - Release: - Doznění: - - - - Pulse Width: - Délka pulzu: - - - - Coarse: - Ladění: - - - - Pulse wave - Pulzní vlna - - - - Triangle wave - Trojúhelníková vlna - - - - Saw wave - Pilovitá vlna - - - - Noise - Šum - - - - Sync - Synch - - - - Ring modulation - Kruhová modulace - - - - Filtered - Filtrování - - - - Test - Test - - - - Pulse width: - Šířka pulzu: + + Sample not found: %1 + - SideBarWidget + lmms::Song - - Close - Zavřít - - - - Song - - + Tempo - Tempo + - + Master volume - Hlavní hlasitost + - + Master pitch - Transpozice - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - Chybové hlášení LMMS + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Nemohu otevřít soubor - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Nelze otevřít soubor %1. Pravděpodobně nemáte oprávnění číst tento soubor. - Ujistěte se prosím, že máte oprávnění alespoň číst tento soubor a zkuste to znovu. - - - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Chyba - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - Nemohu zapsat soubor - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - Chyba v souboru - - - - The file %1 seems to contain errors and therefore can't be loaded. - Soubor %1 pravděpodobně obsahuje chyby, a proto nemohl být načten. - - - - Version difference - Rozdíl verzí - - - - template - šablona - - - - project - projekt - - - - Tempo - Tempo - - - - TEMPO - TEMPO - - - - Tempo in BPM - Tempo v BPM - - - - High quality mode - Režim vysoké kvality - - - - - - Master volume - Hlavní hlasitost - - - - - - Master pitch - Transpozice - - - - Value: %1% - Hodnota: %1% - - - - Value: %1 semitones - Hodnota: %1 půltónů - - - - SongEditorWindow - - - Song-Editor - Editor skladby - - - - Play song (Space) - Přehrát skladbu (mezerník) - - - - Record samples from Audio-device - Nahrát samply z audio zařízení - - - - Record samples from Audio-device while playing song or BB track - Nahrát samply z audio zařízení při přehrávání skladby nebo stopy bicích/basů - - - - Stop song (Space) - Zastavit přehrávání (mezerník) - - - - Track actions - Akce stopy - - - - Add beat/bassline - Přidat bicí/basy - - - - Add sample-track - Přidat stopu samplů - - - - Add automation-track - Přidat stopu automatizace - - - - Edit actions - Akce úprav - - - - Draw mode - Režim kreslení - - - - Knife mode (split sample clips) - - - - - Edit mode (select and move) - Režim úprav (označit a přesunout) - - - - Timeline controls - Ovládání časové osy - - - - Bar insert controls - - - - - Insert bar - - - - - Remove bar - - - - - Zoom controls - Ovládání zvětšení - - - - Horizontal zooming - Horizontální zvětšení - - - - Snap controls - - - - - - Clip snapping size - - - - - Toggle proportional snap on/off - - - - - Base snapping size + + Width - StepRecorderWidget + lmms::StereoMatrixControls - - Hint - Rada - - - - Move recording curser using <Left/Right> arrows - Přesuňte ukazatel pozice nahrávání pomocí <Levé/Pravé> šipky - - - - SubWindow - - - Close - Zavřít - - - - Maximize - Maximalizovat - - - - Restore - Obnovit - - - - TabWidget - - - - Settings for %1 - Nastavení rpo %1 - - - - TemplatesMenu - - - New from template - Nový z šablony - - - - TempoSyncKnob - - - - Tempo Sync - Synchronizace tempa - - - - No Sync - Nesynchronizovat - - - - Eight beats - Osm dob - - - - Whole note - Celá nota - - - - Half note - Půlová nota - - - - Quarter note - Čtvrťová nota - - - - 8th note - Osminová nota - - - - 16th note - Šestnáctinová nota - - - - 32nd note - Dvaatřicetinová nota - - - - Custom... - Vlastní... - - - - Custom - Vlastní - - - - Synced to Eight Beats - Synchronizováno k osmi dobám - - - - Synced to Whole Note - Synchronizováno k celé notě - - - - Synced to Half Note - Synchronizováno k půlové notě - - - - Synced to Quarter Note - Synchronizováno ke čtvrťové notě - - - - Synced to 8th Note - Synchronizováno k osminové notě - - - - Synced to 16th Note - Synchronizováno k šestnáctinové notě - - - - Synced to 32nd Note - Synchronizováno k dvaatřicetinové notě - - - - TimeDisplayWidget - - - Time units - Časové jednotky - - - - MIN - MIN - - - - SEC - S - - - - MSEC - MS - - - - BAR - TAKT - - - - BEAT - DOBA - - - - TICK - TIK - - - - TimeLineWidget - - - Auto scrolling - Automatické posouvání - - - - Loop points - Body smyčky - - - - After stopping go back to beginning + + Left to Left - - After stopping go back to position at which playing was started - Po skončení přetočit zpět na pozici, ze které přehrávání začalo + + Left to Right + - - After stopping keep position - Po skončení zachovat pozici + + Right to Left + - - Hint - Rada - - - - Press <%1> to disable magnetic loop points. - Stiskněte <%1> pro vypnutí magnetických bodů smyčky. + + Right to Right + - Track + lmms::Track - + Mute - Ztlumit + - + Solo - Sólo + - TrackContainer + lmms::TrackContainer - + Couldn't import file - Nemohu importovat soubor + - + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - Nemohu najít filtr pro import souboru %1. -Měli byste tento soubor převést do formátu podporovaného LMMS pomocí jiného software. + - + Couldn't open file - Nemohu otevřít soubor + - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - Nemohu otevřít soubor %1 pro čtení. -Přesvědčte se prosím, že máte právo ke čtení tohoto souboru a příslušného adresáře a zkuste to znovu! + - + Loading project... - Načítám projekt... + - - + + Cancel - Zrušit + - - + + Please wait... - Prosím čekejte... + - + Loading cancelled - Načítání zrušeno + - + Project loading was cancelled. - Načítání projektu bylo zrušeno. + - + Loading Track %1 (%2/Total %3) - Načítám Stopu %1 (%2/celkem %3) + - + Importing MIDI-file... - Importuji MIDI soubor... - - - - Clip - - - Mute - Ztlumit - - - - ClipView - - - Current position - Aktuální pozice - - - - Current length - Aktuální délka - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 do %5:%6) - - - - Press <%1> and drag to make a copy. - K vytvoření kopie stiskněte <%1> a táhněte myší. - - - - Press <%1> for free resizing. - Stiskněte <%1> pro volnou změnu velikosti. - - - - Hint - Rada - - - - Delete (middle mousebutton) - Smazat (prostřední tlačítko myši) - - - - Delete selection (middle mousebutton) - - - - - Cut - Vyjmout - - - - Cut selection - - - - - Merge Selection - - - - - Copy - Kopírovat - - - - Copy selection - - - - - Paste - Vložit - - - - Mute/unmute (<%1> + middle click) - Ztlumit/Odtlumit (<%1> + prostřední tlačítko) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::TripleOscillator - - Paste - Vložit - - - - TrackOperationsWidget - - - Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - Při klepnutí na úchop držte <%1> pro zkopírování přetahované stopy. - - - - Actions - Akce - - - - - Mute - Ztlumit - - - - - Solo - Sólo - - - - After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - - - - - Confirm removal - - - - - Don't ask again - - - - - Clone this track - Klonovat tuto stopu - - - - Remove this track - Odstranit tuto stopu - - - - Clear this track - Smazat tuto stopu - - - - Channel %1: %2 - Efekt %1: %2 - - - - Assign to new mixer Channel - Přiřadit k novému efektovému kanálu - - - - Turn all recording on - Spustit všechna nahrávání - - - - Turn all recording off - Zastavit všechna nahrávání - - - - Change color - Změnit barvu - - - - Reset color to default - Obnovit výchozí barvy - - - - Set random color - - - - - Clear clip colors + + Sample not found - TripleOscillatorView + lmms::VecControls - - Modulate phase of oscillator 1 by oscillator 2 - Modulovat fázi oscilátoru 1 oscilátorem 2 - - - - Modulate amplitude of oscillator 1 by oscillator 2 - Modulovat amplitudu oscilátoru 1 oscilátorem 2 - - - - Mix output of oscillators 1 & 2 - Smíchat výstupy oscilátorů 1 a 2 - - - - Synchronize oscillator 1 with oscillator 2 - Synchronizovat oscilátor 1 oscilátorem 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 - Modulovat frekvenci oscilátoru 1 oscilátorem 2 - - - - Modulate phase of oscillator 2 by oscillator 3 - Modulovat fázi oscilátoru 2 oscilátorem 3 - - - - Modulate amplitude of oscillator 2 by oscillator 3 - Modulovat amplitudu oscilátoru 2 oscilátorem 3 - - - - Mix output of oscillators 2 & 3 - Smíchat výstupy oscilátorů 2 a 3 - - - - Synchronize oscillator 2 with oscillator 3 - Synchronizovat oscilátor 2 oscilátorem 3 - - - - Modulate frequency of oscillator 2 by oscillator 3 - Modulovat frekvenci oscilátoru 2 oscilátorem 3 - - - - Osc %1 volume: - Osc %1 hlasitost: - - - - Osc %1 panning: - Osc %1 panoráma: - - - - Osc %1 coarse detuning: - Osc %1 hrubé rozladění: - - - - semitones - půltónů - - - - Osc %1 fine detuning left: - Osc %1 jemné rozladění vlevo: - - - - - cents - centů - - - - Osc %1 fine detuning right: - Osc %1 jemné rozladění vpravo: - - - - Osc %1 phase-offset: - Osc %1 posun fáze: - - - - - degrees - stupňů - - - - Osc %1 stereo phase-detuning: - Osc %1 rozladění stereo fáze: - - - - Sine wave - Sinusová vlna - - - - Triangle wave - Trojúhelníková vlna - - - - Saw wave - Pilovitá vlna - - - - Square wave - Pravoúhlá vlna - - - - Moog-like saw wave - Pilovitá vlna typu Moog - - - - Exponential wave - Exponenciální vlna - - - - White noise - Bílý šum - - - - User-defined wave - Uživatelem definovaná vlna - - - - VecControls - - + Display persistence amount - + Logarithmic scale - + High quality - VecControlsDialog + lmms::VestigeInstrument - + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + + + + + lmms::gui::StepRecorderWidget + + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + + Paste + + + + + lmms::gui::TrackOperationsWidget + + + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. + + + + + Actions + + + + + + Mute + + + + + + Solo + + + + + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? + + + + + Confirm removal + + + + + Don't ask again + + + + + Clone this track + + + + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors + + + + + lmms::gui::TripleOscillatorView + + + Modulate phase of oscillator 1 by oscillator 2 + + + + + Modulate amplitude of oscillator 1 by oscillator 2 + + + + + Mix output of oscillators 1 & 2 + + + + + Synchronize oscillator 1 with oscillator 2 + + + + + Modulate frequency of oscillator 1 by oscillator 2 + + + + + Modulate phase of oscillator 2 by oscillator 3 + + + + + Modulate amplitude of oscillator 2 by oscillator 3 + + + + + Mix output of oscillators 2 & 3 + + + + + Synchronize oscillator 2 with oscillator 3 + + + + + Modulate frequency of oscillator 2 by oscillator 3 + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + + cents + + + + + Osc %1 fine detuning right: + + + + + Osc %1 phase-offset: + + + + + + degrees + + + + + Osc %1 stereo phase-detuning: + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog-like saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined wave + + + + + Use alias-free wavetable oscillators. + + + + + lmms::gui::VecControlsDialog + + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13719,2618 +17973,782 @@ Přesvědčte se prosím, že máte právo ke čtení tohoto souboru a příslu - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Zvýšit číslo verze - + lmms::gui::VersionedSaveDialog + Increment version number + + + + Decrement version number - Snížení čísla verze + - + Save Options - Možnosti ukládání + - + already exists. Do you want to replace it? - již existuje. Přejete si jej přepsat? - - - - VestigeInstrumentView - - - - Open VST plugin - Otevřít VST plugin - - - - Control VST plugin from LMMS host - Ovládání VST pluginu hostitelským programem LMMS - - - - Open VST plugin preset - Otevřít předvolby VST pluginu - - - - Previous (-) - Předchozí (-) - - - - Save preset - Uložit předvolbu - - - - Next (+) - Další (+) - - - - Show/hide GUI - Zobrazit/Skrýt grafické rozhraní - - - - Turn off all notes - Vypnout všechny noty - - - - DLL-files (*.dll) - DLL soubory (*.dll) - - - - EXE-files (*.exe) - EXE soubory (*.exe) - - - - No VST plugin loaded - VST plugin není nahrán - - - - Preset - Předvolba - - - - by - od - - - - - VST plugin control - – ovládání VST pluginu - - - - VstEffectControlDialog - - - Show/hide - Ukázat/Skrýt - - - - Control VST plugin from LMMS host - Ovládání VST pluginu hostitelským programem LMMS - - - - Open VST plugin preset - Otevřít předvolby VST pluginu - - - - Previous (-) - Předchozí (-) - - - - Next (+) - Další (+) - - - - Save preset - Uložit předvolbu - - - - - Effect by: - Efekt od: - - - - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - - - - VstPlugin - - - - The VST plugin %1 could not be loaded. - VST plugin %1 nelze načíst. - - - - Open Preset - Otevřít předvolbu - - - - - Vst Plugin Preset (*.fxp *.fxb) - Předvolba VST pluginu (*.fxp *.fxb) - - - - : default - : výchozí - - - - Save Preset - Uložit předvolbu - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Načítám plugin - - - - Please wait while loading VST plugin... - Počkejte prosím, než se načte VST plugin... - - - - WatsynInstrument - - - Volume A1 - Hlasitost A1 - - - - Volume A2 - Hlasitost A2 - - - - Volume B1 - Hlasitost B1 - - - - Volume B2 - Hlasitost B2 - - - - Panning A1 - Panoráma A1 - - - - Panning A2 - Panoráma A2 - - - - Panning B1 - Panoráma B1 - - - - Panning B2 - Panoráma B2 - - - - Freq. multiplier A1 - Násobič frekv. A1 - - - - Freq. multiplier A2 - Násobič frekv. A2 - - - - Freq. multiplier B1 - Násobič frekv. B1 - - - - Freq. multiplier B2 - Násobič frekv. B2 - - - - Left detune A1 - Rozladění vlevo A1 - - - - Left detune A2 - Rozladění vlevo A2 - - - - Left detune B1 - Rozladění vlevo B1 - - - - Left detune B2 - Rozladění vlevo B2 - - - - Right detune A1 - Rozladění vpravo A1 - - - - Right detune A2 - Rozladění vpravo A2 - - - - Right detune B1 - Rozladění vpravo B1 - - - - Right detune B2 - Rozladění vpravo B2 - - - - A-B Mix - Směšovač A-B - - - - A-B Mix envelope amount - Množství obálky směšovače A-B - - - - A-B Mix envelope attack - Náběh obálky směšovače A-B - - - - A-B Mix envelope hold - Množství zadržení směšovače A-B - - - - A-B Mix envelope decay - Pokles obálky směšovače A-B - - - - A1-B2 Crosstalk - Přeslech A1-B2 - - - - A2-A1 modulation - Modulace A1-B2 - - - - B2-B1 modulation - Modulace B2-B1 - - - - Selected graph - Zvolený graf - - - - WatsynView - - - - - - Volume - Hlasitost - - - - - - - Panning - Panoráma - - - - - - - Freq. multiplier - Násobič frekv. - - - - - - - Left detune - Rozladění vlevo - - - - - - - - - - - cents - centů - - - - - - - Right detune - Rozladění vpravo - - - - A-B Mix - Směšovač A-B - - - - Mix envelope amount - Množství obálky směšovače - - - - Mix envelope attack - Náběh obálky směšovače - - - - Mix envelope hold - Zadržení obálky směšovače - - - - Mix envelope decay - Pokles obálky směšovače - - - - Crosstalk - Přeslech - - - - Select oscillator A1 - Vybrat oscilátor A1 - - - - Select oscillator A2 - Vybrat oscilátor A2 - - - - Select oscillator B1 - Vybrat oscilátor B1 - - - - Select oscillator B2 - Vybrat oscilátor B2 - - - - Mix output of A2 to A1 - Přimíchat výstup A1 do A2 - - - - Modulate amplitude of A1 by output of A2 - Modulovat amplitudu A1 výstupem A2 - - - - Ring modulate A1 and A2 - Kruhově modulovat A1 a A2 - - - - Modulate phase of A1 by output of A2 - Modulovat fázi A1 výstupem A2 - - - - Mix output of B2 to B1 - Přimíchat výstup B1 do B2 - - - - Modulate amplitude of B1 by output of B2 - Modulovat amplitudu B1 výstupem B2 - - - - Ring modulate B1 and B2 - Kruhově modulovat B1 a B2 - - - - Modulate phase of B1 by output of B2 - Modulovat fázi B1 výstupem B2 - - - - - - - Draw your own waveform here by dragging your mouse on this graph. - Kreslení vlastní křivky tahem myši na tomto grafu. - - - - Load waveform - Načíst vlnu - - - - Load a waveform from a sample file - Načíst vlnu ze souboru samplů - - - - Phase left - Fáze vlevo - - - - Shift phase by -15 degrees - Posunout fázi o -15 stupňů - - - - Phase right - Fáze vpravo - - - - Shift phase by +15 degrees - Posunout fázi o +15 stupňů - - - - - Normalize - Normalizovat - - - - - Invert - Převrátit - - - - - Smooth - Uhladit - - - - - Sine wave - Sinusová vlna - - - - - - Triangle wave - Trojúhelníková vlna - - - - Saw wave - Pilovitá vlna - - - - - Square wave - Pravoúhlá vlna - - - - Xpressive - - - Selected graph - Zvolený graf - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - W1 vyhlazování - - - - W2 smoothing - W2 vyhlazování - - - - W3 smoothing - W3 vyhlazování - - - - Panning 1 - Panoráma 1 - - - - Panning 2 - Panoráma 2 - - - - Rel trans - XpressiveView + lmms::gui::VestigeInstrumentView - - Draw your own waveform here by dragging your mouse on this graph. - Kreslení vlastní křivky tahem myši na tomto grafu. + + + Open VST plugin + - - Select oscillator W1 - Vybrat oscilátor W1 + + Control VST plugin from LMMS host + - - Select oscillator W2 - Vybrat oscilátor W2 + + Open VST plugin preset + - - Select oscillator W3 - Vybrat oscilátor W3 + + Previous (-) + - - Select output O1 - Vybrat výstup O1 + + Save preset + - - Select output O2 - Vybrat výstup O2 + + Next (+) + - - Open help window - Otevřít okno nápovědy + + Show/hide GUI + - - - Sine wave - Sinusová vlna + + Turn off all notes + - - - Moog-saw wave - Pilovitá vlna typu Moog + + DLL-files (*.dll) + - - - Exponential wave - Exponenciální vlna + + EXE-files (*.exe) + - - - Saw wave - Pilovitá vlna + + SO-files (*.so) + - - - User-defined wave - Uživatelem definovaná vlna + + No VST plugin loaded + - - - Triangle wave - Trojúhelníková vlna + + Preset + - - - Square wave - Pravoúhlá vlna + + by + - - - White noise - Bílý šum - - - - WaveInterpolate - Interpolace vlnění - - - - ExpressionValid - Platnost výrazu - - - - General purpose 1: - Celkový účel 1: - - - - General purpose 2: - Celkový účel 2: - - - - General purpose 3: - Celkový účel 3: - - - - O1 panning: - O1 vyvážení: - - - - O2 panning: - O2 vyvážení: - - - - Release transition: - Přechod mezi dozněním: - - - - Smoothness - Hladkost - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - Frekvence filtru - - - - Filter resonance - Rezonance filtru - - - - Bandwidth - Šířka pásma - - - - FM gain - Zesílení FM - - - - Resonance center frequency - Střední frekvence rezonance - - - - Resonance bandwidth - Šířka pásma rezonance - - - - Forward MIDI control change events - Odesílat události MIDI control change - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - Frekvence filtru: - - - - FREQ - FREKV - - - - Filter resonance: - Rezonance filtru: - - - - RES - REZ - - - - Bandwidth: - Šířka pásma: - - - - BW - ŠP - - - - FM gain: - Zesílení FM: - - - - FM GAIN - ZISK FM - - - - Resonance center frequency: - Střední frekvence rezonance: - - - - RES CF - SF REZ - - - - Resonance bandwidth: - Šířka pásma rezonance: - - - - RES BW - ŠP REZ - - - - Forward MIDI control changes - Odesílat události MIDI control change - - - - Show GUI - Ukázat grafické rozhraní - - - - AudioFileProcessor - - - Amplify - Zesílení - - - - Start of sample - Začátek samplu - - - - End of sample - Konec samplu - - - - Loopback point - Začátek smyčky - - - - Reverse sample - Přehrávat pozpátku - - - - Loop mode - Režim smyčky - - - - Stutter - Pokračování v přehrávání samplu při změně noty - - - - Interpolation mode - Režim interpolace - - - - None - Žádný - - - - Linear - Lineární - - - - Sinc - Sinusový - - - - Sample not found: %1 - Vzorek nenalezen: %1 - - - - BitInvader - - - Sample length - Délka samplu - - - - BitInvaderView - - - Sample length - Délka samplu - - - - Draw your own waveform here by dragging your mouse on this graph. - Kreslení vlastní křivky tahem myši na tomto grafu. - - - - - Sine wave - Sinusová vlna - - - - - Triangle wave - Trojúhelníková vlna - - - - - Saw wave - Pilovitá vlna - - - - - Square wave - Pravoúhlá vlna - - - - - White noise - Bílý šum - - - - - User-defined wave - Uživatelem definovaná vlna - - - - - Smooth waveform - Vyhlazení vlny - - - - Interpolation - Interpolovat - - - - Normalize - Normalizovat - - - - DynProcControlDialog - - - INPUT - VSTUP - - - - Input gain: - Zesílení vstupu: - - - - OUTPUT - VÝSTUP - - - - Output gain: - Zesílení výstupu: - - - - ATTACK - NÁBĚH - - - - Peak attack time: - Délka náběhu špičky: - - - - RELEASE - DOZNĚNÍ - - - - Peak release time: - Délka doznění špičky: - - - - - Reset wavegraph - Vynulovat křivku - - - - - Smooth wavegraph - Vyhladit křivku - - - - - Increase wavegraph amplitude by 1 dB - Zvýšení amplitudy křivky o 1 dB - - - - - Decrease wavegraph amplitude by 1 dB - Snížení amplitudy křivky o 1 dB - - - - Stereo mode: maximum - Režim sterea: maximální - - - - Process based on the maximum of both stereo channels - Zpracování vycházející z maxima obou stereo kanálů - - - - Stereo mode: average - Režim sterea: průměr - - - - Process based on the average of both stereo channels - Zpracování vycházející z průměru obou stereo kanálů - - - - Stereo mode: unlinked - Režim sterea: nepropojené - - - - Process each stereo channel independently - Zpracování každého stereo kanálu zvlášť - - - - DynProcControls - - - Input gain - Zesílení vstupu - - - - Output gain - Zesílení výstupu - - - - Attack time - Doba náběhu - - - - Release time - Délka doznění - - - - Stereo mode - Režim sterea - - - - graphModel - - - Graph - Graf - - - - KickerInstrument - - - Start frequency - Počáteční frekvence - - - - End frequency - Konečná frekvence - - - - Length - Délka - - - - Start distortion - Začátek zkreslení - - - - End distortion - Konec zkreslení - - - - Gain - Zisk - - - - Envelope slope - Sklon obálky - - - - Noise - Šum - - - - Click - Klik - - - - Frequency slope - Sklon frekvence - - - - Start from note - Začít od noty - - - - End to note - Skončit na notě - - - - KickerInstrumentView - - - Start frequency: - Počáteční frekvence: - - - - End frequency: - Konečná frekvence: - - - - Frequency slope: - Sklon frekvence: - - - - Gain: - Zisk: - - - - Envelope length: - Délka obálky: - - - - Envelope slope: - Sklon obálky: - - - - Click: - Klik: - - - - Noise: - Šum: - - - - Start distortion: - Začátek zkreslení: - - - - End distortion: - Konec zkreslení: - - - - LadspaBrowserView - - - - Available Effects - Dostupné efekty - - - - - Unavailable Effects - Nedostupné efekty - - - - - Instruments - Nástroje - - - - - Analysis Tools - Analyzační nástroje - - - - - Don't know - Neznámé - - - - Type: - Typ: - - - - LadspaDescription - - - Plugins - Pluginy - - - - Description - Popis - - - - LadspaPortDialog - - - Ports - Porty - - - - Name - Název - - - - Rate - Druh - - - - Direction - Směr - - - - Type - Typ - - - - Min < Default < Max - Min < Výchozí < Max - - - - Logarithmic - Logaritmický - - - - SR Dependent - SR závislý - - - - Audio - Zvuk - - - - Control - Ovládání - - - - Input - Vstup - - - - Output - Výstup - - - - Toggled - Zapnuto - - - - Integer - Celočíselný - - - - Float - S plovoucí čárkou - - - - - Yes - Ano - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF frekvence vypnutí - - - - VCF Resonance - VCF rezonance - - - - VCF Envelope Mod - VCF modulace obálky - - - - VCF Envelope Decay - VCF pokles obálky - - - - Distortion - Zkreslení - - - - Waveform - Vlna - - - - Slide Decay - Pokles sklouznutí - - - - Slide - Sklouznutí - - - - Accent - Důraz - - - - Dead - Dead - - - - 24dB/oct Filter - Filtr 24dB/okt - - - - Lb302SynthView - - - Cutoff Freq: - Frekvence odstřihnutí: - - - - Resonance: - Rezonance: - - - - Env Mod: - Modulace obálky: - - - - Decay: - Pokles: - - - - 303-es-que, 24dB/octave, 3 pole filter - 3pólový filtr 303-es-que, 24dB/okt - - - - Slide Decay: - Pokles sklouznutí: - - - - DIST: - Zkreslení: - - - - Saw wave - Pilovitá vlna - - - - Click here for a saw-wave. - Klepněte sem pro pilovitou vlnu. - - - - Triangle wave - Trojúhelníková vlna - - - - Click here for a triangle-wave. - Klepněte sem pro trojúhelníkovou vlnu. - - - - Square wave - Pravoúhlá vlna - - - - Click here for a square-wave. - Klepněte sem pro pravoúhlou vlnu. - - - - Rounded square wave - Oblá pravoúhlá vlna - - - - Click here for a square-wave with a rounded end. - Klepněte sem pro pravoúhlou vlnu s oblým zakončením. - - - - Moog wave - Vlna typu Moog - - - - Click here for a moog-like wave. - Klepněte sem pro vlnu typu Moog. - - - - Sine wave - Sinusová vlna - - - - Click for a sine-wave. - Klepněte sem pro sinusovou vlnu. - - - - - White noise wave - Bílý šum - - - - Click here for an exponential wave. - Klepněte sem pro exponenciální vlnu. - - - - Click here for white-noise. - Klepněte sem pro bílý šum. - - - - Bandlimited saw wave - Pásmově omezená pilovitá vlna - - - - Click here for bandlimited saw wave. - Klepněte sem pro pásmově omezenou pilovitou vlnu. - - - - Bandlimited square wave - Pásmově zúžená pravoúhlá vlna - - - - Click here for bandlimited square wave. - Klepněte sem pro pásmově zúženou pravoúhlou vlnu. - - - - Bandlimited triangle wave - Pásmově zúžená trojúhelníková vlna - - - - Click here for bandlimited triangle wave. - Klepněte sem pro pásmově zúženou trojúhelníkovou vlnu. - - - - Bandlimited moog saw wave - Pásmově zúžená pilovitá vlna typu Moog - - - - Click here for bandlimited moog saw wave. - Klepněte sem pro úzkopásmovou pilovitou vlnu typu Moog. - - - - MalletsInstrument - - - Hardness - Tvrdost - - - - Position - Pozice - - - - Vibrato gain - Zesílení vibráta - - - - Vibrato frequency - Frekvence vibráta - - - - Stick mix - Mix paliček - - - - Modulator - Modulátor - - - - Crossfade - Prolínání (crossfade) - - - - LFO speed - Rychlost LFO - - - - LFO depth - Hloubka LFO - - - - ADSR - ADSR - - - - Pressure - Tlak - - - - Motion - Pohyb - - - - Speed - Rychlost - - - - Bowed - Smyčcem - - - - Spread - Šíře - - - - Marimba - Marimba - - - - Vibraphone - Vibrafon - - - - Agogo - Agogo - - - - Wood 1 - Dřevěné 1 - - - - Reso - Rezo - - - - Wood 2 - Dřevěné 2 - - - - Beats - Údery - - - - Two fixed - Dvojité - - - - Clump - Svazek - - - - Tubular bells - Trubicové zvony - - - - Uniform bar - Obyčejná tyč - - - - Tuned bar - Laděná tyč - - - - Glass - Sklo - - - - Tibetan bowl - Tibetská mísa - - - - MalletsInstrumentView - - - Instrument - Nástroj - - - - Spread - Šíře - - - - Spread: - Šíře: - - - - Missing files - Chybějící soubory - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Zdá se, že instalace Stk není kompletní. Ujistěte se prosím, že je nainstalován celý balík Stk! - - - - Hardness - Tvrdost - - - - Hardness: - Tvrdost: - - - - Position - Pozice - - - - Position: - Pozice: - - - - Vibrato gain - Zesílení vibráta - - - - Vibrato gain: - Zesílení vibráta: - - - - Vibrato frequency - Frekvence vibráta - - - - Vibrato frequency: - Frekvence vibráta: - - - - Stick mix - Mix paliček - - - - Stick mix: - Mix paliček: - - - - Modulator - Modulátor - - - - Modulator: - Modulátor: - - - - Crossfade - Prolínání (crossfade) - - - - Crossfade: - Prolínání (crossfade): - - - - LFO speed - Rychlost LFO - - - - LFO speed: - Rychlost LFO: - - - - LFO depth - Hloubka LFO - - - - LFO depth: - Hloubka LFO: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Tlak - - - - Pressure: - Tlak: - - - - Speed - Rychlost - - - - Speed: - Rychlost: - - - - ManageVSTEffectView - - - - VST parameter control - - řízení parametrů VST - - - - VST sync - VST synch - - - - - Automated - Automaticky - - - - Close - Zavřít - - - - ManageVestigeInstrumentView - - - + - VST plugin control - - ovládání VST pluginu - - - - VST Sync - VST synch - - - - - Automated - Automaticky - - - - Close - Zavřít + - OrganicInstrument + lmms::gui::VibedView - - Distortion - Zkreslení - - - - Volume - Hlasitost - - - - OrganicInstrumentView - - - Distortion: - Zkreslení: - - - - Volume: - Hlasitost: - - - - Randomise - Nastavit náhodně - - - - - Osc %1 waveform: - Osc %1 vlna: - - - - Osc %1 volume: - Osc %1 hlasitost: - - - - Osc %1 panning: - Osc %1 panoráma: - - - - Osc %1 stereo detuning - Osc %1 rozladění sterea - - - - cents - centů - - - - Osc %1 harmonic: - Osc %1 harmonické: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: Předvolba kanálu - - - - Bank selector - Výběr banky - - - - Bank - Banka - - - - Program selector - Výběr programu - - - - Patch - Patch - - - - Name - Název - - - - OK - OK - - - - Cancel - Zrušit - - - - Sf2Instrument - - - Bank - Banka - - - - Patch - Patch - - - - Gain - Zisk - - - - Reverb - Dozvuk - - - - Reverb room size - Velikost místnosti - - - - Reverb damping - Útlum dozvuku - - - - Reverb width - Délka dozvuku - - - - Reverb level - Úroveň dozvuku - - - - Chorus - Chorus - - - - Chorus voices - Počet hlasů chorusu - - - - Chorus level - Úroveň chorusu - - - - Chorus speed - Rychlost chorusu - - - - Chorus depth - Hloubka chorusu - - - - A soundfont %1 could not be loaded. - Soundfont %1 nelze načíst. - - - - Sf2InstrumentView - - - - Open SoundFont file - Otevřít SoundFont soubor - - - - Choose patch - Vybrat patch - - - - Gain: - Zesílení: - - - - Apply reverb (if supported) - Použít dozvuk (je-li podporován) - - - - Room size: - Velikost místnosti: - - - - Damping: - Útlum: - - - - Width: - Šířka: - - - - - Level: - Úroveň: - - - - Apply chorus (if supported) - Použít chorus (je-li podporován) - - - - Voices: - Hlasů: - - - - Speed: - Rychlost: - - - - Depth: - Hloubka: - - - - SoundFont Files (*.sf2 *.sf3) - Soubory SoundFont (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Vlna - - - - StereoEnhancerControlDialog - - - WIDTH - ŠÍŘKA - - - - Width: - Šířka: - - - - StereoEnhancerControls - - - Width - Šířka - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Levý do levého – hlasitost: - - - - Left to Right Vol: - Levý do pravého – hlasitost: - - - - Right to Left Vol: - Pravý do levého – hlasitost: - - - - Right to Right Vol: - Pravý do pravého – hlasitost: - - - - StereoMatrixControls - - - Left to Left - Levý do levého - - - - Left to Right - Levý do pravého - - - - Right to Left - Pravý do levého - - - - Right to Right - Pravý do pravého - - - - VestigeInstrument - - - Loading plugin - Načítám plugin - - - - Please wait while loading the VST plugin... - Počkejte prosím, než se načte VST plugin... - - - - Vibed - - - String %1 volume - Hlasitost struny %1 - - - - String %1 stiffness - Tvrdost struny %1 - - - - Pick %1 position - Místo drnknutí %1 - - - - Pickup %1 position - Umístění snímače %1 - - - - String %1 panning - Struna %1 panoráma - - - - String %1 detune - Struna %1 rozladění - - - - String %1 fuzziness - Struna %1 roztřepení - - - - String %1 length - Struna %1 délka - - - - Impulse %1 - Impulz %1 - - - - String %1 - Struna %1 - - - - VibedView - - - String volume: - Hlasitost struny: - - - - String stiffness: - Tvrdost struny: - - - - Pick position: - Místo drnknutí: - - - - Pickup position: - Pozice snímače: - - - - String panning: - Panoráma struny: - - - - String detune: - Rozladění struny: - - - - String fuzziness: - Roztřepení struny: - - - - String length: - Délka struny: - - - - Impulse - Impulz - - - - Octave - Oktáva - - - - Impulse Editor - Editor impulzu - - - + Enable waveform - Zapnout vlnu + - - Enable/disable string - Zapnout/vypnout strunu - - - - String - Struna - - - - - Sine wave - Sinusová vlna - - - - - Triangle wave - Trojúhelníková vlna - - - - - Saw wave - Pilovitá vlna - - - - - Square wave - Pravoúhlá vlna - - - - - White noise - Bílý šum - - - - - User-defined wave - Uživatelem definovaná vlna - - - - + + Smooth waveform - Vyhlazení vlny + - - + + Normalize waveform - Normalizovat vlnu + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + - VoiceObject + lmms::gui::VstEffectControlDialog - - Voice %1 pulse width - Hlas %1 šířka pulzu + + Show/hide + - - Voice %1 attack - Hlas %1 náběh + + Control VST plugin from LMMS host + - - Voice %1 decay - Hlas %1 pokles + + Open VST plugin preset + - - Voice %1 sustain - Hlas %1 držení + + Previous (-) + - - Voice %1 release - Hlas %1 doznění + + Next (+) + - - Voice %1 coarse detuning - Hlas %1 hrubé ladění + + Save preset + - - Voice %1 wave shape - Hlas %1 tvar vlny + + + Effect by: + - - Voice %1 sync - Hlas %1 synchronizace - - - - Voice %1 ring modulate - Hlas %1 kruhová modulace - - - - Voice %1 filtered - Hlas %1 filtrování - - - - Voice %1 test - Hlas %1 test + + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - WaveShaperControlDialog + lmms::gui::WatsynView - + + + + + Volume + + + + + + + + Panning + + + + + + + + Freq. multiplier + + + + + + + + Left detune + + + + + + + + + + + + cents + + + + + + + + Right detune + + + + + A-B Mix + + + + + Mix envelope amount + + + + + Mix envelope attack + + + + + Mix envelope hold + + + + + Mix envelope decay + + + + + Crosstalk + + + + + Select oscillator A1 + + + + + Select oscillator A2 + + + + + Select oscillator B1 + + + + + Select oscillator B2 + + + + + Mix output of A2 to A1 + + + + + Modulate amplitude of A1 by output of A2 + + + + + Ring modulate A1 and A2 + + + + + Modulate phase of A1 by output of A2 + + + + + Mix output of B2 to B1 + + + + + Modulate amplitude of B1 by output of B2 + + + + + Ring modulate B1 and B2 + + + + + Modulate phase of B1 by output of B2 + + + + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + Load waveform + + + + + Load a waveform from a sample file + + + + + Phase left + + + + + Shift phase by -15 degrees + + + + + Phase right + + + + + Shift phase by +15 degrees + + + + + + Normalize + + + + + + Invert + + + + + + Smooth + + + + + + Sine wave + + + + + + + Triangle wave + + + + + Saw wave + + + + + + Square wave + + + + + lmms::gui::WaveShaperControlDialog + + INPUT - VSTUP + - + Input gain: - Zesílení vstupu: + - + OUTPUT - VÝSTUP - - - - Output gain: - Zesílení výstupu: + - - Reset wavegraph - Vynulovat křivku + Output gain: + + - - Smooth wavegraph - Vyhladit křivku + Reset wavegraph + + - - Increase wavegraph amplitude by 1 dB - Zvýšení amplitudy křivky o 1 dB + Smooth wavegraph + + - + Increase wavegraph amplitude by 1 dB + + + + + Decrease wavegraph amplitude by 1 dB - Snížení amplitudy křivky o 1 dB + - + Clip input - Ořezat vstup + - + Clip input signal to 0 dB - Ořezat vstupní signál na 0 dB + - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Zesílení vstupu + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Zesílení výstupu + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/de.ts b/data/locale/de.ts index d5d0625c2..4736ea797 100644 --- a/data/locale/de.ts +++ b/data/locale/de.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -69,812 +69,45 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL - - - - Volume: - Lautstärke: - - - - PAN - PAN - - - - Panning: - Balance: - - - - LEFT - LINKS - - - - Left gain: - Linke Verstärkung: - - - - RIGHT - RECHTS - - - - Right gain: - Rechte Verstärkung: - - - - AmplifierControls - - - Volume - Lautstärke - - - - Panning - Balance - - - - Left gain - Linke Verstärkung - - - - Right gain - Rechte Verstärkung - - - - AudioAlsaSetupWidget - - - DEVICE - GERÄT - - - - CHANNELS - KANÄLE - - - - AudioFileProcessorView - - - Open sample - Sample öffnen - - - - Reverse sample - Sample umkehren - - - - Disable loop - Wiederholung deaktivieren - - - - Enable loop - Wiederholung aktivieren - - - - Enable ping-pong loop - Ping Pong Loop aktivieren - - - - Continue sample playback across notes - Samplewiedergabe über Noten fortsetzen - - - - Amplify: - Verstärkung: - - - - Start point: - Anfangspunkt: - - - - End point: - Endpunkt: - - - - Loopback point: - Wiederholungspunkt: - - - - AudioFileProcessorWaveView - - - Sample length: - Samplelänge: - - - - AudioJack - - - JACK client restarted - JACK-Client neugestartet - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS wurde aus irgendeinem Grund von JACK verbannt. Aus diesem Grund wurde das JACK-Backend von LMMS neu gestartet. Sie müssen manuelle Verbindungen erneut vornehmen. - - - - JACK server down - JACK-Server nicht erreichbar - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Der JACK-Server scheint heruntergefahren worden zu sein und es war nicht möglich, eine neue Instanz zu starten. LMMS ist daher nicht in der Lage, fortzufahren. Sie sollten Ihr Projekt speichern und JACK und LMMS neustarten. - - - - Client name + + About JUCE - - Channels - Kanäle - - - - AudioOss - - - Device - Gerät - - - - Channels - Kanäle - - - - AudioPortAudio::setupWidget - - - Backend + + <b>About JUCE</b> - - Device - Gerät - - - - AudioPulseAudio - - - Device - Gerät - - - - Channels - Kanäle - - - - AudioSdl::setupWidget - - - Device - Gerät - - - - AudioSndio - - - Device - Gerät - - - - Channels - Kanäle - - - - AudioSoundIo::setupWidget - - - Backend + + This program uses JUCE version 3.x.x. - - Device - Gerät + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + + + + + This program uses JUCE version + - AutomatableModel + AudioDeviceSetupWidget - - &Reset (%1%2) - &Zurücksetzen (%1%2) - - - - &Copy value (%1%2) - Wert &kopieren (%1%2) - - - - &Paste value (%1%2) - Wert &einfügen (%1%2) - - - - &Paste value + + [System Default] - - - Edit song-global automation - Song-globale Automation editieren - - - - Remove song-global automation - Song-globale Automation entfernen - - - - Remove all linked controls - Alle verknüpften Regler entfernen - - - - Connected to %1 - Verbunden mit %1 - - - - Connected to controller - Verbunden mit Controller - - - - Edit connection... - Verbindung bearbeiten... - - - - Remove connection - Verbindung entfernen - - - - Connect to controller... - Mit Controller verbinden... - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - Bitte öffnen Sie einen Automation-Pattern mit Hilfe des Kontextmenüs eines Steuerelements! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Aktuelles Pattern abspielen/pausieren (Leertaste) - - - - Stop playing of current clip (Space) - Abspielen des aktuellen Patterns stoppen (Leertaste) - - - - Edit actions - Aktionen bearbeiten - - - - Draw mode (Shift+D) - Zeichnenmodus (Umschalt+D) - - - - Erase mode (Shift+E) - Radiermodus (Umschalt+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Vertikal spiegeln - - - - Flip horizontally - Horizontal spiegeln - - - - Interpolation controls - Interpolations Regler - - - - Discrete progression - Diskretes Fortschreiten - - - - Linear progression - Lineares Fortschreiten - - - - Cubic Hermite progression - Kubisches, hermetisches Fortschreiten - - - - Tension value for spline - Spannungswert für Spline - - - - Tension: - Spannung: - - - - Zoom controls - Zoom Regler - - - - Horizontal zooming - Horizontales Zoomen - - - - Vertical zooming - Vertikales Zoomen - - - - Quantization controls - Quantisierungs Regler - - - - Quantization - Quantisierung - - - - - Automation Editor - no clip - Automation-Editor - Kein Pattern - - - - - Automation Editor - %1 - Automation-Editor - %1 - - - - Model is already connected to this clip. - Model ist bereits mit diesem Pattern verbunden. - - - - AutomationClip - - - Drag a control while pressing <%1> - Ein Steuerelement mit <Strg> hier her ziehen - - - - AutomationClipView - - - Open in Automation editor - Im Automation-Editor öffnen - - - - Clear - Zurücksetzen - - - - Reset name - Name zurücksetzen - - - - Change name - Name ändern - - - - Set/clear record - Aufnahme setzen/löschen - - - - Flip Vertically (Visible) - Vertikal spiegeln (Sichtbar) - - - - Flip Horizontally (Visible) - Horizontal spiegeln (Sichtbar) - - - - %1 Connections - %1 Verbindungen - - - - Disconnect "%1" - »%1« trennen - - - - Model is already connected to this clip. - Model ist bereits mit diesem Pattern verbunden. - - - - AutomationTrack - - - Automation track - Automation-Spur - - - - PatternEditor - - - Beat+Bassline Editor - Beat+Bassline Editor - - - - Play/pause current beat/bassline (Space) - Aktuellen Beat/Bassline abspielen/pausieren (Leertaste) - - - - Stop playback of current beat/bassline (Space) - Abspielen des aktuellen Beats/Bassline stoppen (Leertaste) - - - - Beat selector - Beat Wähler - - - - Track and step actions - - - - - Add beat/bassline - Beat/Bassline hinzufügen - - - - Clone beat/bassline clip - - - - - Add sample-track - Sample Spur hinzufügen - - - - Add automation-track - Automation-Spur hinzufügen - - - - Remove steps - Schritte entfernen - - - - Add steps - Schritte hinzufügen - - - - Clone Steps - Schritte Klonen - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Im Beat+Bassline-Editor öffnen - - - - Reset name - Name zurücksetzen - - - - Change name - Name ändern - - - - PatternTrack - - - Beat/Bassline %1 - Beat/Bassline %1 - - - - Clone of %1 - Klon von %1 - - - - BassBoosterControlDialog - - - FREQ - FREQ - - - - Frequency: - Frequenz: - - - - GAIN - GAIN - - - - Gain: - Verstärkung: - - - - RATIO - RATIO - - - - Ratio: - Verhältnis: - - - - BassBoosterControls - - - Frequency - Frequenz - - - - Gain - Verstärkung - - - - Ratio - Verhältnis - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - OUT - - - - - GAIN - GAIN - - - - Input gain: - Eingangsverstärkung: - - - - NOISE - NOISE - - - - Input noise: - - - - - Output gain: - Ausgabeverstärkung: - - - - CLIP - CLIP - - - - Output clip: - - - - - Rate enabled - Rate aktiviert - - - - Enable sample-rate crushing - - - - - Depth enabled - Tiefe aktiviert - - - - Enable bit-depth crushing - - - - - FREQ - FREQ - - - - Sample rate: - Sample Rate: - - - - STEREO - STEREO - - - - Stereo difference: - Stereo Unterschied: - - - - QUANT - - - - - Levels: - Stärke: - - - - BitcrushControls - - - Input gain - Eingangsverstärkung - - - - Input noise - - - - - Output gain - Ausgabeverstärkung - - - - Output clip - - - - - Sample rate - - - - - Stereo difference - - - - - Levels - Stärke - - - - Rate enabled - Rate aktiviert - - - - Depth enabled - Tiefe aktiviert - CarlaAboutW @@ -899,124 +132,124 @@ If you're interested in translating LMMS in another language or want to imp - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License Lizenz - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,50 +534,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1377,562 +610,599 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File &Datei - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help &Hilfe - - toolBar + + Tool Bar - + Disk - - + + Home Home - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Zeit: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Einstellungen - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &Neu - + Ctrl+N - + &Open... Ö&ffnen... - - + + Open... - + Ctrl+O - + &Save &Speichern - + Ctrl+S - + Save &As... Speichern &als... - - + + Save As... - + Ctrl+Shift+S - + &Quit &Beenden - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) 0% Volumen (Mute) - + 100% Volume 100% Volumen - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error Fehler - + Failed to load project - + Failed to save project - + Quit - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 Konnte nicht zum Audio backend verbinden '%1', mögliche Gründe: %2 - + Could not connect to Audio backend '%1' Konnte nicht zum Audio backend verbinden '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - GUI anzeigen - - CarlaSettingsW @@ -1987,19 +1257,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2020,1487 +1290,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths Pfade - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: Größe: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Audio - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Verhältnis: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Anschwellzeit (attack): - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Ausklingzeit (release): - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Haltezeit (hold): - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Ausgabeverstärkung - - - - - Gain - Verstärkung - - - - Output volume - - - - - Input gain - Eingangsverstärkung - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Verhältnis - - - - Attack - Anschwellzeit (attack) - - - - Release - Ausklingzeit (release) - - - - Knee - - - - - Hold - Haltezeit (hold) - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Ausgangsverstärkung - - - - Input Gain - Eingangsverstärkung - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Rückkopplung - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Mischung - - - - Controller - - - Controller %1 - Controller %1 - - - - ControllerConnectionDialog - - - Connection Settings - Verbindungseinstellungen - - - - MIDI CONTROLLER - MIDI CONTROLLER - - - - Input channel - Eingangskanal - - - - CHANNEL - KANAL - - - - Input controller - Eingangscontroller - - - - CONTROLLER - CONTROLLER - - - - - Auto Detect - Automatische Erkennung - - - - MIDI-devices to receive MIDI-events from - MIDI-Geräte, von denen MIDI-Events empfangen werden sollen - - - - USER CONTROLLER - BENUTZERDEFINIETER CONTROLLER - - - - MAPPING FUNCTION - ABBILDUNGS-FUNKTION - - - - OK - OK - - - - Cancel - Abbrechen - - - - LMMS - LMMS - - - - Cycle Detected. - Schleife erkannt. - - - - ControllerRackView - - - Controller Rack - Controller-Einheit - - - - Add - Hinzufügen - - - - Confirm Delete - Löschen bestätigen - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Löschen bestätigen? Es existiert/en Verbindung(en) mit dem assoziatierten Kontroller. Es gibt keine Möglichkeit es rückgängig zu machen. - - - - ControllerView - - - Controls - Regler - - - - Rename controller - Controller umbenennen - - - - Enter the new name for this controller - Geben Sie einen neuen Namen für diesen Controller ein - - - - LFO - LFO - - - - &Remove this controller - &Diesen Controller entfernen - - - - Re&name this controller - Diesen Controller umbenennen - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Band 1/2 Crossover: - - - - Band 2/3 crossover: - Band 2/3 Crossover: - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - Rückkopplung - - - - LFO frequency - LFO Frequenz - - - - LFO amount - - - - - Output gain - Ausgabeverstärkung - - - - DelayControlsDialog - - - DELAY - VERZÖGERUNG - - - - Delay time - - - - - FDBK - FDBK - - - - Feedback amount - - - - - RATE - RATE - - - - LFO frequency - LFO Frequenz - - - - AMNT - AMNT - - - - LFO amount - - - - - Out gain - - - - - Gain - Verstärkung - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Keiner - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3526,27 +1898,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3601,948 +1952,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - FREQ - - - - - Cutoff frequency - Kennfrequenz - - - - - RESO - RESO - - - - - Resonance - Resonanz - - - - - GAIN - GAIN - - - - - Gain - Verstärkung - - - - MIX - MIX - - - - Mix - Mischung - - - - Filter 1 enabled - Filter 1 aktiviert - - - - Filter 2 enabled - Filter 2 aktiviert - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Filter 1 aktiviert - - - - Filter 1 type - Filtertyp 1 - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Q/Resonanz 1 - - - - Gain 1 - Verstärkung 1 - - - - Mix - Mischung - - - - Filter 2 enabled - Filter 2 aktiviert - - - - Filter 2 type - Filtertyp 2 - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Q/Resonanz 2 - - - - Gain 2 - Verstärkung 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - Notch - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - - - - - - Fast Formant - - - - - - Tripole - Tripol - - - - Editor - - - Transport controls - - - - - Play (Space) - Abspielen (Leertaste) - - - - Stop (Space) - Stoppen (Leertaste) - - - - Record - Aufnahme - - - - Record while playing - Aufnahme während Abspielen - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Effekt aktiviert - - - - Wet/Dry mix - Wet/Dry-Mix - - - - Gate - Gate - - - - Decay - Abfallzeit - - - - EffectChain - - - Effects enabled - Effekte aktiviert - - - - EffectRackView - - - EFFECTS CHAIN - EFFEKT-KETTE - - - - Add effect - Effekt hinzufügen - - - - EffectSelectDialog - - - Add effect - Effekt hinzufügen - - - - - Name - Name - - - - Type - Typ - - - - Description - Beschreibung - - - - Author - Verfasser - - - - EffectView - - - On/Off - An/aus - - - - W/D - W/D - - - - Wet Level: - Wet-Level: - - - - DECAY - DECAY - - - - Time: - Zeit: - - - - GATE - GATE - - - - Gate: - Gate: - - - - Controls - Regler - - - - Move &up - Nach &oben verschieben - - - - Move &down - Nach &unten verschieben - - - - &Remove this plugin - Plugin entfe&rnen - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - LFO Frequenz - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - - - - - - ATT - ATT - - - - - Attack: - Anschwellzeit (attack): - - - - HOLD - HOLD - - - - Hold: - Haltezeit (hold): - - - - DEC - DEC - - - - Decay: - Abfallzeit (decay): - - - - SUST - SUST - - - - Sustain: - Dauerpegel (sustain): - - - - REL - REL - - - - Release: - Ausklingzeit (release): - - - - - AMT - AMT - - - - - Modulation amount: - Modulationsintensität: - - - - SPD - SPD - - - - Frequency: - Frequenz: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO: - - - - Hint - Tipp - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Eingangsverstärkung - - - - Output gain - Ausgabeverstärkung - - - - Low-shelf gain - - - - - Peak 1 gain - Peak 1 gain - - - - Peak 2 gain - Peak 2 gain - - - - Peak 3 gain - Peak 3 gain - - - - Peak 4 gain - Peak 4 gain - - - - High-shelf gain - - - - - HP res - HP res - - - - Low-shelf res - - - - - Peak 1 BW - Peak 1 BW - - - - Peak 2 BW - Peak 2 BW - - - - Peak 3 BW - Peak 3 BW - - - - Peak 4 BW - Peak 4 BW - - - - High-shelf res - - - - - LP res - LP res - - - - HP freq - HP Freq - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - TP Freq - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - Peak 1 Aktiv - - - - Peak 2 active - Peak 2 Aktive - - - - Peak 3 active - Peak 3 Aktive - - - - Peak 4 active - Peak 4 Aktive - - - - High-shelf active - - - - - LP active - LP aktiv - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - Analyse IN - - - - Analyse OUT - Analyse OUT - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - - - - - Peak 1 - Peak 1 - - - - Peak 2 - Peak 2 - - - - Peak 3 - Peak 3 - - - - Peak 4 - Peak 4 - - - - High-shelf - - - - - LP - LP - - - - Input gain - Eingangsverstärkung - - - - - - Gain - Verstärkung - - - - Output gain - Ausgabeverstärkung - - - - Bandwidth: - Bandbreite: - - - - Octave - Octave - - - - Resonance : - Resonanz: - - - - Frequency: - Frequenz: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Reso: - - - - BW: - - - - - - Freq: - Freq: - - ExportProjectDialog @@ -4726,2125 +2135,652 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - - - - - 1x (None) - 1x (keine) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Start - + Cancel Abbrechen - - - Could not open file - Konnte Datei nicht öffnen - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Konnte Datei %1 nicht zum Schreiben öffnen. Bitte stellen Sie sicher, dass Sie Schreibberechtigungen für die Datei und das Verzeichnis, welches die Datei beinhaltet haben, und versuchen Sie es erneut. - - - - Export project to %1 - Projekt nach %1 exportieren - - - - ( Fastest - biggest ) - ( Schnellstes - Größtes ) - - - - ( Slowest - smallest ) - (Langsamstes - Kleinstes) - - - - Error - Fehler - - - - Error while determining file-encoder device. Please try to choose a different output format. - Fehler beim Bestimmen des Datei-Enkoder-Geräts. Bitte wählen Sie ein anderes Ausgabeformat. - - - - Rendering: %1% - Rendere: %1% - - - - Fader - - - Set value - Wert setzen - - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Browser - - - - Search - - - - - Refresh list - - - - - FileBrowserTreeWidget - - - Send to active instrument-track - An aktive Instrumentspur senden - - - - Open containing folder - - - - - Song Editor - Zeige/verstecke Song-Editor - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Lade Sample - - - - Please wait, loading sample for preview... - Bitte warten, lade Sample für Vorschau… - - - - Error - Fehler - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Mitgelieferte Dateien --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - LFO Frequenz - - - - Seconds - Sekunde - - - - Stereo phase - - - - - Regen - - - - - Noise - Rauschen - - - - Invert - Invertieren - - - - FlangerControlsDialog - - - DELAY - VERZÖGERUNG - - - - Delay time: - - - - - RATE - RATE - - - - Period: - Periode: - - - - AMNT - AMNT - - - - Amount: - Menge: - - - - PHASE - - - - - Phase: - - - - - FDBK - FDBK - - - - Feedback amount: - - - - - NOISE - NOISE - - - - White noise amount: - - - - - Invert - Invertieren - - - - FreeBoyInstrument - - - Sweep time - Streichzeit - - - - Sweep direction - Streichrichtung - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Kanal 1 Lautstärke - - - - - - Volume sweep direction - Lautstärken-Streichrichtung - - - - - - Length of each step in sweep - Länge jedes Schritts beim Streichen - - - - Channel 2 volume - Kanal 2 Lautstärke - - - - Channel 3 volume - Kanal 3 Lautstärke - - - - Channel 4 volume - Kanal 4 Lautstärke - - - - Shift Register width - Schieberegister-Breite - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - Kanal 1 zu SO2 (Links) - - - - Channel 2 to SO2 (Left) - Kanal 2 zu SO2 (Links) - - - - Channel 3 to SO2 (Left) - Kanal 3 zu SO2 (Links) - - - - Channel 4 to SO2 (Left) - Kanal 4 zu SO2 (Links) - - - - Channel 1 to SO1 (Right) - Kanal 1 zu SO1 (Rechts) - - - - Channel 2 to SO1 (Right) - Kanal 2 zu SO1 (Rechts) - - - - Channel 3 to SO1 (Right) - Kanal 3 zu SO1 (Rechts) - - - - Channel 4 to SO1 (Right) - Kanal 4 zu SO1 (Rechts) - - - - Treble - Höhe - - - - Bass - Bass - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - Streichzeit - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - Länge jedes Schritts beim Streichen: - - - - - - Length of each step in sweep - Länge jedes Schritts beim Streichen - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Höhe: - - - - Treble - Höhe - - - - Bass: - Bass: - - - - Bass - Bass - - - - Sweep direction - Streichrichtung - - - - - - - - Volume sweep direction - Lautstärken-Streichrichtung - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Kanal 1 zu SO1 (Rechts) - - - - Channel 2 to SO1 (Right) - Kanal 2 zu SO1 (Rechts) - - - - Channel 3 to SO1 (Right) - Kanal 3 zu SO1 (Rechts) - - - - Channel 4 to SO1 (Right) - Kanal 4 zu SO1 (Rechts) - - - - Channel 1 to SO2 (Left) - Kanal 1 zu SO2 (Links) - - - - Channel 2 to SO2 (Left) - Kanal 2 zu SO2 (Links) - - - - Channel 3 to SO2 (Left) - Kanal 3 zu SO2 (Links) - - - - Channel 4 to SO2 (Left) - Kanal 4 zu SO2 (Links) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Kanal Sendemenge - - - - Move &left - Nach &links verschieben - - - - Move &right - Nach &rechts verschieben - - - - Rename &channel - &Kanal umbenennen - - - - R&emove channel - Kanal &Entfernen - - - - Remove &unused channels - Entferne &unbenutzte Kanäle - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Weise hinzu: - - - - New mixer Channel - Neuer FX-Kanal - - - - Mixer - - - Master - Master - - - - - - Channel %1 - FX %1 - - - - Volume - Lautstärke - - - - Mute - Stumm - - - - Solo - Solo - - - - MixerView - - - Mixer - Mixer - - - - Fader %1 - FX Schieber %1 - - - - Mute - Stumm - - - - Mute this mixer channel - Diesen FX-Kanal stummschalten - - - - Solo - Solo - - - - Solo mixer channel - Solo FX-Kanal - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Anteil, der von Kanal %1 zu Kanal %2 gesendet werden soll - - - - GigInstrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Verstärkung - - - - GigInstrumentView - - - - Open GIG file - GIG Datei öffnen - - - - Choose patch - Patch wählen - - - - Gain: - Gain: - - - - GIG Files (*.gig) - GIG Dateien (*.gig) - - - - GuiApplication - - - Working directory - Arbeitsverzeichnis - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Das LMMS-Arbeitsverzeichnis %1 existiert nicht. Soll es jetzt angelegt werden? Sie können das Verzeichnis später unter Bearbeiten -> Einstellungen ändern - - - - Preparing UI - Benutzeroberfläche vorbereiten - - - - Preparing song editor - Song Editor vorbereiten - - - - Preparing mixer - Mixer vorbereiten - - - - Preparing controller rack - Controller-Einheit vorbereiten - - - - Preparing project notes - Projektnotizen vorbereiten - - - - Preparing beat/bassline editor - Beat/Bassline Editor vorbreiten - - - - Preparing piano roll - - - - - Preparing automation editor - - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Arpeggiotyp - - - - Arpeggio range - Arpeggio-Bereich - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - Arpeggio-Zeit - - - - Arpeggio gate - Arpeggio-Gate - - - - Arpeggio direction - Arpeggio-Richtung - - - - Arpeggio mode - Arpeggio-Modus - - - - Up - Hoch - - - - Down - Runter - - - - Up and down - Hoch und runter - - - - Down and up - Hoch und runter - - - - Random - Zufällig - - - - Free - Frei - - - - Sort - Sortiert - - - - Sync - Synchron - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - RANGE - - - - Arpeggio range: - Arpeggio-Bereich: - - - - octave(s) - Oktave(n) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - CYCLE - - - - Cycle notes: - - - - - note(s) - Notizen - - - - SKIP - SKIP - - - - Skip rate: - - - - - - - % - % - - - - MISS - MISS - - - - Miss rate: - - - - - TIME - ZEIT - - - - Arpeggio time: - Arpeggio-Zeit: - - - - ms - ms - - - - GATE - GATE - - - - Arpeggio gate: - Arpeggio-Gate: - - - - Chord: - Akkord: - - - - Direction: - Richtung: - - - - Mode: - Modus: - InstrumentFunctionNoteStacking - + octave Oktave - - + + Major Dur - + Majb5 Durb5 - + minor moll - + minb5 mollb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Harmonisches Moll - + Melodic minor Melodisches Moll - + Whole tone Ganze Töne - + Diminished Vermindert - + Major pentatonic Pentatonisches Dur - + Minor pentatonic Pentatonisches Moll - + Jap in sen Jap in sen - + Major bebop Dur Bebop - + Dominant bebop Dominanter Bebop - + Blues Blues - + Arabic Arabisch - + Enigmatic Enigmatisch - + Neopolitan Neopolitanisch - + Neopolitan minor Neopolitanisches Moll - + Hungarian minor Zigeunermoll - + Dorian Dorisch - + Phrygian Phrygisch - + Lydian Lydisch - + Mixolydian Mixolydisch - + Aeolian Äolisch - + Locrian Locrisch - + Minor Moll - + Chromatic Chromatisch - + Half-Whole Diminished Halbton-Ganzton-Leiter - + 5 5 - + Phrygian dominant - + Persian Persisch - - - Chords - Akkorde - - - - Chord type - Akkordtyp - - - - Chord range - Akkord-Bereich - - - - InstrumentFunctionNoteStackingView - - - STACKING - STACKING - - - - Chord: - Akkord: - - - - RANGE - RANGE - - - - Chord range: - Akkord-Bereich: - - - - octave(s) - Oktave(n) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - MIDI-EINGANG AKTIVIEREN - - - - ENABLE MIDI OUTPUT - MIDI-AUSGANG AKTIVIEREN - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTE - - - - MIDI devices to receive MIDI events from - MIDI Geräte, von denen MIDI-Events empfangen werden sollen - - - - MIDI devices to send MIDI events to - MIDI-Geräte, an die MIDI-Events gesendet werden sollen - - - - CUSTOM BASE VELOCITY - BENUTZERDEFINIERTE GRUNDLAUTSTÄRKE - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - GRUNDLAUTSTÄRKE - - - - InstrumentTuningView - - - MASTER PITCH - - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME LAUTSTÄRKE - + Volume Lautstärke - + CUTOFF KENNFREQ - - + Cutoff frequency Kennfrequenz - + RESO RESO - + Resonance Resonanz - - - Envelopes/LFOs - Hüllkurven/LFOs - - - - Filter type - Filtertyp - - - - Q/Resonance - Q/Resonanz - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - Notch - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - - - - - Fast Formant - - - - - Tripole - Tripol - - InstrumentSoundShapingView + JackAppDialog - - TARGET - ZIEL - - - - FILTER - FILTER - - - - FREQ - FREQ - - - - Cutoff frequency: - Kennfrequenz: - - - - Hz - Hz - - - - Q/RESO + + Add JACK Application - - Q/Resonance: + + Note: Features not implemented yet are greyed out - - Envelopes, LFOs and filters are not supported by the current instrument. - Hüllkurven, LFOs und Filter sind vom aktuellen Instrument nicht unterstützt. - - - - InstrumentTrack - - - - unnamed_track - Unbenannter_Kanal - - - - Base note - Grundton - - - - First note + + Application - - Last note - Letzte Note - - - - Volume - Lautstärke - - - - Panning - Balance - - - - Pitch - Tonhöhe - - - - Pitch range - Tonhöhenbereich - - - - Mixer channel - FX-Kanal - - - - Master pitch - Master-Tonhöhe - - - - Enable/Disable MIDI CC + + Name: - - CC Controller %1 + + Application: - - - Default preset - Standard-Preset - - - - InstrumentTrackView - - - Volume - Lautstärke - - - - Volume: - Lautstärke: - - - - VOL - VOL - - - - Panning - Balance - - - - Panning: - Balance: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Eingang - - - - Output - Ausgang - - - - Open/Close MIDI CC Rack + + From template - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - GRUNDLEGENDE EINSTELLUNGEN - - - - Volume - Lautstärke - - - - Volume: - Lautstärke: - - - - VOL - VOL - - - - Panning - Balance - - - - Panning: - Balance: - - - - PAN - PAN - - - - Pitch - Tonhöhe - - - - Pitch: - Tonhöhe: - - - - cents - Cent - - - - PITCH - PITCH - - - - Pitch range (semitones) - Tonhöhenbereich (Halbtöne) - - - - RANGE - RANGE - - - - Mixer channel - FX-Kanal - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file - Aktuelle Instrumentenspur-Einstelungen in einer Presetdatei speichern - - - - SAVE - SPEICHERN - - - - Envelope, filter & LFO + + Custom - - Chord stacking & arpeggio + + Template: - - Effects - Effekte + + Command: + - - MIDI - MIDI + + Setup + - - Miscellaneous - Verschiedenes + + Session Manager: + - - Save preset - Preset speichern + + None + - - XML preset file (*.xpf) - XML Preset Datei (*.xpf) + + Audio inputs: + - - Plugin - Plugin + + MIDI inputs: + - - - JackApplicationW - + + Audio outputs: + + + + + MIDI outputs: + + + + + Take control of main application window + + + + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6852,947 +2788,11 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Linear einstellen - - - - Set logarithmic - Logarithmisch einstellen - - - - - Set value - Wert setzen - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Bitte geben Sie einen neuen Wert zwischen -96.0 dBFS und 6.0 dBFS: ein: - - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - LadspaControl - - - Link channels - Kanäle verbinden - - - - LadspaControlDialog - - - Link Channels - Kanäle verbinden - - - - Channel - Kanal - - - - LadspaControlView - - - Link channels - Kanäle verbinden - - - - Value: - Wert: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Unbekanntes LADSPA-Plugin %1 angefordert. - - - - LcdFloatSpinBox - - - Set value - Wert setzen - - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - LcdSpinBox - - - Set value - Wert setzen - - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - LeftRightNav - - - - - Previous - Vorheriges - - - - - - Next - Nächstes - - - - Previous (%1) - Vorheriges (%1) - - - - Next (%1) - Nächstes (%1) - - - - LfoController - - - LFO Controller - LFO-Controller - - - - Base value - Grundwert - - - - Oscillator speed - Oszillator-Geschwindigkeit - - - - Oscillator amount - Oszillator-Stärke - - - - Oscillator phase - Oszillator-Phase - - - - Oscillator waveform - Oszillator-Wellenform - - - - Frequency Multiplier - Frequenzmultiplikator - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - Basis - - - - FREQ - FREQ - - - - LFO frequency: - LFO Frequenz: - - - - AMNT - AMNT - - - - Modulation amount: - Modulationsintensität: - - - - PHS - PHS - - - - Phase offset: - Phasenverschiebung: - - - - degrees - Grad - - - - Sine wave - Sinuswelle - - - - Triangle wave - Dreieckwelle - - - - Saw wave - Sägezahnwelle - - - - Square wave - Rechteckwelle - - - - Moog saw wave - Moog-Sägezahnwelle - - - - Exponential wave - Exponentielle Welle - - - - White noise - Weißes Rauschen - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - Multipliziere Modulationsfrequenz mit 1 - - - - Mutliply modulation frequency by 100 - Multipliziere Modulationsfrequenz mit 100 - - - - Divide modulation frequency by 100 - Dividiere Modulationsfrequenz mit 100 - - - - Engine - - - Generating wavetables - Wellenformtabllen erzeugen - - - - Initializing data structures - Datenstrukturen initialisieren - - - - Opening audio and midi devices - Audio und MIDI-Geräte öffnen - - - - Launching mixer threads - - - - - MainWindow - - - Configuration file - Konfigurationsdatei - - - - Error while parsing configuration file at line %1:%2: %3 - Fehler beim Parsen der Konfigurationsdatei in Zeile %1:%2: %3 - - - - Could not open file - Konnte Datei nicht öffnen - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Konnte Datei %1 nicht zum Schreiben öffnen. Bitte stellen Sie sicher, dass Sie Schreibberechtigungen für die Datei und das Verzeichnis, welches die Datei beinhaltet haben, und versuchen Sie es erneut. - - - - Project recovery - Project wiederherstellen - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Es liegt eine Wiederherstellungsdatei vor. Es scheint, dass die letzte Sitzung nicht ordnungsgemäß beendet wurde oder eine andere Instanz von LMMS läuft bereits. Wollen Sie das Projekt von dieser Sitzung wiederherstellen? - - - - - Recover - Wiederherstellen - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Wiederherstellen der Datei. Bitte führen Sie nicht mehrere Instanzen von LMMS aus, wenn Sie das tun. - - - - - Discard - Verwerfen - - - - Launch a default session and delete the restored files. This is not reversible. - Starten einer Standardsitzung und löschen der wiederhergestellten Dateien. Diese Aktion kann nicht rückgängig gemacht werden. - - - - Version %1 - Version %1 - - - - Preparing plugin browser - Plugin Browser vorbereiten - - - - Preparing file browsers - Dateimanger vorbereiten - - - - My Projects - Meine Projekte - - - - My Samples - Meine Samples - - - - My Presets - Meine Presets - - - - My Home - Mein Home - - - - Root directory - Grundverzeichniss - - - - Volumes - Volumes - - - - My Computer - Mein Computer - - - - &File - &Datei - - - - &New - &Neu - - - - &Open... - Ö&ffnen... - - - - Loading background picture - Lade Hintegrundbild - - - - &Save - &Speichern - - - - Save &As... - Speichern &als... - - - - Save as New &Version - Speichern als neue &Version - - - - Save as default template - Speichere als Standard Vorlage - - - - Import... - Importieren... - - - - E&xport... - E&xportieren... - - - - E&xport Tracks... - E&xport Tracks... - - - - Export &MIDI... - Exportiere &MIDI - - - - &Quit - &Beenden - - - - &Edit - &Bearbeiten - - - - Undo - Rückgängig - - - - Redo - Wiederholen - - - - Settings - Einstellungen - - - - &View - &Ansicht - - - - &Tools - &Werkzeuge - - - - &Help - &Hilfe - - - - Online Help - Online Hilfe - - - - Help - Hilfe - - - - About - Über - - - - Create new project - Neues Projekt erstellen - - - - Create new project from template - Neues Projekt aus Vorlage erstellen - - - - Open existing project - Existierendes Projekt öffnen - - - - Recently opened projects - Zuletzt geöffnete Projekte - - - - Save current project - Aktuelles Projekt speichern - - - - Export current project - Aktuelles Projekt exportieren - - - - Metronome - Metronom - - - - - Song Editor - Zeige/verstecke Song-Editor - - - - - Beat+Bassline Editor - Zeige/verstecke Beat+Bassline Editor - - - - - Piano Roll - Zeige/verstecke Piano-Roll - - - - - Automation Editor - Zeige/Verstecke Automation-Editor - - - - - Mixer - Zeige/verstecke Mixer - - - - Show/hide controller rack - Zeige/Verstecke Kontroller Rack - - - - Show/hide project notes - Zeige/Verstecke Projekt Notizen - - - - Untitled - Unbenannt - - - - Recover session. Please save your work! - Session Wiederherstellung. Bitte speichere Deine Arbeit! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Wiederhergestelltes Projekt nicht gespeichert - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - - - - - Project not saved - Projekt nicht gespeichert - - - - The current project was modified since last saving. Do you want to save it now? - Das aktuelle Projekt wurde seit dem letzten Speichern geändert. Wollen Sie es jetzt speichern? - - - - Open Project - Projekt öffnen - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Projekt speichern - - - - LMMS Project - LMMS Projekt - - - - LMMS Project Template - LMMS Projektvorlage - - - - Save project template - Projektvorlage speichern - - - - Overwrite default template? - Standard Vorlage überschreiben? - - - - This will overwrite your current default template. - Das wird Ihre aktuelle Standardvorlage überschreiben. - - - - Help not available - Hilfe nicht verfügbar - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Derzeit ist in LMMS keine Hilfe verfügbar. -Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS. - - - - Controller Rack - Zeige/verstecke Controller-Rack - - - - Project Notes - Zeige/verstecke Projekt-Notizen - - - - Fullscreen - - - - - Volume as dBFS - - - - - Smooth scroll - Sanftes Scrollen - - - - Enable note labels in piano roll - Notenbeschriftung in Piano-Roll aktivieren - - - - MIDI File (*.mid) - MIDI Datei (*.mid) - - - - - untitled - Unbenannt - - - - - Select file for project-export... - Datei für Projekt-Export wählen... - - - - Select directory for writing exported tracks... - - - - - Save project - Projekt speichern - - - - Project saved - Projekt gespeichert - - - - The project %1 is now saved. - Das Projekt %1 ist nun gespeichert. - - - - Project NOT saved. - Projekt NICHT gespeichert. - - - - The project %1 was not saved! - Das Projekt %1 wurde nicht gespeichert! - - - - Import file - Importiere Datei - - - - MIDI sequences - MIDI Sequenzen - - - - Hydrogen projects - Hydrogen-Projekte - - - - All file types - Alle Dateitypen - - - - MeterDialog - - - - Meter Numerator - Takt/Zähler - - - - Meter numerator - Taktzähler - - - - - Meter Denominator - Takt/Nenner - - - - Meter denominator - Taktnenner - - - - TIME SIG - TAKTART - - - - MeterModel - - - Numerator - Zähler - - - - Denominator - Nenner - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI-Controller - - - - unnamed_midi_controller - unbenannter_midi_controller - - - - MidiImport - - - - Setup incomplete - Unvollständige Einrichtung - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - 97% match -Sie haben keine Standard-Soundfont im Einstellungsdialog (Bearbeiten->Einstellungen) festgelegt. Deshalb werden Sie nach dem Import der MIDI-Datei während der Wiedergabe nichts hören. Sie sollten eine General-MIDI-Soundfont herunterladen, diese in dem Einstellungdialog angeben und es erneut versuchen. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Sie haben LMMS ohne das SoundFont2-Player-Plugin gebaut. Dieses Plugin wird normalerweise benutzt, um Standardklänge bei importierten MIDI-Dateien einzurichten. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei nichts hören. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Zähler - - - - Denominator - Nenner - - - - Track - Spur - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK-Server nicht erreichbar - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Der JACK-Server scheint heruntergefahren zu sein. - - MidiPatternW @@ -7998,2730 +2998,369 @@ Sie haben keine Standard-Soundfont im Einstellungsdialog (Bearbeiten->Einstel &Beenden - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Eingangskanal - - - - Output channel - Ausgangskanal - - - - Input controller - Eingangscontroller - - - - Output controller - Ausgangscontroller - - - - Fixed input velocity - Feste Eingangslautstärke - - - - Fixed output velocity - Feste Ausgangslautstärke - - - - Fixed output note - Feste Ausgangnote - - - - Output MIDI program - Ausgangs-MIDI-Programm - - - - Base velocity - Grundlautstärke - - - - Receive MIDI-events - MIDI-Ereignisse empfangen - - - - Send MIDI-events - MIDI-Ereignisse senden - - - - MidiSetupWidget - - - Device - Gerät - - - - MonstroInstrument - - - Osc 1 volume - Oszilator 1 Lautstärke - - - - Osc 1 panning - Oszillator 1 Balance - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - Oszillator 3 Stereo Phasenverschiebung - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Ausgewählte Ansicht - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - Sinuswelle - - - - Bandlimited Triangle wave - Bandlimittierte Dreieckwelle - - - - Bandlimited Saw wave - Bandbegrenzte Sägezahnwelle - - - - Bandlimited Ramp wave - Bandbegrenzte Sägezahnwelle - - - - Bandlimited Square wave - Bandbegrenzte Rechteckwelle - - - - Bandlimited Moog saw wave - Bandbegrenzte Moog-Sägezahnwelle - - - - - Soft square wave - Weiche Rechteckwelle - - - - Absolute sine wave - Absolute Sinuswelle - - - - - Exponential wave - Exponentielle Welle - - - - White noise - Weißes Rauschen - - - - Digital Triangle wave - Digitale Dreieckwelle - - - - Digital Saw wave - Digitale Sägezahnwelle - - - - Digital Ramp wave - Digitale Sägezahnwelle - - - - Digital Square wave - Digitale Rechteckwelle - - - - Digital Moog saw wave - Digitale Moog-Sägezahnwelle - - - - Triangle wave - Dreieckwelle - - - - Saw wave - Sägezahnwelle - - - - Ramp wave - Sägezahnwelle - - - - Square wave - Rechteckwelle - - - - Moog saw wave - Moog-Sägezahnwelle - - - - Abs. sine wave - Abs. Sinuswelle - - - - Random - Zufällig - - - - Random smooth - Zufällig gleitend - - - - MonstroView - - - Operators view - Operator-Ansicht - - - - Matrix view - Matrix-Ansicht - - - - - - Volume - Lautstärke - - - - - - Panning - Balance - - - - - - Coarse detune - - - - - - - semitones - Halbtöne - - - - - Fine tune left - - - - - - - - cents - Cent - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - deg - - - - Pulse width - Pulsbreite - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - Anschwellzeit (attack) - - - - - Rate - Rate - - - - - Phase - Phase - - - - - Pre-delay - - - - - - Hold - Haltezeit (hold) - - - - - Decay - Abfallzeit - - - - - Sustain - Haltepegel (sustain) - - - - - Release - Ausklingzeit (release) - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Modulationsintensität - - - - MultitapEchoControlDialog - - - Length - Länge - - - - Step length: - - - - - Dry - Trocken - - - - Dry gain: - - - - - Stages - Stufen - - - - Low-pass stages: - - - - - Swap inputs - Eingänge vertauschen - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - Kanal 1 Lautstärke - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - Kanal 2 Grob-Verstimmung - - - - Channel 2 Volume - Kanal 2 Lautstärke - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Kanal 3 Lautstärke - - - - Channel 4 volume - Kanal 4 Lautstärke - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Master-Lautstärke - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Lautstärke - - - - - - Coarse detune - - - - - - - Envelope length - - - - - Enable channel 1 - Kanal 1 aktivieren - - - - Enable envelope 1 - - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - 12.5% Tastverhältnis - - - - - 25% Duty cycle - 25% Tastverhältnis - - - - - 50% Duty cycle - 50% Tastverhältnis - - - - - 75% Duty cycle - 75% Tastverhältnis - - - - Enable channel 2 - Kanal 2 aktivieren - - - - Enable envelope 2 - - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - Kanal 3 aktivieren - - - - Noise Frequency - Rauschfrequenz - - - - Frequency sweep - - - - - Enable channel 4 - Kanal 4 aktivieren - - - - Enable envelope 4 - - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - Rausch Modus - - - - Master volume - Master-Lautstärke - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Patch - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - Anschwellzeit (attack) - - - - - Decay - Abfallzeit - - - - - Release - Ausklingzeit (release) - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - Oszillator %1 Wellenform - - - - Osc %1 harmonic - Oszillator %1 Harmonie - - - - - Osc %1 volume - Oszillator %1 Lautstärke - - - - - Osc %1 panning - Oszillator %1 Balance - - - - - Osc %1 fine detuning left - Oszillator %1 Fein-Verstimmung links - - - - Osc %1 coarse detuning - Oszillator %1 Grob-Verstimmung - - - - Osc %1 fine detuning right - Oszillator %1 Fein-Verstimmung rechts - - - - Osc %1 phase-offset - Oszillator %1 Phasenverschiebung - - - - Osc %1 stereo phase-detuning - Oszillator %1 Stereo Phasenverschiebung - - - - Osc %1 wave shape - Oszillator %1 Wellenform - - - - Modulation type %1 - Modulationsart %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - Klicken um zu aktivieren - - PatchesDialog + Qsynth: Channel Preset + Bank selector + Bank Bank + Program selector Programmwähler + Patch Patch + Name Name + OK OK + Cancel Abbrechen - - PatmanView - - - Open patch - - - - - Loop - Wiederholen - - - - Loop mode - Modus beim Wiederholen - - - - Tune - Stimmung - - - - Tune mode - Stimmungsmodus - - - - No file selected - Keine Datei ausgewählt - - - - Open patch file - Patch-Datei öffnen - - - - Patch-Files (*.pat) - Patch-Dateien (*.pat) - - - - MidiClipView - - - Open in piano-roll - Im Piano-Roll öffnen - - - - Set as ghost in piano-roll - - - - - Clear all notes - Alle Noten löschen - - - - Reset name - Name zurücksetzen - - - - Change name - Name ändern - - - - Add steps - Schritte hinzufügen - - - - Remove steps - Schritte entfernen - - - - Clone Steps - Schritte Klonen - - - - PeakController - - - Peak Controller - Peak Controller - - - - Peak Controller Bug - Peak Controller Fehler - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Aufgrud eines Fehlers in einer älteren Version von LMMS, sind die Peak Controller möglicherweise nicht richtig verbunden. Bitte stellen Sie sicher, dass die Peak Controller richtig verbunden sind und speichern Sie die Datei erneut. Entschuldigung für jegliche verursachte Unannehmlichkeiten. - - - - PeakControllerDialog - - - PEAK - PEAK - - - - LFO Controller - LFO-Controller - - - - PeakControllerEffectControlDialog - - - BASE - BASE - - - - Base: - Basis - - - - AMNT - AMNT - - - - Modulation amount: - Modulationsintensität: - - - - MULT - MULT - - - - Amount multiplicator: - - - - - ATCK - ATCK - - - - Attack: - Anschwellzeit (attack): - - - - DCAY - DCAY - - - - Release: - Ausklingzeit (release): - - - - TRSH - - - - - Treshold: - Schwellwert: - - - - Mute output - Ausgang stummschalten - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Grundwert - - - - Modulation amount - Modulationsintensität - - - - Attack - Anschwellzeit (attack) - - - - Release - Ausklingzeit (release) - - - - Treshold - Schwellwert - - - - Mute output - Ausgang stummschalten - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - Noten-Lautstärke - - - - Note Panning - Noten-Balance - - - - Mark/unmark current semitone - Aktuellen Halbton markieren/demarkieren - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - Aktuelle Tonleiter markieren - - - - Mark current chord - Aktuellen Akkord markieren - - - - Unmark all - Alles Markierungen entfernen - - - - Select all notes on this key - - - - - Note lock - Notenraster - - - - Last note - Letzte Note - - - - No key - - - - - No scale - Keine Tonleiter - - - - No chord - Kein Akkord - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Lautstärke: %1% - - - - Panning: %1% left - Balance: %1% links - - - - Panning: %1% right - Balance: %1% rechts - - - - Panning: center - Balance: mittig - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Bitte öffnen Sie einen Pattern, indem Sie ihn doppelklicken! - - - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Aktuelles Pattern abspielen/pausieren (Leertaste) - - - - Record notes from MIDI-device/channel-piano - Zeichnet Noten von einem MIDI-Gerät/Kanal Piano auf - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Abspielen des aktuellen Patterns stoppen (Leertaste) - - - - Edit actions - Aktionen bearbeiten - - - - Draw mode (Shift+D) - Zeichnenmodus (Umschalt+D) - - - - Erase mode (Shift+E) - Radiermodus (Umschalt+E) - - - - Select mode (Shift+S) - Auswahl-Modus (Umschalt+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - Quantisiere - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Zeitstrahlregler - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - Horizontales Zoomen - - - - Vertical zooming - Vertikales Zoomen - - - - Quantization - Quantisierung - - - - Note length - Notenlänge - - - - Key - - - - - Scale - - - - - Chord - Akkord - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - - - - - - Piano-Roll - no clip - - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Grundton - - - - First note - - - - - Last note - Letzte Note - - - - Plugin - - - Plugin not found - Plugin nicht gefunden - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Das Plugin »%1« konnte nicht gefunden oder geladen werden! -Grund: »%2« - - - - Error while loading plugin - Fehler beim Laden des Plugins - - - - Failed to load plugin "%1"! - Das Plugin »%1« konnte nicht geladen werden! - - PluginBrowser - - Instrument Plugins - - - - - Instrument browser - Instrument-Browser - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Ziehen Sie ein Instrument entweder in den Song-Editor, den Beat+Bassline-Editor oder in eine existierende Instrumentspur. - - - + no description keine Beschreibung - + A native amplifier plugin Ein natives Verstärker-Plugin - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Einfacher Sampler mit verschiedenen Einstellungen zum Benutzen von Samples (z.B. Trommeln) in einer Instrumentenspur - + Boost your bass the fast and simple way Verstärken Sie Ihren Bass auf schnellen und einfachen Wege - + Customizable wavetable synthesizer Flexibler Wavetable-Synthesizer - + An oversampling bitcrusher - + Carla Patchbay Instrument Carla Patchbay Instrument - + Carla Rack Instrument Carla Rack Instrument - + A dynamic range compressor. - + A 4-band Crossover Equalizer Ein 4-Band Crossover Equalizer - + A native delay plugin Ein natives Verzögerung-Plugin - + A Dual filter plugin Ein doppel Fliter Plugin - + plugin for processing dynamics in a flexible way Ein Plugin, um Dynamik auf Flexible Weise zu verarbeiten - + A native eq plugin Ein natives EQ-Plugin - + A native flanger plugin Ein natives Flanger-Plugin - + Emulation of GameBoy (TM) APU Emulation des GameBoy (TM) APU - + Player for GIG files - + Filter for importing Hydrogen files into LMMS Filter zum importieren von Hydrogendateien in LMMS - + Versatile drum synthesizer Vielseitiger Trommel-Synthesizer - + List installed LADSPA plugins Installierte LADSPA-Plugins auflisten - + plugin for using arbitrary LADSPA-effects inside LMMS. Plugin, um beliebige LADSPA-Effekte in LMMS nutzen zu können. - + Incomplete monophonic imitation TB-303 - Unvollständiger monophonischer TB303-Klon + - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS - + Filter for importing MIDI-files into LMMS Filter, um MIDI-Dateien in LMMS zu importieren - + Monstrous 3-oscillator synth with modulation matrix Monströser 3-Oszillator Synth mit Modulationsmatrix - + A multitap echo delay plugin - + A NES-like synthesizer Ein NES ähnlicher Synthesizer - + 2-operator FM Synth 2-Operator FM-Synth - + Additive Synthesizer for organ-like sounds Additiver Synthesizer für orgelähnliche Klänge - + GUS-compatible patch instrument GUS-kompatibles Patch-Instrument - + Plugin for controlling knobs with sound peaks Plugin zur Kontrolle von Knöpfen mit Hilfe von Klangspitzen - + Reverb algorithm by Sean Costello Hallalgorithmus von Sean Costello - + Player for SoundFont files Wiedergabe von SoundFont-Dateien - + LMMS port of sfxr LMMS-Portierung von sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulation des MOS6581 und MOS8580 SID Chips. Dieser Chip wurde in Commodore 64 Computern genutzt. - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file Plugin zur Erweiterung des Stereo-Klangeindrucks - + Plugin for freely manipulating stereo output Plugin zur freien Manipulation der Stereoausgabe - + Tuneful things to bang on Gegenstände, die nach etwas klingen, wenn man drauf rumkloppt - + Three powerful oscillators you can modulate in several ways Drei mächtige Oszillatoren, die Sie auf mehrere Weisen modulieren können - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS VST-Host zum Benutzen von VST(i)-Plugins innerhalb von LMMS - + Vibrating string modeler Modellierung schwingender Saiten - + plugin for using arbitrary VST effects inside LMMS. Plugin um beliebige VST-Effekte in LMMS zu benutzen. - + 4-oscillator modulatable wavetable synth 4-Oszillator modulierbarer Wellenformtabellen Synth - + plugin for waveshaping Plugin für Wellenformen - + Mathematical expression parser - + Embedded ZynAddSubFX Eingebettetes ZynAddSubFX-Plugin - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Typ - - - - Effects - Effekte - - - - Instruments - Instrumente - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Abbrechen - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Typ: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Name - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10820,93 +3459,98 @@ Dieser Chip wurde in Commodore 64 Computern genutzt. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Typ: - + Maker: - + Copyright: - + Unique ID: @@ -10914,16 +3558,457 @@ Plugin Name PluginFactory - + Plugin not found. Plugin nicht gefunden - + LMMS plugin %1 does not have a plugin descriptor named %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10938,157 +4023,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Schließen + @@ -11103,50 +4092,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off An/aus - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11161,2285 +4150,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Zeige/verstecke Projekt-Notizen - - - - Enter project notes here - - - - - Edit Actions - - - - - &Undo - &Rückgängig - - - - %1+Z - %1+Z - - - - &Redo - &Wiederholen - - - - %1+Y - %1+Y - - - - &Copy - &Kopieren - - - - %1+C - %1+C - - - - Cu&t - Schnei&de - - - - %1+X - %1+X - - - - &Paste - &Einfügen - - - - %1+V - %1+V - - - - Format Actions - - - - - &Bold - &Fett - - - - %1+B - %1+B - - - - &Italic - &Kursiv - - - - %1+I - %1+l - - - - &Underline - &Unterstrichen - - - - %1+U - %1+U - - - - &Left - &Links - - - - %1+L - %1+L - - - - C&enter - Z&entrum - - - - %1+E - %1+E - - - - &Right - &Rechts - - - - %1+R - %1+R - - - - &Justify - - - - - %1+J - %1+J - - - - &Color... - &Farbe... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI GUI anzeigen - + Help Hilfe + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Name: - - URI: - - - - - - + Maker: Hersteller: - - - + Copyright: Copyright: - - + Requires Real Time: Benötigt Echtzeit: - - - - - - + + + Yes Ja - - - - - - + + + No Nein - - + Real Time Capable: Echtzeitfähig: - - + In Place Broken: Operationen nicht In-Place: - - + Channels In: Eingangs-Kanäle: - - + Channels Out: Ausgangs-Kanäle: - + File: %1 Datei: %1 - + File: Datei: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Zuletzt geöffnete Projekte + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Umbenennen... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Eingang + + Amplify + - - Input gain: - Eingangsverstärkung: + + Start of sample + - - Size - Größe + + End of sample + - - Size: - Größe: + + Loopback point + - - Color - Farbe + + Reverse sample + - - Color: - Farbe: + + Loop mode + - - Output - Ausgang + + Stutter + - - Output gain: - Ausgabeverstärkung: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Eingangsverstärkung + - - Size - Größe + + Input noise + - - Color - Farbe + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Ausgabeverstärkung + - SaControls + lmms::SaControls - + Pause - + Reference freeze - + Waterfall - + Averaging - - - Stereo - Stereo - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - Bass + - + Mids - Mitten - - - - High - Höhen + + High + + + + Extended - + Loud - Laut + - + Silent - Leise + - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Stereo - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - Jedes Sample verarbeitet - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - Konnte Datei nicht öffnen - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - - - - - Open audio file - Audiodatei öffnen - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Alle Audiodateien (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave-Dateien (*.wav) - - - - OGG-Files (*.ogg) - OGG-Dateien (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth-Dateien (*.ds) - - - - FLAC-Files (*.flac) - FLAC-Dateien (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX-Dateien (*.spx) - - - - VOC-Files (*.voc) - VOC-Dateien (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF-Dateien (*.aif *.aiff) - - - - AU-Files (*.au) - AU-Dateien (*.au) - - - - RAW-Files (*.raw) - RAW-Dateien (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - Löschen (mittlere Maustaste) - - - - Delete selection (middle mousebutton) - - - - - Cut - Ausschneiden - - - - Cut selection - - - - - Copy - Kopieren - - - - Copy selection - - - - - Paste - Einfügen - - - - Mute/unmute (<%1> + middle click) - Stumm/Laut schalten (<Strg> + Mittelklick) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Sample umkehren - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - Lautstärke + - + Panning - Balance + - + Mixer channel - FX-Kanal + - - + + Sample track - Samplespur - - - - SampleTrackView - - - Track volume - Lautstärke der Spur - - - - Channel volume: - Kanal Lautstärke: - - - - VOL - VOL - - - - Panning - Balance - - - - Panning: - Balance: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - GRUNDLEGENDE EINSTELLUNGEN - - - - Sample volume - - - - - Volume: - Lautstärke: - - - - VOL - VOL - - - - Panning - Balance - - - - Panning: - Balance: - - - - PAN - PAN - - - - Mixer channel - FX-Kanal - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value + + empty - - - Use built-in NaN handler - - - - - Settings - Einstellungen - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - - - - - Enable tooltips - Tooltips aktivieren - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - Sprache - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Plugins - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - - - - - Embed using native Win32 API - - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - - - - - Keep effects running even without input - - - - - - Audio - Audio - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - LMMS-Arbeitsverzeichnis - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2 Verzeichniss - - - - Default SF2 - - - - - GIG directory - GIG Verzeichniss - - - - Theme directory - - - - - Background artwork - - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - LMMS-Arbeitsverzeichnis wählen - - - - Choose your VST plugins directory - Wählen Sie Ihr VST-Plugin-Verzeichnis - - - - Choose your LADSPA plugins directory - Wählen Sie Ihr LADSPA-Plugin-Verzeichnis - - - - Choose your default SF2 - Wählen Sie Ihr Standard SF2 - - - - Choose your theme directory - Wählen Sie Ihr Theme-Verzeichnis - - - - Choose your background picture - Wählen Sie Ihr Hintergrundbild - - - - - Paths - Pfade - - - - OK - OK - - - - Cancel - Abbrechen - - - - Frames: %1 -Latency: %2 ms - Frames: %1 -Latenz: %2 ms - - - - Choose your GIG directory - Wählen Sie Ihr CIG-Verzeichnis aus - - - - Choose your SF2 directory - Wählen Sie Ihr SF2-Verzeichnis aus - - - - minutes - Minutes - - - - minute - Minute - - - - Disabled - Deaktiviert - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Kennfrequenz + - + Resonance - Resonanz + + + + + Filter type + - Filter type - Filtertyp - - - Voice 3 off - Stimme 3 lautlos + - + Volume - Lautstärke + - + Chip model - Chipmodell - - - - SidInstrumentView - - - Volume: - Lautstärke: - - - - Resonance: - Resonanz: - - - - - Cutoff frequency: - Kennfrequenz: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Anschwellzeit (attack): - - - - - Decay: - Abfallzeit (decay): - - - - Sustain: - Dauerpegel (sustain): - - - - - Release: - Ausklingzeit (release): - - - - Pulse Width: - Pulsweite: - - - - Coarse: - Grob: - - - - Pulse wave - - - - - Triangle wave - Dreieckwelle - - - - Saw wave - Sägezahnwelle - - - - Noise - Rauschen - - - - Sync - Synchron - - - - Ring modulation - - - - - Filtered - Gefiltert - - - - Test - Test - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - Schließen + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - Tempo + - + Master volume - Master-Lautstärke + - + Master pitch - Master-Tonhöhe - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Konnte Datei nicht öffnen + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + - + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - Konnte die Datei %1 nicht öffnen. Sie sind wahrscheinlich nicht berechtigt, diese Datei zu lesen. Bitte stellen Sie sicher, dass Sie wenigstens Leserechte auf diese Datei besitzen und versuchen es erneut. + - + Operation denied - + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - + + + Error - Fehler + - + Couldn't create bundle folder. - + Couldn't create resources folder. - + Failed to copy resources. - + + Could not write file - Konnte Datei nicht schreiben - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + This %1 was created with LMMS %2 - - Error in file - Fehler in Datei + + Zoom + - - The file %1 seems to contain errors and therefore can't be loaded. - Die Datei %1 scheint fehlerhaft zu sein und kann daher nicht geladen werden. - - - - Version difference - Versionsunterschiede - - - - template - Vorlage - - - - project - Projekt - - - + Tempo - Tempo + - + TEMPO - + Tempo in BPM - - High quality mode - High-Quality-Modus - - - - - + + + Master volume - Master-Lautstärke + - - - - Master pitch - Master-Tonhöhe + + + + Global transposition + - + + 1/%1 Bar + + + + + %1 Bars + + + + Value: %1% - Wert: %1% + - - Value: %1 semitones - Wert: %1 Halbtöne + + Value: %1 keys + - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - Song-Editor + - + Play song (Space) - Spiele Song ab (Leertaste) + - + Record samples from Audio-device - - Record samples from Audio-device while playing song or BB track + + Record samples from Audio-device while playing song or pattern track - + Stop song (Space) - Song anhalten (Leertaste) + - + Track actions - - Add beat/bassline - Beat/Bassline hinzufügen + + Add pattern-track + - + Add sample-track - Sample Spur hinzufügen + - + Add automation-track - Automation-Spur hinzufügen + - + Edit actions - Aktionen bearbeiten + - + Draw mode - Zeichenmodus + - + Knife mode (split sample clips) - + Edit mode (select and move) - + Timeline controls - Zeitstrahlregler + - + Bar insert controls - + Insert bar - + Remove bar - + Zoom controls - Zoom Regler + + - Horizontal zooming - Horizontales Zoomen + Zoom + - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - Tipp + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - Schließen + - + Maximize - Maximieren + - + Restore - Wiederherstellen + - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - Einstellungen für %1 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - Neu von Vorlage + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - Tempo-Synchronisation + - + No Sync - Keine Synchronisation + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + No Sync + + + + Eight beats - Acht Schläge + - + Whole note - Ganze Note + - + Half note - Halbe Note + - + Quarter note - Viertelnote + - + 8th note - Achtelnote - - - - 16th note - 16tel Note + + 16th note + + + + 32nd note - 32tel Note + - + Custom... - Benutzerdefiniert... + - + Custom - Benutzerdefiniert - - - - Synced to Eight Beats - Mit acht Schlägen synchronisiert + - Synced to Whole Note - Mit ganzer Note synchronisiert + Synced to Eight Beats + - Synced to Half Note - Mit halber Note synchronisiert + Synced to Whole Note + - Synced to Quarter Note - Mit Viertelnote synchronisiert + Synced to Half Note + - Synced to 8th Note - Mit Achtelnote synchronisiert + Synced to Quarter Note + - Synced to 16th Note - Mit 16tel Note synchronisiert + Synced to 8th Note + + Synced to 16th Note + + + + Synced to 32nd Note - Mit 32tel Note synchronisiert + - TimeDisplayWidget + lmms::gui::TimeDisplayWidget - + Time units - - - MIN - MIN - - SEC - SEC + MIN + - MSEC - MSEC + SEC + - - BAR - BAR + + MSEC + - BEAT - BEAT + BAR + + BEAT + + + + TICK - TICK + - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - + After stopping keep position - Nach dem Anhalten Position beibehalten + - + Hint - Tipp + - + Press <%1> to disable magnetic loop points. - Drücken Sie <%1>, um magnetische Loop-Punkte zu deaktivieren. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + - Track + lmms::gui::TrackContentWidget - - Mute - Stumm - - - - Solo - Solo - - - - TrackContainer - - - Couldn't import file - Datei konnte nicht importiert werden - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Es konnte kein Filter gefunden werden, um die Datei %1 zu importieren. -Sie sollten diese Datei mit Hilfe anderer Software in ein von LMMS unterstützes Format umwandeln. - - - - Couldn't open file - Datei konnte nicht geöffnet werden - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Datei %1 konnte nicht zum Lesen geöffnet werden. -Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeichnis besitzen und probieren es erneut! - - - - Loading project... - Lade Projekt… - - - - - Cancel - Abbrechen - - - - - Please wait... - Bitte warten… - - - - Loading cancelled - Laden abgebrochen - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - - - - - Importing MIDI-file... - Importiere MIDI-Datei… - - - - Clip - - - Mute - Stumm - - - - ClipView - - - Current position - Aktuelle Position - - - - Current length - Aktuelle Länge - - - - - %1:%2 (%3:%4 to %5:%6) - - - - - Press <%1> and drag to make a copy. - <%1> drücken und ziehen, um eine Kopie zu erstellen. - - - - Press <%1> for free resizing. - Drücken Sie <%1> für freie Größenänderung. - - - - Hint - Tipp - - - - Delete (middle mousebutton) - Löschen (mittlere Maustaste) - - - - Delete selection (middle mousebutton) - - - - - Cut - Ausschneiden - - - - Cut selection - - - - - Merge Selection - - - - - Copy - Kopieren - - - - Copy selection - - - - + Paste - Einfügen - - - - Mute/unmute (<%1> + middle click) - Stumm/Laut schalten (<Strg> + Mittelklick) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - Einfügen - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13452,257 +17717,249 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich Mute - Stumm + Solo - Solo + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Diese Spur klonen + - + Remove this track - Diese Spur entfernen + + + + + Clear this track + - Clear this track - Diese Spur leeren - - - Channel %1: %2 - FX %1: %2 + - + Assign to new Mixer Channel - + Turn all recording on - Alle Aufnahmen einschalten - - - - Turn all recording off - Alle Aufnahmen ausschalten - - - - Change color - Farbe ändern - - - - Reset color to default - Farbe auf Standard zurücksetzen - - - - Set random color - - Clear clip colors + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - Synchronisiere Oszillator 1 mit Oszillator 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - Synchronisiere Oszillator 2 mit Oszillator 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Oszillator %1 Lautstärke: + - + Osc %1 panning: - Oszillator %1 Balance: + - - Osc %1 coarse detuning: - Oszillator %1 Grob-Verstimmung: - - - - semitones - Halbtöne - - - - Osc %1 fine detuning left: - Oszillator %1 Fein-Verstimmung links: - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - Cent + - + Osc %1 fine detuning right: - Oszillator %1 Fein-Verstimmung rechts: + - + Osc %1 phase-offset: - Oszillator %1 Phasenverschiebung: + - - + + degrees - Grad + - + Osc %1 stereo phase-detuning: - Oszillator %1 Stereo Phasenverschiebung: + - + Sine wave - Sinuswelle + - + Triangle wave - Dreieckwelle + - + Saw wave - Sägezahnwelle + - + Square wave - Rechteckwelle + - + Moog-like saw wave - + Exponential wave - Exponentielle Welle + - + White noise - Weißes Rauschen + - + User-defined wave - Benutzerdefinierte Welle - - - - VecControls - - - Display persistence amount - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13717,2618 +17974,782 @@ Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeich - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Versionsnummer erhöhen - + lmms::gui::VersionedSaveDialog - Decrement version number - Versionsnummer vermindern + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - existiert bereits. Möchten Sie es ersetzen? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Vorheriges (-) + - + Save preset - Preset speichern + - + Next (+) - Nächstes (+) + - + Show/hide GUI - GUI zeigen/verstecken + - + Turn off all notes - Alle Noten ausschalten + - + DLL-files (*.dll) - DLL-Dateien (*.dll) + - + EXE-files (*.exe) - EXE-Dateien (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - Preset + - + by - von + - + - VST plugin control - - VST Plugin Controller + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - Anzeigen/ausblenden + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Vorheriges (-) + - + Next (+) - Nächstes (+) + - + Save preset - Preset speichern + - - + + Effect by: - Effekt von: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - Das VST Plugin %1 konnte nicht geladen werden. + + + + + Volume + - - Open Preset - Preset öffnen - - - - - Vst Plugin Preset (*.fxp *.fxb) - VST-Plugin-Preset (*.fxp *.fxb) - - - - : default - : Standard - - - - Save Preset - Preset speichern - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Lade Plugin - - - - Please wait while loading VST plugin... - Bitte warten, während das VST-Plugin geladen wird… - - - - WatsynInstrument - - - Volume A1 - Lautstärke A1 - - - - Volume A2 - Lautstärke A2 - - - - Volume B1 - Lautstärke B1 - - - - Volume B2 - Lautstärke B2 - - - - Panning A1 - Balance A1 - - - - Panning A2 - Balance A2 - - - - Panning B1 - Balance B1 - - - - Panning B2 - Balance B2 - - - - Freq. multiplier A1 - Frequenzmultiplikator-A1 - - - - Freq. multiplier A2 - Frequenzmultiplikator-A2 - - - - Freq. multiplier B1 - Frequenzmultiplikator-B1 - - - - Freq. multiplier B2 - Frequenzmultiplikator-B2 - - - - Left detune A1 - Links-Verstimmung A1 - - - - Left detune A2 - Links-Verstimmung A2 - - - - Left detune B1 - Links-Verstimmung B1 - - - - Left detune B2 - Links-Verstimmung B2 - - - - Right detune A1 - Rechts-Verstimmung A1 - - - - Right detune A2 - Rechts-Verstimmung A2 - - - - Right detune B1 - Rechts-Verstimmung B1 - - - - Right detune B2 - Rechts-Verstimmung B2 - - - - A-B Mix - A-B Mischung - - - - A-B Mix envelope amount - A-B Mischung Hüllkurvenintensität - - - - A-B Mix envelope attack - A-B Mischung Hüllkurvenanschwellzeit - - - - A-B Mix envelope hold - A-B Mischung Hüllkurvenhaltezeit - - - - A-B Mix envelope decay - A-B Mischung Hüllkurvenabfallzeit - - - - A1-B2 Crosstalk - A1-B2 Überlagerung - - - - A2-A1 modulation - A2-A1 Modulation - - - - B2-B1 modulation - B2-B1 Modulation - - - - Selected graph - Ausgewählter Graph - - - - WatsynView - + + - - - Volume - Lautstärke + Panning + + + - - - Panning - Balance - - - - - - Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - Cent + - - - - + + + + Right detune - + A-B Mix - A-B Mischung + - + Mix envelope amount - + Mix envelope attack - Hüllenkurvenanstieg mischen + - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - Oszilator A1 auswählen + - + Select oscillator A2 - Oszilator A2 auswählen + - + Select oscillator B1 - Oszilator B1 auswählen + - + Select oscillator B2 - Oszilator B2 auswählen + - + Mix output of A2 to A1 - Mische Ausgang von A2 zu A1 + - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - Mische Ausgang von B2 zu B1 + - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Zeichnen Sie heier eigene Wellenformen, indem Sie die Maus über den Graph ziehen. + - + Load waveform - Wellenform laden + - + Load a waveform from a sample file - + Phase left - Nach links verschieben + - + Shift phase by -15 degrees - + Phase right - Nach rechts verschieben + - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - Normalisieren - - - - Invert - Invertieren + - - + + Smooth - Glätten + - - + + Sine wave - Sinuswelle + - - - + + + Triangle wave - Dreieckwelle + - + Saw wave - Sägezahnwelle + - - + + Square wave - Rechteckwelle - - - - Xpressive - - - Selected graph - Ausgewählter Graph - - - - A1 - - - - - A2 - - - - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Clip input + + + + + Clip input signal to 0 dB + + + + + lmms::gui::XpressiveView + + Draw your own waveform here by dragging your mouse on this graph. - Zeichnen Sie eigene Wellenformen, indem Sie die Maus über den Graph ziehen. + - + Select oscillator W1 - + Select oscillator W2 - + Select oscillator W3 - + Select output O1 - + Select output O2 - + Open help window - - + + Sine wave - Sinuswelle + - - + + Moog-saw wave - - - Exponential wave - Exponentielle Welle - - - - - Saw wave - Sägezahnwelle - - - - - User-defined wave - Benutzerdefinierte Welle - - - + - Triangle wave - Dreieckwelle + Exponential wave + - - Square wave - Rechteckwelle + + Saw wave + - - - White noise - Weißes Rauschen + + + User-defined wave + - - WaveInterpolate + + + Triangle wave + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + ExpressionValid - + General purpose 1: - + General purpose 2: - + General purpose 3: - + O1 panning: - + O2 panning: - + Release transition: - + Smoothness - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - - - - - Filter resonance - Filter Resonanz - - - - Bandwidth - Bandbreite - - - - FM gain - FM Gain - - - - Resonance center frequency - Resonanz Mittelfrequenz - - - - Resonance bandwidth - Resonanz Bandbreite - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - Portamento: - + lmms::gui::ZynAddSubFxView - PORT - PORT + Portamento: + - - Filter frequency: - Filter Frequenz: + + PORT + - FREQ - FREQ + Filter frequency: + - - Filter resonance: + + FREQ - RES - RES + Filter resonance: + - - Bandwidth: - Bandbreite: + + RES + - BW - BW + Bandwidth: + - - FM gain: + + BW - FM GAIN - FM GAIN + FM gain: + - - Resonance center frequency: - Zentrale Resonanzfrequenz: + + FM GAIN + - RES CF - RES CF + Resonance center frequency: + - - Resonance bandwidth: - Resonanzbandbreite: + + RES CF + - RES BW - RES BW + Resonance bandwidth: + - + + RES BW + + + + Forward MIDI control changes - + Show GUI - GUI anzeigen - - - - AudioFileProcessor - - - Amplify - Verstärkung - - - - Start of sample - Sample-Anfang - - - - End of sample - Sample-Ende - - - - Loopback point - Wiederholungspunkt - - - - Reverse sample - Sample umkehren - - - - Loop mode - Wiederholungsmodus - - - - Stutter - Stottern - - - - Interpolation mode - Interpolationsmodus - - - - None - Keiner - - - - Linear - Linear - - - - Sinc - Sinc - - - - Sample not found: %1 - Sample nicht gefunden: %1 - - - - BitInvader - - - Sample length - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - Zeichnen Sie eigene Wellenformen, indem Sie die Maus über den Graph ziehen. - - - - - Sine wave - Sinuswelle - - - - - Triangle wave - Dreieckwelle - - - - - Saw wave - Sägezahnwelle - - - - - Square wave - Rechteckwelle - - - - - White noise - Weißes Rauschen - - - - - User-defined wave - Benutzerdefinierte Welle - - - - - Smooth waveform - Wellenform glätten - - - - Interpolation - Interpolation - - - - Normalize - Normalisieren - - - - DynProcControlDialog - - - INPUT - INPUT - - - - Input gain: - Eingangsverstärkung: - - - - OUTPUT - OUTPUT - - - - Output gain: - Ausgabeverstärkung: - - - - ATTACK - ATTACK - - - - Peak attack time: - Spitzen Anschwellzeit: - - - - RELEASE - RELEASE - - - - Peak release time: - Spitzen Ausklingzeit: - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - Erhöhe wavegraph Amplitude um 1 dB - - - - - Decrease wavegraph amplitude by 1 dB - Verringere wavegraph Amplitude um 1 dB - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - Basierend auf dem Maximum beider Stereokanäle verarbeiten - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - Basierend auf dem Durchschnitt beider Stereokanäle verarbeiten - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - Jeden Stereokanal unabhängig verarbeiten - - - - DynProcControls - - - Input gain - Eingangsverstärkung - - - - Output gain - Ausgabeverstärkung - - - - Attack time - Anschwellzeit - - - - Release time - Ausklingzeit - - - - Stereo mode - Stereomodus - - - - graphModel - - - Graph - Graph - - - - KickerInstrument - - - Start frequency - Startfrequenz - - - - End frequency - Endfrequenz - - - - Length - Länge - - - - Start distortion - - - - - End distortion - - - - - Gain - Gain - - - - Envelope slope - - - - - Noise - Rauschen - - - - Click - Klick - - - - Frequency slope - - - - - Start from note - Starte bei Note - - - - End to note - Ende bei Note - - - - KickerInstrumentView - - - Start frequency: - Startfrequenz: - - - - End frequency: - Endfrequenz: - - - - Frequency slope: - - - - - Gain: - Gain: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Klick: - - - - Noise: - Rauschen: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Verfügbare Effekte - - - - - Unavailable Effects - Nicht verfügbare Effekte - - - - - Instruments - Instrumente - - - - - Analysis Tools - Analysewerkzeuge - - - - - Don't know - Weiß nicht - - - - Type: - Typ: - - - - LadspaDescription - - - Plugins - Plugins - - - - Description - Beschreibung - - - - LadspaPortDialog - - - Ports - Ports - - - - Name - Name - - - - Rate - Rate - - - - Direction - Richtung - - - - Type - Typ - - - - Min < Default < Max - Min < Standard < Max - - - - Logarithmic - Logarithmisch - - - - SR Dependent - SR-abhängig - - - - Audio - Audio - - - - Control - Steuerung - - - - Input - Eingang - - - - Output - Ausgang - - - - Toggled - Umgeschaltet - - - - Integer - Ganzahl - - - - Float - Kommazahl - - - - - Yes - Ja - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF-Kennfrequenz - - - - VCF Resonance - VCF-Resonanz - - - - VCF Envelope Mod - VCF-Hüllkurvenintensität - - - - VCF Envelope Decay - VCF-Hüllkurvenabfallzeit - - - - Distortion - Verzerrung - - - - Waveform - Wellenform - - - - Slide Decay - Slide-Abfallzeit - - - - Slide - Slide - - - - Accent - Betonung - - - - Dead - Stumpf - - - - 24dB/oct Filter - 24db/Okt Filter - - - - Lb302SynthView - - - Cutoff Freq: - Kennfrequenz: - - - - Resonance: - Resonanz: - - - - Env Mod: - Hüllkurven-Modulation: - - - - Decay: - Abfallzeit (decay): - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - Slide-Abfallzeit: - - - - DIST: - DIST: - - - - Saw wave - Sägezahnwelle - - - - Click here for a saw-wave. - Klick für eine Sägezahnwelle. - - - - Triangle wave - Dreieckwelle - - - - Click here for a triangle-wave. - Klick für eine Dreieckwelle. - - - - Square wave - Rechteckwelle - - - - Click here for a square-wave. - Klick für eine Rechteckwelle. - - - - Rounded square wave - Abgerundete Rechteckwelle - - - - Click here for a square-wave with a rounded end. - Klick für eine abgerundete Rechteckwelle. - - - - Moog wave - Moog-Welle - - - - Click here for a moog-like wave. - Klick für eine Moog-ähnliche Welle. - - - - Sine wave - Sinuswelle - - - - Click for a sine-wave. - Klick für eine Sinuswelle. - - - - - White noise wave - Weißes Rauschen - - - - Click here for an exponential wave. - Klick für eine exponentielle-Welle. - - - - Click here for white-noise. - Klick für weißes Rauschen. - - - - Bandlimited saw wave - Bandbegrenzte Sägezahnwelle - - - - Click here for bandlimited saw wave. - Klick für eine bandbegrenzte Sägezahnwelle. - - - - Bandlimited square wave - Bandbegrenzte Rechteckwelle - - - - Click here for bandlimited square wave. - Klick für eine bandbegrenzte Rechteckwelle. - - - - Bandlimited triangle wave - Bandlimittierte Dreieckwelle - - - - Click here for bandlimited triangle wave. - Klick für eine bandbegrenzte Dreieckwelle. - - - - Bandlimited moog saw wave - Bandbegrenzte Moog-Sägezahnwelle - - - - Click here for bandlimited moog saw wave. - Klick für eine bandbegrenzte Moog-Sägezahnwelle. - - - - MalletsInstrument - - - Hardness - Härte - - - - Position - Position - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Modulator - - - - Crossfade - Crossfade - - - - LFO speed - LFO-Geschwindigkeit - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - Druck - - - - Motion - Bewegung - - - - Speed - Geschwindigkeit - - - - Bowed - Gestrichen - - - - Spread - Weite - - - - Marimba - Marimba - - - - Vibraphone - Vibraphon - - - - Agogo - Agogo - - - - Wood 1 - - - - - Reso - Reso - - - - Wood 2 - - - - - Beats - Beats - - - - Two fixed - - - - - Clump - Clump - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - Glas - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Instrument - - - - Spread - Weite - - - - Spread: - Weite: - - - - Missing files - Dateien fehlen - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Ihre Stk-Installation scheit unvollständig zu sein. Bitte stellen Sie sicher, dass das Stk-Paket installiert ist. - - - - Hardness - Härte - - - - Hardness: - Härte: - - - - Position - Position - - - - Position: - Position: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Modulator - - - - Modulator: - Modulator: - - - - Crossfade - Crossfade - - - - Crossfade: - Crossfade: - - - - LFO speed - LFO-Geschwindigkeit - - - - LFO speed: - LFO-Geschwindigkeit: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Druck - - - - Pressure: - Druck: - - - - Speed - Geschwindigkeit - - - - Speed: - Geschwindigkeit: - - - - ManageVSTEffectView - - - - VST parameter control - - VST Parameter Controller - - - - VST sync - - - - - - Automated - Automatisiert - - - - Close - Schließen - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST Plugin Controller - - - - VST Sync - VST-Sync - - - - - Automated - Automatisiert - - - - Close - Schließen - - - - OrganicInstrument - - - Distortion - Verzerrung - - - - Volume - Lautstärke - - - - OrganicInstrumentView - - - Distortion: - Verzerrung: - - - - Volume: - Lautstärke: - - - - Randomise - Zufallswerte - - - - - Osc %1 waveform: - Oszillator %1 Wellenform: - - - - Osc %1 volume: - Oszillator %1 Lautstärke: - - - - Osc %1 panning: - Oszillator %1 Balance: - - - - Osc %1 stereo detuning - Oszillator %1 Stereo Verstimmung - - - - cents - Cent - - - - Osc %1 harmonic: - Oszillator %1 Harmonie: - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - Bank - - - - Program selector - Programmwähler - - - - Patch - Patch - - - - Name - Name - - - - OK - OK - - - - Cancel - Abbrechen - - - - Sf2Instrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Gain - - - - Reverb - Hall - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - Chorus - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - Soundfont %1 konnte nicht geladen werden. - - - - Sf2InstrumentView - - - - Open SoundFont file - SoundFont-Datei öffnen - - - - Choose patch - Patch wählen - - - - Gain: - Gain: - - - - Apply reverb (if supported) - Hall anwenden (wenn unterstützt) - - - - Room size: - - - - - Damping: - - - - - Width: - Weite: - - - - - Level: - - - - - Apply chorus (if supported) - Chorus-Effekt anwenden (wenn unterstützt) - - - - Voices: - - - - - Speed: - Geschwindigkeit: - - - - Depth: - Genauigkeit: - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Weite: - - - - StereoEnhancerControls - - - Width - Weite - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Links-nach-links Lautstärke: - - - - Left to Right Vol: - Links-nach-rechts Lautstärke: - - - - Right to Left Vol: - Rechts-nach-links Lautstärke: - - - - Right to Right Vol: - Rechts-nach-rechts Lautstärke: - - - - StereoMatrixControls - - - Left to Left - Links-nach-links - - - - Left to Right - Links-nach-rechts - - - - Right to Left - Rechts-nach-links - - - - Right to Right - Rechts-nach-rechts - - - - VestigeInstrument - - - Loading plugin - Lade Plugin - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - Seite %1 Lautstärke - - - - String %1 stiffness - Seite %1 Härte - - - - Pick %1 position - Zupf-Position %1 - - - - Pickup %1 position - Abnehmer-Position %1 - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - Impuls %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - Härte der Saite: - - - - Pick position: - Zupf-Position: - - - - Pickup position: - Abnehmer-Position: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - Impuls - - - - Octave - Okatve - - - - Impulse Editor - Impuls-Editor - - - - Enable waveform - Wellenform aktivieren - - - - Enable/disable string - - - - - String - Saite - - - - - Sine wave - Sinuswelle - - - - - Triangle wave - Dreieckwelle - - - - - Saw wave - Sägezahnwelle - - - - - Square wave - Rechteckwelle - - - - - White noise - Weißes Rauschen - - - - - User-defined wave - Benutzerdefinierte Welle - - - - - Smooth waveform - Wellenform glätten - - - - - Normalize waveform - Wellenform normalisieren - - - - VoiceObject - - - Voice %1 pulse width - Stimme %1 Pulsweite - - - - Voice %1 attack - Stimme %1 Anschwellzeit - - - - Voice %1 decay - Stimme %1 Abfallzeit - - - - Voice %1 sustain - Stimme %1 Haltepegel - - - - Voice %1 release - Stimme %1 Release - - - - Voice %1 coarse detuning - Stimme %1 Grob-Verstimmung - - - - Voice %1 wave shape - Stimme %1 Wellenform - - - - Voice %1 sync - Stimme %1 Sync - - - - Voice %1 ring modulate - Stimme %1 Ringmodulation - - - - Voice %1 filtered - Stimme %1 gefiltert - - - - Voice %1 test - Stimme %1 Test - - - - WaveShaperControlDialog - - - INPUT - INPUT - - - - Input gain: - Eingangsverstärkung: - - - - OUTPUT - OUTPUT - - - - Output gain: - Ausgabeverstärkung: - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - Erhöhe wavegraph Amplitude um 1 dB - - - - - Decrease wavegraph amplitude by 1 dB - Verringere wavegraph Amplitude um 1 dB - - - - Clip input - Eingang begrenzen - - - - Clip input signal to 0 dB - Schneide das Eingangssignal bei 0 dB ab - - - - WaveShaperControls - - - Input gain - Eingangsverstärkung - - - - Output gain - Ausgabeverstärkung - - - + \ No newline at end of file diff --git a/data/locale/es.ts b/data/locale/es.ts index 26c743784..4182096b9 100644 --- a/data/locale/es.ts +++ b/data/locale/es.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -69,810 +69,43 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL - - - - Volume: - Volumen: - - - - PAN - PAN - - - - Panning: - Paneo: - - - - LEFT - IZQ - - - - Left gain: - Ganancia izquierda: - - - - RIGHT - DER - - - - Right gain: - Ganancia derecha: - - - - AmplifierControls - - - Volume - Volumen - - - - Panning - Paneo - - - - Left gain - Ganacia izquierda - - - - Right gain - Ganancia derecha - - - - AudioAlsaSetupWidget - - - DEVICE - DISPOSITIVO - - - - CHANNELS - CANALES - - - - AudioFileProcessorView - - - Open sample - Abrir muestra - - - - Reverse sample - Reproducir la muestra en reversa - - - - Disable loop - Desactivar bucle - - - - Enable loop - Activar bucle - - - - Enable ping-pong loop + + About JUCE - - Continue sample playback across notes - Reproducción continua a través de las notas - - - - Amplify: - Amplificar: - - - - Start point: + + <b>About JUCE</b> - - End point: + + This program uses JUCE version 3.x.x. - - Loopback point: - Inicio del bucle: - - - - AudioFileProcessorWaveView - - - Sample length: - Longitud de la muestra: - - - - AudioJack - - - JACK client restarted - Se ha reiniciado el cliente de JACK - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS fué rechazado por JACK por alguna razón. Por lo tanto, el motor de JACK de LMMS ha sido reiniciado. Tendrás que realizar las conexiones manuales nuevamente. - - - - JACK server down - Ha fallado el servidor JACK - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - El servidor de JACK parece haberse detenido y no hemos podido lanzar una nueva instancia. Por lo tanto LMMS no puede continuar. Debes guardar tu proyecto y reiniciar JACK y LMMS. - - - - Client name + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Channels - Canales - - - - AudioOss - - - Device - - - - - Channels - Canales - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device + + This program uses JUCE version - AudioPulseAudio + AudioDeviceSetupWidget - - Device - - - - - Channels - Canales - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - Canales - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - &Restaurar (%1%2) - - - - &Copy value (%1%2) - &Copiar valor (%1%2) - - - - &Paste value (%1%2) - &Pegar valor (%1%2) - - - - &Paste value - - - - - Edit song-global automation - Editar la automatización global de la canción - - - - Remove song-global automation - Borrar la automatización global de la canción - - - - Remove all linked controls - Quitar todos los controles enlazados - - - - Connected to %1 - Conectado a %1 - - - - Connected to controller - Conectado al controlador - - - - Edit connection... - Editar conexión... - - - - Remove connection - Quitar conexión - - - - Connect to controller... - Conectar al controlador... - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - ¡Por favor abre un patrón de automatización con el menú contextual de un control! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Reproducir/Pausar el patrón actual (Espacio) - - - - Stop playing of current clip (Space) - Detener la reproducción del patrón actual (Espacio) - - - - Edit actions - Acciones de edición - - - - Draw mode (Shift+D) - Modo de dibujo (Shift+D) - - - - Erase mode (Shift+E) - Modo de borrado (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Voltear verticalmente - - - - Flip horizontally - Voltear horizontalmente - - - - Interpolation controls - Controles de interpolación - - - - Discrete progression - Interpolación escalonada - - - - Linear progression - Interpolación lineal - - - - Cubic Hermite progression - Interpolación de Hermite (suave) - - - - Tension value for spline - Valor de tensión para la spline - - - - Tension: - Tensión: - - - - Zoom controls - Controles de Acercamiento - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization controls - Controles de cuantización - - - - Quantization - Cuantización - - - - - Automation Editor - no clip - Editor de Automatización - no hay patrón - - - - - Automation Editor - %1 - Editor de Automatización - %1 - - - - Model is already connected to this clip. - El modelo ya está conectado a este patrón. - - - - AutomationClip - - - Drag a control while pressing <%1> - Arrastre un control mientras presiona <%1> - - - - AutomationClipView - - - Open in Automation editor - Abrir en el editor de Automatización - - - - Clear - Limpiar - - - - Reset name - Restaurar nombre - - - - Change name - Cambiar nombre - - - - Set/clear record - Activar/Desactivar grabación - - - - Flip Vertically (Visible) - Voltear verticalmente (Visible) - - - - Flip Horizontally (Visible) - Voltear horizontalmente (Visible) - - - - %1 Connections - %1 Conexiones - - - - Disconnect "%1" - Desconectar "%1" - - - - Model is already connected to this clip. - El modelo ya está conectado a este patrón. - - - - AutomationTrack - - - Automation track - Pista de Automatización - - - - PatternEditor - - - Beat+Bassline Editor - Editor de Ritmo+Bajo - - - - Play/pause current beat/bassline (Space) - Reproducir/pausar el ritmo/bajo actual (espacio) - - - - Stop playback of current beat/bassline (Space) - Detener la reproducción del ritmo/bajo actual (Espacio) - - - - Beat selector - Selector de ritmo - - - - Track and step actions - Acciones de pista y pasos - - - - Add beat/bassline - Agregar Ritmo/bajo - - - - Clone beat/bassline clip - - - - - Add sample-track - Agregar pista de muestras - - - - Add automation-track - Agregar pista de Automatización - - - - Remove steps - Quitar pasos - - - - Add steps - Agregar pasos - - - - Clone Steps - Clonar Pasos - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Abrir en Editor de Ritmo+Bajo - - - - Reset name - Restaurar nombre - - - - Change name - Cambiar nombre - - - - PatternTrack - - - Beat/Bassline %1 - Ritmo/Bajo %1 - - - - Clone of %1 - Clon de %1 - - - - BassBoosterControlDialog - - - FREQ - FREC - - - - Frequency: - Frecuencia: - - - - GAIN - GAN - - - - Gain: - Ganancia: - - - - RATIO - RAZÓN - - - - Ratio: - Razón: - - - - BassBoosterControls - - - Frequency - Frecuencia - - - - Gain - Ganancia - - - - Ratio - Razón - - - - BitcrushControlDialog - - - IN - ENTRADA - - - - OUT - SALIDA - - - - - GAIN - GAN - - - - Input gain: - Ganancia de Entrada: - - - - NOISE - RUIDO - - - - Input noise: - - - - - Output gain: - Ganancia de Salida: - - - - CLIP - RECORTE - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - Habilitar aplastamiento de frecuencia de muestreo - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - FREC - - - - Sample rate: - Frecuencia de Muestreo: - - - - STEREO - ESTÉREO - - - - Stereo difference: - Diferencia estéreo: - - - - QUANT - SECUENCIADOR - - - - Levels: - Niveles: - - - - BitcrushControls - - - Input gain - Ganancia de entrada - - - - Input noise - - - - - Output gain - Ganancia de salida - - - - Output clip - - - - - Sample rate - Frecuencia de muestreo - - - - Stereo difference - - - - - Levels - Niveles - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -899,124 +132,124 @@ If you're interested in translating LMMS in another language or want to imp - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License Licencia - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,50 +534,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1377,561 +610,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: Frecuencia de Muestreo: - + ? Xruns - + DSP Load: %p% - + &File Archivo (&F) - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help Ayuda (&H) - - toolBar + + Tool Bar - + Disk - - + + Home - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Tiempo: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Configuración - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &Nuevo - + Ctrl+N - + &Open... Abrir...(&O) - - + + Open... - + Ctrl+O - + &Save Guardar (&S) - + Ctrl+S - + Save &As... Guardar Como... (&A) - - + + Save As... - + Ctrl+Shift+S - + &Quit Salir (&Q) - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error Error - + Failed to load project - + Failed to save project - + Quit Salir - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - Mostrar IGU - - CarlaSettingsW @@ -1986,19 +1256,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2019,1487 +1289,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths Lugares - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: Tamaño: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Audio - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Razón: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Ataque: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Disipación: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Mantener: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Ganancia de salida - - - - - Gain - Ganancia - - - - Output volume - - - - - Input gain - Ganancia de entrada - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Razón - - - - Attack - Ataque - - - - Release - Disipación - - - - Knee - - - - - Hold - Mantener - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Ganancia de salida - - - - Input Gain - Ganancia de entrada - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Realimentacion - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Mezcla - - - - Controller - - - Controller %1 - Controlador %1 - - - - ControllerConnectionDialog - - - Connection Settings - Configuración de conexiones - - - - MIDI CONTROLLER - CONTROLADOR MIDI - - - - Input channel - Canal de entrada - - - - CHANNEL - CANAL - - - - Input controller - Controlador de entrada - - - - CONTROLLER - CONTROLADOR - - - - - Auto Detect - Auto-detectar - - - - MIDI-devices to receive MIDI-events from - Dispositivos MIDI desde los cuales recibir eventos MIDI - - - - USER CONTROLLER - CONTROLADOR DE USUARIO - - - - MAPPING FUNCTION - FUNCIÓN DE MAPEO - - - - OK - De acuerdo - - - - Cancel - Cancelar - - - - LMMS - LMMS - - - - Cycle Detected. - Ciclo detectado. - - - - ControllerRackView - - - Controller Rack - Bandeja de Controladores - - - - Add - Añadir - - - - Confirm Delete - Confirmar borrado - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - ¿Confirmar borrar? Hay conexiones asociadas a este controlador. Esta acción no se puede deshacer. - - - - ControllerView - - - Controls - Controles - - - - Rename controller - Renombrar el controlador - - - - Enter the new name for this controller - Escribe un nombre nuevo para este controlador - - - - LFO - LFO - - - - &Remove this controller - Quita&R este controlador - - - - Re&name this controller - Re&nombrar este controlador - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - Muestras de retardo - - - - Feedback - Realimentacion - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - Ganancia de salida - - - - DelayControlsDialog - - - DELAY - RETRASO - - - - Delay time - - - - - FDBK - RETRO - - - - Feedback amount - - - - - RATE - TASA - - - - LFO frequency - - - - - AMNT - CANT - - - - LFO amount - - - - - Out gain - - - - - Gain - Ganancia - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Ninguno - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3525,27 +1897,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3600,948 +1951,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - FREC - - - - - Cutoff frequency - Frecuencia de corte - - - - - RESO - RESO - - - - - Resonance - Resonancia - - - - - GAIN - GAN - - - - - Gain - Ganancia - - - - MIX - MEZCLA - - - - Mix - Mezcla - - - - Filter 1 enabled - Filtro 1 activado - - - - Filter 2 enabled - Filtro 2 activado - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Filtro 1 activado - - - - Filter 1 type - Filtro 1 tipo - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Q/Resonancia 1 - - - - Gain 1 - Ganancia 1 - - - - Mix - Mezcla - - - - Filter 2 enabled - Filtro 2 activado - - - - Filter 2 type - Filtro 2 tipo - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Q/Resonancia 2 - - - - Gain 2 - Ganancia 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - Notch - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - SV Notch - - - - - Fast Formant - Formante Rápido - - - - - Tripole - Tripolar - - - - Editor - - - Transport controls - Controles de Transporte - - - - Play (Space) - Reproducir (Espacio) - - - - Stop (Space) - Detener (Espacio) - - - - Record - Grabar - - - - Record while playing - Grabar reproduciendo - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Efecto activado - - - - Wet/Dry mix - Mezcla Wet/Dry - - - - Gate - Puerta - - - - Decay - Caída - - - - EffectChain - - - Effects enabled - Efectos activados - - - - EffectRackView - - - EFFECTS CHAIN - CADENA DE EFECTOS - - - - Add effect - Añadir efecto - - - - EffectSelectDialog - - - Add effect - Añadir efecto - - - - - Name - Nombre - - - - Type - Tipo - - - - Description - Descripción - - - - Author - Autor - - - - EffectView - - - On/Off - Encendido/Apagado - - - - W/D - W/D - - - - Wet Level: - NIvel de efecto: - - - - DECAY - CAÍDA - - - - Time: - Tiempo: - - - - GATE - PUERTA - - - - Gate: - Puerta: - - - - Controls - Controles - - - - Move &up - Mover arriba (&U) - - - - Move &down - Mover abajo (&D) - - - - &Remove this plugin - Quita&r este complemento - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - RETR - - - - - Pre-delay: - - - - - - ATT - ATA - - - - - Attack: - Ataque: - - - - HOLD - MANT - - - - Hold: - Mantener: - - - - DEC - CAI - - - - Decay: - Caída: - - - - SUST - SOST - - - - Sustain: - Sostenido: - - - - REL - DIS - - - - Release: - Disipación: - - - - - AMT - CANT - - - - - Modulation amount: - Cantidad de modulación: - - - - SPD - VEL - - - - Frequency: - Frecuencia: - - - - FREQ x 100 - FREC x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO: - - - - Hint - Pista - - - - Drag and drop a sample into this window. - Arrastre y suelte una muestra en esta ventana. - - - - EqControls - - - Input gain - Ganancia de entrada - - - - Output gain - Ganancia de salida - - - - Low-shelf gain - - - - - Peak 1 gain - Ganancia del Pico 1 - - - - Peak 2 gain - Ganancia del Pico 2 - - - - Peak 3 gain - Ganancia del Pico 3 - - - - Peak 4 gain - Ganancia del Pico 4 - - - - High-shelf gain - - - - - HP res - PasoAlto res - - - - Low-shelf res - - - - - Peak 1 BW - Ancho de Banda del Pico 1 - - - - Peak 2 BW - Ancho de Banda del Pico 2 - - - - Peak 3 BW - Ancho de Banda del Pico 3 - - - - Peak 4 BW - Ancho de Banda del Pico 4 - - - - High-shelf res - - - - - LP res - PasoBajo res - - - - HP freq - PasoAlto frec - - - - Low-shelf freq - - - - - Peak 1 freq - Pico 1 frec - - - - Peak 2 freq - Pico 2 frec - - - - Peak 3 freq - Pico 3 frec - - - - Peak 4 freq - Pico 4 frec - - - - High-shelf freq - - - - - LP freq - PasoBajo frec - - - - HP active - PasoAlto activo - - - - Low-shelf active - - - - - Peak 1 active - Pico 1 activo - - - - Peak 2 active - Pico 2 activo - - - - Peak 3 active - Pico 3 activo - - - - Peak 4 active - Pico 4 activo - - - - High-shelf active - - - - - LP active - PasoBajo activo - - - - LP 12 - PB 12 - - - - LP 24 - PB 24 - - - - LP 48 - PB 48 - - - - HP 12 - PA 12 - - - - HP 24 - PA 24 - - - - HP 48 - PA 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - Analizar ENTRADA - - - - Analyse OUT - Analizar SALIDA - - - - EqControlsDialog - - - HP - PA - - - - Low-shelf - - - - - Peak 1 - Pico 1 - - - - Peak 2 - Pico 2 - - - - Peak 3 - Pico 3 - - - - Peak 4 - Pico 4 - - - - High-shelf - - - - - LP - PB - - - - Input gain - Ganancia de entrada - - - - - - Gain - Ganancia - - - - Output gain - Ganancia de salida - - - - Bandwidth: - AnchoDeBanda: - - - - Octave - Octava - - - - Resonance : - Resonancia : - - - - Frequency: - Frecuencia: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Reso: - - - - BW: - AB: - - - - - Freq: - Frec: - - ExportProjectDialog @@ -4725,2126 +2134,652 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - Sobremuestreo: - - - - 1x (None) - 1x (Ninguno) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Comenzar - + Cancel Cancelar - - - Could not open file - No se puede abrir el archivo - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - El archivo %1 no puede abrirse para escritura. -Asegúrate de tener permisos de escritura tanto del archivo como del directorio que lo contiene e inténtalo de nuevo. - - - - Export project to %1 - Exportar proyecto a %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - Error - - - - Error while determining file-encoder device. Please try to choose a different output format. - Error al determinar el dispositivo codificador. Intenta elegir un formato de salida diferente. - - - - Rendering: %1% - Renderizando: %1% - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - Por favor ingresa un nuevo valor entre %1 y %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Explorador - - - - Search - Buscar - - - - Refresh list - Actualizar Lista - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Enviar a la pista de instrumento activa - - - - Open containing folder - - - - - Song Editor - Editor de Canción - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Cargando muestra - - - - Please wait, loading sample for preview... - Espera por favor mientras se carga la muestra para previsualizar... - - - - Error - Error - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Archivos de Fábrica --- - - - - FlangerControls - - - Delay samples - Muestras de retardo - - - - LFO frequency - - - - - Seconds - Segundos - - - - Stereo phase - - - - - Regen - Intensidad - - - - Noise - Ruido - - - - Invert - Invertir - - - - FlangerControlsDialog - - - DELAY - RETRASO - - - - Delay time: - - - - - RATE - TASA - - - - Period: - Period: - - - - AMNT - CANT - - - - Amount: - Cantidad: - - - - PHASE - - - - - Phase: - - - - - FDBK - RETRO - - - - Feedback amount: - - - - - NOISE - RUIDO - - - - White noise amount: - - - - - Invert - Invertir - - - - FreeBoyInstrument - - - Sweep time - Duración del barrido - - - - Sweep direction - Dirección del barrido - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Canal 1 Volumen - - - - - - Volume sweep direction - Dirección del barrido de volumen - - - - - - Length of each step in sweep - Duración de cada etapa del barrido - - - - Channel 2 volume - Canal 2 Volumen - - - - Channel 3 volume - Canal 3 Volumen - - - - Channel 4 volume - Canal 4 Volumen - - - - Shift Register width - Cambiar Amplitud del Registro - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - Canal 1 a SO2 (izq) - - - - Channel 2 to SO2 (Left) - Canal 2 a SO2 (izq) - - - - Channel 3 to SO2 (Left) - Canal 3 a SO2 (izq) - - - - Channel 4 to SO2 (Left) - Canal 4 a SO2 (izq) - - - - Channel 1 to SO1 (Right) - Canal 1 a SO1 (der) - - - - Channel 2 to SO1 (Right) - Canal 2 a SO1 (der) - - - - Channel 3 to SO1 (Right) - Canal 3 a SO1 (der) - - - - Channel 4 to SO1 (Right) - Canal 4 a SO1 (der) - - - - Treble - Agudos - - - - Bass - Graves - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - Duración del barrido - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - Duración de cada etapa del barrido: - - - - - - Length of each step in sweep - Duración de cada etapa del barrido - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Agudos: - - - - Treble - Agudos - - - - Bass: - Graves: - - - - Bass - Graves - - - - Sweep direction - Dirección del barrido - - - - - - - - Volume sweep direction - Dirección del barrido de volumen - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Canal 1 a SO1 (der) - - - - Channel 2 to SO1 (Right) - Canal 2 a SO1 (der) - - - - Channel 3 to SO1 (Right) - Canal 3 a SO1 (der) - - - - Channel 4 to SO1 (Right) - Canal 4 a SO1 (der) - - - - Channel 1 to SO2 (Left) - Canal 1 a SO2 (izq) - - - - Channel 2 to SO2 (Left) - Canal 2 a SO2 (izq) - - - - Channel 3 to SO2 (Left) - Canal 3 a SO2 (izq) - - - - Channel 4 to SO2 (Left) - Canal 4 a SO2 (izq) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Cantidad de envío del canal - - - - Move &left - Mover a la Izquierda (&L) - - - - Move &right - Mover a la Derecha (&R) - - - - Rename &channel - Renombrar &Canal - - - - R&emove channel - Borrar canal (&E) - - - - Remove &unused channels - Quitar los canales que no esten en &uso - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Asignar a: - - - - New mixer Channel - Nuevo Canal FX - - - - Mixer - - - Master - Maestro - - - - - - Channel %1 - FX %1 - - - - Volume - Volumen - - - - Mute - Silencio - - - - Solo - Solo - - - - MixerView - - - Mixer - Mezcladora FX - - - - Fader %1 - Fader FX %1 - - - - Mute - Silencio - - - - Mute this mixer channel - Silenciar este canal FX - - - - Solo - Solo - - - - Solo mixer channel - Canal FX Solo - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Cantidad de envío del canal %1 al canal %2 - - - - GigInstrument - - - Bank - Banco - - - - Patch - Ajuste - - - - Gain - Ganancia - - - - GigInstrumentView - - - - Open GIG file - Abrir archivo GIG - - - - Choose patch - - - - - Gain: - Ganancia: - - - - GIG Files (*.gig) - Archivos GIG (*.gig) - - - - GuiApplication - - - Working directory - Directorio de trabajo - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - El directorio de trabajo LMMS %1 no existe. ¿Deseas crearlo ahora? Puedes cambiar este directorio luego via Edición -> Configuración. - - - - Preparing UI - Preparando IU - - - - Preparing song editor - Preparando editor de canción - - - - Preparing mixer - Preparando mezclador - - - - Preparing controller rack - Preparando bandeja de controladores - - - - Preparing project notes - Preparando notas del proyecto - - - - Preparing beat/bassline editor - Preparando editor de ritmo/bajo - - - - Preparing piano roll - Preparando piano roll - - - - Preparing automation editor - Preparando editor de automatización - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpegio - - - - Arpeggio type - tipo de arpegio - - - - Arpeggio range - Extensión del arpegio - - - - Note repeats - - - - - Cycle steps - Ciclar pasos - - - - Skip rate - Tasa de salto - - - - Miss rate - Tasa de omisión - - - - Arpeggio time - Duración del arpegio - - - - Arpeggio gate - Puerta del arpegio - - - - Arpeggio direction - Dirección del arpegio - - - - Arpeggio mode - Modo del arpegio - - - - Up - Arriba - - - - Down - Abajo - - - - Up and down - Arriba y abajo - - - - Down and up - Abajo y arriba - - - - Random - Aleatorio - - - - Free - Libre - - - - Sort - Ordenado - - - - Sync - Sincronizado - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGIO - - - - RANGE - EXTENSIÓN - - - - Arpeggio range: - Extensión del arpegio: - - - - octave(s) - octava(s) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - CICLO - - - - Cycle notes: - Ciclar notas: - - - - note(s) - nota(s) - - - - SKIP - SALTAR - - - - Skip rate: - Tasa de salto: - - - - - - % - % - - - - MISS - OMITIR - - - - Miss rate: - Tasa de omisión: - - - - TIME - DURACIÓN - - - - Arpeggio time: - Duración de las notas (ms): - - - - ms - ms - - - - GATE - PUERTA - - - - Arpeggio gate: - Puerta del arpegio: - - - - Chord: - Acorde: - - - - Direction: - Dirección: - - - - Mode: - Modo: - InstrumentFunctionNoteStacking - + octave octava - - + + Major Mayor - + Majb5 Mayor b5 - + minor menor - + minb5 menor b5 - + sus2 sus 9na - + sus4 sus 4 - + aug aum - + augsus4 aum sus 4 - + tri disminuído - + 6 Mayor añad 6 - + 6sus4 sus 4 añad 6 - + 6add9 Mayor 6/9 - + m6 menor 6 - + m6add9 menor 6/9 - + 7 Dominante (1 3 5 b7) - + 7sus4 Dominante sus4 (1-4-5-b7) - + 7#5 Dominante #5 (1-3-#5-b7) - + 7b5 Dominante b5(1-3-b5-b7) - + 7#9 Dominante #9 - + 7b9 Dominante b9 - + 7#5#9 Dominante #5 #9 - + 7#5b9 Dominante #5b9 - + 7b5b9 Dominante b5b9 - + 7add11 Dominante añad 11 - + 7add13 Dominante añad13 - + 7#11 Dominante #11 - + Maj7 Mayor 7M - + Maj7b5 Mayor7M b5 - + Maj7#5 Mayor7may #5 - + Maj7#11 Mayor7may #11 - + Maj7add13 Mayor7may añad13 - + m7 m7(menor 7 men) - + m7b5 semidisminuído (1-b3-b5-b7) - + m7b9 m7 b9 - + m7add11 m7 añad11 - + m7add13 m7 añad13 - + m-Maj7 m 7M (1-b3-5-7) - + m-Maj7add11 m-7M añad11 - + m-Maj7add13 m-7M añad13 - + 9 Dom 9 (1-3-5-b7-9) - + 9sus4 Dom 9 sus4 - + add9 mayor añad 9 - + 9#5 Dom #5 9 - + 9b5 Dom b5 9 - + 9#11 Dom 9 #11 - + 9b13 Dom 9 b13 - + Maj9 9 (1-3-5-7-9) - + Maj9sus4 9sus4 (1-4-5-7-9) - + Maj9#5 9na #5 (1-3-#5-7-9) - + Maj9#11 9 #11 (1-3-5-7-9-#11) - + m9 m 7/9 - + madd9 m añad 9 - + m9b5 semidisminuído 9 - + m9-Maj7 m9-7M - + 11 Dom 11 (1-3-5-b7-9-11) - + 11b9 Dom b9/11 - + Maj11 11na (1-3-5-7-9-11) - + m11 m 11 (1-b3-5-b7-9-11) - + m-Maj11 m 7M 11 - + 13 Dom 13 (...b7-9-11-13) - + 13#9 Dom #9 13 - + 13b9 Dom b9 13 - + 13b5b9 Dom b5 b9 13 - + Maj13 13na (...7-9-11-13) - + m13 m13 (...b7-9-11-13) - + m-Maj13 m 7M 13 (...7-9-11-13) - + Harmonic minor Menor armónica - + Melodic minor Menor melódica - + Whole tone Hexatónica - + Diminished Escala Disminuida - + Major pentatonic Pentatónica mayor - + Minor pentatonic Pentatónica menor - + Jap in sen In Sen (japón) - + Major bebop Bebop mayor - + Dominant bebop Bebop dominante - + Blues Pentatónica con BlueNote - + Arabic Árabe - + Enigmatic Enigmática - + Neopolitan Napolitana - + Neopolitan minor Napolitana menor - + Hungarian minor Húngara menor - + Dorian modo Dórico - + Phrygian Frigio - + Lydian modo Lidio - + Mixolydian modo Mixolidio - + Aeolian modo Eólico - + Locrian modo Locrio - + Minor Menor Natural (Eólica) - + Chromatic Cromática - + Half-Whole Diminished Simétrica - + 5 5ta - + Phrygian dominant Frigio dominante - + Persian Persa - - - Chords - Acordes - - - - Chord type - Tipo de acorde - - - - Chord range - Extensión del acorde - - - - InstrumentFunctionNoteStackingView - - - STACKING - SUPERPOSICIÓN - - - - Chord: - Acorde: - - - - RANGE - EXTENSIÓN - - - - Chord range: - Extensión del acorde: - - - - octave(s) - octava(s) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - HABILITAR ENTRADA MIDI - - - - ENABLE MIDI OUTPUT - HABILITAR SALIDA MIDI - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTA - - - - MIDI devices to receive MIDI events from - Dispositivos MIDI desde los cuales recibir eventos MIDI - - - - MIDI devices to send MIDI events to - Dispositivos MIDI hacia los cuales enviar eventos MIDI - - - - CUSTOM BASE VELOCITY - VELOCIDAD BÁSICA PERSONALIZADA - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - VELOCIDAD BÁSICA - - - - InstrumentTuningView - - - MASTER PITCH - TRANSPORTE - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME VOLUMEN - + Volume Volumen - + CUTOFF CORTE - - + Cutoff frequency Frecuencia de corte - + RESO RESO - + Resonance Resonancia - - - Envelopes/LFOs - Envolventes/LFOs - - - - Filter type - Tipo de filtro - - - - Q/Resonance - Q/Resonancia - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - Notch - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - SV Notch - - - - Fast Formant - Formante Rápido - - - - Tripole - Tripolar - - InstrumentSoundShapingView + JackAppDialog - - TARGET - DESTINO - - - - FILTER - FILTRO - - - - FREQ - FREC - - - - Cutoff frequency: - Frecuencia de corte: - - - - Hz - Hz - - - - Q/RESO + + Add JACK Application - - Q/Resonance: + + Note: Features not implemented yet are greyed out - - Envelopes, LFOs and filters are not supported by the current instrument. - Envolventes, LFOx y filtros no son soportados por este instrumento. - - - - InstrumentTrack - - - - unnamed_track - pista_sin_título - - - - Base note - Nota base - - - - First note + + Application - - Last note - Ultima nota - - - - Volume - Volumen - - - - Panning - Paneo - - - - Pitch - Altura - - - - Pitch range - Registro - - - - Mixer channel - Canal FX - - - - Master pitch - Transporte - - - - Enable/Disable MIDI CC + + Name: - - CC Controller %1 + + Application: - - - Default preset - Configuración predeterminada - - - - InstrumentTrackView - - - Volume - Volumen - - - - Volume: - Volumen: - - - - VOL - VOL - - - - Panning - Paneo - - - - Panning: - Paneo: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Entrada - - - - Output - Salida - - - - Open/Close MIDI CC Rack + + From template - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - CONFIGURACIÓN GENERAL + + Custom + - - Volume - Volumen + + Template: + - - Volume: - Volumen: + + Command: + - - VOL - VOL + + Setup + - - Panning - Paneo + + Session Manager: + - - Panning: - Paneo: + + None + - - PAN - PAN + + Audio inputs: + - - Pitch - Altura + + MIDI inputs: + - - Pitch: - Altura: + + Audio outputs: + - - cents - cents + + MIDI outputs: + - - PITCH - ALTURA + + Take control of main application window + - - Pitch range (semitones) - Extensión (en semitonos) + + Workarounds + - - RANGE - EXTENSIÓN + + Wait for external application start (Advanced, for Debug only) + - - Mixer channel - Canal FX + + Capture only the first X11 Window + - - CHANNEL - FX + + Use previous client output buffer as input for the next client + - - Save current instrument track settings in a preset file - Guardar la configuración de esta pista de instrumento en un archivo de preconfiguración + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - SAVE - GUARDAR + + Error here + - - Envelope, filter & LFO - Sobre, Filtro y LFO - - - - Chord stacking & arpeggio - Acorde de Apilamiento y Arpegio - - - - Effects - Efectos - - - - MIDI - MIDI - - - - Miscellaneous - Diversos - - - - Save preset - Guardar preconfiguración - - - - XML preset file (*.xpf) - archivo de preconfiguración XML (*.xpf) - - - - Plugin - Plugin - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6852,947 +2787,11 @@ Asegúrate de tener permisos de escritura tanto del archivo como del directorio JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Establecer como Lineal - - - - Set logarithmic - Establecer como Logarítmico - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Por favor ingresa un nuevo valor entre -96.0 dBFS y 6.0 dBFS: - - - - Please enter a new value between %1 and %2: - Por favor ingresa un nuevo valor entre %1 y %2: - - - - LadspaControl - - - Link channels - Enlazar canales - - - - LadspaControlDialog - - - Link Channels - Enlazar Canales - - - - Channel - Canal - - - - LadspaControlView - - - Link channels - Enlazar canales - - - - Value: - Valor: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Se requiere un complemento LADSPA desconocido %1. - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Por favor ingresa un nuevo valor entre %1 y %2: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Por favor ingresa un nuevo valor entre %1 y %2: - - - - LeftRightNav - - - - - Previous - Anterior - - - - - - Next - Siguiente - - - - Previous (%1) - Anterior (%1) - - - - Next (%1) - Siguiente (%1) - - - - LfoController - - - LFO Controller - Controlador LFO - - - - Base value - Valor base - - - - Oscillator speed - Velocidad del oscilador - - - - Oscillator amount - Cantidad del oscilador - - - - Oscillator phase - Fase del oscilador - - - - Oscillator waveform - Forma de onda del oscilador - - - - Frequency Multiplier - Multiplicador de frecuencia - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - - - - - FREQ - FREC - - - - LFO frequency: - - - - - AMNT - CANT - - - - Modulation amount: - Cantidad de modulación: - - - - PHS - FASE - - - - Phase offset: - Desfase: - - - - degrees - - - - - Sine wave - Onda sinusoidal - - - - Triangle wave - Onda triangular - - - - Saw wave - Onda de sierra - - - - Square wave - Onda cuadrada - - - - Moog saw wave - Onda de sierra Moog - - - - Exponential wave - Onda Exponencial - - - - White noise - Ruido blanco - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - Generando tablas de onda - - - - Initializing data structures - Inicializando estructuras de datos - - - - Opening audio and midi devices - Abriendo dispositivos de audio y midi - - - - Launching mixer threads - Lanzando tareas del mezclador - - - - MainWindow - - - Configuration file - Archivo de configuración - - - - Error while parsing configuration file at line %1:%2: %3 - Error al analizar el archivo de configuración en la línea %1:%2: %3 - - - - Could not open file - No se puede abrir el archivo - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - El archivo %1 no puede abrirse para escritura. -Asegúrate de tener permisos de escritura tanto del archivo como del directorio que lo contiene e inténtalo de nuevo. - - - - Project recovery - Recuperar proyecto - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Hemos encontrado un archivo de recuperación de proyecto. Parece que la última sesión no se cerró correctamente o se está ejecutando otra instancia de LMMS. ¿Quieres recuperar el proyecto de esta sesión? - - - - - Recover - Recuperar - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Recuperar el archivo. Por favor no ejecutes múltiples instancias de LMMS al hacerlo. - - - - - Discard - Descartar - - - - Launch a default session and delete the restored files. This is not reversible. - Iniciar una sesión por defecto y borrar los archivos restaurados. Esta acción no es reversible. - - - - Version %1 - Versión %1 - - - - Preparing plugin browser - Preparando el explorador de complementos - - - - Preparing file browsers - Preparando el explorador de archivos - - - - My Projects - Mis Proyectos - - - - My Samples - Mis Muestras - - - - My Presets - Mis Preconfiguraciones - - - - My Home - Carpeta Personal - - - - Root directory - Directorio raíz - - - - Volumes - Volúmenes - - - - My Computer - Equipo - - - - &File - Archivo (&F) - - - - &New - &Nuevo - - - - &Open... - Abrir...(&O) - - - - Loading background picture - - - - - &Save - Guardar (&S) - - - - Save &As... - Guardar Como... (&A) - - - - Save as New &Version - Guardar como una Nueva &Versión - - - - Save as default template - Guardar como plantilla por defecto - - - - Import... - Importar... - - - - E&xport... - E&xportar... - - - - E&xport Tracks... - E&xportar Pistas... - - - - Export &MIDI... - Exportar &MIDI... - - - - &Quit - Salir (&Q) - - - - &Edit - &Editar - - - - Undo - Deshacer - - - - Redo - Rehacer - - - - Settings - Configuración - - - - &View - &Ver - - - - &Tools - Herramientas (&T) - - - - &Help - Ayuda (&H) - - - - Online Help - Ayuda en línea - - - - Help - Ayuda - - - - About - Acerca de - - - - Create new project - Crear un proyecto nuevo - - - - Create new project from template - Crear un proyecto nuevo desde una plantilla - - - - Open existing project - Abrir un proyecto existente - - - - Recently opened projects - Proyectos recientes - - - - Save current project - Guardar este proyecto - - - - Export current project - Exportar este proyecto - - - - Metronome - - - - - - Song Editor - Editor de Canción - - - - - Beat+Bassline Editor - Editor de Ritmo+Bajo - - - - - Piano Roll - Piano Roll - - - - - Automation Editor - Editor de Automatización - - - - - Mixer - Mezcladora FX - - - - Show/hide controller rack - Mostrar/ocultar bandeja de controladores - - - - Show/hide project notes - Mostrar/ocultar notas del proyecto - - - - Untitled - Sin Título - - - - Recover session. Please save your work! - Recuperar sesión. ¡Por favor guarda tu trabajo! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Proyecto recuperado no guardado - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Este proyecto se ha recuperado de la sesión anterior. No ha sido guardado con anterioridad y se perderá para siempre si no lo guardas. ¿Deseas guardarlo ahora? - - - - Project not saved - Proyecto no guardado - - - - The current project was modified since last saving. Do you want to save it now? - El proyecto actual ha sido modificado desde la última vez que se guardó. ¿Quieres guardarlo ahora? - - - - Open Project - Abrir Proyecto - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Guardar proyecto - - - - LMMS Project - Proyecto LMMS - - - - LMMS Project Template - Plantilla de proyecto LMMS - - - - Save project template - Guardar plantilla de proyecto - - - - Overwrite default template? - ¿Sobreescribir la plantilla por defecto? - - - - This will overwrite your current default template. - Esta acción sobreescribirá tu actual plantilla por defecto. - - - - Help not available - Ayuda no disponible - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Actualmente no hay ayuda disponible en LMMS. -Por favor visita http://lmms.sf.net/wiki para obtener documentación acerca de LMMS. - - - - Controller Rack - Bandeja de Controladores - - - - Project Notes - Notas del Proyecto - - - - Fullscreen - - - - - Volume as dBFS - Volumen en dBFS - - - - Smooth scroll - Desplazamiento suave - - - - Enable note labels in piano roll - Nombres de notas en piano roll - - - - MIDI File (*.mid) - Archivo MIDI (*.mid) - - - - - untitled - Sin título - - - - - Select file for project-export... - Selecciona un archivo para exportar proyecto... - - - - Select directory for writing exported tracks... - Elige en qué directorio se escribirán las pistas exportadas... - - - - Save project - Guardar proyecto - - - - Project saved - Proyecto guardado - - - - The project %1 is now saved. - El proyecto %1 ha sido guardado. - - - - Project NOT saved. - Proyecto NO guardado. - - - - The project %1 was not saved! - ¡El proyecto %1 no ha sido guardado! - - - - Import file - Importar archivo - - - - MIDI sequences - secuencias MIDI - - - - Hydrogen projects - Proyectos de Hydrogen - - - - All file types - Todos los archivos - - - - MeterDialog - - - - Meter Numerator - Numerador del Compás - - - - Meter numerator - - - - - - Meter Denominator - Denominador del Compás - - - - Meter denominator - - - - - TIME SIG - COMPÁS - - - - MeterModel - - - Numerator - Numerador - - - - Denominator - Denominador - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Controlador MIDI - - - - unnamed_midi_controller - controlador_midi_sin_nombre - - - - MidiImport - - - - Setup incomplete - Configuración incompleta - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Nos has complidado LMMS con soporte para el reproductor SoundFont2, que se utiliza para añadir los sonidos por defecto de los archivos MIDI importados. Por lo tanto, no se reproducirá ningún sonido luego de importar este archivo MIDI. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Numerador - - - - Denominator - Denominador - - - - Track - Pista - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - Ha fallado el servidor JACK - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Parece ser que el servidor JACK está apagado. - - MidiPatternW @@ -7998,2730 +2997,369 @@ Por favor visita http://lmms.sf.net/wiki para obtener documentación acerca de L Salir (&Q) - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Canal de entrada - - - - Output channel - Canal de salida - - - - Input controller - Controlador de entrada - - - - Output controller - Controlador de salida - - - - Fixed input velocity - Velocidad de entrada fija - - - - Fixed output velocity - Velocidad de salida fija - - - - Fixed output note - Nota de salida fija - - - - Output MIDI program - Programa de salida MIDI - - - - Base velocity - Velocidad básica - - - - Receive MIDI-events - Recibir eventos MIDI - - - - Send MIDI-events - Enviar eventos MIDI - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - Osc 3 desfase estéreo - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Vista seleccionada - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - Onda Sinusoidal - - - - Bandlimited Triangle wave - Onda triangular de BandaLimitada - - - - Bandlimited Saw wave - Onda de sierra de bandaLimitada - - - - Bandlimited Ramp wave - Onda de rampa de bandaLimitada - - - - Bandlimited Square wave - Onda cuadrada de BandaLimitada - - - - Bandlimited Moog saw wave - Onda de sierra Moog de banda Limitada - - - - - Soft square wave - Onda Cuadrada suave - - - - Absolute sine wave - Onda Sinusoidal Absoluta - - - - - Exponential wave - Onda Exponencial - - - - White noise - Ruido blanco - - - - Digital Triangle wave - Onda triangular digital - - - - Digital Saw wave - Onda de sierra digital - - - - Digital Ramp wave - Onda de Rampa digital - - - - Digital Square wave - Onda Cuadrada digital - - - - Digital Moog saw wave - Onda de sierra Moog digital - - - - Triangle wave - Onda triangular - - - - Saw wave - Onda de sierra - - - - Ramp wave - Onda de rampa - - - - Square wave - Onda Cuadrada - - - - Moog saw wave - Onda de sierra Moog - - - - Abs. sine wave - Onda sinus. abs - - - - Random - Aleatorio - - - - Random smooth - Aleatoria suave - - - - MonstroView - - - Operators view - Vista de Operadores - - - - Matrix view - Vista de Matriz - - - - - - Volume - Volumen - - - - - - Panning - Paneo - - - - - - Coarse detune - Desafinación gruesa - - - - - - semitones - semitonos - - - - - Fine tune left - - - - - - - - cents - cents - - - - - Fine tune right - - - - - - - Stereo phase offset - Desfase estéreo - - - - - - - - deg - deg - - - - Pulse width - Amplitud del pulso - - - - Send sync on pulse rise - Enviar sinc en la fase ascendente del pulso - - - - Send sync on pulse fall - Enviar sinc en la fase descendente del pulso - - - - Hard sync oscillator 2 - Sincronización dura oscilador 2 - - - - Reverse sync oscillator 2 - Sincronización reversa oscilador 2 - - - - Sub-osc mix - Mezcla de sub-osc - - - - Hard sync oscillator 3 - Sincronización dura oscilador 3 - - - - Reverse sync oscillator 3 - Sincronización reversa oscilador 3 - - - - - - - Attack - Ataque - - - - - Rate - Tasa - - - - - Phase - Fase - - - - - Pre-delay - Pre-retraso - - - - - Hold - Mantener - - - - - Decay - Caída - - - - - Sustain - Sostén - - - - - Release - Disipación - - - - - Slope - Curva - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Cantidad de modulación - - - - MultitapEchoControlDialog - - - Length - Duración - - - - Step length: - Longitud del paso: - - - - Dry - Limpio - - - - Dry gain: - - - - - Stages - Etapas - - - - Low-pass stages: - - - - - Swap inputs - Intercambiar entradas - - - - Swap left and right input channels for reflections - Intercambiar los canales de entrada izquierdo y derecho para reflexiones - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - Canal 1 Volumen - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - Canal 2 desafinación gruesa - - - - Channel 2 Volume - Canal 2 Volumen - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Canal 3 Volumen - - - - Channel 4 volume - Canal 4 Volumen - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Volumen maestro - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Volumen - - - - - - Coarse detune - Desafinación gruesa - - - - - - Envelope length - Longitud de la Envolvente - - - - Enable channel 1 - Habilitar el canal 1 - - - - Enable envelope 1 - Habilitar la envolvente 1 - - - - Enable envelope 1 loop - Habilitar el bucle de la envolvente 1 - - - - Enable sweep 1 - Habilitar barrido 1 - - - - - Sweep amount - Cantidad de barrido - - - - - Sweep rate - Tasa de barrido - - - - - 12.5% Duty cycle - Ciclo de trabajo 12.5% - - - - - 25% Duty cycle - Ciclo de trabajo 25% - - - - - 50% Duty cycle - Ciclo de trabajo 50% - - - - - 75% Duty cycle - Ciclo de trabajo 75% - - - - Enable channel 2 - Habilitar el canal 2 - - - - Enable envelope 2 - Habilitar la envolvente 2 - - - - Enable envelope 2 loop - Habilitar el bucle de la envolvente 2 - - - - Enable sweep 2 - Habilitar barrido 2 - - - - Enable channel 3 - Habilitar el canal 3 - - - - Noise Frequency - Frecuencia de Ruido - - - - Frequency sweep - Barrido de Frecuencia - - - - Enable channel 4 - Habilitar el canal 4 - - - - Enable envelope 4 - Habilitar la envolvente 4 - - - - Enable envelope 4 loop - Habilitar el bucle de la envolvente 4 - - - - Quantize noise frequency when using note frequency - Cuantizar la frecuencia de ruido al usar frecuencia de nota - - - - Use note frequency for noise - Usar frecuencia de nota para ruido - - - - Noise mode - Modo de Ruido - - - - Master volume - Volumen maestro - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Ajuste - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - Ataque - - - - - Decay - Caída - - - - - Release - Disipación - - - - - Frequency multiplier - Multiplicador de frecuencia - - - - OscillatorObject - - - Osc %1 waveform - Forma de onda del osc %1 - - - - Osc %1 harmonic - armónicos del Osc %1 - - - - - Osc %1 volume - Osc %1 Volumen - - - - - Osc %1 panning - Osc %1 paneo - - - - - Osc %1 fine detuning left - Osc %1 desafinación fina izquierda - - - - Osc %1 coarse detuning - Osc %1 desafinación gruesa - - - - Osc %1 fine detuning right - Osc %1 desafinación fina derecha - - - - Osc %1 phase-offset - Osc %1 desfase - - - - Osc %1 stereo phase-detuning - Osc %1 desafinación de fase estéreo - - - - Osc %1 wave shape - Osc %1 forma de onda - - - - Modulation type %1 - Tipo de modulación %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - Click para activar - - PatchesDialog + Qsynth: Channel Preset Qsynth: Preconfiguración del Canal + Bank selector Selector de banco + Bank Banco + Program selector Selector de programa + Patch Ajuste + Name Nombre + OK De acuerdo + Cancel Cancelar - - PatmanView - - - Open patch - - - - - Loop - Bucle - - - - Loop mode - Modo Bucle - - - - Tune - Afinación - - - - Tune mode - Modo de Afinación - - - - No file selected - Ningún archivo seleccionado - - - - Open patch file - Abrir archivo Patch - - - - Patch-Files (*.pat) - Archivos Patch (*.pat) - - - - MidiClipView - - - Open in piano-roll - Abrir en piano-roll - - - - Set as ghost in piano-roll - - - - - Clear all notes - Borrar todas las notas - - - - Reset name - Restaurar nombre - - - - Change name - Cambiar nombre - - - - Add steps - Agregar pasos - - - - Remove steps - Quitar pasos - - - - Clone Steps - Clonar Pasos - - - - PeakController - - - Peak Controller - Controlador de Picos - - - - Peak Controller Bug - Error en el controlador de Picos - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Debido a un error en versiones antiguas de LMMS, el controlador de Picos tal vez no se conecte apropiadamente. Por favor asegúrate que los controladores de picos estén conectados apropiadamente y vuelve a guardar este archivo. Disculpa los inconvenientes. - - - - PeakControllerDialog - - - PEAK - PICO - - - - LFO Controller - Controlador LFO - - - - PeakControllerEffectControlDialog - - - BASE - BASE - - - - Base: - - - - - AMNT - CANT - - - - Modulation amount: - Cantidad de modulación: - - - - MULT - MULT - - - - Amount multiplicator: - - - - - ATCK - ATQ - - - - Attack: - Ataque: - - - - DCAY - CAI - - - - Release: - Disipación: - - - - TRSH - UMBRAL - - - - Treshold: - Umbral: - - - - Mute output - Silenciar salida - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Valor base - - - - Modulation amount - Cantidad de modulación - - - - Attack - Ataque - - - - Release - Disipación - - - - Treshold - Umbral - - - - Mute output - Silenciar salida - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - Velocidad de Nota - - - - Note Panning - Paneo de nota - - - - Mark/unmark current semitone - Marcar/desmarcar este semitono - - - - Mark/unmark all corresponding octave semitones - Marcar/desmarcar todos los semitonos en la octava correspondiente - - - - Mark current scale - Marcar la escala actual - - - - Mark current chord - Marcar el acorde actual - - - - Unmark all - Desmarcar todo - - - - Select all notes on this key - Seleccionar todas las notas en este tono - - - - Note lock - Figura actual - - - - Last note - Ultima nota - - - - No key - - - - - No scale - Sin escala - - - - No chord - Sin acorde - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Velocidad: %1% - - - - Panning: %1% left - Paneo: %1% izq - - - - Panning: %1% right - Paneo: %1% der - - - - Panning: center - Paneo: centro - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - ¡Por favor abre el patrón haciendo doble click sobre él! - - - - - Please enter a new value between %1 and %2: - Por favor ingresa un nuevo valor entre %1 y %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Reproducir/Pausar el patrón actual (Espacio) - - - - Record notes from MIDI-device/channel-piano - Grabar notas desde el dispositivo/canal/teclado MIDI - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Grabar notas desde el dispositivo/canal/teclado MIDI escuchando la Canción o el Ritmo+Bajo - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Detener la reproducción del patrón actual (Espacio) - - - - Edit actions - Acciones de edición - - - - Draw mode (Shift+D) - Modo de dibujo (Shift+D) - - - - Erase mode (Shift+E) - Modo de borrado (Shift+E) - - - - Select mode (Shift+S) - Modo de Selección (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - Cuantizar - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Controles de copiado y pegado - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Controles de la línea de Tiempo - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Controles de acercamiento y nota - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization - Cuantización - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - Piano-Roll - %1 - - - - - Piano-Roll - no clip - Piano-Roll - sin patrón - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Nota base - - - - First note - - - - - Last note - Ultima nota - - - - Plugin - - - Plugin not found - Complemento no encontrado - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - ¡El complemento "%1" no fue encontrado o no se pudo cargar! -Razón: "%2" - - - - Error while loading plugin - Error al cargar el complemento - - - - Failed to load plugin "%1"! - Falló la carga del complemento "%1"! - - PluginBrowser - - Instrument Plugins - Instrumentos - - - - Instrument browser - Explorador de Instrumentos - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Arrastra un instrumento al Editor de Canción, al Editor de Ritmo+Bajo o sobre una pista de instrumento existente. - - - + no description sin descripción - + A native amplifier plugin Un complemento de amplificación nativo - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Sampler simple con varias configuraciones para usar muestras (por ej. percusión) en una pista de instrumento - + Boost your bass the fast and simple way Realza tus graves de forma rápida y fácil - + Customizable wavetable synthesizer Sintetizador de tabla de ondas personalizable - + An oversampling bitcrusher Un reductor de bits de sobremuestreo - + Carla Patchbay Instrument Bahía de Conexiones Carla - + Carla Rack Instrument Bandeja de complementos Carla - + A dynamic range compressor. - + A 4-band Crossover Equalizer Un ecualizador cruzado de 4 bandas - + A native delay plugin Un complemento de Delay nativo - + A Dual filter plugin Un complemento de filtro dual - + plugin for processing dynamics in a flexible way Complemento para procesar dinámicas de una manera flexible - + A native eq plugin Un complemento de EQ nativo - + A native flanger plugin Un complemento Flanger nativo - + Emulation of GameBoy (TM) APU Emulación del APU de GameBoy (TM) - + Player for GIG files Reproductor para archivos GIG - + Filter for importing Hydrogen files into LMMS Filtro para importar archivos de Hydrogen a LMMS - + Versatile drum synthesizer Sintetizador de percusión versátil - + List installed LADSPA plugins Listar los complementos LADSPA instalados - + plugin for using arbitrary LADSPA-effects inside LMMS. complemento para usar efectos LADSPA a voluntad en LMMS. - + Incomplete monophonic imitation TB-303 - Imitación monofónica incompleta del TB-303 + - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS Filtro para exportar archivos MIDI desde LMMS - + Filter for importing MIDI-files into LMMS Filtro para importar archivos MIDI en LMMS - + Monstrous 3-oscillator synth with modulation matrix Monstruoso sinte de 3 osciladores con matriz de modulación - + A multitap echo delay plugin Un complemento de Multitap echo delay - + A NES-like synthesizer Un sintetizador tipo-NES - + 2-operator FM Synth Sintetizador FM de 2 operadores - + Additive Synthesizer for organ-like sounds Sintetizador Aditivo para crear sonidos estilo órgano - + GUS-compatible patch instrument Instrumento de "patches" compatible con GUS - + Plugin for controlling knobs with sound peaks Complemento para controlar perillas a través de los picos de sonido - + Reverb algorithm by Sean Costello Algoritmo de reverberación por Sean Costello - + Player for SoundFont files Reproductor de archivos SoundFont - + LMMS port of sfxr Port de sfxr para LMMS - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulación del MOS6581 y del MOS8580 SID. Este chip fue usado en las computadoras Commodore 64. - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file Complemento para mejorar la separación estéreo de un archivo de entrada estéreo - + Plugin for freely manipulating stereo output Complemento para manipular libremente la salida estéreo - + Tuneful things to bang on Cosas melodiosas para pegarles - + Three powerful oscillators you can modulate in several ways Tres poderosos osciladores que puedes modular de muchas maneras - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS Anfitrión VST para usar complementos VST(i) en LMMS - + Vibrating string modeler Modelador de cuerdas vibrantes - + plugin for using arbitrary VST effects inside LMMS. complemento para usar efectos VST a voluntad en LMMS. - + 4-oscillator modulatable wavetable synth Sintetizador de tabla de ondas de 4 osciladores modulables - + plugin for waveshaping complemento para modelado de ondas - + Mathematical expression parser Analizador de Expresión Matemática - + Embedded ZynAddSubFX ZynAddSubFX integrado - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Tipo - - - - Effects - Efectos - - - - Instruments - Instrumentos - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Cancelar - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Tipo: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Nombre - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10820,93 +3458,98 @@ Este chip fue usado en las computadoras Commodore 64. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Tipo: - + Maker: - + Copyright: - + Unique ID: @@ -10914,16 +3557,457 @@ Plugin Name PluginFactory - + Plugin not found. Complemento no encontrado - + LMMS plugin %1 does not have a plugin descriptor named %2! ¡El complemento LMMS %1 no tiene un identificador llamado %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10938,157 +4022,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Cerrar + @@ -11103,50 +4091,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off Encendido/Apagado - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11161,2286 +4149,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Notas del Proyecto - - - - Enter project notes here - Ingrese las Notas del Proyecto Aquí - - - - Edit Actions - Edición - - - - &Undo - Deshacer(&U) - - - - %1+Z - %1+Z - - - - &Redo - &Rehacer - - - - %1+Y - %1+Y - - - - &Copy - &Copiar - - - - %1+C - %1+C - - - - Cu&t - Cor&tar - - - - %1+X - %1+X - - - - &Paste - &Pegar - - - - %1+V - %1+V - - - - Format Actions - Formato - - - - &Bold - Negrita (&B) - - - - %1+B - %1+B - - - - &Italic - Cursiva (&I) - - - - %1+I - %1+I - - - - &Underline - S&ubrayado - - - - %1+U - %1+U - - - - &Left - Izquierda(&L) - - - - %1+L - %1+L - - - - C&enter - C&entrar - - - - %1+E - %1+E - - - - &Right - De&recha - - - - %1+R - %1+R - - - - &Justify - &Justificar - - - - %1+J - %1+J - - - - &Color... - &Color... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI Mostrar IGU - + Help Ayuda + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Nombre: - - URI: - - - - - - + Maker: Creador: - - - + Copyright: Derechos de autor: - - + Requires Real Time: Requiere Tiempo Real: - - - - - - + + + Yes Si - - - - - - + + + No No - - + Real Time Capable: Ejecutable en Tiempo Real: - - + In Place Broken: Conflicto de puertos: - - + Channels In: Canales entrantes: - - + Channels Out: Canales salientes: - + File: %1 Archivo: %1 - + File: Archivo: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - Proyectos &Recientes + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Renombrar... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Entrada + + Amplify + - - Input gain: - Ganancia de Entrada: + + Start of sample + - - Size - Tamaño + + End of sample + - - Size: - Tamaño: + + Loopback point + - - Color - Color + + Reverse sample + - - Color: - Color: + + Loop mode + - - Output - Salida + + Stutter + - - Output gain: - Ganancia de Salida: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Ganancia de entrada + - - Size - Tamaño + + Input noise + - - Color - Color + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Ganancia de salida + - SaControls + lmms::SaControls - + Pause - + Reference freeze - + Waterfall - + Averaging - - - Stereo - Estéreo - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - Graves + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Estéreo - - - - Display stereo channels separately - Mostrar canales estéreo por separado - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - La nueva muestra aporta - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - Cada muestra procesada - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - No se pudo abrir el archivo - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Los archivos de audio tienen un límite de tamaño de %1 MB y %2 minutos de duración - - - - Open audio file - Abrir archivo de audio - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Todos los archivos de Audio (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Archivos Wave (*.wav) - - - - OGG-Files (*.ogg) - Archivos OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Archivos DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Archivos FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Archivos SPEEX (*.spx) - - - - VOC-Files (*.voc) - Archivos VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Archivos AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Archivos AU (*.au) - - - - RAW-Files (*.raw) - Archivos RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - Haga doble clic para abrir la muestra. - - - - Delete (middle mousebutton) - Borrar (click del medio ) - - - - Delete selection (middle mousebutton) - - - - - Cut - Cortar - - - - Cut selection - - - - - Copy - Copiar - - - - Copy selection - - - - - Paste - Pegar - - - - Mute/unmute (<%1> + middle click) - Silenciar/Escuchar (<%1> + click del medio) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Reproducir la muestra en reversa - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - Volumen + - + Panning - Paneo + - + Mixer channel - Canal FX + - - + + Sample track - Pista de muestras - - - - SampleTrackView - - - Track volume - Volumen de la pista - - - - Channel volume: - Volumen del canal: - - - - VOL - VOL - - - - Panning - Paneo - - - - Panning: - Paneo: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - CONFIGURACIÓN GENERAL - - - - Sample volume - Volumen de la muestra - - - - Volume: - Volumen: - - - - VOL - VOL - - - - Panning - Paneo - - - - Panning: - Paneo: - - - - PAN - PAN - - - - Mixer channel - Canal FX - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value + + empty - - - Use built-in NaN handler - - - - - Settings - Configuración - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - Mostrar volumen en dBFS - - - - Enable tooltips - Habilitar Consejos - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Complementos - - - - VST plugins embedding: - - - - - No embedding - No hay inserciones - - - - Embed using Qt API - Insertado usando la API Qt - - - - Embed using native Win32 API - Insertado usando la API Win32 - - - - Embed using XEmbed protocol - Insertado usando el protocolo XEmbed - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - Sincronizar complementos VST al anfitrión - - - - Keep effects running even without input - Mantener los efectos en proceso aún sin señal de entrada - - - - - Audio - Audio - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Directorio de trabajo de LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Directorio SF2 - - - - Default SF2 - - - - - GIG directory - Directorio GIG - - - - Theme directory - - - - - Background artwork - Imágenes de fondo - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - Lugares - - - - OK - De acuerdo - - - - Cancel - Cancelar - - - - Frames: %1 -Latency: %2 ms - Cuadros: %1 -Latencia: %2 ms - - - - Choose your GIG directory - Elige tu directorio GIG - - - - Choose your SF2 directory - Elige tu directorio SF2 - - - - minutes - minutos - - - - minute - minuto - - - - Disabled - Inhabilitado - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Frecuencia de corte + - + Resonance - Resonancia + + + + + Filter type + - Filter type - Tipo de filtro - - - Voice 3 off - Voz 3 apagada + - + Volume - Volumen + - + Chip model - Modelo del chip - - - - SidInstrumentView - - - Volume: - Volumen: - - - - Resonance: - Resonancia: - - - - - Cutoff frequency: - Frecuencia de corte: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Ataque: - - - - - Decay: - Caída: - - - - Sustain: - Sostenido: - - - - - Release: - Disipación: - - - - Pulse Width: - Amplitud del Pulso: - - - - Coarse: - Gruesa: - - - - Pulse wave - - - - - Triangle wave - Onda triangular - - - - Saw wave - Onda de sierra - - - - Noise - Ruido - - - - Sync - Sincro - - - - Ring modulation - - - - - Filtered - Filtrado - - - - Test - Prueba - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - Cerrar + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - Tempo + - + Master volume - Volumen maestro + - + Master pitch - Transporte - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - Reporte de errores LMMS + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - No se puede abrir el archivo - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - No se puede abrir el archivo %1. Probablemente no tengas permisos para leer este archivo. -Asegúrate de tener al menos permisos de lectura sobre este archivo e inténtalo nuevamente. - - - - Operation denied + + Width - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Error - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - No se puede escribir el archivo - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - Error en el archivo - - - - The file %1 seems to contain errors and therefore can't be loaded. - El archivo %1 aparentemente contiene errores y por lo tanto no puede cargarse. - - - - Version difference - Diferencia de versión - - - - template - plantilla - - - - project - proyecto - - - - Tempo - Tempo - - - - TEMPO - - - - - Tempo in BPM - - - - - High quality mode - Modo de alta calidad - - - - - - Master volume - Volumen maestro - - - - - - Master pitch - Transporte - - - - Value: %1% - Valor: %1% - - - - Value: %1 semitones - Valor: %1 semitonos - - SongEditorWindow + lmms::StereoMatrixControls - - Song-Editor - Editor de Canción + + Left to Left + - - Play song (Space) - Reproducir canción (Espacio) + + Left to Right + - - Record samples from Audio-device - Grabar muestras desde el Dispositivo de Audio + + Right to Left + - - Record samples from Audio-device while playing song or BB track - Grabar muestras desde el Dispositivo de Audio escuchando la Canción o el Ritmo/Bajo + + Right to Right + + + + + lmms::Track + + + Mute + - - Stop song (Space) - Detener canción (Espacio) + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + - - Track actions - Acciones de pista + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + - - Add beat/bassline - Agregar Ritmo/bajo + + Couldn't open file + - - Add sample-track - Agregar pista de muestras + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + - - Add automation-track - Agregar pista de Automatización + + Loading project... + - + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + Edit actions - Acciones de edición - - - - Draw mode - Modo de dibujo - - - - Knife mode (split sample clips) - - Edit mode (select and move) - Modo de edición (seleccionar y mover) - - - - Timeline controls - Controles de la línea de Tiempo - - - - Bar insert controls + + Draw mode (Shift+D) - - Insert bar + + Erase mode (Shift+E) - - Remove bar + + Draw outValues mode (Shift+C) - + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + Zoom controls - Controles de Acercamiento + - + Horizontal zooming - + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - Pista + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - Cerrar + - + Maximize - Maximizar + - + Restore - Restaurar + - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - Configuración para %1 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - Nuevo desde plantilla + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - Sincronizar al Tempo + - + No Sync - Sin Sincro + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + No Sync + + + + Eight beats - Ocho tiempos + - + Whole note - Redonda + - + Half note - Blanca + - + Quarter note - Negra + - + 8th note - Corchea - - - - 16th note - Semicorchea + + 16th note + + + + 32nd note - Fusa + - + Custom... - Personalizado... + - + Custom - Personalizado - - - - Synced to Eight Beats - Sincronizado a ocho tiempos + - Synced to Whole Note - Sincronizado a Redondas + Synced to Eight Beats + - Synced to Half Note - Sincronizado a Blancas + Synced to Whole Note + - Synced to Quarter Note - Sincronizado a Negras + Synced to Half Note + - Synced to 8th Note - Sincronizado a Corcheas + Synced to Quarter Note + - Synced to 16th Note - Sincronizado a Semicorcheas + Synced to 8th Note + + Synced to 16th Note + + + + Synced to 32nd Note - Sincronizado a Fusas + - TimeDisplayWidget + lmms::gui::TimeDisplayWidget - + Time units - - - MIN - MIN - - SEC - SEG + MIN + - MSEC - MSEG + SEC + - - BAR - COMPAS + + MSEC + - BEAT - PULSO + BAR + + BEAT + + + + TICK - TICK + - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - Al detenerse volver a la posición en la que comenzó la reproducción + - + After stopping keep position - Al detenerse mantener la posición final + - + Hint - Pista + - + Press <%1> to disable magnetic loop points. - Presiona <%1> para desactivar los puntos de bucle magnéticos. - - - - Track - - - Mute - Silencio - - - - Solo - Solo - - - - TrackContainer - - - Couldn't import file - No se pudo importar el archivo - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - No se pudo hallar un filtro para importar el archivo %1. -Debes convertir este archivo a un formato soportado por LMMS usando otra aplicación. - - - - Couldn't open file - No se puede abrir el archivo - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - El archivo %1 no puede abrirse para lectura. -¡Asegúrate de tener permisos de lectura tanto del archivo como del directorio que lo contiene e inténtalo nuevamente! - - - - Loading project... - Cargando proyecto... - - - - - Cancel - Cancelar - - - - - Please wait... - Por favor, espera... - - - - Loading cancelled - Carga cancelada - - - - Project loading was cancelled. - Carga del proyecto cancelada. - - - - Loading Track %1 (%2/Total %3) - Cargando Pista %1 (%2/Total %3) - - - - Importing MIDI-file... - Importando archivo MIDI... - - - - Clip - - - Mute - Silencio - - - - ClipView - - - Current position - Posición actual - - - - Current length - Duración actual - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 a %5:%6) - - - - Press <%1> and drag to make a copy. - Presiona <%1> y arrastra para crear una copia. - - - - Press <%1> for free resizing. - Presiona <%1> para redimensionar libremente. - - - - Hint - Pista - - - - Delete (middle mousebutton) - Borrar (click del medio ) - - - - Delete selection (middle mousebutton) - - Cut - Cortar - - - - Cut selection + + Set loop begin here - - Merge Selection + + Set loop end here - - Copy - Copiar - - - - Copy selection + + Loop edit mode (hold shift) - + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - Pegar - - - - Mute/unmute (<%1> + middle click) - Silenciar/Escuchar (<%1> + click del medio) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - Pegar - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13453,257 +17716,249 @@ Please make sure you have read-permission to the file and the directory containi Mute - Silencio + Solo - Solo + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Clonar esta pista - - - - Remove this track - Eliminar esta pista - - - - Clear this track - Limpiar esta pista - - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - Asignar a un nuevo Canal FX - - - - Turn all recording on - Activar todas las grabaciones - - - - Turn all recording off - Apagar todas las grabacioens - - - - Change color - Cambiar color - - - - Reset color to default - Restaurar el color por defecto - - - - Set random color - - Clear clip colors + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - Sincronizar el oscilador 1 con el oscilador 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - Sincronizar el oscilador 2 con el oscilador 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Osc %1 Volumen: + - + Osc %1 panning: - Osc %1 paneo: + - - Osc %1 coarse detuning: - Osc %1 desafinación gruesa: - - - - semitones - semitonos - - - - Osc %1 fine detuning left: - Osc %1 desafinación fina izquierda: - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - cents + - + Osc %1 fine detuning right: - Osc %1 desafinación fina derecha: + - + Osc %1 phase-offset: - Osc %1 desfase: + - - + + degrees - grados + - + Osc %1 stereo phase-detuning: - Osc %1 desafinación de fase estéreo: + - + Sine wave - Onda sinusoidal + - + Triangle wave - Onda triangular + - + Saw wave - Onda de sierra + - + Square wave - Onda cuadrada + - + Moog-like saw wave - + Exponential wave - Onda Exponencial + - + White noise - Ruido blanco + - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13718,2618 +17973,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Incrementar el número de versión - + lmms::gui::VersionedSaveDialog - Decrement version number - Disminuír el número de versión + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - ¡Ya existe! ¿Deseas reemplazarlo? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Anterior (-) + - + Save preset - Guardar preconfiguración + - + Next (+) - Siguiente (+) + - + Show/hide GUI - Mostrar/Ocultar IGU + - + Turn off all notes - Apagar todas las notas + - + DLL-files (*.dll) - archivos DDL (*.dll) + - + EXE-files (*.exe) - archivos EXE (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - Preconfiguración + - + by - por + - + - VST plugin control - - control de complemento VST + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - Mostrar/Ocultar + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Anterior (-) + - + Next (+) - Siguiente (+) + - + Save preset - Guardar preconfiguración + - - + + Effect by: - Efecto por: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - El complemento VST %1 no se ha podido cargar. + + + + + Volume + - - Open Preset - Abrir Preconfiguración - - - - - Vst Plugin Preset (*.fxp *.fxb) - Preconfiguración VST (*.fxp *.fxb) - - - - : default - : por defecto - - - - Save Preset - Guardar preconfiguración - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Cargando complemento - - - - Please wait while loading VST plugin... - Por favor espera mientras se carga el complemento VST... - - - - WatsynInstrument - - - Volume A1 - A1 volumen - - - - Volume A2 - A2 volumen - - - - Volume B1 - B1 volumen - - - - Volume B2 - B2 volumen - - - - Panning A1 - A1 paneo - - - - Panning A2 - A2 paneo - - - - Panning B1 - B1 paneo - - - - Panning B2 - B2 paneo - - - - Freq. multiplier A1 - A1 multiplicador de frec. - - - - Freq. multiplier A2 - A2 multiplicador de frec. - - - - Freq. multiplier B1 - B1 multiplicador de frec. - - - - Freq. multiplier B2 - B2 multiplicador de frec. - - - - Left detune A1 - A1 desafin izq - - - - Left detune A2 - A2 desafin izq - - - - Left detune B1 - B1 desafin izq - - - - Left detune B2 - B2 desafin izq - - - - Right detune A1 - A1 desafin der - - - - Right detune A2 - A2 desafin der - - - - Right detune B1 - B1 desafin der - - - - Right detune B2 - B2 desafin der - - - - A-B Mix - Mezcla A-B - - - - A-B Mix envelope amount - Cantidad de envolvente de la Mezcla A-B - - - - A-B Mix envelope attack - Ataque de la envolvente de la mezcla A-B - - - - A-B Mix envelope hold - Mantenido de la envolvente de la mezcla A-B - - - - A-B Mix envelope decay - Caída de la envolvente de la mezcla A-B - - - - A1-B2 Crosstalk - Diafonía A1-B2 - - - - A2-A1 modulation - Modulación A2-A1 - - - - B2-B1 modulation - Modulación B2-B1 - - - - Selected graph - Gráfico seleccionado - - - - WatsynView - + + - - - Volume - Volumen + Panning + + + - - - Panning - Paneo + Freq. multiplier + + + - - - Freq. multiplier - Multiplicador de frec. - - - - - - Left detune - Desafinación izquierda + + + + + + + - - - - - - cents - cents + + + + + + + + Right detune + + + + + A-B Mix + - - - - Right detune - Desafinación derecha - - - - A-B Mix - Mezcla A-B - - - Mix envelope amount - Cantidad de envolvente de la Mezcla + - + Mix envelope attack - Ataque de la envolvente de la Mezcla + - + Mix envelope hold - Mantenido de la envolvente de la Mezcla + - + Mix envelope decay - Caída de la envolvente de la Mezcla + - + Crosstalk - Diafonía + - + Select oscillator A1 - Seleccionar oscilador A1 + - + Select oscillator A2 - Seleccionar oscilador A2 + - + Select oscillator B1 - Seleccionar oscilador B1 + - + Select oscillator B2 - Seleccionar oscilador B2 + - + Mix output of A2 to A1 - Mezclar la salida de A2 con A1 + - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - Mezclar la salida de B2 con B1 + - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Dibuja tu propia onda arrastrando el puntero sobre el gráfico. + - + Load waveform - Cargar onda + - + Load a waveform from a sample file - Cargar una forma de onda desde un archivo de muestra + - + Phase left - Fase izquierda + - + Shift phase by -15 degrees - + Phase right - Fase derecha + - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - Normalizar - - - - Invert - Invertir + - - + + Smooth - Suavizar + - - + + Sine wave - Onda Sinusoidal + - - - + + + Triangle wave - Onda triangular + - + Saw wave - Onda de sierra + - - + + Square wave - Onda Cuadrada - - - - Xpressive - - - Selected graph - Gráfico seleccionado - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - W1 Suavizadora - - - - W2 smoothing - W2 Suavizadora - - - - W3 smoothing - W3 Suavizadora - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - - Draw your own waveform here by dragging your mouse on this graph. - Dibuja tu propia onda arrastrando el puntero sobre el gráfico. - - - - Select oscillator W1 - Seleccionar Oscilador W1 - - - - Select oscillator W2 - Seleccionar Oscilador W2 - - - - Select oscillator W3 - Seleccionar Oscilador W3 - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - Abrir Ventana De Ayuda - - - - - Sine wave - Onda sinusoidal - - - - - Moog-saw wave - - - - - - Exponential wave - Onda Exponencial - - - - - Saw wave - Onda de sierra - - - - - User-defined wave - - - - - - Triangle wave - Onda triangular - - - - - Square wave - Onda cuadrada - - - - - White noise - Ruido blanco - - - - WaveInterpolate - Oleada Interpolar - - - - ExpressionValid - Expresión Validada - - - - General purpose 1: - Propósito General 1: - - - - General purpose 2: - Propósito General 2: - - - - General purpose 3: - Propósito General 3: - - - - O1 panning: - Panorámica O1: - - - - O2 panning: - Panorámica O2: - - - - Release transition: - Liberar La Transición: - - - - Smoothness - Suavizar - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Ancho De Banda - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - - - - - FREQ - FREC - - - - Filter resonance: - - - - - RES - RESO - - - - Bandwidth: - Ancho De Banda: - - - - BW - AdB - - - - FM gain: - - - - - FM GAIN - GAN FM - - - - Resonance center frequency: - Frecuencia Central de Resonancia: - - - - RES CF - FCdRES - - - - Resonance bandwidth: - Ancho de banda de Resonancia: - - - - RES BW - AdB RES - - - - Forward MIDI control changes - - - - - Show GUI - Mostrar IGU - - - - AudioFileProcessor - - - Amplify - Amplificar - - - - Start of sample - Inicio de la muestra - - - - End of sample - Fin de la muestra - - - - Loopback point - Punto de bucle - - - - Reverse sample - Reproducir la muestra en reversa - - - - Loop mode - Modo Bucle - - - - Stutter - Tartamudeo - - - - Interpolation mode - Modo de Interpolación - - - - None - Ninguno - - - - Linear - Lineal - - - - Sinc - Sinc - - - - Sample not found: %1 - Muestra no encontrada: %1 - - - - BitInvader - - - Sample length - Longitud de la muestra - - - - BitInvaderView - - - Sample length - Longitud de la muestra - - - - Draw your own waveform here by dragging your mouse on this graph. - Dibuja tu propia onda arrastrando el puntero sobre el gráfico. - - - - - Sine wave - Onda Sinusoidal - - - - - Triangle wave - Onda triangular - - - - - Saw wave - Onda de sierra - - - - - Square wave - Onda Cuadrada - - - - - White noise - Ruido blanco - - - - - User-defined wave - - - - - - Smooth waveform - Suavizar onda - - - - Interpolation - Interpolación - - - - Normalize - Normalizar - - - - DynProcControlDialog - - + INPUT - ENTRADA + - + Input gain: - Ganancia de Entrada: + - + OUTPUT - SALIDA - - - - Output gain: - Ganancia de Salida: - - - - ATTACK - ATAQUE - - - - Peak attack time: - Tiempo pico de ataque: - - - - RELEASE - DISIPACIÓN - - - - Peak release time: - Tiempo pico de disipación: - - - - - Reset wavegraph - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - Procesar basado en el máximo de ambos canales estéreo - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - Procesar basado en el promedio de ambos canales estéreo - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - Procesar cada canal estéreo de manera independiente - - - - DynProcControls - - - Input gain - Ganancia de entrada - - - - Output gain - Ganancia de salida - - - - Attack time - Tiempo de ataque - - - - Release time - Tiempo de disipación - - - - Stereo mode - Modo Estéreo - - - - graphModel - - - Graph - Gráfico - - - - KickerInstrument - - - Start frequency - Frecuencia Inicial - - - - End frequency - Frecuencia Final - - - - Length - Duración - - - - Start distortion - - - - - End distortion - - - - - Gain - Ganancia - - - - Envelope slope - - - - - Noise - Ruido - - - - Click - Chasquido - - - - Frequency slope - - - - - Start from note - Empezar en la nota - - - - End to note - Terminar en la nota - - - - KickerInstrumentView - - - Start frequency: - Frecuencia Inicial: - - - - End frequency: - Frecuencia Final: - - - - Frequency slope: - - - - - Gain: - Ganancia: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Chasquido: - - - - Noise: - Ruido: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Efectos Disponibles - - - - - Unavailable Effects - Efectos No Disponibles - - - - - Instruments - Instrumentos - - - - - Analysis Tools - Herramientas de Análisis - - - - - Don't know - Desconocido - - - - Type: - Tipo: - - - - LadspaDescription - - - Plugins - Complementos - - - - Description - Descripción - - - - LadspaPortDialog - - - Ports - Puertos - - - - Name - Nombre - - - - Rate - Tasa - - - - Direction - Dirección - - - - Type - Tipo - - - - Min < Default < Max - Min < Defecto < Max - - - - Logarithmic - Logarítmico - - - - SR Dependent - Depende de SR - - - - Audio - Audio - - - - Control - Control - - - - Input - Entrada - - - - Output - Salida - - - - Toggled - Alternado - - - - Integer - Entero - - - - Float - Decimal - - - - - Yes - Si - - - - Lb302Synth - - - VCF Cutoff Frequency - FCV frecuencia de corte - - - - VCF Resonance - FCV Resonancia - - - - VCF Envelope Mod - FCV Mod de Envolvente - - - - VCF Envelope Decay - FCV Caída de Envolvente - - - - Distortion - Distorsión - - - - Waveform - Forma de Onda - - - - Slide Decay - Duración del Portamento - - - - Slide - Portamento - - - - Accent - Acento - - - - Dead - Sordina - - - - 24dB/oct Filter - Filtro 24dB/oct - - - - Lb302SynthView - - - Cutoff Freq: - Frec.de Corte: - - - - Resonance: - Resonancia: - - - - Env Mod: - Mod Env: - - - - Decay: - Caída: - - - - 303-es-que, 24dB/octave, 3 pole filter - Filtro Tipolar de 24dB/octava tipo-303 - - - - Slide Decay: - Duración del Portamento: - - - - DIST: - DIST: - - - - Saw wave - Onda de sierra - - - - Click here for a saw-wave. - Haz click aquí para elegir una onda de sierra. - - - - Triangle wave - Onda triangular - - - - Click here for a triangle-wave. - Haz click aquí para seleccionar una onda triangular. - - - - Square wave - Onda Cuadrada - - - - Click here for a square-wave. - Haz click aquí para elegir una onda cuadrada. - - - - Rounded square wave - Onda Cuadrada-redondeada - - - - Click here for a square-wave with a rounded end. - Haz click aquí para elegir una onda cuadrada-redondeada. - - - - Moog wave - Onda Moog - - - - Click here for a moog-like wave. - Haz click aquí para elegir una onda tipo moog. - - - - Sine wave - Onda Sinusoidal - - - - Click for a sine-wave. - Haz click aquí para elegir una onda-sinusoidal. - - - - - White noise wave - Ruido blanco - - - - Click here for an exponential wave. - Haz click aquí para elegir una onda exponencial. - - - - Click here for white-noise. - Haz click aquí para elegir ruido blanco. - - - - Bandlimited saw wave - Onda de sierra de banda limitada - - - - Click here for bandlimited saw wave. - Haz click aquí para elegir una onda de sierra de banda limitada. - - - - Bandlimited square wave - Onda cuadrada de banda limitada - - - - Click here for bandlimited square wave. - Haz click aquí para elegir una onda cuadrada de banda limitada. - - - - Bandlimited triangle wave - Onda triangular de banda limitada - - - - Click here for bandlimited triangle wave. - Haz click aquí para elegir una onda triangular de banda limitada. - - - - Bandlimited moog saw wave - Onda de sierra Moog de banda limitada - - - - Click here for bandlimited moog saw wave. - Haz click aquí para elegir una onda de sierra tipo Moog de banda limitada. - - - - MalletsInstrument - - - Hardness - Dureza - - - - Position - Posición - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Modulador - - - - Crossfade - Fundido cruzado - - - - LFO speed - Velocidad del LFO - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - Presión - - - - Motion - Movimiento - - - - Speed - Velocidad - - - - Bowed - Frotado - - - - Spread - Propagación - - - - Marimba - Marimba - - - - Vibraphone - Vibráfono - - - - Agogo - Agogo - - - - Wood 1 - - - - - Reso - Reso - - - - Wood 2 - - - - - Beats - Latidos - - - - Two fixed - - - - - Clump - Golpe seco - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - Vidrio - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Instrumento - - - - Spread - Propagación - - - - Spread: - Propagación: - - - - Missing files - Archivos perdidos - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Parece que tu instalación de Stk está incompleta. Por favor asegúrate que el paquete completo de Stk esté instalado. - - - - Hardness - Dureza - - - - Hardness: - Dureza: - - - - Position - Posición - - - - Position: - Posición: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Modulador - - - - Modulator: - Modulador: - - - - Crossfade - Fundido cruzado - - - - Crossfade: - Fundido cruzado: - - - - LFO speed - Velocidad del LFO - - - - LFO speed: - velocidad del LFO: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Presión - - - - Pressure: - Presión: - - - - Speed - Velocidad - - - - Speed: - Velocidad: - - - - ManageVSTEffectView - - - - VST parameter control - - control de parámetros VST - - - - VST sync - - - - - - Automated - Automatizado - - - - Close - Cerrar - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - control de complementos VST - - - - VST Sync - Sinc VST - - - - - Automated - Automatizado - - - - Close - Cerrar - - - - OrganicInstrument - - - Distortion - Distorsión - - - - Volume - Volumen - - - - OrganicInstrumentView - - - Distortion: - Distorsión: - - - - Volume: - Volumen: - - - - Randomise - Aleatorizar - - - - - Osc %1 waveform: - Osc %1 forma de onda: - - - - Osc %1 volume: - Osc %1 Volumen: - - - - Osc %1 panning: - Osc %1 paneo: - - - - Osc %1 stereo detuning - Desafinación estéreo del Osc %1 - - - - cents - cents - - - - Osc %1 harmonic: - armónicos del Osc %1: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: Preconfiguración del Canal - - - - Bank selector - Selector de banco - - - - Bank - Banco - - - - Program selector - Selector de programa - - - - Patch - Ajuste - - - - Name - Nombre - - - - OK - De acuerdo - - - - Cancel - Cancelar - - - - Sf2Instrument - - - Bank - Banco - - - - Patch - Ajuste - - - - Gain - Ganancia - - - - Reverb - Reverberancia - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - Coro - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - Una soundfont %1 no se pudo cargar. - - - - Sf2InstrumentView - - - - Open SoundFont file - Abrir archivo SoundFont - - - - Choose patch - - - - - Gain: - Ganancia: - - - - Apply reverb (if supported) - Aplicar reverberancia (si es posible) - - - - Room size: - - - - - Damping: - - - - - Width: - Amplitud: - - - - - Level: - - - - - Apply chorus (if supported) - Aplicar coro (si es posible) - - - - Voices: - - - - - Speed: - Velocidad: - - - - Depth: - Profundidad: - - - - SoundFont Files (*.sf2 *.sf3) - Archivos SoundFont (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Amplitud: - - - - StereoEnhancerControls - - - Width - Amplitud - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Vol izq a izq: - - - - Left to Right Vol: - Vol izq a der: - - - - Right to Left Vol: - Vol der a izq: - - - - Right to Right Vol: - Vol der a der: - - - - StereoMatrixControls - - - Left to Left - izq a izq - - - - Left to Right - izq a der - - - - Right to Left - der a izq - - - - Right to Right - der a der - - - - VestigeInstrument - - - Loading plugin - Cargando complemento - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - Volumen Cuerda %1 - - - - String %1 stiffness - Rigidez Cuerda %1 - - - - Pick %1 position - Posición del plectro %1 - - - - Pickup %1 position - Posición de micrófono %1 - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - Impulso %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - Rigidez de la cuerda: - - - - Pick position: - Posición del plectro: - - - - Pickup position: - Posición del micrófono: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - Octava - - - - Impulse Editor - Editor de Impulso - - - - Enable waveform - Activar Onda - - - - Enable/disable string - - - - - String - Cuerda - - - - - Sine wave - Onda sinusoidal - - - - - Triangle wave - Onda triangular - - - - - Saw wave - Onda de sierra - - - - - Square wave - Onda cuadrada - - - - - White noise - Ruido blanco - - - - - User-defined wave - - - - - - Smooth waveform - Suavizar onda - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - Voz %1 amplitud de pulso - - - - Voice %1 attack - Voz %1 ataque - - - - Voice %1 decay - Voz %1 caída - - - - Voice %1 sustain - Voz %1 sostén - - - - Voice %1 release - Voz %1 disipación - - - - Voice %1 coarse detuning - Voz %1 desafinación gruesa - - - - Voice %1 wave shape - Voz %1 forma de onda - - - - Voice %1 sync - Voz %1 sinc - - - - Voice %1 ring modulate - Voz %1 modulación en anillo - - - - Voice %1 filtered - Voz %1 filtrada - - - - Voice %1 test - Voz %1 prueba - - - - WaveShaperControlDialog - - - INPUT - ENTRADA - - - - Input gain: - Ganancia de Entrada: - - - - OUTPUT - SALIDA - - - - Output gain: - Ganancia de Salida: - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - Recortar entrada + - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - ganancia de entrada + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - ganancia de salida + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/eu.ts b/data/locale/eu.ts index 7e815a261..f23c8682a 100644 --- a/data/locale/eu.ts +++ b/data/locale/eu.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,812 +70,45 @@ LMMS beste hizkuntza batera itzultzeko interesa baduzu edo lehendik dauden itzul - AmplifierControlDialog + AboutJuceDialog - - VOL - BOL - - - - Volume: - Bolumena: - - - - PAN - PAN - - - - Panning: - Panoramika: - - - - LEFT - EZKERRA - - - - Left gain: - Ezkerreko irabazia: - - - - RIGHT - ESKUINA - - - - Right gain: - Eskuineko irabazia: - - - - AmplifierControls - - - Volume - Bolumena - - - - Panning - Panoramika - - - - Left gain - Ezkerreko irabazia - - - - Right gain - Eskuineko irabazia - - - - AudioAlsaSetupWidget - - - DEVICE - GAILUA - - - - CHANNELS - KANALAK - - - - AudioFileProcessorView - - - Open sample - Ireki lagina - - - - Reverse sample - Alderantzikatu lagina - - - - Disable loop - Desgaitu begizta - - - - Enable loop - Gaitu begizta - - - - Enable ping-pong loop + + About JUCE - - Continue sample playback across notes + + <b>About JUCE</b> - - Amplify: - Anplifikatu: - - - - Start point: - Hasierako puntua: - - - - End point: - Amaierako puntua: - - - - Loopback point: - Atzera-begiztaren puntua: - - - - AudioFileProcessorWaveView - - - Sample length: - Lagin-luzera: - - - - AudioJack - - - JACK client restarted - JACK bezeroa berrabiarazi da - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - JACKek LMMS egotzi du arrazoiren batengatik. Hori dela eta, LMMSren JACK backend-a berrabiarazi egin da. Konexioak eskuz egin beharko dituzu berriro. - - - - JACK server down - JACK zerbitzaria erorita - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - JACK zerbitzaria itxi egin dela dirudi eta instantzia berria hasteak huts egin du. LMMSk ezin du jarraitu. Zure proiektua gorde eta JACK eta LMMS berrabiarazi beharko zenituzke. - - - - Client name - Bezeroaren izena - - - - Channels - Kanalak - - - - AudioOss - - - Device - Gailua - - - - Channels - Kanalak - - - - AudioPortAudio::setupWidget - - - Backend - Motorra - - - - Device - Gailua - - - - AudioPulseAudio - - - Device - Gailua - - - - Channels - Kanalak - - - - AudioSdl::setupWidget - - - Device - Gailua - - - - AudioSndio - - - Device - Gailua - - - - Channels - Kanalak - - - - AudioSoundIo::setupWidget - - - Backend - Motorra - - - - Device - Gailua - - - - AutomatableModel - - - &Reset (%1%2) - &Berrezarr (%1%2) - - - - &Copy value (%1%2) - &Kopiatu balioa (%1%2) - - - - &Paste value (%1%2) - I&tsatsi balioa (%1%2) - - - - &Paste value - &Itsatsi balioa - - - - Edit song-global automation + + This program uses JUCE version 3.x.x. - - Remove song-global automation + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Remove all linked controls - Kendu estekatutako kontrol guztiak - - - - Connected to %1 - - - - - Connected to controller - Kontrolagailuarekin konektatua - - - - Edit connection... - Editatu konexioa... - - - - Remove connection - Kendu konexioa - - - - Connect to controller... - Konektatu kontrolatzailearekin... - - - - AutomationEditor - - - Edit Value - Editatu balioa - - - - New outValue - Irteerako balio berria - - - - New inValue - Sarrerako balio berria - - - - Please open an automation clip with the context menu of a control! - Ireki automatizazio-eredu bat kontrol baten laster-menuaren bidez! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Erreproduzitu/pausatu uneko eredua (espazioa) - - - - Stop playing of current clip (Space) - Gelditu uneko ereduaren erreprodukzioa (espazioa) - - - - Edit actions - Editatu ekintzak - - - - Draw mode (Shift+D) - Marrazte modua (Shift+D) - - - - Erase mode (Shift+E) - Ezabatze modua (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Irauli bertikalean - - - - Flip horizontally - Irauli horizontalean - - - - Interpolation controls - Interpolazio-kontrolak - - - - Discrete progression - Progresio diskretua - - - - Linear progression - Progresio lineala - - - - Cubic Hermite progression - - - - - Tension value for spline - - - - - Tension: - Tentsioa: - - - - Zoom controls - Zoom-kontrolak - - - - Horizontal zooming - Zoom horizontala - - - - Vertical zooming - Zoom bertikala - - - - Quantization controls - Kuantifikazio-kontrolak - - - - Quantization - Kuantifikazioa - - - - - Automation Editor - no clip - Automatizazio-editorea - patroirik ez - - - - - Automation Editor - %1 - Automatizazio-editorea - %1 - - - - Model is already connected to this clip. - Eredua dagoeneko konektatuta dago patroi honekin - - - - AutomationClip - - - Drag a control while pressing <%1> - Arrastatu kontrol bat <%1> sakatzen ari zaren bitartean - - - - AutomationClipView - - - Open in Automation editor - Ireki automatizazio-editorean - - - - Clear - Garbitu - - - - Reset name - Berrezarri izena - - - - Change name - Aldatu izena - - - - Set/clear record - Ezarri/garbitu grabazioa - - - - Flip Vertically (Visible) - Irauli bertikalean (ikusgai) - - - - Flip Horizontally (Visible) - Irauli horizontalean (ikusgai) - - - - %1 Connections - %1 konexio - - - - Disconnect "%1" - Deskonektatu "%1" - - - - Model is already connected to this clip. - Eredua dagoeneko konektatuta dago patroi honekin - - - - AutomationTrack - - - Automation track - Automatizazio-pista - - - - PatternEditor - - - Beat+Bassline Editor - - - - - Play/pause current beat/bassline (Space) - - - - - Stop playback of current beat/bassline (Space) - - - - - Beat selector - Taupada-hautatzailea - - - - Track and step actions - - - - - Add beat/bassline - Gehitu taupada/baxu-lerroa - - - - Clone beat/bassline clip - - - - - Add sample-track - Gehitu lagin-pista - - - - Add automation-track - Gehitu automatizazio-pista - - - - Remove steps - Kendu urratsak - - - - Add steps - Gehitu urratsa - - - - Clone Steps - Klonatu urratsak - - - - PatternClipView - - - Open in Beat+Bassline-Editor - - - - - Reset name - Berrezarri izena - - - - Change name - Aldatu izena - - - - PatternTrack - - - Beat/Bassline %1 - - - - - Clone of %1 + + This program uses JUCE version - BassBoosterControlDialog + AudioDeviceSetupWidget - - FREQ + + [System Default] - - - Frequency: - Maiztasuna: - - - - GAIN - - - - - Gain: - Irabazia: - - - - RATIO - - - - - Ratio: - - - - - BassBoosterControls - - - Frequency - Maiztasuna - - - - Gain - Irabazia - - - - Ratio - - - - - BitcrushControlDialog - - - IN - - - - - OUT - - - - - - GAIN - - - - - Input gain: - Sarrerako irabazia: - - - - NOISE - - - - - Input noise: - - - - - Output gain: - Irteerako irabazia: - - - - CLIP - - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - Sakonera gaituta - - - - Enable bit-depth crushing - - - - - FREQ - - - - - Sample rate: - - - - - STEREO - - - - - Stereo difference: - - - - - QUANT - - - - - Levels: - Mailak: - - - - BitcrushControls - - - Input gain - Sarrerako irabazia - - - - Input noise - Sarrerako zarata - - - - Output gain - Irteerako irabazia - - - - Output clip - Irteerako klipa - - - - Sample rate - - - - - Stereo difference - - - - - Levels - Maila - - - - Rate enabled - - - - - Depth enabled - Sakonera gaituta - CarlaAboutW @@ -892,132 +125,132 @@ LMMS beste hizkuntza batera itzultzeko interesa baduzu edo lehendik dauden itzul About text here - + Honi buruzko testua hemen Extended licensing here - + Lizentzia hedatua hemen - + Artwork Artelana - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Osygen taldeak sortutako KDE Oxygen ikono multzoa erabiltzen. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + Calf Studio Gear, OpenAV eta OpenOctave proiektuetako zenbait botoi, atzeko plano eta beste artelan txiki batzuk ditu. - + VST is a trademark of Steinberg Media Technologies GmbH. - + VST marka Steinberg Media Technologies GmbH enpresaren marka erregistratua da. - + Special thanks to António Saraiva for a few extra icons and artwork! - + Mila esker António Saraivari ikono gehigarriak eta artelana eskaintzeagatik! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + LV2 logoa Thorsten Wilmsek diseinatu du, Peter Shorthosen kontzeptu batean oinarrituta. - + MIDI Keyboard designed by Thorsten Wilms. - - - - - Carla, Carla-Control and Patchbay icons designed by DoosC. - + MIDI teklatuaren diseinua: Thorsten Wilms. + Carla, Carla-Control and Patchbay icons designed by DoosC. + Carla, Carla-Control eta Patchbay ikonoen diseinua: DoosC. + + + Features Eginbideak - + AU/AudioUnit: - + AU/AudioUnitatea: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel - + TestuEtiketa - + VST2: - + VST2: - + DSSI: - + DSSI: - + LV2: - + LV2: - + VST3: - + VST3: - + OSC - + OSC - + Host URLs: URL ostalariak: - + Valid commands: Baliozko komandoak: - + valid osc commands here baliozko osc komandoa hemen - + Example: Adibidea: - + License Lizentzia - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1582,50 +815,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version OSC Bridge bertsioa - + Plugin Version Pluginaren bertsioa - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) (Motorra ez dago martxan) - + Everything! (Including LRDF) Dena! (LRDF barne) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + Juce ostalaria erabiltzen - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1658,561 +891,598 @@ POSSIBILITY OF SUCH DAMAGES. Kargatzen... - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: Buffer-tamaina: - + Sample Rate: - + ? Xruns - + ? Xruns - + DSP Load: %p% - + DSP karga: %p% - + &File &Fitxategia - + &Engine &Motorra - + &Plugin &Plugina - + Macros (all plugins) Makroak (plugin guztiak) - + &Canvas &Oihala - + Zoom Zoom - + &Settings E&zarpenak - + &Help &Laguntza - - toolBar - tresnaBarra + + Tool Bar + - + Disk Diskoa - - + + Home Etxea - + Transport Garraioa - + Playback Controls - + Erreprodukzio-kontrolak - + Time Information - + Denbora-informazioa - + Frame: - + Fotograma: - + 000'000'000 - + 000'000'000 - + Time: - + Denbora: - + 00:00:00 - + 00:00:00 - + BBT: - + BBT: - + 000|00|0000 - + 000|00|0000 - + Settings Ezarpenak - + BPM - + BPM - + Use JACK Transport - + Erabili JACK garraioa - + Use Ableton Link - + Erabili Ableton esteka - + &New &Berria - + Ctrl+N Ctrl+N - + &Open... &Ireki... - - + + Open... Ireki... - + Ctrl+O Ctrl+O - + &Save &Gorde - + Ctrl+S Ctrl+S - + Save &As... Gorde &honela... - - + + Save As... Gorde honela... - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit I&rten - + Ctrl+Q Ctrl+Q - + &Start &Hasi - + F5 F5 - + St&op &Gelditu - + F6 F6 - + &Add Plugin... Ge&hitu plugina... - + Ctrl+A Ctrl+A - + &Remove All &Kendu dena - + Enable Gaitu - + Disable Desgaitu - + 0% Wet (Bypass) - + 100% Wet - + %100 heze - + 0% Volume (Mute) - + %0 bolumena (mutu) - + 100% Volume - + %100 bolumena - + Center Balance - + &Play &Erreproduzitu - + Ctrl+Shift+P Ctrl+Shift+P - + &Stop &Gelditu - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards A&tzerantz - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards A&urrerantz - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange &Ordenatu - + Ctrl+G Ctrl+G - - + + &Refresh &Freskatu - + Ctrl+R Ctrl+R - + Save &Image... Gorde &irudia... - + Auto-Fit Automatikoki doitu - + Zoom In Handiagotu - + Ctrl++ Ctrl++ - + Zoom Out Txikiagotu - + Ctrl+- Ctrl+- - + Zoom 100% %100eko zooma - + Ctrl+1 Ctrl+1 - + Show &Toolbar Erakutsi &tresna-barra - + &Configure Carla &Konfiguratu Carla - + &About &Honi buruz - + About &JUCE &JUCE aplikazioari buruz - + About &Qt &Qt aplikazioari buruz - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Erakutsi barnekoa - + Show External - + Erakutsi kanpokoa - + Show Time Panel - + Erakutsi denbora-panela - + Show &Side Panel + Erakutsi &alboko panela + + + + Ctrl+P - + &Connect... - + &Konektatu... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + &Konfiguratu kontrolagailua... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - + Esportatu honela... - - - - + + + + Error Errorea - + Failed to load project - + Proiektuaren kargak huts egin du - + Failed to save project - + Proiektua gordetzeak huts egin du - + Quit - + Irten - + Are you sure you want to quit Carla? - + Ziur zaude Carla aplikaziotik irten nahi duzula? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + Abisua - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - Erakutsi erabiltzaile-interfazea - - CarlaSettingsW @@ -2223,42 +1493,42 @@ Do you want to do this now? main - + nagusia canvas - + oihala engine - + motorra osc - + osc file-paths - + fitxategi-bideak plugin-paths - + plugin-bideak wine - + wine experimental - + esperimentala @@ -2267,1570 +1537,651 @@ Do you want to do this now? - + Main - + Nagusia - + Canvas - + Oihala - + Engine - + Motorra File Paths - + Fitxategien bide-izenak Plugin Paths - + Pluginen bide-izenak Wine - + Wine - + Experimental - + Esperimentala - + <b>Main</b> - + <b>Nagusia</b> - + Paths Bideak - + Default project folder: - + Proiektuaren karpeta lehenetsia: - + Interface + Interfazea + + + + Use "Classic" as default rack skin - + Interface refresh interval: - - - - - - ms - + Interfazearen freskatze-tartea: + + ms + ms + + + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - - - Theme - - - - - Use Carla "PRO" theme (needs restart) - - + + Theme + Gaia + + + + Use Carla "PRO" theme (needs restart) + Erabili Carla "PRO" gaia (berrabiarazi behar da) + + + Color scheme: - + Kolore-eskema: - + Black - + Beltza - + System - + Sistema - + Enable experimental features - + Gaitu eginbide esperimentalak - + <b>Canvas</b> - + <b>Oihala</b> - + Bezier Lines - + Bezier lerroak - + Theme: - + Gaia: - + Size: Tamaina: - + 775x600 - + 775x600 - + 1550x1200 - - - - - 3100x2400 - - - - - 4650x3600 - - - - - 6200x4800 - + 1550x1200 - Options + 3100x2400 + 3100x2400 + + + + 4650x3600 + 4650x3600 + + + + 6200x4800 + 6200x4800 + + + + 12400x9600 - + + Options + Aukerak + + + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Nukleoa - + Single Client - + Bezero bakarra - + Multiple Clients - + Bezero anitz - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - + Gaitu TCP ataka - - + + Use specific port: - + Erabili ataka espezifikoa: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Erabili ausaz esleitutako ataka - + Enable UDP port - + Gaitu UDP ataka - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Audioa - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - + Gehitu... - - + + Remove - + Kendu - - + + Change... - + Aldatu... - + <b>Plugin Paths</b> - + <b>Pluginen bide-izenak</b> - + LADSPA - + LADSPA - + DSSI - + DSSI - + LV2 - + LV2 - + VST2 - + VST2 - + VST3 - + VST3 - + SF2/3 - + SF2/3 - + SFZ + SFZ + + + + JSFX - + + CLAP + + + + Restart Carla to find new plugins - + Berrabiarazi Carla plugin berriak aurkitzeko - + <b>Wine</b> - + <b>Wine</b> - + Executable - + Exekutagarria - + Path to 'wine' binary: - + 'wine' bitarraren bide-izena: - + Prefix - + Aurrizkia - + Auto-detect Wine prefix based on plugin filename - + Detektatu automatikoki Wine aurrizkia pluginaren fitxategi-izenean oinarrituta - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Irteerako irabazia - - - - - Gain - Irabazia - - - - Output volume - - - - - Input gain - Sarrerako irabazia - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - - - - - Attack - - - - - Release - - - - - Knee - - - - - Hold - - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - - - - - Input Gain - - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - - - - - Controller - - - Controller %1 - %1 kontrolatzailea - - - - ControllerConnectionDialog - - - Connection Settings - Konexio-ezarpenak - - - - MIDI CONTROLLER - - - - - Input channel - Sarrerako kanala - - - - CHANNEL - - - - - Input controller - Sarrerako kontrolatzailea - - - - CONTROLLER - - - - - - Auto Detect - - - - - MIDI-devices to receive MIDI-events from - - - - - USER CONTROLLER - - - - - MAPPING FUNCTION - - - - - OK - Ados - - - - Cancel - Utzi - - - - LMMS - LMMS - - - - Cycle Detected. - - - - - ControllerRackView - - - Controller Rack - - - - - Add - Gehitu - - - - Confirm Delete - Baieztatu ezabatzea - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Ezabatzea baieztatu? Kontrolagailu honi lotutako konexioak daude. Ez dago desegiteko modurik - - - - ControllerView - - - Controls - Kontrola - - - - Rename controller - Berrizendatu kontrolagailua - - - - Enter the new name for this controller - Sartu beste izen bat kontrolagailu honentzat - - - - LFO - LFO - - - - &Remove this controller - &Kendu kontrolagailu hau - - - - Re&name this controller - &Berrizendatu kontrolagailu hau - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - 1. bandaren irabazia - - - - Band 1 gain: - 1. bandaren irabazia: - - - - Band 2 gain - 2. bandaren irabazia - - - - Band 2 gain: - 2. bandaren irabazia: - - - - Band 3 gain - 3. bandaren irabazia - - - - Band 3 gain: - 3. bandaren irabazia: - - - - Band 4 gain - 4. bandaren irabazia - - - - Band 4 gain: - 4. bandaren irabazia: - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - Atzeratu laginak - - - - Feedback - - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - Irteerako irabazia - - - - DelayControlsDialog - - - DELAY - - - - - Delay time - - - - - FDBK - - - - - Feedback amount - - - - - RATE - - - - - LFO frequency - - - - - AMNT - - - - - LFO amount - - - - - Out gain - - - - - Gain - Irabazia - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Bat ere ez - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect - + Carla kontrola - Konektatu Remote setup - + Urruneko konfigurazioa UDP Port: - + UDP ataka: Remote host: - + Urruneko ostalaria: TCP Port: - - - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - + TCP ataka: Set value - + Ezarri balioa @@ -3853,12 +2204,12 @@ If you are unsure, leave it as 'Automatic'. Device: - + Gailua: Buffer size: - + Buffer-tamaina: @@ -3868,7 +2219,7 @@ If you are unsure, leave it as 'Automatic'. Triple buffer - + Buffer hirukoitza @@ -3881,954 +2232,12 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - - - - - - Cutoff frequency - - - - - - RESO - - - - - - Resonance - - - - - - GAIN - - - - - - Gain - Irabazia - - - - MIX - - - - - Mix - - - - - Filter 1 enabled - - - - - Filter 2 enabled - - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - - - - - Filter 1 type - - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - - - - - Gain 1 - - - - - Mix - - - - - Filter 2 enabled - - - - - Filter 2 type - - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - - - - - Gain 2 - - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - - - - - - All-pass - - - - - - Moog - - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - - - - - - Fast Formant - - - - - - Tripole - - - - - Editor - - - Transport controls - - - - - Play (Space) - - - - - Stop (Space) - - - - - Record - Grabatu - - - - Record while playing - Grabatu erreproduzitzean - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - - - - - Wet/Dry mix - - - - - Gate - - - - - Decay - - - - - EffectChain - - - Effects enabled - Efektuak gaituta - - - - EffectRackView - - - EFFECTS CHAIN - - - - - Add effect - Gehitu efektua - - - - EffectSelectDialog - - - Add effect - Gehitu efektua - - - - - Name - Izena - - - - Type - Mota - - - - Description - Deskribapena - - - - Author - Egilea - - - - EffectView - - - On/Off - - - - - W/D - - - - - Wet Level: - - - - - DECAY - - - - - Time: - - - - - GATE - - - - - Gate: - - - - - Controls - Kontrola - - - - Move &up - - - - - Move &down - - - - - &Remove this plugin - - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - - - - - - Pre-delay: - - - - - - ATT - - - - - - Attack: - - - - - HOLD - - - - - Hold: - - - - - DEC - - - - - Decay: - - - - - SUST - - - - - Sustain: - - - - - REL - - - - - Release: - - - - - - AMT - - - - - - Modulation amount: - - - - - SPD - SPD - - - - Frequency: - Maiztasuna: - - - - FREQ x 100 - - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - - - - - Hint - - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Sarrerako irabazia - - - - Output gain - Irteerako irabazia - - - - Low-shelf gain - - - - - Peak 1 gain - - - - - Peak 2 gain - - - - - Peak 3 gain - - - - - Peak 4 gain - - - - - High-shelf gain - - - - - HP res - - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - - - - - HP freq - - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - - - - - Peak 2 active - - - - - Peak 3 active - - - - - Peak 4 active - - - - - High-shelf active - - - - - LP active - - - - - LP 12 - - - - - LP 24 - - - - - LP 48 - - - - - HP 12 - - - - - HP 24 - - - - - HP 48 - - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - - - - - Analyse OUT - - - - - EqControlsDialog - - - HP - - - - - Low-shelf - - - - - Peak 1 - - - - - Peak 2 - - - - - Peak 3 - - - - - Peak 4 - - - - - High-shelf - - - - - LP - - - - - Input gain - Sarrerako irabazia - - - - - - Gain - Irabazia - - - - Output gain - Irteerako irabazia - - - - Bandwidth: - Banda-zabalera: - - - - Octave - - - - - Resonance : - - - - - Frequency: - Maiztasuna: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - - - - - BW: - - - - - - Freq: - - - ExportProjectDialog Export project - + Esportatu proiektua @@ -4853,12 +2262,12 @@ If you are unsure, leave it as 'Automatic'. File format settings - + Fitxategi-formatuen ezarpenak File format: - + Fitxategi-formatua: @@ -4893,7 +2302,7 @@ If you are unsure, leave it as 'Automatic'. Bit depth: - + Bit-sakonera: @@ -5006,2125 +2415,652 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - - - - - 1x (None) - 1x (bat ere ez) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Hasiera - + Cancel Utzi - - - Could not open file - Ezin da fitxategia irek - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - - - - - Export project to %1 - - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - Errorea - - - - Error while determining file-encoder device. Please try to choose a different output format. - - - - - Rendering: %1% - - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - Sartu %1 eta %2 arteko balio berri bat: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - - - - - Search - Bilatu - - - - Refresh list - Freskatu zerrenda - - - - FileBrowserTreeWidget - - - Send to active instrument-track - - - - - Open containing folder - - - - - Song Editor - - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Lagina kargatzen - - - - Please wait, loading sample for preview... - Itxaron, lagina kargatzen ari da aurrebistarako... - - - - Error - Errorea - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - - - - - FlangerControls - - - Delay samples - Atzeratu laginak - - - - LFO frequency - - - - - Seconds - - - - - Stereo phase - - - - - Regen - - - - - Noise - - - - - Invert - - - - - FlangerControlsDialog - - - DELAY - - - - - Delay time: - - - - - RATE - - - - - Period: - - - - - AMNT - - - - - Amount: - - - - - PHASE - - - - - Phase: - - - - - FDBK - - - - - Feedback amount: - - - - - NOISE - - - - - White noise amount: - - - - - Invert - - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - - - - - Bass - - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - - - - - Treble - - - - - Bass: - - - - - Bass - - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - - - - - Move &left - - - - - Move &right - - - - - Rename &channel - - - - - R&emove channel - - - - - Remove &unused channels - - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - - - - - New mixer Channel - - - - - Mixer - - - Master - - - - - - - Channel %1 - - - - - Volume - Bolumena - - - - Mute - - - - - Solo - - - - - MixerView - - - Mixer - - - - - Fader %1 - - - - - Mute - - - - - Mute this mixer channel - - - - - Solo - - - - - Solo mixer channel - - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - - - - - GigInstrument - - - Bank - - - - - Patch - - - - - Gain - Irabazia - - - - GigInstrumentView - - - - Open GIG file - Ireki GIG fitxategia - - - - Choose patch - - - - - Gain: - Irabazia: - - - - GIG Files (*.gig) - GIG fitxategiak (*.gig) - - - - GuiApplication - - - Working directory - Laneko direktorioa - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - - - - - Preparing UI - Interfazea prestatzen - - - - Preparing song editor - Abesti-editorea prestatzen - - - - Preparing mixer - Nahasgailua prestatzen - - - - Preparing controller rack - - - - - Preparing project notes - - - - - Preparing beat/bassline editor - - - - - Preparing piano roll - - - - - Preparing automation editor - - - - - InstrumentFunctionArpeggio - - - Arpeggio - - - - - Arpeggio type - - - - - Arpeggio range - - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - - - - - Arpeggio gate - - - - - Arpeggio direction - - - - - Arpeggio mode - - - - - Up - - - - - Down - - - - - Up and down - - - - - Down and up - - - - - Random - Ausazkoa - - - - Free - - - - - Sort - - - - - Sync - - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - - - - - RANGE - - - - - Arpeggio range: - - - - - octave(s) - - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - - - - - SKIP - - - - - Skip rate: - - - - - - - % - - - - - MISS - - - - - Miss rate: - - - - - TIME - - - - - Arpeggio time: - - - - - ms - - - - - GATE - - - - - Arpeggio gate: - - - - - Chord: - - - - - Direction: - - - - - Mode: - - InstrumentFunctionNoteStacking - + octave - - + + Major - + Majb5 - + minor - + minb5 - + sus2 - + sus4 - + aug - + augsus4 - + tri - + 6 - + 6sus4 - + 6add9 - + m6 - + m6add9 - + 7 - + 7sus4 - + 7#5 - + 7b5 - + 7#9 - + 7b9 - + 7#5#9 - + 7#5b9 - + 7b5b9 - + 7add11 - + 7add13 - + 7#11 - + Maj7 - + Maj7b5 - + Maj7#5 - + Maj7#11 - + Maj7add13 - + m7 - + m7b5 - + m7b9 - + m7add11 - + m7add13 - + m-Maj7 - + m-Maj7add11 - + m-Maj7add13 - + 9 - + 9sus4 - + add9 - + 9#5 - + 9b5 - + 9#11 - + 9b13 - + Maj9 - + Maj9sus4 - + Maj9#5 - + Maj9#11 - + m9 - + madd9 - + m9b5 - + m9-Maj7 - + 11 - + 11b9 - + Maj11 - + m11 - + m-Maj11 - + 13 - + 13#9 - + 13b9 - + 13b5b9 - + Maj13 - + m13 - + m-Maj13 - + Harmonic minor - + Melodic minor - + Whole tone - + Diminished - + Major pentatonic - + Minor pentatonic - + Jap in sen - + Major bebop - + Dominant bebop - + Blues - + Arabic - + Enigmatic - + Neopolitan - + Neopolitan minor - + Hungarian minor - + Dorian - + Phrygian - + Lydian - + Mixolydian - + Aeolian - + Locrian - + Minor - + Chromatic - + Half-Whole Diminished - + 5 - + Phrygian dominant - + Persian - - - Chords - - - - - Chord type - - - - - Chord range - - - - - InstrumentFunctionNoteStackingView - - - STACKING - - - - - Chord: - - - - - RANGE - - - - - Chord range: - - - - - octave(s) - - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - - - - - ENABLE MIDI OUTPUT - - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - MIDI devices to receive MIDI events from - - - - - MIDI devices to send MIDI events to - - - - - CUSTOM BASE VELOCITY - - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - - - - - InstrumentTuningView - - - MASTER PITCH - - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME - + Volume Bolumena - + CUTOFF - - + Cutoff frequency - + RESO - + Resonance - - - Envelopes/LFOs - - - - - Filter type - - - - - Q/Resonance - - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - - - - - All-pass - - - - - Moog - - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - - - - - Fast Formant - - - - - Tripole - - - InstrumentSoundShapingView + JackAppDialog - - TARGET + + Add JACK Application - - FILTER + + Note: Features not implemented yet are greyed out - - FREQ + + Application - - Cutoff frequency: + + Name: - - Hz + + Application: - - Q/RESO + + From template - - Q/Resonance: + + Custom - - Envelopes, LFOs and filters are not supported by the current instrument. - - - - - InstrumentTrack - - - - unnamed_track + + Template: - - Base note + + Command: - - First note + + Setup - - Last note + + Session Manager: - - Volume - Bolumena - - - - Panning - Panoramika - - - - Pitch + + None - - Pitch range + + Audio inputs: - - Mixer channel + + MIDI inputs: - - Master pitch + + Audio outputs: - - Enable/Disable MIDI CC + + MIDI outputs: - - CC Controller %1 + + Take control of main application window - - - Default preset - - - - - InstrumentTrackView - - - Volume - Bolumena - - - - Volume: - Bolumena: - - - - VOL - VOL - - - - Panning - Panoramika - - - - Panning: - Panoramika: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Sarrera - - - - Output - Irteera - - - - Open/Close MIDI CC Rack + + Workarounds - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS + + Wait for external application start (Advanced, for Debug only) - - Volume - Bolumena - - - - Volume: - Bolumena: - - - - VOL - VOL - - - - Panning - Panoramika - - - - Panning: - Panoramika: - - - - PAN - PAN - - - - Pitch + + Capture only the first X11 Window - - Pitch: + + Use previous client output buffer as input for the next client - - cents + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - PITCH + + Error here - - Pitch range (semitones) - - - - - RANGE - - - - - Mixer channel - - - - - CHANNEL - - - - - Save current instrument track settings in a preset file - - - - - SAVE - - - - - Envelope, filter & LFO - - - - - Chord stacking & arpeggio - - - - - Effects - Efektuak - - - - MIDI - MIDI - - - - Miscellaneous - Bestelakoak - - - - Save preset - - - - - XML preset file (*.xpf) - - - - - Plugin - Plugina - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -7132,945 +3068,11 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Ezarri lineala - - - - Set logarithmic - Ezarri logaritmikoa - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Sartu -96.0 dBFS eta 6.0 dBFS arteko balio berri bat: - - - - Please enter a new value between %1 and %2: - Sartu %1 eta %2 arteko balio berri bat: - - - - LadspaControl - - - Link channels - Estekatu kanalak - - - - LadspaControlDialog - - - Link Channels - Estekatu kanalak - - - - Channel - Kanala - - - - LadspaControlView - - - Link channels - Estekatu kanalak - - - - Value: - Balioa: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Sartu %1 eta %2 arteko balio berri bat: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Sartu %1 eta %2 arteko balio berri bat: - - - - LeftRightNav - - - - - Previous - Aurrekoa - - - - - - Next - Hurrengoa - - - - Previous (%1) - Aurrekoa (%1) - - - - Next (%1) - Hurrengoa (%1) - - - - LfoController - - - LFO Controller - LFO kontrolagailua - - - - Base value - Oinarri-balioa - - - - Oscillator speed - Osziladore-abiadura - - - - Oscillator amount - Osziladore-kantitatea - - - - Oscillator phase - Osziladore-fasea - - - - Oscillator waveform - Osziladorearen uhin-forma - - - - Frequency Multiplier - - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - - - - - Base: - - - - - FREQ - - - - - LFO frequency: - - - - - AMNT - - - - - Modulation amount: - - - - - PHS - - - - - Phase offset: - - - - - degrees - - - - - Sine wave - - - - - Triangle wave - - - - - Saw wave - - - - - Square wave - - - - - Moog saw wave - - - - - Exponential wave - - - - - White noise - - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - - - - - Initializing data structures - - - - - Opening audio and midi devices - - - - - Launching mixer threads - - - - - MainWindow - - - Configuration file - Konfigurazio-fitxategia - - - - Error while parsing configuration file at line %1:%2: %3 - - - - - Could not open file - Ezin da fitxategia irek - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - - - - - Project recovery - Proiektuaren berreskurapena - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - - - - - Recover - Berreskuratu - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - - - - - - Discard - Baztertu - - - - Launch a default session and delete the restored files. This is not reversible. - Abiarazi saio lehenetsi bat eta ezabatu leheneratutako fitxategiak. Ekintza hori ezin da desegin - - - - Version %1 - %1 bertsioa - - - - Preparing plugin browser - Plugin-arakatzailea prestatzen - - - - Preparing file browsers - Fitxategi-arakatzaileak prestatzen - - - - My Projects - Nire proiektuak - - - - My Samples - - - - - My Presets - - - - - My Home - - - - - Root directory - Erro-direktorioa - - - - Volumes - Bolumenak - - - - My Computer - - - - - &File - &Fitxategia - - - - &New - &Berria - - - - &Open... - &Ireki... - - - - Loading background picture - - - - - &Save - &Gorde - - - - Save &As... - Gorde &honela... - - - - Save as New &Version - Gorde &bertsio berri gisa - - - - Save as default template - Gorde txantiloi lehenetsi gisa - - - - Import... - Importatu... - - - - E&xport... - E&sportatu... - - - - E&xport Tracks... - - - - - Export &MIDI... - Esportatu &MIDIa... - - - - &Quit - I&rten - - - - &Edit - &Editatu - - - - Undo - Desegin - - - - Redo - Berregin - - - - Settings - Ezarpenak - - - - &View - &Ikusi - - - - &Tools - &Tresnak - - - - &Help - &Laguntza - - - - Online Help - - - - - Help - Laguntza - - - - About - Honi buruz - - - - Create new project - Sortu proiektu berria - - - - Create new project from template - Sortu proiektu berria txantiloitik - - - - Open existing project - Ireki lehendik dagoen proiektua - - - - Recently opened projects - Azken aldian irekitako proiektuak - - - - Save current project - Gorde uneko proiektua - - - - Export current project - Esportatu uneko proiektua - - - - Metronome - - - - - - Song Editor - - - - - - Beat+Bassline Editor - - - - - - Piano Roll - - - - - - Automation Editor - - - - - - Mixer - - - - - Show/hide controller rack - - - - - Show/hide project notes - - - - - Untitled - - - - - Recover session. Please save your work! - - - - - LMMS %1 - - - - - Recovered project not saved - - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - - - - - Project not saved - - - - - The current project was modified since last saving. Do you want to save it now? - - - - - Open Project - Ireki proiektua - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Gorde proiektua - - - - LMMS Project - LMMS proiektua - - - - LMMS Project Template - LMMS proiektu-txantiloia - - - - Save project template - Gorde proiektu-txantiloia - - - - Overwrite default template? - Gainidatzi txantiloi lehenetsia? - - - - This will overwrite your current default template. - Horrek zure uneko txantiloi lehenetsia gainidatziko du. - - - - Help not available - - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - - - - - Controller Rack - - - - - Project Notes - - - - - Fullscreen - - - - - Volume as dBFS - - - - - Smooth scroll - Korritze leuna - - - - Enable note labels in piano roll - - - - - MIDI File (*.mid) - MIDI fitxategia (*.mid) - - - - - untitled - - - - - - Select file for project-export... - - - - - Select directory for writing exported tracks... - - - - - Save project - Gorde proiektua - - - - Project saved - Proiektua gorde da - - - - The project %1 is now saved. - %1 proiektua gorde da. - - - - Project NOT saved. - Proiektua EZ da gorde. - - - - The project %1 was not saved! - %1 proiektua ez da gorde! - - - - Import file - Inportatu fitxategia - - - - MIDI sequences - MIDI sekuentziak - - - - Hydrogen projects - - - - - All file types - Fitxategi mota guztiak - - - - MeterDialog - - - - Meter Numerator - - - - - Meter numerator - - - - - - Meter Denominator - - - - - Meter denominator - - - - - TIME SIG - - - - - MeterModel - - - Numerator - Zenbakitzailea - - - - Denominator - Izendatzailea - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI kontrolatzailea - - - - unnamed_midi_controller - - - - - MidiImport - - - - Setup incomplete - - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Zenbakitzailea - - - - Denominator - Izendatzailea - - - - Track - Pista - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK zerbitzaria erorita - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Badirudi JACK zerbitzaria itxi egin dela. - - MidiPatternW @@ -8276,2728 +3278,368 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. I&rten - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Sarrerako kanala - - - - Output channel - Irteerako kanala - - - - Input controller - Sarrerako kontrolatzailea - - - - Output controller - Irteerako kontrolatzailea - - - - Fixed input velocity - Sarrerako abiadura finkoa - - - - Fixed output velocity - Irteerako abiadura finkoa - - - - Fixed output note - - - - - Output MIDI program - Irteerako MIDI programa - - - - Base velocity - - - - - Receive MIDI-events - Jaso MIDI-events - - - - Send MIDI-events - Bidali MIDI-events - - - - MidiSetupWidget - - - Device - Gailua - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Hautatutako bista - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - - - - - White noise - - - - - Digital Triangle wave - - - - - Digital Saw wave - - - - - Digital Ramp wave - - - - - Digital Square wave - - - - - Digital Moog saw wave - - - - - Triangle wave - - - - - Saw wave - - - - - Ramp wave - - - - - Square wave - - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - Ausazkoa - - - - Random smooth - Ausazko leuntzea - - - - MonstroView - - - Operators view - - - - - Matrix view - - - - - - - Volume - Bolumena - - - - - - Panning - Panoramika - - - - - - Coarse detune - - - - - - - semitones - - - - - - Fine tune left - - - - - - - - cents - - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - - - - - Pulse width - - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - - - - - - Rate - - - - - - Phase - - - - - - Pre-delay - - - - - - Hold - - - - - - Decay - - - - - - Sustain - - - - - - Release - - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - - - - - MultitapEchoControlDialog - - - Length - - - - - Step length: - - - - - Dry - - - - - Dry gain: - - - - - Stages - - - - - Low-pass stages: - - - - - Swap inputs - - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - - - - - Vibrato - - - - - NesInstrumentView - - - - - - Volume - Bolumena - - - - - - Coarse detune - - - - - - - Envelope length - - - - - Enable channel 1 - - - - - Enable envelope 1 - - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - - - - - - 25% Duty cycle - - - - - - 50% Duty cycle - - - - - - 75% Duty cycle - - - - - Enable channel 2 - - - - - Enable envelope 2 - - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - - - - - Noise Frequency - - - - - Frequency sweep - - - - - Enable channel 4 - - - - - Enable envelope 4 - - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - - - - - Master volume - - - - - Vibrato - - - - - OpulenzInstrument - - - Patch - - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - - - - - - Decay - - - - - - Release - - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - - - - - Osc %1 harmonic - - - - - - Osc %1 volume - - - - - - Osc %1 panning - - - - - - Osc %1 fine detuning left - - - - - Osc %1 coarse detuning - - - - - Osc %1 fine detuning right - - - - - Osc %1 phase-offset - - - - - Osc %1 stereo phase-detuning - - - - - Osc %1 wave shape - - - - - Modulation type %1 - - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - - - PatchesDialog + Qsynth: Channel Preset + Bank selector + Bank + Program selector + Patch + Name Izena + OK Ados + Cancel Utzi - - PatmanView - - - Open patch - - - - - Loop - Begizta - - - - Loop mode - Begizta modua - - - - Tune - - - - - Tune mode - - - - - No file selected - Ez da fitxategirik hautatu - - - - Open patch file - - - - - Patch-Files (*.pat) - - - - - MidiClipView - - - Open in piano-roll - - - - - Set as ghost in piano-roll - - - - - Clear all notes - - - - - Reset name - Berrezarri izena - - - - Change name - Aldatu izena - - - - Add steps - Gehitu urratsa - - - - Remove steps - Kendu urratsak - - - - Clone Steps - Klonatu urratsak - - - - PeakController - - - Peak Controller - - - - - Peak Controller Bug - - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - - - - - PeakControllerDialog - - - PEAK - - - - - LFO Controller - LFO kontrolagailua - - - - PeakControllerEffectControlDialog - - - BASE - - - - - Base: - - - - - AMNT - - - - - Modulation amount: - - - - - MULT - - - - - Amount multiplicator: - - - - - ATCK - - - - - Attack: - - - - - DCAY - - - - - Release: - - - - - TRSH - - - - - Treshold: - - - - - Mute output - - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Oinarri-balioa - - - - Modulation amount - - - - - Attack - - - - - Release - - - - - Treshold - Atalasea - - - - Mute output - - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - - - - - Note Panning - - - - - Mark/unmark current semitone - - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - - - - - Select all notes on this key - - - - - Note lock - - - - - Last note - - - - - No key - - - - - No scale - - - - - No chord - - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - - - - - Panning: %1% left - - - - - Panning: %1% right - - - - - Panning: center - - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - - - - - - Please enter a new value between %1 and %2: - Sartu %1 eta %2 arteko balio berri bat: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Erreproduzitu/pausatu uneko eredua (espazioa) - - - - Record notes from MIDI-device/channel-piano - - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Gelditu uneko ereduaren erreprodukzioa (espazioa) - - - - Edit actions - Editatu ekintzak - - - - Draw mode (Shift+D) - Marrazte modua (Shift+D) - - - - Erase mode (Shift+E) - Ezabatze modua (Shift+E) - - - - Select mode (Shift+S) - - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Denbora-lerroaren kontrolak - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - Zoom horizontala - - - - Vertical zooming - Zoom bertikala - - - - Quantization - Kuantifikazioa - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - - - - - - Piano-Roll - no clip - - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - - - - - First note - - - - - Last note - - - - - Plugin - - - Plugin not found - - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - - - - - Error while loading plugin - - - - - Failed to load plugin "%1"! - - - PluginBrowser - - Instrument Plugins - - - - - Instrument browser - - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - - - - + no description - + A native amplifier plugin - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - + Boost your bass the fast and simple way - + Customizable wavetable synthesizer - + An oversampling bitcrusher - + Carla Patchbay Instrument - + Carla Rack Instrument - + A dynamic range compressor. - + A 4-band Crossover Equalizer - + A native delay plugin - + A Dual filter plugin - + plugin for processing dynamics in a flexible way - + A native eq plugin - + A native flanger plugin - + Emulation of GameBoy (TM) APU - + Player for GIG files - + Filter for importing Hydrogen files into LMMS - + Versatile drum synthesizer - + List installed LADSPA plugins - + plugin for using arbitrary LADSPA-effects inside LMMS. - + Incomplete monophonic imitation TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS - + Filter for importing MIDI-files into LMMS - + Monstrous 3-oscillator synth with modulation matrix - + A multitap echo delay plugin - + A NES-like synthesizer - + 2-operator FM Synth - + Additive Synthesizer for organ-like sounds - + GUS-compatible patch instrument - + Plugin for controlling knobs with sound peaks - + Reverb algorithm by Sean Costello - + Player for SoundFont files - + LMMS port of sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file - + Plugin for freely manipulating stereo output - + Tuneful things to bang on - + Three powerful oscillators you can modulate in several ways - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS - + Vibrating string modeler - + plugin for using arbitrary VST effects inside LMMS. - + 4-oscillator modulatable wavetable synth - + plugin for waveshaping - + Mathematical expression parser - + Embedded ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Mota - - - - Effects - Efektuak - - - - Instruments - - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Utzi - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Mota: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Izena - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -11096,93 +3738,98 @@ This chip was used in the Commodore 64 computer. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Mota: - + Maker: - + Copyright: - + Unique ID: @@ -11190,16 +3837,457 @@ Plugin Name PluginFactory - + Plugin not found. - + LMMS plugin %1 does not have a plugin descriptor named %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -11214,157 +4302,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Itxi + @@ -11379,50 +4371,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable Gaitu - + On/Off - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11437,2289 +4429,13568 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - - - - - Enter project notes here - - - - - Edit Actions - Edizio-ekintzak - - - - &Undo - &Desegin - - - - %1+Z - %1+Z - - - - &Redo - Be&rregin - - - - %1+Y - %1+Y - - - - &Copy - &Kopiatu - - - - %1+C - %1+C - - - - Cu&t - Mo&ztu - - - - %1+X - %1+X - - - - &Paste - &Itsatsi - - - - %1+V - %1+V - - - - Format Actions - Formatu-ekintzak - - - - &Bold - - - - - %1+B - - - - - &Italic - - - - - %1+I - - - - - &Underline - - - - - %1+U - - - - - &Left - - - - - %1+L - - - - - C&enter - - - - - %1+E - - - - - &Right - - - - - %1+R - - - - - &Justify - - - - - %1+J - - - - - &Color... - &Kolorea... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) - QObject + QGroupBox - - Reload Plugin - - - - - Show GUI - Erakutsi erabiltzaile-interfazea - - - - Help - Laguntza - - - - QWidget - - - - - - Name: - Izena: - - - - URI: - - - - - - - Maker: - Egilea: - - - - - - Copyright: - Copyright: - - - - - Requires Real Time: - - - - - - - - - - Yes - Bai - - - - - - - - - No - Ez - - - - - Real Time Capable: - - - - - - In Place Broken: - - - - - - Channels In: - - - - - - Channels Out: - - - - - File: %1 - Fitxategia: %1 - - - - File: - Fitxategia: - - - - RecentProjectsMenu - - - &Recently Opened Projects - &Azken aldian irekitako proiektuak - - - - RenameDialog - - - Rename... - Aldatu izena... - - - - ReverbSCControlDialog - - - Input - Sarrera - - - - Input gain: - Sarrerako irabazia: - - - - Size - Tamaina - - - - Size: - Tamaina: - - - - Color - Kolorea - - - - Color: - Kolorea: - - - - Output - Irteera - - - - Output gain: - Irteerako irabazia: - - - - ReverbSCControls - - - Input gain - Sarrerako irabazia - - - - Size - Tamaina - - - - Color - Kolorea - - - - Output gain - Irteerako irabazia - - - - SaControls - - - Pause - - - - - Reference freeze - - - - - Waterfall - - - - - Averaging - - - - - Stereo - - - - - Peak hold - - - - - Logarithmic frequency - - - - - Logarithmic amplitude - - - - - Frequency range - - - - - Amplitude range - - - - - FFT block size - - - - - FFT window type - - - - - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier - - - - - Averaging weight - - - - - Waterfall history size - - - - - Waterfall gamma correction - - - - - FFT window overlap - - - - - FFT zero padding - - - - - - Full (auto) - - - - - - - Audible - - - - - Bass - - - - - Mids - - - - - High - - - - - Extended - - - - - Loud - - - - - Silent - - - - - (High time res.) - - - - - (High freq. res.) - - - - - Rectangular (Off) - - - - - - Blackman-Harris (Default) - - - - - Hamming - - - - - Hanning - - - - - SaControlsDialog - - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type - - - - - SampleBuffer - - - Fail to open file - Ezin izan da fitxategia ireki - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - - - - - Open audio file - Ireki audio-fitxategia - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Audio-fitxategi guztiak (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave fitxategiak (*.wav) - - - - OGG-Files (*.ogg) - OGG fitxategiak (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth fitxategia (*.ds) - - - - FLAC-Files (*.flac) - FLAC fitxategiak (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX fitxategiak (*.spx) - - - - VOC-Files (*.voc) - VOC fitxategiak (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF fitxategiak (*.aif *.aiff) - - - - AU-Files (*.au) - AU fitxategiak (*.au) - - - - RAW-Files (*.raw) - RAW fitxategiak (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - Ezabatu (saguaren erdiko botoia) - - - - Delete selection (middle mousebutton) - - - - - Cut - Moztu - - - - Cut selection - - - - - Copy - Kopiatu - - - - Copy selection - - - - - Paste - Itsatsi - - - - Mute/unmute (<%1> + middle click) - - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Alderantzikatu lagina - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - - Volume - Bolumena - - - - Panning - Panoramika - - - - Mixer channel - - - - - - Sample track - - - - - SampleTrackView - - - Track volume - - - - - Channel volume: - - - - - VOL - VOL - - - - Panning - Panoramika - - - - Panning: - Panoramika: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - - - - - Sample volume - - - - - Volume: - Bolumena: - - - - VOL - BOL - - - - Panning - Panoramika - - - - Panning: - Panoramika: - - - - PAN - PAN - - - - Mixer channel - - - - - CHANNEL - - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - - - - - SetupDialog - - - Reset to default value - - - - - Use built-in NaN handler - - - - - Settings - Ezarpenak - - - - - General - Orokorra - - - - Graphical user interface (GUI) - Erabiltzaile-interfaze grafikoa (GUI) - - - - Display volume as dBFS - - - - - Enable tooltips - - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - Proiektuak - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - Hizkuntza - - - - - Performance - Errendimendua - - - - Autosave - Gordetze automatikoa - - - - Enable autosave - Gaitu gordetze automatikoa - - - - Allow autosave while playing - Onartu gordetze automatikoa erreproduzitzean - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Pluginak - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - - - - - Embed using native Win32 API - - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - - - - - Keep effects running even without input - - - - - - Audio - Audioa - - - - Audio interface - Audio-interfazea - - - - HQ mode for output audio device - - - - - Buffer size - Buffer-tamaina - - - - - MIDI - MIDI - - - - MIDI interface - MIDI interfazea - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2 direktorioa - - - - Default SF2 - - - - - GIG directory - GIG direktorioa - - - - Theme directory - - - - - Background artwork - - - - - Some changes require restarting. - Zenbait aldaketak berrabiaraztea behar dute. - - - - Autosave interval: %1 - Gordetze automatikoaren tartea: %1 - - - - Choose the LMMS working directory - Aukeratu LMMSren laneko direktorioa - - - - Choose your VST plugins directory - Aukeratu VST pluginen direktorioa - - - - Choose your LADSPA plugins directory - Aukeratu LADSPA pluginen direktorioa - - - - Choose your default SF2 - Aukeratu SF2 lehenetsia - - - - Choose your theme directory - Aukeratu azalen direktorioa - - - - Choose your background picture - Aukeratu atzeko planoaren irudia - - - - - Paths - Bideak - - - - OK - Ados - - - - Cancel - Utzi - - - - Frames: %1 -Latency: %2 ms - - - - - Choose your GIG directory - Hautatu zure GIG direktorioa - - - - Choose your SF2 directory - Hautatu zure SF2 direktorioa - - - - minutes - minutu - - - - minute - minutu - - - - Disabled - Desgaituta - - - - SidInstrument - - - Cutoff frequency - - - - - Resonance - - - - - Filter type - - - - - Voice 3 off - - - - - Volume - Bolumena - - - - Chip model - - - - - SidInstrumentView - - - Volume: - Bolumena: - - - - Resonance: - - - - - - Cutoff frequency: - - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - - - - - MOS8580 SID - - - - - - Attack: - - - - - - Decay: - - - - - Sustain: - - - - - - Release: - - - - - Pulse Width: - - - - - Coarse: - - - - - Pulse wave - - - - - Triangle wave - - - - - Saw wave - - - - - Noise - - - - - Sync - - - - - Ring modulation - - - - - Filtered - - - - - Test - - - - - Pulse width: - - - - - SideBarWidget - - - Close - Itxi - - - - Song - - - Tempo - - - - - Master volume - - - - - Master pitch - - - - - Aborting project load - - - - - Project file contains local paths to plugins, which could be used to run malicious code. - - - - - Can't load project: Project file contains local paths to plugins. - - - - - LMMS Error report - LMMS errore-txostena - - - - (repeated %1 times) - - - - - The following errors occurred while loading: - - - - - SongEditor - - - Could not open file - Ezin da fitxategia irek - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - - - - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Errorea - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - Ezin da fitxategia idatzi - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - - - - - The file %1 seems to contain errors and therefore can't be loaded. - - - - - Version difference - - - - - template - - - - - project - - - - - Tempo - - - - - TEMPO - - - - - Tempo in BPM - - - - - High quality mode - - - - - - - Master volume - - - - - - - Master pitch - - - - - Value: %1% - - - - - Value: %1 semitones - - - - - SongEditorWindow - - - Song-Editor - - - - - Play song (Space) - - - - - Record samples from Audio-device - - - - - Record samples from Audio-device while playing song or BB track - - - - - Stop song (Space) - - - - - Track actions - - - - - Add beat/bassline - Gehitu taupada/baxu-lerroa - - - - Add sample-track - Gehitu lagin-pista - - - - Add automation-track - Gehitu automatizazio-pista - - - - Edit actions - Editatu ekintzak - - - - Draw mode - - - - - Knife mode (split sample clips) - - - - - Edit mode (select and move) - - - - - Timeline controls - Denbora-lerroaren kontrolak - - - - Bar insert controls - - - - - Insert bar - - - - - Remove bar - - - - - Zoom controls - Zoom-kontrolak - - - - Horizontal zooming - Zoom horizontala - - - - Snap controls - - - - - - Clip snapping size - - - - - Toggle proportional snap on/off - - - - - Base snapping size - - - - - StepRecorderWidget - - - Hint - - - - - Move recording curser using <Left/Right> arrows - - - - - SubWindow - - - Close - Itxi - - - - Maximize - Maximizatu - - - - Restore - Leheneratu - - - - TabWidget - - - + + Settings for %1 - TemplatesMenu + QObject - - New from template - Berria txantiloitik - - - - TempoSyncKnob - - - - Tempo Sync + + Reload Plugin - - No Sync + + Show GUI + Erakutsi erabiltzaile-interfazea + + + + Help + Laguntza + + + + LADSPA plugins - - Eight beats + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. - - Whole note - Nota osoa - - - - Half note - Nota erdia - - - - Quarter note - Nota laurdena - - - - 8th note - 8. nota - - - - 16th note - 16. nota - - - - 32nd note - 32. nota - - - - Custom... - Pertsonalizatua... - - - - Custom - Pertsonalizatua - - - - Synced to Eight Beats + + URI: - - Synced to Whole Note + + Project: - - Synced to Half Note + + Maker: - - Synced to Quarter Note + + Homepage: - - Synced to 8th Note + + License: - - Synced to 16th Note + + File: %1 - - Synced to 32nd Note + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) - TimeDisplayWidget + QWidget - - Time units + + + Name: + Izena: + + + + Maker: + Egilea: + + + + Copyright: + Copyright: + + + + Requires Real Time: - - MIN + + + + Yes + Bai + + + + + + No + Ez + + + + Real Time Capable: - - SEC + + In Place Broken: - - MSEC + + Channels In: - - BAR + + Channels Out: - - BEAT + + File: %1 + Fitxategia: %1 + + + + File: + Fitxategia: + + + + XYControllerW + + + XY Controller - - TICK + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) - TimeLineWidget + lmms::AmplifierControls - - Auto scrolling + + Volume - - Loop points + + Panning - - After stopping go back to beginning + + Left gain - - After stopping go back to position at which playing was started - - - - - After stopping keep position - - - - - Hint - - - - - Press <%1> to disable magnetic loop points. + + Right gain - Track + lmms::AudioFileProcessor - + + Amplify + + + + + Start of sample + + + + + End of sample + + + + + Loopback point + + + + + Reverse sample + + + + + Loop mode + + + + + Stutter + + + + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + + + + + lmms::AudioJack + + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + + Input gain + + + + + Input noise + + + + + Output gain + + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + Sarrerako irabazia + + + + Output gain + Irteerako irabazia + + + + Attack time + + + + + Release time + + + + + Stereo mode + Estereo modua + + + + lmms::Effect + + + Effect enabled + Efektua gaituta + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + Iragazki mota + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + Pasaera baxua + + + + Hi-pass + Pasaera altua + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + Bolumena + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + hutsik + + + + lmms::KickerInstrument + + + Start frequency + Hasierako maiztasuna + + + + End frequency + Amaierako maiztasuna + + + + Length + Luzera + + + + Start distortion + Hasierako distortsioa + + + + End distortion + Amaierako distortsioa + + + + Gain + Irabazia + + + + Envelope slope + + + + + Noise + Zarata + + + + Click + Klika + + + + Frequency slope + Maiztasun-malda + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + Sakonera + + + + Time + Denbora + + + + Input Volume + Sarrerako bolumena + + + + Output Volume + Irteerako bolumena + + + + Upward Depth + Goranzko sakonera + + + + Downward Depth + Beheranzko sakonera + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + Gaitu banda altua + + + + Enable Mid Band + Gaitu tarteko banda + + + + Enable Low Band + Gaitu banda baxua + + + + High Input Volume + Sarrera-bolumen altua + + + + Mid Input Volume + Tarteko sarrera-bolumena + + + + Low Input Volume + Sarrera-bolumen baxua + + + + High Output Volume + Irteera-bolumen altua + + + + Mid Output Volume + Tarteko irteera-bolumena + + + + Low Output Volume + Irteera-bolumen baxua + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + Barrutia + + + + Balance + Balantzea + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + Estekatu kanalak + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + VCF erresonantzia + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + Distortsioa + + + + Waveform + Uhin-forma + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + Ez da lagina aurkitu + + + + lmms::MalletsInstrument + + + Hardness + Gogortasuna + + + + Position + Posizioa + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + Presioa + + + + Motion + + + + + Speed + Abiadura + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + Barra uniformea + + + + Tuned bar + + + + + Glass + Beira + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + Zenbakitzailea + + + + Denominator + Izendatzailea + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + Hautatutako eskala + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + MIDI kontrolatzailea + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + Zenbakitzailea + + + + Denominator + Izendatzailea + + + + + Tempo + + + + + Track + Pista + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + Sarrerako kanala + + + + Output channel + Irteerako kanala + + + + Input controller + Sarrerako kontrolatzailea + + + + Output controller + Irteerako kontrolatzailea + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + Irteerako MIDI programa + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + Maisua + + + + + + Channel %1 + %1 kanala + + + + Volume + Bolumena + + + Mute - + Solo - TrackContainer + lmms::MixerRoute - - Couldn't import file - Ezin da fitxategia inportatu + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + - + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + + + + + Color + + + + + Output gain + + + + + lmms::SaControls + + + Pause + + + + + Reference freeze + + + + + Waterfall + + + + + Averaging + + + + + Stereo + + + + + Peak hold + + + + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type + + + + + Peak envelope resolution + + + + + Spectrum display resolution + + + + + Peak decay multiplier + + + + + Averaging weight + + + + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + + FFT zero padding + + + + + + Full (auto) + + + + + + + Audible + + + + + Bass + + + + + Mids + + + + + High + + + + + Extended + + + + + Loud + + + + + Silent + + + + + (High time res.) + + + + + (High freq. res.) + + + + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + + + + + Hanning + + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + + + + + Panning + + + + + Mixer channel + + + + + + Sample track + + + + + lmms::Scale + + + empty + + + + + lmms::Sf2Instrument + + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + + Cutoff frequency + + + + + Resonance + + + + + Filter type + + + + + Voice 3 off + + + + + Volume + + + + + Chip model + + + + + lmms::SlicerT + + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + + + + + Master volume + + + + + Master pitch + + + + + Aborting project load + + + + + Project file contains local paths to plugins, which could be used to run malicious code. + + + + + Can't load project: Project file contains local paths to plugins. + + + + + LMMS Error report + + + + + (repeated %1 times) + + + + + The following errors occurred while loading: + + + + + lmms::StereoEnhancerControls + + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + + + + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - + Couldn't open file - Ezin da fitxategia ireki + - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - + Loading project... - Proiektua kargatzen... + - - + + Cancel - Utzi + - - + + Please wait... - Itxaron... + - + Loading cancelled - + Project loading was cancelled. - + Loading Track %1 (%2/Total %3) - + Importing MIDI-file... - MIDI fitxategia inportatzen... - - - - Clip - - - Mute - ClipView + lmms::TripleOscillator - + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + Eskala logaritmikoa + + + + High quality + Kalitate altua + + + + lmms::VestigeInstrument + + + Loading plugin + Plugina kargatzen + + + + Please wait while loading the VST plugin... + Itxaron VST plugina kargatu arte... + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + Gorde aurrezarpena + + + + .fxp + .fxp + + + + .FXP + .FXP + + + + .FXB + .FXB + + + + .fxb + .fxb + + + + Loading plugin + Plugina kargatzen + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + Sarrerako irabazia + + + + Output gain + Irteerako irabazia + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + Banda-zabalera + + + + FM gain + FM irabazia + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + VOL + + + + Volume: + Bolumena: + + + + PAN + PAN + + + + Panning: + + + + + LEFT + LEFT + + + + Left gain: + + + + + RIGHT + RIGHT + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + Gailua + + + + Channels + Kanalak + + + + lmms::gui::AudioFileProcessorView + + + Open sample + Ireki lagina + + + + Reverse sample + Alderantzikatu lagina + + + + Disable loop + Desgaitu begizta + + + + Enable loop + Gaitu begizta + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + Garbitu + + + + Reset name + Berrezarri izena + + + + Change name + Aldatu izena + + + + Set/clear record + Ezarri/garbitu grabazioa + + + + Flip Vertically (Visible) + Irauli bertikalean (ikusgai) + + + + Flip Horizontally (Visible) + Irauli horizontalean (ikusgai) + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + Editatu balioa + + + + New outValue + Irteerako balio berria + + + + New inValue + Sarrerako balio berria + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + Editatu ekintzak + + + + Draw mode (Shift+D) + Marrazte modua (Shift+D) + + + + Erase mode (Shift+E) + Ezabatze modua (Shift+E) + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + Irauli bertikalean + + + + Flip horizontally + Irauli horizontalean + + + + Interpolation controls + Interpolazio-kontrolak + + + + Discrete progression + Progresio diskretua + + + + Linear progression + Progresio lineala + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + Current position - Uneko posizioa + - + Current length - Uneko luzera + - - + + %1:%2 (%3:%4 to %5:%6) - + Press <%1> and drag to make a copy. - + Press <%1> for free resizing. - + Hint - + Delete (middle mousebutton) - Ezabatu (saguaren erdiko botoia) + - + Delete selection (middle mousebutton) - + Cut - Moztu + - + Cut selection - + Merge Selection - + Copy - Kopiatu + - + Copy selection - + Paste - Itsatsi + - + Mute/unmute (<%1> + middle click) - + Mute/unmute selection (<%1> + middle click) - - Set clip color + + Clip color - - Use track color + + Change + + + + + Reset + + + + + Pick random - TrackContentWidget + lmms::gui::CompressorControlDialog - + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + Gehitu efektua + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + Izena + + + + Type + Mota + + + + All + + + + + Search + + + + + Description + Deskribapena + + + + Author + Egilea + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + Ezarri balioa + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + Arakatzailea + + + + Search + Bilatu + + + + Refresh list + Freskatu zerrenda + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + Abestien editorea + + + + Pattern Editor + Ereduen editorea + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + Lagina kargatzen + + + + Please wait, loading sample for preview... + + + + + Error + Errorea + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + Bolumena + + + + Volume: + Bolumena: + + + + VOL + BOL + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + MIDI + + + + Input + Sarrera + + + + Output + Irteera + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + %1: %2 + + + + lmms::gui::InstrumentTrackWindow + + + Volume + Bolumena + + + + Volume: + Bolumena: + + + + VOL + BOL + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + GORDE + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + Efektuak + + + + MIDI + MIDI + + + + Tuning and transposition + + + + + Save preset + Gorde aurrezarpena + + + + XML preset file (*.xpf) + XML aurrezarpen-fitxategia (*.xpf) + + + + Plugin + Plugina + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + Hasierako maiztasuna: + + + + End frequency: + Amaierako maiztasuna: + + + + Frequency slope: + Maiztasun-malda: + + + + Gain: + Irabazia: + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + Klika: + + + + Noise: + Zarata: + + + + Start distortion: + Hasierako distortsioa: + + + + End distortion: + Amaierako distortsioa: + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + Erabilgarri dauden efektuak + + + + + Unavailable Effects + Erabilgarri ez dauden efektuak + + + + + Instruments + Instrumentuak + + + + + Analysis Tools + Analisi-tresnak + + + + + Don't know + Ezezaguna + + + + Type: + Mota: + + + + lmms::gui::LadspaControlDialog + + + Link Channels + Estekatu kanalak + + + + Channel + Kanala + + + + lmms::gui::LadspaControlView + + + Link channels + Estekatu kanalak + + + + Value: + Balioa: + + + + lmms::gui::LadspaDescription + + + Plugins + Pluginak + + + + Description + Deskribapena + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + Atakak + + + + Name + Izena + + + + Rate + Tasa + + + + Direction + Norabidea + + + + Type + Mota + + + + Min < Default < Max + Min > Lehenetsia > Max + + + + Logarithmic + Logaritmikoa + + + + SR Dependent + + + + + Audio + Audioa + + + + Control + Kontrola + + + + Input + Sarrera + + + + Output + Irteera + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + Bai + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + Erresonantzia: + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + Ezarri balioa + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + Ezarri balioa + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + Aurrekoa + + + + + + Next + Hurrengoa + + + + Previous (%1) + Aurrekoa (%1) + + + + Next (%1) + Hurrengoa (%1) + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + OINARRIA + + + + Base: + Oinarria: + + + + FREQ + MAIZT + + + + LFO frequency: + LFO maiztasuna: + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + gradu + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + Zarata zuria + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + Konfigurazio-fitxategia + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + Ezin da fitxategia ireki + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + Baztertu + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + %1 bertsioa + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + Nire proiektuak + + + + My Samples + Nire laginak + + + + My Presets + Nire aurrezarpenak + + + + My Home + Nire karpeta nagusia + + + + Root Directory + + + + + Volumes + Bolumenak + + + + My Computer + Nire ordenagailua + + + + Loading background picture + + + + + &File + &Fitxategia + + + + &New + &Berria + + + + &Open... + &Ireki... + + + + &Save + &Gorde + + + + Save &As... + Gorde &honela... + + + + Save as New &Version + Gorde &bertsio berri gisa + + + + Save as default template + Gorde txantiloi lehenetsi gisa + + + + Import... + Importatu... + + + + E&xport... + E&sportatu... + + + + E&xport Tracks... + Esportatu &pistak... + + + + Export &MIDI... + Esportatu &MIDIa... + + + + &Quit + I&rten + + + + &Edit + &Editatu + + + + Undo + Desegin + + + + Redo + Berregin + + + + Scales and keymaps + + + + + Settings + Ezarpenak + + + + &View + &Ikusi + + + + &Tools + &Tresnak + + + + &Help + &Laguntza + + + + Online Help + Lineako laguntza + + + + Help + Laguntza + + + + About + Honi buruz + + + + Create new project + Sortu proiektu berria + + + + Create new project from template + Sortu proiektu berria txantiloitik + + + + Open existing project + Ireki lehendik dagoen proiektua + + + + Recently opened projects + Azken aldian irekitako proiektuak + + + + Save current project + Gorde uneko proiektua + + + + Export current project + Esportatu uneko proiektua + + + + Metronome + Metronomoa + + + + + Song Editor + Abesti-editorea + + + + + Pattern Editor + Eredu-editorea + + + + + Piano Roll + + + + + + Automation Editor + Automatizazio-editorea + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + LMMS %1 + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + Ireki proiektua + + + + LMMS (*.mmp *.mmpz) + LMMS (*.mmp *.mmpz) + + + + Save Project + Gorde proiektua + + + + LMMS Project + LMMS proiektua + + + + LMMS Project Template + LMMS proiektu-txantiloia + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + + + + + lmms::gui::StepRecorderWidget + + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - Itsatsi + - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. Actions - Ekintzak + @@ -13734,248 +18005,240 @@ Please make sure you have read-permission to the file and the directory containi - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Klonatu pista hau + - + Remove this track - Kendu pista hau + + + + + Clear this track + - Clear this track - Garbitu pista hau - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - - Turn all recording on - Aktibatu grabazio guztiak + + Assign to new Mixer Channel + - + + Turn all recording on + + + + Turn all recording off - Desaktibatu grabazio guztiak + + + + + Track color + - Change color - Aldatu kolorea - - - - Reset color to default - Berrezarri kolorea lehenetsira - - - - Set random color + Change - - Clear clip colors + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - + Modulate frequency of oscillator 1 by oscillator 2 - + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - + Osc %1 panning: - + Osc %1 coarse detuning: - + semitones - + Osc %1 fine detuning left: - - + + cents - + Osc %1 fine detuning right: - + Osc %1 phase-offset: - - + + degrees - gradu + - + Osc %1 stereo phase-detuning: - + Sine wave - + Triangle wave - + Saw wave - + Square wave - + Moog-like saw wave - + Exponential wave - + White noise - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13990,2618 +18253,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog + lmms::gui::VersionedSaveDialog - + Increment version number - + Decrement version number - + Save Options - + already exists. Do you want to replace it? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - + Save preset - + Next (+) - + Show/hide GUI - + Turn off all notes - + DLL-files (*.dll) - + EXE-files (*.exe) - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - + by - + - VST plugin control - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + + + + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + Show/hide - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - + Next (+) - + Save preset - - + + Effect by: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. + + + + + Volume - - Open Preset - - - - - - Vst Plugin Preset (*.fxp *.fxb) - - - - - : default - - - - - Save Preset - - - - - .fxp - - - - - .FXP - - - - - .FXB - - - - - .fxb - - - - - Loading plugin - - - - - Please wait while loading VST plugin... - - - - - WatsynInstrument - - - Volume A1 - - - - - Volume A2 - - - - - Volume B1 - - - - - Volume B2 - - - - - Panning A1 - - - - - Panning A2 - - - - - Panning B1 - - - - - Panning B2 - - - - - Freq. multiplier A1 - - - - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - - - - - WatsynView - + + - - - Volume - Bolumena + Panning + + + - - - Panning - Panoramika - - - - - - Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - - - - + + + + Right detune - + A-B Mix - + Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - + Select oscillator A2 - + Select oscillator B1 - + Select oscillator B2 - + Mix output of A2 to A1 - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - + Load waveform - + Load a waveform from a sample file - + Phase left - + Shift phase by -15 degrees - + Phase right - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - - - - - Invert - - + + Smooth - - + + Sine wave - - - + + + Triangle wave - + Saw wave - - + + Square wave - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Select oscillator W1 - - - - - Select oscillator W2 - - - - - Select oscillator W3 - - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - - - - - - Sine wave - - - - - - Moog-saw wave - - - - - - Exponential wave - - - - - - Saw wave - - - - - - User-defined wave - - - - - - Triangle wave - - - - - - Square wave - - - - - - White noise - - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - - - - - PORT - - - - - Filter frequency: - - - - - FREQ - - - - - Filter resonance: - - - - - RES - - - - - Bandwidth: - - - - - BW - - - - - FM gain: - - - - - FM GAIN - - - - - Resonance center frequency: - - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - - - - - Forward MIDI control changes - - - - - Show GUI - Erakutsi erabiltzaile-interfazea - - - - AudioFileProcessor - - - Amplify - - - - - Start of sample - - - - - End of sample - - - - - Loopback point - - - - - Reverse sample - Alderantzikatu lagina - - - - Loop mode - Begizta modua - - - - Stutter - - - - - Interpolation mode - Interpolazio modua - - - - None - Bat ere ez - - - - Linear - Lineala - - - - Sinc - - - - - Sample not found: %1 - - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - - Sine wave - - - - - - Triangle wave - - - - - - Saw wave - - - - - - Square wave - - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - Interpolation - - - - - Normalize - - - - - DynProcControlDialog - - + INPUT - + Input gain: - Sarrerako irabazia: + - + OUTPUT - - - Output gain: - Irteerako irabazia: - - - - ATTACK - - - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - - - - DynProcControls - - - Input gain - Sarrerako irabazia - - - - Output gain - Irteerako irabazia - - - - Attack time - - - - - Release time - - - - - Stereo mode - - - - - graphModel - - - Graph - - - - - KickerInstrument - - - Start frequency - - - - - End frequency - - - - - Length - - - - - Start distortion - - - - - End distortion - - - - - Gain - Irabazia - - - - Envelope slope - - - - - Noise - - - - - Click - - - - - Frequency slope - - - - - Start from note - - - - - End to note - - - - - KickerInstrumentView - - - Start frequency: - - - - - End frequency: - - - - - Frequency slope: - - - - - Gain: - Irabazia: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - - - - - Noise: - - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - - - - - - Unavailable Effects - - - - - - Instruments - - - - - - Analysis Tools - Analisi-tresnak - - - - - Don't know - Ezezaguna - - - - Type: - Mota: - - - - LadspaDescription - - - Plugins - Pluginak - - - - Description - Deskribapena - - - - LadspaPortDialog - - - Ports - - - - - Name - Izena - - - - Rate - - - - - Direction - - - - - Type - Mota - - - - Min < Default < Max - - - - - Logarithmic - Logaritmikoa - - - - SR Dependent - - - - - Audio - Audioa - - - - Control - - - - - Input - Sarrera - - - - Output - Irteera - - - - Toggled - - - - - Integer - - - - - Float - - - - - - Yes - Bai - - - - Lb302Synth - - - VCF Cutoff Frequency - - - - - VCF Resonance - - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - - - - - Waveform - - - - - Slide Decay - - - - - Slide - - - - - Accent - - - - - Dead - - - - - 24dB/oct Filter - - - - - Lb302SynthView - - - Cutoff Freq: - - - - - Resonance: - - - - - Env Mod: - - - - - Decay: - - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - - - - - Click here for a saw-wave. - - - - - Triangle wave - - - - - Click here for a triangle-wave. - - - - - Square wave - - - - - Click here for a square-wave. - - - - - Rounded square wave - - - - - Click here for a square-wave with a rounded end. - - - - - Moog wave - - - - - Click here for a moog-like wave. - - - - - Sine wave - - - - - Click for a sine-wave. - - - - - - White noise wave - - - - - Click here for an exponential wave. - - - - - Click here for white-noise. - - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - - - - - Position - - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - - - - - Crossfade - - - - - LFO speed - - - - - LFO depth - - - - - ADSR - - - - - Pressure - - - - - Motion - - - - - Speed - - - - - Bowed - - - - - Spread - - - - - Marimba - - - - - Vibraphone - - - - - Agogo - - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - - - - - Spread - - - - - Spread: - - - - - Missing files - - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - - Hardness - - - - - Hardness: - - - - - Position - - - - - Position: - - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - - - - - Modulator: - - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - - - - - LFO speed: - LFO abiadura: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - - - - - ADSR: - - - - - Pressure - - - - - Pressure: - - - - - Speed - - - - - Speed: - - - - - ManageVSTEffectView - - - - VST parameter control - - - - - VST sync - - - - - - Automated - - - - - Close - - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - - - - VST Sync - - - - - - Automated - - - - - Close - - - - - OrganicInstrument - - - Distortion - - - - - Volume - Bolumena - - - - OrganicInstrumentView - - - Distortion: - - - - - Volume: - Bolumena: - - - - Randomise - - - - - - Osc %1 waveform: - - - - - Osc %1 volume: - - - - - Osc %1 panning: - - - - - Osc %1 stereo detuning - - - - - cents - - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - - - - - Program selector - - - - - Patch - - - - - Name - Izena - - - - OK - Ados - - - - Cancel - Utzi - - - - Sf2Instrument - - - Bank - - - - - Patch - - - - - Gain - Irabazia - - - - Reverb - - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - - - - - Sf2InstrumentView - - - - Open SoundFont file - - - - - Choose patch - - - - - Gain: - Irabazia: - - - - Apply reverb (if supported) - - - - - Room size: - - - - - Damping: - - - - - Width: - Zabalera: - - - - - Level: - - - - - Apply chorus (if supported) - - - - - Voices: - - - - - Speed: - - - - - Depth: - Sakonera: - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Zabalera: - - - - StereoEnhancerControls - - - Width - Zabalera - - - - StereoMatrixControlDialog - - - Left to Left Vol: - - - - - Left to Right Vol: - - - - - Right to Left Vol: - - - - - Right to Right Vol: - - - - - StereoMatrixControls - - - Left to Left - - - - - Left to Right - - - - - Right to Left - - - - - Right to Right - - - - - VestigeInstrument - - - Loading plugin - - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - - - - - Impulse Editor - - - - - Enable waveform - - - - - Enable/disable string - - - - - String - - - - - - Sine wave - - - - - - Triangle wave - - - - - - Saw wave - - - - - - Square wave - - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - - - - - Voice %1 sync - - - - - Voice %1 ring modulate - - - - - Voice %1 filtered - - - - - Voice %1 test - - - - - WaveShaperControlDialog - - - INPUT - - - - - Input gain: - Sarrerako irabazia: - - - - OUTPUT - - - - - Output gain: - Irteerako irabazia: - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Sarrerako irabazia + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Irteerako irabazia + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + Erakutsi erabiltzaile-interfazea + + + \ No newline at end of file diff --git a/data/locale/fr.ts b/data/locale/fr.ts index 0386fb4c6..8169224f8 100644 --- a/data/locale/fr.ts +++ b/data/locale/fr.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,811 +70,44 @@ Si vous souhaitez traduire LMMS dans une autre langue ou améliorer les traducti - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL + + About JUCE + - - Volume: - Volume : + + <b>About JUCE</b> + - - PAN - PAN + + This program uses JUCE version 3.x.x. + - - Panning: - Panoramisation : + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + - - LEFT - GAUCHE - - - - Left gain: - Gain de gauche : - - - - RIGHT - DROITE - - - - Right gain: - Gain de droite : + + This program uses JUCE version + - AmplifierControls + AudioDeviceSetupWidget - - Volume - Volume - - - - Panning - Panoramisation - - - - Left gain - Gain de gauche - - - - Right gain - Gain de droite - - - - AudioAlsaSetupWidget - - - DEVICE - PÉRIPHÉRIQUE - - - - CHANNELS - CANAUX - - - - AudioFileProcessorView - - - Open sample - Ouvrir un échantillon - - - - Reverse sample - Inverser l'échantillon - - - - Disable loop - Désactiver la boucle - - - - Enable loop - Activer la boucle - - - - Enable ping-pong loop - Activer la boucle ping-pong - - - - Continue sample playback across notes - Continuer de jouer l'échantillon à traver les notes - - - - Amplify: - Amplifier : - - - - Start point: - Point de départ : - - - - End point: - Point d'arrivée : - - - - Loopback point: - Point de bouclage : - - - - AudioFileProcessorWaveView - - - Sample length: - Longueur de l'échantillon : - - - - AudioJack - - - JACK client restarted - Le client JACK a redémarré - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS a été jeté dehors par JACK pour une raison quelconque. Par conséquent le serveur de JACK a été redémarré. Vous devrez refaire les connexions manuellement. - - - - JACK server down - Le serveur JACK est arrêté - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Le serveur JACK semble avoir été arrêté et le démarrage d'une nouvelle instance a échoué. Par conséquent, LMMS ne peut pas continuer. Vous devriez enregistrer votre projet puis redémarrer JACK et LMMS. - - - - Client name - Nom du client - - - - Channels - Canaux - - - - AudioOss - - - Device - Périphérique - - - - Channels - Canaux - - - - AudioPortAudio::setupWidget - - - Backend - Backend - - - - Device - Périphérique - - - - AudioPulseAudio - - - Device - Périphérique - - - - Channels - Canaux - - - - AudioSdl::setupWidget - - - Device - Périphérique - - - - AudioSndio - - - Device - Périphérique - - - - Channels - Canaux - - - - AudioSoundIo::setupWidget - - - Backend - Backend - - - - Device - Périphérique - - - - AutomatableModel - - - &Reset (%1%2) - &Réinitialiser (%1%2) - - - - &Copy value (%1%2) - &Copier la valeur (%1%2) - - - - &Paste value (%1%2) - &Coller la valeur (%1%2) - - - - &Paste value - &Coller la valeur - - - - Edit song-global automation - Éditer l'automation globale du morceau - - - - Remove song-global automation - Supprimer l'automation globale du morceau - - - - Remove all linked controls - Supprimer tous les contrôles liés - - - - Connected to %1 - Connecté à %1 - - - - Connected to controller - Connecté au contrôleur - - - - Edit connection... - Éditer la connexion... - - - - Remove connection - Supprimer la connexion - - - - Connect to controller... - Connecter le contrôleur... - - - - AutomationEditor - - - Edit Value - Éditer la valeur - - - - New outValue - Nouvelle valeur de sortie - - - - New inValue - Nouvelle valeur d'entrée - - - - Please open an automation clip with the context menu of a control! - Veuillez ouvrir un motif d'automation avec le menu contextuel d'un contrôle ! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Jouer/mettre en pause le motif (barre d'espace) - - - - Stop playing of current clip (Space) - Arrêter de jouer le motif actuel (barre d'espace) - - - - Edit actions - Actions d'édition - - - - Draw mode (Shift+D) - Mode dessin (Shift+D) - - - - Erase mode (Shift+E) - Mode effacement (Shift+E) - - - - Draw outValues mode (Shift+C) - Mode dessin de valeurs de sortie (Maj + C) - - - - Flip vertically - Tourner verticalement - - - - Flip horizontally - Tourner horizontalement - - - - Interpolation controls - Contrôles d'interpolation - - - - Discrete progression - Progression discrète - - - - Linear progression - Progression linéaire - - - - Cubic Hermite progression - Progression cubique de Hermite - - - - Tension value for spline - Valeur de tension pour la spline - - - - Tension: - Tension : - - - - Zoom controls - Contrôles du zoom - - - - Horizontal zooming - Zoom horizontal - - - - Vertical zooming - Zoom vertical - - - - Quantization controls - Contrôles de quantification - - - - Quantization - Quantification - - - - - Automation Editor - no clip - Éditeur d'automation - pas de motif - - - - - Automation Editor - %1 - Éditeur d'automation - %1 - - - - Model is already connected to this clip. - Ce modèle est déjà connecté à ce motif. - - - - AutomationClip - - - Drag a control while pressing <%1> - Déplacer un contrôle en appuyant sur <%1> - - - - AutomationClipView - - - Open in Automation editor - Ouvrir dans l'éditeur d'automation - - - - Clear - Effacer - - - - Reset name - Réinitialiser le nom - - - - Change name - Modifier le nom - - - - Set/clear record - Armer/désarmer l'enregistrement - - - - Flip Vertically (Visible) - Tourner verticalement (visible) - - - - Flip Horizontally (Visible) - Tourner horizontalement (visible) - - - - %1 Connections - %1 connexions - - - - Disconnect "%1" - Déconnecter "%1" - - - - Model is already connected to this clip. - Ce modèle est déjà connecté à ce motif. - - - - AutomationTrack - - - Automation track - Piste d'automation - - - - PatternEditor - - - Beat+Bassline Editor - Éditeur de rythme et de ligne de basse - - - - Play/pause current beat/bassline (Space) - Jouer/mettre en pause le rythme ou la ligne de basse (barre d'espace) - - - - Stop playback of current beat/bassline (Space) - Arrêter de jouer le rythme ou la ligne de basse (barre d'espace) - - - - Beat selector - Sélecteur de rythme - - - - Track and step actions - Actions des pas et de piste - - - - Add beat/bassline - Ajouter un rythme ou une ligne de basse - - - - Clone beat/bassline clip - Cloner le rythme/la ligne de basse - - - - Add sample-track - Ajouter une piste d'échantillon - - - - Add automation-track - Ajouter une piste d'automation - - - - Remove steps - Supprimer des pas - - - - Add steps - Ajouter des pas - - - - Clone Steps - Cloner des pas - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Ouvrir dans l'éditeur de rythmes et de ligne de basse - - - - Reset name - Réinitialiser le nom - - - - Change name - Modifier le nom - - - - PatternTrack - - - Beat/Bassline %1 - Rythme ou ligne de basse %1 - - - - Clone of %1 - Clone de %1 - - - - BassBoosterControlDialog - - - FREQ - FRÉQ - - - - Frequency: - Fréquence : - - - - GAIN - GAIN - - - - Gain: - Gain : - - - - RATIO - RATIO - - - - Ratio: - Ratio : - - - - BassBoosterControls - - - Frequency - Fréquence - - - - Gain - Gain - - - - Ratio - Ratio - - - - BitcrushControlDialog - - - IN - ENTRÉE - - - - OUT - SORTIE - - - - - GAIN - GAIN - - - - Input gain: - Gain en entrée : - - - - NOISE - BRUIT - - - - Input noise: - Bruit d'entrée : - - - - Output gain: - Gain en sortie : - - - - CLIP - CLIP - - - - Output clip: - Clip de sortie : - - - - Rate enabled - Taux activé - - - - Enable sample-rate crushing - Activer le compactage du taux d'échantillonnage - - - - Depth enabled - Profondeur activée - - - - Enable bit-depth crushing - Activer la compression en profondeur des bits - - - - FREQ - FRÉQ - - - - Sample rate: - Taux d'échantillonnage : - - - - STEREO - STÉRÉO - - - - Stereo difference: - Différence stéréo : - - - - QUANT - quant - - - - Levels: - Niveaux : - - - - BitcrushControls - - - Input gain - Gain en entrée - - - - Input noise - Bruit d'entrée - - - - Output gain - Gain en sortie - - - - Output clip - Clip de sortie - - - - Sample rate - Taux d'échantillonnage - - - - Stereo difference - Différence stéréo - - - - Levels - Niveaux - - - - Rate enabled - Taux activé - - - - Depth enabled - Profondeur activée + + [System Default] + @@ -900,124 +133,124 @@ Si vous souhaitez traduire LMMS dans une autre langue ou améliorer les traducti Licence étendue ici - + Artwork Illustration - + Using KDE Oxygen icon set, designed by Oxygen Team. Utilisation du jeu d'icônes KDE Oxygen, conçu par l'équipe Oxygen. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. Contient quelques boutons, arrière-plans et autres petites illustrations des projets Calf Studio Gear, OpenAV et OpenOctave. - + VST is a trademark of Steinberg Media Technologies GmbH. VST est une marque déposée de Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! Un grand merci à António Saraiva pour quelques icônes et illustrations supplémentaires ! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. Le logo LV2 a été conçu par Thorsten Wilms, sur la base d'un concept de Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. Clavier MIDI conçu par Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. Icônes Carla, Carla-Control et Patchbay conçues par DoosC. - + Features Caractéristiques - + AU/AudioUnit: Unité audio : - + LADSPA: LADSPA : - - - - - - - - + + + + + + + + TextLabel TextLabel - + VST2: VST2 : - + DSSI: DSSI : - + LV2: LV2 : - + VST3: VST3 : - + OSC OSC - + Host URLs: URL d'hôte : - + Valid commands: Commandes valides : - + valid osc commands here commandes osc valides ici - + Example: Exemple : - + License Licence - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1582,50 +815,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version Version passerelle de l'oscillateur - + Plugin Version Version du plugin - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> <br>Version %1<br>Carla est un plugin audio complet host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) (Le moteur ne fonctionne pas) - + Everything! (Including LRDF) Tout ! (Y compris LRDF) - + Everything! (Including CustomData/Chunks) Tout ! (Y compris CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host Utilisation de l'hôte Juce - + About 85% complete (missing vst bank/presets and some minor stuff) Environ 85% complété (banque de VST et de préréglages manquante et quelques éléments mineurs) @@ -1658,563 +891,600 @@ POSSIBILITY OF SUCH DAMAGES. Chargement... - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: Taille du tampon : - + Sample Rate: Taux d'échantillonnage : - + ? Xruns ? Xruns - + DSP Load: %p% Chargement du DSP : %p% - + &File &Fichier - + &Engine &Moteur - + &Plugin &Plugin - + Macros (all plugins) Macros (tous les plugins) - + &Canvas &Canvas - + Zoom Zoom - + &Settings &Paramètres - + &Help &Aide - - toolBar - Barre d'outils + + Tool Bar + - + Disk Disque - - + + Home Accueil - + Transport Transport - + Playback Controls Contrôles de lecture - + Time Information Information sur la durée - + Frame: Structure : - + 000'000'000 000'000'000 - + Time: Durée : - + 00:00:00 00:00:00 - + BBT: - + 000|00|0000 000|00|0000 - + Settings Configuration - + BPM BPM - + Use JACK Transport Utiliser le transport JACK - + Use Ableton Link Utiliser un lien Ableton - + &New &Nouveau - + Ctrl+N Ctrl + N - + &Open... &Ouvrir... - - + + Open... Ouvrir... - + Ctrl+O Ctrl + O - + &Save &Enregistrer - + Ctrl+S Ctrl + S - + Save &As... Enregistrer &sous... - - + + Save As... Enregistrer sous... - + Ctrl+Shift+S Ctrl + Maj + S - + &Quit &Quitter - + Ctrl+Q Ctrl + Q - + &Start &Démarrer - + F5 F5 - + St&op Arr&êter - + F6 F6 - + &Add Plugin... &Ajouter un plugin... - + Ctrl+A Ctrl + A - + &Remove All &Tout effacer - + Enable Activer - + Disable Désactiver - + 0% Wet (Bypass) Niveau 0% (Contourner) - + 100% Wet Niveau 100% - + 0% Volume (Mute) Volume à 0% (Muet) - + 100% Volume Volume à 100% - + Center Balance Équilibre central - + &Play &Jouer - + Ctrl+Shift+P Ctrl + Maj + P - + &Stop &Arrêter - + Ctrl+Shift+X Ctrl + Maj + X - + &Backwards &Retour - + Ctrl+Shift+B Ctrl + Maj + B - + &Forwards &En avant - + Ctrl+Shift+F Ctrl + Maj + F - + &Arrange &Arranger - + Ctrl+G Ctrl + G - - + + &Refresh &Actualiser - + Ctrl+R Ctrl + R - + Save &Image... Enregistrer &l'image... - + Auto-Fit Ajustement automatique - + Zoom In Zoom avant - + Ctrl++ Ctrl + + - + Zoom Out Zoom arrière - + Ctrl+- Ctrl + - - + Zoom 100% Zoom 100% - + Ctrl+1 Ctrl + 1 - + Show &Toolbar Afficher la &barre d'outils - + &Configure Carla &Configurer Carla - + &About &À propos - + About &JUCE À propos de &JUCE - + About &Qt À propos de &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal Afficher l'intérieur - + Show External Afficher l'extérieur - + Show Time Panel Afficher le panneau horaire - + Show &Side Panel Afficher le &panneau latéral - + + Ctrl+P + + + + &Connect... &Connecter... - + Compact Slots Compacter les emplacements - + Expand Slots Élargir les emplacements - + Perform secret 1 Effectuer le secret 1 - + Perform secret 2 Effectuer le secret 2 - + Perform secret 3 Effectuer le secret 3 - + Perform secret 4 Effectuer le secret 4 - + Perform secret 5 Effectuer le secret 5 - + Add &JACK Application... Ajouter l'application &JACK... - + &Configure driver... &Configurer le pilote... - + Panic - + Open custom driver panel... Ouvrir le panneau personnalisé du pilote... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... Exporter sous... - - - - + + + + Error Erreur - + Failed to load project Échec du chargement du projet - + Failed to save project Échec de l'enregistrement du projet - + Quit Quitter - + Are you sure you want to quit Carla? Êtes-vous sûr de vouloir quitter Carla ? - + Could not connect to Audio backend '%1', possible reasons: %2 Impossible de se connecter au backend audio "%1", raisons possibles : %2 - + Could not connect to Audio backend '%1' Impossible de se connecter au backend audio "%1" - + Warning Avertissement - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? Il y a encore quelques plugins chargés, vous devez les supprimer pour arrêter le moteur. Voulez-vous le faire maintenant ? - - CarlaInstrumentView - - - Show GUI - Montrer l'interface graphique - - CarlaSettingsW @@ -2269,19 +1539,19 @@ Voulez-vous le faire maintenant ? - + Main Principal - + Canvas - + Engine Moteur @@ -2302,1533 +1572,614 @@ Voulez-vous le faire maintenant ? - + Experimental Expérimental - + <b>Main</b> <b>Principal</b> - + Paths Chemins d'accès - + Default project folder: Dossier de projet par défaut : - + Interface Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Intervalle de rafraîchissement de l'interface : - - + + ms ms - + Show console output in Logs tab (needs engine restart) Afficher la sortie de la console dans l'onglet Journaux (nécessite le redémarrage du moteur) - + Show a confirmation dialog before quitting Afficher un dialogue de confirmation avant de quitter - - + + Theme Thème - + Use Carla "PRO" theme (needs restart) Utiliser le thème "PRO" de Carla (nécessite un redémarrage) - + Color scheme: Schéma de couleurs : - + Black Noir - + System Système - + Enable experimental features Activer les fonctions expérimentales - + <b>Canvas</b> - + Bezier Lines Lignes de Bézier - + Theme: Thème : - + Size: Taille : - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + + + + Options Options - + Auto-hide groups with no ports Masquer automatiquement les groupes sans ports - + Auto-select items on hover Sélection automatique des éléments au passage de la souris - + Basic eye-candy (group shadows) - + Render Hints Indications de rendu - + Anti-Aliasing Anticrénelage - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> <b>Moteur</b> - - + + Core Noyau - + Single Client Client unique - + Multiple Clients Clients multiples - - + + Continuous Rack Rack permanent - - + + Patchbay Patchbay - + Audio driver: Pilote audio : - + Process mode: Mode de traitement : - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog Nombre maximum de paramètres à autoriser dans la boîte de dialogue intégrée "Éditer" - + Max Parameters: Paramètres maximum : - + ... ... - + Reset Xrun counter after project load Réinitialiser le compteur Xrun après le chargement du projet - + Plugin UIs Interface utilisateur des plugins - - + + How much time to wait for OSC GUIs to ping back the host Temps d'attente pour que les interfaces graphiques de l'oscillateur renvoient l'hôte - + UI Bridge Timeout: Délai d'attente du pont de I'interface utilisateur : - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code Utilisez les ponts OSC-GUI lorsque cela est possible, de manière à séparer l'interface utilisateur du code DSP - + Use UI bridges instead of direct handling when possible Utiliser les ponts de l'interface utilisateur au lieu de la gestion directe lorsque cela est possible - + Make plugin UIs always-on-top Afficher les interfaces utilisateur des plugins au premier plan - + Make plugin UIs appear on top of Carla (needs restart) Afficher les interfaces utilisateur des plugins au-dessus de Carla (redémarrage nécessaire) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS NOTE : les ponts des interfaces utilisateur des plugins ne peuvent pas être gérées par Carla sous MacOS - - + + Restart the engine to load the new settings Redémarrez le moteur pour charger les nouveaux paramètres - + <b>OSC</b> <b>OSC</b> - + Enable OSC Activer l'oscillateur - + Enable TCP port Activer le port TCP - - + + Use specific port: Utiliser un port spécifique : - + Overridden by CARLA_OSC_TCP_PORT env var Remplacé par la variable d'environnement CARLA_OSC_TCP_PORT - - + + Use randomly assigned port Utiliser un port attribué de manière aléatoire - + Enable UDP port Activer le port UDP - + Overridden by CARLA_OSC_UDP_PORT env var Remplacé par la variable d'environnement CARLA_OSC_UDP_PORT - + DSSI UIs require OSC UDP port enabled Les interfaces utilisateur de DSSI nécessitent que le port UDP de l’oscillateur soit activé - + <b>File Paths</b> <b>Chemins d'accès des fichiers</b> - + Audio Audio - + MIDI MIDI - + Used for the "audiofile" plugin Utilisé pour le plugin "audiofile" - + Used for the "midifile" plugin Utilisé pour le plugin "midifile" - - + + Add... Ajouter... - - + + Remove Supprimer - - + + Change... Modifier... - + <b>Plugin Paths</b> <b>Chemin d'accès des plugins</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins Redémarrez Carla pour trouver de nouveaux plugins - + <b>Wine</b> <b>Wine</b> - + Executable Exécutable - + Path to 'wine' binary: Chemin d'accès de "Wine" binaire : - + Prefix Préfixe - + Auto-detect Wine prefix based on plugin filename Détection automatique du préfixe Wine basé sur le nom de fichier d'un plugin - + Fallback: Option de secours : - + Note: WINEPREFIX env var is preferred over this fallback Note : La variable d'environnement WINEPREFIX est préférable à cette option de secours - + Realtime Priority Priorité en temps réel - + Base priority: Priorité de base : - + WineServer priority: Priorité du serveur Wine : - + These options are not available for Carla as plugin Ces options ne sont pas disponibles sous forme de plugin pour Carla - + <b>Experimental</b> <b>Expérimental</b> - + Experimental options! Likely to be unstable! Ces options sont expérimentales et sont probablement instables. - + Enable plugin bridges Activer les ponts des plugins - + Enable Wine bridges Activer les ponts de Wine - + Enable jack applications Activer les applications jack - + Export single plugins to LV2 Exporter les plugins simples vers LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) Charger l'arrière-plan de Carla dans l'espace de noms global (NON RECOMMANDÉ) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) Utiliser OpenGL pour le rendu (nécessite un redémarrage) - + High Quality Anti-Aliasing (OpenGL only) Anticrénelage de haute qualité (OpenGL uniquement) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. Forcer les plugins mono à fonctionner en stéréo en exécutant simultanément 2 instances. Ce mode n'est pas disponible pour les plugins VST. - + Force mono plugins as stereo Forcer les plugins mono à fonctionner en stéréo - - Prevent plugins from doing bad stuff (needs restart) - Empêcher les dysfonctionnements des plugins (nécessite un redémarrage) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. + - - Whenever possible, run the plugins in bridge mode. - Exécutez les plugins en mode bridge si cela est possible. + + Prevent unsafe calls from plugins (needs restart) + - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible Exécutez les plugins en mode bridge si cela est possible. - - - - + + + + Add Path Ajouter un chemin d'accès - - CompressorControlDialog - - - Threshold: - Seuil : - - - - Volume at which the compression begins to take place - Volume à partir duquel la compression commence à se produire - - - - Ratio: - Ratio : - - - - How far the compressor must turn the volume down after crossing the threshold - De combien le compresseur doit réduire le volume après avoir franchi le seuil - - - - Attack: - Attaque : - - - - Speed at which the compressor starts to compress the audio - Vitesse à laquelle le compresseur commence à compresser l'audio - - - - Release: - Relâchement : - - - - Speed at which the compressor ceases to compress the audio - Vitesse à laquelle le compresseur cesse de compresser l'audio - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - Lisser la courbe de réduction du gain autour du seuil - - - - Range: - Gamme : - - - - Maximum gain reduction - Réduction maximale du gain - - - - Lookahead Length: - Durée de l'anticipation : - - - - How long the compressor has to react to the sidechain signal ahead of time - Combien de temps le compresseur doit-il réagir au signal du sidechain à l'avance - - - - Hold: - Maintien : - - - - Delay between attack and release stages - Délai entre les phases d'attaque et de relâchement - - - - RMS Size: - Taille de la moyenne quadratique : - - - - Size of the RMS buffer - Taille du tampon de la moyenne quadratique - - - - Input Balance: - Balance d'entrée : - - - - Bias the input audio to the left/right or mid/side - Polarise l'entrée audio vers la gauche/la droite ou le milieu/le côté - - - - Output Balance: - Balance de sortie : - - - - Bias the output audio to the left/right or mid/side - Polarise la sortie audio vers la gauche/la droite ou le milieu/le côté - - - - Stereo Balance: - Balance stéréo : - - - - Bias the sidechain signal to the left/right or mid/side - Polarise le signal du sidechain vers la gauche/la droite ou le milieu/le côté - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Gain en sortie - - - - - Gain - Gain - - - - Output volume - - - - - Input gain - Gain en entrée - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Ratio - - - - Attack - Attaque - - - - Release - Relâchement - - - - Knee - - - - - Hold - Maintien - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Gain en sortie - - - - Input Gain - Gain en entrée - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Réinjection - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Mix - - - - Controller - - - Controller %1 - Contrôleur %1 - - - - ControllerConnectionDialog - - - Connection Settings - Configuration de la connexion - - - - MIDI CONTROLLER - CONTRÔLEUR MIDI - - - - Input channel - Canal d'entrée - - - - CHANNEL - CANAL - - - - Input controller - Contrôleur d'entrée - - - - CONTROLLER - CONTRÔLEUR - - - - - Auto Detect - Auto-détection - - - - MIDI-devices to receive MIDI-events from - Périphériques MIDI desquels recevoir des événements MIDI - - - - USER CONTROLLER - CONTRÔLEUR UTILISATEUR - - - - MAPPING FUNCTION - FONCTION DE MAPPAGE - - - - OK - OK - - - - Cancel - Annuler - - - - LMMS - LMMS - - - - Cycle Detected. - Un cycle a été détecté. - - - - ControllerRackView - - - Controller Rack - Rack de contrôleurs - - - - Add - Ajouter - - - - Confirm Delete - Confirmer la suppression - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Confirmer la suppression ? Il existe des connection(s) associée(s) avec ce contrôleur. Il n'est pas possible d'annuler cette action. - - - - ControllerView - - - Controls - Contrôles - - - - Rename controller - Renommer un contrôleur - - - - Enter the new name for this controller - Entrez un nouveau nom pour ce contrôleur - - - - LFO - LFO - - - - &Remove this controller - Supp&rimer ce contrôleur - - - - Re&name this controller - Re&nommer ce contrôleur - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Fréquence de croisement des bandes 1/2 : - - - - Band 2/3 crossover: - Fréquence de croisement des bandes 2/3 : - - - - Band 3/4 crossover: - Fréquence de croisement des bandes 3/4 : - - - - Band 1 gain - Gain de la bande 1 - - - - Band 1 gain: - Gain de la bande 1 : - - - - Band 2 gain - Gain de la bande 2 - - - - Band 2 gain: - Gain de la bande 2 : - - - - Band 3 gain - Gain de la bande 3 - - - - Band 3 gain: - Gain de la bande 3 : - - - - Band 4 gain - Gain de la bande 4 - - - - Band 4 gain: - Gain de la bande 4 : - - - - Band 1 mute - Bande 1 en sourdine - - - - Mute band 1 - Mettre la bande 1 en sourdine - - - - Band 2 mute - Mettre la bande 2 en sourdine - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - Réinjection - - - - LFO frequency - - - - - LFO amount - Niveau LFO - - - - Output gain - Gain en sortie - - - - DelayControlsDialog - - - DELAY - DE RETARD - - - - Delay time - - - - - FDBK - FDBK - - - - Feedback amount - - - - - RATE - TAUX - - - - LFO frequency - - - - - AMNT - AMNT - - - - LFO amount - Niveau LFO - - - - Out gain - Gain en sortie - - - - Gain - Gain - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - Application - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Aucun - - - - Audio inputs: - Entrées audio : - - - - MIDI inputs: - Entrées MIDI : - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - Utiliser le tampon de sortie du client précédent comme entrée pour le client suivant - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect - + Contrôle Carla - Connexion Remote setup - + Configuration à distance UDP Port: - + Port UDP: Remote host: - + Hôte distant: TCP Port: - - - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - + Port TCP: @@ -3851,17 +2202,17 @@ If you are unsure, leave it as 'Automatic'. Driver Settings - + Paramètres du driver Device: - + Périphérique: Buffer size: - + Taille du tampon: @@ -3876,7 +2227,7 @@ If you are unsure, leave it as 'Automatic'. Show Driver Control Panel - + Afficher le panneau de contrôle du driver @@ -3884,948 +2235,6 @@ If you are unsure, leave it as 'Automatic'. Redémarrez le moteur pour charger les nouveaux paramètres - - DualFilterControlDialog - - - - FREQ - FRÉQ - - - - - Cutoff frequency - Fréquence de coupure - - - - - RESO - RÉSON - - - - - Resonance - Résonance - - - - - GAIN - GAIN - - - - - Gain - Gain - - - - MIX - MIX - - - - Mix - Mix - - - - Filter 1 enabled - Filtre 1 activé - - - - Filter 2 enabled - Filtre 2 activé - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Filtre 1 activé - - - - Filter 1 type - Type du filtre 1 - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Q/Résonance 1 - - - - Gain 1 - Gain 1 - - - - Mix - Mix - - - - Filter 2 enabled - Filtre 2 activé - - - - Filter 2 type - Type du filtre 2 - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Q/Résonance 2 - - - - Gain 2 - Gain 2 - - - - - Low-pass - Passe-bas - - - - - Hi-pass - Passe-haut - - - - - Band-pass csg - Passe-bande "csg" - - - - - Band-pass czpg - Passe-bande "czpg" - - - - - Notch - Coupe-bande - - - - - All-pass - Passe-tout - - - - - Moog - Moog - - - - - 2x Low-pass - Passe-bas x2 - - - - - RC Low-pass 12 dB/oct - RC Passe-bas 12 dB - - - - - RC Band-pass 12 dB/oct - RC Passe-bande 12 dB - - - - - RC High-pass 12 dB/oct - RC Passe-haut 12 dB - - - - - RC Low-pass 24 dB/oct - RC Passe-bas 24 dB - - - - - RC Band-pass 24 dB/oct - RC Passe-bande 24 dB - - - - - RC High-pass 24 dB/oct - RC Passe-haut 24 dB - - - - - Vocal Formant - Formant vocal - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - SV Passe-bas - - - - - SV Band-pass - SV Passe-bande - - - - - SV High-pass - SV Passe-bas - - - - - SV Notch - SV coupe-bande - - - - - Fast Formant - Formant rapide - - - - - Tripole - Tripôle - - - - Editor - - - Transport controls - Contrôle du transport - - - - Play (Space) - Jouer (barre d'espace) - - - - Stop (Space) - Arrêter (barre d'espace) - - - - Record - Enregistrer - - - - Record while playing - Enregistrer en jouant - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Effet activé - - - - Wet/Dry mix - Mélange originel/traité - - - - Gate - Seuil - - - - Decay - Affaiblissement (decay) - - - - EffectChain - - - Effects enabled - Effets activés - - - - EffectRackView - - - EFFECTS CHAIN - CHAÎNE D'EFFETS - - - - Add effect - Ajouter un effet - - - - EffectSelectDialog - - - Add effect - Ajouter un effet - - - - - Name - Nom - - - - Type - Type - - - - Description - Description - - - - Author - Auteur - - - - EffectView - - - On/Off - On/Off - - - - W/D - W/D - - - - Wet Level: - Niveau avec effet : - - - - DECAY - DECAY - - - - Time: - Durée : - - - - GATE - GATE - - - - Gate: - Gate : - - - - Controls - Contrôles - - - - Move &up - Déplacer vers le &haut - - - - Move &down - Déplacer vers le &bas - - - - &Remove this plugin - &Supprimer cet effet - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - Affaiblissement de l'enveloppe - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - - - - - - ATT - ATT - - - - - Attack: - Attaque : - - - - HOLD - HOLD - - - - Hold: - Maintien : - - - - DEC - DEC - - - - Decay: - Affaiblissement (decay) : - - - - SUST - SUST - - - - Sustain: - Soutien : - - - - REL - REL - - - - Release: - Relâchement : - - - - - AMT - AMT - - - - - Modulation amount: - Niveau de modulation : - - - - SPD - SPD - - - - Frequency: - Fréquence : - - - - FREQ x 100 - FRÉQ x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO : - - - - Hint - Astuce - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Gain en entrée - - - - Output gain - Gain en sortie - - - - Low-shelf gain - - - - - Peak 1 gain - Gain de crête 1 - - - - Peak 2 gain - Gain de crête 2 - - - - Peak 3 gain - Gain de crête 3 - - - - Peak 4 gain - Gain de crête 4 - - - - High-shelf gain - - - - - HP res - PH rés - - - - Low-shelf res - - - - - Peak 1 BW - Bande-passante du pic 1 - - - - Peak 2 BW - Bande-passante du pic 2 - - - - Peak 3 BW - Bande-passante du pic 3 - - - - Peak 4 BW - Bande-passante du pic 4 - - - - High-shelf res - - - - - LP res - Rés. du passe-base - - - - HP freq - Fréquence du passe-haut - - - - Low-shelf freq - - - - - Peak 1 freq - Fréquence de crête 1 - - - - Peak 2 freq - Fréquence de crête 2 - - - - Peak 3 freq - Fréquence de crête 3 - - - - Peak 4 freq - Fréquence de crête 4 - - - - High-shelf freq - - - - - LP freq - Fréq. passe-base - - - - HP active - Passe-haut actif - - - - Low-shelf active - - - - - Peak 1 active - Crête 1 active - - - - Peak 2 active - Crête 2 active - - - - Peak 3 active - Crête 3 active - - - - Peak 4 active - Crête 4 active - - - - High-shelf active - - - - - LP active - Passe-bas actif - - - - LP 12 - Passe-bas 12 - - - - LP 24 - Passe-bas 24 - - - - LP 48 - Passe-bas 48 - - - - HP 12 - Passe-haut 12 - - - - HP 24 - Passe-haut 24 - - - - HP 48 - Passe-haut 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - Analyse d'entrée - - - - Analyse OUT - Analyse de sortie - - - - EqControlsDialog - - - HP - PH - - - - Low-shelf - - - - - Peak 1 - Crête 1 - - - - Peak 2 - Crête 2 - - - - Peak 3 - Crête 3 - - - - Peak 4 - Crête 4 - - - - High-shelf - - - - - LP - Passe-bas - - - - Input gain - Gain en entrée - - - - - - Gain - Gain - - - - Output gain - Gain en sortie - - - - Bandwidth: - Largeur de bande : - - - - Octave - Octave - - - - Resonance : - Résonance : - - - - Frequency: - Fréquence : - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Réso : - - - - BW: - Bande-passante : - - - - - Freq: - Fréquence : - - ExportProjectDialog @@ -4846,7 +2255,7 @@ If you are unsure, leave it as 'Automatic'. Render Looped Section: - + Faire le rendu de la section bouclée: @@ -4856,7 +2265,7 @@ If you are unsure, leave it as 'Automatic'. File format settings - + Configuration du format de fichier @@ -4866,7 +2275,7 @@ If you are unsure, leave it as 'Automatic'. Sampling rate: - + Taux d'échantillonnage : @@ -4896,22 +2305,22 @@ If you are unsure, leave it as 'Automatic'. Bit depth: - + Profondeur de bit: 16 Bit integer - + Entier 16 bits 24 Bit integer - + Entier 24 bits 32 Bit float - + Flottants 32 bits @@ -5009,3152 +2418,734 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - - - - - 1x (None) - 1x (Aucun) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Démarrer - + Cancel Annuler - - - Could not open file - Le fichier n'a pas pu être ouvert - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Impossible d'ouvrir le fichier %1 en écriture. -Veuillez vous assurez que vous avez les droits d'écriture sur le fichier et le dossier contenant le fichier, et essayez à nouveau ! - - - - Export project to %1 - Exporter le projet vers %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - Erreur - - - - Error while determining file-encoder device. Please try to choose a different output format. - Erreur pendant la détection du périphérique d'encodage du fichier. Veuillez essayer de choisir un format de sortie différent. - - - - Rendering: %1% - Encodage : %1% - - - - Fader - - - Set value - Mode valeur - - - - Please enter a new value between %1 and %2: - Veuillez entrer une valeur entre %1 et %2 : - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Explorateur - - - - Search - Chercher - - - - Refresh list - Rafraîchir la liste - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Envoyer vers la piste d'instrument actif - - - - Open containing folder - - - - - Song Editor - Éditeur de morceau - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Chargement de l'échantillon - - - - Please wait, loading sample for preview... - Veuillez patienter, chargement de l'échantillon pour un aperçu... - - - - Error - Erreur - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Fichiers usine --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - - - - - Seconds - Secondes - - - - Stereo phase - - - - - Regen - Régén - - - - Noise - Bruit - - - - Invert - Inverser - - - - FlangerControlsDialog - - - DELAY - DE RETARD - - - - Delay time: - - - - - RATE - TAUX - - - - Period: - Période : - - - - AMNT - AMNT - - - - Amount: - Montant : - - - - PHASE - - - - - Phase: - - - - - FDBK - FDBK - - - - Feedback amount: - - - - - NOISE - BRUIT - - - - White noise amount: - - - - - Invert - Inverser - - - - FreeBoyInstrument - - - Sweep time - Temps de balayage - - - - Sweep direction - Sens de balayage - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Volume du canal 1 - - - - - - Volume sweep direction - Sens du volume du balayage - - - - - - Length of each step in sweep - Longueur de chaque pas du balayage - - - - Channel 2 volume - Volume du canal 2 - - - - Channel 3 volume - Volume du canal 3 - - - - Channel 4 volume - Volume du canal 4 - - - - Shift Register width - Largeur du registre de décalage - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - Canal 1 vers SO2 (gauche) - - - - Channel 2 to SO2 (Left) - Canal 2 vers SO2 (gauche) - - - - Channel 3 to SO2 (Left) - Canal 3 vers SO2 (gauche) - - - - Channel 4 to SO2 (Left) - Canal 4 vers SO2 (gauche) - - - - Channel 1 to SO1 (Right) - Canal 1 vers SO2 (droite) - - - - Channel 2 to SO1 (Right) - Canal 2 vers SO2 (droite) - - - - Channel 3 to SO1 (Right) - Canal 3 vers SO2 (droite) - - - - Channel 4 to SO1 (Right) - Canal 4 vers SO2 (droite) - - - - Treble - Aigus - - - - Bass - Graves - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - Temps de balayage - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - Longueur de chaque pas du balayage : - - - - - - Length of each step in sweep - Longueur de chaque pas du balayage - - - - Square channel 2 volume: - Volume du canal carré 2 : - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Aigus : - - - - Treble - Aigus - - - - Bass: - Graves : - - - - Bass - Graves - - - - Sweep direction - Sens de balayage - - - - - - - - Volume sweep direction - Sens du volume du balayage - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Canal 1 vers SO2 (droite) - - - - Channel 2 to SO1 (Right) - Canal 2 vers SO2 (droite) - - - - Channel 3 to SO1 (Right) - Canal 3 vers SO2 (droite) - - - - Channel 4 to SO1 (Right) - Canal 4 vers SO2 (droite) - - - - Channel 1 to SO2 (Left) - Canal 1 vers SO2 (gauche) - - - - Channel 2 to SO2 (Left) - Canal 2 vers SO2 (gauche) - - - - Channel 3 to SO2 (Left) - Canal 3 vers SO2 (gauche) - - - - Channel 4 to SO2 (Left) - Canal 4 vers SO2 (gauche) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Quantité de signal envoyé du canal - - - - Move &left - Déplacer à &gauche - - - - Move &right - Déplacer à &droite - - - - Rename &channel - &Renommer le canal - - - - R&emove channel - &Supprimer le canal - - - - Remove &unused channels - Supprimer les canaux &inutilisés - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Assigner à : - - - - New mixer Channel - Nouveau canal d'effet - - - - Mixer - - - Master - Général - - - - - - Channel %1 - Effet %1 - - - - Volume - Volume - - - - Mute - Mettre en sourdine - - - - Solo - Solo - - - - MixerView - - - Mixer - Mélangeur d'effets - - - - Fader %1 - Chariot d'effet %1 - - - - Mute - Mettre en sourdine - - - - Mute this mixer channel - Mettre ce canal d'effet en sourdine - - - - Solo - Solo - - - - Solo mixer channel - Mettre ce canal d'effet en solo - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Quantité à envoyer du canal %1 au canal %2 - - - - GigInstrument - - - Bank - Banque - - - - Patch - Son - - - - Gain - Gain - - - - GigInstrumentView - - - - Open GIG file - Ouvrir un fichier GIG - - - - Choose patch - - - - - Gain: - Gain : - - - - GIG Files (*.gig) - Fichiers GIG (*.gig) - - - - GuiApplication - - - Working directory - Répertoire de travail - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Le répertoire de travail %1 n'existe pas. Le créer maintenant ? Vous pouvez modifier le répertoire plus tard avec Éditer -> Configurations. - - - - Preparing UI - Préparation de l'interface utilisateur - - - - Preparing song editor - Préparation de l'éditeur de morceau - - - - Preparing mixer - Préparation du mélangeur - - - - Preparing controller rack - Préparation du rack de contrôleurs - - - - Preparing project notes - Préparation des notes de projet - - - - Preparing beat/bassline editor - Préparation de l'éditeur de rythme et de ligne de basse - - - - Preparing piano roll - Préparation du piano virtuel - - - - Preparing automation editor - Préparation de l'éditeur d'automation - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpège - - - - Arpeggio type - Type d'arpège - - - - Arpeggio range - Plage d'arpège - - - - Note repeats - - - - - Cycle steps - Pas de cycle - - - - Skip rate - Taux de saut - - - - Miss rate - Taux de manqué - - - - Arpeggio time - Temps d'arpège - - - - Arpeggio gate - Durée d'arpège - - - - Arpeggio direction - Direction de l'arpège - - - - Arpeggio mode - Mode d'arpège - - - - Up - Ascendant - - - - Down - Descendant - - - - Up and down - Ascendant et descendant - - - - Down and up - Descendant et ascendant - - - - Random - Aléatoire - - - - Free - Libre - - - - Sort - Tri - - - - Sync - Sync - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPÈGE - - - - RANGE - PLAGE - - - - Arpeggio range: - Plage d'arpège : - - - - octave(s) - octave(s) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - CYCLE - - - - Cycle notes: - Notes de cycle : - - - - note(s) - note(s) - - - - SKIP - SAUT - - - - Skip rate: - Taux de saut : - - - - - - % - % - - - - MISS - MANQUÉ - - - - Miss rate: - Taux de manqué : - - - - TIME - TEMPS - - - - Arpeggio time: - Temps d'arpège : - - - - ms - ms - - - - GATE - DUREE - - - - Arpeggio gate: - Durée d'arpège : - - - - Chord: - Accord : - - - - Direction: - Direction : - - - - Mode: - Mode : - InstrumentFunctionNoteStacking - + octave octave - - + + Major Majeur - + Majb5 Si majeur 5 - + minor mineur - + minb5 Si mineur 5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Mineure harmonique - + Melodic minor Mineure mélodique - + Whole tone Note complète - + Diminished Diminuée - + Major pentatonic Pentatonique majeure - + Minor pentatonic Pentatonique mineure - + Jap in sen Japonaise "in sen" - + Major bebop Bebop majeure - + Dominant bebop Bebop dominante - + Blues Blues - + Arabic Arabe - + Enigmatic Énigmatique - + Neopolitan Napolitaine - + Neopolitan minor Napolitaine mineure - + Hungarian minor Hongroise mineure - + Dorian Dorienne - + Phrygian Phrygien - + Lydian Lydienne - + Mixolydian Mixolydienne - + Aeolian Éolienne - + Locrian Locrienne - + Minor Mineur - + Chromatic Chromatique - + Half-Whole Diminished Demi-globalement diminué - + 5 5 - + Phrygian dominant Phrygien dominant - + Persian Persien - - - Chords - Accords - - - - Chord type - Type d'accord - - - - Chord range - Gamme d'accord - - - - InstrumentFunctionNoteStackingView - - - STACKING - EMPILEMENT - - - - Chord: - Accord : - - - - RANGE - GAMME - - - - Chord range: - Gamme d'accord : - - - - octave(s) - octave(s) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - ACTIVER L'ENTRÉE MIDI - - - - ENABLE MIDI OUTPUT - ACTIVER LA SORTIE MIDI - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTE - - - - MIDI devices to receive MIDI events from - Périphériques MIDI desquels recevoir des événements MIDI - - - - MIDI devices to send MIDI events to - Périphériques MIDI auxquels envoyer des événements MIDI - - - - CUSTOM BASE VELOCITY - VÉLOCITÉ DE BASE PERSONNALISÉE - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Spécifie la normalisation de base de la vélocité des instruments MIDI pour un volume de note de 100%. - - - - BASE VELOCITY - VÉLOCITÉ DE BASE - - - - InstrumentTuningView - - - MASTER PITCH - TONALITÉ GÉNÉRALE - - - - Enables the use of master pitch - Activer l'utilisation de la tonalité générale - InstrumentSoundShaping - + VOLUME VOLUME - + Volume Volume - + CUTOFF COUPURE - - + Cutoff frequency Fréquence de coupure - + RESO RÉSON - + Resonance Résonance - - - Envelopes/LFOs - Enveloppes/LFOs - - - - Filter type - Type de filtre - - - - Q/Resonance - Q/Résonance - - - - Low-pass - Passe-bas - - - - Hi-pass - Passe-haut - - - - Band-pass csg - Passe-bande CSG - - - - Band-pass czpg - Passe-bande CZPG - - - - Notch - Coupe-bande - - - - All-pass - Passe-tout - - - - Moog - Moog - - - - 2x Low-pass - 2x Passe-bas - - - - RC Low-pass 12 dB/oct - RC Passe-bas 12 dB - - - - RC Band-pass 12 dB/oct - RC Passe-bande 12 dB - - - - RC High-pass 12 dB/oct - RC Passe-haut 12 dB - - - - RC Low-pass 24 dB/oct - RC Passe-bas 24 dB - - - - RC Band-pass 24 dB/oct - RC Passe-bande 24 dB - - - - RC High-pass 24 dB/oct - RC Passe-haut 24 dB - - - - Vocal Formant - Formant vocal - - - - 2x Moog - 2x Moog - - - - SV Low-pass - SV Passe-bas - - - - SV Band-pass - SV Passe-bande - - - - SV High-pass - SV Passe-haut - - - - SV Notch - SV coupe-bande - - - - Fast Formant - Formant rapide - - - - Tripole - Tripôle - - InstrumentSoundShapingView + JackAppDialog - - TARGET - CIBLE - - - - FILTER - FILTRE - - - - FREQ - FRÉQ - - - - Cutoff frequency: - Fréquence de coupure : - - - - Hz - Hz - - - - Q/RESO - Q/RÉSO - - - - Q/Resonance: - Q/Résonance - - - - Envelopes, LFOs and filters are not supported by the current instrument. - Les enveloppes, les LFO et les filtres ne sont pas supportés par l'instrument actuel. - - - - InstrumentTrack - - - - unnamed_track - piste_sans_nom - - - - Base note - Note de base - - - - First note + + Add JACK Application - - Last note - Dernière note - - - - Volume - Volume - - - - Panning - Panoramisation - - - - Pitch - Tonalité - - - - Pitch range - Plage de hauteur - - - - Mixer channel - Canal d'effet - - - - Master pitch - Tonalité générale - - - - Enable/Disable MIDI CC + + Note: Features not implemented yet are greyed out - - CC Controller %1 + + Application - - - Default preset - Pré-réglage par défaut - - - - InstrumentTrackView - - - Volume - Volume - - - - Volume: - Volume : - - - - VOL - VOL - - - - Panning - Panoramisation - - - - Panning: - Panoramisation : - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Entrée - - - - Output - Sortie - - - - Open/Close MIDI CC Rack + + Name: - - Channel %1: %2 - Effet %1 : %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - CONFIGURATION GÉNÉRALE + + Application: + - - Volume - Volume + + From template + - - Volume: - Volume : + + Custom + - - VOL - VOL + + Template: + - - Panning - Panoramisation + + Command: + - - Panning: - Panoramisation : + + Setup + - - PAN - PAN + + Session Manager: + - - Pitch - Tonalité + + None + - - Pitch: - Tonalité : + + Audio inputs: + - - cents - centièmes + + MIDI inputs: + - - PITCH - PITCH + + Audio outputs: + - - Pitch range (semitones) - Plage de hauteur (demi-tons) + + MIDI outputs: + - - RANGE - PLAGE + + Take control of main application window + - - Mixer channel - Canal d'effet + + Workarounds + - - CHANNEL - EFFET + + Wait for external application start (Advanced, for Debug only) + - - Save current instrument track settings in a preset file - Sauvegarder les paramètres de la piste de l'instrument actuel dans un fichier de pré-réglage + + Capture only the first X11 Window + - - SAVE - SAUV + + Use previous client output buffer as input for the next client + - - Envelope, filter & LFO - Enveloppe, filtre, et LFO + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Chord stacking & arpeggio - Empilement d'accords et arpège + + Error here + - - Effects - Effets - - - - MIDI - MIDI - - - - Miscellaneous - Divers - - - - Save preset - Enregistrer le pré-réglage - - - - XML preset file (*.xpf) - Fichier XML de pré-réglage (*.xpf) - - - - Plugin - Greffon - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - Les applications NSM ne peuvent pas utiliser des chemins abstraits ou absolus + - + NSM applications cannot use CLI arguments - Les applications NSM ne peuvent pas utiliser d'arguments CLI + - + You need to save the current Carla project before NSM can be used - Vous devez sauvegarder le projet Carla actuel avant de pouvoir utiliser NSM + JuceAboutW - - About JUCE - À propos de JUCE - - - - <b>About JUCE</b> - <b>À propos de JUCE</b> - - - - This program uses JUCE version 3.x.x. - Ce programme utilise la version 3.x.x de JUCE - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - JUCE (Jules' Utility Class Extensions) est une bibliothèque de classe C++ complète pour le développement de logiciels multiplateformes. - -Cette librairie contient à peu près tout ce dont vous aurez probablement besoin pour créer la plupart des applications, et elle est particulièrement adaptée à la création d'interfaces graphiques hautement personnalisées et à la gestion des graphiques et du son. - -JUCE est sous licence GNU Public Licence version 2.0. -Un module (juce_core) est sous licence ISC. - -Copyright (C) 2017 ROLI Ltd. - - - + This program uses JUCE version %1. Ce programme utilise la version %1 de JUCE. - - Knob - - - Set linear - Mode linéaire - - - - Set logarithmic - Mode logarithmique - - - - - Set value - Mode valeur - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Veuillez entrer une valeur entre -96,0 dBV et 6,0 dBFS: - - - - Please enter a new value between %1 and %2: - Veuillez entrer une valeur entre %1 et %2 : - - - - LadspaControl - - - Link channels - Relier les canaux - - - - LadspaControlDialog - - - Link Channels - Lier les canaux - - - - Channel - Canal - - - - LadspaControlView - - - Link channels - Lier les canaux - - - - Value: - Valeur : - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Le greffon LADSPA %1 demandé est inconnu. - - - - LcdFloatSpinBox - - - Set value - Mode valeur - - - - Please enter a new value between %1 and %2: - Veuillez entrer une valeur entre %1 et %2 : - - - - LcdSpinBox - - - Set value - Mode valeur - - - - Please enter a new value between %1 and %2: - Veuillez entrer une valeur entre %1 et %2 : - - - - LeftRightNav - - - - - Previous - Précédent - - - - - - Next - Suivant - - - - Previous (%1) - Précédent (%1) - - - - Next (%1) - Suivant (%1) - - - - LfoController - - - LFO Controller - Contrôleur du LFO - - - - Base value - Valeur de base - - - - Oscillator speed - Vitesse de l'oscillateur - - - - Oscillator amount - Niveau de l'oscillateur - - - - Oscillator phase - Phase de l'oscillateur - - - - Oscillator waveform - Forme d'onde de l'oscillateur - - - - Frequency Multiplier - Multiplicateur de fréquence - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - Base : - - - - FREQ - FRÉQ - - - - LFO frequency: - Fréquence du LFO : - - - - AMNT - AMNT - - - - Modulation amount: - Niveau de modulation : - - - - PHS - PHS - - - - Phase offset: - Décalage de phase : - - - - degrees - degrés - - - - Sine wave - Onde sinusoïdale - - - - Triangle wave - Onde triangulaire - - - - Saw wave - Onde en dents-de-scie - - - - Square wave - Onde carrée - - - - Moog saw wave - Onde en dents-de-scie Moog - - - - Exponential wave - Onde exponentielle - - - - White noise - Bruit blanc - - - - User-defined shape. -Double click to pick a file. - Forme définie par l'utilisateur. -Double-cliquez pour choisir un fichier. - - - - Mutliply modulation frequency by 1 - Multiplier la fréquence de modulation par 1 - - - - Mutliply modulation frequency by 100 - Multiplier la fréquence de modulation par 100 - - - - Divide modulation frequency by 100 - Diviser la fréquence de modulation par 100 - - - - Engine - - - Generating wavetables - Génération des tables d'ondes - - - - Initializing data structures - Initialisation des structures de données - - - - Opening audio and midi devices - Ouverture des périphériques audio et MIDI - - - - Launching mixer threads - Lancement du mélangeur de threads - - - - MainWindow - - - Configuration file - Fichier de configuration - - - - Error while parsing configuration file at line %1:%2: %3 - Erreur pendant l'analyse du fichier de configuration à la ligne %1:%2:%3 - - - - Could not open file - Le fichier n'a pas pu être ouvert - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Impossible d'ouvrir le fichier %1 en écriture. -Veuillez vous assurez que vous avez les droits d'écriture sur le fichier et le dossier contenant le fichier, et essayez à nouveau ! - - - - Project recovery - Récupération de projet - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Il y a un fichier de récupération présent. Il semble que la dernière session du logiciel ne s'est pas fermée proprement ou bien qu'une autre instance de LMMS est déjà ouverte. Voulez-vous récupérer le projet de cette dernière session ? - - - - - Recover - Récupérer - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Récupérer le fichier. Veuillez ne pas lancer de multiple instances de LMMS lorsque vous faites cela. - - - - - Discard - Abandonner - - - - Launch a default session and delete the restored files. This is not reversible. - Lancer une session par défaut et effacer les fichiers de récupération. Ceci n'est pas réversible. - - - - Version %1 - Version %1 - - - - Preparing plugin browser - Préparation du navigateur de greffons - - - - Preparing file browsers - Préparation du navigateur de fichiers - - - - My Projects - Mes projets - - - - My Samples - Mes échantillons - - - - My Presets - Mes pré-réglages - - - - My Home - Mon répertoire - - - - Root directory - Répertoire racine - - - - Volumes - Volumes - - - - My Computer - Mon ordinateur - - - - &File - &Fichier - - - - &New - &Nouveau - - - - &Open... - &Ouvrir... - - - - Loading background picture - Chargement de l'image de fond - - - - &Save - &Enregistrer - - - - Save &As... - Enregistrer &sous... - - - - Save as New &Version - Enregistrer en tant que nouvelle &version - - - - Save as default template - Sauvegarder en tant que modèle par défaut - - - - Import... - Importer... - - - - E&xport... - E&xporter... - - - - E&xport Tracks... - E&xporter les pistes... - - - - Export &MIDI... - Exporter en &MIDI... - - - - &Quit - &Quitter - - - - &Edit - &Éditer - - - - Undo - Défaire - - - - Redo - Refaire - - - - Settings - Configuration - - - - &View - &Afficher - - - - &Tools - Ou&tils - - - - &Help - &Aide - - - - Online Help - Aide en ligne - - - - Help - Aide - - - - About - À propos - - - - Create new project - Créer un nouveau projet - - - - Create new project from template - Créer un nouveau projet à partir d'un modèle - - - - Open existing project - Ouvrir un projet existant - - - - Recently opened projects - Projets ouverts récemment - - - - Save current project - Enregistrer le projet - - - - Export current project - Exporter le projet - - - - Metronome - Métronome - - - - - Song Editor - Éditeur de morceau - - - - - Beat+Bassline Editor - Éditeur de rythme et de ligne de basse - - - - - Piano Roll - Piano virtuel - - - - - Automation Editor - Éditeur d'automation - - - - - Mixer - Mélangeur d'effets - - - - Show/hide controller rack - Afficher/cacher le rack de contrôleurs - - - - Show/hide project notes - Afficher/cacher les notes de projet - - - - Untitled - Sans titre - - - - Recover session. Please save your work! - Récupération de session. Veuillez sauvegarder votre travail ! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Le projet récupéré n'a pas été sauvegardé - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Ce projet a été récupéré de la session précédente. Il n'est pas encore sauvegardé et sera perdu si vous ne le sauvegardez pas. Voulez-vous le sauvegarder maintenant ? - - - - Project not saved - Projet non sauvegardé - - - - The current project was modified since last saving. Do you want to save it now? - Ce projet a été modifié depuis son dernier enregistrement. Souhaitez-vous l'enregistrer maintenant ? - - - - Open Project - Ouvrir le projet - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Enregistrer le projet - - - - LMMS Project - Projet LMMS - - - - LMMS Project Template - Modèle de projet LMMS - - - - Save project template - Sauvegarder le modèle de projet - - - - Overwrite default template? - Écrire par dessus le modèle par défaut ? - - - - This will overwrite your current default template. - Ceci ré-écrira votre modèle par défaut actuel. - - - - Help not available - L'aide n'est pas disponible - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Il n'y a pour l'instant pas de d'aide dans LMMS. -Veuillez visiter http://lmms.sf.net/wiki pour la documentation de LMMS. - - - - Controller Rack - Rack de contrôleurs - - - - Project Notes - Montrer/cacher les notes du projet - - - - Fullscreen - - - - - Volume as dBFS - Volume en dBFS - - - - Smooth scroll - Déplacement fluide - - - - Enable note labels in piano roll - Activer les étiquettes de note dans le piano virtuel - - - - MIDI File (*.mid) - Fichier MIDI (*.mid) - - - - - untitled - sans titre - - - - - Select file for project-export... - Sélectionnez un fichier vers lequel exporter le projet... - - - - Select directory for writing exported tracks... - Sélectionnez le répertoire pour écrire les pistes exportées... - - - - Save project - Sauvegarder le projet - - - - Project saved - Projet sauvegardé - - - - The project %1 is now saved. - Le projet %1 est maintenant sauvegardé. - - - - Project NOT saved. - Projet NON sauvegardé. - - - - The project %1 was not saved! - Le projet %1 n'a pas été sauvegardé! - - - - Import file - Importer un fichier - - - - MIDI sequences - Séquences MIDI - - - - Hydrogen projects - Projets Hydrogen - - - - All file types - Tous les types de fichier - - - - MeterDialog - - - - Meter Numerator - Numérateur de la mesure - - - - Meter numerator - Numérateur de la mesure - - - - - Meter Denominator - Dénominateur de la mesure - - - - Meter denominator - Dénominateur de la mesure - - - - TIME SIG - SIGN RYTHM - - - - MeterModel - - - Numerator - Numérateur - - - - Denominator - Dénominateur - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Contrôleur MIDI - - - - unnamed_midi_controller - contrôleur_midi_sans_nom - - - - MidiImport - - - - Setup incomplete - Paramétrage incomplet - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Vous n'avez pas compilé LMMS avec la prise en charge du lecteur SoundFont2, qui est utilisé pour ajouter un son par défaut aux fichiers MIDI importés. Par conséquent aucun son ne sera joué après l'importation de ce fichier MIDI. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Numérateur - - - - Denominator - Dénominateur - - - - Track - Piste - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - Le serveur JACK est arrêté - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Le serveur JACK semble avoir été coupé - - MidiPatternW MIDI Pattern - + Modèle MIDI Time Signature: - + Signature rythmique: 1/4 - + 1/4 2/4 - + 2/4 3/4 - + 3/4 4/4 - + 4/4 5/4 - + 5/4 6/4 - + 6/4 Measures: - + Mesures : 1 - + 1 2 - + 2 3 - + 3 4 - + 4 @@ -8174,7 +3165,7 @@ Veuillez visiter http://lmms.sf.net/wiki pour la documentation de LMMS. 8 - + 8 @@ -8184,7 +3175,7 @@ Veuillez visiter http://lmms.sf.net/wiki pour la documentation de LMMS. 10 - + 10 @@ -8194,7 +3185,7 @@ Veuillez visiter http://lmms.sf.net/wiki pour la documentation de LMMS. 12 - + 12 @@ -8204,75 +3195,75 @@ Veuillez visiter http://lmms.sf.net/wiki pour la documentation de LMMS. 14 - + 14 15 - + 15 16 - + 16 Default Length: - + Longueur par défaut: 1/16 - + 1/16 1/15 - + 1/15 1/12 - + 1/12 1/9 - + 1/9 1/8 - + 1/8 1/6 - + 1/6 1/3 - + 1/3 1/2 - + 1/2 Quantize: - + Quantifier @@ -8290,2730 +3281,369 @@ Veuillez visiter http://lmms.sf.net/wiki pour la documentation de LMMS.&Quitter - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D D - + Select All - + Tout sélectionner - + A A - - MidiPort - - - Input channel - Canal d'entrée - - - - Output channel - Canal de sortie - - - - Input controller - Contrôleur d'entrée - - - - Output controller - Contrôleur de sortie - - - - Fixed input velocity - Vélocité d'entrée fixe - - - - Fixed output velocity - Vélocité de sortie fixe - - - - Fixed output note - Note de sortie fixe - - - - Output MIDI program - Programme MIDI de sortie - - - - Base velocity - Vélocité de base - - - - Receive MIDI-events - Recevoir des événements MIDI - - - - Send MIDI-events - Envoyer des événements MIDI - - - - MidiSetupWidget - - - Device - Périphérique - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - Panoramique du 1er oscillateur - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - Panoramique du 2e oscillateur - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - Panoramique du 3e oscillateur - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - Décalage de phase stéréo de l'oscillateur 3 - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - Relâchement de l'enveloppe 2 - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Affichage sélectionné - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - Onde sinusoïdale - - - - Bandlimited Triangle wave - Onde triangulaire à bande limitée - - - - Bandlimited Saw wave - Onde en dents-de-scie à bande limitée - - - - Bandlimited Ramp wave - Onde en rampe à bande limitée - - - - Bandlimited Square wave - Onde carrée à bande limitée - - - - Bandlimited Moog saw wave - Onde en dents-de-scie Moog à bande limitée - - - - - Soft square wave - Onde carrée douce - - - - Absolute sine wave - Onde sinusoïdale absolue - - - - - Exponential wave - Onde exponentielle - - - - White noise - Bruit blanc - - - - Digital Triangle wave - Onde triangulaire digitale - - - - Digital Saw wave - Onde en dents-de-scie digitale - - - - Digital Ramp wave - Onde en rampe digitale - - - - Digital Square wave - Onde carrée digitale - - - - Digital Moog saw wave - Onde en dents-de-scie Moog digitale - - - - Triangle wave - Onde triangulaire - - - - Saw wave - Onde en dents-de-scie - - - - Ramp wave - Onde en rampe - - - - Square wave - Onde carrée - - - - Moog saw wave - Onde en dents-de-scie Moog - - - - Abs. sine wave - Onde sinusoïdale absolue - - - - Random - Aléatoire - - - - Random smooth - Aléatoire adoucie - - - - MonstroView - - - Operators view - Vue des opérateurs - - - - Matrix view - Vue de la matrice - - - - - - Volume - Volume - - - - - - Panning - Panoramisation - - - - - - Coarse detune - Désaccordage grossier - - - - - - semitones - demi-tons - - - - - Fine tune left - - - - - - - - cents - centièmes - - - - - Fine tune right - - - - - - - Stereo phase offset - Décalage stéréo de phase - - - - - - - - deg - degrés - - - - Pulse width - Largeur de pulsation - - - - Send sync on pulse rise - Envoi de la synchro à la montée - - - - Send sync on pulse fall - Envoi de la synchro à la descente - - - - Hard sync oscillator 2 - Synchro fixe oscillateur 2 - - - - Reverse sync oscillator 2 - Synchro inverse oscillateur 2 - - - - Sub-osc mix - Mélange du sous-oscillateur - - - - Hard sync oscillator 3 - Synchro fixe oscillateur 3 - - - - Reverse sync oscillator 3 - Synchro inverse oscillateur 3 - - - - - - - Attack - Attaque - - - - - Rate - Vitesse - - - - - Phase - Phase - - - - - Pre-delay - Pré-délai - - - - - Hold - Maintien - - - - - Decay - Descente - - - - - Sustain - Soutien - - - - - Release - Relâchement - - - - - Slope - Pente - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Niveau de modulation - - - - MultitapEchoControlDialog - - - Length - Longueur - - - - Step length: - Longueur de pas : - - - - Dry - Sec - - - - Dry gain: - - - - - Stages - Niveaux - - - - Low-pass stages: - - - - - Swap inputs - Permutation des entrées - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - Volume du canal 1 - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - Dé-réglage grossier du canal 2 - - - - Channel 2 Volume - Volume du canal 2 - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - Quantité de balayage du canal 2 - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Volume du canal 3 - - - - Channel 4 volume - Volume du canal 4 - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Volume général - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Volume - - - - - - Coarse detune - Désaccordage grossier - - - - - - Envelope length - Longueur de l'enveloppe - - - - Enable channel 1 - Activer le canal 1 - - - - Enable envelope 1 - Activer l'enveloppe 1 - - - - Enable envelope 1 loop - Activer la boucle d'enveloppe 1 - - - - Enable sweep 1 - Activer le balayage 1 - - - - - Sweep amount - Temps de balayage - - - - - Sweep rate - Vitesse de balayage - - - - - 12.5% Duty cycle - 12.5% du cycle - - - - - 25% Duty cycle - 25% du cycle - - - - - 50% Duty cycle - 50% du cycle - - - - - 75% Duty cycle - 75% du cycle - - - - Enable channel 2 - Activer le canal 2 - - - - Enable envelope 2 - Activer l'enveloppe 2 - - - - Enable envelope 2 loop - Activer la boucle d'enveloppe 2 - - - - Enable sweep 2 - Activer le balayage 2 - - - - Enable channel 3 - Activer le canal 3 - - - - Noise Frequency - Fréquence du bruit - - - - Frequency sweep - Fréquence de balayage - - - - Enable channel 4 - Activer le canal 4 - - - - Enable envelope 4 - Activer l'enveloppe 4 - - - - Enable envelope 4 loop - Activer la boucle d'enveloppe 4 - - - - Quantize noise frequency when using note frequency - Quantifier la fréquence du bruit lorsque la fréquence de la note est utilisée - - - - Use note frequency for noise - Utiliser la fréquence de note pour le bruit - - - - Noise mode - Mode de bruit - - - - Master volume - Volume général - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Patch - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - Enveloppe percussive Op 1 - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - Profondeur du trémolo - - - - OpulenzInstrumentView - - - - Attack - Attaque - - - - - Decay - Affaiblissement (decay) - - - - - Release - Relâchement - - - - - Frequency multiplier - Multiplicateur de fréquence - - - - OscillatorObject - - - Osc %1 waveform - Forme d'onde de l'oscillateur %1 - - - - Osc %1 harmonic - Harmonique de l'oscillateur %1 - - - - - Osc %1 volume - Volume de l'oscillateur %1 - - - - - Osc %1 panning - Panoramisation de l'oscillateur %1 - - - - - Osc %1 fine detuning left - Désaccordage fin (gauche) de l'oscillateur %1 - - - - Osc %1 coarse detuning - Désaccordage grossier de l'oscillateur %1 - - - - Osc %1 fine detuning right - Désaccordage fin (droite) de l'oscillateur %1 - - - - Osc %1 phase-offset - Décalage de phase de l'oscillateur %1 - - - - Osc %1 stereo phase-detuning - Désaccordage stéréo de la phase de l'oscillateur %1 - - - - Osc %1 wave shape - Forme d'onde de l'oscillateur %1 - - - - Modulation type %1 - Modulation de type %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - Cliquez pour activer - - PatchesDialog + Qsynth: Channel Preset Qsynth : pré-réglage de canal + Bank selector Sélecteur de banque + Bank Banque + Program selector Sélecteur de programme + Patch Instrument + Name Nom + OK OK + Cancel Annuler - - PatmanView - - - Open patch - - - - - Loop - Boucler - - - - Loop mode - Mode de jeu en boucle - - - - Tune - Accorder - - - - Tune mode - Mode accordage - - - - No file selected - Aucun fichier sélectionné - - - - Open patch file - Ouvrir un fichier de son - - - - Patch-Files (*.pat) - Fichiers de son (*.pat) - - - - MidiClipView - - - Open in piano-roll - Ouvrir dans le piano virtuel - - - - Set as ghost in piano-roll - - - - - Clear all notes - Effacer toutes les notes - - - - Reset name - Réinitialiser le nom - - - - Change name - Modifier le nom - - - - Add steps - Ajouter des pas - - - - Remove steps - Supprimer des pas - - - - Clone Steps - Cloner les pas - - - - PeakController - - - Peak Controller - Contrôleur de crêtes - - - - Peak Controller Bug - Bug du contrôleur de crêtes - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - A cause d'un bug dans les anciennes versions de LMMS, les contrôleurs de crêtes peuvent ne pas s'être connectés correctement. Verifiez que les contrôleurs de crêtes sont connectés correctement et re-sauvegardez ce fichier. Désolé pour la gène occasionnée. - - - - PeakControllerDialog - - - PEAK - CRÊTE - - - - LFO Controller - Contrôleur du LFO - - - - PeakControllerEffectControlDialog - - - BASE - BASE - - - - Base: - Base : - - - - AMNT - AMNT - - - - Modulation amount: - Niveau de modulation : - - - - MULT - MULT - - - - Amount multiplicator: - - - - - ATCK - ATCK - - - - Attack: - Attaque : - - - - DCAY - DCAY - - - - Release: - Relâchement : - - - - TRSH - TRSH - - - - Treshold: - Seuil : - - - - Mute output - Mettre la sortie en sourdine - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Valeur de base - - - - Modulation amount - Niveau de modulation - - - - Attack - Attaque - - - - Release - Relâchement - - - - Treshold - Seuil - - - - Mute output - Mettre la sortie en sourdine - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - Vélocité de la note - - - - Note Panning - Panoramisation de la note - - - - Mark/unmark current semitone - Marquer/démarquer le demi-ton actuel - - - - Mark/unmark all corresponding octave semitones - Marquer/démarquer tous les demi-tons d'octave correspondant - - - - Mark current scale - Marquer la gamme actuelle - - - - Mark current chord - Marquer l'accord actuel - - - - Unmark all - Démarquer tout - - - - Select all notes on this key - Sélectionner toutes les notes de cet clef - - - - Note lock - Verrouiller la note - - - - Last note - Dernière note - - - - No key - - - - - No scale - Pas de gamme - - - - No chord - Pas d'accord - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Vélocité : %1% - - - - Panning: %1% left - Panoramisation : %1% gauche - - - - Panning: %1% right - Panoramisation : %1% droite - - - - Panning: center - Panoramisation : centre - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Veuillez ouvrir un motif en double-cliquant dessus ! - - - - - Please enter a new value between %1 and %2: - Veuillez entrer une valeur entre %1 et %2 : - - - - PianoRollWindow - - - Play/pause current clip (Space) - Jouer/mettre en pause le motif (barre d'espace) - - - - Record notes from MIDI-device/channel-piano - Enregistrez des notes à partir d'un périphérique MIDI ou d'un canal du piano - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Enregistrez des notes à partir d'un périphérique MIDI ou d'un canal du piano pendant l'écoute d'un morceau ou bien d'une piste de rythme ou de ligne de basse - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Arrêter de jouer le motif (barre d'espace) - - - - Edit actions - Actions d'édition - - - - Draw mode (Shift+D) - Mode dessin (Shift+D) - - - - Erase mode (Shift+E) - Mode effacement (Shift+E) - - - - Select mode (Shift+S) - Mode sélection (Shift+S) - - - - Pitch Bend mode (Shift+T) - Mode Pitch Bend (Maj + T) - - - - Quantize - Quantifier - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Contrôles de copier/coller - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Contrôles de la ligne de temps - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Contrôles de zoom et de notes - - - - Horizontal zooming - Zoom horizontal - - - - Vertical zooming - Zoom vertical - - - - Quantization - Quantification - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - Piano virtuel - %1 - - - - - Piano-Roll - no clip - Piano virtuel - pas de motif - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Note de base - - - - First note - - - - - Last note - Dernière note - - - - Plugin - - - Plugin not found - Le greffon n'a pas été trouvé - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Le greffon "%1" n'a pas été trouvé ou n'a pas pu être chargé ! -Raison : "%2" - - - - Error while loading plugin - Une erreur est survenue pendant le chargement du greffon - - - - Failed to load plugin "%1"! - Le chargement du greffon "%1" a échoué ! - - PluginBrowser - - Instrument Plugins - Greffons d'instrument - - - - Instrument browser - Navigateur d'instruments - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Glissez un instrument dans l'éditeur de morceau, dans l'éditeur de rythme et de ligne de basse, ou dans une piste d'instrument existante. - - - + no description pas de description - + A native amplifier plugin Un greffon d'amplification natif - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Échantillonneur simple avec divers paramètres pour utiliser des échantillons (par exemple : percussions) dans une piste d'instrument - + Boost your bass the fast and simple way Renforcer vos basses de la manière la plus simple et la plus rapide - + Customizable wavetable synthesizer Synthétiseur de table d'ondes personnalisable - + An oversampling bitcrusher Un bitcrusher sur-échantillonneur - + Carla Patchbay Instrument Baie d'instruments Carla - + Carla Rack Instrument Rack d'instruments Carla - + A dynamic range compressor. - + Un compresseur de plage dynamique. - + A 4-band Crossover Equalizer Un égaliseur crossover à 4 bandes - + A native delay plugin Greffon délai natif - + A Dual filter plugin Un greffon de filtre double - + plugin for processing dynamics in a flexible way Greffon pour transformer la dynamique sonore de façon flexible - + A native eq plugin Un greffon égaliseur natif - + A native flanger plugin Un greffon flanger natif - + Emulation of GameBoy (TM) APU Émulateur de l'APU de la GameBoy (TM) - + Player for GIG files Lecteur de fichiers GIG - + Filter for importing Hydrogen files into LMMS Filtre pour importer des fichiers Hydrogen dans LMMS - + Versatile drum synthesizer Synthétiseur de batterie polyvalent - + List installed LADSPA plugins Liste des greffons LADSPA installés - + plugin for using arbitrary LADSPA-effects inside LMMS. Greffon pour l'utilisation de tout effet LADSPA dans LMMS. - + Incomplete monophonic imitation TB-303 - Imitation incomplète de TB-303 monophonique + Une imitation monophonique incomplète de la TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + Greffon pour l'utilisation de tout effet LV2 dans LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Greffon pour l'utilisation de tout instrument LV2 dans LMMS. - + Filter for exporting MIDI-files from LMMS Filtre pour l'exportation de fichiers MIDI depuis LMMS - + Filter for importing MIDI-files into LMMS Filtre pour importer des fichiers MIDI dans LMMS - + Monstrous 3-oscillator synth with modulation matrix Synthétiseur à 3 oscillateurs monstrueux avec matrice de modulation - + A multitap echo delay plugin Un greffon d'écho et délai multitap - + A NES-like synthesizer Un synthétiseur genre 'NES' - + 2-operator FM Synth Synthé FM à 2 opérateurs - + Additive Synthesizer for organ-like sounds Synthétiseur additif pour sons d'orgue - + GUS-compatible patch instrument Sons d'instruments compatibles avec la carte Gravis UltraSound (GUS) - + Plugin for controlling knobs with sound peaks Greffon pour des boutons de contrôles avec des crêtes de son - + Reverb algorithm by Sean Costello Algorithme de réverbération par Sean Costello - + Player for SoundFont files Lecteur de fichiers SoundFont - + LMMS port of sfxr Port LMMS de sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Émulateur des SID MOS6581 et MOS8580. Cette puce était utilisée dans l'ordinateur Commodore 64. - + A graphical spectrum analyzer. - + Un analyseur de spectre graphique - + Plugin for enhancing stereo separation of a stereo input file Greffon pour l'amélioration de la séparation stéréo d'un fichier stéréo en entrée - + Plugin for freely manipulating stereo output Greffon pour la manipulation de la sortie stéréo - + Tuneful things to bang on Instruments à percussion mélodiques - + Three powerful oscillators you can modulate in several ways Trois oscillateurs puissants que vous pouvez moduler de différentes manières - + A stereo field visualizer. - + Un visualiseur de champ stéréo. - + VST-host for using VST(i)-plugins within LMMS Hôte VST pour l'utilisation de greffons VST(i) dans LMMS - + Vibrating string modeler Modeleur de corde vibrante - + plugin for using arbitrary VST effects inside LMMS. Greffon pour l'utilisation de tout effet VST dans LMMS. - + 4-oscillator modulatable wavetable synth Synthétiseur de table d'ondes modulables à 4 oscillateurs - + plugin for waveshaping Greffon pour du modelage d'onde - + Mathematical expression parser Analyseur d'expression mathématique - + Embedded ZynAddSubFX ZynAddSubFX intégré - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU + + Basic Slicer - - Sound Kits - - - - - Type - Type - - - - Effects - Effets - - - - Instruments - Instruments - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Annuler - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - TextLabel - - - - Format: - - - - - Architecture: - - - - - Type: - Type : - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Nom - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -11022,12 +3652,12 @@ Cette puce était utilisée dans l'ordinateur Commodore 64. Plugin Editor - + Éditeur de plugin Edit - + Éditer @@ -11047,28 +3677,28 @@ Cette puce était utilisée dans l'ordinateur Commodore 64. Output dry/wet (100%) - + Sortie dry/wet(100%) Output volume (100%) - + Volume de sorte (100%) Balance Left (0%) - + Balance gauche (0%) Balance Right (0%) - + Balance droite (0%) Use Balance - + Utiliser la balance @@ -11088,12 +3718,12 @@ Cette puce était utilisée dans l'ordinateur Commodore 64. Audio: - + Audio: Fixed-Size Buffer - + Tampon à taille fixe @@ -11103,7 +3733,7 @@ Cette puce était utilisée dans l'ordinateur Commodore 64. MIDI: - + MIDI: @@ -11112,93 +3742,100 @@ Cette puce était utilisée dans l'ordinateur Commodore 64. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + +Nom du plugin + - + Program: - + Programme: - + MIDI Program: - + Programme MIDI: - + Save State - + Enregistrer l'état - + Load State - + Charger l'état - + Information - + Information - + Label/URI: - + Étiquette/URI: - + Name: - + Nom : - + Type: Type : - + Maker: - + Créateur: - + Copyright: - + Copyright : - + Unique ID: @@ -11206,16 +3843,457 @@ Plugin Name PluginFactory - + Plugin not found. Greffon introuvable. - + LMMS plugin %1 does not have a plugin descriptor named %2! Le greffon LMMS %1 n'a pas de descripteur de greffon nommé %2 ! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -11226,161 +4304,65 @@ Plugin Name Parameter Name - + Nom du paramètre + TextLabel + + + + ... ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU + + All plugins, ignoring cache - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native + + Updated plugins only - - POSIX 32bit + + Check previously invalid plugins - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Fermer + @@ -11395,2344 +4377,13619 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable Activer - + On/Off On/Off - + - + PluginName - + MIDI MIDI - + AUDIO IN - + ENTRÉE AUDIO - + AUDIO OUT - + SORTIE AUDIO - + GUI - + GUI - + Edit - + Éditer - + Remove Supprimer Plugin Name - + Nom du plugin Preset: - - - - - ProjectNotes - - - Project Notes - Montrer/cacher les notes du projet - - - - Enter project notes here - Inscrire les notes de projet ici - - - - Edit Actions - Édition - - - - &Undo - &Défaire - - - - %1+Z - %1+Z - - - - &Redo - &Refaire - - - - %1+Y - %1+Y - - - - &Copy - &Copier - - - - %1+C - %1+C - - - - Cu&t - Cou&per - - - - %1+X - %1+X - - - - &Paste - Co&ller - - - - %1+V - %1+V - - - - Format Actions - Format - - - - &Bold - Gr&as - - - - %1+B - %1+B - - - - &Italic - &Italique - - - - %1+I - %1+I - - - - &Underline - &Souligné - - - - %1+U - %1+U - - - - &Left - &Gauche - - - - %1+L - %1+L - - - - C&enter - C&entrer - - - - %1+E - %1+E - - - - &Right - D&roite - - - - %1+R - %1+R - - - - &Justify - &Justifier - - - - %1+J - %1+J - - - - &Color... - C&ouleurs... + Préréglage: ProjectRenderer - + WAV (*.wav) - + WAV (*.wav) - + FLAC (*.flac) - + FLAC (*.flac) - + OGG (*.ogg) - + OGG (*.ogg) - + MP3 (*.mp3) + MP3 (*.mp3) + + + + QGroupBox + + + + Settings for %1 QObject - + Reload Plugin - + Recharger le plugin - + Show GUI Montrer l'interface graphique - + Help Aide + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Nom : - - URI: - - - - - - + Maker: Fabricant : - - - + Copyright: Copyright : - - + Requires Real Time: Nécessite le temps réel : - - - - - - + + + Yes Oui - - - - - - + + + No Non - - + Real Time Capable: Support temps réel : - - + In Place Broken: Inutilisable : - - + Channels In: Canaux d'entrée : - - + Channels Out: Canaux de sortie : - + File: %1 Fichier : %1 - + File: Fichier : - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - Projets ouverts &Récemment + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Renommer... + + Volume + Volume + + + + Panning + Panoramisation + + + + Left gain + Gain de gauche + + + + Right gain + Gain de droite - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Entrée + + Amplify + Amplifier - - Input gain: - Gain en entrée : + + Start of sample + Début de l'échantillon - - Size - Taille + + End of sample + Fin de l'échantillon - - Size: - Taille : + + Loopback point + Point de bouclage - - Color - Couleur + + Reverse sample + Inverser l'échantillon - - Color: - Couleur : + + Loop mode + Mode de bouclage - - Output - Sortie + + Stutter + - - Output gain: - Gain en sortie : + + Interpolation mode + Mode d'interpolation + + + + None + Aucun + + + + Linear + Linéaire + + + + Sinc + Sync + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + Le client JACK a redémarré + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + Le serveur JACK est arrêté + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + Le serveur JACK semble avoir été arrêté et le démarrage d'une nouvelle instance a échoué. Par conséquent, LMMS ne peut pas continuer. Vous devriez enregistrer votre projet puis redémarrer JACK et LMMS. + + + + Client name + Nom du client + + + + Channels + Canaux + + + + lmms::AudioOss + + + Device + Périphérique + + + + Channels + Canaux + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + Périphérique + + + + lmms::AudioPulseAudio + + + Device + Périphérique + + + + Channels + Canaux + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + Périphérique + + + + Channels + Canaux + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + Périphérique + + + + lmms::AutomatableModel + + + &Reset (%1%2) + &Réinitialiser (%1%2) + + + + &Copy value (%1%2) + &Copier la valeur (%1%2) + + + + &Paste value (%1%2) + &Coller la valeur (%1%2) + + + + &Paste value + &Coller la valeur + + + + Edit song-global automation + Éditer l'automation globale du morceau + + + + Remove song-global automation + Supprimer l'automation globale du morceau + + + + Remove all linked controls + Supprimer tous les contrôles liés + + + + Connected to %1 + Connecté à %1 + + + + Connected to controller + Connecté au contrôleur + + + + Edit connection... + Éditer la connexion... + + + + Remove connection + Supprimer la connexion + + + + Connect to controller... + Connecter le contrôleur... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + Déplacer un contrôle en appuyant sur <%1> + + + + lmms::AutomationTrack + + + Automation track + Piste d'automation + + + + lmms::BassBoosterControls + + + Frequency + Fréquence + + + + Gain + Gain + + + + Ratio + Ratio + + + + lmms::BitInvader + + + Sample length + Longueur de l'échantillon + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain Gain en entrée - - Size - Taille + + Input noise + Bruit en entrée : - - Color - Couleur + + Output gain + Gain en sortie - + + Output clip + Clip de sortie + + + + Sample rate + Taux d'échantillonnage + + + + Stereo difference + Différence stéréo + + + + Levels + Niveaux + + + + Rate enabled + Taux activé + + + + Depth enabled + Profondeur activée + + + + lmms::Clip + + + Mute + Mettre en sourdine + + + + lmms::CompressorControls + + + Threshold + Seuil : + + + + Ratio + Ratio + + + + Attack + Attaque + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + Taille RMS + + + + Mid/Side + + + + + Peak Mode + Mode crête + + + + Lookahead Length + + + + + Input Balance + Balance d'entrée + + + + Output Balance + Balance de sortie + + + + Limiter + Limiteur + + + + Output Gain + Gain en sortie + + + + Input Gain + Gain en entrée + + + + Blend + Mélange + + + + Stereo Balance + Balance stéréo : + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + Lien stéréo + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + Fréquence du LFO : + + + + LFO amount + Niveau du LFO + + + Output gain Gain en sortie - SaControls + lmms::DispersionControls - - Pause - + + Amount + Niveau - - Reference freeze - + + Frequency + Fréquence - - Waterfall - - - - - Averaging - - - - - Stereo - Stéréo - - - - Peak hold - - - - - Logarithmic frequency - - - - - Logarithmic amplitude - - - - - Frequency range - - - - - Amplitude range - - - - - FFT block size - Taille du bloc FFT - - - - FFT window type - - - - - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier - - - - - Averaging weight - - - - - Waterfall history size - - - - - Waterfall gamma correction - - - - - FFT window overlap - - - - - FFT zero padding - - - - - - Full (auto) - - - - - - - Audible - - - - - Bass - Graves - - - - Mids - - - - - High - - - - - Extended - - - - - Loud - Fort - - - - Silent - - - - - (High time res.) - - - - - (High freq. res.) - - - - - Rectangular (Off) - - - - - - Blackman-Harris (Default) - - - - - Hamming - - - - - Hanning - - - - - SaControlsDialog - - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Stéréo - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - points d'enveloppe par pixel - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - Taille du bloc FFT - - - - - FFT window type - - - - - SampleBuffer - - - Fail to open file - Échec à l'ouverture du fichier - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Les fichiers audio sont limités à une taille de %1 MB et %2 minutes de temps de lecture - - - - Open audio file - Ouvrir un fichier audio - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Tous les fichiers audio.(*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Fichiers WAVE (*.wav) - - - - OGG-Files (*.ogg) - Fichiers OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Fichiers DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Fichiers FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Fichiers SPEEX (*.spx) - - - - VOC-Files (*.voc) - Fichiers VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Fichiers AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Fichiers AU (*.au) - - - - RAW-Files (*.raw) - Fichiers RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - Supprimer (bouton du milieu de la souris) - - - - Delete selection (middle mousebutton) - - - - - Cut - Couper - - - - Cut selection - - - - - Copy - Copier - - - - Copy selection - - - - - Paste - Coller - - - - Mute/unmute (<%1> + middle click) - Sourdine (ou non) (<%1> + clic-milieu) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Inverser l'échantillon - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - - Volume - Volume - - - - Panning - Panoramisation - - - - Mixer channel - Canal d'effet - - - - - Sample track - Piste d'échantillon - - - - SampleTrackView - - - Track volume - Volume de la piste - - - - Channel volume: - Volume du canal : - - - - VOL - VOL - - - - Panning - Panoramisation - - - - Panning: - Panoramisation : - - - - PAN - PAN - - - - Channel %1: %2 - Effet %1 : %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - CONFIGURATION GÉNÉRALE - - - - Sample volume - - - - - Volume: - Volume : - - - - VOL - VOL - - - - Panning - Panoramisation - - - - Panning: - Panoramisation : - - - - PAN - PAN - - - - Mixer channel - Canal d'effet - - - - CHANNEL - EFFET - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - - - - - SetupDialog - - - Reset to default value - - - - - Use built-in NaN handler - Utiliser le gestionnaire NaN intégré - - - - Settings - Configuration - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - Afficher le volume en dBFS - - - - Enable tooltips - Activer les info-bulles - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - Activer la sauvegarde automatique - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Greffons - - - - VST plugins embedding: - - - - - No embedding - Aucune intégration - - - - Embed using Qt API - Intégrer en utilisant l'API Qt - - - - Embed using native Win32 API - Intégrer en utilisant l'API Win32 native - - - - Embed using XEmbed protocol - Intégrer en utilisant le protocole XEmbed - - - - Keep plugin windows on top when not embedded - Maintenir les fenêtres des plugins au premier plan lorsqu'elles ne sont pas intégrées - - - - Sync VST plugins to host playback - Synchroniser les greffons VST à la lecture de l'hôte - - - - Keep effects running even without input - Laisser les effets opérer même sans entrée - - - - - Audio - Audio - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Répertoire de travail de LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Répertoire des SF2 - - - - Default SF2 - - - - - GIG directory - Répertoire des GIG - - - - Theme directory - - - - - Background artwork - Thème graphique d'arrière-plan - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - Chemins d'accès - - - - OK - OK - - - - Cancel - Annuler - - - - Frames: %1 -Latency: %2 ms - Trames : %1 -Latence : %2 ms - - - - Choose your GIG directory - Choisissez le répertoire des fichiers GIG - - - - Choose your SF2 directory - Choisissez le répertoire des fichiers SF2 - - - - minutes - minutes - - - - minute - minute - - - - Disabled - Désactivé - - - - SidInstrument - - - Cutoff frequency - Fréquence de coupure - - - + Resonance Résonance - - Filter type - Type de filtre + + Feedback + - - Voice 3 off - Voix 3 coupée - - - - Volume - Volume - - - - Chip model - Modèle de circuit + + DC Offset Removal + Suppression de la composante continue - SidInstrumentView + lmms::DualFilterControls - - Volume: - Volume : + + Filter 1 enabled + Filtre 1 activé - - Resonance: - Résonance : + + Filter 1 type + Type du filtre 1 - - - Cutoff frequency: - Fréquence de coupure : + + Cutoff frequency 1 + Fréquence de coupure 1 - - High-pass filter + + Q/Resonance 1 + Q/Résonance 1 + + + + Gain 1 + Gain 1 + + + + Mix + Mix + + + + Filter 2 enabled + Filtre 2 activé + + + + Filter 2 type + Type du filtre 2 + + + + Cutoff frequency 2 + Fréquence de coupure 2 + + + + Q/Resonance 2 + Q/Résonance 2 + + + + Gain 2 + Gain 2 + + + + + Low-pass + Passe-bas + + + + + Hi-pass + Passe-haut + + + + + Band-pass csg + Passe-bande CSG + + + + + Band-pass czpg + Passe-bande CZPG + + + + + Notch + Coupe-bande + + + + + All-pass + Passe-tout + + + + + Moog + Moog + + + + + 2x Low-pass + 2x Passe-bas + + + + + RC Low-pass 12 dB/oct + RC Passe-bas 12 dB/octave + + + + + RC Band-pass 12 dB/oct + RC Passe-bande 12 dB/octave + + + + + RC High-pass 12 dB/oct + RC Passe-haut 12 dB/octave + + + + + RC Low-pass 24 dB/oct + RC Passe-bas 24 dB/octave + + + + + RC Band-pass 24 dB/oct + RC Passe-bande 24 dB/octave + + + + + RC High-pass 24 dB/oct + RC Passe-haut 24 dB/octave + + + + + Vocal Formant - - Band-pass filter + + + 2x Moog + 2x Moog + + + + + SV Low-pass + SV Passe-bas + + + + + SV Band-pass + SV Passe-bande + + + + + SV High-pass + SV Passe-haut + + + + + SV Notch + SV coupe-bande + + + + + Fast Formant - - Low-pass filter + + + Tripole + Tripôle + + + + lmms::DynProcControls + + + Input gain + Gain en entrée + + + + Output gain + Gain en sortie + + + + Attack time + Temps d'attaque + + + + Release time - - Voice 3 off + + Stereo mode + Mode stéréo + + + + lmms::Effect + + + Effect enabled + Effet activé + + + + Wet/Dry mix + Mélange originel/traité + + + + Gate + Seuil + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + Effets activés + + + + lmms::Engine + + + Generating wavetables + Génération des tables d'ondes + + + + Initializing data structures + Initialisation des structures de données + + + + Opening audio and midi devices + Ouverture des périphériques audio et MIDI + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Pré-délai de l'enveloppe + + + + Env attack + Attaque de l'enveloppe + + + + Env hold + Maintien de enveloppe + + + + Env decay - - MOS6581 SID - SID MOS6581 - - - - MOS8580 SID - SID MOS8580 - - - - - Attack: - Attaque : - - - - - Decay: - Affaiblissement (decay) : - - - - Sustain: - Soutien : - - - - - Release: - Relâchement : - - - - Pulse Width: - Largeur de pulsation : - - - - Coarse: - Grossier : - - - - Pulse wave + + Env sustain - - Triangle wave - Onde triangulaire + + Env release + - - Saw wave - Onde en dents-de-scie + + Env mod amount + Niveau de modulation de enveloppe - + + LFO pre-delay + Pré-délai du LFO + + + + LFO attack + Attaque du LFO + + + + LFO frequency + Fréquence du LFO + + + + LFO mod amount + Niveau de modulation du LFO + + + + LFO wave shape + Forme d'onde du LFO + + + + LFO frequency x 100 + Fréquence du LFO x 100 + + + + Modulate env amount + Moduler le niveau de l'enveloppe + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + Gain en entrée + + + + Output gain + Gain en sortie + + + + Low-shelf gain + Gain du low-shelf + + + + Peak 1 gain + Gain de crête 1 + + + + Peak 2 gain + Gain de crête 2 + + + + Peak 3 gain + Gain de crête 3 + + + + Peak 4 gain + Gain de crête 4 + + + + High-shelf gain + Gain du high-shelf + + + + HP res + Résolution du passe-haut + + + + Low-shelf res + Résolution du low-shelf + + + + Peak 1 BW + Bande-passante du pic 1 + + + + Peak 2 BW + Bande-passante du pic 2 + + + + Peak 3 BW + Bande-passante du pic 3 + + + + Peak 4 BW + Bande-passante du pic 4 + + + + High-shelf res + Résolution du high-shelf + + + + LP res + Résolution du passe-bas + + + + HP freq + Fréquence du passe-haut + + + + Low-shelf freq + Fréquence du low-shelf + + + + Peak 1 freq + Fréquence de crête 1 + + + + Peak 2 freq + Fréquence de crête 2 + + + + Peak 3 freq + Fréquence de crête 3 + + + + Peak 4 freq + Fréquence de crête 4 + + + + High-shelf freq + Fréquence du high-shelf + + + + LP freq + Fréquence du passe-bas + + + + HP active + Passe-haut actif + + + + Low-shelf active + Low-shelf actif + + + + Peak 1 active + Crête 1 active + + + + Peak 2 active + Crête 2 active + + + + Peak 3 active + Crête 3 active + + + + Peak 4 active + Crête 4 active + + + + High-shelf active + High-shelf actif + + + + LP active + Passe-bas actif + + + + LP 12 + Passe-bas 12 + + + + LP 24 + Passe-bas 24 + + + + LP 48 + Passe-bas 48 + + + + HP 12 + Passe-haut 12 + + + + HP 24 + Passe-haut 24 + + + + HP 48 + Passe-haut 48 + + + + Low-pass type + type de passe-bas + + + + High-pass type + type de passe-haut + + + + Analyse IN + Analyse de l'entrée + + + + Analyse OUT + Analyse de la sortie + + + + lmms::FlangerControls + + + Delay samples + Délai d'échantillonnage + + + + LFO frequency + Fréquence du LFO + + + + Amount + + + + + Stereo phase + Phase stéréo + + + + Feedback + + + + Noise Bruit - + + Invert + Inverser + + + + lmms::FreeBoyInstrument + + + Sweep time + Temps de balayage + + + + Sweep direction + Sens de balayage + + + + Sweep rate shift amount + Niveau de décalage du taux de balayage + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + Volume du canal 1 + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + Volume du canal 2 + + + + Channel 3 volume + Volume du canal 3 + + + + Channel 4 volume + Volume du canal 4 + + + + Shift Register width + Largeur du registre de décalage + + + + Right output level + Niveau de sortie droite + + + + Left output level + Niveau de sortie gauche + + + + Channel 1 to SO2 (Left) + Canal 1 vers SO2 (gauche) + + + + Channel 2 to SO2 (Left) + Canal 2 vers SO2 (gauche) + + + + Channel 3 to SO2 (Left) + Canal 3 vers SO2 (gauche) + + + + Channel 4 to SO2 (Left) + Canal 4 vers SO2 (gauche) + + + + Channel 1 to SO1 (Right) + Canal 1 vers SO1 (droite) + + + + Channel 2 to SO1 (Right) + Canal 2 vers SO1 (droite) + + + + Channel 3 to SO1 (Right) + Canal 3 vers SO1 (droite) + + + + Channel 4 to SO1 (Right) + Canal 4 vers SO1 (droite) + + + + Treble + Aigus + + + + Bass + Graves + + + + lmms::GigInstrument + + + Bank + Banque + + + + Patch + + + + + Gain + Gain + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + Arpège + + + + Arpeggio type + Type d'arpège + + + + Arpeggio range + Plage d'arpège + + + + Note repeats + Répétition de note + + + + Cycle steps + + + + + Skip rate + Taux de saut + + + + Miss rate + Taux de manqué + + + + Arpeggio time + Temps d'arpège + + + + Arpeggio gate + Durée d'arpège + + + + Arpeggio direction + Direction de l'arpège + + + + Arpeggio mode + Mode d'arpège + + + + Up + Ascendant + + + + Down + Descendant + + + + Up and down + Ascendant et descendant + + + + Down and up + Descendant et ascendant + + + + Random + Aléatoire + + + + Free + Libre + + + + Sort + Tri + + + Sync Sync + + + lmms::InstrumentFunctionNoteStacking - - Ring modulation - + + Chords + Accords - - Filtered - Filtré + + Chord type + Type d'accord - - Test - Test - - - - Pulse width: - + + Chord range + Gamme d'accord - SideBarWidget + lmms::InstrumentSoundShaping - - Close - Fermer + + Envelopes/LFOs + Enveloppes/LFOs + + + + Filter type + Type de filtre + + + + Cutoff frequency + Fréquence de coupure + + + + Q/Resonance + Q/Résonance + + + + Low-pass + Passe-bas + + + + Hi-pass + Passe-haut + + + + Band-pass csg + Passe-bande CSG + + + + Band-pass czpg + Passe-bande czpg + + + + Notch + Coupe-bande + + + + All-pass + Passe-tout + + + + Moog + Moog + + + + 2x Low-pass + 2x Passe-bas + + + + RC Low-pass 12 dB/oct + RC Passe-bas 12 dB/octave + + + + RC Band-pass 12 dB/oct + RC Passe-bande 12 dB/octave + + + + RC High-pass 12 dB/oct + RC Passe-haut 12 dB/octave + + + + RC Low-pass 24 dB/oct + RC Passe-bas 24 dB/octave + + + + RC Band-pass 24 dB/oct + RC Passe-bande 24 dB/octave + + + + RC High-pass 24 dB/oct + RC Passe-haut 24 dB/octave + + + + Vocal Formant + + + + + 2x Moog + 2x Moog + + + + SV Low-pass + SV Passe-bas + + + + SV Band-pass + SV Passe-bande + + + + SV High-pass + SV Passe-haut + + + + SV Notch + SV coupe-bande + + + + Fast Formant + + + + + Tripole + Tripôle - Song + lmms::InstrumentTrack - - Tempo - Tempo + + + unnamed_track + - - Master volume - Volume général + + Base note + Note de base - + + First note + Première note + + + + Last note + Dernière note + + + + Volume + Volume + + + + Panning + Panoramisation + + + + Pitch + Tonalité + + + + Pitch range + Plage de tonalité + + + + Mixer channel + Canal du mixeur + + + Master pitch Tonalité générale - - Aborting project load + + Enable/Disable MIDI CC + Activer/désactiver MIDI CC + + + + CC Controller %1 - - Project file contains local paths to plugins, which could be used to run malicious code. - + + + Default preset + Pré-réglage par défaut + + + lmms::Keymap - - Can't load project: Project file contains local paths to plugins. - - - - - LMMS Error report - Rapport d'erreur LMMS - - - - (repeated %1 times) - - - - - The following errors occurred while loading: + + empty - SongEditor + lmms::KickerInstrument - - Could not open file - Le fichier n'a pas pu être ouvert + + Start frequency + Fréquence de début - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Le fichier %1 n'a pas pu être ouvert. Vous n'avez probablement pas les droits pour lire ce fichier. -Veuillez vérifier que vous avez au moins les droits en lecture pour ce fichier et réessayez. + + End frequency + Fréquence de fin - - Operation denied + + Length + Longueur + + + + Start distortion + Début de la distorsion + + + + End distortion + Fin de la distorsion + + + + Gain + Gain + + + + Envelope slope + Pente de l'enveloppe + + + + Noise + Bruit + + + + Click + Clic + + + + Frequency slope + Pente de fréquence + + + + Start from note + Commencer à la note + + + + End to note + Finir à la note + + + + lmms::LOMMControls + + + Depth - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + Time - - - - Error - Erreur - - - - Couldn't create bundle folder. + + Input Volume - - Couldn't create resources folder. + + Output Volume - - Failed to copy resources. + + Upward Depth - - Could not write file - Le fichier n'a pas pu être écrit - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. + + Downward Depth - - This %1 was created with LMMS %2 + + High/Mid Split - - Error in file - Erreur dans le fichier + + Mid/Low Split + - - The file %1 seems to contain errors and therefore can't be loaded. - Le fichier %1 semble contenir des erreurs et ne peut donc pas être chargé. + + Enable High/Mid Split + - - Version difference - Différence de version + + Enable Mid/Low Split + - - template - modèle + + Enable High Band + - - project - projet + + Enable Mid Band + - + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + Lier les canaux + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + Le greffon LADSPA %1 demandé est inconnu. + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + Fréquence de coupure du VCF + + + + VCF Resonance + Résonance du VCF + + + + VCF Envelope Mod + Modulation de l'enveloppe du VCF + + + + VCF Envelope Decay + Decay de l'enveloppe du VCF + + + + Distortion + Distorsion + + + + Waveform + Forme d'onde + + + + Slide Decay + + + + + Slide + + + + + Accent + Accent + + + + Dead + + + + + 24dB/oct Filter + Filtre 24 dB/octave + + + + lmms::LfoController + + + LFO Controller + Contrôleur du LFO + + + + Base value + Valeur de base + + + + Oscillator speed + Vitesse de l'oscillateur + + + + Oscillator amount + Niveau de l'oscillateur + + + + Oscillator phase + Phase de l'oscillateur + + + + Oscillator waveform + Forme d'onde de l'oscillateur + + + + Frequency Multiplier + Multiplicateur de fréquence + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + Dureté + + + + Position + Position + + + + Vibrato gain + Gain du vibrato + + + + Vibrato frequency + Fréquence du vibrato + + + + Stick mix + + + + + Modulator + Modulateur + + + + Crossfade + + + + + LFO speed + Vitesse du LFO + + + + LFO depth + Profondeur du LFO + + + + ADSR + ADSR + + + + Pressure + Pression + + + + Motion + Mouvement + + + + Speed + Vitesse + + + + Bowed + + + + + Instrument + + + + + Spread + Diffusion + + + + Randomness + + + + + Marimba + Marimba + + + + Vibraphone + Vibraphone + + + + Agogo + Agogo + + + + Wood 1 + Bois 1 + + + + Reso + Résonance + + + + Wood 2 + Bois 2 + + + + Beats + Temps + + + + Two fixed + + + + + Clump + + + + + Tubular bells + Cloches tubulaires + + + + Uniform bar + Mesure uniforme + + + + Tuned bar + Mesure accordée + + + + Glass + Verre + + + + Tibetan bowl + Bol tibétain + + + + lmms::MeterModel + + + Numerator + Numérateur + + + + Denominator + Dénominateur + + + + lmms::Microtuner + + + Microtuner + Micro-tuner + + + + Microtuner on / off + Micro-tuner marche/arrêt + + + + Selected scale + Gamme sélectionné + + + + Selected keyboard mapping + Configuration du clavier sélectionné + + + + lmms::MidiController + + + MIDI Controller + Contrôleur MIDI + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + Paramétrage incomplet + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Vous n'avez pas choisi de SoundFont par défaut dans la boîte de dialogue de configuration (Éditer -> Configuration). Par conséquent aucun son ne sera joué lorsque vous aurez importé ce fichier MIDI. Vous devriez télécharger une Soundfont General MIDI, la référencer dans la configuration et réessayer. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + Vous n'avez pas compilé LMMS avec la prise en charge du lecteur SoundFont2, qui est utilisé pour ajouter un son par défaut aux fichiers MIDI importés. Par conséquent aucun son ne sera joué après l'importation de ce fichier MIDI. + + + + MIDI Time Signature Numerator + Numérateur de la signature rythmique MIDI + + + + MIDI Time Signature Denominator + Dénominateur de la signature rythmique MIDI + + + + Numerator + Numérateur + + + + Denominator + Dénominateur + + + + Tempo Tempo - - TEMPO - - - - - Tempo in BPM - - - - - High quality mode - Mode haute qualité - - - - - - Master volume - Volume général - - - - - - Master pitch - Tonalité générale - - - - Value: %1% - Valeur : %1% - - - - Value: %1 semitones - Valeur : %1 demi-tons + + Track + Piste - SongEditorWindow + lmms::MidiJack - - Song-Editor - Éditeur de morceau + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + Le serveur JACK est arrêté - - Play song (Space) - Jouer le morceau (barre d'espace) - - - - Record samples from Audio-device - Enregistrer des échantillons à partir d'un périphérique audio - - - - Record samples from Audio-device while playing song or BB track - Enregistrer des échantillons à partir d'un périphérique audio pendant l'écoute d'un morceau ou bien d'un rythme ou d'une ligne de basse - - - - Stop song (Space) - Arrêter de jouer le morceau (barre d'espace) - - - - Track actions - Actions de la piste - - - - Add beat/bassline - Ajouter un rythme ou une ligne de basse - - - - Add sample-track - Ajouter une piste d'échantillon - - - - Add automation-track - Ajouter une piste d'automation - - - - Edit actions - Actions d'édition - - - - Draw mode - Mode dessin - - - - Knife mode (split sample clips) - - - - - Edit mode (select and move) - Mode édition (sélectionner et déplacer) - - - - Timeline controls - Contrôles de la ligne de temps - - - - Bar insert controls - - - - - Insert bar - - - - - Remove bar - - - - - Zoom controls - Contrôle du zoom - - - - Horizontal zooming - Zoom horizontal - - - - Snap controls - - - - - - Clip snapping size - - - - - Toggle proportional snap on/off - - - - - Base snapping size - + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + Le serveur JACK semble avoir été coupé - StepRecorderWidget + lmms::MidiPort - - Hint - Astuce + + Input channel + Canal d'entrée - - Move recording curser using <Left/Right> arrows - + + Output channel + Canal de sortie + + + + Input controller + Contrôleur d'entrée + + + + Output controller + Contrôleur de sortie + + + + Fixed input velocity + Vélocité d'entrée fixe + + + + Fixed output velocity + Vélocité de sortie fixe + + + + Fixed output note + Note de sortie fixe + + + + Output MIDI program + Programme MIDI de sortie + + + + Base velocity + Vélocité de base + + + + Receive MIDI-events + Recevoir des événements MIDI + + + + Send MIDI-events + Envoyer des événements MIDI - SubWindow + lmms::Mixer - - Close - Fermer + + Master + Général - - Maximize - Maximiser + + + + Channel %1 + Canal %1 - - Restore - Restorer - - - - TabWidget - - - - Settings for %1 - Réglages pour %1 - - - - TemplatesMenu - - - New from template - Nouveau à partir d'un modèle - - - - TempoSyncKnob - - - - Tempo Sync - Synchronisation du tempo + + Volume + Volume - - No Sync - Pas de synchronisation - - - - Eight beats - Huit temps - - - - Whole note - Note entière - - - - Half note - Demi-note - - - - Quarter note - Quart de note - - - - 8th note - 8 ième de note - - - - 16th note - 16 ième de note - - - - 32nd note - 32 ième de note - - - - Custom... - Personnalisé... - - - - Custom - Personnalisé - - - - Synced to Eight Beats - Synchronisé sur huit temps - - - - Synced to Whole Note - Synchronisé sur note entière - - - - Synced to Half Note - Synchronisé sur demi-note - - - - Synced to Quarter Note - Synchronisé sur quart de note - - - - Synced to 8th Note - Synchronisé sur 8 ième de note - - - - Synced to 16th Note - Synchronisé sur 16 ième de note - - - - Synced to 32nd Note - Synchronisé sur 32 ième de note - - - - TimeDisplayWidget - - - Time units - - - - - MIN - MIN - - - - SEC - DEC - - - - MSEC - MSEC - - - - BAR - BAR - - - - BEAT - BATT - - - - TICK - TICK - - - - TimeLineWidget - - - Auto scrolling - - - - - Loop points - - - - - After stopping go back to beginning - - - - - After stopping go back to position at which playing was started - Revenir à la position de départ après l'arrêt - - - - After stopping keep position - Ne rien faire après l'arrêt - - - - Hint - Astuce - - - - Press <%1> to disable magnetic loop points. - Appuyez sur <%1> pour désactiver les marqueur magnétiques de jeu en boucle. - - - - Track - - + Mute Mettre en sourdine - + Solo Solo - TrackContainer + lmms::MixerRoute - - Couldn't import file - Le fichier n'a pas pu être importé + + + Amount to send from channel %1 to channel %2 + Quantité à envoyer du canal %1 au canal %2 + + + + lmms::MonstroInstrument + + + Osc 1 volume + Volume de l'oscillateur 1 - + + Osc 1 panning + Panoramisation de l'oscillateur 1 + + + + Osc 1 coarse detune + Désaccordage grossier de l'oscillateur 1 + + + + Osc 1 fine detune left + Désaccordage fin de gauche de l'oscillateur 1 + + + + Osc 1 fine detune right + Désaccordage fin de droite de l'oscillateur 1 + + + + Osc 1 stereo phase offset + Décalage de phase stéréo de l'oscillateur 1 + + + + Osc 1 pulse width + Largeur de la pulsation de l'oscillateur 1 + + + + Osc 1 sync send on rise + Synchronisation envoyée lors de la montée de l'oscillateur 1 + + + + Osc 1 sync send on fall + Synchronisation envoyée lors de la descente de l'oscillateur 1 + + + + Osc 2 volume + Volume de l'oscillateur 2 + + + + Osc 2 panning + Panoramisation de l'oscillateur 2 + + + + Osc 2 coarse detune + Désaccordage grossier de l'oscillateur 2 + + + + Osc 2 fine detune left + Désaccordage fin de gauche de l'oscillateur 2 + + + + Osc 2 fine detune right + Désaccordage fin de droite de l'oscillateur 2 + + + + Osc 2 stereo phase offset + Décalage de phase stéréo de l'oscillateur 2 + + + + Osc 2 waveform + Forme d'onde de l'oscillateur 2 + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + Volume de l'oscillateur 3 + + + + Osc 3 panning + Panoramisation de l'oscillateur 3 + + + + Osc 3 coarse detune + Désaccordage grossier de l'oscillateur 3 + + + + Osc 3 Stereo phase offset + Décalage de phase stéréo de l'oscillateur 3 + + + + Osc 3 sub-oscillator mix + Mélange du sous-oscillateur de l'oscillateur 3 + + + + Osc 3 waveform 1 + Forme d'onde 1 de l'oscillateur 3 + + + + Osc 3 waveform 2 + Forme d'onde 2 de l'oscillateur 3 + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + Forme d'onde du LFO 1 + + + + LFO 1 attack + Attaque du LFO 1 + + + + LFO 1 rate + Taux du LFO 1 + + + + LFO 1 phase + Phase du LFO 1 + + + + LFO 2 waveform + Forme d'onde du LFO 2 + + + + LFO 2 attack + Attaque du LFO 2 + + + + LFO 2 rate + Taux du LFO 2 + + + + LFO 2 phase + Phase du LFO2 + + + + Env 1 pre-delay + Pré-délai de l'enveloppe 1 + + + + Env 1 attack + Attaque de l'enveloppe 1 + + + + Env 1 hold + Maintien de enveloppe 1 + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + Pente de l'enveloppe 1 + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + Onde triangulaire à bande limitée + + + + Bandlimited Saw wave + Onde en dents-de-scie à bande limitée + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + Onde carrée à bande limitée + + + + Bandlimited Moog saw wave + Onde en dents-de-scie Moog à bande limitée + + + + + Soft square wave + + + + + Absolute sine wave + Onde sinusoïdale absolue + + + + + Exponential wave + + + + + White noise + Bruit blanc + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + Onde en dents-de-scie + + + + Ramp wave + + + + + Square wave + Onde carrée + + + + Moog saw wave + + + + + Abs. sine wave + Onde sinusoïdale absolue + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + + + + + Color + + + + + Output gain + + + + + lmms::SaControls + + + Pause + + + + + Reference freeze + + + + + Waterfall + + + + + Averaging + + + + + Stereo + + + + + Peak hold + + + + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type + + + + + Peak envelope resolution + + + + + Spectrum display resolution + + + + + Peak decay multiplier + + + + + Averaging weight + + + + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + + FFT zero padding + + + + + + Full (auto) + + + + + + + Audible + + + + + Bass + + + + + Mids + + + + + High + + + + + Extended + + + + + Loud + + + + + Silent + + + + + (High time res.) + + + + + (High freq. res.) + + + + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + + + + + Hanning + + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + + + + + Panning + + + + + Mixer channel + + + + + + Sample track + + + + + lmms::Scale + + + empty + + + + + lmms::Sf2Instrument + + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + + Cutoff frequency + + + + + Resonance + + + + + Filter type + + + + + Voice 3 off + + + + + Volume + + + + + Chip model + + + + + lmms::SlicerT + + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + + + + + Master volume + + + + + Master pitch + + + + + Aborting project load + + + + + Project file contains local paths to plugins, which could be used to run malicious code. + + + + + Can't load project: Project file contains local paths to plugins. + + + + + LMMS Error report + + + + + (repeated %1 times) + + + + + The following errors occurred while loading: + + + + + lmms::StereoEnhancerControls + + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + + + + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - Aucun filtre n'a pu être trouvé pour importer le fichier %1. -Vous devriez convertir ce fichier dans un format pris en charge par LMMS en utilisant un autre logiciel. + - + Couldn't open file - Le fichier n'a pas pu être ouvert + - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - Le fichier %1 n'a pas pu être ouvert en lecture. -Veuillez vérifier que vous avez les droits en lecture pour ce fichier et le répertoire qui contient ce fichier et réessayez ! + - + Loading project... - Chargement du projet... + - - + + Cancel - Annuler + - - + + Please wait... - Veuillez patienter... + - + Loading cancelled - Chargement annulé + - + Project loading was cancelled. - Le chargement du projet a été annulé. + - + Loading Track %1 (%2/Total %3) - Chargement de la piste %1 (%2/Total %3) + - + Importing MIDI-file... - Importation du fichier MIDI... + - Clip + lmms::TripleOscillator - - Mute - Mettre en sourdine + + Sample not found + - ClipView + lmms::VecControls - + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + Current position - Position actuelle + - + Current length - Longueur actuelle + - - + + %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 vers %5:%6) + - + Press <%1> and drag to make a copy. - Appuyez sur <%1> et glissez pour faire une copie. + - + Press <%1> for free resizing. - Appuyez sur <%1> pour un redimensionnement libre. + - + Hint - Astuce + - + Delete (middle mousebutton) - Supprimer (bouton du milieu de la souris) + - + Delete selection (middle mousebutton) - + Cut - Couper + - + Cut selection - + Merge Selection - + Copy - Copier + - + Copy selection - + Paste - Coller + - + Mute/unmute (<%1> + middle click) - Sourdine (ou non) (<%1> + clic-milieu) + - + Mute/unmute selection (<%1> + middle click) - - Set clip color + + Clip color - - Use track color + + Change + + + + + Reset + + + + + Pick random - TrackContentWidget + lmms::gui::CompressorControlDialog - + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + + + + + lmms::gui::StepRecorderWidget + + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - Coller + - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13745,257 +18002,249 @@ Veuillez vérifier que vous avez les droits en lecture pour ce fichier et le ré Mute - Mode sourdine + Solo - Mode solo + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Cloner cette piste - - - - Remove this track - Supprimer cette piste - - - - Clear this track - Vider cette piste - - - - Channel %1: %2 - Effet %1 : %2 - - - - Assign to new mixer Channel - Assigner à un nouveau canal d'effet - - - - Turn all recording on - Armer tous les enregistrements - - - - Turn all recording off - Désarmer tous les enregistrements - - - - Change color - Modifier la couleur - - - - Reset color to default - Réinitialiser la couleur par défaut - - - - Set random color - - Clear clip colors + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - Moduler la phase de l'oscillateur 1 par l'oscillateur 2 + - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - Synchroniser l'oscillateur 1 avec l'oscillateur 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - Synchroniser l'oscillateur 2 avec l'oscillateur 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Volume de l'oscillateur %1 : + - + Osc %1 panning: - Panoramisation de l'oscillateur %1 : + - - Osc %1 coarse detuning: - Désaccordage grossier de l'oscillateur %1 : - - - - semitones - demi-tons - - - - Osc %1 fine detuning left: - Désaccordage fin (gauche) de l'oscillateur %1 : - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - centièmes + - + Osc %1 fine detuning right: - Désaccordage fin (droite) de l'oscillateur %1 : + - + Osc %1 phase-offset: - Décalage de phase de l'oscillateur %1 : + - - + + degrees - degrés + - + Osc %1 stereo phase-detuning: - Désaccordage stéréo de la phase de l'oscillateur %1 : + - + Sine wave - Onde sinusoïdale + - + Triangle wave - Onde triangulaire + - + Saw wave - Onde en dents-de-scie + - + Square wave - Onde carrée + - + Moog-like saw wave - + Exponential wave - Onde exponentielle + - + White noise - Bruit blanc + - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -14010,2618 +18259,782 @@ Veuillez vérifier que vous avez les droits en lecture pour ce fichier et le ré - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Incrémenter le numéro de version - + lmms::gui::VersionedSaveDialog - Decrement version number - Décrémenter le numéro de version + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - existe déjà. Souhaitez-vous le remplacer ? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - Ouvrir un plugin VST + - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Précédent (-) + - + Save preset - Enregistrer le pré-réglage + - + Next (+) - Suivant (+) + - + Show/hide GUI - Montrer l'interface graphique + - + Turn off all notes - Stopper toutes les notes + - + DLL-files (*.dll) - Fichiers DLL (*.dll) + - + EXE-files (*.exe) - Fichiers EXE (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - Pré-réglage + - + by - par + - + - VST plugin control - - contrôle de greffon VST + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - Montrer/cacher + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Précédent (-) + - + Next (+) - Suivant (+) + - + Save preset - Enregistrer le pré-réglage + - - + + Effect by: - Effet par : + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - Le greffon "%1" n'a pas pu être chargé. + + + + + Volume + - - Open Preset - Ouvrir le pré-réglage - - - - - Vst Plugin Preset (*.fxp *.fxb) - Pré-réglage de greffon VST (*.fxp *.fxb) - - - - : default - : défaut - - - - Save Preset - Enregistrer le pré-réglage - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Chargement du greffon - - - - Please wait while loading VST plugin... - Veuillez patienter pendant le chargement du greffon VST... - - - - WatsynInstrument - - - Volume A1 - Volume A1 - - - - Volume A2 - Volume A2 - - - - Volume B1 - Volume B1 - - - - Volume B2 - Volume B2 - - - - Panning A1 - Panoramisation A1 - - - - Panning A2 - Panoramisation A2 - - - - Panning B1 - Panoramisation B1 - - - - Panning B2 - Panoramisation B2 - - - - Freq. multiplier A1 - Multiplicateur de fréquence A1 - - - - Freq. multiplier A2 - Multiplicateur de fréquence A2 - - - - Freq. multiplier B1 - Multiplicateur de fréquence B1 - - - - Freq. multiplier B2 - Multiplicateur de fréquence B2 - - - - Left detune A1 - Dé-réglage gauche A1 - - - - Left detune A2 - Dé-réglage gauche A2 - - - - Left detune B1 - Dé-réglage gauche B1 - - - - Left detune B2 - Dé-réglage gauche B2 - - - - Right detune A1 - Dé-réglage droit A1 - - - - Right detune A2 - Dé-réglage droit A2 - - - - Right detune B1 - Dé-réglage droit B1 - - - - Right detune B2 - Dé-réglage droit B2 - - - - A-B Mix - Mélange A-B - - - - A-B Mix envelope amount - Niveau de mélange d'enveloppe A-B - - - - A-B Mix envelope attack - Niveau de mélange d'attaque d'enveloppe A-B - - - - A-B Mix envelope hold - Niveau de mélange du maintien d'enveloppe A-B - - - - A-B Mix envelope decay - Niveau de mélange de l'affaiblissement (decay) d'enveloppe A-B - - - - A1-B2 Crosstalk - Diaphonie A1-B2 - - - - A2-A1 modulation - Modulation A2-A1 - - - - B2-B1 modulation - Modulation B2-B1 - - - - Selected graph - Graphique sélectionné - - - - WatsynView - + + - - - Volume - Volume + Panning + + + - - - Panning - Panoramisation + Freq. multiplier + + + - - - Freq. multiplier - Multiplicateur de fréquence - - - - - - Left detune - Déréglage gauche + + + + + + + - - - - - - cents - centièmes + + + + + + + + Right detune + + + + + A-B Mix + - - - - Right detune - Déréglage droite - - - - A-B Mix - Mélange A-B - - - Mix envelope amount - Niveau de mélange d'enveloppe + - + Mix envelope attack - Mélanger l'attaque d'enveloppe + - + Mix envelope hold - Mélanger le maintien d'enveloppe + - + Mix envelope decay - Mélanger la descente d'enveloppe + - + Crosstalk - Diaphonie + - + Select oscillator A1 - Sélectionner l'oscillateur A1 + - + Select oscillator A2 - Sélectionner l'oscillateur A2 + - + Select oscillator B1 - Sélectionner l'oscillateur B1 + - + Select oscillator B2 - Sélectionner l'oscillateur B2 + - + Mix output of A2 to A1 - Mélanger la sortie de A2 dans A1 + - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - Mélanger la sortie de B2 dans B1 + - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Dessinez ici votre propre forme d'onde en faisant glisser votre souris sur ce graphique. + - + Load waveform - Charger la forme d'onde + - + Load a waveform from a sample file - + Phase left - Phase gauche + - + Shift phase by -15 degrees - + Phase right - Phase droite + - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - Normaliser - - - - Invert - Inverser + - - + + Smooth - Adoucir + - - + + Sine wave - Onde sinusoïdale + - - - + + + Triangle wave - Onde triangulaire + - + Saw wave - Onde en dents-de-scie + - - + + Square wave - Onde carrée - - - - Xpressive - - - Selected graph - Graphique sélectionné - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - Adoucissement W1 - - - - W2 smoothing - Adoucissement W2 - - - - W3 smoothing - Adoucissement W3 - - - - Panning 1 - Panoramique 1 - - - - Panning 2 - Panoramique 2 - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - - Draw your own waveform here by dragging your mouse on this graph. - Dessinez ici votre propre forme d'onde en faisant glisser votre souris sur ce graphique. - - - - Select oscillator W1 - Sélectionner l'oscillateur W1 - - - - Select oscillator W2 - Sélectionner l'oscillateur W2 - - - - Select oscillator W3 - Sélectionner l'oscillateur W3 - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - Ouvrir la fenêtre d'aide - - - - - Sine wave - Onde sinusoïdale - - - - - Moog-saw wave - - - - - - Exponential wave - Onde exponentielle - - - - - Saw wave - Onde en dents-de-scie - - - - - User-defined wave - - - - - - Triangle wave - Onde triangulaire - - - - - Square wave - Onde carrée - - - - - White noise - Bruit blanc - - - - WaveInterpolate - WaveInterpolate - - - - ExpressionValid - ExpressionValid - - - - General purpose 1: - Universel 1 : - - - - General purpose 2: - Universel 2 : - - - - General purpose 3: - Universel 3 : - - - - O1 panning: - Panoramisation 01 : - - - - O2 panning: - Panoramisation 02 : - - - - Release transition: - Transition de relâche : - - - - Smoothness - Adoucissement - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Largeur de bande - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - Portamento : - - - - PORT - PORT - - - - Filter frequency: - - - - - FREQ - FRÉQ - - - - Filter resonance: - - - - - RES - RES - - - - Bandwidth: - Bande passante : - - - - BW - LB - - - - FM gain: - - - - - FM GAIN - GAIN FM - - - - Resonance center frequency: - Fréquence centrale de la résonance : - - - - RES CF - RES CF - - - - Resonance bandwidth: - Largeur de bande de la résonance : - - - - RES BW - RES BW - - - - Forward MIDI control changes - - - - - Show GUI - Montrer l'interface graphique - - - - AudioFileProcessor - - - Amplify - Amplifier - - - - Start of sample - Début de l'échantillon - - - - End of sample - Fin de l'échantillon - - - - Loopback point - Point de bouclage - - - - Reverse sample - Inverser l'échantillon - - - - Loop mode - Mode de jeu en boucle - - - - Stutter - Bégaiement - - - - Interpolation mode - Mode interpolation - - - - None - Aucun - - - - Linear - Linéaire - - - - Sinc - Sync - - - - Sample not found: %1 - Échantillon %1 non trouvé - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - Dessinez ici votre propre forme d'onde en faisant glisser votre souris sur ce graphique. - - - - - Sine wave - Onde sinusoïdale - - - - - Triangle wave - Onde triangulaire - - - - - Saw wave - Onde en dents-de-scie - - - - - Square wave - Onde carrée - - - - - White noise - Bruit blanc - - - - - User-defined wave - - - - - - Smooth waveform - Forme d'onde adoucie - - - - Interpolation - Interpolation - - - - Normalize - Normaliser - - - - DynProcControlDialog - - + INPUT - ENTRÉE + - + Input gain: - Gain en entrée : + - + OUTPUT - SORTIE - - - - Output gain: - Gain en sortie : - - - - ATTACK - ATTAQUE - - - - Peak attack time: - Temps d'attaque du pic : - - - - RELEASE - RELÂCHEMENT - - - - Peak release time: - Temps de relâchement : - - - - - Reset wavegraph - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - Traitement basé sur le maximum des deux canaux stéréo - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - Traitement basé sur la moyenne des deux canaux stéréo - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - Traiter chaque canal stéréo indépendamment - - - - DynProcControls - - - Input gain - Gain en entrée - - - - Output gain - Gain en sortie - - - - Attack time - Temps d'attaque - - - - Release time - Temps de relâchement - - - - Stereo mode - Mode stéréo - - - - graphModel - - - Graph - Graphique - - - - KickerInstrument - - - Start frequency - Fréquence de début - - - - End frequency - Fréquence de fin - - - - Length - Longueur - - - - Start distortion - - - - - End distortion - - - - - Gain - Gain - - - - Envelope slope - - - - - Noise - Bruit - - - - Click - Clic - - - - Frequency slope - - - - - Start from note - Commencer à la note - - - - End to note - Finir à la note - - - - KickerInstrumentView - - - Start frequency: - Fréquence de début : - - - - End frequency: - Fréquence de fin : - - - - Frequency slope: - - - - - Gain: - Gain : - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Clic : - - - - Noise: - Bruit : - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Effets disponibles - - - - - Unavailable Effects - Effets indisponibles - - - - - Instruments - Instruments - - - - - Analysis Tools - Outils d'analyse - - - - - Don't know - Divers - - - - Type: - Type : - - - - LadspaDescription - - - Plugins - Greffons - - - - Description - Description - - - - LadspaPortDialog - - - Ports - Ports - - - - Name - Nom - - - - Rate - Vitesse - - - - Direction - Sens - - - - Type - Type - - - - Min < Default < Max - Min < par défaut < Max - - - - Logarithmic - Logarithmique - - - - SR Dependent - Dépendant du taux d'échantillonnage - - - - Audio - Audio - - - - Control - Contrôle - - - - Input - Entrée - - - - Output - Sortie - - - - Toggled - Permuté - - - - Integer - Entier - - - - Float - Flottant - - - - - Yes - Oui - - - - Lb302Synth - - - VCF Cutoff Frequency - Fréquence de coupure du VCF - - - - VCF Resonance - Résonance du VCF - - - - VCF Envelope Mod - Modulation de l'enveloppe du VCF - - - - VCF Envelope Decay - Affaiblissement (decay) de l'enveloppe du VCF - - - - Distortion - Distorsion - - - - Waveform - Forme d'onde - - - - Slide Decay - Affaiblissement (decay) glissant - - - - Slide - Liaison - - - - Accent - Accent - - - - Dead - Éteint - - - - 24dB/oct Filter - Filtre 24 dB/oct - - - - Lb302SynthView - - - Cutoff Freq: - Fréquence de coupure : - - - - Resonance: - Résonance : - - - - Env Mod: - Modulation de l'enveloppe : - - - - Decay: - Affaiblissement : - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-esque, 24 dB/octave, filtre à 3 pôles - - - - Slide Decay: - Affaiblissement glissant : - - - - DIST: - DIST : - - - - Saw wave - Onde en dents-de-scie - - - - Click here for a saw-wave. - Cliquez ici pour une onde en dents-de-scie. - - - - Triangle wave - Onde triangulaire - - - - Click here for a triangle-wave. - Cliquez ici pour une onde triangulaire. - - - - Square wave - Onde carrée - - - - Click here for a square-wave. - Cliquez ici pour une onde carrée. - - - - Rounded square wave - Onde carrée arrondie - - - - Click here for a square-wave with a rounded end. - Cliquez ici pour une onde carrée avec une fin arrondie. - - - - Moog wave - Onde Moog - - - - Click here for a moog-like wave. - Cliquez ici pour une onde de type Moog. - - - - Sine wave - Onde sinusoïdale - - - - Click for a sine-wave. - Cliquez ici pour une onde sinusoïdale. - - - - - White noise wave - Bruit blanc - - - - Click here for an exponential wave. - Cliquez ici pour une onde exponentielle. - - - - Click here for white-noise. - Cliquez ici pour un bruit blanc. - - - - Bandlimited saw wave - Onde en dents-de-scie à bande limitée - - - - Click here for bandlimited saw wave. - Cliquez ici pour une onde en dents-de-scie à bande limitée. - - - - Bandlimited square wave - Onde carrée à bande limitée - - - - Click here for bandlimited square wave. - Cliquez ici pour une onde carrée à bande limitée. - - - - Bandlimited triangle wave - Onde triangulaire à bande limitée - - - - Click here for bandlimited triangle wave. - Cliquez ici pour une onde triangulaire à bande limitée. - - - - Bandlimited moog saw wave - Onde en dents-de-scie Moog à bande limitée - - - - Click here for bandlimited moog saw wave. - Cliquez ici pour une onde en dents-de-scie de type Moog à bande limitée. - - - - MalletsInstrument - - - Hardness - Dureté - - - - Position - Position - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Modulateur - - - - Crossfade - Fondu enchainé - - - - LFO speed - Vitesse du LFO - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - Pression - - - - Motion - Mouvement - - - - Speed - Vitesse - - - - Bowed - Courbé - - - - Spread - Diffusion - - - - Marimba - Marimba - - - - Vibraphone - Vibraphone - - - - Agogo - Agogo - - - - Wood 1 - - - - - Reso - Réso - - - - Wood 2 - - - - - Beats - Battements - - - - Two fixed - - - - - Clump - Bruit lourd - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - Verre - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Instrument - - - - Spread - Diffusion - - - - Spread: - Diffusion : - - - - Missing files - Fichiers manquants - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Votre installation de STK semble incomplète. Veuillez vous assurer que le paquet STK complet est installé ! - - - - Hardness - Dureté - - - - Hardness: - Dureté : - - - - Position - Position - - - - Position: - Position : - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Modulateur - - - - Modulator: - Modulateur : - - - - Crossfade - Fondu enchainé - - - - Crossfade: - Fondu enchainé : - - - - LFO speed - Vitesse du LFO - - - - LFO speed: - Vitesse du LFO : - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - ADSR : - - - - Pressure - Pression - - - - Pressure: - Pression : - - - - Speed - Vitesse - - - - Speed: - Vitesse : - - - - ManageVSTEffectView - - - - VST parameter control - - Paramètre de contrôle VST - - - - VST sync - - - - - - Automated - Automatique - - - - Close - Fermer - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - contrôle de greffon VST - - - - VST Sync - VST Sync - - - - - Automated - Automatique - - - - Close - Fermer - - - - OrganicInstrument - - - Distortion - Distorsion - - - - Volume - Volume - - - - OrganicInstrumentView - - - Distortion: - Distorsion : - - - - Volume: - Volume : - - - - Randomise - Randomiser - - - - - Osc %1 waveform: - Form d'onde de l'oscillateur %1 : - - - - Osc %1 volume: - Volume de l'oscillateur %1 : - - - - Osc %1 panning: - Panoramisation de l'oscillateur %1 : - - - - Osc %1 stereo detuning - Dé-réglage stéréo de l'oscillateur %1 - - - - cents - centièmes - - - - Osc %1 harmonic: - Harmonique de l'oscillateur %1 : - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth : pré-réglage de canal - - - - Bank selector - Sélecteur de banque - - - - Bank - Banque - - - - Program selector - Sélecteur de programme - - - - Patch - Patch - - - - Name - Nom - - - - OK - OK - - - - Cancel - Annuler - - - - Sf2Instrument - - - Bank - Banque - - - - Patch - Son - - - - Gain - Gain - - - - Reverb - Réverbération - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - Chorus - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - La banque de sons %1 n'a pu être chargée. - - - - Sf2InstrumentView - - - - Open SoundFont file - Ouvrir un fichier SoundFont - - - - Choose patch - - - - - Gain: - Gain : - - - - Apply reverb (if supported) - Appliquer la réverbération (si prise en charge) - - - - Room size: - - - - - Damping: - - - - - Width: - Ampleur : - - - - - Level: - - - - - Apply chorus (if supported) - Appliquer le chorus (si pris en charge) - - - - Voices: - - - - - Speed: - Vitesse : - - - - Depth: - Profondeur : - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Ampleur : - - - - StereoEnhancerControls - - - Width - Ampleur - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Volume de gauche à gauche : - - - - Left to Right Vol: - Volume de gauche à droite : - - - - Right to Left Vol: - Volume de droite à gauche : - - - - Right to Right Vol: - Volume de droite à droite : - - - - StereoMatrixControls - - - Left to Left - Gauche à gauche - - - - Left to Right - Gauche à droite - - - - Right to Left - Droite à gauche - - - - Right to Right - Droite à droite - - - - VestigeInstrument - - - Loading plugin - Chargement du greffon - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - Volume de la corde %1 - - - - String %1 stiffness - Rigidité de la corde %1 - - - - Pick %1 position - Position du micro %1 - - - - Pickup %1 position - Position du micro %1 - - - - String %1 panning - Panoramique de la corde %1 - - - - String %1 detune - Désaccordage de la corde %1 - - - - String %1 fuzziness - Flou de la corde %1 - - - - String %1 length - Longueur de la corde %1 - - - - Impulse %1 - Pulsation %1 - - - - String %1 - Corde %1 - - - - VibedView - - - String volume: - Volume de la corde : - - - - String stiffness: - Rigidité de la corde : - - - - Pick position: - Point de contact : - - - - Pickup position: - Point d'écoute : - - - - String panning: - Panoramique de la corde : - - - - String detune: - Désaccordage de la corde : - - - - String fuzziness: - Flou de la corde : - - - - String length: - Longueur de la corde : - - - - Impulse - - - - - Octave - Octave - - - - Impulse Editor - Éditeur d'impulsion - - - - Enable waveform - Activer la forme d'onde - - - - Enable/disable string - Activer/désactiver la corde - - - - String - Corde - - - - - Sine wave - Onde sinusoïdale - - - - - Triangle wave - Onde triangulaire - - - - - Saw wave - Onde en dents-de-scie - - - - - Square wave - Onde carrée - - - - - White noise - Bruit blanc - - - - - User-defined wave - - - - - - Smooth waveform - Forme d'onde adoucie - - - - - Normalize waveform - Normaliser la forme d'onde - - - - VoiceObject - - - Voice %1 pulse width - Largeur de pulsation de la voix %1 - - - - Voice %1 attack - Attaque de la voix %1 - - - - Voice %1 decay - Affaiblissement de la voix %1 - - - - Voice %1 sustain - Soutien de la voix %1 - - - - Voice %1 release - Relâchement de la voix %1 - - - - Voice %1 coarse detuning - Désaccordage grossier de la voix %1 - - - - Voice %1 wave shape - Forme d'onde de la voix %1 - - - - Voice %1 sync - Synchronisation de la voix %1 - - - - Voice %1 ring modulate - Modulation en anneaux de la voix %1 - - - - Voice %1 filtered - Voix %1 filtrée - - - - Voice %1 test - Test de la voix %1 - - - - WaveShaperControlDialog - - - INPUT - ENTRÉE - - - - Input gain: - Gain en entrée : - - - - OUTPUT - SORTIE - - - - Output gain: - Gain en sortie : - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - Couper le signal d'entrée + - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Gain en entrée + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Gain en sortie + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + Portamento : + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + Bande passante : + + + + BW + + + + + FM gain: + Gain FM : + + + + FM GAIN + GAIN FM + + + + Resonance center frequency: + Fréquence centrale de la résonance : + + + + RES CF + + + + + Resonance bandwidth: + Largeur de bande de la résonance : + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + Montrer l'interface graphique + + + \ No newline at end of file diff --git a/data/locale/he.ts b/data/locale/he.ts index 2699b7e1a..2789aa3d7 100644 --- a/data/locale/he.ts +++ b/data/locale/he.ts @@ -1,10 +1,10 @@ - + AboutDialog About LMMS - אודות LMMS + על אודות LMMS @@ -19,18 +19,17 @@ About - אודות + על אודות LMMS - easy music production for everyone. - LMMS - יצירת מוסיקה פשוטה עבור כולם + LMMS - הפקת מוזיקה פשוטה לכולם. Copyright © %1. - כל הזכויות שמורות © %1. - + כל הזכויות שמורות © %1 @@ -45,12 +44,12 @@ Involved - להשתתף + שותפים Contributors ordered by number of commits: - מפתחים מסודרים לפי מספר התרומות: + התורמים מסודרים לפי מספר התרומות: @@ -61,819 +60,53 @@ Current language not translated (or native English). If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! - + אין תרגום לשפה הנוכחית (או שהתוכנה בשפה האנגלית). +אם יש לך עניין בתרגום LMMS לשפה אחרת או בשיפור התרגומים הקיימים, נשמח לקבל ממך עזרה! כל מה שצריך לעשות הוא פשוט לפנות למתחזק! License - רשיון + רישיון - AmplifierControlDialog + AboutJuceDialog - - VOL - ווליום - - - - Volume: - ווליום: - - - - PAN + + About JUCE - - Panning: + + <b>About JUCE</b> - - LEFT - שמאל - - - - Left gain: + + This program uses JUCE version 3.x.x. - - RIGHT - ימין + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + - - Right gain: + + This program uses JUCE version - AmplifierControls + AudioDeviceSetupWidget - - Volume - ווליום - - - - Panning - - - - - Left gain - - - - - Right gain - - - - - AudioAlsaSetupWidget - - - DEVICE - התקן - - - - CHANNELS - ערוצים - - - - AudioFileProcessorView - - - Open sample - - - - - Reverse sample - - - - - Disable loop - השבת לופ - - - - Enable loop - אפשר לופ - - - - Enable ping-pong loop - - - - - Continue sample playback across notes - - - - - Amplify: - - - - - Start point: - - - - - End point: - - - - - Loopback point: - - - - - AudioFileProcessorWaveView - - - Sample length: - - - - - AudioJack - - - JACK client restarted - - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - - - - - JACK server down - - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - - - - - Client name - - - - - Channels - - - - - AudioOss - - - Device - - - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - &איפוס (%1%2) - - - - &Copy value (%1%2) - &העתק ערך (%1%2) - - - - &Paste value (%1%2) - &הדבק ערך (%1%2) - - - - &Paste value - &הדבק ערך - - - - Edit song-global automation - ערוך אוטומציה גלובאלית - - - - Remove song-global automation - מחק אוטומציה גלובלית - - - - Remove all linked controls - - - - - Connected to %1 - - - - - Connected to controller - - - - - Edit connection... - - - - - Remove connection - - - - - Connect to controller... - - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - - - - - Stop playing of current clip (Space) - - - - - Edit actions - - - - - Draw mode (Shift+D) - - - - - Erase mode (Shift+E) - - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - - - - - Flip horizontally - - - - - Interpolation controls - - - - - Discrete progression - - - - - Linear progression - - - - - Cubic Hermite progression - - - - - Tension value for spline - - - - - Tension: - - - - - Zoom controls - - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization controls - - - - - Quantization - - - - - - Automation Editor - no clip - - - - - - Automation Editor - %1 - - - - - Model is already connected to this clip. - - - - - AutomationClip - - - Drag a control while pressing <%1> - - - - - AutomationClipView - - - Open in Automation editor - - - - - Clear - נקה - - - - Reset name - - - - - Change name - - - - - Set/clear record - - - - - Flip Vertically (Visible) - - - - - Flip Horizontally (Visible) - - - - - %1 Connections - - - - - Disconnect "%1" - - - - - Model is already connected to this clip. - - - - - AutomationTrack - - - Automation track - - - - - PatternEditor - - - Beat+Bassline Editor - - - - - Play/pause current beat/bassline (Space) - - - - - Stop playback of current beat/bassline (Space) - - - - - Beat selector - - - - - Track and step actions - - - - - Add beat/bassline - - - - - Clone beat/bassline clip - - - - - Add sample-track - - - - - Add automation-track - - - - - Remove steps - - - - - Add steps - - - - - Clone Steps - - - - - PatternClipView - - - Open in Beat+Bassline-Editor - - - - - Reset name - - - - - Change name - - - - - PatternTrack - - - Beat/Bassline %1 - - - - - Clone of %1 - - - - - BassBoosterControlDialog - - - FREQ - - - - - Frequency: - - - - - GAIN - - - - - Gain: - - - - - RATIO - - - - - Ratio: - - - - - BassBoosterControls - - - Frequency - - - - - Gain - - - - - Ratio - - - - - BitcrushControlDialog - - - IN - - - - - OUT - - - - - - GAIN - - - - - Input gain: - - - - - NOISE - - - - - Input noise: - - - - - Output gain: - - - - - CLIP - - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - - - - - Sample rate: - - - - - STEREO - - - - - Stereo difference: - - - - - QUANT - - - - - Levels: - - - - - BitcrushControls - - - Input gain - - - - - Input noise - - - - - Output gain - - - - - Output clip - - - - - Sample rate - קצב דגימה - - - - Stereo difference - - - - - Levels - - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -882,142 +115,142 @@ If you're interested in translating LMMS in another language or want to imp About Carla - + על אודות Carla About - אודות + על אודות About text here - + על אודות "טקסט כאן" Extended licensing here - + פרטי רישיון מורחבים כאן - + Artwork - + עבודות אומנות - + Using KDE Oxygen icon set, designed by Oxygen Team. - + נעשה שימוש בערכת הסמלים Oxygen של KDE, שעוצבה על ידי צוות Oxygen. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + תודותינו המיוחדות נתונות לאנטוניו סראיבה (António Saraiva) על מעט סמלים נוספים ועבודות אומנות שהכין! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + תכונות - + AU/AudioUnit: - + LADSPA: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + כתובות מארחים: - + Valid commands: - + valid osc commands here - + Example: - + דוגמה: - + License - רשיון + רישיון - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1302,50 +535,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + גרסת התוסף - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1375,562 +608,600 @@ POSSIBILITY OF SUCH DAMAGES. Loading... + מתבצעת טעינה... + + + + Save - + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help + ע&זרה + + + + Tool Bar - - toolBar - - - - + Disk - + כונן - - + + Home - + בית - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + 000'000'000 - + Time: - + 00:00:00 - + 00:00:00 - + BBT: - + 000|00|0000 - + 000|00|0000 - + Settings - + הגדרות - + BPM - + Use JACK Transport - + Use Ableton Link - + &New - + Ctrl+N - + Ctrl+N - + &Open... - + &פתיחה... - - + + Open... - + פתיחה... - + Ctrl+O - + Ctrl+O - + &Save - + &שמירה - + Ctrl+S - + Ctrl+S - + Save &As... - + ש&מירה בשם... - - + + Save As... - + שמירה בשם... - + Ctrl+Shift+S - + &Quit - + י&ציאה - + Ctrl+Q - + Ctrl+Q - + &Start - + F5 - + F5 - + St&op - + F6 - + F6 - + &Add Plugin... - + Ctrl+A - + Ctrl+A - + &Remove All - + לה&סיר הכול - + Enable - + הפעלה - + Disable - + השבתה - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + ני&גון - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + התקרבות - + Ctrl++ - + Ctrl++ - + Zoom Out - + התרחקות - + Ctrl+- - + Ctrl+- - + Zoom 100% - + תקריב של 100% - + Ctrl+1 - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + על &אודות - + About &JUCE - + על או&דות JUCE - + About &Qt - + על אודו&ת Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - + ייצוא בשם... - - - - + + + + Error - + שגיאה - + Failed to load project - + טעינת המיזם נכשלה - + Failed to save project - + שמירת המיזם נכשלה - + Quit - + יציאה - + Are you sure you want to quit Carla? - + לצאת מ־Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + אזהרה - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - - - - CarlaInstrumentView - - - Show GUI - + חלק מהתוספים עדיין פועלים, יש להסירם כדי לכבות את המנוע. +לעשות זאת כעת? @@ -1938,7 +1209,7 @@ Do you want to do this now? Settings - + הגדרות @@ -1983,35 +1254,35 @@ Do you want to do this now? Widget - + יישומון - + Main - + Canvas - + Engine - + מנוע File Paths - + נתיבי קובץ Plugin Paths - + נתיבי תוסף @@ -2020,912 +1291,3556 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths - + נתיבים - + Default project folder: - + Interface + ממשק + + + + Use "Classic" as default rack skin - + Interface refresh interval: - - + + ms - + מ״ש - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + ערכת נושא - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + ערכת צבעים: - + Black - + צבע שחור - + System - + מערכת - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + ערכת נושא: - + Size: - + גודל: - + 775x600 - + 775x600 - + 1550x1200 - - - - - 3100x2400 - - - - - 4650x3600 - - - - - 6200x4800 - + 1550x1200 - Options + 3100x2400 + 3100x2400 + + + + 4650x3600 + 4650x3600 + + + + 6200x4800 + 6200x4800 + + + + 12400x9600 - + + Options + אפשרויות + + + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + החלקת עקומות - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - + <b>מנוע</b> - - + + Core - + Single Client - + לקוח יחיד - + Multiple Clients - + לקוחות מרובים - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio - + שמע - + MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - + הוספה... - - + + Remove - + הסרה - - + + Change... - + שינוי... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + נסיגה: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path + הוספת נתיב + + + + Dialog + + + Carla Control - Connect + + + + + Remote setup + + + + + UDP Port: + + + + + Remote host: + + + + + TCP Port: + + + + + Set value + + + + + TextLabel + + + + + Scale Points - CompressorControlDialog + DriverSettingsW - - Threshold: + + Driver Settings - - Volume at which the compression begins to take place + + Device: - - Ratio: + + Buffer size: - - How far the compressor must turn the volume down after crossing the threshold + + Sample rate: - - Attack: + + Triple buffer - - Speed at which the compressor starts to compress the audio + + Show Driver Control Panel - - Release: + + Restart the engine to load the new settings + יש להפעיל את המנוע מחדש לטעינת ההגדרות החדשות + + + + ExportProjectDialog + + + Export project - - Speed at which the compressor ceases to compress the audio + + Export as loop (remove extra bar) - - Knee: + + Export between loop markers - - Smooth out the gain reduction curve around the threshold + + Render Looped Section: - - Range: + + time(s) - - Maximum gain reduction + + File format settings + הגדרות פורמט קובץ + + + + File format: + פורמט קובץ: + + + + Sampling rate: + קצב דגימה: + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + 88200 Hz + 88200 Hz + + + + 96000 Hz + 96000 Hz + + + + 192000 Hz + 192000 Hz + + + + Bit depth: - - Lookahead Length: + + 16 Bit integer - - How long the compressor has to react to the sidechain signal ahead of time + + 24 Bit integer - - Hold: + + 32 Bit float - - Delay between attack and release stages + + Stereo mode: + מצב סטריאו: + + + + Mono + מונו + + + + Stereo + סטריאו + + + + Joint stereo - - RMS Size: + + Compression level: + רמת כיווץ: + + + + Bitrate: - - Size of the RMS buffer + + 64 KBit/s - - Input Balance: + + 128 KBit/s - - Bias the input audio to the left/right or mid/side + + 160 KBit/s - - Output Balance: + + 192 KBit/s - - Bias the output audio to the left/right or mid/side + + 256 KBit/s - - Stereo Balance: + + 320 KBit/s - - Bias the sidechain signal to the left/right or mid/side + + Use variable bitrate - - Stereo Link Blend: + + Quality settings + הגדרות איכות + + + + Interpolation: - - Blend between unlinked/maximum/average/minimum stereo linking modes + + Zero order hold - - Tilt Gain: + + Sinc worst (fastest) - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + Sinc medium (recommended) - - Tilt Frequency: + + Sinc best (slowest) - - Center frequency of sidechain tilt filter + + Start + התחלה + + + + Cancel + ביטול + + + + InstrumentFunctionNoteStacking + + + octave - - Mix: + + + Major - - Balance between wet and dry signals + + Majb5 - - Auto Attack: + + minor - - Automatically control attack value depending on crest factor + + minb5 - - Auto Release: + + sus2 - - Automatically control release value depending on crest factor + + sus4 - - Output gain + + aug - - + + augsus4 + + + + + tri + + + + + 6 + + + + + 6sus4 + + + + + 6add9 + + + + + m6 + + + + + m6add9 + + + + + 7 + + + + + 7sus4 + + + + + 7#5 + 7#5 + + + + 7b5 + + + + + 7#9 + 7#9 + + + + 7b9 + + + + + 7#5#9 + 7#5#9 + + + + 7#5b9 + 7#5b9 + + + + 7b5b9 + + + + + 7add11 + + + + + 7add13 + + + + + 7#11 + 7#11 + + + + Maj7 + + + + + Maj7b5 + + + + + Maj7#5 + Maj7#5 + + + + Maj7#11 + Maj7#11 + + + + Maj7add13 + + + + + m7 + m7 + + + + m7b5 + m7b5 + + + + m7b9 + m7b9 + + + + m7add11 + m7add11 + + + + m7add13 + m7add13 + + + + m-Maj7 + m-Maj7 + + + + m-Maj7add11 + m-Maj7add11 + + + + m-Maj7add13 + m-Maj7add13 + + + + 9 + 9 + + + + 9sus4 + 9sus4 + + + + add9 + add9 + + + + 9#5 + 9#5 + + + + 9b5 + 9b5 + + + + 9#11 + 9#11 + + + + 9b13 + 9b13 + + + + Maj9 + Maj9 + + + + Maj9sus4 + Maj9sus4 + + + + Maj9#5 + Maj9#5 + + + + Maj9#11 + Maj9#11 + + + + m9 + m9 + + + + madd9 + madd9 + + + + m9b5 + m9b5 + + + + m9-Maj7 + m9-Maj7 + + + + 11 + 11 + + + + 11b9 + 11b9 + + + + Maj11 + Maj11 + + + + m11 + m11 + + + + m-Maj11 + m-Maj11 + + + + 13 + 13 + + + + 13#9 + 13#9 + + + + 13b9 + 13b9 + + + + 13b5b9 + 13b5b9 + + + + Maj13 + + + + + m13 + m13 + + + + m-Maj13 + m-Maj13 + + + + Harmonic minor + + + + + Melodic minor + + + + + Whole tone + + + + + Diminished + + + + + Major pentatonic + + + + + Minor pentatonic + + + + + Jap in sen + + + + + Major bebop + + + + + Dominant bebop + + + + + Blues + + + + + Arabic + + + + + Enigmatic + + + + + Neopolitan + + + + + Neopolitan minor + + + + + Hungarian minor + + + + + Dorian + + + + + Phrygian + + + + + Lydian + + + + + Mixolydian + + + + + Aeolian + + + + + Locrian + + + + + Minor + + + + + Chromatic + + + + + Half-Whole Diminished + + + + + 5 + 5 + + + + Phrygian dominant + + + + + Persian + + + + + InstrumentSoundShaping + + + VOLUME + + + + + Volume + עוצמת שמע + + + + CUTOFF + + + + + Cutoff frequency + + + + + RESO + + + + + Resonance + + + + + JackAppDialog + + + Add JACK Application + + + + + Note: Features not implemented yet are greyed out + + + + + Application + + + + + Name: + + + + + Application: + + + + + From template + + + + + Custom + + + + + Template: + + + + + Command: + + + + + Setup + + + + + Session Manager: + + + + + None + + + + + Audio inputs: + + + + + MIDI inputs: + + + + + Audio outputs: + + + + + MIDI outputs: + + + + + Take control of main application window + + + + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + + NSM applications cannot use abstract or absolute paths + + + + + NSM applications cannot use CLI arguments + + + + + You need to save the current Carla project before NSM can be used + + + + + JuceAboutW + + + This program uses JUCE version %1. + + + + + MidiPatternW + + + MIDI Pattern + + + + + Time Signature: + + + + + + + 1/4 + 1/4 + + + + 2/4 + 2/4 + + + + 3/4 + 3/4 + + + + 4/4 + 4/4 + + + + 5/4 + 5/4 + + + + 6/4 + 6/4 + + + + Measures: + + + + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + 9 + 9 + + + + 10 + 10 + + + + 11 + 11 + + + + 12 + 12 + + + + 13 + 13 + + + + 14 + 14 + + + + 15 + 15 + + + + 16 + 16 + + + + Default Length: + אורך ברירת מחדל: + + + + + 1/16 + 1/16 + + + + + 1/15 + 1/15 + + + + + 1/12 + 1/12 + + + + + 1/9 + 1/9 + + + + + 1/8 + 1/8 + + + + + 1/6 + 1/6 + + + + + 1/3 + 1/3 + + + + + 1/2 + 1/2 + + + + Quantize: + + + + + &File + &קובץ + + + + &Edit + ע&ריכה + + + + &Quit + י&ציאה + + + + Esc + + + + + &Insert Mode + + + + + F + + + + + &Velocity Mode + + + + + D + + + + + Select All + לבחור הכול + + + + A + + + + + PatchesDialog + + + + Qsynth: Channel Preset + + + + + + Bank selector + + + + + + Bank + + + + + + Program selector + + + + + + Patch + + + + + + Name + + + + + + OK + אישור + + + + + Cancel + ביטול + + + + PluginBrowser + + + no description + + + + + A native amplifier plugin + + + + + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track + + + + + Boost your bass the fast and simple way + + + + + Customizable wavetable synthesizer + + + + + An oversampling bitcrusher + + + + + Carla Patchbay Instrument + + + + + Carla Rack Instrument + + + + + A dynamic range compressor. + + + + + A 4-band Crossover Equalizer + + + + + A native delay plugin + + + + + A Dual filter plugin + + + + + plugin for processing dynamics in a flexible way + + + + + A native eq plugin + + + + + A native flanger plugin + + + + + Emulation of GameBoy (TM) APU + + + + + Player for GIG files + + + + + Filter for importing Hydrogen files into LMMS + + + + + Versatile drum synthesizer + + + + + List installed LADSPA plugins + + + + + plugin for using arbitrary LADSPA-effects inside LMMS. + + + + + Incomplete monophonic imitation TB-303 + + + + + plugin for using arbitrary LV2-effects inside LMMS. + + + + + plugin for using arbitrary LV2 instruments inside LMMS. + + + + + Filter for exporting MIDI-files from LMMS + + + + + Filter for importing MIDI-files into LMMS + + + + + Monstrous 3-oscillator synth with modulation matrix + + + + + A multitap echo delay plugin + + + + + A NES-like synthesizer + + + + + 2-operator FM Synth + + + + + Additive Synthesizer for organ-like sounds + + + + + GUS-compatible patch instrument + + + + + Plugin for controlling knobs with sound peaks + + + + + Reverb algorithm by Sean Costello + + + + + Player for SoundFont files + + + + + LMMS port of sfxr + + + + + Emulation of the MOS6581 and MOS8580 SID. +This chip was used in the Commodore 64 computer. + + + + + A graphical spectrum analyzer. + + + + + Plugin for enhancing stereo separation of a stereo input file + + + + + Plugin for freely manipulating stereo output + + + + + Tuneful things to bang on + + + + + Three powerful oscillators you can modulate in several ways + + + + + A stereo field visualizer. + + + + + VST-host for using VST(i)-plugins within LMMS + + + + + Vibrating string modeler + + + + + plugin for using arbitrary VST effects inside LMMS. + + + + + 4-oscillator modulatable wavetable synth + + + + + plugin for waveshaping + + + + + Mathematical expression parser + + + + + Embedded ZynAddSubFX + + + + + An all-pass filter allowing for extremely high orders. + + + + + Granular pitch shifter + + + + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. + + + + + Basic Slicer + + + + + Tap to the beat + + + + + PluginEdit + + + Plugin Editor + עורך התוספים + + + + Edit + + + + + Control + + + + + MIDI Control Channel: + + + + + N + + + + + Output dry/wet (100%) + + + + + Output volume (100%) + + + + + Balance Left (0%) + + + + + + Balance Right (0%) + + + + + Use Balance + + + + + Use Panning + + + + + Settings + + + + + Use Chunks + + + + + Audio: + + + + + Fixed-Size Buffer + + + + + Force Stereo (needs reload) + + + + + MIDI: + + + + + Map Program Changes + + + + + Send Notes + + + + + Send Bank/Program Changes + + + + + Send Control Changes + + + + + Send Channel Pressure + + + + + Send Note Aftertouch + + + + + Send Pitchbend + + + + + Send All Sound/Notes Off + + + + + +Plugin Name + + + + + + Program: + + + + + MIDI Program: + + + + + Save State + שמירת מצב + + + + Load State + + + + + Information + + + + + Label/URI: + + + + + Name: + + + + + Type: + + + + + Maker: + + + + + Copyright: + + + + + Unique ID: + + + + + PluginFactory + + + Plugin not found. + + + + + LMMS plugin %1 does not have a plugin descriptor named %2! + + + + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + + + PluginParameter + + + Form + + + + + Parameter Name + + + + + TextLabel + + + + + ... + + + + + PluginRefreshDialog + + + Plugin Refresh + + + + + Search for: + + + + + All plugins, ignoring cache + + + + + Updated plugins only + + + + + Check previously invalid plugins + + + + + Press 'Scan' to begin the search + + + + + Scan + + + + + >> Skip + + + + + Close + + + + + PluginWidget + + + + + + + Frame + + + + + Enable + + + + + On/Off + + + + + + + + PluginName + + + + + MIDI + + + + + AUDIO IN + + + + + AUDIO OUT + + + + + GUI + ממשק משתמש + + + + Edit + + + + + Remove + + + + + Plugin Name + + + + + Preset: + מערך: + + + + ProjectRenderer + + + WAV (*.wav) + + + + + FLAC (*.flac) + + + + + OGG (*.ogg) + + + + + MP3 (*.mp3) + + + + + QGroupBox + + + + Settings for %1 + + + + + QObject + + + Reload Plugin + + + + + Show GUI + הצגת ממשק המשתמש + + + + Help + + + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + + + + QWidget + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + כן + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + File: %1 + + + + + File: + + + + + XYControllerW + + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + + + + + lmms::AmplifierControls + + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + + + + + lmms::AudioFileProcessor + + + Amplify + + + + + Start of sample + + + + + End of sample + + + + + Loopback point + + + + + Reverse sample + + + + + Loop mode + + + + + Stutter + + + + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + + + + + lmms::AudioJack + + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + Gain - - Output volume - - - - - Input gain - - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency + + Ratio - CompressorControls + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + + Input gain + + + + + Input noise + + + + + Output gain + + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls Threshold @@ -3068,63 +4983,5261 @@ This mode is not available for VST plugins. - Controller + lmms::Controller - + Controller %1 - ControllerConnectionDialog + lmms::DelayControls - - Connection Settings + + Delay samples - - MIDI CONTROLLER + + Feedback - + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + Input channel - - CHANNEL + + Output channel - + Input controller + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + + + + + Color + + + + + Output gain + + + + + lmms::SaControls + + + Pause + + + + + Reference freeze + + + + + Waterfall + + + + + Averaging + + + + + Stereo + + + + + Peak hold + + + + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type + + + + + Peak envelope resolution + + + + + Spectrum display resolution + + + + + Peak decay multiplier + + + + + Averaging weight + + + + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + + FFT zero padding + + + + + + Full (auto) + + + + + + + Audible + + + + + Bass + + + + + Mids + + + + + High + + + + + Extended + + + + + Loud + + + + + Silent + + + + + (High time res.) + + + + + (High freq. res.) + + + + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + + + + + Hanning + + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + + + + + Panning + + + + + Mixer channel + + + + + + Sample track + + + + + lmms::Scale + + + empty + + + + + lmms::Sf2Instrument + + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + + Cutoff frequency + + + + + Resonance + + + + + Filter type + + + + + Voice 3 off + + + + + Volume + + + + + Chip model + + + + + lmms::SlicerT + + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + + + + + Master volume + + + + + Master pitch + + + + + Aborting project load + + + + + Project file contains local paths to plugins, which could be used to run malicious code. + + + + + Can't load project: Project file contains local paths to plugins. + + + + + LMMS Error report + + + + + (repeated %1 times) + + + + + The following errors occurred while loading: + + + + + lmms::StereoEnhancerControls + + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + + + + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + Input controller + + + + CONTROLLER - - + + Auto Detect - + MIDI-devices to receive MIDI-events from - + USER CONTROLLER - + MAPPING FUNCTION @@ -3134,518 +10247,336 @@ This mode is not available for VST plugins. - + Cancel - + LMMS - LMMS + - + Cycle Detected. - ControllerRackView + lmms::gui::ControllerRackView - + Controller Rack - + Add - הוסף + - + Confirm Delete - + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - ControllerView + lmms::gui::ControllerView - + Controls - + Rename controller - + Enter the new name for this controller - + LFO - - &Remove this controller + + Move &up + Move &down + + + + + &Remove this controller + + + + Re&name this controller - CrossoverEQControlDialog + lmms::gui::CrossoverEQControlDialog - + Band 1/2 crossover: - + Band 2/3 crossover: - + Band 3/4 crossover: - + Band 1 gain - + Band 1 gain: - + Band 2 gain - + Band 2 gain: - + Band 3 gain - + Band 3 gain: - + Band 4 gain - + Band 4 gain: - + Band 1 mute - + Mute band 1 - + Band 2 mute - + Mute band 2 - + Band 3 mute - + Mute band 3 - + Band 4 mute - + Mute band 4 - DelayControls + lmms::gui::DelayControlsDialog - - Delay samples - - - - - Feedback - - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - - - - - DelayControlsDialog - - + DELAY - + Delay time - + FDBK - + Feedback amount - + RATE - + LFO frequency - + AMNT - + LFO amount - + Out gain - + Gain - Dialog + lmms::gui::DispersionControlDialog - - Add JACK Application + + AMOUNT - - Note: Features not implemented yet are greyed out + + Number of all-pass filters - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - - - - Carla Control - Connect - - - - - Remote setup - - - - - UDP Port: - - - - - Remote host: - - - - - TCP Port: - - - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - - - - Set value - - - - - TextLabel - - - - - Scale Points - - - - - DriverSettingsW - - - Driver Settings - - - - - Device: - - - - - Buffer size: - - - - - Sample rate: - - - - - Triple buffer - - - - - Show Driver Control Panel - - - - - Restart the engine to load the new settings - - - - - DualFilterControlDialog - - - + FREQ - - - Cutoff frequency + + Frequency: - - + RESO + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + Resonance - - + + GAIN - - + + Gain - + MIX - + Mix @@ -3655,1118 +10586,536 @@ If you are unsure, leave it as 'Automatic'. - + Filter 2 enabled - + Enable/disable filter 1 - + Enable/disable filter 2 - DualFilterControls + lmms::gui::DynProcControlDialog - - Filter 1 enabled + + INPUT - - Filter 1 type + + Input gain: - - Cutoff frequency 1 + + OUTPUT - - Q/Resonance 1 + + Output gain: - - Gain 1 + + ATTACK - - Mix + + Peak attack time: - - Filter 2 enabled + + RELEASE - - Filter 2 type + + Peak release time: - - Cutoff frequency 2 + + + Reset wavegraph - - Q/Resonance 2 + + + Smooth wavegraph - - Gain 2 + + + Increase wavegraph amplitude by 1 dB - - - Low-pass + + + Decrease wavegraph amplitude by 1 dB - - - Hi-pass + + Stereo mode: maximum - - - Band-pass csg + + Process based on the maximum of both stereo channels - - - Band-pass czpg + + Stereo mode: average - - - Notch + + Process based on the average of both stereo channels - - - All-pass + + Stereo mode: unlinked - - - Moog - - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - - - - - - Fast Formant - - - - - - Tripole + + Process each stereo channel independently - Editor + lmms::gui::Editor - + Transport controls - + Play (Space) - + Stop (Space) - + Record - + Record while playing - + Toggle Step Recording - Effect + lmms::gui::EffectRackView - - Effect enabled - - - - - Wet/Dry mix - - - - - Gate - - - - - Decay - - - - - EffectChain - - - Effects enabled - - - - - EffectRackView - - + EFFECTS CHAIN - + Add effect - EffectSelectDialog + lmms::gui::EffectSelectDialog - + Add effect - - + + Name - + Type - + + All + + + + + Search + + + + Description - + Author - EffectView + lmms::gui::EffectView - + On/Off - + W/D - + Wet Level: - + DECAY - + Time: - + GATE - + Gate: - + Controls - + Move &up - + Move &down - + &Remove this plugin - EnvelopeAndLfoParameters + lmms::gui::EnvelopeAndLfoView - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - - - - - - Pre-delay: - - - - - - ATT - - - - - - Attack: - - - - - HOLD - - - - - Hold: - - - - - DEC - - - - - Decay: - - - - - SUST - - - - - Sustain: - - - - - REL - - - - - Release: - - - - - + + AMT - - + + Modulation amount: - + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + SPD - + Frequency: - + FREQ x 100 - + Multiply LFO frequency by 100 - - MODULATE ENV AMOUNT + + MOD ENV AMOUNT - + Control envelope amount by this LFO - - ms/LFO: - - - - + Hint - + Drag and drop a sample into this window. - EqControls + lmms::gui::EnvelopeGraph - - Input gain + + Scaling - - Output gain + + Dynamic - - Low-shelf gain + + Uses absolute spacings but switches to relative spacing if it's running out of space - - Peak 1 gain + + Absolute - - Peak 2 gain + + Provides enough potential space for each segment but does not scale - - Peak 3 gain + + Relative - - Peak 4 gain - - - - - High-shelf gain - - - - - HP res - - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - - - - - HP freq - - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - - - - - Peak 2 active - - - - - Peak 3 active - - - - - Peak 4 active - - - - - High-shelf active - - - - - LP active - - - - - LP 12 - - - - - LP 24 - - - - - LP 48 - - - - - HP 12 - - - - - HP 24 - - - - - HP 48 - - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - - - - - Analyse OUT + + Always uses all of the available space to display the envelope graph - EqControlsDialog + lmms::gui::EqControlsDialog - + HP - + Low-shelf - + Peak 1 - + Peak 2 - + Peak 3 - + Peak 4 - + High-shelf - + LP - + Input gain - - - + + + Gain - + Output gain - + Bandwidth: - + Octave - - Resonance : + + Resonance: - + Frequency: - + LP group - + HP group - EqHandle + lmms::gui::EqHandle - + Reso: - + BW: - - + + Freq: - ExportProjectDialog + lmms::gui::ExportProjectDialog - - Export project - - - - - Export as loop (remove extra bar) - - - - - Export between loop markers - - - - - Render Looped Section: - - - - - time(s) - - - - - File format settings - - - - - File format: - - - - - Sampling rate: - - - - - 44100 Hz - 44100 Hz - - - - 48000 Hz - 48000 Hz - - - - 88200 Hz - 88200 Hz - - - - 96000 Hz - 96000 Hz - - - - 192000 Hz - 192000 Hz - - - - Bit depth: - - - - - 16 Bit integer - - - - - 24 Bit integer - - - - - 32 Bit float - - - - - Stereo mode: - - - - - Mono - מונו - - - - Stereo - סטריאו - - - - Joint stereo - - - - - Compression level: - רמת כיווץ: - - - - Bitrate: - - - - - 64 KBit/s - - - - - 128 KBit/s - - - - - 160 KBit/s - - - - - 192 KBit/s - - - - - 256 KBit/s - - - - - 320 KBit/s - - - - - Use variable bitrate - - - - - Quality settings - - - - - Interpolation: - - - - - Zero order hold - - - - - Sinc worst (fastest) - - - - - Sinc medium (recommended) - - - - - Sinc best (slowest) - - - - - Oversampling: - - - - - 1x (None) - - - - - 2x - - - - - 4x - - - - - 8x - - - - - Start - - - - - Cancel - - - - + Could not open file - + Could not open file %1 for writing. Please make sure you have write permission to the file and the directory containing the file and try again! @@ -4787,4150 +11136,3669 @@ Please make sure you have write permission to the file and the directory contain - + Error - + Error while determining file-encoder device. Please try to choose a different output format. - + Rendering: %1% - Fader + lmms::gui::Fader - + Set value - + Please enter a new value between %1 and %2: + + + Volume: %1 dBFS + + - FileBrowser + lmms::gui::FileBrowser - - User content - - - - - Factory content - - - - + Browser - + Search - + Refresh list + + + User content + + + + + Factory content + + + + + Hidden content + + - FileBrowserTreeWidget + lmms::gui::FileBrowserTreeWidget - + Send to active instrument-track - + Open containing folder - + Song Editor - - BB Editor + + Pattern Editor - + Send to new AudioFileProcessor instance - + Send to new instrument track - + (%2Enter) - + Send to new sample track (Shift + Enter) - + Loading sample - + Please wait, loading sample for preview... - + Error - + %1 does not appear to be a valid %2 file - + --- Factory files --- - FlangerControls + lmms::gui::FileDialog - - Delay samples + + %1 files - - LFO frequency + + All audio files - - Seconds - - - - - Stereo phase - - - - - Regen - - - - - Noise - - - - - Invert + + Other files - FlangerControlsDialog + lmms::gui::FlangerControlsDialog - + DELAY - + Delay time: - + RATE - + Period: - + AMNT - + Amount: - + PHASE - + Phase: - + FDBK - + Feedback amount: - + NOISE - + White noise amount: - + Invert - FreeBoyInstrument + lmms::gui::FloatModelEditorBase - - Sweep time + + Set linear - - Sweep direction + + Set logarithmic - - Sweep rate shift amount + + + Set value - - - Wave pattern duty cycle + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: - - Channel 1 volume - - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - - - - - Bass + + Please enter a new value between %1 and %2: - FreeBoyInstrumentView + lmms::gui::FreeBoyInstrumentView - + Sweep time: - + Sweep time - + Sweep rate shift amount: - + Sweep rate shift amount - - + + Wave pattern duty cycle: + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - + Length of each step in sweep: - - - + + + Length of each step in sweep - + Square channel 2 volume: - + Square channel 2 volume - + Wave pattern channel volume: - + Wave pattern channel volume - + Noise channel volume: - + Noise channel volume - + SO1 volume (Right): - + SO1 volume (Right) - + SO2 volume (Left): - + SO2 volume (Left) - + Treble: - + Treble - + Bass: - + Bass - + Sweep direction - - - - - + + + + + Volume sweep direction - + Shift register width - + Channel 1 to SO1 (Right) - + Channel 2 to SO1 (Right) - + Channel 3 to SO1 (Right) - + Channel 4 to SO1 (Right) - + Channel 1 to SO2 (Left) - + Channel 2 to SO2 (Left) - + Channel 3 to SO2 (Left) - + Channel 4 to SO2 (Left) - + Wave pattern graph - MixerChannelView + lmms::gui::GigInstrumentView - - Channel send amount - - - - - Move &left - - - - - Move &right - - - - - Rename &channel - - - - - R&emove channel - - - - - Remove &unused channels - - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - - - - - New mixer Channel - - - - - Mixer - - - Master - - - - - - - Channel %1 - - - - - Volume - ווליום - - - - Mute - - - - - Solo - - - - - MixerView - - - Mixer - - - - - Fader %1 - - - - - Mute - - - - - Mute this mixer channel - - - - - Solo - - - - - Solo mixer channel - - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - - - - - GigInstrument - - - Bank - - - - - Patch - - - - - Gain - - - - - GigInstrumentView - - - + + Open GIG file - + Choose patch - + Gain: - + GIG Files (*.gig) - GuiApplication + lmms::gui::GranularPitchShifterControlDialog - + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + Working directory - + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - + Preparing UI - + Preparing song editor - + Preparing mixer - + Preparing controller rack - + Preparing project notes - - Preparing beat/bassline editor + + Preparing microtuner - + + Preparing pattern editor + + + + Preparing piano roll - + Preparing automation editor - InstrumentFunctionArpeggio + lmms::gui::InstrumentFunctionArpeggioView - - Arpeggio - - - - - Arpeggio type - - - - - Arpeggio range - - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - - - - - Arpeggio gate - - - - - Arpeggio direction - - - - - Arpeggio mode - - - - - Up - - - - - Down - - - - - Up and down - - - - - Down and up - - - - - Random - - - - - Free - - - - - Sort - - - - - Sync - - - - - InstrumentFunctionArpeggioView - - + ARPEGGIO - + RANGE - + Arpeggio range: - + octave(s) - + REP - + Note repeats: - + time(s) - + CYCLE - + Cycle notes: - + note(s) - + SKIP - + Skip rate: - - + + % - + MISS - + Miss rate: - + TIME - + Arpeggio time: - + ms - + GATE - + Arpeggio gate: - + Chord: - + Direction: - + Mode: - InstrumentFunctionNoteStacking + lmms::gui::InstrumentFunctionNoteStackingView - - octave - - - - - - Major - - - - - Majb5 - - - - - minor - - - - - minb5 - - - - - sus2 - - - - - sus4 - - - - - aug - - - - - augsus4 - - - - - tri - - - - - 6 - - - - - 6sus4 - - - - - 6add9 - - - - - m6 - - - - - m6add9 - - - - - 7 - - - - - 7sus4 - - - - - 7#5 - - - - - 7b5 - - - - - 7#9 - - - - - 7b9 - - - - - 7#5#9 - - - - - 7#5b9 - - - - - 7b5b9 - - - - - 7add11 - - - - - 7add13 - - - - - 7#11 - - - - - Maj7 - - - - - Maj7b5 - - - - - Maj7#5 - - - - - Maj7#11 - - - - - Maj7add13 - - - - - m7 - - - - - m7b5 - - - - - m7b9 - - - - - m7add11 - - - - - m7add13 - - - - - m-Maj7 - - - - - m-Maj7add11 - - - - - m-Maj7add13 - - - - - 9 - - - - - 9sus4 - - - - - add9 - - - - - 9#5 - - - - - 9b5 - - - - - 9#11 - - - - - 9b13 - - - - - Maj9 - - - - - Maj9sus4 - - - - - Maj9#5 - - - - - Maj9#11 - - - - - m9 - - - - - madd9 - - - - - m9b5 - - - - - m9-Maj7 - - - - - 11 - - - - - 11b9 - - - - - Maj11 - - - - - m11 - - - - - m-Maj11 - - - - - 13 - - - - - 13#9 - - - - - 13b9 - - - - - 13b5b9 - - - - - Maj13 - - - - - m13 - - - - - m-Maj13 - - - - - Harmonic minor - - - - - Melodic minor - - - - - Whole tone - - - - - Diminished - - - - - Major pentatonic - - - - - Minor pentatonic - - - - - Jap in sen - - - - - Major bebop - - - - - Dominant bebop - - - - - Blues - - - - - Arabic - - - - - Enigmatic - - - - - Neopolitan - - - - - Neopolitan minor - - - - - Hungarian minor - - - - - Dorian - - - - - Phrygian - - - - - Lydian - - - - - Mixolydian - - - - - Aeolian - - - - - Locrian - - - - - Minor - - - - - Chromatic - - - - - Half-Whole Diminished - - - - - 5 - - - - - Phrygian dominant - - - - - Persian - - - - - Chords - - - - - Chord type - - - - - Chord range - - - - - InstrumentFunctionNoteStackingView - - + STACKING - + Chord: - + RANGE - + Chord range: - + octave(s) - InstrumentMidiIOView + lmms::gui::InstrumentMidiIOView ENABLE MIDI INPUT - - - ENABLE MIDI OUTPUT - - - + CHAN This string must be be short, its width must be less than * width of LCD spin-box of two digits - - + + VELOC This string must be be short, its width must be less than * width of LCD spin-box of three digits - + + ENABLE MIDI OUTPUT + + + + PROG This string must be be short, its width must be less than the * width of LCD spin-box of three digits - + NOTE This string must be be short, its width must be less than * width of LCD spin-box of three digits - + MIDI devices to receive MIDI events from - + MIDI devices to send MIDI events to - - CUSTOM BASE VELOCITY + + VELOCITY MAPPING - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. + + MIDI VELOCITY - - BASE VELOCITY + + MIDI notes at this velocity correspond to 100% note velocity. - InstrumentTuningView + lmms::gui::InstrumentSoundShapingView - - MASTER PITCH - - - - - Enables the use of master pitch - - - - - InstrumentSoundShaping - - - VOLUME - - - - - Volume - ווליום - - - - CUTOFF - - - - - - Cutoff frequency - - - - - RESO - - - - - Resonance - - - - - Envelopes/LFOs - - - - - Filter type - - - - - Q/Resonance - - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - - - - - All-pass - - - - - Moog - - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - - - - - Fast Formant - - - - - Tripole - - - - - InstrumentSoundShapingView - - + TARGET - + FILTER - + FREQ - + Cutoff frequency: - + Hz - + Q/RESO - + Q/Resonance: - + Envelopes, LFOs and filters are not supported by the current instrument. - InstrumentTrack + lmms::gui::InstrumentTrackView - - - unnamed_track - - - - - Base note - - - - - First note - - - - - Last note - - - - - Volume - ווליום - - - - Panning - - - - - Pitch - - - - - Pitch range - - - - + Mixer channel - - Master pitch - - - - - Enable/Disable MIDI CC - - - - - CC Controller %1 - - - - - - Default preset - - - - - InstrumentTrackView - - + Volume - ווליום + - + Volume: - ווליום: + - + VOL - ווליום + - + Panning - + Panning: - + PAN - + MIDI - + Input - + Output - + Open/Close MIDI CC Rack - - Channel %1: %2 + + %1: %2 - InstrumentTrackWindow + lmms::gui::InstrumentTrackWindow - - GENERAL SETTINGS + + Volume - - Volume - ווליום - - - + Volume: - ווליום: + - + VOL - ווליום + - + Panning - + Panning: - + PAN - + Pitch - + Pitch: - + cents - + PITCH - + Pitch range (semitones) - + RANGE - + Mixer channel - + CHANNEL - + Save current instrument track settings in a preset file - + SAVE - + Envelope, filter & LFO - + Chord stacking & arpeggio - + Effects - + MIDI - - Miscellaneous + + Tuning and transposition - + Save preset - + XML preset file (*.xpf) - + Plugin - JackApplicationW + lmms::gui::InstrumentTuningView - - NSM applications cannot use abstract or absolute paths + + GLOBAL TRANSPOSITION - - NSM applications cannot use CLI arguments + + Enables the use of global transposition - - You need to save the current Carla project before NSM can be used + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. - JuceAboutW + lmms::gui::KickerInstrumentView - - About JUCE + + Start frequency: - - <b>About JUCE</b> + + End frequency: - - This program uses JUCE version 3.x.x. + + Frequency slope: - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. + + Gain: - - This program uses JUCE version %1. + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: - Knob + lmms::gui::LOMMControlDialog - - Set linear + + Depth: - - Set logarithmic + + Compression amount for all bands - - - Set value + + Time: - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + Attack/release scaling for all bands - - Please enter a new value between %1 and %2: + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters - LadspaControl + lmms::gui::LadspaBrowserView - - Link channels + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: - LadspaControlDialog + lmms::gui::LadspaControlDialog - + Link Channels - + Channel - LadspaControlView + lmms::gui::LadspaControlView - + Link channels - + Value: - LadspaEffect + lmms::gui::LadspaDescription - - Unknown LADSPA plugin %1 requested. + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: - LcdFloatSpinBox + lmms::gui::LadspaMatrixControlDialog - + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + Set value - + Please enter a new value between %1 and %2: - LcdSpinBox + lmms::gui::LcdSpinBox - + Set value - + Please enter a new value between %1 and %2: - LeftRightNav + lmms::gui::LeftRightNav - - - + + + Previous - - - + + + Next - + Previous (%1) - + Next (%1) - LfoController + lmms::gui::LfoControllerDialog - - LFO Controller - - - - - Base value - - - - - Oscillator speed - - - - - Oscillator amount - - - - - Oscillator phase - - - - - Oscillator waveform - - - - - Frequency Multiplier - - - - - LfoControllerDialog - - + LFO - + BASE - + Base: - + FREQ - + LFO frequency: - + AMNT - + Modulation amount: - + PHS - + Phase offset: - + degrees - + Sine wave - + Triangle wave - + Saw wave - + Square wave - + Moog saw wave - + Exponential wave - + White noise - + User-defined shape. Double click to pick a file. - - Mutliply modulation frequency by 1 + + Multiply modulation frequency by 1 - - Mutliply modulation frequency by 100 + + Multiply modulation frequency by 100 - + Divide modulation frequency by 100 - Engine + lmms::gui::LfoGraph - - Generating wavetables - - - - - Initializing data structures - - - - - Opening audio and midi devices - - - - - Launching mixer threads + + %1 Hz - MainWindow + lmms::gui::MainWindow - + Configuration file - + Error while parsing configuration file at line %1:%2: %3 - + Could not open file - + Could not open file %1 for writing. Please make sure you have write permission to the file and the directory containing the file and try again! - + Project recovery - + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - + + Recover - + Recover the file. Please don't run multiple instances of LMMS when you do this. - - + + Discard - + Launch a default session and delete the restored files. This is not reversible. - + Version %1 - + Preparing plugin browser - + Preparing file browsers - + My Projects - + My Samples - + My Presets - + My Home - - Root directory + + Root Directory - + Volumes - + My Computer - - &File - - - - - &New - - - - - &Open... - - - - + Loading background picture - + + &File + + + + + &New + + + + + &Open... + + + + &Save - + Save &As... - + Save as New &Version - + Save as default template - + Import... - + E&xport... - + E&xport Tracks... - + Export &MIDI... - + &Quit - + &Edit - + Undo - + Redo - + + Scales and keymaps + + + + Settings - + &View - + &Tools - + &Help - + Online Help - + Help - + About - אודות + - + Create new project - + Create new project from template - + Open existing project - + Recently opened projects - + Save current project - + Export current project - + Metronome - - + + Song Editor - - - Beat+Bassline Editor + + + Pattern Editor - - + + Piano Roll - - + + Automation Editor - - + + Mixer - + Show/hide controller rack - + Show/hide project notes - + Untitled - + Recover session. Please save your work! - + LMMS %1 - + Recovered project not saved - + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - + Project not saved - + The current project was modified since last saving. Do you want to save it now? - + Open Project - + LMMS (*.mmp *.mmpz) - + Save Project - + LMMS Project - + LMMS Project Template - + Save project template - + Overwrite default template? - + This will overwrite your current default template. - + Help not available - + Currently there's no help available in LMMS. Please visit http://lmms.sf.net/wiki for documentation on LMMS. - + Controller Rack - + Project Notes - + Fullscreen - + Volume as dBFS - + Smooth scroll - + Enable note labels in piano roll - + MIDI File (*.mid) - - + + untitled - - + + Select file for project-export... - + Select directory for writing exported tracks... - + Save project - + Project saved - + The project %1 is now saved. - + Project NOT saved. - + The project %1 was not saved! - + Import file - + MIDI sequences - + Hydrogen projects - + All file types - MeterDialog + lmms::gui::MalletsInstrumentView - - + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + Meter Numerator - + Meter numerator - - + + Meter Denominator - + Meter denominator - + TIME SIG - MeterModel + lmms::gui::MicrotunerConfig - - Numerator + + Selected scale slot - - Denominator + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure - MidiCCRackView + lmms::gui::MidiCCRackView - - + + MIDI CC Rack - %1 - + MIDI CC Knobs: - + CC %1 - MidiController + lmms::gui::MidiClipView - - MIDI Controller + + + Transpose - - unnamed_midi_controller + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps - MidiImport + lmms::gui::MidiSetupWidget - - - Setup incomplete - - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - - - - - Denominator - - - - - Track - - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - - - - - MidiPatternW - - - MIDI Pattern - - - - - Time Signature: - - - - - - - 1/4 - - - - - 2/4 - - - - - 3/4 - - - - - 4/4 - - - - - 5/4 - - - - - 6/4 - - - - - Measures: - - - - - - - 1 - - - - - 2 - - - - - 3 - - - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - 9 - - - - - 10 - - - - - 11 - - - - - 12 - - - - - 13 - - - - - 14 - - - - - 15 - - - - - 16 - - - - - Default Length: - - - - - - 1/16 - - - - - - 1/15 - - - - - - 1/12 - - - - - - 1/9 - - - - - - 1/8 - - - - - - 1/6 - - - - - - 1/3 - - - - - - 1/2 - - - - - Quantize: - - - - - &File - - - - - &Edit - - - - - &Quit - - - - - &Insert Mode - - - - - F - - - - - &Velocity Mode - - - - - D - - - - - Select All - - - - - A - - - - - MidiPort - - - Input channel - - - - - Output channel - - - - - Input controller - - - - - Output controller - - - - - Fixed input velocity - - - - - Fixed output velocity - - - - - Fixed output note - - - - - Output MIDI program - - - - - Base velocity - - - - - Receive MIDI-events - - - - - Send MIDI-events - - - - - MidiSetupWidget - - + Device - MonstroInstrument + lmms::gui::MixerChannelLcdSpinBox - - Osc 1 volume + + Assign to: - - Osc 1 panning + + New Mixer Channel - - Osc 1 coarse detune + + Please enter a new value between %1 and %2: - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - - - - - White noise - - - - - Digital Triangle wave - - - - - Digital Saw wave - - - - - Digital Ramp wave - - - - - Digital Square wave - - - - - Digital Moog saw wave - - - - - Triangle wave - - - - - Saw wave - - - - - Ramp wave - - - - - Square wave - - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - - - - - Random smooth + + Set value - MonstroView + lmms::gui::MixerChannelView - + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + Operators view - + Matrix view - - - + + + Volume - ווליום + - - - + + + Panning - - - + + + Coarse detune - - - + + + semitones - - + + Fine tune left - - - - + + + + cents - - + + Fine tune right - - + + Stereo phase offset - - - - + + + + deg - + Pulse width - + Send sync on pulse rise - + Send sync on pulse fall - + Hard sync oscillator 2 - + Reverse sync oscillator 2 - + Sub-osc mix - + Hard sync oscillator 3 - + Reverse sync oscillator 3 - - - - + + + + Attack - - + + Rate - - + + Phase - - + + Pre-delay - - + + Hold - - + + Decay - - + + Sustain - - + + Release - - + + Slope - + Mix osc 2 with osc 3 - + Modulate amplitude of osc 3 by osc 2 - + Modulate frequency of osc 3 by osc 2 - + Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + Modulation amount - MultitapEchoControlDialog + lmms::gui::MultitapEchoControlDialog Length @@ -8973,4466 +14841,2870 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. - NesInstrument + lmms::gui::NesInstrumentView - - Channel 1 coarse detune - - - - - Channel 1 volume - - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - - - - - Vibrato - - - - - NesInstrumentView - - - - - + + + + Volume - ווליום + - - - + + + Coarse detune - - - + + + Envelope length - + Enable channel 1 - + Enable envelope 1 - + Enable envelope 1 loop - + Enable sweep 1 - - + + Sweep amount - - + + Sweep rate - - + + 12.5% Duty cycle - - + + 25% Duty cycle - - + + 50% Duty cycle - - + + 75% Duty cycle - + Enable channel 2 - + Enable envelope 2 - + Enable envelope 2 loop - + Enable sweep 2 - + Enable channel 3 - + Noise Frequency - + Frequency sweep - + Enable channel 4 - + Enable envelope 4 - + Enable envelope 4 loop - + Quantize noise frequency when using note frequency - + Use note frequency for noise - + Noise mode - + Master volume - + Vibrato - OpulenzInstrument + lmms::gui::OpulenzInstrumentView - - Patch - - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - + + Attack - - + + Decay - - + + Release - - + + Frequency multiplier - OscillatorObject + lmms::gui::OrganicInstrumentView - - Osc %1 waveform + + Distortion: - - Osc %1 harmonic + + Volume: - - - Osc %1 volume + + Randomise - - - Osc %1 panning + + + Osc %1 waveform: - - - Osc %1 fine detuning left + + Osc %1 volume: - - Osc %1 coarse detuning + + Osc %1 panning: - - Osc %1 fine detuning right + + Osc %1 stereo detuning - - Osc %1 phase-offset + + cents - - Osc %1 stereo phase-detuning - - - - - Osc %1 wave shape - - - - - Modulation type %1 + + Osc %1 harmonic: - Oscilloscope + lmms::gui::Oscilloscope - + Oscilloscope - + Click to enable - PatchesDialog + lmms::gui::PatmanView - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - - - - - Program selector - - - - - Patch - - - - - Name - - - - - OK - - - - - Cancel - - - - - PatmanView - - + Open patch - + Loop - + Loop mode - + Tune - + Tune mode - + No file selected - + Open patch file - + Patch-Files (*.pat) - MidiClipView + lmms::gui::PatternClipView - - Open in piano-roll + + Open in Pattern Editor - - Set as ghost in piano-roll - - - - - Clear all notes - - - - + Reset name - + Change name + + + lmms::gui::PatternEditorWindow - - Add steps + + Pattern Editor - + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + Remove steps - + + Add steps + + + + Clone Steps - PeakController + lmms::gui::PeakControllerDialog - - Peak Controller - - - - - Peak Controller Bug - - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - - - - - PeakControllerDialog - - + PEAK - + LFO Controller - PeakControllerEffectControlDialog + lmms::gui::PeakControllerEffectControlDialog - + BASE - + Base: - + AMNT - + Modulation amount: - + MULT - + Amount multiplicator: - + ATCK - + Attack: - + DCAY - + Release: - + TRSH - + Treshold: - - - Mute output - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - - - - - Modulation amount - - - - - Attack - - - - - Release - - - - - Treshold - - - - Mute output - + Absolute value - - - Amount multiplicator - - - PianoRoll + lmms::gui::PeakIndicator - + + -inf + + + + + lmms::gui::PianoRoll + + Note Velocity - + Note Panning - + Mark/unmark current semitone - + Mark/unmark all corresponding octave semitones - + Mark current scale - + Mark current chord - + Unmark all - + Select all notes on this key - + Note lock - + Last note - + No key - + No scale - + No chord - + Nudge - + Snap - + Velocity: %1% - + Panning: %1% left - + Panning: %1% right - + Panning: center - + Glue notes failed - + Please select notes to glue first. - + Please open a clip by double-clicking on it! - - + + Please enter a new value between %1 and %2: - PianoRollWindow + lmms::gui::PianoRollWindow - + Play/pause current clip (Space) - + Record notes from MIDI-device/channel-piano - - Record notes from MIDI-device/channel-piano while playing song or BB track + + Record notes from MIDI-device/channel-piano while playing song or pattern track - + Record notes from MIDI-device/channel-piano, one step at the time - + Stop playing of current clip (Space) - + Edit actions - + Draw mode (Shift+D) - + Erase mode (Shift+E) - + Select mode (Shift+S) - + Pitch Bend mode (Shift+T) - + Quantize - + Quantize positions - + Quantize lengths - + File actions - + Import clip - - + + Export clip - + Copy paste controls - + Cut (%1+X) - + Copy (%1+C) - + Paste (%1+V) - + Timeline controls - + Glue - + Knife - + Fill - + Cut overlaps - + Min length as last - + Max length as last - + Zoom and note controls - + Horizontal zooming - + Vertical zooming - + Quantization - + Note length - + Key - + Scale - + Chord - + Snap mode - + Clear ghost notes - - + + Piano-Roll - %1 - - + + Piano-Roll - no clip - - + + XML clip file (*.xpt *.xptz) - + Export clip success - + Clip saved to %1 - + Import clip. - + You are about to import a clip, this will overwrite your current clip. Do you want to continue? - + Open clip - + Import clip success - + Imported clip %1! - PianoView + lmms::gui::PianoView - + Base note - + First note - + Last note - Plugin + lmms::gui::PluginBrowser - - Plugin not found - - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - - - - - Error while loading plugin - - - - - Failed to load plugin "%1"! - - - - - PluginBrowser - - + Instrument Plugins - + Instrument browser - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. - - no description - - - - - A native amplifier plugin - - - - - Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - - - - - Boost your bass the fast and simple way - - - - - Customizable wavetable synthesizer - - - - - An oversampling bitcrusher - - - - - Carla Patchbay Instrument - - - - - Carla Rack Instrument - - - - - A dynamic range compressor. - - - - - A 4-band Crossover Equalizer - - - - - A native delay plugin - - - - - A Dual filter plugin - - - - - plugin for processing dynamics in a flexible way - - - - - A native eq plugin - - - - - A native flanger plugin - - - - - Emulation of GameBoy (TM) APU - - - - - Player for GIG files - - - - - Filter for importing Hydrogen files into LMMS - - - - - Versatile drum synthesizer - - - - - List installed LADSPA plugins - - - - - plugin for using arbitrary LADSPA-effects inside LMMS. - - - - - Incomplete monophonic imitation TB-303 - - - - - plugin for using arbitrary LV2-effects inside LMMS. - - - - - plugin for using arbitrary LV2 instruments inside LMMS. - - - - - Filter for exporting MIDI-files from LMMS - - - - - Filter for importing MIDI-files into LMMS - - - - - Monstrous 3-oscillator synth with modulation matrix - - - - - A multitap echo delay plugin - - - - - A NES-like synthesizer - - - - - 2-operator FM Synth - - - - - Additive Synthesizer for organ-like sounds - - - - - GUS-compatible patch instrument - - - - - Plugin for controlling knobs with sound peaks - - - - - Reverb algorithm by Sean Costello - - - - - Player for SoundFont files - - - - - LMMS port of sfxr - - - - - Emulation of the MOS6581 and MOS8580 SID. -This chip was used in the Commodore 64 computer. - - - - - A graphical spectrum analyzer. - - - - - Plugin for enhancing stereo separation of a stereo input file - - - - - Plugin for freely manipulating stereo output - - - - - Tuneful things to bang on - - - - - Three powerful oscillators you can modulate in several ways - - - - - A stereo field visualizer. - - - - - VST-host for using VST(i)-plugins within LMMS - - - - - Vibrating string modeler - - - - - plugin for using arbitrary VST effects inside LMMS. - - - - - 4-oscillator modulatable wavetable synth - - - - - plugin for waveshaping - - - - - Mathematical expression parser - - - - - Embedded ZynAddSubFX + + Search - PluginDatabaseW + lmms::gui::PluginDescWidget - - Carla - Add New - - - - - Format - - - - - Internal - - - - - LADSPA - - - - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - - - - - Effects - - - - - Instruments - - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Send to new instrument track - PluginEdit + lmms::gui::ProjectNotes - - Plugin Editor - - - - - Edit - - - - - Control - - - - - MIDI Control Channel: - - - - - N - - - - - Output dry/wet (100%) - - - - - Output volume (100%) - - - - - Balance Left (0%) - - - - - - Balance Right (0%) - - - - - Use Balance - - - - - Use Panning - - - - - Settings - - - - - Use Chunks - - - - - Audio: - - - - - Fixed-Size Buffer - - - - - Force Stereo (needs reload) - - - - - MIDI: - - - - - Map Program Changes - - - - - Send Bank/Program Changes - - - - - Send Control Changes - - - - - Send Channel Pressure - - - - - Send Note Aftertouch - - - - - Send Pitchbend - - - - - Send All Sound/Notes Off - - - - - -Plugin Name - - - - - - Program: - - - - - MIDI Program: - - - - - Save State - - - - - Load State - - - - - Information - - - - - Label/URI: - - - - - Name: - - - - - Type: - - - - - Maker: - - - - - Copyright: - - - - - Unique ID: - - - - - PluginFactory - - - Plugin not found. - - - - - LMMS plugin %1 does not have a plugin descriptor named %2! - - - - - PluginParameter - - - Form - - - - - Parameter Name - - - - - ... - - - - - PluginRefreshW - - - Carla - Refresh - - - - - Search for new... - - - - - LADSPA - - - - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - - Press 'Scan' to begin the search - - - - - Scan - - - - - >> Skip - - - - - Close - סגור - - - - PluginWidget - - - - - - - Frame - - - - - Enable - - - - - On/Off - - - - - - - - PluginName - - - - - MIDI - - - - - AUDIO IN - - - - - AUDIO OUT - - - - - GUI - - - - - Edit - - - - - Remove - - - - - Plugin Name - - - - - Preset: - - - - - ProjectNotes - - + Project Notes - + Enter project notes here - + Edit Actions - + &Undo - + %1+Z - + &Redo - + %1+Y - + &Copy - + %1+C - + Cu&t - + %1+X - + &Paste - + %1+V - + Format Actions - + &Bold - + %1+B - + &Italic - + %1+I - + &Underline - + %1+U - + &Left - + %1+L - + C&enter - + %1+E - + &Right - + %1+R - + &Justify - + %1+J - + &Color... - ProjectRenderer + lmms::gui::RecentProjectsMenu - - WAV (*.wav) - - - - - FLAC (*.flac) - - - - - OGG (*.ogg) - - - - - MP3 (*.mp3) - - - - - QObject - - - Reload Plugin - - - - - Show GUI - - - - - Help - - - - - QWidget - - - - - - Name: - - - - - URI: - - - - - - - Maker: - - - - - - - Copyright: - - - - - - Requires Real Time: - - - - - - - - - - Yes - - - - - - - - - - No - - - - - - Real Time Capable: - - - - - - In Place Broken: - - - - - - Channels In: - - - - - - Channels Out: - - - - - File: %1 - - - - - File: - - - - - RecentProjectsMenu - - + &Recently Opened Projects - RenameDialog + lmms::gui::RenameDialog - + Rename... - ReverbSCControlDialog + lmms::gui::ReverbSCControlDialog - + Input - + Input gain: - + Size - + Size: - + Color - + Color: - + Output - + Output gain: - ReverbSCControls + lmms::gui::SaControlsDialog - - Input gain - - - - - Size - - - - - Color - - - - - Output gain - - - - - SaControls - - + Pause - - Reference freeze - - - - - Waterfall - - - - - Averaging - - - - - Stereo - סטריאו - - - - Peak hold - - - - - Logarithmic frequency - - - - - Logarithmic amplitude - - - - - Frequency range - - - - - Amplitude range - - - - - FFT block size - - - - - FFT window type - - - - - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier - - - - - Averaging weight - - - - - Waterfall history size - - - - - Waterfall gamma correction - - - - - FFT window overlap - - - - - FFT zero padding - - - - - - Full (auto) - - - - - - - Audible - - - - - Bass - - - - - Mids - - - - - High - - - - - Extended - - - - - Loud - - - - - Silent - - - - - (High time res.) - - - - - (High freq. res.) - - - - - Rectangular (Off) - - - - - - Blackman-Harris (Default) - - - - - Hamming - - - - - Hanning - - - - - SaControlsDialog - - - Pause - - - - + Pause data acquisition - + Reference freeze - + Freeze current input as a reference / disable falloff in peak-hold mode. - + Waterfall - + Display real-time spectrogram - + Averaging - + Enable exponential moving average - + Stereo - סטריאו + - + Display stereo channels separately - + Peak hold - + Display envelope of peak values - + Logarithmic frequency - + Switch between logarithmic and linear frequency scale - - + + Frequency range - + Logarithmic amplitude - + Switch between logarithmic and linear amplitude scale - - + + Amplitude range - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - + + FFT block size - - + + FFT window type - - - SampleBuffer - - Fail to open file + + Envelope res. - - Audio files are limited to %1 MB in size and %2 minutes of playing time + + Increase envelope resolution for better details, decrease for better GUI performance. - - Open audio file + + Maximum number of envelope points drawn per pixel: - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) + + Spectrum res. - - Wave-Files (*.wav) + + Increase spectrum resolution for better details, decrease for better GUI performance. - - OGG-Files (*.ogg) + + Maximum number of spectrum points drawn per pixel: - - DrumSynth-Files (*.ds) + + Falloff factor - - FLAC-Files (*.flac) + + Decrease to make peaks fall faster. - - SPEEX-Files (*.spx) + + Multiply buffered value by - - VOC-Files (*.voc) + + Averaging weight - - AIFF-Files (*.aif *.aiff) + + Decrease to make averaging slower and smoother. - - AU-Files (*.au) + + New sample contributes - - RAW-Files (*.raw) + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings - SampleClipView + lmms::gui::SampleClipView - + Double-click to open sample - - Delete (middle mousebutton) - - - - - Delete selection (middle mousebutton) - - - - - Cut - - - - - Cut selection - - - - - Copy - - - - - Copy selection - - - - - Paste - - - - - Mute/unmute (<%1> + middle click) - - - - - Mute/unmute selection (<%1> + middle click) - - - - + Reverse sample - - Set clip color - - - - - Use track color + + Set as ghost in automation editor - SampleTrack + lmms::gui::SampleTrackView - - Volume - ווליום - - - - Panning - - - - + Mixer channel - - - Sample track - - - - - SampleTrackView - - + Track volume - + Channel volume: - - - VOL - ווליום - - Panning - - - - - Panning: + VOL - PAN - - - - - Channel %1: %2 - - - - - SampleTrackWindow - - - GENERAL SETTINGS - - - - - Sample volume - - - - - Volume: - ווליום: - - - - VOL - ווליום - - - Panning - + Panning: - + PAN - + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + Mixer channel - + CHANNEL - SaveOptionsWidget + lmms::gui::SaveOptionsWidget - + Discard MIDI connections - + Save As Project Bundle (with resources) - SetupDialog + lmms::gui::SetupDialog - - Reset to default value - - - - - Use built-in NaN handler - - - - + Settings - - + + General - + Graphical user interface (GUI) - + Display volume as dBFS - + Enable tooltips - + Enable master oscilloscope by default - + Enable all note labels in piano roll - + Enable compact track buttons - + Enable one instrument-track-window mode - + Show sidebar on the right-hand side - + Let sample previews continue when mouse is released - + Mute automation tracks during solo - + Show warning when deleting tracks - - Projects + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + Handles + + + + + Loop edit mode + + + + + Projects + + + + Compress project files by default - + Create a backup file when saving a project - + Reopen last project on startup - + Language - - + + Performance - + Autosave - + Enable autosave - + Allow autosave while playing - + User interface (UI) effects vs. performance - + Smooth scroll in song editor - + Display playback cursor in AudioFileProcessor - + Plugins - + VST plugins embedding: - + No embedding - + Embed using Qt API - + Embed using native Win32 API - + Embed using XEmbed protocol - + Keep plugin windows on top when not embedded - - Sync VST plugins to host playback - - - - + Keep effects running even without input - - + + Audio - + Audio interface - - HQ mode for output audio device - - - - + Buffer size + + + Reset to default value + + - + MIDI - + MIDI interface - + Automatically assign MIDI controller to selected track - - LMMS working directory + + Behavior when recording - - VST plugins directory + + Auto-quantize notes in Piano Roll - - LADSPA plugins directories + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. - - SF2 directory - - - - - Default SF2 - - - - - GIG directory - - - - - Theme directory - - - - - Background artwork - - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - + + Paths - - OK + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + OK + + + + Cancel - + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + Frames: %1 Latency: %2 ms - - Choose your GIG directory + + Choose the LMMS working directory - + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + Choose your SF2 directory - - minutes + + Choose your default SF2 - - minute + + Choose your GIG directory - - Disabled + + Choose your theme directory + + + + + Choose your background picture - SidInstrument + lmms::gui::Sf2InstrumentView - - Cutoff frequency + + + Open SoundFont file - - Resonance + + Choose patch - - Filter type + + Gain: - - Voice 3 off + + Apply reverb (if supported) - - Volume - ווליום + + Room size: + - - Chip model + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) - SidInstrumentView + lmms::gui::SidInstrumentView - + Volume: - ווליום: + - + Resonance: - - + + Cutoff frequency: - + High-pass filter - + Band-pass filter - + Low-pass filter - + Voice 3 off - + MOS6581 SID - + MOS8580 SID - - + + Attack: - - + + Decay: - + Sustain: - - + + Release: - + Pulse Width: - + Coarse: - + Pulse wave - + Triangle wave - + Saw wave - + Noise - + Sync - + Ring modulation - + Filtered - + Test - + Pulse width: - SideBarWidget + lmms::gui::SideBarWidget - + Close - סגור - - - - Song - - - Tempo - - - - - Master volume - - - - - Master pitch - - - - - Aborting project load - - - - - Project file contains local paths to plugins, which could be used to run malicious code. - - - - - Can't load project: Project file contains local paths to plugins. - - - - - LMMS Error report - - - - - (repeated %1 times) - - - - - The following errors occurred while loading: - SongEditor + lmms::gui::SlicerTView - + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + Could not open file - + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - + Operation denied - + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - + + + Error - + Couldn't create bundle folder. - + Couldn't create resources folder. - + Failed to copy resources. - + + Could not write file - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - - This %1 was created with LMMS %2 + + An unknown error has occurred and the file could not be saved. - + Error in file - + The file %1 seems to contain errors and therefore can't be loaded. - - Version difference - - - - + template - + project - + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + Tempo - + TEMPO - + Tempo in BPM - - High quality mode - - - - - - + + + Master volume - - - - Master pitch + + + + Global transposition - + + 1/%1 Bar + + + + + %1 Bars + + + + Value: %1% - - Value: %1 semitones + + Value: %1 keys - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - + Play song (Space) - + Record samples from Audio-device - - Record samples from Audio-device while playing song or BB track + + Record samples from Audio-device while playing song or pattern track - + Stop song (Space) - + Track actions - - Add beat/bassline + + Add pattern-track - + Add sample-track - + Add automation-track - + Edit actions - + Draw mode - + Knife mode (split sample clips) - + Edit mode (select and move) - + Timeline controls - + Bar insert controls - + Insert bar - + Remove bar - + Zoom controls + - Horizontal zooming + Zoom - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - - Close - סגור + + WIDTH + - + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + Maximize - + Restore - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - + No Sync - + Eight beats - + Whole note - + Half note - + Quarter note - + 8th note - + 16th note - + 32nd note - + Custom... - + Custom - + Synced to Eight Beats - + Synced to Whole Note - + Synced to Half Note - + Synced to Quarter Note - + Synced to 8th Note - + Synced to 16th Note - + Synced to 32nd Note - TimeDisplayWidget + lmms::gui::TempoSyncKnob - + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + Time units - + MIN - + SEC - + MSEC - + BAR - + BEAT - + TICK - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - + After stopping keep position - + Hint - + Press <%1> to disable magnetic loop points. - - - Track - - Mute + + Set loop begin here - - Solo + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles - TrackContainer + lmms::gui::TrackContentWidget - - Couldn't import file - - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - - - - - Couldn't open file - - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - - - - - Loading project... - - - - - - Cancel - - - - - - Please wait... - - - - - Loading cancelled - - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - - - - - Importing MIDI-file... - - - - - Clip - - - Mute - - - - - ClipView - - - Current position - - - - - Current length - - - - - - %1:%2 (%3:%4 to %5:%6) - - - - - Press <%1> and drag to make a copy. - - - - - Press <%1> for free resizing. - - - - - Hint - - - - - Delete (middle mousebutton) - - - - - Delete selection (middle mousebutton) - - - - - Cut - - - - - Cut selection - - - - - Merge Selection - - - - - Copy - - - - - Copy selection - - - - - Paste - - - - - Mute/unmute (<%1> + middle click) - - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - - - - - TrackContentWidget - - + Paste - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13454,248 +17726,240 @@ Please make sure you have read-permission to the file and the directory containi - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - + Remove this track - + Clear this track - + Channel %1: %2 - - Assign to new mixer Channel + + Assign to new Mixer Channel - + Turn all recording on - + Turn all recording off + + + Track color + + - Change color + Change + + + + + Reset - Reset color to default + Pick random - Set random color - - - - - Clear clip colors + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - + Modulate frequency of oscillator 1 by oscillator 2 - + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - + Osc %1 panning: - + Osc %1 coarse detuning: - + semitones - + Osc %1 fine detuning left: - - + + cents - + Osc %1 fine detuning right: - + Osc %1 phase-offset: - - + + degrees - + Osc %1 stereo phase-detuning: - + Sine wave - + Triangle wave - + Saw wave - + Square wave - + Moog-like saw wave - + Exponential wave - + White noise - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13710,2618 +17974,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog + lmms::gui::VersionedSaveDialog - + Increment version number - + Decrement version number - + Save Options - + already exists. Do you want to replace it? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - + Save preset - + Next (+) - + Show/hide GUI - + Turn off all notes - + DLL-files (*.dll) - + EXE-files (*.exe) - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - + by - + - VST plugin control - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + + + + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + Show/hide - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - + Next (+) - + Save preset - - + + Effect by: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. + + + + + Volume - - Open Preset - - - - - - Vst Plugin Preset (*.fxp *.fxb) - - - - - : default - - - - - Save Preset - - - - - .fxp - - - - - .FXP - - - - - .FXB - - - - - .fxb - - - - - Loading plugin - - - - - Please wait while loading VST plugin... - - - - - WatsynInstrument - - - Volume A1 - - - - - Volume A2 - - - - - Volume B1 - - - - - Volume B2 - - - - - Panning A1 - - - - - Panning A2 - - - - - Panning B1 - - - - - Panning B2 - - - - - Freq. multiplier A1 - - - - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - - - - - WatsynView - + + - - - Volume - ווליום - - - - - - Panning - - - - + + + + Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - - - - + + + + Right detune - + A-B Mix - + Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - + Select oscillator A2 - + Select oscillator B1 - + Select oscillator B2 - + Mix output of A2 to A1 - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - + Load waveform - + Load a waveform from a sample file - + Phase left - + Shift phase by -15 degrees - + Phase right - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - - - - - Invert - - + + Smooth - - + + Sine wave - - - + + + Triangle wave - + Saw wave - - + + Square wave - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - - - - - A1 - - - - - A2 - - - - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Select oscillator W1 - - - - - Select oscillator W2 - - - - - Select oscillator W3 - - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - - - - - - Sine wave - - - - - - Moog-saw wave - - - - - - Exponential wave - - - - - - Saw wave - - - - - - User-defined wave - - - - - - Triangle wave - - - - - - Square wave - - - - - - White noise - - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - - - - - PORT - - - - - Filter frequency: - - - - - FREQ - - - - - Filter resonance: - - - - - RES - - - - - Bandwidth: - - - - - BW - - - - - FM gain: - - - - - FM GAIN - - - - - Resonance center frequency: - - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - - - - - Forward MIDI control changes - - - - - Show GUI - - - - - AudioFileProcessor - - - Amplify - - - - - Start of sample - - - - - End of sample - - - - - Loopback point - - - - - Reverse sample - - - - - Loop mode - - - - - Stutter - - - - - Interpolation mode - - - - - None - - - - - Linear - - - - - Sinc - - - - - Sample not found: %1 - - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - - Sine wave - - - - - - Triangle wave - - - - - - Saw wave - - - - - - Square wave - - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - Interpolation - - - - - Normalize - - - - - DynProcControlDialog - - + INPUT - + Input gain: - + OUTPUT - - - Output gain: - - - - - ATTACK - - - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - - - - DynProcControls - - - Input gain - - - - - Output gain - - - - - Attack time - - - - - Release time - - - - - Stereo mode - - - - - graphModel - - - Graph - - - - - KickerInstrument - - - Start frequency - - - - - End frequency - - - - - Length - - - - - Start distortion - - - - - End distortion - - - - - Gain - - - - - Envelope slope - - - - - Noise - - - - - Click - - - - - Frequency slope - - - - - Start from note - - - - - End to note - - - - - KickerInstrumentView - - - Start frequency: - - - - - End frequency: - - - - - Frequency slope: - - - - - Gain: - - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - - - - - Noise: - - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - - - - - - Unavailable Effects - - - - - - Instruments - - - - - - Analysis Tools - - - - - - Don't know - - - - - Type: - - - - - LadspaDescription - - - Plugins - - - - - Description - - - - - LadspaPortDialog - - - Ports - - - - - Name - - - - - Rate - - - - - Direction - - - - - Type - - - - - Min < Default < Max - - - - - Logarithmic - - - - - SR Dependent - - - - - Audio - - - - - Control - - - - - Input - - - - - Output - - - - - Toggled - - - - - Integer - - - - - Float - - - - - - Yes - - - - - Lb302Synth - - - VCF Cutoff Frequency - - - - - VCF Resonance - - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - - - - - Waveform - - - - - Slide Decay - - - - - Slide - - - - - Accent - - - - - Dead - - - - - 24dB/oct Filter - - - - - Lb302SynthView - - - Cutoff Freq: - - - - - Resonance: - - - - - Env Mod: - - - - - Decay: - - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - - - - - Click here for a saw-wave. - - - - - Triangle wave - - - - - Click here for a triangle-wave. - - - - - Square wave - - - - - Click here for a square-wave. - - - - - Rounded square wave - - - - - Click here for a square-wave with a rounded end. - - - - - Moog wave - - - - - Click here for a moog-like wave. - - - - - Sine wave - - - - - Click for a sine-wave. - - - - - - White noise wave - - - - - Click here for an exponential wave. - - - - - Click here for white-noise. - - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - - - - - Position - - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - - - - - Crossfade - - - - - LFO speed - - - - - LFO depth - - - - - ADSR - - - - - Pressure - - - - - Motion - - - - - Speed - - - - - Bowed - - - - - Spread - - - - - Marimba - - - - - Vibraphone - - - - - Agogo - - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - - - - - Spread - - - - - Spread: - - - - - Missing files - - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - - Hardness - - - - - Hardness: - - - - - Position - - - - - Position: - - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - - - - - Modulator: - - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - - - - - LFO speed: - - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - - - - - ADSR: - - - - - Pressure - - - - - Pressure: - - - - - Speed - - - - - Speed: - - - - - ManageVSTEffectView - - - - VST parameter control - - - - - VST sync - - - - - - Automated - - - - - Close - - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - - - - VST Sync - - - - - - Automated - - - - - Close - - - - - OrganicInstrument - - - Distortion - - - - - Volume - ווליום - - - - OrganicInstrumentView - - - Distortion: - - - - - Volume: - ווליום: - - - - Randomise - - - - - - Osc %1 waveform: - - - - - Osc %1 volume: - - - - - Osc %1 panning: - - - - - Osc %1 stereo detuning - - - - - cents - - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - - - - - Program selector - - - - - Patch - - - - - Name - - - - - OK - - - - - Cancel - - - - - Sf2Instrument - - - Bank - - - - - Patch - - - - - Gain - - - - - Reverb - - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - - - - - Sf2InstrumentView - - - - Open SoundFont file - - - - - Choose patch - - - - - Gain: - - - - - Apply reverb (if supported) - - - - - Room size: - - - - - Damping: - - - - - Width: - - - - - - Level: - - - - - Apply chorus (if supported) - - - - - Voices: - - - - - Speed: - - - - - Depth: - - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - - - - - StereoEnhancerControls - - - Width - - - - - StereoMatrixControlDialog - - - Left to Left Vol: - - - - - Left to Right Vol: - - - - - Right to Left Vol: - - - - - Right to Right Vol: - - - - - StereoMatrixControls - - - Left to Left - - - - - Left to Right - - - - - Right to Left - - - - - Right to Right - - - - - VestigeInstrument - - - Loading plugin - - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - - - - - Impulse Editor - - - - - Enable waveform - - - - - Enable/disable string - - - - - String - - - - - - Sine wave - - - - - - Triangle wave - - - - - - Saw wave - - - - - - Square wave - - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - - - - - Voice %1 sync - - - - - Voice %1 ring modulate - - - - - Voice %1 filtered - - - - - Voice %1 test - - - - - WaveShaperControlDialog - - - INPUT - - - - - Input gain: - - - - - OUTPUT - - - - - Output gain: - - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain + + Draw your own waveform here by dragging your mouse on this graph. - - Output gain + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/hu_HU.ts b/data/locale/hu_HU.ts index 88ef6a431..a15c5d42c 100644 --- a/data/locale/hu_HU.ts +++ b/data/locale/hu_HU.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,811 +70,44 @@ Ha szeretnél részt venni az LMMS más nyelvekre történő fordításában vag - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL + + About JUCE + - - Volume: - Hangerő: + + <b>About JUCE</b> + - - PAN - PAN + + This program uses JUCE version 3.x.x. + - - Panning: - Panoráma: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + - - LEFT - BAL - - - - Left gain: - Bal oldali erősítés: - - - - RIGHT - JOBB - - - - Right gain: - Jobb oldali erősítés: + + This program uses JUCE version + - AmplifierControls + AudioDeviceSetupWidget - - Volume - Hangerő - - - - Panning - Panoráma - - - - Left gain - Bal oldali erősítés - - - - Right gain - Jobb oldali erősítés - - - - AudioAlsaSetupWidget - - - DEVICE - ESZKÖZ - - - - CHANNELS - CSATORNÁK - - - - AudioFileProcessorView - - - Open sample - Minta megnyitása - - - - Reverse sample - Minta megfordítása - - - - Disable loop - Ismétlés tiltása - - - - Enable loop - Ismétlés engedélyezése - - - - Enable ping-pong loop - Oda-vissza ismétlés engedélyezése - - - - Continue sample playback across notes - Folyamatos lejátszás több note-on keresztül - - - - Amplify: - Erősítés: - - - - Start point: - Kezdőpont: - - - - End point: - Végpont: - - - - Loopback point: - Visszatérési pont: - - - - AudioFileProcessorWaveView - - - Sample length: - Minta hossza: - - - - AudioJack - - - JACK client restarted - JACK kliens újraindítva - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - A JACK kirúgta az LMMS-t valamilyen oknál fogva, ezért az LMMS JACK backendje újra lett indítva. A kapcsolatokat manuálisan kell újra létrehozni. - - - - JACK server down - JACK szerver leállt - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Úgy tűnik, a JACK kiszolgáló leállt, és új példány indítása nem sikerült. Ennél fogva az LMMS nem képes tovább működni. Kérjük, mentsd a projektet és indítsd újra a JACK-et és LMMS-t. - - - - Client name - Kliens név - - - - Channels - Csatornák - - - - AudioOss - - - Device - Eszköz - - - - Channels - Csatornák - - - - AudioPortAudio::setupWidget - - - Backend - Backend - - - - Device - Eszköz - - - - AudioPulseAudio - - - Device - Eszköz - - - - Channels - Csatornák - - - - AudioSdl::setupWidget - - - Device - Eszköz - - - - AudioSndio - - - Device - Eszköz - - - - Channels - Csatornák - - - - AudioSoundIo::setupWidget - - - Backend - Backend - - - - Device - Eszköz - - - - AutomatableModel - - - &Reset (%1%2) - &Visszaállítás (%1%2) - - - - &Copy value (%1%2) - Érték &másolása (%1%2) - - - - &Paste value (%1%2) - Érték &beillesztése (%1%2) - - - - &Paste value - Érték &beillesztése - - - - Edit song-global automation - Globális automatizáció szerkesztése - - - - Remove song-global automation - Globális automatizáció eltávolítása - - - - Remove all linked controls - Minden kapcsolt vezérlő eltávolítása - - - - Connected to %1 - Csatlakozva ehhez: %1 - - - - Connected to controller - Csatlakozva a vezérlőhöz - - - - Edit connection... - Kapcsolat szerkesztése... - - - - Remove connection - Kapcsolat eltávolítása - - - - Connect to controller... - Csatlakozás a vezérlőhöz... - - - - AutomationEditor - - - Edit Value - Érték megadása - - - - New outValue - Kimenő érték - - - - New inValue - Bemenő érték - - - - Please open an automation clip with the context menu of a control! - Nyiss meg egy automatizációs klipet dupla kattintással! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Klip lejátszása/megállítása (Space) - - - - Stop playing of current clip (Space) - Lejátszás leállítása (Space) - - - - Edit actions - Műveletek szerkesztése - - - - Draw mode (Shift+D) - Beszúrás (Shift+D) - - - - Erase mode (Shift+E) - Törlés (Shift+E) - - - - Draw outValues mode (Shift+C) - Kimenő érték beszúrása (Shift+C) - - - - Flip vertically - Függőleges tükrözés - - - - Flip horizontally - Vízszintes tükrözés - - - - Interpolation controls - Interpoláció vezérlők - - - - Discrete progression - Diszkrét átmenet - - - - Linear progression - Lineáris átmenet - - - - Cubic Hermite progression - Köbös Hermite átmenet - - - - Tension value for spline - Spline feszítése - - - - Tension: - Feszítés: - - - - Zoom controls - Nagyítás vezérlők - - - - Horizontal zooming - Vízszintes nagyítás - - - - Vertical zooming - Függőleges nagyítás - - - - Quantization controls - Kvantálás vezérlők - - - - Quantization - Kvantálás - - - - - Automation Editor - no clip - Automatizáció Szerkesztő - - - - - Automation Editor - %1 - Automatizáció Szerkesztő - %1 - - - - Model is already connected to this clip. - Ez a vezérlő már csatlakoztatva van a kliphez. - - - - AutomationClip - - - Drag a control while pressing <%1> - Húzz ide egy vezérlőt <%1> nyomvatartása mellett - - - - AutomationClipView - - - Open in Automation editor - Megnyitás az Automatizáció Szerkesztőben - - - - Clear - Tartalom törlése - - - - Reset name - Név visszaállítása - - - - Change name - Átnevezés - - - - Set/clear record - Felvétel be/ki - - - - Flip Vertically (Visible) - Látható terület függőleges tükrözése - - - - Flip Horizontally (Visible) - Látható terület vízszintes tükrözése - - - - %1 Connections - %1 Kapcsolat - - - - Disconnect "%1" - "%1" leválasztása - - - - Model is already connected to this clip. - Ez a vezérlő már csatlakoztatva van a kliphez. - - - - AutomationTrack - - - Automation track - Automatizáció sáv - - - - PatternEditor - - - Beat+Bassline Editor - Beat+Bassline szerkesztő - - - - Play/pause current beat/bassline (Space) - Klip lejátszása/megállítása (Space) - - - - Stop playback of current beat/bassline (Space) - Lejátszás leállítása (Space) - - - - Beat selector - Ütem választó - - - - Track and step actions - Sáv és lépés műveletek - - - - Add beat/bassline - Beat/Bassline sáv hozzáadása - - - - Clone beat/bassline clip - Beat/Bassline sáv klónozása - - - - Add sample-track - Hangminta sáv hozzáadása - - - - Add automation-track - Automatizáció sáv hozzáadása - - - - Remove steps - Lépések eltávolítása - - - - Add steps - Lépések hozzáadása - - - - Clone Steps - Megduplázás - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Megnyitás a Beat+Bassline szerkesztőben - - - - Reset name - Név visszaállítása - - - - Change name - Átnevezés - - - - PatternTrack - - - Beat/Bassline %1 - Beat/Bassline %1 - - - - Clone of %1 - %1 másolata - - - - BassBoosterControlDialog - - - FREQ - FREKV - - - - Frequency: - Frekvencia: - - - - GAIN - ERŐSÍTÉS - - - - Gain: - Erősítés: - - - - RATIO - ARÁNY - - - - Ratio: - Arány: - - - - BassBoosterControls - - - Frequency - Frekvencia - - - - Gain - Erősítés - - - - Ratio - Arány - - - - BitcrushControlDialog - - - IN - BE - - - - OUT - KI - - - - - GAIN - ERŐSÍTÉS - - - - Input gain: - Bemeneti erősítés: - - - - NOISE - ZAJ - - - - Input noise: - Bemeneti zaj: - - - - Output gain: - Kimeneti erősítés: - - - - CLIP - CLIP - - - - Output clip: - Kimenet levágása: - - - - Rate enabled - Mintavételi gyakoriság - - - - Enable sample-rate crushing - Mintavételi frekvencia csökkentése - - - - Depth enabled - Bitmélység - - - - Enable bit-depth crushing - Bitmélység csökkentése - - - - FREQ - FREKV - - - - Sample rate: - Mintavételi frekvencia: - - - - STEREO - SZTEREÓ - - - - Stereo difference: - Sztereó különbség: - - - - QUANT - QUANT - - - - Levels: - Szintek: - - - - BitcrushControls - - - Input gain - Bemeneti erősítés - - - - Input noise - Bemeneti zaj - - - - Output gain - Kimeneti erősítés - - - - Output clip - Kimenet levágása - - - - Sample rate - Mintavételi frekvencia - - - - Stereo difference - Sztereó különbség - - - - Levels - Szintek - - - - Rate enabled - Mintavételi gyakoriság - - - - Depth enabled - Bitmélység + + [System Default] + @@ -900,124 +133,124 @@ Ha szeretnél részt venni az LMMS más nyelvekre történő fordításában vag Részletes licensz helye - + Artwork Grafika - + Using KDE Oxygen icon set, designed by Oxygen Team. KDE Oxygen ikonkészlet, tervezte az Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. Néhány gomb, háttér és egyéb grafikus elem a Calf Studio Gear, OpenAV és OpenOctave projektekből. - + VST is a trademark of Steinberg Media Technologies GmbH. A VST a Steinberg Media Technologies GmbH. védjegye. - + Special thanks to António Saraiva for a few extra icons and artwork! Külön köszönet António Saraivának a további ikonokért és grafikus elemekért! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. Az LV2 logót tervezte Thorsten Wilms, Peter Shorthose ötlete alapján. - + MIDI Keyboard designed by Thorsten Wilms. A MIDI billentyűzetet tervezte Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. A Carla, Carla-Control és Patchbay ikonokat tervezte: DoosC - + Features Szolgáltatások - + AU/AudioUnit: AU/AudioUnit: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel TextLabel - + VST2: VST2: - + DSSI: DSSI: - + LV2: LV2: - + VST3: VST3: - + OSC OSC - + Host URLs: Hoszt URL-ek: - + Valid commands: Érvényes parancsok: - + valid osc commands here érvényes osc parancsok helye - + Example: Példa: - + License Licenc - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1302,50 +535,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version OSC Bridge verzió - + Plugin Version - Plugin verzió + Bővítmény verzió - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> <br>Verzió: %1<br>A Carla egy teljes értékű audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) (A motor nem fut) - + Everything! (Including LRDF) Minden! (Az LRDF-et is beleértve) - + Everything! (Including CustomData/Chunks) Minden! (CustomData/Chunks beleértve) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> Körülbelül 110&#37;-ig teljes (egyedi bővítményekkel)<br/>Elérhető szolgáltatások/bővítmények:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host JUCE host használatával - + About 85% complete (missing vst bank/presets and some minor stuff) Körülbelül 85%-ig teljes (VST bankok/presetek és néhány apróbb dolog hiányzik) @@ -1378,563 +611,600 @@ POSSIBILITY OF SUCH DAMAGES. Betöltés... - - Buffer Size: - Buffer méret: + + Save + - + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + + Buffer Size: + Pufferméret: + + + Sample Rate: Mintavételi frekvencia: - + ? Xruns ? Xrun - + DSP Load: %p% DSP terhelés: %p% - + &File &Fájl - + &Engine &Motor - + &Plugin &Plugin - + Macros (all plugins) - Makrók (minden plugin) + Makrók (minden bővítmény) - + &Canvas &Vászon - + Zoom Nagyítás - + &Settings &Beállítások - + &Help &Súgó - - toolBar - toolBar + + Tool Bar + - + Disk Lemez - - + + Home Kezdőlap - + Transport Továbbítás - + Playback Controls Lejátszás vezérlők - + Time Information Idő Információ - + Frame: - + Keret: - + 000'000'000 000'000'000 - + Time: Idő: - + 00:00:00 00:00:00 - + BBT: BBT: - + 000|00|0000 000|00|0000 - + Settings Beállítások - + BPM BPM - + Use JACK Transport JACK Transport használata - + Use Ableton Link Ableton Link használata - + &New &Új - + Ctrl+N Ctrl+N - + &Open... &Megnyitás... - - + + Open... Megnyitás... - + Ctrl+O Ctrl+O - + &Save &Mentés - + Ctrl+S Ctrl+S - + Save &As... Mentés &másként... - - + + Save As... Mentés másként... - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit &Kilépés - + Ctrl+Q Ctrl+Q - + &Start &Start - + F5 F5 - + St&op St&op - + F6 F6 - + &Add Plugin... - Plugin &hozzáadása... + Bővítmény &hozzáadása... - + Ctrl+A Ctrl+A - + &Remove All Összes &eltávolítása - + Enable Engedélyezés - + Disable Tiltás - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) 0% Hangerő (Némítás) - + 100% Volume 100% Hangerő - + Center Balance Balansz középre állítása - + &Play &Lejátszás - + Ctrl+Shift+P Ctrl+Shift+P - + &Stop &Stop - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards &Vissza - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards &Előre - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange &Rendezés - + Ctrl+G Ctrl+G - - + + &Refresh &Frissítés - + Ctrl+R Ctrl+R - + Save &Image... &Kép mentése... - + Auto-Fit Automatikus kitöltés - + Zoom In Nagyítás - + Ctrl++ Ctrl++ - + Zoom Out Kicsinyítés - + Ctrl+- Ctrl+- - + Zoom 100% Nagyítás 100% - + Ctrl+1 Ctrl+1 - + Show &Toolbar &Eszköztár megjelenítése - + &Configure Carla Carla &konfigurálása - + &About &Névjegy - + About &JUCE &JUCE névjegye - + About &Qt &Qt névjegye - + Show Canvas &Meters &Kivezérlésmérő megjelenítése - + Show Canvas &Keyboard &Billentyűzet megjelenítése - + Show Internal Belső - + Show External Külső - + Show Time Panel - + Idő panel megjelenítése - + Show &Side Panel Oldalsó &panel megjelenítése - + + Ctrl+P + + + + &Connect... &Csatlakozás - + Compact Slots - + Rekeszek összecsukása - + Expand Slots - + Rekeszek kinyitása - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... &JACK alkalmazás hozzáadása... - + &Configure driver... &Driver konfigurálása... - + Panic Pánik - + Open custom driver panel... Driver vezérlőpaneljének megnyitása... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... Exportálás... - - - - + + + + Error Hiba - + Failed to load project Nem sikerült betölteni a projektet - + Failed to save project Nem sikerült menteni a projektet - + Quit Kilépés - + Are you sure you want to quit Carla? Biztosan ki akarsz lépni? - + Could not connect to Audio backend '%1', possible reasons: %2 Nem sikerült a(z) '%1' audio backendhez csatlakozni. Lehetséges okok: %2 - + Could not connect to Audio backend '%1' Nem sikerült a(z) '%1' audio backendhez csatlakozni. - + Warning Figyelmeztetés - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - Néhány plugin még be van töltve, ezeket el kell távolítani a motor leállításához.. + Néhány bővítmény még be van töltve, ezeket el kell távolítani a motor leállításához. Szeretnéd ezt most megtenni? - - CarlaInstrumentView - - - Show GUI - GUI megjelenítése - - CarlaSettingsW @@ -1989,19 +1259,19 @@ Szeretnéd ezt most megtenni? - + Main - + Canvas Vászon - + Engine Motor @@ -2013,7 +1283,7 @@ Szeretnéd ezt most megtenni? Plugin Paths - Plugin útvonalak + Bővítmény útvonalak @@ -2022,1488 +1292,590 @@ Szeretnéd ezt most megtenni? - + Experimental Kísérleti - + <b>Main</b> <b>Fő</b> - + Paths Útvonalak - + Default project folder: Alapértelmezett projekt mappa: - + Interface Felület: - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Felület frissítési gyakorisága: - - + + ms ms - + Show console output in Logs tab (needs engine restart) Konzol kimenet megjelenítése a Napló lapon (motor újraindítása szükséges) - + Show a confirmation dialog before quitting Megerősítés kilépés előtt - - + + Theme Téma - + Use Carla "PRO" theme (needs restart) Carla "PRO" téma használata (újraindítást igényel) - + Color scheme: Színséma: - + Black Sötét - + System Rendszer - + Enable experimental features Kísérleti funkciók engedélyezése - + <b>Canvas</b> <b>Vászon</b> - + Bezier Lines Bezier-vonalak - + Theme: Téma: - + Size: Méret: - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + + + + Options Opciók - + Auto-hide groups with no ports Port nélküli csoportok automatikus elrejtése - + Auto-select items on hover Elemek kijelölése rámutatáskor - + Basic eye-candy (group shadows) Árnyékok - + Render Hints Megjelenítés - + Anti-Aliasing Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) Teljes vászon újrarajzolása (lassabb, de megelőzheti a grafikai problémákat) - + <b>Engine</b> <b>Motor</b> - - + + Core Mag - + Single Client Egy kliens - + Multiple Clients Több kliens - - + + Continuous Rack Összefüggő rack - - + + Patchbay Patchbay - + Audio driver: Audió driver: - + Process mode: Működési mód: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog Paraméterek maximális száma a Szerkesztés ablakban - + Max Parameters: - + Maximális paraméterszám: - + ... ... - + Reset Xrun counter after project load Xrun számláló lenullázása projekt betöltésekor - + Plugin UIs - Pluginek felülete + Bővítmények felülete - - + + How much time to wait for OSC GUIs to ping back the host Várakozás az OSC GUI válaszára - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + OSC-GUI hidak használata lehetőség szerint, így elkülönítve a felhasználói felületet a DSP kódtól. - + Use UI bridges instead of direct handling when possible UI hidak kasználata közvetlen kezelés helyett, ha lehetséges - + Make plugin UIs always-on-top - A plugin-ablakok mindig felül legyenek + A bővítmény-ablakok mindig felül legyenek - + Make plugin UIs appear on top of Carla (needs restart) - Pluginek felületének megjelenítése a Carla felett (újraindítást igényel) + Bővítmények felületének megjelenítése a Carla felett (újraindítást igényel) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings Indítsd újra a motort az új beállítások betöltéséhez - + <b>OSC</b> <b>OSC</b> - + Enable OSC OSC engedélyezése - + Enable TCP port TCP port engedélyezése - - + + Use specific port: Megadott port használata: - + Overridden by CARLA_OSC_TCP_PORT env var Felülírja a CARLA_OSC_TCP_PORT környezeti változó - - + + Use randomly assigned port Véletlenszerű portszám használata - + Enable UDP port UDP port engedélyezése - + Overridden by CARLA_OSC_UDP_PORT env var Felülírja a CARLA_OSC_UDP_PORT környezeti változó - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> <b>Fájl útvonalak</b> - + Audio Audió - + MIDI MIDI - + Used for the "audiofile" plugin - Az "audiofile" plugin számára + Az "audiofile" bővítmény számára - + Used for the "midifile" plugin - A "midifile" plugin számára + A "midifile" bővítmény számára - - + + Add... Hozzáadás... - - + + Remove Eltávolítás - - + + Change... Módosít... - + <b>Plugin Paths</b> - <b>Plugin útvonalak</b> + <b>Bővítmény útvonalak</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> <b>Wine</b> - + Executable Futtatható - + Path to 'wine' binary: A 'wine' futtatható állomány útvonala: - + Prefix Prefix - + Auto-detect Wine prefix based on plugin filename - Wine prefix automatikus felismerése a plugin fájlneve alapján + Wine prefix automatikus felismerése a bővítmény fájlneve alapján - + Fallback: Tartalék: - + Note: WINEPREFIX env var is preferred over this fallback Megjegyzés: A WINEPREFIX környezeti változó ezt a beállítást felülbírálja. - + Realtime Priority Valósidejű prioritás - + Base priority: Alap prioritás: - + WineServer priority: WineServer prioritás: - + These options are not available for Carla as plugin - Ezek a beállítások nem elérhetők a Carla pluginként való használatakor. + Ezek a beállítások nem elérhetők a Carla bővítményként való használatakor. - + <b>Experimental</b> <b>Kísérleti</b> - + Experimental options! Likely to be unstable! Ezen funkciók használata instabilitáshoz vezethet! - + Enable plugin bridges Plugin hidak engedélyezése - + Enable Wine bridges Wine hidak engedélyezése - + Enable jack applications JACK alkalmazások engedélyezése - + Export single plugins to LV2 - - Load Carla backend in global namespace (NOT RECOMMENDED) + + Use system/desktop-theme icons (needs restart) - + + Load Carla backend in global namespace (NOT RECOMMENDED) + A Carla backend betöltése globális névtérben (NEM JAVASOLT) + + + Fancy eye-candy (fade-in/out groups, glow connections) Vizuális effektusok - + Use OpenGL for rendering (needs restart) OpenGL használata a rendereléshez (újraindítást igényel) - + High Quality Anti-Aliasing (OpenGL only) Magas minőségű anti-aliasing (csak OpenGL) - + Render Ardour-style "Inline Displays" Ardour-féle "Inline kijelzők" megjelenítése - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - Monó pluginek használata sztereóként 2 példány futtatásával. -Ez a mód nem elérhető VST pluginek esetén. + Monó bővítmények használata sztereóként 2 példány futtatásával. +Ez a mód nem elérhető VST bővítmények esetén. - + Force mono plugins as stereo - Monó pluginek kényszerítése sztereóként + Monó bővítmények használata sztereóként - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path Útvonal hozzáadása - - CompressorControlDialog - - - Threshold: - Küszöb: - - - - Volume at which the compression begins to take place - Az a jelszint, amely felett a kompresszió elkezdődik - - - - Ratio: - Arány: - - - - How far the compressor must turn the volume down after crossing the threshold - Mennyire csökkentse a jelszintet a kompresszor a küszöb átlépése után - - - - Attack: - Attack: - - - - Speed at which the compressor starts to compress the audio - A kompresszió kezdetének sebessége - - - - Release: - Release: - - - - Speed at which the compressor ceases to compress the audio - A kompresszió megszűnésének sebessége - - - - Knee: - Lekerekítés: - - - - Smooth out the gain reduction curve around the threshold - Az erősítési görbe lekerekítése a küszöbérték körül - - - - Range: - Tartomány: - - - - Maximum gain reduction - Maximális jelszint-csökkentés - - - - Lookahead Length: - Előretekintés hossza: - - - - How long the compressor has to react to the sidechain signal ahead of time - A kompresszor ennyi idővel előre reagál a sidechain jelre. - - - - Hold: - Tartás: - - - - Delay between attack and release stages - Az attack és release fázisok közötti késleltetés - - - - RMS Size: - RMS méret: - - - - Size of the RMS buffer - Az RMS puffer mérete - - - - Input Balance: - Bemeneti balansz: - - - - Bias the input audio to the left/right or mid/side - Bemenet eltolása bal/jobb vagy mid/side irányban - - - - Output Balance: - Kimeneti balansz: - - - - Bias the output audio to the left/right or mid/side - Kimenet eltolása bal/jobb vagy mid/side irányban - - - - Stereo Balance: - Sztereó balansz: - - - - Bias the sidechain signal to the left/right or mid/side - Sidechain jel eltolása bal/jobb vagy mid/side irányban - - - - Stereo Link Blend: - Sztereó mód keverése: - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - Sztereó módok közötti keverés - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - Keverés: - - - - Balance between wet and dry signals - A nyers és a feldolgozott jel aránya - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Kimeneti erősítés - - - - - Gain - Erősítés - - - - Output volume - Kimeneti hangerő - - - - Input gain - Bemeneti erősítés - - - - Input volume - Bemeneti hangerő - - - - Root Mean Square - Négyzetes közép - - - - Use RMS of the input - Bemenet RMS értékének használata - - - - Peak - Csúcsérték - - - - Use absolute value of the input - Bemenet abszolútértékének használata - - - - Left/Right - Bal/Jobb - - - - Compress left and right audio - - - - - Mid/Side - Mid/Side - - - - Compress mid and side audio - - - - - Compressor - Kompresszor - - - - Compress the audio - Audió jel kompresszálása - - - - Limiter - Limiter - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - Az arány végtelenre állítása (nem garantált a jelszint-korlátozás) - - - - Unlinked - Független - - - - Compress each channel separately - Csatornák kezelése egymástól függetlenül - - - - Maximum - Maximum - - - - Compress based on the loudest channel - A leghangosabb csatorna alapján - - - - Average - Átlag - - - - Compress based on the averaged channel volume - A csatornák átlaga alapján - - - - Minimum - Minimum - - - - Compress based on the quietest channel - A leghalkabb csatorna alapján - - - - Blend - Keverés - - - - Blend between stereo linking modes - Sztereó módok közötti keverés - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - Különbségi jel hallgatása - - - - Use the compressor's output as the sidechain input - A kompresszor kimenetének használata sidechain bemenetként - - - - Lookahead Enabled - Előretekintés engedélyezése - - - - Enable Lookahead, which introduces 20 milliseconds of latency - Előretekintés engedélyezése, mely 20 ms késést eredményez. - - - - CompressorControls - - - Threshold - Küszöb - - - - Ratio - Arány - - - - Attack - Attack - - - - Release - Release - - - - Knee - Lekerekítés - - - - Hold - Tartás - - - - Range - Tartomány - - - - RMS Size - RMS méret - - - - Mid/Side - Mid/Side - - - - Peak Mode - Csúcsérték mód - - - - Lookahead Length - Előretekintés hossza - - - - Input Balance - Bemeneti balansz - - - - Output Balance - Kimeneti balansz - - - - Limiter - Limiter - - - - Output Gain - Kimeneti erősítés - - - - Input Gain - Bemeneti erősítés - - - - Blend - Keverés - - - - Stereo Balance - Sztereó balansz - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Visszacsatolás - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - Előretekintés - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - Sztereó összekapcsolás - - - - Mix - Keverés - - - - Controller - - - Controller %1 - Vezérlő %1 - - - - ControllerConnectionDialog - - - Connection Settings - Kapcsolat tulajdonságai - - - - MIDI CONTROLLER - MIDI VEZÉRLŐ - - - - Input channel - Bemeneti csatorna - - - - CHANNEL - CSATORNA - - - - Input controller - Bemeneti eszköz - - - - CONTROLLER - VEZÉRLŐ - - - - - Auto Detect - Automatikus felismerés - - - - MIDI-devices to receive MIDI-events from - MIDI események fogadása erről az eszközről - - - - USER CONTROLLER - SZOFTVERES VEZÉRLŐ - - - - MAPPING FUNCTION - HOZZÁRENDELÉSI FÜGGVÉNY - - - - OK - OK - - - - Cancel - Mégse - - - - LMMS - LMMS - - - - Cycle Detected. - Körkörös hozzárendelés. - - - - ControllerRackView - - - Controller Rack - Vezérlő Rack - - - - Add - Hozzáadás - - - - Confirm Delete - Törlés megerősítése - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Biztosan törlöd? Ehhez a vezérlőhöz működő kapcsolatok tartoznak. A visszavonás nem lehetséges. - - - - ControllerView - - - Controls - Paraméterek - - - - Rename controller - Vezérlő átnevezése - - - - Enter the new name for this controller - Add meg a vezérlő új nevét - - - - LFO - LFO - - - - &Remove this controller - Vezérlő &törlése - - - - Re&name this controller - Vezérlő át&nevezése - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Sáv 1/2 frekvencia: - - - - Band 2/3 crossover: - Sáv 2/3 frekvencia: - - - - Band 3/4 crossover: - Sáv 3/4 frekvencia: - - - - Band 1 gain - Sáv 1 erősítés - - - - Band 1 gain: - Sáv 1 erősítés: - - - - Band 2 gain - Sáv 2 erősítés - - - - Band 2 gain: - Sáv 2 erősítés: - - - - Band 3 gain - Sáv 3 erősítés - - - - Band 3 gain: - Sáv 3 erősítés: - - - - Band 4 gain - Sáv 4 erősítés - - - - Band 4 gain: - Sáv 4 erősítés: - - - - Band 1 mute - Sáv 1 némítás - - - - Mute band 1 - Sáv 1 némítás - - - - Band 2 mute - Sáv 2 némítás - - - - Mute band 2 - Sáv 2 némítás - - - - Band 3 mute - Sáv 3 némítás - - - - Mute band 3 - Sáv 3 némítás - - - - Band 4 mute - Sáv 4 némítás - - - - Mute band 4 - Sáv 4 némítás - - - - DelayControls - - - Delay samples - Késleltetési idő - - - - Feedback - Visszacsatolás - - - - LFO frequency - LFO frekvencia - - - - LFO amount - LFO mennyiség - - - - Output gain - Kimeneti erősítés - - - - DelayControlsDialog - - - DELAY - IDŐ - - - - Delay time - Késleltetési idő - - - - FDBK - FDBK - - - - Feedback amount - Visszacsatolás mennyisége: - - - - RATE - FREKV - - - - LFO frequency - LFO frekvencia - - - - AMNT - AMNT - - - - LFO amount - LFO mennyiség - - - - Out gain - Kimeneti erősítés - - - - Gain - Erősítés - - Dialog - - - Add JACK Application - JACK alkalmazás hozzáadása - - - - Note: Features not implemented yet are greyed out - Megjegyzés: A nem implementált funkciók szürkével jelennek meg. - - - - Application - Alkalmazás - - - - Name: - Név: - - - - Application: - Alkalmazás: - - - - From template - Sablonból - - - - Custom - Egyéni - - - - Template: - Sablon: - - - - Command: - Parancs: - - - - Setup - Beállítások - - - - Session Manager: - Munkamenet kezelő: - - - - None - Nincs - - - - Audio inputs: - Audió bemenetek: - - - - MIDI inputs: - MIDI bemenetek: - - - - Audio outputs: - Audió kimenetek: - - - - MIDI outputs: - MIDI kimenetek: - - - - Take control of main application window - Irányítás átvétele az alkalmazás fő ablaka felett - - - - Workarounds - Kerülő megoldások - - - - Wait for external application start (Advanced, for Debug only) - Várakozás a külső alkalmazás indulására (Haladó, csak hibakeresési célra) - - - - Capture only the first X11 Window - Csak az első X11 ablak elkapása - - - - Use previous client output buffer as input for the next client - Előző kliens kimeneti pufferének használata a következő kliens bemeneteként - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - 16 JACK MIDI kimenet szimulálása, ahol a port száma a MIDI csatornát jelöli - - - - Error here - Hiba helye - Carla Control - Connect @@ -3529,28 +1901,6 @@ Ez a mód nem elérhető VST pluginek esetén. TCP Port: TCP Port: - - - Reported host - - - - - Automatic - Automatikus - - - - Custom: - Egyéni: - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - Bizonyos hálózatokban (példáus USB kapcsolatnál) a távoli rendszer nem éri el a helyi hálózatot. Itt adhatod meg, hogy a távoli Carla példány mely állomásnévhez vagy IP-címhez kapcsolódjon. -Ha nem vagy biztos benne, válaszd az "Automatikus" lehetőséget. - Set value @@ -3582,7 +1932,7 @@ Ha nem vagy biztos benne, válaszd az "Automatikus" lehetőséget. Buffer size: - Buffer méret: + Pufferméret: @@ -3605,948 +1955,6 @@ Ha nem vagy biztos benne, válaszd az "Automatikus" lehetőséget.Indítsd újra a motort az új beállítások betöltéséhez - - DualFilterControlDialog - - - - FREQ - FREKV - - - - - Cutoff frequency - Vágási frekvencia - - - - - RESO - RESO - - - - - Resonance - Rezonancia - - - - - GAIN - ERŐSÍTÉS - - - - - Gain - Erősítés - - - - MIX - MIX - - - - Mix - Keverés - - - - Filter 1 enabled - 1. szűrő engedélyezése - - - - Filter 2 enabled - 2. szűrő engedélyezése - - - - Enable/disable filter 1 - 1. szűrő engedélyezése - - - - Enable/disable filter 2 - 2. szűrő engedélyezése - - - - DualFilterControls - - - Filter 1 enabled - 1. szűrő engedélyezése - - - - Filter 1 type - 1. szűrő típusa - - - - Cutoff frequency 1 - Vágási frekvencia 1 - - - - Q/Resonance 1 - Q/Rezonancia 1 - - - - Gain 1 - Erősítés 1 - - - - Mix - Keverés - - - - Filter 2 enabled - 2. szűrő engedélyezése - - - - Filter 2 type - 2. szűrő típusa - - - - Cutoff frequency 2 - Vágási frekvencia 2 - - - - Q/Resonance 2 - Q/Rezonancia 2 - - - - Gain 2 - Erősítés 2 - - - - - Low-pass - Aluláteresztő - - - - - Hi-pass - Felüláteresztő - - - - - Band-pass csg - Sáváteresztő csg - - - - - Band-pass czpg - Sáváteresztő czpg - - - - - Notch - Lyukszűrő - - - - - All-pass - All-pass - - - - - Moog - Moog - - - - - 2x Low-pass - 2x Aluláteresztő - - - - - RC Low-pass 12 dB/oct - RC aluláteresztő 12 dB/oktáv - - - - - RC Band-pass 12 dB/oct - RC sáváteresztő 12 dB/oktáv - - - - - RC High-pass 12 dB/oct - RC felüláteresztő 12 dB/oktáv - - - - - RC Low-pass 24 dB/oct - RC aluláteresztő 24 dB/oktáv - - - - - RC Band-pass 24 dB/oct - RC sáváteresztő 24 dB/oktáv - - - - - RC High-pass 24 dB/oct - RC felüláteresztő 24 dB/oktáv - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - SV aluláteresztő - - - - - SV Band-pass - SV sáváteresztő - - - - - SV High-pass - SV felüláteresztő - - - - - SV Notch - SV lyukszűrő - - - - - Fast Formant - - - - - - Tripole - - - - - Editor - - - Transport controls - Továbbítás vezérlők - - - - Play (Space) - Lejátszás (Space) - - - - Stop (Space) - Stop (Space) - - - - Record - Felvétel - - - - Record while playing - - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Effekt engedélyezése - - - - Wet/Dry mix - - - - - Gate - - - - - Decay - Decay - - - - EffectChain - - - Effects enabled - Effektlánc engedélyezése - - - - EffectRackView - - - EFFECTS CHAIN - EFFEKTLÁNC - - - - Add effect - Effekt hozzáadása - - - - EffectSelectDialog - - - Add effect - Effekt hozzáadása - - - - - Name - Név - - - - Type - Típus - - - - Description - Leírás - - - - Author - Készítő - - - - EffectView - - - On/Off - Be/Ki - - - - W/D - W/D - - - - Wet Level: - - - - - DECAY - - - - - Time: - Idő: - - - - GATE - - - - - Gate: - - - - - Controls - Paraméterek - - - - Move &up - Mozgatás &fel - - - - Move &down - Mozgatás &le - - - - &Remove this plugin - Plugin &eltávolítása - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - LFO késleltetés - - - - LFO attack - LFO felfutás - - - - LFO frequency - LFO frekvencia - - - - LFO mod amount - LFO moduláció mértéke - - - - LFO wave shape - LFO hullámforma - - - - LFO frequency x 100 - LFO frekvencia x 100 - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - Késleltetés: - - - - - ATT - ATT - - - - - Attack: - Felfutás: - - - - HOLD - HOLD - - - - Hold: - Tartás: - - - - DEC - DEC - - - - Decay: - Decay: - - - - SUST - SUST - - - - Sustain: - Kitartás: - - - - REL - REL - - - - Release: - Lecsengés: - - - - - AMT - AMT - - - - - Modulation amount: - Moduláció mértéke: - - - - SPD - SPD - - - - Frequency: - Frekvencia: - - - - FREQ x 100 - FREKVENCIA x 100 - - - - Multiply LFO frequency by 100 - LFO frekvencia szorzása 100-zal - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - A burkológörbe erősségének vezérlése az LFO-val - - - - ms/LFO: - ms/LFO: - - - - Hint - Tipp - - - - Drag and drop a sample into this window. - Húzz egy hangmintát erre az ablakra. - - - - EqControls - - - Input gain - Bemeneti erősítés - - - - Output gain - Kimeneti erősítés - - - - Low-shelf gain - - - - - Peak 1 gain - - - - - Peak 2 gain - - - - - Peak 3 gain - - - - - Peak 4 gain - - - - - High-shelf gain - - - - - HP res - Felüláteresztő rezonancia - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - Aluláteresztő rezonancia - - - - HP freq - Felüláteresztő frekvencia - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - Aluláteresztő frekvencia - - - - HP active - Felüláteresztő aktív - - - - Low-shelf active - - - - - Peak 1 active - - - - - Peak 2 active - - - - - Peak 3 active - - - - - Peak 4 active - - - - - High-shelf active - - - - - LP active - Aluláteresztő aktív - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - Aluláteresztő meredeksége - - - - High-pass type - Felüláteresztő meredeksége - - - - Analyse IN - Bemeneti jel mutatása - - - - Analyse OUT - Kimeneti jel mutatása - - - - EqControlsDialog - - - HP - Felüláteresztő - - - - Low-shelf - - - - - Peak 1 - - - - - Peak 2 - - - - - Peak 3 - - - - - Peak 4 - - - - - High-shelf - - - - - LP - Aluláteresztő - - - - Input gain - Bemeneti erősítés - - - - - - Gain - Erősítés - - - - Output gain - Kimeneti erősítés - - - - Bandwidth: - Sávszélesség: - - - - Octave - Oktáv - - - - Resonance : - Rezonancia: - - - - Frequency: - Frekvencia: - - - - LP group - LP csoport - - - - HP group - HP csoport - - - - EqHandle - - - Reso: - Rezonancia: - - - - BW: - Sávszélesség: - - - - - Freq: - Frekvencia: - - ExportProjectDialog @@ -4730,2126 +2138,652 @@ Ha nem vagy biztos benne, válaszd az "Automatikus" lehetőséget.Sinc best (leglassabb) - - Oversampling: - Túlmintavételezés: - - - - 1x (None) - 1x (Nincs) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Indítás - + Cancel Mégse - - - Could not open file - Nem lehet megnyitni a fájlt - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - A(z) %1 fájl nem nyitható meg írásra. -Ellenőrizd, hogy rendelkezel-e a szükséges engedélyekkel és próbáld újra! - - - - Export project to %1 - Exportálás a(z) %1 fájlba - - - - ( Fastest - biggest ) - ( Leggyorsabb - legnagyobb ) - - - - ( Slowest - smallest ) - ( Leglassabb - legkisebb ) - - - - Error - Hiba - - - - Error while determining file-encoder device. Please try to choose a different output format. - Hiba a fájlkódoló eszköz meghatározásakor. Próbálj másik kimeneti formátumot választani. - - - - Rendering: %1% - Renderelés: %1% - - - - Fader - - - Set value - Érték megadása - - - - Please enter a new value between %1 and %2: - Adj meg egy új értéket %1 és %2 között: - - - - FileBrowser - - - User content - Saját tartalom - - - - Factory content - Gyári tartalom - - - - Browser - Tallózás - - - - Search - Keresés - - - - Refresh list - Lista frissítése - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Küldés az aktív hangszersávra - - - - Open containing folder - Tartalmazó mappa megnyitása - - - - Song Editor - Dalszerkesztő - - - - BB Editor - Beat+Bassline szerkesztő - - - - Send to new AudioFileProcessor instance - Küldés új AudioFileProcessor példányba - - - - Send to new instrument track - Küldés új hangszersávra - - - - (%2Enter) - (%2Enter) - - - - Send to new sample track (Shift + Enter) - Küldés új audió sávra (Shift + Enter) - - - - Loading sample - Hangminta betöltése - - - - Please wait, loading sample for preview... - Kis türelmet, hangminta betöltése előnézethez... - - - - Error - Hiba - - - - %1 does not appear to be a valid %2 file - %1 nem tűnik érvényes %2 fájlnak. - - - - --- Factory files --- - --- Gyári tartalom --- - - - - FlangerControls - - - Delay samples - Késleltetési idő - - - - LFO frequency - LFO frekvencia - - - - Seconds - Erősség - - - - Stereo phase - Sztereó fázis - - - - Regen - Visszacsatolás - - - - Noise - Zaj - - - - Invert - Invertálás - - - - FlangerControlsDialog - - - DELAY - IDŐ - - - - Delay time: - Késleltetési idő: - - - - RATE - FREKV - - - - Period: - Periódus: - - - - AMNT - AMNT - - - - Amount: - Mérték: - - - - PHASE - FÁZIS - - - - Phase: - Fázis: - - - - FDBK - FDBK - - - - Feedback amount: - Visszacsatolás mértéke: - - - - NOISE - ZAJ - - - - White noise amount: - Fehér zaj mennyisége: - - - - Invert - Invertálás - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - Kitöltési tényező - - - - Channel 1 volume - 1. csatorna hangerő - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - 2. csatorna hangerő - - - - Channel 3 volume - 3. csatorna hangerő - - - - Channel 4 volume - 4. csatorna hangerő - - - - Shift Register width - Shift regiszter méret - - - - Right output level - Jobb kimeneti szint - - - - Left output level - Bal kimeneti szint - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - Magas - - - - Bass - Mély - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - Kitöltési tényező: - - - - - Wave pattern duty cycle - Kitöltési tényező - - - - Square channel 1 volume: - Négyszög csatorna 1 hangerő: - - - - Square channel 1 volume - Négyszög csatorna 1 hangerő - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - Négyszög csatorna 2 hangerő: - - - - Square channel 2 volume - Négyszög csatorna 2 hangerő - - - - Wave pattern channel volume: - Rajzolt hullám hangerő: - - - - Wave pattern channel volume - Rajzolt hullám hangerő - - - - Noise channel volume: - Zaj csatorna hangerő: - - - - Noise channel volume - Zaj csatorna hangerő - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Magas: - - - - Treble - Magas - - - - Bass: - Mély: - - - - Bass - Mély - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - Shift regiszter méret - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - - - - - Move &left - Mozgatás &balra - - - - Move &right - Mozgatás &jobbra - - - - Rename &channel - Csatorna át&nevezése - - - - R&emove channel - Csatorna &eltávolítása - - - - Remove &unused channels - &Nem használt csatornák eltávolítása - - - - Set channel color - Szín módosítása - - - - Remove channel color - Szín eltávolítása - - - - Pick random channel color - Véletlenszerű szín - - - - MixerChannelLcdSpinBox - - - Assign to: - Hozzárendelés: - - - - New mixer Channel - Új csatorna - - - - Mixer - - - Master - Master - - - - - - Channel %1 - FX %1 - - - - Volume - Hangerő - - - - Mute - Némítás - - - - Solo - Szóló - - - - MixerView - - - Mixer - Keverő - - - - Fader %1 - FX Fader %1 - - - - Mute - Némítás - - - - Mute this mixer channel - Csatorna némítása - - - - Solo - Szóló - - - - Solo mixer channel - Csatorna szóló - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - %1. csatornáról %2. csatornára küldött jel mennyisége - - - - GigInstrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Erősítés - - - - GigInstrumentView - - - - Open GIG file - GIG fájl megnyitása - - - - Choose patch - Patch kiválasztása - - - - Gain: - Erősítés: - - - - GIG Files (*.gig) - GIG fájlok (*.gig) - - - - GuiApplication - - - Working directory - Munkakönyvtár - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - A(z) %1 munkakönyvtár nem létezik. Létrehozod most? A munkakönyvtár bármikor megváltoztatható a Szerkesztés -> Beállítások menüpontban. - - - - Preparing UI - Kezelőfelület előkészítése - - - - Preparing song editor - Dalszerkesztő előkészítése - - - - Preparing mixer - Keverő előkészítése - - - - Preparing controller rack - Controller Rack előkészítése - - - - Preparing project notes - Jegyzetek előkészítése - - - - Preparing beat/bassline editor - Beat+Bassline szerkesztő előkészítése - - - - Preparing piano roll - Piano Roll előkészítése - - - - Preparing automation editor - Automatizáció szerkesztő előkészítése - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Arpeggio típusa - - - - Arpeggio range - - - - - Note repeats - Ismétlés - - - - Cycle steps - - - - - Skip rate - Kihagyási arány - - - - Miss rate - Tévesztési arány - - - - Arpeggio time - - - - - Arpeggio gate - - - - - Arpeggio direction - Arpeggio iránya - - - - Arpeggio mode - Arpeggio mód - - - - Up - Fel - - - - Down - Le - - - - Up and down - Fel és le - - - - Down and up - Le és fel - - - - Random - Véletlenszerű - - - - Free - Szabad - - - - Sort - Sorrend - - - - Sync - Szinkron - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - - - - - Arpeggio range: - Arpeggio tartomány: - - - - octave(s) - oktáv - - - - REP - - - - - Note repeats: - Ismétlés: - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - - - - - SKIP - - - - - Skip rate: - Kihagyási arány: - - - - - - % - % - - - - MISS - - - - - Miss rate: - Tévesztési arány: - - - - TIME - IDŐ - - - - Arpeggio time: - Arpeggio sebesség: - - - - ms - ms - - - - GATE - - - - - Arpeggio gate: - - - - - Chord: - Akkord: - - - - Direction: - Irány: - - - - Mode: - Mód: - InstrumentFunctionNoteStacking - + octave oktáv - - + + Major Dúr - + Majb5 Majb5 - + minor Moll - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri - + tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Harmonikus moll - + Melodic minor Dallamos moll - + Whole tone Egészhang - + Diminished Szűkített - + Major pentatonic Dúr pentaton - + Minor pentatonic Mól pentaton - + Jap in sen Jap in sen - + Major bebop Dúr Bebop - + Dominant bebop Domináns Bebop - + Blues Blues - + Arabic Arab - + Enigmatic Enigmatikus - + Neopolitan Nápolyi - + Neopolitan minor Nápolyi moll - + Hungarian minor Magyar moll - + Dorian Dór - + Phrygian Fríg - + Lydian Líd - + Mixolydian Mixolíd - + Aeolian Eol - + Locrian Lokriszi - + Minor Moll - + Chromatic Kromatikus - + Half-Whole Diminished Fél-egész szűkített - + 5 5 - + Phrygian dominant Fríg domináns - + Persian Perzsa - - - Chords - Akkordok - - - - Chord type - Akkord típus - - - - Chord range - Akkord tartomány - - - - InstrumentFunctionNoteStackingView - - - STACKING - - - - - Chord: - Akkord: - - - - RANGE - - - - - Chord range: - Akkord tartomány: - - - - octave(s) - oktáv - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - MIDI BEMENET ENGEDÉLYEZÉSE - - - - ENABLE MIDI OUTPUT - MIDI KIMENET ENGEDÉLYEZÉSE - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - CSAT - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - PROG - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - MIDI devices to receive MIDI events from - MIDI események fogadása erről az eszközről - - - - MIDI devices to send MIDI events to - MIDI események küldése erre az eszközre - - - - CUSTOM BASE VELOCITY - - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - - - - - InstrumentTuningView - - - MASTER PITCH - TRANSZPONÁLÁS - - - - Enables the use of master pitch - Transzponálás engedélyezése - InstrumentSoundShaping - + VOLUME HANGERŐ - + Volume Hangerő - + CUTOFF - + FREKV - - + Cutoff frequency Vágási frekvencia - + RESO RESO - + Resonance Rezonancia - - - Envelopes/LFOs - Burkológörbék/LFO-k - - - - Filter type - Szűrő típus - - - - Q/Resonance - Q/Rezonancia - - - - Low-pass - Aluláteresztő - - - - Hi-pass - Felüláteresztő - - - - Band-pass csg - Sáváteresztő csg - - - - Band-pass czpg - Sáváteresztő czpg - - - - Notch - Lyukszűrő - - - - All-pass - All-pass - - - - Moog - Moog - - - - 2x Low-pass - 2x Aluláteresztő - - - - RC Low-pass 12 dB/oct - RC aluláteresztő 12 dB/oktáv - - - - RC Band-pass 12 dB/oct - RC sáváteresztő 12 dB/oktáv - - - - RC High-pass 12 dB/oct - RC felüláteresztő 12 dB/oktáv - - - - RC Low-pass 24 dB/oct - RC aluláteresztő 24 dB/oktáv - - - - RC Band-pass 24 dB/oct - RC sáváteresztő 24 dB/oktáv - - - - RC High-pass 24 dB/oct - RC felüláteresztő 24 dB/oktáv - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - SV aluláteresztő - - - - SV Band-pass - SV sáváteresztő - - - - SV High-pass - SV felüláteresztő - - - - SV Notch - SV lyukszűrő - - - - Fast Formant - - - - - Tripole - - - InstrumentSoundShapingView + JackAppDialog - - TARGET - CÉL - - - - FILTER - SZŰRŐ - - - - FREQ - FREKV - - - - Cutoff frequency: - Vágási frekvencia: - - - - Hz - Hz - - - - Q/RESO - Q/RESO - - - - Q/Resonance: - Q/Rezonancia: - - - - Envelopes, LFOs and filters are not supported by the current instrument. - A burkológörbék, LFO-k és szűrők nem támogatottak a jelenlegi hangszer által. - - - - InstrumentTrack - - - - unnamed_track - névtelen_sáv - - - - Base note - Alaphang - - - - First note - Legalsó hang - - - - Last note - Legfelső hang - - - - Volume - Hangerő - - - - Panning - Panoráma - - - - Pitch - Hangmagasság - - - - Pitch range - Hangmagasság tartomány - - - - Mixer channel - Keverő csatorna - - - - Master pitch - Transzponálás - - - - Enable/Disable MIDI CC - MIDI CC engedélyezése - - - - CC Controller %1 - CC vezérlő %1 - - - - - Default preset - Alapértelmezett preset - - - - InstrumentTrackView - - - Volume - Hangerő - - - - Volume: - Hangerő: - - - - VOL - VOL - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Bemenet - - - - Output - Kimenet - - - - Open/Close MIDI CC Rack - MIDI CC Rack megnyitása/bezárása - - - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - ÁLTALÁNOS BEÁLLÍTÁSOK - - - - Volume - Hangerő - - - - Volume: - Hangerő: - - - - VOL - VOL - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - Pitch - Hangmagasság - - - - Pitch: - Hangmagasság: - - - - cents - cent - - - - PITCH + + Add JACK Application - - Pitch range (semitones) - Hangmagasság tartomány (félhangok) - - - - RANGE + + Note: Features not implemented yet are greyed out - - Mixer channel - Keverő csatorna - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file - Aktuális hangszersáv beállításainak mentése - - - - SAVE - MENTÉS - - - - Envelope, filter & LFO - Burkológörbe, szűrő, LFO - - - - Chord stacking & arpeggio + + Application - - Effects - Effektek + + Name: + - - MIDI - MIDI + + Application: + - - Miscellaneous - Egyéb + + From template + - - Save preset - Preset mentése + + Custom + - - XML preset file (*.xpf) - XML preset fájl (*.xpf) + + Template: + - - Plugin - Plugin + + Command: + - - - JackApplicationW - + + Setup + + + + + Session Manager: + + + + + None + + + + + Audio inputs: + + + + + MIDI inputs: + + + + + Audio outputs: + + + + + MIDI outputs: + + + + + Take control of main application window + + + + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6857,948 +2791,11 @@ Ellenőrizd, hogy rendelkezel-e a szükséges engedélyekkel és próbáld újra JuceAboutW - - About JUCE - A JUCE névjegye - - - - <b>About JUCE</b> - <b>A JUCE névjegye</b> - - - - This program uses JUCE version 3.x.x. - Ez a program a JUCE 3.x.x verziót használja. - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. Ez a program a JUCE %1 verziót használja. - - Knob - - - Set linear - Lineáris skála - - - - Set logarithmic - Logaritmikus skála - - - - - Set value - Érték megadása - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Adj meg egy új értéket -96.0 dBFS és 6.0 dBFS között: - - - - Please enter a new value between %1 and %2: - Adj meg egy új értéket %1 és %2 között: - - - - LadspaControl - - - Link channels - Csatornák összekapcsolása - - - - LadspaControlDialog - - - Link Channels - Csatornák összekapcsolása - - - - Channel - Csatorna - - - - LadspaControlView - - - Link channels - Csatornák összekapcsolása - - - - Value: - Érték: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Ismeretlen LADSPA plugin: %1 - - - - LcdFloatSpinBox - - - Set value - Érték megadása - - - - Please enter a new value between %1 and %2: - Adj meg egy új értéket %1 és %2 között: - - - - LcdSpinBox - - - Set value - Érték megadása - - - - Please enter a new value between %1 and %2: - Adj meg egy új értéket %1 és %2 között: - - - - LeftRightNav - - - - - Previous - Előző - - - - - - Next - Következő - - - - Previous (%1) - Előző (%1) - - - - Next (%1) - Következő (%1) - - - - LfoController - - - LFO Controller - LFO vezérlő - - - - Base value - Alapérték - - - - Oscillator speed - Oszcillátor sebesség - - - - Oscillator amount - Moduláció mértéke - - - - Oscillator phase - Oszcillátor fázis - - - - Oscillator waveform - Oszcillátor hullámforma - - - - Frequency Multiplier - Frekvencia szorzó - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - ALAP - - - - Base: - Alapérték: - - - - FREQ - FREKV - - - - LFO frequency: - LFO frekvencia: - - - - AMNT - AMNT - - - - Modulation amount: - Moduláció mértéke: - - - - PHS - - - - - Phase offset: - Fáziseltolás: - - - - degrees - fok - - - - Sine wave - Szinuszhullám - - - - Triangle wave - Háromszöghullám - - - - Saw wave - Fűrészfoghullám - - - - Square wave - Négyszöghullám - - - - Moog saw wave - Moog fűrészfog - - - - Exponential wave - Exponenciális - - - - White noise - Fehér zaj - - - - User-defined shape. -Double click to pick a file. - Felhasználó által megadott hullámforma. -Kattints duplán egy fájl kiválasztásához. - - - - Mutliply modulation frequency by 1 - Frekvencia szorzása 1-gyel - - - - Mutliply modulation frequency by 100 - Frekvencia szorzása 100-zal - - - - Divide modulation frequency by 100 - Frekvencia osztása 100-zal - - - - Engine - - - Generating wavetables - Hullámtáblák generálása - - - - Initializing data structures - Adatstruktúrák inicializálása - - - - Opening audio and midi devices - Audio és MIDI eszközök megnyitása - - - - Launching mixer threads - - - - - MainWindow - - - Configuration file - Konfigurációs fájl - - - - Error while parsing configuration file at line %1:%2: %3 - Hiba a konfigurációs fájl olvasásakor: -%1:%2: %3 - - - - Could not open file - Nem lehet megnyitni a fájlt - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - A(z) %1 fájl nem nyitható meg írásra. -Ellenőrizd, hogy rendelkezel-e a szükséges engedélyekkel és próbáld újra! - - - - Project recovery - Projekt helyreállítása - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Létezik egy visszaállítási fájl. Úgy tűnik, hogy a legutóbbi munkamenet nem megfelelően fejeződött be, vagy az LMMS egy másik példánya már fut. Szeretnéd helyreállítani a munkamenetet? - - - - - Recover - Visszaállítás - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - - - - - - Discard - Elvetés - - - - Launch a default session and delete the restored files. This is not reversible. - Üres munkamenet indítása és a visszaállított fájlok törlése. Ez a művelet nem vonható vissza. - - - - Version %1 - Verzió %1 - - - - Preparing plugin browser - Plugin tallózó előkészítése - - - - Preparing file browsers - Fájltallózók előlészítése - - - - My Projects - Projektjeim - - - - My Samples - Mintáim - - - - My Presets - Presetek - - - - My Home - Mappám - - - - Root directory - Gyökérkönyvtár - - - - Volumes - Hangerők - - - - My Computer - Számítógépem - - - - &File - &Fájl - - - - &New - &Új - - - - &Open... - &Megnyitás... - - - - Loading background picture - Háttérkép betöltése - - - - &Save - &Mentés - - - - Save &As... - Mentés &másként... - - - - Save as New &Version - Mentés új &verzióként - - - - Save as default template - Mentés alapértelmezett sablonként - - - - Import... - Importálás... - - - - E&xport... - E&xportálás... - - - - E&xport Tracks... - Sávonkénti e&xportálás - - - - Export &MIDI... - &MIDI exportálása... - - - - &Quit - &Kilépés - - - - &Edit - &Szerkesztés - - - - Undo - Visszavonás - - - - Redo - Mégis - - - - Settings - Beállítások - - - - &View - &Nézet - - - - &Tools - &Eszközök - - - - &Help - &Súgó - - - - Online Help - Online súgó - - - - Help - Súgó - - - - About - Névjegy - - - - Create new project - Új projekt létrehozása - - - - Create new project from template - Új projekt létrehozása sablonból - - - - Open existing project - Már létező projekt megnyitása - - - - Recently opened projects - Legutóbbi projektek - - - - Save current project - Jelenlegi projekt mentése - - - - Export current project - Jelenlegi projekt exportálása - - - - Metronome - Metronóm - - - - - Song Editor - Dalszerkesztő - - - - - Beat+Bassline Editor - Beat+Bassline szerkesztő - - - - - Piano Roll - Piano Roll - - - - - Automation Editor - Automatizáció szerkesztő - - - - - Mixer - Keverő - - - - Show/hide controller rack - Controller Rack megjelenítése/elrejtése - - - - Show/hide project notes - Jegyzetek megjelenítése/elrejtése - - - - Untitled - Névtelen - - - - Recover session. Please save your work! - - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Ez a projekt egy korábbi munkamenetből lett visszaállítva és jelenleg nincs mentve. El akarod menteni most? - - - - Project not saved - A projekt nincs elmentve - - - - The current project was modified since last saving. Do you want to save it now? - A jelenlegi projekt módosítva lett a legutóbbi mentés óta. El szeretnéd menteni most? - - - - Open Project - Projekt megnyitása - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Projekt mentése - - - - LMMS Project - LMMS Projekt - - - - LMMS Project Template - LMMS Projekt Sablon - - - - Save project template - Projekt sablon mentése - - - - Overwrite default template? - Felülírod az alapértelmezett sablont? - - - - This will overwrite your current default template. - Ez a művelet felülírja a jelenlegi alapértelmezett sablont. - - - - Help not available - Súgó nem elérhatő - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - - - - - Controller Rack - Vezérlő Rack - - - - Project Notes - Jegyzetek - - - - Fullscreen - Teljes képernyő - - - - Volume as dBFS - Hangerő dBFS-ként - - - - Smooth scroll - Sima görgetés - - - - Enable note labels in piano roll - - - - - MIDI File (*.mid) - MIDI fájl (*.mid) - - - - - untitled - névtelen - - - - - Select file for project-export... - Válassz egy fájlt az exportáláshoz... - - - - Select directory for writing exported tracks... - Válassz mappát az exportált fájloknak... - - - - Save project - Projekt mentése - - - - Project saved - Projekt mentve - - - - The project %1 is now saved. - A(z) %1 projekt mentésre került. - - - - Project NOT saved. - A projekt NEM került mentésre. - - - - The project %1 was not saved! - A(z) %1 projekt mentése nem sikerült! - - - - Import file - Fájl importálása - - - - MIDI sequences - MIDI szekvenciák - - - - Hydrogen projects - Hydrogen projektek - - - - All file types - Minden fájl - - - - MeterDialog - - - - Meter Numerator - Ütemmutató számláló - - - - Meter numerator - Ütemmutató számláló - - - - - Meter Denominator - Ütemmutató nevező - - - - Meter denominator - Ütemmutató nevező - - - - TIME SIG - - - - - MeterModel - - - Numerator - Számláló - - - - Denominator - Nevező - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - MIDI CC Rack - %1 - - - - MIDI CC Knobs: - MIDI CC vezérlők: - - - - CC %1 - CC %1 - - - - MidiController - - - MIDI Controller - MIDI vezérlő - - - - unnamed_midi_controller - névtelen_midi_vezérlő - - - - MidiImport - - - - Setup incomplete - - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Nincs megadva alapértelmezett SoundFont fájl, ezért az importált sávok lejátszásakor semmilyen hang nem lesz hallható. Javasoljuk, hogy tölts le egy General MIDI hangkészletfájlt, add meg a Beállítások ablakban, majd próbálkozz újra. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - - - - - MIDI Time Signature Numerator - MIDI ütemmutató számláló - - - - MIDI Time Signature Denominator - MIDI ütemmutató nevező - - - - Numerator - Számláló - - - - Denominator - Nevező - - - - Track - Sáv - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK szerver leállt - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Úgy tűnik, a JACK kiszolgáló leállt. - - MidiPatternW @@ -8004,2731 +3001,370 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. &Kilépés - - &Insert Mode + + Esc + &Insert Mode + &Beszúrás mód + + + F F - + &Velocity Mode - + &Velocity Mód - + D D - + Select All Összes kijelölése - + A A - - MidiPort - - - Input channel - Bemeneti csatorna - - - - Output channel - Kimeneti csatorna - - - - Input controller - Bemeneti eszköz - - - - Output controller - Kimeneti eszköz - - - - Fixed input velocity - - - - - Fixed output velocity - - - - - Fixed output note - - - - - Output MIDI program - Kimenő MIDI program - - - - Base velocity - - - - - Receive MIDI-events - MIDI események fogadása - - - - Send MIDI-events - MIDI események küldése - - - - MidiSetupWidget - - - Device - Eszköz - - - - MonstroInstrument - - - Osc 1 volume - Osc 1 hangerő - - - - Osc 1 panning - Osc 1 panoráma - - - - Osc 1 coarse detune - Osc 1 hangolás - - - - Osc 1 fine detune left - Osc 1 finomhangolás bal - - - - Osc 1 fine detune right - Osc 1 finomhangolás jobb - - - - Osc 1 stereo phase offset - Osc 1 sztereó fáziseltolás - - - - Osc 1 pulse width - Osc 1 pulzusszélesség - - - - Osc 1 sync send on rise - Osc 1 szinkron küldése a felfutó élen - - - - Osc 1 sync send on fall - Osc 1 szinkron küldése a lefutó élen - - - - Osc 2 volume - Osc 2 hangerő - - - - Osc 2 panning - Osc 2 panoráma - - - - Osc 2 coarse detune - Osc 2 hangolás - - - - Osc 2 fine detune left - Osc 2 finomhangolás bal - - - - Osc 2 fine detune right - Osc 2 finomhangolás jobb - - - - Osc 2 stereo phase offset - Osc 2 sztereó fáziseltolás - - - - Osc 2 waveform - Osc 2 hullámforma - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - Osc 3 hangerő - - - - Osc 3 panning - Osc 3 panoráma - - - - Osc 3 coarse detune - Osc 3 hangolás - - - - Osc 3 Stereo phase offset - Osc 3 sztereó fáziseltolás - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - Osc 3, 1. hullámforma - - - - Osc 3 waveform 2 - Osc 3, 2. hullámforma - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - LFO 1 hullámforma - - - - LFO 1 attack - LFO 1 felfutás - - - - LFO 1 rate - LFO 1 frekvencia - - - - LFO 1 phase - LFO 1 fázis - - - - LFO 2 waveform - LFO 2 hullámforma - - - - LFO 2 attack - LFO 2 felfutás - - - - LFO 2 rate - LFO 2 frekvencia - - - - LFO 2 phase - LFO 2 fázis - - - - Env 1 pre-delay - Burkológörbe 1 késleltetés - - - - Env 1 attack - Burkológörbe 1 felfutás - - - - Env 1 hold - Env 1 hold - - - - Env 1 decay - Env 1 decay - - - - Env 1 sustain - Env 1 sustain - - - - Env 1 release - Env 1 release - - - - Env 1 slope - Burkológörbe 1 meredekség - - - - Env 2 pre-delay - Env 2 késleltetés - - - - Env 2 attack - Env 2 attack - - - - Env 2 hold - Env 2 hold - - - - Env 2 decay - Env 2 decay - - - - Env 2 sustain - Env 2 sustain - - - - Env 2 release - Env 2 release - - - - Env 2 slope - Burkológörbe 2 meredekség - - - - Osc 2+3 modulation - Osc 2+3 moduláció - - - - Selected view - Kiválasztott nézet - - - - Osc 1 - Vol env 1 - Osc 1 - Vol env 1 - - - - Osc 1 - Vol env 2 - Osc 1 - Vol env 2 - - - - Osc 1 - Vol LFO 1 - Osc 1 - Hangerő LFO 1 - - - - Osc 1 - Vol LFO 2 - Osc 1 - Hangerő LFO 2 - - - - Osc 2 - Vol env 1 - Osc 2 - Vol env 1 - - - - Osc 2 - Vol env 2 - Osc 2 - Vol env 2 - - - - Osc 2 - Vol LFO 1 - Osc 2 - Hangerő LFO 1 - - - - Osc 2 - Vol LFO 2 - Osc 2 - Hangerő LFO 2 - - - - Osc 3 - Vol env 1 - Osc 3 - Vol env 1 - - - - Osc 3 - Vol env 2 - Osc 3 - Vol env 2 - - - - Osc 3 - Vol LFO 1 - Osc 3 - Hangerő LFO 1 - - - - Osc 3 - Vol LFO 2 - Osc 3 - Hangerő LFO 2 - - - - Osc 1 - Phs env 1 - Osc 1 - Phs env 1 - - - - Osc 1 - Phs env 2 - Osc 1 - Phs env 2 - - - - Osc 1 - Phs LFO 1 - Osc 1 - Fázis LFO 1 - - - - Osc 1 - Phs LFO 2 - Osc 1 - Fázis LFO 2 - - - - Osc 2 - Phs env 1 - Osc 2 - Phs env 1 - - - - Osc 2 - Phs env 2 - Osc 2 - Phs env 2 - - - - Osc 2 - Phs LFO 1 - Osc 2 - Fázis LFO 1 - - - - Osc 2 - Phs LFO 2 - Osc 2 - Fázis LFO 2 - - - - Osc 3 - Phs env 1 - Osc 3 - Phs env 1 - - - - Osc 3 - Phs env 2 - Osc 3 - Phs env 2 - - - - Osc 3 - Phs LFO 1 - Osc 3 - Fázis LFO 1 - - - - Osc 3 - Phs LFO 2 - Osc 3 - Fázis LFO 2 - - - - Osc 1 - Pit env 1 - Osc 1 - Pit env 1 - - - - Osc 1 - Pit env 2 - Osc 1 - Pit env 2 - - - - Osc 1 - Pit LFO 1 - Osc 1 - Pit LFO 1 - - - - Osc 1 - Pit LFO 2 - Osc 1 - Pit LFO 2 - - - - Osc 2 - Pit env 1 - Osc 2 - Pit env 1 - - - - Osc 2 - Pit env 2 - Osc 2 - Pit env 2 - - - - Osc 2 - Pit LFO 1 - Osc 2 - Pit LFO 1 - - - - Osc 2 - Pit LFO 2 - Osc 2 - Pit LFO 2 - - - - Osc 3 - Pit env 1 - Osc 3 - Pit env 1 - - - - Osc 3 - Pit env 2 - Osc 3 - Pit env 2 - - - - Osc 3 - Pit LFO 1 - Osc 3 - Pit LFO 1 - - - - Osc 3 - Pit LFO 2 - Osc 3 - Pit LFO 2 - - - - Osc 1 - PW env 1 - Osc 1 - PW env 1 - - - - Osc 1 - PW env 2 - Osc 1 - PW env 2 - - - - Osc 1 - PW LFO 1 - Osc 1 - PW LFO 1 - - - - Osc 1 - PW LFO 2 - Osc 1 - PW LFO 2 - - - - Osc 3 - Sub env 1 - Osc 3 - Sub env 1 - - - - Osc 3 - Sub env 2 - Osc 3 - Sub env 2 - - - - Osc 3 - Sub LFO 1 - Osc 3 - Sub LFO 1 - - - - Osc 3 - Sub LFO 2 - Osc 3 - Sub LFO 2 - - - - - Sine wave - Szinuszhullám - - - - Bandlimited Triangle wave - Sávlimitált háromszög - - - - Bandlimited Saw wave - Sávlimitált fűrészfog - - - - Bandlimited Ramp wave - Sávlimitált rámpa - - - - Bandlimited Square wave - Sávlimitált négyszög - - - - Bandlimited Moog saw wave - Sávlimitált Moog fűrészfog - - - - - Soft square wave - Lekerekített négyszög - - - - Absolute sine wave - Egyenirányított szinusz - - - - - Exponential wave - Exponenciális - - - - White noise - Fehér zaj - - - - Digital Triangle wave - Digitális háromszög - - - - Digital Saw wave - Digitális fűrészfog - - - - Digital Ramp wave - Digitális rámpa - - - - Digital Square wave - Digitális négyszög - - - - Digital Moog saw wave - Digitális Moog fűrészfog - - - - Triangle wave - Háromszöghullám - - - - Saw wave - Fűrészfoghullám - - - - Ramp wave - Rámpa - - - - Square wave - Négyszöghullám - - - - Moog saw wave - Moog fűrészfog - - - - Abs. sine wave - Egyenirányított szinusz - - - - Random - Véletlenszerű - - - - Random smooth - Véletlenszerű folyamatos - - - - MonstroView - - - Operators view - Operátor nézet - - - - Matrix view - Mátrix nézet - - - - - - Volume - Hangerő - - - - - - Panning - Panoráma - - - - - - Coarse detune - Elhangolás - - - - - - semitones - félhang - - - - - Fine tune left - Finomhangolás bal - - - - - - - cents - cent - - - - - Fine tune right - Finomhangolás jobb - - - - - - Stereo phase offset - Sztereó fáziseltolás - - - - - - - - deg - fok - - - - Pulse width - Pulzusszélesség - - - - Send sync on pulse rise - Szinkron küldése a felfutó élen - - - - Send sync on pulse fall - Szinkron küldése a lefutó élen - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - Attack - - - - - Rate - Ütem: - - - - - Phase - Fázis - - - - - Pre-delay - Késleltetés - - - - - Hold - Tartás - - - - - Decay - Decay - - - - - Sustain - Kitartás - - - - - Release - Release - - - - - Slope - Meredekség - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - 3. oszcillátor amplitúdójának modulációja a 2. oszcillátorral - - - - Modulate frequency of osc 3 by osc 2 - 3. oszcillátor frekvenciájának modulációja a 2. oszcillátorral - - - - Modulate phase of osc 3 by osc 2 - 3. oszcillátor fázisának modulációja a 2. oszcillátorral - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Moduláció mértéke - - - - MultitapEchoControlDialog - - - Length - Hossz - - - - Step length: - Lépéshossz: - - - - Dry - - - - - Dry gain: - - - - - Stages - Fokozatok - - - - Low-pass stages: - Aluláteresztő fokozatok: - - - - Swap inputs - Bemenetek felcserélése - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - 1. csatorna hangolás - - - - Channel 1 volume - 1. csatorna hangerő - - - - Channel 1 envelope length - 1. csatorna burkológörbe hossza - - - - Channel 1 duty cycle - 1. csatorna kitöltési tényező - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - 2. csatorna hangolás - - - - Channel 2 Volume - 2. csatorna hangerő - - - - Channel 2 envelope length - 2. csatorna burkológörbe hossza - - - - Channel 2 duty cycle - 2. csatorna kitöltési tényező - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - 3. csatorna hangolás - - - - Channel 3 volume - 3. csatorna hangerő - - - - Channel 4 volume - 4. csatorna hangerő - - - - Channel 4 envelope length - 4. csatorna burkológörbe hossza - - - - Channel 4 noise frequency - 4. csatorna frekvencia - - - - Channel 4 noise frequency sweep - - - - - Master volume - Fő hangerő - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Hangerő - - - - - - Coarse detune - Elhangolás: - - - - - - Envelope length - Burkológörbe hossza - - - - Enable channel 1 - 1. csatorna engedélyezése - - - - Enable envelope 1 - 1. burkológörbe engedélyezése - - - - Enable envelope 1 loop - 1. burkológörbe ismétlése - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - 12.5%-os kitöltés - - - - - 25% Duty cycle - 25%-os kitöltés - - - - - 50% Duty cycle - 50%-os kitöltés - - - - - 75% Duty cycle - 75%-os kitöltés - - - - Enable channel 2 - 2. csatorna engedélyezése - - - - Enable envelope 2 - 2. burkológörbe engedélyezése - - - - Enable envelope 2 loop - 2. burkológörbe ismétlése - - - - Enable sweep 2 - - - - - Enable channel 3 - 3. csatorna engedélyezése - - - - Noise Frequency - Zaj frekvencia: - - - - Frequency sweep - - - - - Enable channel 4 - 4. csatorna engedélyezése - - - - Enable envelope 4 - 4. burkológörbe engedélyezése - - - - Enable envelope 4 loop - 4. burkológörbe ismétlése - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - Zaj mód - - - - Master volume - Fő hangerő - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Patch - - - - Op 1 attack - Op 1 felfutás - - - - Op 1 decay - Op 1 csillapítás - - - - Op 1 sustain - Op 1 kitartás - - - - Op 1 release - Op 1 lecsengés - - - - Op 1 level - Op 1 jelszint - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - Op 1 frekvencia szorzó - - - - Op 1 feedback - Op 1 visszacsatolás - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - Op 1 perkusszív burkológörbe - - - - Op 1 tremolo - Op 1 tremolo - - - - Op 1 vibrato - Op 1 vibrato - - - - Op 1 waveform - Op 1 hullámforma - - - - Op 2 attack - Op 2 felfutás - - - - Op 2 decay - Op 2 csillapítás - - - - Op 2 sustain - Op 2 kitartás - - - - Op 2 release - Op 2 lecsengés - - - - Op 2 level - Op 2 jelszint - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - Op 2 frekvencia szorzó - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - Op 2 perkusszív burkológörbe - - - - Op 2 tremolo - Op 2 tremolo - - - - Op 2 vibrato - Op 2 vibrato - - - - Op 2 waveform - Op 2 hullámforma - - - - FM - FM - - - - Vibrato depth - Vibrato mélység - - - - Tremolo depth - Tremolo mélység - - - - OpulenzInstrumentView - - - - Attack - Felfutás - - - - - Decay - Decay - - - - - Release - Release - - - - - Frequency multiplier - Frekvencia szorzó - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 hullámforma - - - - Osc %1 harmonic - Osc %1 harmonikus - - - - - Osc %1 volume - Osc %1 hangerő - - - - - Osc %1 panning - Osc %1 panoráma - - - - - Osc %1 fine detuning left - Osc %1 finomhangolás bal - - - - Osc %1 coarse detuning - Osc %1 hangolás - - - - Osc %1 fine detuning right - Osc %1 finomhangolás jobb - - - - Osc %1 phase-offset - Osc %1 fáziseltolás - - - - Osc %1 stereo phase-detuning - Osc %1 sztereó fáziseltolás - - - - Osc %1 wave shape - Osc %1 hullámforma - - - - Modulation type %1 - Moduláció típus %1 - - - - Oscilloscope - - - Oscilloscope - Oszcilloszkóp - - - - Click to enable - Kattints az engedélyezéshez - - PatchesDialog + Qsynth: Channel Preset + Bank selector Bank választó + Bank Bank + Program selector Program választó + Patch Patch + Name Név + OK OK + Cancel Mégse - - PatmanView - - - Open patch - Patch megnyitása - - - - Loop - Ismétlés - - - - Loop mode - Ismétlési mód - - - - Tune - - - - - Tune mode - - - - - No file selected - Nincs kiválasztva fájl - - - - Open patch file - Patch fájl megnyitása - - - - Patch-Files (*.pat) - Patch fájlok (*.pat) - - - - MidiClipView - - - Open in piano-roll - Megnyitás a Piano Rollban - - - - Set as ghost in piano-roll - - - - - Clear all notes - - - - - Reset name - Név visszaállítása - - - - Change name - Átnevezés - - - - Add steps - Lépések hozzáadása - - - - Remove steps - Lépések eltávolítása - - - - Clone Steps - Megduplázás - - - - PeakController - - - Peak Controller - - - - - Peak Controller Bug - - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - - - - - PeakControllerDialog - - - PEAK - - - - - LFO Controller - LFO vezérlő - - - - PeakControllerEffectControlDialog - - - BASE - ALAP - - - - Base: - Alapérték: - - - - AMNT - AMNT - - - - Modulation amount: - Moduláció mértéke: - - - - MULT - - - - - Amount multiplicator: - - - - - ATCK - ATCK - - - - Attack: - Felfutás: - - - - DCAY - DCAY - - - - Release: - Lecsengés: - - - - TRSH - - - - - Treshold: - Küszöb: - - - - Mute output - Kimenet némítása - - - - Absolute value - Abszolútérték - - - - PeakControllerEffectControls - - - Base value - Alapérték - - - - Modulation amount - Moduláció mértéke - - - - Attack - Felfutás - - - - Release - Release - - - - Treshold - Küszöb - - - - Mute output - Kimenet némítása - - - - Absolute value - Abszolútérték - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - - - - - Note Panning - - - - - Mark/unmark current semitone - - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - Skála megjelölése - - - - Mark current chord - Akkord megjelölése - - - - Unmark all - Minden jelölés törlése - - - - Select all notes on this key - - - - - Note lock - - - - - Last note - Legutóbbi - - - - No key - - - - - No scale - Nincs skála - - - - No chord - Nincs akkord - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - - - - - Panning: %1% left - Panoráma: %1% bal - - - - Panning: %1% right - Panoráma: %1% jobb - - - - Panning: center - Panoráma: közép - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Nyiss meg egy kilppet dupla kattintással! - - - - - Please enter a new value between %1 and %2: - Adj meg egy új értéket %1 és %2 között: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Klip lejátszása/megállítása (Space) - - - - Record notes from MIDI-device/channel-piano - - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Lejátszás leállítása (Space) - - - - Edit actions - Műveletek szerkesztése - - - - Draw mode (Shift+D) - Beszúrás (Shift+D) - - - - Erase mode (Shift+E) - Törlés (Shift+E) - - - - Select mode (Shift+S) - Kijelölés (Shift+S) - - - - Pitch Bend mode (Shift+T) - Hajlítás (Shift+T) - - - - Quantize - Kvantálás - - - - Quantize positions - Pozíció kvantálása - - - - Quantize lengths - Hosszúság kvantálása - - - - File actions - Fájl műveletek - - - - Import clip - Pattern importálása - - - - - Export clip - Pattern exportálása - - - - Copy paste controls - - - - - Cut (%1+X) - Kivágás (%1+X) - - - - Copy (%1+C) - Másolás (%1+C) - - - - Paste (%1+V) - Beillesztés (%1+V) - - - - Timeline controls - Idővonal vezérlők - - - - Glue - Egyesítés - - - - Knife - Felosztás - - - - Fill - Kitöltés - - - - Cut overlaps - Átfedések levágása - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - Vízszintes nagyítás - - - - Vertical zooming - Függőleges nagyítás - - - - Quantization - Kvantálás - - - - Note length - - - - - Key - - - - - Scale - Skála - - - - Chord - Akkord - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - Piano Roll - %1 - - - - - Piano-Roll - no clip - Piano Roll - - - - - XML clip file (*.xpt *.xptz) - XML pattern fájl (*.xpt *.xptz) - - - - Export clip success - Pattern exportálása sikeres - - - - Clip saved to %1 - Pattern mentve a(z) %1 fájlba. - - - - Import clip. - Pattern importálása - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - Pattern megnyitása - - - - Import clip success - Pattern importálása sikeres - - - - Imported clip %1! - %1 importálva - - - - PianoView - - - Base note - Alaphang - - - - First note - Legalsó hang - - - - Last note - Legutóbbi - - - - Plugin - - - Plugin not found - A plugin nem található - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - A(z) "%1" plugin nem található, vagy nem lehet betölteni. -Ok: "%2" - - - - Error while loading plugin - Hiba a plugin betöltésekor - - - - Failed to load plugin "%1"! - A(z) "%1" plugin betöltése nem sikerült. - - PluginBrowser - - Instrument Plugins - Hangszer Pluginek - - - - Instrument browser - - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - - - - + no description nincs leírás - + A native amplifier plugin Natív erősítő - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - + Egyszerű sampler különböző beállításokkal a hangminták (pl. dobok) hangszersávon történő használatához - + Boost your bass the fast and simple way Mélytartomány kiemelése gyors és egyszerű módon - + Customizable wavetable synthesizer Testreszabható hullámtábla-szintetizátor - + An oversampling bitcrusher - + Carla Patchbay Instrument - + Carla Patchbay hangszer - + Carla Rack Instrument - + Carla Rack hangszer - + A dynamic range compressor. Dinamikakompresszor - + A 4-band Crossover Equalizer 4 sávos crossover equalizer - + A native delay plugin Natív késleltetés - + A Dual filter plugin Kettős szűrő - + plugin for processing dynamics in a flexible way - + Dinamikatartomány kezelése rugalmas módon - + A native eq plugin Natív equalizer - + A native flanger plugin Natív flanger - + Emulation of GameBoy (TM) APU A GameBoy (TM) APU emulációja - + Player for GIG files Lejátszó GIG fájlokhoz - + Filter for importing Hydrogen files into LMMS - + Szűrő a Hydrogen fájlok LMMS-be történő importálásához - + Versatile drum synthesizer - + Sokoldalú dobszintetizátor - + List installed LADSPA plugins Telepített LADSPA bővítmények listája - + plugin for using arbitrary LADSPA-effects inside LMMS. - + Bővítmény tetszőleges LADSPA effektek LMMS-ben történő használatához - + Incomplete monophonic imitation TB-303 Félkész monofonikus TB-303 imitáció - + plugin for using arbitrary LV2-effects inside LMMS. - + Bővítmény tetszőleges LV2 effektek LMMS-ben történő használatához - + plugin for using arbitrary LV2 instruments inside LMMS. - + Bővítmény tetszőleges LV2 hangszerek LMMS-ben történő használatához - + Filter for exporting MIDI-files from LMMS - + Szűrő a MIDI fájlok LMMS-ből történő exportálásához - + Filter for importing MIDI-files into LMMS - + Szűrő a MIDI fájlok LMMS-be történő importálásához - + Monstrous 3-oscillator synth with modulation matrix - + Szörnyűséges 3 oszcillátoros szintetizátor modulációs mátrixszal - + A multitap echo delay plugin Többlépéses késleltetés - + A NES-like synthesizer NES-szerű szintetizátor - + 2-operator FM Synth 2 operátoros FM szintetizátor - + Additive Synthesizer for organ-like sounds Additív szintetizátor orgonaszerű hangokhoz - + GUS-compatible patch instrument - + Plugin for controlling knobs with sound peaks Szabályzók vezérlése a hangjel segítségével - + Reverb algorithm by Sean Costello Sean Costello zengető algoritmusa - + Player for SoundFont files Lejátszó a SoundFont fájlokhoz - + LMMS port of sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. A Commodore 64-ben használt MOS6581 és MOS8580 SID chip emulációja. - + A graphical spectrum analyzer. Grafikus spektrum-analizátor - + Plugin for enhancing stereo separation of a stereo input file Bővítmény a sztereó fájlok sztereó különválasztásának javításához - + Plugin for freely manipulating stereo output Bővítmény a sztereó kimenet manipulálásához - + Tuneful things to bang on Hangolt dolgok, amit ütni lehet - + Three powerful oscillators you can modulate in several ways Három erőteljes oszcillátor számos modulációs móddal - + A stereo field visualizer. Sztereó tér megjelenítése - + VST-host for using VST(i)-plugins within LMMS - VST host a VSTi pluginek használatához + VST host a VSTi bővítmények használatához - + Vibrating string modeler Rezgő húrok fizikai modellezése - + plugin for using arbitrary VST effects inside LMMS. - + Bővítmény tetszőleges VST effektek LMMS-ben történő használatához - + 4-oscillator modulatable wavetable synth - + plugin for waveshaping - + Hullámformálásra használható bővítmény - + Mathematical expression parser Matematikai kifejezés értelmező - + Embedded ZynAddSubFX Beágyazott ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New - Carla - Hozzáadás - - - - Format - Formátum - - - - Internal - Beépített - - - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - Sound Kits + + An all-pass filter allowing for extremely high orders. - - Type - Típus - - - - Effects - Effektek - - - - Instruments - Hangszerek - - - - MIDI Plugins - MIDI pluginek - - - - Other/Misc - Egyéb - - - - Architecture - Architektúra - - - - Native - Natív - - - - Bridged + + Granular pitch shifter - - Bridged (Wine) + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - Requirements - Követelmények - - - - With Custom GUI + + Basic Slicer - - With CV Ports + + Tap to the beat - - - Real-time safe only - - - - - Stereo only - Csak sztereó - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - Plugin hozzá&adása - - - - Cancel - Mégse - - - - Refresh - Frissítés - - - - Reset filters - Szűrők törlése - - - - - - - - - - - - - - - - - - - TextLabel - TextLabel - - - - Format: - Formátum: - - - - Architecture: - Architektúra: - - - - Type: - Típus: - - - - MIDI Ins: - MIDI bemenetek: - - - - Audio Ins: - Audió bemenetek: - - - - CV Outs: - CV kimenetek: - - - - MIDI Outs: - MIDI kimenetek: - - - - Parameter Ins: - Paraméter bemenetek: - - - - Parameter Outs: - Paraméter kimenetek: - - - - Audio Outs: - Audió kimenetek: - - - - CV Ins: - CV bemenetek: - - - - UniqueID: - Egyedi azonosító: - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - Információ - - - - Name - Név - - - - Label/URI - - - - - Maker - Készítő - - - - Binary/Filename - Bináris/Fájlnév: - - - - Focus Text Search - - - - - Ctrl+F - Ctrl+F - PluginEdit @@ -10825,95 +3461,100 @@ This chip was used in the Commodore 64 computer. + Send Notes + + + + Send Bank/Program Changes Bank- és programváltás küldése - + Send Control Changes - + Send Channel Pressure - + Send Note Aftertouch Aftertouch küldése - + Send Pitchbend Hanghajlítás küldése - + Send All Sound/Notes Off - + Minden hang kikapcsolása - + Plugin Name -Plugin név +Bővítmény név - + Program: Program: - + MIDI Program: MIDI Program: - + Save State Állapot mentése - + Load State Állapot betöltése - + Information Információ - + Label/URI: Címke/URI: - + Name: Név: - + Type: Típus: - + Maker: Készítő: - + Copyright: - + Copyright: - + Unique ID: Egyedi azonosító: @@ -10921,13 +3562,454 @@ Plugin név PluginFactory - + Plugin not found. - A plugin nem található. + A bővítmény nem található. - + LMMS plugin %1 does not have a plugin descriptor named %2! + A(z) %1 LMMS bővítmény nem rendelkezik %2 nevű plugin-leíróval. + + + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No @@ -10945,157 +4027,61 @@ Plugin név + TextLabel + + + + ... ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh - Carla - Frissítés - - - - Search for new... - A következők keresése: - - - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native - Natív - - - - POSIX 32bit - POSIX 32bit - - - - POSIX 64bit - POSIX 64bit - - - - Windows 32bit - Windows 32bit - - - - Windows 64bit - Windows 64bit - - - - Available tools: - Elérhető eszközök: - - - - python3-rdflib (LADSPA-RDF support) - python3-rdflib (LADSPA-RDF támogatás) - - - - carla-discovery-win64 - carla-discovery-win64 - - - - carla-discovery-native - carla-discovery-native - - - - carla-discovery-posix32 - carla-discovery-posix32 - - - - carla-discovery-posix64 - carla-discovery-posix64 - - - - carla-discovery-win32 - carla-discovery-win32 - - - - Options: - Opciók: - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). + + Plugin Refresh - - Run processing checks while scanning + + Search for: - + + All plugins, ignoring cache + + + + + Updated plugins only + + + + + Check previously invalid plugins + + + + Press 'Scan' to begin the search - + Scan - + >> Skip - >> Kihagyás + - + Close - Bezárás + @@ -11110,57 +4096,57 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable Engedélyezés - + On/Off Be/Ki - + - + PluginName - + MIDI MIDI - + AUDIO IN AUDIÓ BEMENET - + AUDIO OUT AUDIÓ KIMENET - + GUI GUI - + Edit Szerkesztés - + Remove Eltávolítás Plugin Name - Plugin név + Bővítmény név @@ -11168,2553 +4154,13823 @@ You can disable these checks to get a faster scanning time (at your own risk).Preset: - - ProjectNotes - - - Project Notes - Jegyzetek - - - - Enter project notes here - Ide írd a jegyzeteket! - - - - Edit Actions - Szerkesztés műveletek - - - - &Undo - &Visszavonás - - - - %1+Z - %1+Z - - - - &Redo - &Ismét - - - - %1+Y - %1+Y - - - - &Copy - &Másolás - - - - %1+C - %1+C - - - - Cu&t - &Kivágás - - - - %1+X - %1+X - - - - &Paste - &Beillesztés - - - - %1+V - %1+V - - - - Format Actions - Formázás műveletek - - - - &Bold - &Félkövér - - - - %1+B - %1+B - - - - &Italic - &Dőlt - - - - %1+I - %1+I - - - - &Underline - Alá&húzott - - - - %1+U - %1+U - - - - &Left - &Balra - - - - %1+L - %1+L - - - - C&enter - &Középre - - - - %1+E - %1+E - - - - &Right - &Jobbra - - - - %1+R - %1+R - - - - &Justify - &Sorkizárás - - - - %1+J - %1+J - - - - &Color... - S&zín - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - Plugin újratöltése + Bővítmény újratöltése - + Show GUI GUI megjelenítése - + Help Súgó + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: - Név: + Név: - - URI: - URI: - - - - - + Maker: - Készítő: + Készítő: - - - + Copyright: - + Copyright: - - + Requires Real Time: - - - - - - + + + Yes Igen - - - - - - + + + No Nem - - + Real Time Capable: - - + In Place Broken: - - + Channels In: - Bemeneti csatornák: + Bemeneti csatornák: - - + Channels Out: - Kimeneti csatornák: + Kimeneti csatornák: - + File: %1 Fájl: %1 - + File: Fájl: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Legutóbbi projektek + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Átnevezés... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Bemenet + + Amplify + - - Input gain: - Bemeneti erősítés: + + Start of sample + - - Size - Méret + + End of sample + - - Size: - Méret: + + Loopback point + - - Color - Csillapítás + + Reverse sample + - - Color: - Csillapítás: + + Loop mode + - - Output - Kimenet + + Stutter + - - Output gain: - Kimeneti erősítés: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Bemeneti erősítés + - - Size - Méret + + Input noise + - - Color - Csillapítás + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Kimeneti erősítés + - SaControls - - - Pause - Megállítás - - - - Reference freeze - Referencia fagyasztás - + lmms::SaControls - Waterfall - Spektogram + Pause + + Reference freeze + + + + + Waterfall + + + + Averaging - - - Stereo - Sztereó - - - - Peak hold - Csúcsérték tartása - - Logarithmic frequency - Logaritmikus frekvencia - - - - Logarithmic amplitude - Logaritmikus amplitúdó - - - - Frequency range - Frekvenciatartomány - - - - Amplitude range - Amplitúdó tartomány - - - - FFT block size - FFT blokk méret - - - - FFT window type - FFT ablak típus - - - - Peak envelope resolution + Stereo - - Spectrum display resolution - Spektrum kijelző felbontás + + Peak hold + - - Peak decay multiplier + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size - Spektogram történet hossza + Spectrum display resolution + - Waterfall gamma correction - Spektogram gamma korrekció + Peak decay multiplier + - FFT window overlap - - - - - FFT zero padding - - - - - - Full (auto) - Teljes - - - - - - Audible - Hallható - - - - Bass - Mély - - - - Mids - Közép - - - - High - Magas - - - - Extended - Széles - - - - Loud - Hangos - - - - Silent - Halk - - - - (High time res.) - (Magas időbeli felbontás) - - - - (High freq. res.) - (Magas frekvencia-felbontás) - - - - Rectangular (Off) - Négyszög (Ki) - - - - - Blackman-Harris (Default) - Blackman-Harris (Alapértelmezett) - - - - Hamming - Hamming - - - - Hanning - Hanning - - - - SaControlsDialog - - - Pause - Megállítás - - - - Pause data acquisition - Adatgyűjtés megállítása - - - - Reference freeze - Referencia fagyasztás - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - Spektogram - - - - Display real-time spectrogram - Valós idejű spektogram megjelenítése - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Sztereó - - - - Display stereo channels separately - Csatormák egymástól független megjelenítése - - - - Peak hold - Csúcsérték tartása - - - - Display envelope of peak values - - - - - Logarithmic frequency - Logaritmikus frekvencia - - - - Switch between logarithmic and linear frequency scale - Váltás logaritmikus és lineáris frekvenciaskála között - - - - - Frequency range - Frekvenciatartomány - - - - Logarithmic amplitude - Logaritmikus amplitúdó - - - - Switch between logarithmic and linear amplitude scale - Váltás logaritmikus és lineáris amplitúdóskála között - - - - - Amplitude range - Amplitúdó tartomány - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - Spektrum felbontás - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - Averaging weight - - Decrease to make averaging slower and smoother. + + Waterfall history size - - New sample contributes + + Waterfall gamma correction - - Waterfall height - Spektogram magassága - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + FFT window overlap - - Keep + + FFT zero padding - - lines + + + Full (auto) - - Waterfall gamma - Spektogram gamma - - - - Decrease to see very weak signals, increase to get better contrast. - Csökkentve a kisebb jelek is láthatók, növelve nagyobb a kontraszt. - - - - Gamma value: - Gamma érték: - - - - Window overlap + + + + Audible - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + Bass - - Each sample processed + + Mids - - times + + High - - Zero padding + + Extended - - Increase to get smoother-looking spectrum. Warning: high CPU usage. + + Loud - - Processing buffer is + + Silent - - steps larger than input block + + (High time res.) - - Advanced settings - Haladó beállítások + + (High freq. res.) + - - Access advanced settings - Haladó beállítások megjelenítése + + Rectangular (Off) + - - - FFT block size - FFT blokk méret + + + Blackman-Harris (Default) + - - - FFT window type - FFT ablak típus + + Hamming + + + + + Hanning + - SampleBuffer + lmms::SampleClip - - Fail to open file - Nem lehet megnyitni a fájlt - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Az audió fájl maximális mérete %1 MB, maximális hossza %2 perc lehet. - - - - Open audio file - Audiófájl megnyitása - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Minden támogatott audiófájl (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave fájlok (*.wav) - - - - OGG-Files (*.ogg) - OGG Fájlok (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth Fájlok (*.ds) - - - - FLAC-Files (*.flac) - FLAC Fájlok (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX Fájlok (*.spx) - - - - VOC-Files (*.voc) - VOC Fájlok (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF Fájlok (*.aif *.aiff) - - - - AU-Files (*.au) - AU Fájlok (*.au) - - - - RAW-Files (*.raw) - RAW Fájlok (*.raw) + + Sample not found + - SampleClipView + lmms::SampleTrack - - Double-click to open sample - Kattintson duplán hangfájl betöltéséhez - - - - Delete (middle mousebutton) - Törlés (középső egérgomb) - - - - Delete selection (middle mousebutton) - Kijelöltek törlése (középső egérgomb) - - - - Cut - Kivágás - - - - Cut selection - Kijelölés kivágása - - - - Copy - Másolás - - - - Copy selection - Kijelölés másolása - - - - Paste - Beillesztés - - - - Mute/unmute (<%1> + middle click) - Némítás (<%1> + középső egérgomb) - - - - Mute/unmute selection (<%1> + middle click) - Kijelölés némítása (<%1> + középső egérgomb) - - - - Reverse sample - Minta megfordítása - - - - Set clip color - Szín módosítása - - - - Use track color - Sáv színének használata - - - - SampleTrack - - + Volume - Hangerő + - + Panning - Panoráma + - + Mixer channel - Keverő csatorna + - - + + Sample track - Hangminta sáv - - - - SampleTrackView - - - Track volume - Sáv hangerő - - - - Channel volume: - Csatorna hangerő: - - - - VOL - VOL - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - ÁLTALÁNOS BEÁLLÍTÁSOK - - - - Sample volume - - - - - Volume: - Hangerő: - - - - VOL - VOL - - - - Panning - Panoráma - - - - Panning: - Panoráma: - - - - PAN - PAN - - - - Mixer channel - Keverő csatorna - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - MIDI kapcsolatok elvetése - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value - Visszaállítás - - - - Use built-in NaN handler - Beépített NaN kezelés használata - - - - Settings - Beállítások - - - - - General - Általános - - - - Graphical user interface (GUI) - Felhasználói felület (GUI) - - - - Display volume as dBFS - Hangerő kijelzése dBFS-ként - - - - Enable tooltips - Eszköztippek engedélyezése - - - - Enable master oscilloscope by default - Oszcilloszkóp engedélyezése alaphelyzetben - - - - Enable all note labels in piano roll + + empty - - - Enable compact track buttons - Kompakt sávgombok - - - - Enable one instrument-track-window mode - Mindig csak egy hangszer-ablak megjelenítése - - - - Show sidebar on the right-hand side - Oldalsáv áthelyezése jobb oldalra - - - - Let sample previews continue when mouse is released - Hangminta előnézetek folytatása az egérgomb elengedése után - - - - Mute automation tracks during solo - Automatizációs sávok némítása szóló esetén - - - - Show warning when deleting tracks - Figyelmeztetés sávok törlése előtt - - - - Projects - Projektek - - - - Compress project files by default - Projektfájlok tömörítése alapértelmezetten - - - - Create a backup file when saving a project - Biztonsági mentés létrehozása projekt mentésekor - - - - Reopen last project on startup - A legutóbbi projekt betöltése indításkor - - - - Language - Nyelv - - - - - Performance - Teljesítmény - - - - Autosave - Automatikus mentés - - - - Enable autosave - Automatikus mentés engedélyezése - - - - Allow autosave while playing - Automatikus mentés lejátszás közben - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - Sima görgetés a dalszerkesztőben - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Bővítmények - - - - VST plugins embedding: - VST plugin beágyazás: - - - - No embedding - Nincs beágyazás - - - - Embed using Qt API - Beágyazás a Qt API használatával - - - - Embed using native Win32 API - Beágyazás a Win32 API használatával - - - - Embed using XEmbed protocol - Beágyazás az XEmbed protokoll használatával - - - - Keep plugin windows on top when not embedded - Plugin ablak mindig legfelül, ha nincs beágyazva. - - - - Sync VST plugins to host playback - VST pluginek szinkronizálása a lejátszáshoz - - - - Keep effects running even without input - Effektek ébren tartása bemenet hiányában is - - - - - Audio - Audió - - - - Audio interface - Audió interfész - - - - HQ mode for output audio device - - - - - Buffer size - Buffer méret - - - - - MIDI - MIDI - - - - MIDI interface - MIDI interfész - - - - Automatically assign MIDI controller to selected track - MIDI vezérlő automatikus hozzárendelése a kijelölt sávhoz - - - - LMMS working directory - LMMS munkakönyvtár - - - - VST plugins directory - VST plugin könyvtár - - - - LADSPA plugins directories - LADSPA plugin könyvtárak - - - - SF2 directory - SF2 könyvtár - - - - Default SF2 - Alapértelmezett SF2 fájl - - - - GIG directory - GIG könyvtár - - - - Theme directory - Grafikus téma könyvtára: - - - - Background artwork - Háttérkép - - - - Some changes require restarting. - Egyes beállítások a program újraindítását követően lépnek érvénybe. - - - - Autosave interval: %1 - Automatikus mentés gyakorisága: %1 - - - - Choose the LMMS working directory - Adja meg az LMMS mankakönyvtárat - - - - Choose your VST plugins directory - Add meg a VST plugin könyvtárat - - - - Choose your LADSPA plugins directory - Adja meg a LADSPA plugin könyvtárat - - - - Choose your default SF2 - Adja meg az alapértelmezett SF2 fájlt - - - - Choose your theme directory - Adja meg a grafikus téma könyvtárát - - - - Choose your background picture - Háttérkép kiválasztása - - - - - Paths - Útvonalak - - - - OK - OK - - - - Cancel - Mégse - - - - Frames: %1 -Latency: %2 ms - - - - - Choose your GIG directory - Add meg a GIG könyvtárat - - - - Choose your SF2 directory - Add meg az SF2 könyvtárat - - - - minutes - perc - - - - minute - perc - - - - Disabled - Letiltva - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Vágási frekvencia + - + Resonance - Rezonancia + + + + + Filter type + - Filter type - Szűrő típus - - - Voice 3 off - + Volume - Hangerő + - + Chip model - Chip modell + - SidInstrumentView + lmms::SlicerT - - Volume: - Hangerő: - - - - Resonance: - Rezonancia: - - - - - Cutoff frequency: - Vágási frekvencia: - - - - High-pass filter - Felüláteresztő szűrő - - - - Band-pass filter - Sáváteresztő szűrő - - - - Low-pass filter - Aluláteresztő szűrő - - - - Voice 3 off + + Note threshold - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Felfutás: - - - - - Decay: - Decay: - - - - Sustain: - Kitartás: - - - - - Release: - Lecsengés: - - - - Pulse Width: - Pulzusszélesség: - - - - Coarse: - Elhangolás: - - - - Pulse wave - Négyszöghullám - - - - Triangle wave - Háromszöghullám - - - - Saw wave - Fűrészfoghullám - - - - Noise - Zaj - - - - Sync - Szinkron - - - - Ring modulation - Ring moduláció - - - - Filtered + + FadeOut - - Test - Teszt + + Original bpm + - - Pulse width: - Pulzusszélesség: + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - SideBarWidget + lmms::Song - - Close - Bezárás - - - - Song - - + Tempo - Tempó + - + Master volume - Fő hangerő + - + Master pitch - Transzponálás - - - - Aborting project load - Betöltés megszakítása + + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - LMMS hibajelentés + - + (repeated %1 times) - + The following errors occurred while loading: - Az alábbi hibák történtek a betöltés során: - - - - SongEditor - - - Could not open file - Nem lehet megnyitni a fájlt - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - A(z) %1 fájl nem nyitható meg. Ellenőrizd, hogy rendelkezel-e olvasási jogosultsággal a fájlhoz, majd próbáld újra. - - - - Operation denied - Művelet megtagadva - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Hiba - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - Az erőforrások másolása sikertelen. - - - - Could not write file - A fájl nem írható - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - A(z) %1 fájl nem nyitható meg írásra. -Ellenőrizd, hogy rendelkezel-e a szükséges engedélyekkel és próbáld újra! - - - - This %1 was created with LMMS %2 - Ez a %1 az LMMS %2 verziójával készült - - - - Error in file - Hiba a fájlban - - - - The file %1 seems to contain errors and therefore can't be loaded. - A(z) %1 fájl hibát tartalmaz, ezért nem lehet betölteni. - - - - Version difference - Verzió eltérés - - - - template - sablon - - - - project - projekt - - - - Tempo - Tempó - - - - TEMPO - TEMPÓ - - - - Tempo in BPM - Tempó BPM-ben - - - - High quality mode - Magas minőségű mód - - - - - - Master volume - Fő hangerő - - - - - - Master pitch - Transzponálás - - - - Value: %1% - Érték: %1% - - - - Value: %1 semitones - Érték: %1 félhang - - - - SongEditorWindow - - - Song-Editor - Dalszerkesztő - - - - Play song (Space) - Lejátszás (Space) - - - - Record samples from Audio-device - - - - - Record samples from Audio-device while playing song or BB track - - - - - Stop song (Space) - Stop (Space) - - - - Track actions - Sáv műveletek - - - - Add beat/bassline - Beat/Bassline sáv hozzáadása - - - - Add sample-track - Hangminta sáv hozzáadása - - - - Add automation-track - Automatizáció sáv hozzáadása - - - - Edit actions - Műveletek szerkesztése - - - - Draw mode - Beszúrás - - - - Knife mode (split sample clips) - Audió klip felosztása - - - - Edit mode (select and move) - Kijelölés és mozgatás - - - - Timeline controls - Idővonal vezérlők - - - - Bar insert controls - - - - - Insert bar - Ütem beszúrása - - - - Remove bar - Ütem eltávolítása - - - - Zoom controls - Nagyítás vezérlők - - - - Horizontal zooming - Vízszintes nagyítás - - - - Snap controls - - - - - - Clip snapping size - - - - - Toggle proportional snap on/off - - - - - Base snapping size - StepRecorderWidget + lmms::StereoEnhancerControls - - Hint - Tipp - - - - Move recording curser using <Left/Right> arrows + + Width - SubWindow + lmms::StereoMatrixControls - - Close - Bezárás - - - - Maximize - Teljes méret - - - - Restore - Visszaállítás - - - - TabWidget - - - - Settings for %1 - %1 beállításai - - - - TemplatesMenu - - - New from template - Létrehozás sablonból - - - - TempoSyncKnob - - - - Tempo Sync - Szinkronizálás tempóhoz - - - - No Sync - Nincs - - - - Eight beats - 8 ütem - - - - Whole note - 1 ütem - - - - Half note - 1/2 ütem - - - - Quarter note - 1/4 ütem - - - - 8th note - 1/8 ütem - - - - 16th note - 1/16 ütem - - - - 32nd note - 1/32 ütem - - - - Custom... - Egyéni... - - - - Custom - Egyéni - - - - Synced to Eight Beats + + Left to Left - - Synced to Whole Note + + Left to Right - - Synced to Half Note + + Right to Left - - Synced to Quarter Note - - - - - Synced to 8th Note - - - - - Synced to 16th Note - - - - - Synced to 32nd Note + + Right to Right - TimeDisplayWidget + lmms::Track - - Time units - Időegység - - - - MIN - MIN - - - - SEC - - - - - MSEC - - - - - BAR - - - - - BEAT - - - - - TICK - - - - - TimeLineWidget - - - Auto scrolling - Automatikus görgetés - - - - Loop points - Loop pontok - - - - After stopping go back to beginning - Leállításkor vissza az elejére - - - - After stopping go back to position at which playing was started - Leállításkor vissza a lejátszás kezdetéhez - - - - After stopping keep position - Leállításkor a pozíció megtartása - - - - Hint - Tipp - - - - Press <%1> to disable magnetic loop points. - - - - - Track - - + Mute - Némítás + - + Solo - Szóló + - TrackContainer + lmms::TrackContainer - + Couldn't import file - Nem lehet importálni a fájlt + - + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - + Couldn't open file - Nem lehet megnyitni a fájlt + - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - A(z) %1 fájl nem nyitható meg. Ellenőrizd, hogy rendelkezel-e olvasási jogosultsággal a fájlhoz, majd próbáld újra. + - + Loading project... - Projekt betöltése... + - - + + Cancel - Mégse + - - + + Please wait... - Kis türelmet... + - + Loading cancelled - Betöltés megszakítva + - + Project loading was cancelled. - A projekt betöltése megszakítva. + - + Loading Track %1 (%2/Total %3) - Sáv betöltése: %1 (%2/Összesen %3) + - + Importing MIDI-file... - MIDI fájl importálása... + - Clip + lmms::TripleOscillator - - Mute - Némítás + + Sample not found + - ClipView + lmms::VecControls - + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + Current position - Jelenlegi pozíció + - + Current length - Jelenlegi hossz + - - + + %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 - %5:%6) + - + Press <%1> and drag to make a copy. - + Press <%1> for free resizing. - + Hint - Tipp + - + Delete (middle mousebutton) - Törlés (középső egérgomb) + - + Delete selection (middle mousebutton) - Kijelöltek törlése (középső egérgomb) + - + Cut - Kivágás + - + Cut selection - Kijelöltek kivágása + - + Merge Selection - + Copy - Másolás + - + Copy selection - Kijelölés másolása + - + Paste - Beillesztés + - + Mute/unmute (<%1> + middle click) - Némítás (<%1> + középső egérgomb) + - + Mute/unmute selection (<%1> + middle click) - Kijelölés némítása (<%1> + középső egérgomb) + - - Set clip color - Szín módosítása + + Clip color + - - Use track color - Sáv színének használata + + Change + + + + + Reset + + + + + Pick random + - TrackContentWidget + lmms::gui::CompressorControlDialog - + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + + + + + lmms::gui::StepRecorderWidget + + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - Beillesztés + - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. Actions - Műveletek + Mute - Némítás + Solo - Szóló - - - - After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - Egy sáv törlése nem visszavonható. Biztosan törlöd a(z) "%1" sávot? - - - - Confirm removal - Törlés megerősítése - - - - Don't ask again - Ne kérdezd újra - - - - Clone this track - Sáv klónozása - - - - Remove this track - Sáv eltávolítása - - - - Clear this track - Sáv tartalmának törlése - - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - Hozzárendelés új csatornához - - - - Turn all recording on - Minden felvétel bekapcsolása - - - - Turn all recording off - Minden felvétel kikapcsolása - - - - Change color - Szín módosítása - - - - Reset color to default - Szín visszaállítása - - - - Set random color - Véletlenszerű szín - - - - Clear clip colors - Klip színek törlése - - - - TripleOscillatorView - - - Modulate phase of oscillator 1 by oscillator 2 - 1. oszcillátor fázisának modulációja a 2. oszcillátorral - - - - Modulate amplitude of oscillator 1 by oscillator 2 - 1. oszcillátor amplitúdójának modulációja a 2. oszcillátorral - - - - Mix output of oscillators 1 & 2 - 1. és 2. oszcillátorok kimenetének keverése - - - - Synchronize oscillator 1 with oscillator 2 - 1. oszcillátor szinkronizálása a 2. oszcillátorral - - - - Modulate frequency of oscillator 1 by oscillator 2 - 1. oszcillátor frekvenciájának modulációja a 2. oszcillátorral - - - - Modulate phase of oscillator 2 by oscillator 3 - 2. oszcillátor fázisának modulációja a 3. oszcillátorral - - - - Modulate amplitude of oscillator 2 by oscillator 3 - 2. oszcillátor amplitúdójának modulációja a 3. oszcillátorral - - - - Mix output of oscillators 2 & 3 - 2. és 3. oszcillátorok kimenetének keverése - - - - Synchronize oscillator 2 with oscillator 3 - 2. oszcillátor szinkronizálása a 3. oszcillátorral - - - - Modulate frequency of oscillator 2 by oscillator 3 - 2. oszcillátor frekvenciájának modulációja a 3. oszcillátorral - - - - Osc %1 volume: - Osc %1 hangerő: - - - - Osc %1 panning: - Osc %1 panoráma: - - - - Osc %1 coarse detuning: - Osc %1 hangolás: - - - - semitones - félhang - - - - Osc %1 fine detuning left: - Osc %1 finomhangolás bal: - - - - - cents - cent - - - - Osc %1 fine detuning right: - Osc %1 finomhangolás jobb: - - - - Osc %1 phase-offset: - Osc %1 fáziseltolás: - - - - - degrees - fok - - - - Osc %1 stereo phase-detuning: - Osc %1 sztereó fáziseltolás: - - - - Sine wave - Szinuszhullám - - - - Triangle wave - Háromszöghullám - - - - Saw wave - Fűrészfoghullám - - - - Square wave - Négyszöghullám - - - - Moog-like saw wave - Moog fűrészfog - - - - Exponential wave - Exponenciális - - - - White noise - Fehér zaj - - - - User-defined wave - Felhasználó által megadott hullám - - - - VecControls - - - Display persistence amount - - Logarithmic scale - Logaritmikus skála + + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? + - - High quality - Magas minőség + + Confirm removal + + + + + Don't ask again + + + + + Clone this track + + + + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors + - VecControlsDialog + lmms::gui::TripleOscillatorView - - HQ - HQ + + Modulate phase of oscillator 1 by oscillator 2 + + + + Modulate amplitude of oscillator 1 by oscillator 2 + + + + + Mix output of oscillators 1 & 2 + + + + + Synchronize oscillator 1 with oscillator 2 + + + + + Modulate frequency of oscillator 1 by oscillator 2 + + + + + Modulate phase of oscillator 2 by oscillator 3 + + + + + Modulate amplitude of oscillator 2 by oscillator 3 + + + + + Mix output of oscillators 2 & 3 + + + + + Synchronize oscillator 2 with oscillator 3 + + + + + Modulate frequency of oscillator 2 by oscillator 3 + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + + cents + + + + + Osc %1 fine detuning right: + + + + + Osc %1 phase-offset: + + + + + + degrees + + + + + Osc %1 stereo phase-detuning: + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog-like saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined wave + + + + + Use alias-free wavetable oscillators. + + + + + lmms::gui::VecControlsDialog + HQ + + + + Double the resolution and simulate continuous analog-like trace. Log. scale - Log. skála + @@ -13722,2618 +17978,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Verziószám növelése - + lmms::gui::VersionedSaveDialog + Increment version number + + + + Decrement version number - Verziószám csökkentése + - + Save Options - Mentési beállítások + - + already exists. Do you want to replace it? - már létezik. Felülírod? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - VST plugin megnyitása + - + Control VST plugin from LMMS host - + Open VST plugin preset - VST plugin preset megnyitása + - + Previous (-) - Előző (-) + - + Save preset - Preset mentése + - + Next (+) - Következő (+) + - + Show/hide GUI - GUI megjelenítése/elrejtése + - + Turn off all notes - Minden hang kikapcsolása + - + DLL-files (*.dll) - DLL fájlok (*.dll) + - + EXE-files (*.exe) - EXE fájlok (*.exe) + + + + + SO-files (*.so) + + + + + No VST plugin loaded + - No VST plugin loaded - Nincs VST plugin betöltve + Preset + - Preset - Preset - - - by - készítő: + - + - VST plugin control - - VST plugin vezérlők - - - - VstEffectControlDialog - - - Show/hide - - - - - Control VST plugin from LMMS host - - - - - Open VST plugin preset - VST plugin preset megnyitása - - - - Previous (-) - Előző (-) - - - - Next (+) - Következő (+) - - - - Save preset - Preset mentése - - - - - Effect by: - Készítő: - - - - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - - - - VstPlugin - - - - The VST plugin %1 could not be loaded. - A(z) %1 VST plugin nem tölthető be. - - - - Open Preset - Preset megnyitása - - - - - Vst Plugin Preset (*.fxp *.fxb) - VST Plugin Preset (*.fxp *.fxb) - - - - : default - : alapértelmezett - - - - Save Preset - Preset mentése - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Plugin betöltése - - - - Please wait while loading VST plugin... - Várj, amíg a VST plugin betöltődik... - - - - WatsynInstrument - - - Volume A1 - A1 Hangerő - - - - Volume A2 - A2 Hangerő - - - - Volume B1 - B1 Hangerő - - - - Volume B2 - B2 Hangerő - - - - Panning A1 - A1 Panoráma - - - - Panning A2 - A2 Panoráma - - - - Panning B1 - B1 Panoráma - - - - Panning B2 - B2 Panoráma - - - - Freq. multiplier A1 - A1 Frekvencia szorzó - - - - Freq. multiplier A2 - A2 Frekvencia szorzó - - - - Freq. multiplier B1 - B1 Frekvencia szorzó - - - - Freq. multiplier B2 - B2 Frekvencia szorzó - - - - Left detune A1 - A1 Bal oldali elhangolás - - - - Left detune A2 - A2 Bal oldali elhangolás - - - - Left detune B1 - B1 Bal oldali elhangolás - - - - Left detune B2 - B2 Bal oldali elhangolás - - - - Right detune A1 - A1 Jobb oldali elhangolás - - - - Right detune A2 - A2 Jobb oldali elhangolás - - - - Right detune B1 - B1 Jobb oldali elhangolás - - - - Right detune B2 - B2 Jobb oldali elhangolás - - - - A-B Mix - A-B arány - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - A1-B2 Áthallás - - - - A2-A1 modulation - A2-A1 moduláció - - - - B2-B1 modulation - B2-B1 moduláció - - - - Selected graph - WatsynView + lmms::gui::VibedView - - - - - Volume - Hangerő - - - - - - - Panning - Panoráma - - - - - - - Freq. multiplier - Frekvencia szorzó - - - - - - - Left detune - Bal oldali elhangolás - - - - - - - - - - - cents - cent - - - - - - - Right detune - Jobb oldali elhangolás - - - - A-B Mix - A-B arány - - - - Mix envelope amount + + Enable waveform - - Mix envelope attack - - - - - Mix envelope hold - - - - - Mix envelope decay - - - - - Crosstalk - Áthallás - - - - Select oscillator A1 - Oszcillátor A1 kiválasztása - - - - Select oscillator A2 - Oszcillátor A2 kiválasztása - - - - Select oscillator B1 - Oszcillátor B1 kiválasztása - - - - Select oscillator B2 - Oszcillátor B2 kiválasztása - - - - Mix output of A2 to A1 - A1 és A2 keverése - - - - Modulate amplitude of A1 by output of A2 - A1 amplitúdójának modulációja A2-vel - - - - Ring modulate A1 and A2 - - - - - Modulate phase of A1 by output of A2 - A1 fázisának modulációja A2-vel - - - - Mix output of B2 to B1 - B1 és B2 keverése - - - - Modulate amplitude of B1 by output of B2 - B1 amplitúdójának modulációja B2-vel - - - - Ring modulate B1 and B2 - - - - - Modulate phase of B1 by output of B2 - B1 fázisának modulációja B2-vel - - - - - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Load waveform - Hullámforma betöltése - - - - Load a waveform from a sample file - Hullámforma betöltése fájlból - - - - Phase left - Fázis balra - - - - Shift phase by -15 degrees - Fázis eltolása -15 fokkal - - - - Phase right - Fázis jobbra - - - - Shift phase by +15 degrees - Fázis eltolása +15 fokkal - - - - - Normalize - Normalizálás - - - - - Invert - Invertálás - - - - - Smooth - Simítás - - - - - Sine wave - Szinuszhullám - - - - - - Triangle wave - Háromszöghullám - - - - Saw wave - Fűrészfoghullám - - - - - Square wave - Négyszöghullám - - - - Xpressive - - - Selected graph - - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - W1 simítása - - - - W2 smoothing - W2 simítása - - - - W3 smoothing - W3 simítása - - - - Panning 1 - Panoráma 1 - - - - Panning 2 - Panoráma 2 - - - - Rel trans - - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Select oscillator W1 - W1 oszcillátor kiválasztása - - - - Select oscillator W2 - W2 oszcillátor kiválasztása - - - - Select oscillator W3 - W3 oszcillátor kiválasztása - - - - Select output O1 - O1 kimenet kiválasztása - - - - Select output O2 - O2 kimenet kiválasztása - - - - Open help window - Súgó megnyitása - - - - - Sine wave - Szinuszhullám - - - - - Moog-saw wave - Moog fűrészfog - - - - - Exponential wave - Exponenciális - - - - - Saw wave - Fűrészfoghullám - - - - - User-defined wave - Felhasználó által megadott hullám - - - - - Triangle wave - Háromszöghullám - - - - - Square wave - Négyszöghullám - - - - - White noise - Fehér zaj - - - - WaveInterpolate - Interpoláció - - - - ExpressionValid - Érvényes kifejezés - - - - General purpose 1: - Általános 1: - - - - General purpose 2: - Általános 2: - - - - General purpose 3: - Általános 3: - - - - O1 panning: - O1 panoráma: - - - - O2 panning: - O2 panoráma: - - - - Release transition: - Elengedési idő: - - - - Smoothness - Simítás - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - Szűrő frekvencia - - - - Filter resonance - Szűrő rezonancia - - - - Bandwidth - Sávszélesség - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - MIDI CC események továbbítása - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - Szűrő frekvencia: - - - - FREQ - FREKV - - - - Filter resonance: - Szűrő rezonancia: - - - - RES - RES - - - - Bandwidth: - Sávszélesség: - - - - BW - BW - - - - FM gain: - - - - - FM GAIN - - - - - Resonance center frequency: - - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - RES BW - - - - Forward MIDI control changes - MIDI CC események továbbítása - - - - Show GUI - GUI megjelenítése - - - - AudioFileProcessor - - - Amplify - Erősítés - - - - Start of sample - Minta eleje - - - - End of sample - Minta vége - - - - Loopback point - Visszatérési pont - - - - Reverse sample - Minta megfordítása - - - - Loop mode - Ismétlési mód - - - - Stutter - - - - - Interpolation mode - Interpolációs mód - - - - None - Nincs - - - - Linear - Lineáris - - - - Sinc - Sinc - - - - Sample not found: %1 - Hangminta nem található: %1 - - - - BitInvader - - - Sample length - Minta hossza - - - - BitInvaderView - - - Sample length - Minta hossza - - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - - Sine wave - Szinuszhullám - - - - - Triangle wave - Háromszöghullám - - - - - Saw wave - Fűrészfoghullám - - - - - Square wave - Négyszöghullám - - - - - White noise - Fehér zaj - - - - - User-defined wave - Felhasználó által megadott hullám - - - - + + Smooth waveform - Hullámforma simítása - - - - Interpolation - Interpoláció - - - - Normalize - Normalizálás - - - - DynProcControlDialog - - - INPUT - BEMENET - - - - Input gain: - Bemeneti erősítés: - - - - OUTPUT - KIMENET - - - - Output gain: - Kimeneti erősítés: - - - - ATTACK - ATTACK - - - - Peak attack time: - - RELEASE - RELEASE - - - - Peak release time: + + + Normalize waveform - - - Reset wavegraph - Visszaállítás - - - - - Smooth wavegraph - Lekerekítés - - - - - Increase wavegraph amplitude by 1 dB - Amplitúdó növelése 1 dB-lel - - - - - Decrease wavegraph amplitude by 1 dB - Amplitúdó csökkentése 1 dB-lel - - - - Stereo mode: maximum - Sztereó mód: maximum - - - - Process based on the maximum of both stereo channels - Feldolgozás a csatonák maximuma alapján - - - - Stereo mode: average - Sztereó mód: átlag - - - - Process based on the average of both stereo channels - Feldolgozás a csatonák átlaga alapján - - - - Stereo mode: unlinked - Sztereó mód: független - - - - Process each stereo channel independently - A két csatorna egymástól független feldolgozása - - - - DynProcControls - - - Input gain - Bemeneti erősítés - - - - Output gain - Kimeneti erősítés - - - - Attack time - - - - - Release time - - - - - Stereo mode - Sztereó mód - - - - graphModel - - - Graph - - - - - KickerInstrument - - - Start frequency - Kezdő frekvencia - - - - End frequency - Végső frekvencia - - - - Length - Hossz - - - - Start distortion - Kezdeti torzítás - - - - End distortion - Végső torzítás - - - - Gain - Erősítés - - - - Envelope slope - Burkológörbe meredekség - - - - Noise - Zaj - - - - Click - Kattanás - - - - Frequency slope - Frekvenciaváltozás sebessége - - - - Start from note - - - - - End to note - - - - - KickerInstrumentView - - - Start frequency: - Kezdő frekvencia: - - - - End frequency: - Végső frekvencia: - - - - Frequency slope: - Frekvenciaváltozás sebessége: - - - - Gain: - Erősítés: - - - - Envelope length: - Burkológörbe hossza: - - - - Envelope slope: - Burkológörbe meredekség: - - - - Click: - Kattanás: - - - - Noise: - Zaj: - - - - Start distortion: - Kezdeti torzítás: - - - - End distortion: - Végső torzítás: - - - - LadspaBrowserView - - - - Available Effects - Elérhető effektek - - - - - Unavailable Effects - Nem elérhető effektek - - - - - Instruments - Hangszerek - - - - - Analysis Tools - Analizáló eszközök - - - - - Don't know - Ismeretlen - - - - Type: - Típus: - - - - LadspaDescription - - - Plugins - Bővítmények - - - - Description - Leírás - - - - LadspaPortDialog - - - Ports - Portok - - - - Name - Név - - - - Rate - Ütem: - - - - Direction - Irány - - - - Type - Típus - - - - Min < Default < Max - Min < Alapértelmezés < Max - - - - Logarithmic - Logaritmikus - - - - SR Dependent - - - - - Audio - Audió - - - - Control - Vezérlő - - - - Input - Bemenet - - - - Output - Kimenet - - - - Toggled - Ki/Be - - - - Integer - Egész - - - - Float - Lebegőpontos - - - - - Yes - Igen - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF vágási frekvencia - - - - VCF Resonance - VCF rezonancia - - - - VCF Envelope Mod - VCF burkológörbe moduláció - - - - VCF Envelope Decay - - - - - Distortion - Torzítás - - - - Waveform - Hullámforma - - - - Slide Decay - - - - - Slide - - - - - Accent - - - - - Dead - - - - - 24dB/oct Filter - - - - - Lb302SynthView - - - Cutoff Freq: - Vágási frekvencia: - - - - Resonance: - Rezonancia: - - - - Env Mod: - Moduláció: - - - - Decay: - Decay: - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - Torzítás: - - - - Saw wave - Fűrészfoghullám - - - - Click here for a saw-wave. - Fűrészfoghullám - - - - Triangle wave - Háromszöghullám - - - - Click here for a triangle-wave. - Háromszöghullám - - - - Square wave - Négyszöghullám - - - - Click here for a square-wave. - Négyszöghullám - - - - Rounded square wave - Lekerekített négyszög - - - - Click here for a square-wave with a rounded end. - Lekerekített négyszög - - - - Moog wave - Moog-szerű hullám - - - - Click here for a moog-like wave. - Moog-szerű hullám - - - + + Sine wave - Szinuszhullám - - - - Click for a sine-wave. - Szinusz - - - - - White noise wave - Fehér zaj - - - - Click here for an exponential wave. - Exponenciális hullám - - - - Click here for white-noise. - Fehér zaj - - - - Bandlimited saw wave - Sávlimitált fűrészfog - - - - Click here for bandlimited saw wave. - Sávlimitált fűrészfog - - - - Bandlimited square wave - Sávlimitált négyszög - - - - Click here for bandlimited square wave. - Sávlimitált négyszög - - - - Bandlimited triangle wave - Sávlimitált háromszög - - - - Click here for bandlimited triangle wave. - Sávlimitált háromszög - - - - Bandlimited moog saw wave - Sávlimitált Moog fűrészfog - - - - Click here for bandlimited moog saw wave. - Sávlimitált Moog fűrészfog - - - - MalletsInstrument - - - Hardness - Keménység - - - - Position - Pozíció - - - - Vibrato gain - Vibrato erősség - - - - Vibrato frequency - Vibrato frekvencia - - - - Stick mix - Ütő - - - - Modulator - Modulátor - - - - Crossfade - Keverési arány - - - - LFO speed - LFO sebesség - - - - LFO depth - LFO erősség - - - - ADSR - ADSR - - - - Pressure - Nyomás - - - - Motion - - Speed - Sebesség - - - - Bowed + + + Triangle wave - - Spread - Szórás - - - - Marimba - Marimba - - - - Vibraphone - Vibrafon - - - - Agogo - Agogo - - - - Wood 1 - Fa 1 - - - - Reso + + + Saw wave - - Wood 2 - Fa 2 - - - - Beats + + + Square wave - - Two fixed + + + White noise - - Clump + + + User-defined wave - - Tubular bells - Csőharang - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - Tibeti hangtál - - - - MalletsInstrumentView - - - Instrument - Hangszer - - - - Spread - Szórás - - - - Spread: - Szórás: - - - - Missing files - HIányzó fájlok - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Az STK telepítése hiányosnak tűnik. Ellenőrizd, hogy a teljes STK csomag telepítve van-e! - - - - Hardness - Keménység - - - - Hardness: - Keménység: - - - - Position - Pozíció - - - - Position: - Pozíció: - - - - Vibrato gain - Vibrato erősség - - - - Vibrato gain: - Vibrato erősség: - - - - Vibrato frequency - Vibrato frekvencia - - - - Vibrato frequency: - Vibrato frekvencia: - - - - Stick mix - Ütő - - - - Stick mix: - Ütő: - - - - Modulator - Modulátor - - - - Modulator: - Modulátor: - - - - Crossfade - Keverési arány - - - - Crossfade: - Keverési arány: - - - - LFO speed - LFO sebesség - - - - LFO speed: - LFO sebesség: - - - - LFO depth - LFO erősség - - - - LFO depth: - LFO erősség: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Nyomás - - - - Pressure: - Nyomás: - - - - Speed - Sebesség - - - - Speed: - Sebesség: - - - - ManageVSTEffectView - - - - VST parameter control - - VST plugin vezérlők - - - - VST sync - VST Szinkron - - - - - Automated - Automatizált - - - - Close - Bezárás - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST plugin vezérlők - - - - VST Sync - VST Szinkron - - - - - Automated - Automatizált - - - - Close - Bezárás - - - - OrganicInstrument - - - Distortion - Torzítás - - - - Volume - Hangerő - - - - OrganicInstrumentView - - - Distortion: - Torzítás: - - - - Volume: - Hangerő: - - - - Randomise - Randomizálás - - - - - Osc %1 waveform: - Osc %1 hullámforma: - - - - Osc %1 volume: - Osc %1 hangerő: - - - - Osc %1 panning: - Osc %1 panoráma: - - - - Osc %1 stereo detuning - Osc %1 sztereó elhangolás - - - - cents - cent - - - - Osc %1 harmonic: - Osc %1 harmonikus: - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - Bank választó - - - - Bank - Bank - - - - Program selector - Program választó - - - - Patch - Patch - - - - Name - Név - - - - OK - OK - - - - Cancel - Mégse - - - - Sf2Instrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Erősítés - - - - Reverb - Zengető - - - - Reverb room size - Terem méret - - - - Reverb damping - Csillapítás - - - - Reverb width - Szélesség - - - - Reverb level - Zengető mennyiség - - - - Chorus - Kórus - - - - Chorus voices - Szólamok száma - - - - Chorus level - Kórus mennyiség - - - - Chorus speed - Kórus frekvencia - - - - Chorus depth - Kórus mélység - - - - A soundfont %1 could not be loaded. - A(z) %1 SoundFont nem tölthető be. - - - - Sf2InstrumentView - - - - Open SoundFont file - SoundFont fájl megnyitása - - - - Choose patch - Patch kiválasztása - - - - Gain: - Erősítés: - - - - Apply reverb (if supported) - Zengető alkalmazása (ha támogatott) - - - - Room size: - Terem méret: - - - - Damping: - Csillapítás: - - - - Width: - Szélesség: - - - - - Level: - Mennyiség: - - - - Apply chorus (if supported) - Kórus alkalmazása (ha támogatott) - - - - Voices: - Szólamok: - - - - Speed: - Sebesség: - - - - Depth: - Mélység: - - - - SoundFont Files (*.sf2 *.sf3) - SoundFont fájlok (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Hullám - - - - StereoEnhancerControlDialog - - - WIDTH - SZÉLESSÉG - - - - Width: - Szélesség: - - - - StereoEnhancerControls - - - Width - Szélesség - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Bal - Bal jelszint: - - - - Left to Right Vol: - Bal - Jobb jelszint: - - - - Right to Left Vol: - Jobb - Bal jelszint: - - - - Right to Right Vol: - Jobb - Jobb jelszint - - - - StereoMatrixControls - - - Left to Left - Bal - Bal - - - - Left to Right - Bal - Jobb - - - - Right to Left - Jobb - Bal - - - - Right to Right - Jobb - Jobb - - - - VestigeInstrument - - - Loading plugin - Plugin betöltése - - - - Please wait while loading the VST plugin... - Várj, amíg a VST plugin betöltődik... - - - - Vibed - - - String %1 volume - %1. húr hangerő - - - - String %1 stiffness - %1. húr feszessége - - - - Pick %1 position - %1. húr pengetés helye - - - - Pickup %1 position - %1. hangszedő pozíciója - - - - String %1 panning - %1. húr panoráma - - - - String %1 detune - %1. húr elhangolása - - - - String %1 fuzziness - - - - - String %1 length - %1. húr hossza: - - - - Impulse %1 - Impulzus %1 - - - - String %1 - %1. húr - - - - VibedView - - + String volume: - Húr hangerő: + - + String stiffness: - Húr feszessége: + - + Pick position: - Pengetés helye: + - + Pickup position: - Hangszedő pozíciója: + - + String panning: - Húr panoráma: + - + String detune: - Húr elhangolása: + - + String fuzziness: - + String length: - Húr hossza: + - - Impulse - Impulzus - - - - Octave - Oktáv - - - + Impulse Editor - Impulzusszerkesztő + - - Enable waveform - Húr engedélyezése + + Impulse + - + Enable/disable string - Húr engedélyezése/tiltása + - + + Octave + + + + String - Húr + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + - - + + Control VST plugin from LMMS host + + + + + Open VST plugin preset + + + + + Previous (-) + + + + + Next (+) + + + + + Save preset + + + + + + Effect by: + + + + + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + + + + + lmms::gui::WatsynView + + + + + + Volume + + + + + + + + Panning + + + + + + + + Freq. multiplier + + + + + + + + Left detune + + + + + + + + + + + + cents + + + + + + + + Right detune + + + + + A-B Mix + + + + + Mix envelope amount + + + + + Mix envelope attack + + + + + Mix envelope hold + + + + + Mix envelope decay + + + + + Crosstalk + + + + + Select oscillator A1 + + + + + Select oscillator A2 + + + + + Select oscillator B1 + + + + + Select oscillator B2 + + + + + Mix output of A2 to A1 + + + + + Modulate amplitude of A1 by output of A2 + + + + + Ring modulate A1 and A2 + + + + + Modulate phase of A1 by output of A2 + + + + + Mix output of B2 to B1 + + + + + Modulate amplitude of B1 by output of B2 + + + + + Ring modulate B1 and B2 + + + + + Modulate phase of B1 by output of B2 + + + + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + Load waveform + + + + + Load a waveform from a sample file + + + + + Phase left + + + + + Shift phase by -15 degrees + + + + + Phase right + + + + + Shift phase by +15 degrees + + + + + + Normalize + + + + + + Invert + + + + + + Smooth + + + + + Sine wave - Szinuszhullám + - - + + + Triangle wave - Háromszöghullám + - - + Saw wave - Fűrészfoghullám + - - + + Square wave - Négyszöghullám - - - - - White noise - Fehér zaj - - - - - User-defined wave - Felhasználó által megadott hullám - - - - - Smooth waveform - Hullámforma simítása - - - - - Normalize waveform - Hullámforma normalizálása - - - - VoiceObject - - - Voice %1 pulse width - - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - - - - - Voice %1 sync - - - - - Voice %1 ring modulate - - - - - Voice %1 filtered - - - - - Voice %1 test - WaveShaperControlDialog + lmms::gui::WaveShaperControlDialog - + INPUT - BEMENET + - + Input gain: - Bemeneti erősítés: + - + OUTPUT - KIMENET - - - - Output gain: - Kimeneti erősítés: + - - Reset wavegraph - Visszaállítás + Output gain: + + - - Smooth wavegraph - Lekerekítés + Reset wavegraph + + - - Increase wavegraph amplitude by 1 dB - Amplitúdó növelése 1 dB-lel + Smooth wavegraph + + - + Increase wavegraph amplitude by 1 dB + + + + + Decrease wavegraph amplitude by 1 dB - Amplitúdó csökkentése 1 dB-lel + - + Clip input - Bemenet levágása + - + Clip input signal to 0 dB - Bemenet levágása 0dB-re + - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Bemeneti erősítés + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Kimeneti erősítés + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/id.ts b/data/locale/id.ts index 4adeb9b22..fc7bb422f 100644 --- a/data/locale/id.ts +++ b/data/locale/id.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,810 +70,43 @@ Jika Anda tertarik untuk menerjemahkan LMMS dalam bahasa lain atau ingin meningk - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL - - - - Volume: - Volume: - - - - PAN - SEIMBANG - - - - Panning: - Keseimbangan: - - - - LEFT - KIRI - - - - Left gain: - gain kiri: - - - - RIGHT - KANAN - - - - Right gain: - gain kanan: - - - - AmplifierControls - - - Volume - Volume - - - - Panning - Keseimbangan - - - - Left gain - gain Kiri - - - - Right gain - gain Kanan - - - - AudioAlsaSetupWidget - - - DEVICE - PERANGKAT - - - - CHANNELS - SALURAN - - - - AudioFileProcessorView - - - Open sample - Buka sampel - - - - Reverse sample - Balikan sampel - - - - Disable loop - Nonaktifkan pengulangan - - - - Enable loop - Aktifkan pengulangan - - - - Enable ping-pong loop + + About JUCE - - Continue sample playback across notes - Lanjutkan pemutaran sampel di catatan melintasi not - - - - Amplify: - Penguatan: - - - - Start point: - Poin awal: - - - - End point: - Poin akhir: - - - - Loopback point: - Titik pengulangan: - - - - AudioFileProcessorWaveView - - - Sample length: - Panjang sampel: - - - - AudioJack - - - JACK client restarted - klien JACK dimulai ulang - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS dikeluarkan oleh JACK karena alasan tertentu. Oleh karena itu backend LMMS JACK, telah dimulai ulang. Anda harus membuat koneksi manual lagi. - - - - JACK server down - Server JACK lumpuh - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Server JACK sepertinya telah dimatikan dan pemulaian instansi baru gagal. Oleh karena itu LMMS tidak bisa dilanjutkan. Anda harus menyimpan proyek anda dan memulai ulang JACK dan LMMS. - - - - Client name + + <b>About JUCE</b> - - Channels + + This program uses JUCE version 3.x.x. + + + + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + + + + + This program uses JUCE version - AudioOss + AudioDeviceSetupWidget - - Device - - - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - &Mulai ulang (%1%2) - - - - &Copy value (%1%2) - &Salin nilai (%1%2) - - - - &Paste value (%1%2) - &Tempel nilai (%1%2) - - - - &Paste value - &Tempel nilai - - - - Edit song-global automation - Ubah lagu otomasi global - - - - Remove song-global automation - Hapus lagu otomasi global - - - - Remove all linked controls - Hapus semua pengendali yang terhubung - - - - Connected to %1 - Terhubung ke %1 - - - - Connected to controller - Terhubung ke pengendali - - - - Edit connection... - Ubah koneksi... - - - - Remove connection - Hapus koneksi - - - - Connect to controller... - Hubungkan ke pengendali... - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - Silakan buka pola otomasi dengan menu konteks kontrol! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Putar/jeda pola saat ini (Spasi) - - - - Stop playing of current clip (Space) - Berhenti memutar pola saat ini (Spasi) - - - - Edit actions - Ubah aksi - - - - Draw mode (Shift+D) - Mode menggambar (Shift+D) - - - - Erase mode (Shift+E) - Mode penghapus (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Balik secara vertikal - - - - Flip horizontally - Balik secara horizontal - - - - Interpolation controls - Kontrol interpolasi - - - - Discrete progression - Perkembangan diskrit - - - - Linear progression - perkembangan linier - - - - Cubic Hermite progression - Perkembangan Hermite Cubic - - - - Tension value for spline - nilai tegangan untuk spline - - - - Tension: - Tegangan: - - - - Zoom controls - Kontrol Zum - - - - Horizontal zooming - Pembesaran horizontal - - - - Vertical zooming - Pembesaran vertikal - - - - Quantization controls - Kontrol kuantitasi - - - - Quantization - Kuantitasi - - - - - Automation Editor - no clip - Editor Otomasi - tiada pola - - - - - Automation Editor - %1 - Editor Otomasi - %1 - - - - Model is already connected to this clip. - Model sudah terhubung ke pola ini. - - - - AutomationClip - - - Drag a control while pressing <%1> - Tarik kontrol sambil menekan <%1> - - - - AutomationClipView - - - Open in Automation editor - Buka di editor Otomasi - - - - Clear - Bersih - - - - Reset name - Reset nama - - - - Change name - Ganti nama - - - - Set/clear record - Setel/bersihkan catatan - - - - Flip Vertically (Visible) - Balik secara Vertikal (Terlihat) - - - - Flip Horizontally (Visible) - Balik secara Horizontal (Terlihat) - - - - %1 Connections - %1 Koneksi - - - - Disconnect "%1" - Putuskan "%1" - - - - Model is already connected to this clip. - Model sudah terhubung ke pola ini. - - - - AutomationTrack - - - Automation track - Trek otomasi - - - - PatternEditor - - - Beat+Bassline Editor - Editor Bassline+ketukan - - - - Play/pause current beat/bassline (Space) - Putar/jeda ketukan/bassline saat ini (Spasi) - - - - Stop playback of current beat/bassline (Space) - Hentikan pemutaran ketukan/bassline saat ini (Spasi) - - - - Beat selector - Pemilih Ketukan - - - - Track and step actions - Aksi trek dan langkah - - - - Add beat/bassline - Tambah ketukan/bassline - - - - Clone beat/bassline clip - - - - - Add sample-track - Tambah Trek-sampel - - - - Add automation-track - Tambah trek-otomasi - - - - Remove steps - Hapus langkah - - - - Add steps - Tambah langkah - - - - Clone Steps - Klon langkah - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Buka di Ketukan/Bassline-Editor - - - - Reset name - Reset nama - - - - Change name - Ganti nama - - - - PatternTrack - - - Beat/Bassline %1 - Ketukan/Bassline %1 - - - - Clone of %1 - Klon dari %1 - - - - BassBoosterControlDialog - - - FREQ - FREK - - - - Frequency: - Frekuensi: - - - - GAIN - GAIN - - - - Gain: - Gain: - - - - RATIO - RASIO - - - - Ratio: - Rasio: - - - - BassBoosterControls - - - Frequency - Frekuensi - - - - Gain - Gain - - - - Ratio - Rasio - - - - BitcrushControlDialog - - - IN - MASUK - - - - OUT - KELUAR - - - - - GAIN - GAIN - - - - Input gain: - Gain masukan: - - - - NOISE - RIUH - - - - Input noise: - - - - - Output gain: - Gait keluaran: - - - - CLIP - KLIP - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - FREK - - - - Sample rate: - Nilai sampel: - - - - STEREO - STEREO - - - - Stereo difference: - Perbedaan stereo: - - - - QUANT - - - - - Levels: - Tingkat: - - - - BitcrushControls - - - Input gain - Gain masukan - - - - Input noise - - - - - Output gain - Gain keluaran - - - - Output clip - - - - - Sample rate - Nilai sampel - - - - Stereo difference - Perbedaan stereo - - - - Levels - Tingkatan - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -900,124 +133,124 @@ Jika Anda tertarik untuk menerjemahkan LMMS dalam bahasa lain atau ingin meningk - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + VST merupakan merk dagang milik Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - - - - - Carla, Carla-Control and Patchbay icons designed by DoosC. - + MIDI Keyboard dirancang oleh Thorsten Wilms. - Features - + Carla, Carla-Control and Patchbay icons designed by DoosC. + Ikon Carla, Carla-Control, dan Patchbay dirancang oleh DoosC. - + + Features + Fitur + + + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License Lisensi - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1302,50 +535,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1365,7 +598,7 @@ POSSIBILITY OF SUCH DAMAGES. Patchbay - + Patchbay @@ -1378,561 +611,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File &Berkas - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help &Bantuan - - toolBar + + Tool Bar - + Disk - - + + Home - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Waktu: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Pengaturan - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &Baru - + Ctrl+N - + &Open... &Buka - - + + Open... - + Ctrl+O - + &Save &Simpan - + Ctrl+S - + Save &As... Simpan &Sebagai... - - + + Save As... - + Ctrl+Shift+S - + Ctrl+Shift+S - + &Quit &Keluar - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error Kesalahan - + Failed to load project - + Failed to save project - + Quit - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - Tampilkan GUI - - CarlaSettingsW @@ -1987,19 +1257,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2020,1487 +1290,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: Ukuran: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Render Bantuan - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Audio - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Rasio: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Attack: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Release: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Hold: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Gain keluaran - - - - - Gain - GainGain - - - - Output volume - - - - - Input gain - Gain masukan - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Rasio - - - - Attack - Attack - - - - Release - Release - - - - Knee - - - - - Hold - Tahan - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Gain Keluaran - - - - Input Gain - Gain Masukan - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Umpan balik - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Mix - - - - Controller - - - Controller %1 - Kontroler %1 - - - - ControllerConnectionDialog - - - Connection Settings - Pengaturan Koneksi - - - - MIDI CONTROLLER - KONTROLER MIDI - - - - Input channel - Saluran Masukan - - - - CHANNEL - SALURAN - - - - Input controller - Kontroler masukan - - - - CONTROLLER - KONTROLER - - - - - Auto Detect - Deteksi Otomatis - - - - MIDI-devices to receive MIDI-events from - Perangkat MIDI untuk menerima aktifitas-MIDI dari - - - - USER CONTROLLER - KONTROLER PENGGUNA - - - - MAPPING FUNCTION - PEMETAAN FUNGSI - - - - OK - OK - - - - Cancel - Batal - - - - LMMS - LMMS - - - - Cycle Detected. - Siklus terdeteksi. - - - - ControllerRackView - - - Controller Rack - Kontroler rak - - - - Add - Tambah - - - - Confirm Delete - Konfirmasi Hapus - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Konfirmasi hapus? Ada (beberapa) koneksi yang terasosiasi dengan kontroler ini. Tidak mungkin untuk melakukan undi. - - - - ControllerView - - - Controls - Kontrol - - - - Rename controller - Ganti nama kontroler - - - - Enter the new name for this controller - Masukan nama baru untuk kontroler ini - - - - LFO - LFO - - - - &Remove this controller - &Hapus kontroler ini - - - - Re&name this controller - Ganti&Nama kontroler ini - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - Umpan balik - - - - LFO frequency - Frekuensi LFO - - - - LFO amount - Jumlah LFO - - - - Output gain - Gain keluaran - - - - DelayControlsDialog - - - DELAY - DELAY - - - - Delay time - - - - - FDBK - UMPBLK - - - - Feedback amount - - - - - RATE - NILAI - - - - LFO frequency - Frekuensi LFO - - - - AMNT - JMLH - - - - LFO amount - Jumlah LFO - - - - Out gain - - - - - Gain - GainGain - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Tidak ada - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3526,27 +1898,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3601,948 +1952,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - FREK - - - - - Cutoff frequency - Frekuensi cutoff - - - - - RESO - RESO - - - - - Resonance - Resonansi - - - - - GAIN - GAIN - - - - - Gain - Gain - - - - MIX - MIX - - - - Mix - Mix - - - - Filter 1 enabled - Filter 1 diaktifkan - - - - Filter 2 enabled - Filter 2 diaktifkan - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Filter 1 diaktifkan - - - - Filter 1 type - Tipe Filter 1 - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Q/Resonansi 1 - - - - Gain 1 - Gain 1 - - - - Mix - Mix - - - - Filter 2 enabled - Filter 2 diaktifkan - - - - Filter 2 type - Tipe Filter 2 - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Q/Resonansi 2 - - - - Gain 2 - Gain 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - Notch - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - SV Notch - - - - - Fast Formant - Formant Cepat - - - - - Tripole - Tripol - - - - Editor - - - Transport controls - Kontrol transport - - - - Play (Space) - Putar (Spasi) - - - - Stop (Space) - Hentikan (Spasi) - - - - Record - Rekam - - - - Record while playing - Rekam ketika memutar - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Efek diaktifkan - - - - Wet/Dry mix - - - - - Gate - Lawang - - - - Decay - Tahan - - - - EffectChain - - - Effects enabled - Aktifkan efek - - - - EffectRackView - - - EFFECTS CHAIN - RANTAI EFEK - - - - Add effect - Tambah efek - - - - EffectSelectDialog - - - Add effect - Tambah efek - - - - - Name - Nama - - - - Type - Tipe - - - - Description - Deskripsi - - - - Author - Pencipta - - - - EffectView - - - On/Off - Nyala/Mati - - - - W/D - B/K - - - - Wet Level: - Tingkat Basah: - - - - DECAY - DECAY - - - - Time: - Waktu: - - - - GATE - LAWANG - - - - Gate: - Lawang: - - - - Controls - Kontrol - - - - Move &up - Pindah ke &atas - - - - Move &down - Pindah ke &bawah - - - - &Remove this plugin - &Hapus plugin ini - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - Frekuensi LFO - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - - - - - - ATT - ATT - - - - - Attack: - Attack: - - - - HOLD - HOLD - - - - Hold: - Hold: - - - - DEC - DEC - - - - Decay: - Decay: - - - - SUST - SUST - - - - Sustain: - Sustain: - - - - REL - REL - - - - Release: - Release: - - - - - AMT - JMLH - - - - - Modulation amount: - Jumlah modulasi: - - - - SPD - SPD - - - - Frequency: - Frekuensi: - - - - FREQ x 100 - FREK x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - md/LFO: - - - - Hint - Petunjuk - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Gain masukan - - - - Output gain - Gain keluaran - - - - Low-shelf gain - - - - - Peak 1 gain - Gain peak 1 - - - - Peak 2 gain - Gain peak 2 - - - - Peak 3 gain - Gain peak 3 - - - - Peak 4 gain - Gain peak 4 - - - - High-shelf gain - - - - - HP res - HP res - - - - Low-shelf res - - - - - Peak 1 BW - Peak 1 BW - - - - Peak 2 BW - Peak 2 BW - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - LP res - - - - HP freq - HP freq - - - - Low-shelf freq - - - - - Peak 1 freq - Frek peak 1 - - - - Peak 2 freq - Frek peak 2 - - - - Peak 3 freq - Frek peak 3 - - - - Peak 4 freq - Frek peak 4 - - - - High-shelf freq - - - - - LP freq - Frek LP - - - - HP active - HP aktif - - - - Low-shelf active - - - - - Peak 1 active - Peak 1 aktif - - - - Peak 2 active - Peak 2 aktif - - - - Peak 3 active - Peak 3 aktif - - - - Peak 4 active - Peak 4 aktif - - - - High-shelf active - - - - - LP active - LP aktif - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - Hp 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - - - - - Analyse OUT - - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - - - - - Peak 1 - Peak 1 - - - - Peak 2 - Peak 2 - - - - Peak 3 - Peak 3 - - - - Peak 4 - Peak 4 - - - - High-shelf - - - - - LP - LP - - - - Input gain - Gain masukan - - - - - - Gain - Gain - - - - Output gain - Gain keluaran - - - - Bandwidth: - - - - - Octave - Oktaf - - - - Resonance : - Resonansi : - - - - Frequency: - Frekuensi: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Reso: - - - - BW: - BW: - - - - - Freq: - Frek: - - ExportProjectDialog @@ -4553,7 +1962,7 @@ If you are unsure, leave it as 'Automatic'. Export as loop (remove extra bar) - + Ekspor sebagai loop (hapus bar tambahan) @@ -4726,2129 +2135,653 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - - - - - 1x (None) - 1x (Tidak ada) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Mulai - + Cancel Batal - - - Could not open file - Tidak bisa membuka berkas - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Tidak bisa membuka berkas %1 untuk menulis. -Pastikan Anda memiliki izin menulis ke file dan direktori yang berisi berkas tersebut dan coba lagi! - - - - Export project to %1 - Ekspor proyek ke %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - Kesalahan - - - - Error while determining file-encoder device. Please try to choose a different output format. - Kesalahan ketika menentukan perangkat encoder-file. Cobalah untuk memilih format keluaran yang berbeda. - - - - Rendering: %1% - Merender: %1% - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - Silakan masukan nilai baru antara %1 dan %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Penjelajah - - - - Search - Cari - - - - Refresh list - Segarkan daftar - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Kirim ke trek-instrumen yang aktif - - - - Open containing folder - - - - - Song Editor - Editor Lagu - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Memuat sampel - - - - Please wait, loading sample for preview... - Mohon tunggu, memuat sampel untuk pratinjau... - - - - Error - Kesalahan - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Berkas pabrik --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - Frekuensi LFO - - - - Seconds - Detik - - - - Stereo phase - - - - - Regen - Regen - - - - Noise - Derau - - - - Invert - Balik - - - - FlangerControlsDialog - - - DELAY - DELAY - - - - Delay time: - - - - - RATE - NILAI - - - - Period: - Periode: - - - - AMNT - JMLH - - - - Amount: - Jumlah: - - - - PHASE - - - - - Phase: - - - - - FDBK - UMPBLK - - - - Feedback amount: - - - - - NOISE - RIUH - - - - White noise amount: - - - - - Invert - Balik - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Volume Saluran 1 - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - Volume Saluran 2 - - - - Channel 3 volume - Volume Saluran 3 - - - - Channel 4 volume - Volume Saluran 4 - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - Saluran 1 ke SO2 (Kiri) - - - - Channel 2 to SO2 (Left) - Saluran 2 ke SO2 (Kiri) - - - - Channel 3 to SO2 (Left) - Saluran 3 ke SO2 (Kiri) - - - - Channel 4 to SO2 (Left) - Saluran 4 ke SO2 (Kiri) - - - - Channel 1 to SO1 (Right) - Saluran 1 ke SO1 (Kanan) - - - - Channel 2 to SO1 (Right) - Saluran 2 ke SO1 (Kanan) - - - - Channel 3 to SO1 (Right) - Saluran 3 ke SO1 (Kanan) - - - - Channel 4 to SO1 (Right) - Saluran 4 ke SO1 (Kanan) - - - - Treble - Trebel - - - - Bass - Bass - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Trebel: - - - - Treble - Trebel - - - - Bass: - Bass: - - - - Bass - Bass - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Saluran 1 ke SO1 (Kanan) - - - - Channel 2 to SO1 (Right) - Saluran 2 ke SO1 (Kanan) - - - - Channel 3 to SO1 (Right) - Saluran 3 ke SO1 (Kanan) - - - - Channel 4 to SO1 (Right) - Saluran 4 ke SO1 (Kanan) - - - - Channel 1 to SO2 (Left) - Saluran 1 ke SO2 (Kiri) - - - - Channel 2 to SO2 (Left) - Saluran 2 ke SO2 (Kiri) - - - - Channel 3 to SO2 (Left) - Saluran 3 ke SO2 (Kiri) - - - - Channel 4 to SO2 (Left) - Saluran 4 ke SO2 (Kiri) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Jumlah kirim saluran - - - - Move &left - Pindah ke &kiri - - - - Move &right - Pindah ke &kanan - - - - Rename &channel - Ganti nama &saluran - - - - R&emove channel - H&apus saluran - - - - Remove &unused channels - Hapus &saluran yang tak terpakai - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - - - - - New mixer Channel - Saluran FX Baru - - - - Mixer - - - Master - Master - - - - - - Channel %1 - FX %1 - - - - Volume - Volume - - - - Mute - Bisu - - - - Solo - Solo - - - - MixerView - - - Mixer - Mixer - - - - Fader %1 - FX Pemudar %1 - - - - Mute - Bisu - - - - Mute this mixer channel - Bisukan saluran FX ini - - - - Solo - Solo - - - - Solo mixer channel - Saluran FX Solo - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Jumlah untuk kirim dari saluran %1 ke saluran %2 - - - - GigInstrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Gain - - - - GigInstrumentView - - - - Open GIG file - Buka berkas GIG - - - - Choose patch - - - - - Gain: - Gain: - - - - GIG Files (*.gig) - Berkas GIG (*.gig) - - - - GuiApplication - - - Working directory - Direktori kerja - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Direktori kerja LMMS %1 tidak ada. Buat sekarang? Anda dapat mengganti direktori nanti via Edit -> Pengaturan - - - - Preparing UI - Menyiapkan UI - - - - Preparing song editor - Menyiapkan editor lagu - - - - Preparing mixer - Menyiapkan mixer - - - - Preparing controller rack - Menyiapkan rak kontroler - - - - Preparing project notes - Menyiapkan not proyek - - - - Preparing beat/bassline editor - Menyiapkan edior ketukan/bassline - - - - Preparing piano roll - Menyiapkan rol piano - - - - Preparing automation editor - Menyiapkan editor otomasi - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Tipe arpeggio - - - - Arpeggio range - Jarak arpeggio - - - - Note repeats - - - - - Cycle steps - Langkah siklus - - - - Skip rate - Lewati nilai - - - - Miss rate - Tingkat miss - - - - Arpeggio time - Waktu arpeggio - - - - Arpeggio gate - Gate arpeggio - - - - Arpeggio direction - Arah arpeggio - - - - Arpeggio mode - Mode arpeggio - - - - Up - Atas - - - - Down - Bawah - - - - Up and down - Atas dan bawah - - - - Down and up - Bawah dan atas - - - - Random - Acak - - - - Free - Bebas - - - - Sort - Sortir - - - - Sync - Selaras - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - JARAK - - - - Arpeggio range: - Jarak arpeggio: - - - - octave(s) - Oktaf - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - SIKLUS - - - - Cycle notes: - Siklus nada: - - - - note(s) - not - - - - SKIP - LEWAT - - - - Skip rate: - Lewati nilai: - - - - - - % - % - - - - MISS - - - - - Miss rate: - - - - - TIME - WAKTU - - - - Arpeggio time: - Waktu arpeggio: - - - - ms - md - - - - GATE - LAWANG - - - - Arpeggio gate: - - - - - Chord: - Chord: - - - - Direction: - Arah: - - - - Mode: - Mode: - InstrumentFunctionNoteStacking - + octave oktaf - - + + Major Mayor - + Majb5 Mayb5 - + minor minor - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 May7 - + Maj7b5 May7b5 - + Maj7#5 May7#5 - + Maj7#11 May7#11 - + Maj7add13 May7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-May7 - + m-Maj7add11 m-May7add11 - + m-Maj7add13 m-May7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 May9sus4 - + Maj9#5 May9#5 - + Maj9#11 May9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 May11 - + m11 m11 - + m-Maj11 m-May11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 May13 - + m13 m13 - + m-Maj13 m-May13 - + Harmonic minor Harmonic minor - + Melodic minor Melodic minor - + Whole tone Whole tone - + Diminished Diminished - + Major pentatonic Pentatonik mayor - + Minor pentatonic Pentatonik minor - + Jap in sen Jap in sen - + Major bebop Bebop Mayor - + Dominant bebop Dominan bebop - + Blues Blues - + Arabic Arabic - + Enigmatic Enigmatic - + Neopolitan Neopolitan - + Neopolitan minor Neopolitan minor - + Hungarian minor Hungarian minor - + Dorian Dorian - + Phrygian - + Lydian Lydian - + Mixolydian Mixolydian - + Aeolian Aeolian - + Locrian Locrian - + Minor Minor - + Chromatic Chromatic - + Half-Whole Diminished Half-Whole Diminished - + 5 5 - + Phrygian dominant Dominan frigia - + Persian Persia - - - Chords - Chord - - - - Chord type - Tipe Chord - - - - Chord range - Jarak Chord - - - - InstrumentFunctionNoteStackingView - - - STACKING - - - - - Chord: - Chord: - - - - RANGE - JARAK - - - - Chord range: - Jarak chord: - - - - octave(s) - Oktaf(beberapa) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - AKTIFKAN MASUKAN MIDI - - - - ENABLE MIDI OUTPUT - AKTIFKAN KELUARAN MIDI - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - CATATAN - - - - MIDI devices to receive MIDI events from - Perangkat MIDI untuk menerima event MIDI dari - - - - MIDI devices to send MIDI events to - Perangkat MIDI untuk kirim event MIDI ke - - - - CUSTOM BASE VELOCITY - - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - - - - - InstrumentTuningView - - - MASTER PITCH - MASTER PITCH - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME VOLUME - + Volume Volume - + CUTOFF - - + Cutoff frequency Frekuensi cutoff - + RESO RESO - + Resonance Resonansi - - - Envelopes/LFOs - - - - - Filter type - Tipe filter - - - - Q/Resonance - - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - Notch - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - SV Notch - - - - Fast Formant - Formant Cepat - - - - Tripole - Tripol - - InstrumentSoundShapingView + JackAppDialog - - TARGET - SASARAN - - - - FILTER - FILTER - - - - FREQ - FREK - - - - Cutoff frequency: - Frekuensi cutoff: - - - - Hz - Hz - - - - Q/RESO + + Add JACK Application - - Q/Resonance: + + Note: Features not implemented yet are greyed out - - Envelopes, LFOs and filters are not supported by the current instrument. - - - - - InstrumentTrack - - - - unnamed_track - trek_tak_bernama - - - - Base note - Not dasar - - - - First note + + Application - - Last note + + Name: - - Volume - Volume - - - - - Panning - Keseimbangan - - - - Pitch - Pitch - - - - Pitch range - Jarak pitch - - - - Mixer channel - Saluran FX - - - - Master pitch - Master pitch - - - - Enable/Disable MIDI CC + + Application: - - CC Controller %1 + + From template - - - Default preset - Preset default - - - - InstrumentTrackView - - - Volume - Volume - - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Keseimbangan - - - - Panning: - Keseimbangan: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Masukan - - - - Output - Keluaran - - - - Open/Close MIDI CC Rack + + Custom - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - PENGATURAN UMUM - - - - Volume - Volume - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Keseimbangan - - - - Panning: - Keseimbangan: - - - - PAN - PAN - - - - Pitch - Pitch - - - - Pitch: - Pitch: - - - - cents - sen - - - - PITCH + + Template: - - Pitch range (semitones) + + Command: - - RANGE - JARAK - - - - Mixer channel - Saluran FX - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file - Simpan pengaturan trek instrumen saat ini kedalam berkas preset - - - - SAVE - SIMPAN - - - - Envelope, filter & LFO + + Setup - - Chord stacking & arpeggio + + Session Manager: - - Effects - Efek + + None + - - MIDI - MIDI + + Audio inputs: + - - Miscellaneous - Serba aneka + + MIDI inputs: + - - Save preset - Simpan preset + + Audio outputs: + - - XML preset file (*.xpf) - Berkas preset XML (*.xpf) + + MIDI outputs: + - - Plugin - Plugin + + Take control of main application window + - - - JackApplicationW - + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6856,946 +2789,11 @@ Pastikan Anda memiliki izin menulis ke file dan direktori yang berisi berkas ter JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Atur linier - - - - Set logarithmic - Atur logaritmik - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Silakan masukan nilai baru antara -96.0 dBFS dan 6.0 dBFS: - - - - Please enter a new value between %1 and %2: - Silakan masukan nilai baru antara %1 dan %2: - - - - LadspaControl - - - Link channels - Hubungkan saluran - - - - LadspaControlDialog - - - Link Channels - Hubungkan Saluran - - - - Channel - Saluran - - - - LadspaControlView - - - Link channels - Hubungkan saluran - - - - Value: - Nilai: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Plugin LADSPA yang tidak diketahui %1 diminta. - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Silakan masukan nilai baru antara %1 dan %2: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Silakan masukan nilai baru antara %1 dan %2: - - - - LeftRightNav - - - - - Previous - Sebelumnya - - - - - - Next - Selanjutnya - - - - Previous (%1) - Sebelumnya (%1) - - - - Next (%1) - Selanjutnya (%1) - - - - LfoController - - - LFO Controller - Kontroler LFO - - - - Base value - Nilai dasar - - - - Oscillator speed - Kecepatan osilator - - - - Oscillator amount - Jumlah osilator - - - - Oscillator phase - Tahap osilator - - - - Oscillator waveform - Bentuk gelombang osilator - - - - Frequency Multiplier - - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - DASAR - - - - Base: - - - - - FREQ - FREK - - - - LFO frequency: - - - - - AMNT - JMLH - - - - Modulation amount: - Jumlah modulasi: - - - - PHS - PHS - - - - Phase offset: - - - - - degrees - - - - - Sine wave - Gelombang sinus - - - - Triangle wave - Gelombang segitiga - - - - Saw wave - Gelombang gergaji - - - - Square wave - Gelombang kotak - - - - Moog saw wave - - - - - Exponential wave - - - - - White noise - Kebisingan putih - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - Membuat wavetables - - - - Initializing data structures - Inisialisasi struktur data - - - - Opening audio and midi devices - Membuka audio dan perangkat midi - - - - Launching mixer threads - Meluncurkan thread mixer - - - - MainWindow - - - Configuration file - Berkas konfigurasi - - - - Error while parsing configuration file at line %1:%2: %3 - Kesalahan saat mengurai berkas konfigurasi pada baris %1:%2 %3 - - - - Could not open file - Tidak bisa membuka berkas - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Tidak bisa membuka berkas %1 - - - - Project recovery - Pemulihan proyek - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - - - - - Recover - Pulihkan - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Memulihkan berkas. Jangan menjalankan beberapa instansi LMMS saat Anda melakukan ini. - - - - - Discard - Buang - - - - Launch a default session and delete the restored files. This is not reversible. - Jalankan sesi default dan hapus berkas yang dipulihkan. Ini tidak reversibel. - - - - Version %1 - Versi %1 - - - - Preparing plugin browser - Menyiapkan penjelajah plugin - - - - Preparing file browsers - Menyiapkan penjelajah berkas - - - - My Projects - Proyek Saya - - - - My Samples - Sampel Saya - - - - My Presets - Preset Saya - - - - My Home - Rumah Saya - - - - Root directory - Direktori root - - - - Volumes - Volume - - - - My Computer - Komputer Saya - - - - &File - &Berkas - - - - &New - &Baru - - - - &Open... - &Buka - - - - Loading background picture - - - - - &Save - &Simpan - - - - Save &As... - Simpan &Sebagai... - - - - Save as New &Version - Simpan sebagai &Versi yang baru - - - - Save as default template - Simpan sebagai template default - - - - Import... - Impor... - - - - E&xport... - E&kspor - - - - E&xport Tracks... - E&kspor trek... - - - - Export &MIDI... - Ekspor &MIDI... - - - - &Quit - &Keluar - - - - &Edit - &Edit - - - - Undo - Undo - - - - Redo - Redo - - - - Settings - Pengaturan - - - - &View - &Tampilan - - - - &Tools - &Alat - - - - &Help - &Bantuan - - - - Online Help - Bantuan Daring - - - - Help - Bantuan - - - - About - Ihwal - - - - Create new project - Buat proyek baru - - - - Create new project from template - Buat proyek baru dari template - - - - Open existing project - Buka proyek yang sudah ada - - - - Recently opened projects - Proyek yang Baru Dibuka - - - - Save current project - Simpan proyek saat ini - - - - Export current project - Ekspor proyek saat ini - - - - Metronome - Metronom - - - - - Song Editor - Editor Lagu - - - - - Beat+Bassline Editor - Editor Bassline+ketukan - - - - - Piano Roll - Rol Piano - - - - - Automation Editor - Editor Otomasi - - - - - Mixer - Mixer - - - - Show/hide controller rack - Tampilkan/sembunyikan rak kontroler - - - - Show/hide project notes - Tampilkan/sembunyikan not proyek - - - - Untitled - Tak berjudul - - - - Recover session. Please save your work! - Sesi pemulihan. Tolong simpan pekerjaanmu! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Proyek yang dipulihkan tidak disimpan - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Proyek ini dipulihkan dari sesi sebelumnya. Saat ini belum disimpan dan akan hilang jika Anda tidak menyimpannya. Apakah Anda ingin menyimpannya sekarang? - - - - Project not saved - Proyek tidak disimpan - - - - The current project was modified since last saving. Do you want to save it now? - Proyek saat ini sudah dimodifikasi sejak penyimpanan terakhir. Apakah anda ingin menyimpannya sekarang? - - - - Open Project - Buka Proyek - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Simpan Proyek - - - - LMMS Project - Proyek LMMS - - - - LMMS Project Template - Proyek Template LMMS - - - - Save project template - Simpan template proyek - - - - Overwrite default template? - Timpa template default? - - - - This will overwrite your current default template. - Ini akan menimpa template default Anda saat ini. - - - - Help not available - Bantuan tidak tersedia - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Sasat ini belum ada bantuan tersedia di LMMS. -Silakan kunjungi http://lmms.sf.net/wiki untuk dokumentasi LMMS. - - - - Controller Rack - Kontroler rak - - - - Project Notes - Catatan Proyek - - - - Fullscreen - - - - - Volume as dBFS - Volume sebagai dBFS - - - - Smooth scroll - Gulung halus - - - - Enable note labels in piano roll - Aktifkan label not di rol piano - - - - MIDI File (*.mid) - Berkas MIDI (*.mid) - - - - - untitled - tak berjudul - - - - - Select file for project-export... - Pilih berkas untuk ekspor-proyek... - - - - Select directory for writing exported tracks... - Pilih direktori untuk menulis trek yang diekspor... - - - - Save project - Simpan proyek - - - - Project saved - Proyek disimpan - - - - The project %1 is now saved. - Proyek %1 telah disimpan. - - - - Project NOT saved. - Proyek TIDAK disimpan. - - - - The project %1 was not saved! - Proyek %1 tidak disimpan! - - - - Import file - Impor berkas - - - - MIDI sequences - Rangkaian MIDI - - - - Hydrogen projects - Proyek hidrogen - - - - All file types - Semua tipe berkas - - - - MeterDialog - - - - Meter Numerator - - - - - Meter numerator - - - - - - Meter Denominator - - - - - Meter denominator - - - - - TIME SIG - - - - - MeterModel - - - Numerator - - - - - Denominator - - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Kontroler MIDI - - - - unnamed_midi_controller - kontroler_midi_tanpa_nama - - - - MidiImport - - - - Setup incomplete - Pemasangan tidak lengkap - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Anda tidak mengkompilasi LMMS dengan dukungan pemutar SoundFont2, yang digunakan untuk menambah suara default ke berkas MIDI yang diimpor. Oleh karena itu tidak ada suara yang akan diputer setelah mengimpor berkas MIDI ini. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - - - - - Denominator - - - - - Track - Trek - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - Server JACK lumpuh - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - - - MidiPatternW @@ -8001,2732 +2999,369 @@ Silakan kunjungi http://lmms.sf.net/wiki untuk dokumentasi LMMS. &Keluar - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Saluran Masukan - - - - Output channel - Saluran keluaran - - - - Input controller - Kontroler masukan - - - - Output controller - Kontroler keluaran - - - - Fixed input velocity - - - - - Fixed output velocity - - - - - Fixed output note - - - - - Output MIDI program - Program MIDI keluaran - - - - Base velocity - Kecepatan dasar - - - - Receive MIDI-events - Terima aktifitas-MIDI - - - - Send MIDI-events - Kirim aktifitas-MIDI - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Tampilan yang dipilih - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - Gelombang sinus - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - Gelombang kotak halus - - - - Absolute sine wave - Gelombang sinus absolut - - - - - Exponential wave - - - - - White noise - Kebisingan putih - - - - Digital Triangle wave - Gelombang Segitiga digital - - - - Digital Saw wave - Gelombang Gergaji digital - - - - Digital Ramp wave - - - - - Digital Square wave - Gelombang Kotak digital - - - - Digital Moog saw wave - - - - - Triangle wave - Gelombang segitiga - - - - Saw wave - Gelombang gergaji - - - - Ramp wave - - - - - Square wave - Gelombang kotak - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - Acak - - - - Random smooth - Halus acak - - - - MonstroView - - - Operators view - Tampilan operator - - - - Matrix view - Tampilan matrix - - - - - - Volume - Volume - - - - - - - Panning - Keseimbangan - - - - - - Coarse detune - Detune kasar - - - - - - semitones - - - - - - Fine tune left - - - - - - - - cents - sen - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - - - - - Pulse width - - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - Attack - - - - - Rate - Nilai - - - - - Phase - - - - - - Pre-delay - - - - - - Hold - Tahan - - - - - Decay - Tahan - - - - - Sustain - Tahan - - - - - Release - Release - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - - - - - MultitapEchoControlDialog - - - Length - Panjang - - - - Step length: - - - - - Dry - - - - - Dry gain: - - - - - Stages - - - - - Low-pass stages: - - - - - Swap inputs - Tukar masukan - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - Volume Saluran 1 - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - Volume Saluran 2 - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Volume Saluran 3 - - - - Channel 4 volume - Volume Saluran 4 - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Volume master - - - - Vibrato - Getaran - - - - NesInstrumentView - - - - - - Volume - Volume - - - - - - - Coarse detune - Detune kasar - - - - - - Envelope length - Panjang sampul - - - - Enable channel 1 - Aktifkan saluran 1 - - - - Enable envelope 1 - Aktifkan sampul 1 - - - - Enable envelope 1 loop - Akftifkan envelop pengulangan 1 - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - Siklus tugas 12,5% - - - - - 25% Duty cycle - Siklus tugas 25% - - - - - 50% Duty cycle - Siklus tugas 50% - - - - - 75% Duty cycle - Siklus tugas 75% - - - - Enable channel 2 - Aktifkan saluran 2 - - - - Enable envelope 2 - Aktifkan sampul 2 - - - - Enable envelope 2 loop - Akftifkan envelop pengulangan 2 - - - - Enable sweep 2 - - - - - Enable channel 3 - Aktifkan saluran 3 - - - - Noise Frequency - Frekuensi Riuh - - - - Frequency sweep - - - - - Enable channel 4 - Aktifkan saluran 4 - - - - Enable envelope 4 - Aktifkan sampul 4 - - - - Enable envelope 4 loop - Akftifkan envelop pengulangan 4 - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - Gunakan frekuensi not untuk riuh - - - - Noise mode - Mode derau - - - - Master volume - Volume master - - - - Vibrato - Getaran - - - - OpulenzInstrument - - - Patch - Patch - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - Attack - - - - - Decay - Decay - - - - - Release - Release - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - Bentuk gelombang Osc %1 - - - - Osc %1 harmonic - - - - - - Osc %1 volume - Volume Osc %1 - - - - - Osc %1 panning - Keseimbangan Osc %1 - - - - - Osc %1 fine detuning left - - - - - Osc %1 coarse detuning - - - - - Osc %1 fine detuning right - - - - - Osc %1 phase-offset - - - - - Osc %1 stereo phase-detuning - - - - - Osc %1 wave shape - bentuk gelombang Osc %1 - - - - Modulation type %1 - Tipe modulasi %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - klik untuk mengaktifkan - - PatchesDialog + Qsynth: Channel Preset + Bank selector Pemilih bank + Bank Bank + Program selector Pemilih program + Patch Patch + Name Nama + OK OK + Cancel Batal - - PatmanView - - - Open patch - - - - - Loop - Pengulangan - - - - Loop mode - Mode pengulangan - - - - Tune - Nada - - - - Tune mode - Mode nada - - - - No file selected - Tidak ada berkas dipilih - - - - Open patch file - Buka berkas patch - - - - Patch-Files (*.pat) - Berkas-Patch (*.pat) - - - - MidiClipView - - - Open in piano-roll - Buka di rol-piano - - - - Set as ghost in piano-roll - - - - - Clear all notes - Bersihkan semua not - - - - Reset name - Reset nama - - - - Change name - Ganti nama - - - - Add steps - Tambah langkah - - - - Remove steps - Hapus langkah - - - - Clone Steps - Klon langkah - - - - PeakController - - - Peak Controller - - - - - Peak Controller Bug - - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Karena bug pada versi lama LMMS, pengendali puncak mungkin tidak terhubung dengan benar. Pastikan pengendali puncak terhubung dengan benar dan simpan kembali berkas ini. Maaf atas ketidaknyamanan yang terjadi. - - - - PeakControllerDialog - - - PEAK - - - - - LFO Controller - Kontroler LFO - - - - PeakControllerEffectControlDialog - - - BASE - DASAR - - - - Base: - - - - - AMNT - JMLH - - - - Modulation amount: - Jumlah modulasi: - - - - MULT - - - - - Amount multiplicator: - - - - - ATCK - - - - - Attack: - Attack: - - - - DCAY - - - - - Release: - Release: - - - - TRSH - - - - - Treshold: - - - - - Mute output - - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Nilai dasar - - - - Modulation amount - - - - - Attack - Attack - - - - Release - Release - - - - Treshold - - - - - Mute output - - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - - - - - Note Panning - Keseimbangan Not - - - - Mark/unmark current semitone - - - - - Mark/unmark all corresponding octave semitones - Tandai / hapus tanda semua semitone oktaf yang sesuai - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - Hapus tanda semua - - - - Select all notes on this key - Pilih semua not pada kunci ini - - - - Note lock - - - - - Last note - - - - - No key - - - - - No scale - - - - - No chord - - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Kecepatan: %1% - - - - Panning: %1% left - Menyeimbangkan: %1% kiri - - - - Panning: %1% right - Menyeimbangkan: %1% kanan - - - - Panning: center - Menyeimbangkan: tengah - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Buka pola dengan mengklik dua kali di atasnya! - - - - - Please enter a new value between %1 and %2: - Silakan masukan nilai baru antara %1 dan %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Putar/jeda pola saat ini (Spasi) - - - - Record notes from MIDI-device/channel-piano - Rekam not dari perangkat-MIDI/channel-piano - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Rekam not dari perangkat-MIDI/channel-piano sambil memutar lagu atau trek BB - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Berhenti memutar pola sekarang (Spasi) - - - - Edit actions - Ubah aksi - - - - Draw mode (Shift+D) - mode Menggambar (Shift+D) - - - - Erase mode (Shift+E) - Mode penghapus (Shift+E) - - - - Select mode (Shift+S) - Mode pilih (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - Kuantitas - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Kontrol salin tempel - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Kontrol linimasa - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Kontrol not dan zoom - - - - Horizontal zooming - Pembesaran horizontal - - - - Vertical zooming - Pembesaran vertikal - - - - Quantization - Kuantitasi - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - Rol-Piano - %1 - - - - - Piano-Roll - no clip - Rol-Piano - tiada pola - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Not dasar - - - - First note - - - - - Last note - - - - - Plugin - - - Plugin not found - Plugin tidak ditemukan - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Plugin "%1" tidak ditemukan atau tidak bisa dimuat! -Alasan: "%2" - - - - Error while loading plugin - Gagal ketika memuat plugin - - - - Failed to load plugin "%1"! - Gagal untuk memuat plugin "%1"! - - PluginBrowser - - Instrument Plugins - Plugin Instrumen - - - - Instrument browser - Penjelajah instrumen - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Seret instrumen ke Editor-Lagu,Editor Ketukan+Bassline atau ke trek instrumen yang ada. - - - + no description - tiada deskripsi + tanpa deskripsi - + A native amplifier plugin Plugin amplifier native - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Sampler sederhana dengan macam-macam pengaturan untuk menggunakan sampel. (cnth. drum) dalam sebuah trek instrumen - + Boost your bass the fast and simple way - Tingkatkan bass Anda dengan cara cepat dan sederhana + Tingkatkan bass Anda secara cepat dan sederhana - + Customizable wavetable synthesizer Synthesizer wavetable yang dapat disesuaikan - + An oversampling bitcrusher - + Carla Patchbay Instrument Instrumen Carla Patchbay - + Carla Rack Instrument Rak Instrumen Carla - + A dynamic range compressor. - + A 4-band Crossover Equalizer - + A native delay plugin - + A Dual filter plugin - + Plugin filter ganda - + plugin for processing dynamics in a flexible way - plugin untuk memproses dynamics dengan cara yang fleksibel + plugin untuk memproses dinamika suara dengan cara yang fleksibel - + A native eq plugin Plugin eq bawaan - + A native flanger plugin - + Plugin flanger bawaan - + Emulation of GameBoy (TM) APU Emulasi APU GameBoy (TM) - + Player for GIG files Pemutar untuk berkas GIG - + Filter for importing Hydrogen files into LMMS Filter untuk mengimpor berkas Hydrogen ke LMMS - + Versatile drum synthesizer Synthesizer drum serbaguna - + List installed LADSPA plugins Daftar plugin LADSPA yang terpasang - + plugin for using arbitrary LADSPA-effects inside LMMS. Plugin untuk menggunakan efek LADSPA yang sewenang-wenang di dalam LMMS. - + Incomplete monophonic imitation TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS Filter untuk mengekspor berkas MIDI dari LMMS - + Filter for importing MIDI-files into LMMS Filter untuk mengimpor berkas MIDI ke LMMS - + Monstrous 3-oscillator synth with modulation matrix - + A multitap echo delay plugin - + A NES-like synthesizer Synthesizer seperti NES - + 2-operator FM Synth 2-operator FM Synth - + Additive Synthesizer for organ-like sounds - + GUS-compatible patch instrument - + Instrumen patch yang kompatibel dengan GUS - + Plugin for controlling knobs with sound peaks Plugin untuk mengendalikan kenop dengan puncak suara - + Reverb algorithm by Sean Costello - + Player for SoundFont files Pemutar untuk berkas SoundFont - + LMMS port of sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulasi SID MOS6581 dan MOS8580. Chip yang digunakan pada komputer Commodore 64. - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file - + Plugin for freely manipulating stereo output - + Tuneful things to bang on Hal-hal yang menyenangkan untuk ajep-ajep - + Three powerful oscillators you can modulate in several ways - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS - + Vibrating string modeler Menggetarkan modeler string - + plugin for using arbitrary VST effects inside LMMS. Plugin untuk menggunakan efek VST yang sewenang-wenang di dalam LMMS. - + 4-oscillator modulatable wavetable synth - + plugin for waveshaping plugin untuk pembentukan gelombang - + Mathematical expression parser - + Embedded ZynAddSubFX Tertanam ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Tipe - - - - Effects - Efek - - - - Instruments - Instrumen - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Batal - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Tipe: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Nama - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10735,7 +3370,7 @@ Chip yang digunakan pada komputer Commodore 64. Plugin Editor - + Editor Plugin @@ -10801,7 +3436,7 @@ Chip yang digunakan pada komputer Commodore 64. Audio: - + Audio: @@ -10816,102 +3451,107 @@ Chip yang digunakan pada komputer Commodore 64. MIDI: - + MIDI: Map Program Changes - + Petakan Perubahan Program - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Tipe: - + Maker: - + Copyright: - + Hak Cipta: - + Unique ID: @@ -10919,16 +3559,457 @@ Plugin Name PluginFactory - + Plugin not found. Plugin tidak ditemukan. - + LMMS plugin %1 does not have a plugin descriptor named %2! Plugin LMMS %1 tidak memiliki deskriptor plugin bernama %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10943,157 +4024,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Tutup + @@ -11108,50 +4093,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off Nyala/Mati - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11166,2287 +4151,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Catatan Proyek - - - - Enter project notes here - - - - - Edit Actions - Ubah Aksi - - - - &Undo - &Undo - - - - %1+Z - %1+Z - - - - &Redo - &Redo - - - - %1+Y - %1+Y - - - - &Copy - &Salin - - - - %1+C - %1+C - - - - Cu&t - Po&tong - - - - %1+X - %1+X - - - - &Paste - &Tempel - - - - %1+V - %1+V - - - - Format Actions - Aksi Format - - - - &Bold - &Tebal - - - - %1+B - %1+B - - - - &Italic - &Miring - - - - %1+I - %1+I - - - - &Underline - &Garis bawah - - - - %1+U - %1+U - - - - &Left - &Kiri - - - - %1+L - %1+L - - - - C&enter - Te&ngah - - - - %1+E - %1+E - - - - &Right - &Kanan - - - - %1+R - %1+R - - - - &Justify - &Ratakan - - - - %1+J - %1+J - - - - &Color... - &Warna - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI Tampilkan GUI - + Help Bantuan + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Nama: - - URI: - - - - - - + Maker: Pembuat: - - - + Copyright: Hak cipta: - - + Requires Real Time: Membutuhkan Real Time: - - - - - - + + + Yes Ya - - - - - - + + + No Tidak - - + Real Time Capable: Kemampuan Real Time: - - + In Place Broken: - - + Channels In: Saluran Masukan: - - + Channels Out: Saluran Keluaran: - + File: %1 Berkas: %1 - + File: Berkas: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Proyek yang Baru Dibuka + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Ganti nama... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Masukan + + Amplify + - - Input gain: - Gain masukan: + + Start of sample + - - Size - Ukuran + + End of sample + - - Size: - Ukuran: + + Loopback point + - - Color - Warna + + Reverse sample + - - Color: - Warna: + + Loop mode + - - Output - Keluaran + + Stutter + - - Output gain: - Gait keluaran: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Gain masukan + - - Size - Ukuran + + Input noise + - - Color - Warna + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Gain keluaran + - SaControls + lmms::SaControls - + Pause - + Reference freeze - + Waterfall - + Averaging - - - Stereo - Stereo - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - Bass + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Stereo - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - Gagal untuk membuka berkas - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Berkas suara dibatasi ukuran hingga %1 MB dan waktu pemutaran %2 menit - - - - Open audio file - Buka berkas suara - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Semua Berkas-Suara (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Berkas-Wave (*.wav) - - - - OGG-Files (*.ogg) - Berkas-OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Berkas-DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Berkas-FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Berkas-SPEEX (*.spx) - - - - VOC-Files (*.voc) - Berkas-VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Berkas-AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Berkas-AU (*.au) - - - - RAW-Files (*.raw) - Berkas-RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - Hapus (tombol tengah mouse) - - - - Delete selection (middle mousebutton) - - - - - Cut - Potong - - - - Cut selection - - - - - Copy - Salin - - - - Copy selection - - - - - Paste - Tempel - - - - Mute/unmute (<%1> + middle click) - Bisukan/suarakan (<%1> + middle click) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Balikan sampel - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - Volume - + - + Panning - Keseimbangan + - + Mixer channel - Saluran FX + - - + + Sample track - Trek sampel - - - - SampleTrackView - - - Track volume - Volume trek - - - - Channel volume: - Volume channel: - - - - VOL - VOL - - - - Panning - Keseimbangan - - - - Panning: - Keseimbangan: - - - - PAN - SEIMBANG - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - PENGATURAN UMUM - - - - Sample volume - - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Keseimbangan - - - - Panning: - Keseimbangan: - - - - PAN - SEIMBANG - - - - Mixer channel - Saluran FX - - - - FX - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value + + empty - - - Use built-in NaN handler - - - - - Settings - Pengaturan - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - Tampilkan volume sebagai dBFS - - - - Enable tooltips - Aktifkan tooltips - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Plugin - - - - VST plugins embedding: - - - - - No embedding - Tidak disematkan - - - - Embed using Qt API - Disematkan menggunakan API Qt - - - - Embed using native Win32 API - Disematkan menggunakan API Win32 asli - - - - Embed using XEmbed protocol - Disematkan menggunakan protokol XEmbed - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - Selaraskan plugin VST ke pemutaran host - - - - Keep effects running even without input - Biarkan efek berjalan walaupun tanpa masukan - - - - - Audio - Audio - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Direktori kerja LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Direktori SF2 - - - - Default SF2 - - - - - GIG directory - Direktori GIG - - - - Theme directory - - - - - Background artwork - Latar belakang karya seni - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - - - - - OK - OK - - - - Cancel - Batal - - - - Frames: %1 -Latency: %2 ms - Bingkai: %1 -Latensi: %2 md - - - - Choose your GIG directory - Pilih direktor GIG anda - - - - Choose your SF2 directory - Pilih direktor SF2 anda - - - - minutes - menit - - - - minute - menit - - - - Disabled - Dinonaktifkan - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Frekuensi cutoff + - + Resonance - Resonansi + + + + + Filter type + - Filter type - Tipe filter - - - Voice 3 off - + Volume - Volume + - + Chip model - Model chip - - - - SidInstrumentView - - - Volume: - Volume: - - - - Resonance: - Resonansi: - - - - - Cutoff frequency: - Frekuensi cutoff: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Attack: - - - - - Decay: - Decay: - - - - Sustain: - Sustain: - - - - - Release: - Release: - - - - Pulse Width: - - - - - Coarse: - - - - - Pulse wave - - - - - Triangle wave - Gelombang segitiga - - - - Saw wave - Gelombang gergaji - - - - Noise - Derau - - - - Sync - Selaras - - - - Ring modulation - - - - - Filtered - - - - - Test - Tes - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - Tutup + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - Tempo + - + Master volume - Volume master + - + Master pitch - Master pitch - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - Laporan kesalahan LMMS + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Tidak bisa membuka berkas + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + - + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - Tidak bisa membuka berkas %1. Anda mungkin tidak memiliki izin untuk membaca berkas ini. -Setidaknya pastikan Anda memiliki izini baca kepada berkas tersebut lalu coba lagi. + - + Operation denied - + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - + + + Error - Kesalahan + - + Couldn't create bundle folder. - + Couldn't create resources folder. - + Failed to copy resources. - + + Could not write file - Tidak bisa menulis berkas - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + This %1 was created with LMMS %2 - - Error in file - Kesalahan dalam berkas + + Zoom + - - The file %1 seems to contain errors and therefore can't be loaded. - Berkas %1 sepertinya menganduh kesalahan dan oleh karena itu tidak bisa dimuat. - - - - Version difference - Perbedaan Versi - - - - template - template - - - - project - proyek - - - + Tempo - Tempo + - + TEMPO - + Tempo in BPM - - High quality mode - Mode kualitas tinggi - - - - - + + + Master volume - Volume master + - - - - Master pitch - Master pitch + + + + Global transposition + - + + 1/%1 Bar + + + + + %1 Bars + + + + Value: %1% - Nilai: %1% + - - Value: %1 semitones - Nilai: %1 semitone + + Value: %1 keys + - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - Editor-Lagu + + + + + Play song (Space) + + + + + Record samples from Audio-device + - Play song (Space) - Putar lagu (Spasi) + Record samples from Audio-device while playing song or pattern track + - Record samples from Audio-device - Rekam sampel dari perangkat-Audio - - - - Record samples from Audio-device while playing song or BB track - Rekam sampel dari perangkat-Audio saat memutar lagu atau trek BB - - - Stop song (Space) - Hentikan lagu (Spasi) + - + Track actions - Aksi trek + - - Add beat/bassline - Tambah ketukan/bassline + + Add pattern-track + - + Add sample-track - Tambah Trek-sampel + - + Add automation-track - Tambah trek-otomasi + - + Edit actions - Ubah aksi + - + Draw mode - Mode gambar + - + Knife mode (split sample clips) - + Edit mode (select and move) - Mode Edit (pilih dan pindah) + - + Timeline controls - Kontrol timeline + - + Bar insert controls - + Insert bar - + Remove bar - + Zoom controls - Kontrol Zum + + - Horizontal zooming - Pembesaran horizontal + Zoom + - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - Petunjuk + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - Tutup + - + Maximize - Maksimalkan + - + Restore - Kembalikan + - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - Pengaturan untuk %1 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - Baru dari template + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - Selaraskan Tempo + - + No Sync - + Eight beats - Delapan ketukan + - + Whole note - Seluruh not + - + Half note - Setengah not + - + Quarter note - Seperempat not + - + 8th note - not 8 + - + 16th note - not 16 + - + 32nd note - not 32 + - + Custom... - Kustom... + - + Custom - Kustom + - + Synced to Eight Beats - + Synced to Whole Note - + Synced to Half Note - + Synced to Quarter Note - + Synced to 8th Note - + Synced to 16th Note - + Synced to 32nd Note - TimeDisplayWidget + lmms::gui::TempoSyncKnob - + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + Time units - - - MIN - MIN - - SEC - DTK + MIN + - MSEC - MDTK + SEC + - - BAR - BAR + + MSEC + - BEAT - KETUKAN + BAR + + BEAT + + + + TICK - TIK + - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - Setelah berhenti kembali ke posisi dimana pemutaran dimulai + - + After stopping keep position - Jaga posisi setelah berhenti + - + Hint - Petunjuk + - + Press <%1> to disable magnetic loop points. - Tekan <%1> untuk menonaktifkan titik pengulangan magnetik. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + - Track + lmms::gui::TrackContentWidget - - Mute - Bisu - - - - Solo - Solo - - - - TrackContainer - - - Couldn't import file - Tidak bisa mengimpor berkas - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Tidak bisa mencari filter untuk mengimpor berkas %1. -Anda seharusnya mengubah berkas ini menjadi format yang didukung oleh LMMS menggunakan perangkat lunak lain. - - - - Couldn't open file - Tidak bisa membuka berkas - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Tidak bisa membuka berkas %1 untuk dibaca. -Pastikan anda memiliki izin baca untuk berkas ini dan direktori yang mengandung berkas ini dan coba lagi! - - - - Loading project... - Memuat proyek... - - - - - Cancel - Batal - - - - - Please wait... - Mohon tunggu... - - - - Loading cancelled - - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - Memuat Trek %1 (%2/Total %3) - - - - Importing MIDI-file... - Mengimpor berkas-MIDI... - - - - Clip - - - Mute - Bisu - - - - ClipView - - - Current position - Posisi saat ini - - - - Current length - Panjang saat ini - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 to %5:%6) - - - - Press <%1> and drag to make a copy. - Tekan <%1> dan seret untuk membuat salinan. - - - - Press <%1> for free resizing. - Tekan <%1> untuk merubah ukuran secara bebas. - - - - Hint - Petunjuk - - - - Delete (middle mousebutton) - Hapus (tombol tengah mouse) - - - - Delete selection (middle mousebutton) - - - - - Cut - Potong - - - - Cut selection - - - - - Merge Selection - - - - - Copy - Salin - - - - Copy selection - - - - + Paste - Tempel - - - - Mute/unmute (<%1> + middle click) - Bisukan/suarakan (<%1> + middle click) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - Tempel - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13459,257 +17718,249 @@ Pastikan anda memiliki izin baca untuk berkas ini dan direktori yang mengandung Mute - Bisu + Solo - Solo + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Klon trek ini - - - - Remove this track - Hapus trek ini - - - - Clear this track - Bersihkan trek ini - - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - Tetapkan ke Saluran FX baru - - - - Turn all recording on - Hidupkan semua rekaman - - - - Turn all recording off - Matikan semua rekaman - - - - Change color - Ganti warna - - - - Reset color to default - Reset warna ke default - - - - Set random color - - Clear clip colors + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - + Modulate frequency of oscillator 1 by oscillator 2 - + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - Selaraskan osilator 2 dengan osilator 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Volume Osc %1: + - + Osc %1 panning: - Keseimbangan Osc %1: + - + Osc %1 coarse detuning: - + semitones - semitone + - + Osc %1 fine detuning left: - - + + cents - sen + - + Osc %1 fine detuning right: - + Osc %1 phase-offset: - - + + degrees - derajat + - + Osc %1 stereo phase-detuning: - + Sine wave - Gelombang sinus + - + Triangle wave - Gelombang segitiga + - + Saw wave - Gelombang gergaji + - + Square wave - Gelombang kotak + - + Moog-like saw wave - + Exponential wave - + White noise - Kebisingan putih + - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13724,2620 +17975,782 @@ Pastikan anda memiliki izin baca untuk berkas ini dan direktori yang mengandung - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Tingkatkan versi nomor - + lmms::gui::VersionedSaveDialog - Decrement version number - Turunkan versi nomor + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - sudah ada. Apakah anda ingin menimpanya? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Sebelumnya (-) + - + Save preset - Simpan preset + - + Next (+) - Selanjutnya (+) + - + Show/hide GUI - Tampilkan/sembunyikan GUI + - + Turn off all notes - Matikan semua not + - + DLL-files (*.dll) - Berkas-DLL (*.dll) + - + EXE-files (*.exe) - berkas-EXE (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - Preset + - + by - oleh + - + - VST plugin control - - kontrol VST plugin + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - Tampilkan/sembunyikan + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Sebelumnya (-) + - + Next (+) - Selanjutnya (+) + - + Save preset - Simpan preset + - - + + Effect by: - Efek oleh: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VST plugin %1 tidak dapat dimuat. - - - - Open Preset - Buka Preset - - - - - Vst Plugin Preset (*.fxp *.fxb) - Preset Vst Plugin (*.fxp *.fxb) - - - - : default - : default - - - - Save Preset - Simpan Preset - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Memuat plugin - - - - Please wait while loading VST plugin... - Mohon tunggu, sedang memuat VST plugin... - - - - WatsynInstrument - - - Volume A1 - Volume A1 - - - - Volume A2 - Volume A2 - - - - Volume B1 - Volume B1 - - - - Volume B2 - Volume B2 - - - - Panning A1 - Keseimbangan A1 - - - - Panning A2 - Keseimbangan A2 - - - - Panning B1 - Keseimbangan B1 - - - - Panning B2 - Keseimbangan B2 - - - - Freq. multiplier A1 + + + + + Volume - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - Detune A2 kanan - - - - Right detune B1 - Detune B1 Kanan - - - - Right detune B2 - Detune B2 kanan - - - - A-B Mix - A-B Mix - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - Modulasi A2-A1 - - - - B2-B1 modulation - Modulasi B2-B1 - - - - Selected graph - Grafik yang dipilih - - - - WatsynView - + + - - - Volume - Volume - + Panning + + + - - - Panning - Keseimbangan - - - - - - Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - sen + - - - - + + + + Right detune - + A-B Mix - A-B Mix + - + Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - Pilih osilator A1 + - + Select oscillator A2 - Pilih osilator A2 + - + Select oscillator B1 - Pilih osilator B1 + - + Select oscillator B2 - Pilih osilator B2 + - + Mix output of A2 to A1 - Campurkan keluaran dari A2 ke A1 + - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - Gabung keluaran dari B2 ke B1 + - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Gambar bentuk gelombang kamu sendiri dengan menyeret tetikus kamu di grafik ini. + - + Load waveform - Muat gelombang grafik + - + Load a waveform from a sample file - + Phase left - + Shift phase by -15 degrees - + Phase right - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - Normalisasi - - - - Invert - Balik + - - + + Smooth - Halus + - - + + Sine wave - Gelombang sinus + - - - + + + Triangle wave - Gelombang segitiga + - + Saw wave - Gelombang gergaji + - - + + Square wave - Gelombang kotak - - - - Xpressive - - - Selected graph - Grafik yang dipilih - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - - Draw your own waveform here by dragging your mouse on this graph. - Gambar bentuk gelombang kamu sendiri dengan menyeret tetikus kamu di grafik ini. - - - - Select oscillator W1 - - - - - Select oscillator W2 - - - - - Select oscillator W3 - - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - - - - - - Sine wave - Gelombang sinus - - - - - Moog-saw wave - - - - - - Exponential wave - - - - - - Saw wave - Gelombang gergaji - - - - - User-defined wave - - - - - - Triangle wave - Gelombang segitiga - - - - - Square wave - Gelombang kotak - - - - - White noise - Kebisingan putih - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Lebar pita - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - - - - - FREQ - FREK - - - - Filter resonance: - - - - - RES - RES - - - - Bandwidth: - Lebar pita: - - - - BW - LP - - - - FM gain: - - - - - FM GAIN - FM GAIN - - - - Resonance center frequency: - Frekuensi resonansi tengah: - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - - - - - Forward MIDI control changes - - - - - Show GUI - Tampilkan GUI - - - - AudioFileProcessor - - - Amplify - - - - - Start of sample - Awal dari sampel - - - - End of sample - Akhir dar sampel - - - - Loopback point - Titik loopback - - - - Reverse sample - Balikan sampel - - - - Loop mode - Mode pengulangan - - - - Stutter - - - - - Interpolation mode - - - - - None - Tidak ada - - - - Linear - - - - - Sinc - - - - - Sample not found: %1 - Sampel tidak ditemukan: %1 - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - Gambar bentuk gelombang kamu sendiri dengan menyeret tetikus kamu di grafik ini. - - - - - Sine wave - Gelombang sinus - - - - - Triangle wave - Gelombang segitiga - - - - - Saw wave - Gelombang gergaji - - - - - Square wave - Gelombang kotak - - - - - White noise - Kebisingan putih - - - - - User-defined wave - - - - - - Smooth waveform - Gelombang halus - - - - Interpolation - Interpolasi - - - - Normalize - Normalisasi - - - - DynProcControlDialog - - + INPUT - MASUKAN + - + Input gain: - Gain masukan: + - + OUTPUT - KELUARAN - - - - Output gain: - Gait keluaran: - - - - ATTACK - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - - - - DynProcControls - - - Input gain - Gain masukan - - - - Output gain - Gain keluaran - - - - Attack time - - - - - Release time - - - - - Stereo mode - Mode stereo - - - - graphModel - - - Graph - Grafik - - - - KickerInstrument - - - Start frequency - Frekuensi mulai - - - - End frequency - Frekuensi akhir - - - - Length - Panjang - - - - Start distortion - - - - - End distortion - - - - - Gain - Gain - - - - Envelope slope - - - - - Noise - Derau - - - - Click - Klik - - - - Frequency slope - - - - - Start from note - Mulai dari not - - - - End to note - Berakhir ke not - - - - KickerInstrumentView - - - Start frequency: - Frekuensi mulai: - - - - End frequency: - Frekuensi akhir: - - - - Frequency slope: - - - - - Gain: - Gain: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Klik: - - - - Noise: - Derau: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Efek tersedia - - - - - Unavailable Effects - Efek tak tersedia - - - - - Instruments - Instrumen - - - - - Analysis Tools - Alat Analisis - - - - - Don't know - Tidak tahu - - - - Type: - Tipe: - - - - LadspaDescription - - - Plugins - Plugin - - - - Description - Deskripsi - - - - LadspaPortDialog - - - Ports - - - - - Name - Nama - - - - Rate - Nilai - - - - Direction - Arah - - - - Type - Tipe - - - - Min < Default < Max - Min < Default < Maks - - - - Logarithmic - Logaritmik - - - - SR Dependent - - - - - Audio - Audio - - - - Control - Kontrol - - - - Input - Masukan - - - - Output - Keluaran - - - - Toggled - - - - - Integer - Integer - - - - Float - Float - - - - - Yes - Ya - - - - Lb302Synth - - - VCF Cutoff Frequency - - - - - VCF Resonance - Resonansi VCF - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - Distorsi - - - - Waveform - Grafik gelombang - - - - Slide Decay - - - - - Slide - - - - - Accent - Aksen - - - - Dead - Mati - - - - 24dB/oct Filter - Filter 24dB/oct - - - - Lb302SynthView - - - Cutoff Freq: - Frek Cutoff: - - - - Resonance: - Resonansi: - - - - Env Mod: - Env Mod: - - - - Decay: - Decay: - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - Gelombang gergaji - - - - Click here for a saw-wave. - Klik disini untuk gelombang gergaji. - - - - Triangle wave - Gelombang segitiga - - - - Click here for a triangle-wave. - Klik disini untuk gelombang-segitiga. - - - - Square wave - Gelombang kotak - - - - Click here for a square-wave. - Klik disini untuk gelombang-kotak. - - - - Rounded square wave - Gelombang persegi bulat - - - - Click here for a square-wave with a rounded end. - - - - - Moog wave - - - - - Click here for a moog-like wave. - - - - - Sine wave - Gelombang sinus - - - - Click for a sine-wave. - - - - - - White noise wave - Gelombang riuh - - - - Click here for an exponential wave. - Klik disini untuk gelombang eksponensial. - - - - Click here for white-noise. - Klik disini untuk kebisingan-putih. - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - Kekerasan - - - - Position - Posisi - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Modulator - - - - Crossfade - - - - - LFO speed - Kecepatan LFO - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - Tekanan - - - - Motion - - - - - Speed - Kecepatan - - - - Bowed - - - - - Spread - - - - - Marimba - Marimba - - - - Vibraphone - Vibraphone - - - - Agogo - - - - - Wood 1 - - - - - Reso - Reso - - - - Wood 2 - - - - - Beats - Ketukan - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Instrumen - - - - Spread - - - - - Spread: - - - - - Missing files - Berkas yang hilang - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - - Hardness - Kekerasan - - - - Hardness: - - - - - Position - Posisi - - - - Position: - Posisi: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Modulator - - - - Modulator: - - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - Kecepatan LFO - - - - LFO speed: - kecepatan LFO: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Tekanan - - - - Pressure: - Tekanan: - - - - Speed - Kecepatan - - - - Speed: - Kecepatan: - - - - ManageVSTEffectView - - - - VST parameter control - - VST kontrol parameter - - - - VST sync - - - - - - Automated - Diotomasi - - - - Close - Tutup - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - kontrol VST plugin - - - - VST Sync - - - - - - Automated - Diotomasi - - - - Close - Tutup - - - - OrganicInstrument - - - Distortion - Distorsi - - - - Volume - Volume - - - - - OrganicInstrumentView - - - Distortion: - Distorsi: - - - - Volume: - Volume: - - - - Randomise - - - - - - Osc %1 waveform: - Bentuk Gelombang Osc %1: - - - - Osc %1 volume: - Volume Osc %1: - - - - Osc %1 panning: - Keseimbangan Osc %1: - - - - Osc %1 stereo detuning - - - - - cents - sen - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - Pemilih bank - - - - Bank - Bank - - - - Program selector - Pemilih program - - - - Patch - Patch - - - - Name - Nama - - - - OK - OK - - - - Cancel - Batal - - - - Sf2Instrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Gain - - - - Reverb - - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - Soundfont %1 tidak dapat dimuat. - - - - Sf2InstrumentView - - - - Open SoundFont file - Buka berkas SoundFont - - - - Choose patch - - - - - Gain: - Gain: - - - - Apply reverb (if supported) - Aktifkan gema (jika didukung) - - - - Room size: - Ukuran ruangan: - - - - Damping: - - - - - Width: - Lebar: - - - - - Level: - Tingkat: - - - - Apply chorus (if supported) - - - - - Voices: - - - - - Speed: - Kecepatan: - - - - Depth: - Kedalaman: - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Lebar: - - - - StereoEnhancerControls - - - Width - Lebar - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Vol Kiri ke Kiri: - - - - Left to Right Vol: - Vol Kiri ke Kanan: - - - - Right to Left Vol: - Vol Kanan ke Kiri: - - - - Right to Right Vol: - Vol Kanan ke Kanan: - - - - StereoMatrixControls - - - Left to Left - Kiri ke Kiri - - - - Left to Right - Kiri ke Kanan - - - - Right to Left - Kanan ke Kiri - - - - Right to Right - Kanan ke Kanan - - - - VestigeInstrument - - - Loading plugin - Memuat plugin - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - Volume string %1 - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - Impuls %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - Posisi petik: - - - - Pickup position: - Posisi pickup: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - Oktaf - - - - Impulse Editor - Editor Impuls - - - - Enable waveform - Aktifkan gelombang grafik - - - - Enable/disable string - - - - - String - Deretan - - - - - Sine wave - Gelombang sinus - - - - - Triangle wave - Gelombang segitiga - - - - - Saw wave - Gelombang gergaji - - - - - Square wave - Gelombang kotak - - - - - White noise - Kebisingan putih - - - - - User-defined wave - - - - - - Smooth waveform - Gelombang halus - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - Lebar nadi Suara %1 - - - - Voice %1 attack - Serangan suara %1 - - - - Voice %1 decay - Kerusakan suara %1 - - - - Voice %1 sustain - Penopang suara %1 - - - - Voice %1 release - Pelepasan suara %1 - - - - Voice %1 coarse detuning - Detuning kasar suara %1 - - - - Voice %1 wave shape - Bentuk gelombang suara %1 - - - - Voice %1 sync - Sinkron suara %1 - - - - Voice %1 ring modulate - Modulasi nada suara %1 - - - - Voice %1 filtered - Suara %1 difilter - - - - Voice %1 test - Tes suara %1 - - - - WaveShaperControlDialog - - - INPUT - MASUKAN - - - - Input gain: - Gain masukan: - - - - OUTPUT - KELUARAN - - - - Output gain: - Gait keluaran: - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - Klip masukan + - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Gain masukan + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Gain keluaran + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/it.ts b/data/locale/it.ts index 104a3bdbc..db7f5c7bc 100644 --- a/data/locale/it.ts +++ b/data/locale/it.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -69,811 +69,44 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL + + About JUCE + Informazioni su JUCE - - Volume: - Volume: + + <b>About JUCE</b> + <b>Informazioni su JUCE</b> - - PAN - PAN + + This program uses JUCE version 3.x.x. + Questo programma utilizza JUCE versione 3.x.x. - - Panning: - Panoramica: - - - - LEFT - SX - - - - Left gain: - Guadagno a sinistra: - - - - RIGHT - DX - - - - Right gain: - Guadagno a destra: - - - - AmplifierControls - - - Volume - Volume - - - - Panning - Panoramica - - - - Left gain - Guadagno a sinistra - - - - Right gain - Guadagno a destra - - - - AudioAlsaSetupWidget - - - DEVICE - PERIFERICA - - - - CHANNELS - CANALI - - - - AudioFileProcessorView - - - Open sample - Apri campione - - - - Reverse sample - Inverti campione - - - - Disable loop - Disabilità ripetizione ciclica - - - - Enable loop - Abilita ripetizione ciclica - - - - Enable ping-pong loop - Abilita ripetizione ciclica ping-pong - - - - Continue sample playback across notes - Continua riproduzione campione attraverso le note - - - - Amplify: - Amplifica: - - - - Start point: - Punto iniziale: - - - - End point: - Punto finale: - - - - Loopback point: - Punto di ripresa: - - - - AudioFileProcessorWaveView - - - Sample length: - Lunghezza campione: - - - - AudioJack - - - JACK client restarted - Client JACK riavviato - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS è stato respinto da JACK per qualche motivo. Pertanto il backend JACK di LMMS è stato riavviato. Sarà necessario effettuare nuovamente le connessioni manuali. - - - - JACK server down - Server JACK fuori uso - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Sembra che il server JACK sia stato arrestato e l'avvio di una nuova istanza non è riuscito. Pertanto LMMS non è in grado di procedere. È necessario salvare il progetto e riavviare JACK e LMMS. - - - - Client name - Nome Client - - - - Channels - Canali - - - - AudioOss - - - Device - Dispositivo - - - - Channels - Canali - - - - AudioPortAudio::setupWidget - - - Backend - Backend - - - - Device - Dispositivo - - - - AudioPulseAudio - - - Device - Dispositivo - - - - Channels - Canali - - - - AudioSdl::setupWidget - - - Device - Dispositivo - - - - AudioSndio - - - Device - Dispositivo - - - - Channels - Canali - - - - AudioSoundIo::setupWidget - - - Backend - Backend - - - - Device - Dispositivo - - - - AutomatableModel - - - &Reset (%1%2) - &Reimposta (%1%2) - - - - &Copy value (%1%2) - &Copia valore (%1%2) - - - - &Paste value (%1%2) - &Incolla valore (%1%2) - - - - &Paste value - &Incolla valore - - - - Edit song-global automation - Modifica automazione globale della canzone - - - - Remove song-global automation - Rimuovi automazione globale della canzone - - - - Remove all linked controls - Rimuovi tutti i controlli collegati - - - - Connected to %1 - Connesso a %1 - - - - Connected to controller - Connesso al controller - - - - Edit connection... - Modifica connessione... - - - - Remove connection - Rimuovi connessione - - - - Connect to controller... - Connetti al controller... - - - - AutomationEditor - - - Edit Value + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - È necessario aprire uno schema di automazione con il menu contestuale di un controllo! + + This program uses JUCE version + Questo programma utilizza una versione di JUCE - AutomationEditorWindow + AudioDeviceSetupWidget - - Play/pause current clip (Space) - Riproduce/sospende lo schema corrente (Spazio) - - - - Stop playing of current clip (Space) - Arresta la riproduzione dello schema corrente (Spazio) - - - - Edit actions - Modifica attività - - - - Draw mode (Shift+D) - Modalità disegno (Shift+D) - - - - Erase mode (Shift+E) - Modalità cancellazione (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Capovolgi verticalmente - - - - Flip horizontally - Capovolgi orizzontalmente - - - - Interpolation controls - Controlli interpolazione - - - - Discrete progression - Progressione discontinua - - - - Linear progression - Progressione lineare - - - - Cubic Hermite progression - Progressione cubica di Hermite - - - - Tension value for spline - Valore tensione delle curve - - - - Tension: - Tensione: - - - - Zoom controls - Opzioni ingrandimento - - - - Horizontal zooming - Ingrandimento orizzontale - - - - Vertical zooming - Ingrandimento verticale - - - - Quantization controls - Controlli quantizzazione - - - - Quantization - Quantizzazione - - - - - Automation Editor - no clip - Editor automazione - nessuno schema - - - - - Automation Editor - %1 - Editor automazione - %1 - - - - Model is already connected to this clip. - Modello già collegato a questo schema. - - - - AutomationClip - - - Drag a control while pressing <%1> - Trascina un controllo tenendo premuto <%1> - - - - AutomationClipView - - - Open in Automation editor - Apri nell'editor Automazione - - - - Clear - Libera area - - - - Reset name - Reimposta nome - - - - Change name - Rinomina - - - - Set/clear record - Imposta/cancella registrazione - - - - Flip Vertically (Visible) - Capovolgi verticalmente (visibile) - - - - Flip Horizontally (Visible) - Capovolgi orizzontalmente (visibile) - - - - %1 Connections - %1 connessioni - - - - Disconnect "%1" - Disconnetti "%1" - - - - Model is already connected to this clip. - Modello già collegato a questo schema. - - - - AutomationTrack - - - Automation track - Traccia automazione - - - - PatternEditor - - - Beat+Bassline Editor - Editor Beat+Bassline - - - - Play/pause current beat/bassline (Space) - Riproduce/sospende il beat/bassline corrente (Spazio) - - - - Stop playback of current beat/bassline (Space) - Arresta il beat/bassline corrente (Spazio) - - - - Beat selector - Selettore Beat - - - - Track and step actions - Attività tracce e passaggi - - - - Add beat/bassline - Aggiungi beat/bassline - - - - Clone beat/bassline clip - - - - - Add sample-track - Aggiungi traccia campione - - - - Add automation-track - Aggiungi una traccia automazione - - - - Remove steps - Rimuovi passaggi - - - - Add steps - Aggiungi passaggi - - - - Clone Steps - Clona passaggi - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Apri nell'editor Beat+Bassline - - - - Reset name - Reimposta nome - - - - Change name - Rinomina - - - - PatternTrack - - - Beat/Bassline %1 - Beat/Bassline %1 - - - - Clone of %1 - Clone di %1 - - - - BassBoosterControlDialog - - - FREQ - FREQ - - - - Frequency: - Frequenza: - - - - GAIN - GUAD - - - - Gain: - Guadagno: - - - - RATIO - RAPP - - - - Ratio: - Rapporto: - - - - BassBoosterControls - - - Frequency - Frequenza - - - - Gain - Guadagno - - - - Ratio - Rapporto dinamico - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - OUT - - - - - GAIN - GUAD - - - - Input gain: - Guadagno in ingresso: - - - - NOISE - RUMORE - - - - Input noise: - Rumore in ingresso: - - - - Output gain: - Guadagno in uscita: - - - - CLIP - CLIP - - - - Output clip: - Clip in uscita:: - - - - Rate enabled - Valore abilitato - - - - Enable sample-rate crushing - Abilità riduzione frequenza di campionamento - - - - Depth enabled - Risoluzione abilitata - - - - Enable bit-depth crushing - Abilità riduzione bit di quantizzazione - - - - FREQ - FREQ - - - - Sample rate: - Frequenza di campionamento: - - - - STEREO - STEREO - - - - Stereo difference: - Differenza stereo: - - - - QUANT - QUANT - - - - Levels: - Livelli di quantizzazione: - - - - BitcrushControls - - - Input gain - Guadagno in ingresso - - - - Input noise - Rumore in ingresso - - - - Output gain - Guadagno in uscita - - - - Output clip - Clip in uscita - - - - Sample rate - Frequenza di campionamento - - - - Stereo difference - Differenza stereo - - - - Levels - Livelli - - - - Rate enabled - Valore abilitato - - - - Depth enabled - Risoluzione abilitata + + [System Default] + [Sistema predefinito] @@ -899,124 +132,124 @@ If you're interested in translating LMMS in another language or want to imp Licenza estesa qui - + Artwork Materiale grafico - + Using KDE Oxygen icon set, designed by Oxygen Team. Uso del set di icone di KDE Oxygen, progettato da Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. Contiene alcune manopole, sfondi e altri piccoli disegni dei progetti Calf Studio Gear, OpenAV e OpenOctave. - + VST is a trademark of Steinberg Media Technologies GmbH. VST è un marchio registrato di Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! Un ringraziamento speciale ad Antonio Saraiva per qualche icona e lavori grafici in più! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. Il logo LV2 è stato disegnato da Thorsten Wilms, basato su un concetto di Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. Tastiera MIDI disegnata da Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. Icone Carla, Carla-Control e Patchbay disegnate da DoosC. - + Features Caratteristiche - + AU/AudioUnit: AU/AudioUnit: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel TextLabel - + VST2: VST2: - + DSSI: DSSI: - + LV2: LV2: - + VST3: VST3: - + OSC OSC - + Host URLs: URLs host: - + Valid commands: Comandi validi: - + valid osc commands here comandi osc validi qui - + Example: Esempio: - + License Licenza - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,51 +534,51 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version Versione ponte OSC - + Plugin Version Versione plugin - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> <br>Versione %1<br>Carla è un plugin audio host completo%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) (Motore non in funzione) - + Everything! (Including LRDF) Tutto! (Incluso LRDF) - + Everything! (Including CustomData/Chunks) Tutto! (Compresi dati personalizzati/blocchi) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> Circa 110&#37; completo (usando estensioni personalizzate)<br/>Funzionalità/estensioni implementate:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host Tramite l'host Juce - + About 85% complete (missing vst bank/presets and some minor stuff) Completo a circa 85% (banco vst mancante/preselezioni e alcune cose minori) @@ -1378,563 +611,600 @@ POSSIBILITY OF SUCH DAMAGES. Caricamento... - + + Save + Salva + + + + Clear + Rimuovi + + + + Ctrl+L + Ctrl+L + + + + Auto-Scroll + Scorrimento automatico + + + Buffer Size: Dimensione buffer: - + Sample Rate: Frequenza campionamento: - + ? Xruns ? Xruns - + DSP Load: %p% Carico DSP: %p% - + &File &File - + &Engine &Motore - + &Plugin &Plugin - + Macros (all plugins) Macro (tutti i plugin) - + &Canvas - + &Canvas - + Zoom Ingrandimento - + &Settings &Impostazioni - + &Help &Aiuto - - toolBar - Barra strumenti + + Tool Bar + Barra degli strumenti - + Disk Disco - - + + Home Principale - + Transport Trasporto - + Playback Controls Controlli riproduzione - + Time Information Informazioni tempo - + Frame: Periodo - + 000'000'000 000'000'000 - + Time: Tempo: - + 00:00:00 00:00:00 - + BBT: BBT: - + 000|00|0000 000|00|0000 - + Settings Impostazioni - + BPM BPM - + Use JACK Transport Usa trasporto JACK - + Use Ableton Link Usa collegamento Ableton - + &New &Nuovo - + Ctrl+N Ctrl+N - + &Open... &Apri... - - + + Open... Apri... - + Ctrl+O Ctrl+O - + &Save &Salva - + Ctrl+S Ctrl+S - + Save &As... Salva &come... - - + + Save As... Salva come... - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit &Esci - + Ctrl+Q Ctrl+Q - + &Start &Partenza - + F5 F5 - + St&op Arrest&a - + F6 F6 - + &Add Plugin... &Aggiungi plug-in... - + Ctrl+A Ctrl+A - + &Remove All &Rimuovi tutto - + Enable Abilita - + Disable Disabilita - + 0% Wet (Bypass) 0% bagnato (bypass) - + 100% Wet 100% bagnato - + 0% Volume (Mute) 0% Volume (silenziato) - + 100% Volume 100% Volume - + Center Balance Bilanciamento al centro - + &Play &Riproduci - + Ctrl+Shift+P Ctrl+Shift+P - + &Stop &Arresta - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards &Indietro - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards &Avanti - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange &Organizza - + Ctrl+G Ctrl+G - - + + &Refresh &Aggiorna - + Ctrl+R Ctrl+R - + Save &Image... Salva &immagine... - + Auto-Fit Adatta-automatico - + Zoom In Ingrandisci - + Ctrl++ Ctrl++ - + Zoom Out Riduci - + Ctrl+- Ctrl+- - + Zoom 100% Ingrandimento 100% - + Ctrl+1 Ctrl+1 - + Show &Toolbar Mostra &barra strumenti - + &Configure Carla &Configura Carla - + &About &A riguardo - + About &JUCE Riguardo a &JUCE - + About &Qt Riguardo a &Qt - + Show Canvas &Meters - + Mostra Canvas &Misuratori - + Show Canvas &Keyboard - + Mostra Canvas &Tastiera - + Show Internal Mostra interno - + Show External Mostra esterno - + Show Time Panel Mostra pannello temporale - + Show &Side Panel Mostra &pannello laterale - + + Ctrl+P + Ctrl+P + + + &Connect... &Connetti... - + Compact Slots Comprimi alloggiamenti - + Expand Slots Espandi alloggiamenti - + Perform secret 1 Esegui segreto 1 - + Perform secret 2 Esegui segreto 2 - + Perform secret 3 Esegui segreto 3 - + Perform secret 4 Esegui segreto 4 - + Perform secret 5 Esegui segreto 5 - + Add &JACK Application... Aggiungi applicazione &JACK... - + &Configure driver... &Configura driver... - + Panic Panico - + Open custom driver panel... Apri pannello driver personalizzato... + + + Save Image... (2x zoom) + Salva immagine... (2x zoom) + + + + Save Image... (4x zoom) + Salva immagine... (4x zoom) + + + + Copy as Image to Clipboard + Copia come immagine su Appunti + + + + Ctrl+Shift+C + Ctrl+Shift+C + CarlaHostWindow - + Export as... Esporta come... - - - - + + + + Error Errore - + Failed to load project Impossibile caricare il progetto - + Failed to save project Impossibile salvare il progetto - + Quit Esci - + Are you sure you want to quit Carla? Sei sicuro di voler uscire da Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 Impossibile connettersi al back-end Audio '%1', possibili motivi: 2% - + Could not connect to Audio backend '%1' Impossibile connettersi al backend audio '%1' - + Warning Avviso - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? Ci sono ancora alcuni plugin caricati, è necessario rimuoverli per arrestare il motore. Vuoi farlo adesso? - - CarlaInstrumentView - - - Show GUI - Mostra GUI - - CarlaSettingsW @@ -1950,7 +1220,7 @@ Vuoi farlo adesso? canvas - + canvas @@ -1989,19 +1259,19 @@ Vuoi farlo adesso? - + Main Principale - + Canvas - + Canvas - + Engine Motore @@ -2022,1488 +1292,590 @@ Vuoi farlo adesso? - + Experimental Sperimentale - + <b>Main</b> <b>Principale</b> - + Paths Percorsi - + Default project folder: Cartella progetto predefinita: - + Interface Interfaccia - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Intervallo di aggiornamento interfaccia: - - + + ms ms - + Show console output in Logs tab (needs engine restart) Mostra l'uscita della console nella scheda Log (necessita di riavvio del motore) - + Show a confirmation dialog before quitting Visualizza messaggio di conferma prima di uscire - - + + Theme Tema - + Use Carla "PRO" theme (needs restart) Usa il tema "PRO" di Carla (necessita di riavvio) - + Color scheme: Combinazione colori: - + Black Nero - + System Sistema - + Enable experimental features Abilita funzionalità sperimentali - + <b>Canvas</b> - + <b>Canvas</b> - + Bezier Lines Linee di Bezier - + Theme: Tema: - + Size: Grandezza: - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + 12400x9600 + + + Options Opzioni - + Auto-hide groups with no ports Nascondi automaticamente i gruppi senza porte - + Auto-select items on hover Selezione automatica elementi al passaggio del mouse - + Basic eye-candy (group shadows) Attraente-base (ombre di gruppo) - + Render Hints Suggerimenti rendering - + Anti-Aliasing - Anti aliasing + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> <b>Motore</b> - - + + Core Nucleo - + Single Client Client singolo - + Multiple Clients Clients multipli - - + + Continuous Rack Rack continuo - - + + Patchbay Patchbay - + Audio driver: Driver audio: - + Process mode: Modalità processo: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog Numero massimo di parametri da consentire nella finestra di dialogo integrata "Modifica" - + Max Parameters: Parametri massimi: - + ... ... - + Reset Xrun counter after project load Ripristina contatore Xrun dopo il caricamento del progetto - + Plugin UIs UIs plugin - - + + How much time to wait for OSC GUIs to ping back the host Tempo di attesa che le GUI OSC eseguano il ping dell'host - + UI Bridge Timeout: Sospensione bridge UI: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code Usare i bridge OSC-GUI quando possibile, questo modo separa l'interfaccia utente dal codice DSP - + Use UI bridges instead of direct handling when possible Utilizzare le UI bridge anziché la gestione diretta, quando possibile - + Make plugin UIs always-on-top Rendi le UIs dei plugin sempre in primo piano - + Make plugin UIs appear on top of Carla (needs restart) Fai comparire le UIs del plugin sopra Carla (necessita di riavvio) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS NOTA: le UI del plugin-bridge non possono essere gestite da Carla su macOS - - + + Restart the engine to load the new settings Riavvia il motore per caricare le nuove impostazioni - + <b>OSC</b> <b>OSC</b> - + Enable OSC Abilita OSC - + Enable TCP port Abilita porta TCP - - + + Use specific port: Usa porta specifica: - + Overridden by CARLA_OSC_TCP_PORT env var Sostituito da CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port Usa porta assegnata in modo casuale - + Enable UDP port Abilita porta UDP - + Overridden by CARLA_OSC_UDP_PORT env var Sostituito da CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled Le UI DSSI richiedono la porta UDP OSC abilitata - + <b>File Paths</b> <b>Percorsi file</b> - + Audio Audio - + MIDI MIDI - + Used for the "audiofile" plugin Utilizzato per il plugin "fileaudio" - + Used for the "midifile" plugin Utilizzato per il plugin "midifile" - - + + Add... Aggiungi... - - + + Remove Rimuovi - - + + Change... Cambia... - + <b>Plugin Paths</b> <b>Percorsi plugin</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - + + JSFX + JSFX + + + + CLAP + CLAP + + + Restart Carla to find new plugins Riavvia Carla per trovare nuovi plugin - + <b>Wine</b> <b>Wine</b> - + Executable Eseguibile - + Path to 'wine' binary: Percorso per binario 'wine': - + Prefix Prefisso - + Auto-detect Wine prefix based on plugin filename Rilevamento automatico del prefisso Wine in base al nome del file del plug-in - + Fallback: Alternativa: - + Note: WINEPREFIX env var is preferred over this fallback Nota: WINEPREFIX env var è preferito rispetto a questa alternativa - + Realtime Priority Priorità in tempo reale - + Base priority: Priorità di base: - + WineServer priority: Priorità WineServer: - + These options are not available for Carla as plugin Queste opzioni non sono disponibili per Carla come plugin - + <b>Experimental</b> <b>Sperimentale</b> - + Experimental options! Likely to be unstable! Opzioni sperimentali! Probabilmente instabile! - + Enable plugin bridges Abilita i bridges plugin - + Enable Wine bridges Abilita i bridges Wine - + Enable jack applications Abilita applicazioni jack - + Export single plugins to LV2 Esporta plugins singoli in LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) Carica il backend di Carla nello spazio globale dei nomi (NON CONSIGLIATO) - + Fancy eye-candy (fade-in/out groups, glow connections) Attraente (gruppi di dissolvenza in apertura/chiusura, connessioni luminose) - + Use OpenGL for rendering (needs restart) Usa OpenGL per il rendering (necessita di riavvio) - + High Quality Anti-Aliasing (OpenGL only) Antialiasing di alta qualità (solo OpenGL) - + Render Ardour-style "Inline Displays" Renderizza in stile-Ardour : "Visualizza in linea" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. Forza i plugins mono come stereo eseguendo 2 istanze contemporaneamente. Questa modalità non è disponibile per i plugins VST. - + Force mono plugins as stereo Forza i plugins mono come stereo - - Prevent plugins from doing bad stuff (needs restart) - Impedisci ai plugins di causare errori (necessita di riavvio) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. + - - Whenever possible, run the plugins in bridge mode. - Quando possibile, esegui i plugins in modalità bridge. + + Prevent unsafe calls from plugins (needs restart) + Evita chiamate non sicure dai plugin (richiede il riavvio) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible Esegui i plugin in modalità bridge quando possibile - - - - + + + + Add Path Aggiungi percorso - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Rapporto: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Attacco: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Rilascio: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Mantenimento: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Guadagno in uscita - - - - - Gain - Guadagno - - - - Output volume - - - - - Input gain - Guadagno in ingresso - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Rapporto dinamico - - - - Attack - Attacco - - - - Release - Rilascio - - - - Knee - - - - - Hold - Mantenimento - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Guadagno output - - - - Input Gain - Guadagno input - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Feedback - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Mix - - - - Controller - - - Controller %1 - Controller %1 - - - - ControllerConnectionDialog - - - Connection Settings - Impostazioni connessione - - - - MIDI CONTROLLER - CONTROLLER MIDI - - - - Input channel - Canale di ingresso - - - - CHANNEL - CANALE - - - - Input controller - Controller di ingresso - - - - CONTROLLER - CONTROLLER - - - - - Auto Detect - Rilevamento automatico - - - - MIDI-devices to receive MIDI-events from - Le periferiche MIDI ricevono eventi MIDI da - - - - USER CONTROLLER - CONTROLLER PERSONALIZZATO - - - - MAPPING FUNCTION - FUNZIONE DI MAPPATURA - - - - OK - OK - - - - Cancel - Annulla - - - - LMMS - LMMS - - - - Cycle Detected. - Ciclo rilevato. - - - - ControllerRackView - - - Controller Rack - Rack di Controller - - - - Add - Aggiungi - - - - Confirm Delete - Conferma eliminazione - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Confermi l'eliminazione? Ci sono collegamenti associati a questo controller: non sarà possibile ripristinarli. - - - - ControllerView - - - Controls - Controlli - - - - Rename controller - Rinomina controller - - - - Enter the new name for this controller - Inserire nuovo nome per questo controller - - - - LFO - LFO - - - - &Remove this controller - &Rimuovi questo controller - - - - Re&name this controller - Ri&nomina questo controller - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Punto di separazione 1/2: - - - - Band 2/3 crossover: - Punto di separazione 2/3: - - - - Band 3/4 crossover: - Punto di separazione 3/4: - - - - Band 1 gain - Guadagno banda 1 - - - - Band 1 gain: - Guadagno banda 1: - - - - Band 2 gain - Guadagno banda 2 - - - - Band 2 gain: - Guadagno banda 2: - - - - Band 3 gain - Guadagno banda 3 - - - - Band 3 gain: - Guadagno banda 3: - - - - Band 4 gain - Guadagno banda 4 - - - - Band 4 gain: - Guadagno banda 4: - - - - Band 1 mute - Muto banda 1 - - - - Mute band 1 - Muto banda 1 - - - - Band 2 mute - Muto banda 2 - - - - Mute band 2 - Muto banda 2 - - - - Band 3 mute - Muto banda 3 - - - - Mute band 3 - Muto banda 3 - - - - Band 4 mute - Muto banda 4 - - - - Mute band 4 - Muto banda 4 - - - - DelayControls - - - Delay samples - Campioni di delay - - - - Feedback - Feedback - - - - LFO frequency - Frequenza LFO - - - - LFO amount - Ampiezza LFO - - - - Output gain - Guadagno in uscita - - - - DelayControlsDialog - - - DELAY - TEMPO - - - - Delay time - Tempo di ritardo - - - - FDBK - FDBK - - - - Feedback amount - Quantità di feedback - - - - RATE - TEMPO - - - - LFO frequency - Frequenza LFO - - - - AMNT - Q.TÀ - - - - LFO amount - Ampiezza LFO - - - - Out gain - Guadagno in uscita - - - - Gain - Guadagno - - Dialog - - - Add JACK Application - Aggiungi applicazione JACK - - - - Note: Features not implemented yet are greyed out - Nota: le funzionalità non ancora implementate sono disattivate - - - - Application - Applicazione - - - - Name: - Nome: - - - - Application: - Applicazione: - - - - From template - Dal modello - - - - Custom - Personalizzato - - - - Template: - Modello: - - - - Command: - Comando: - - - - Setup - Configurazione - - - - Session Manager: - Gestore sessioni: - - - - None - Nessuna - - - - Audio inputs: - Ingressi audio: - - - - MIDI inputs: - Ingressi MIDI: - - - - Audio outputs: - Uscite audio: - - - - MIDI outputs: - Uscite MIDI: - - - - Take control of main application window - Prendi il controllo della finestra principale dell'applicazione - - - - Workarounds - Soluzioni alternative - - - - Wait for external application start (Advanced, for Debug only) - Attendi l'avvio di un'applicazione esterna (avanzato, solo per debug) - - - - Capture only the first X11 Window - Cattura solo la prima finestra X11 - - - - Use previous client output buffer as input for the next client - Usa il buffer di uscita del client precedente come ingresso per il client successivo - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - Simula 16 uscite MIDI JACK, con canale MIDI come indice di porta - - - - Error here - Errore qui - Carla Control - Connect @@ -3529,28 +1901,6 @@ Questa modalità non è disponibile per i plugins VST. TCP Port: Porta TCP: - - - Reported host - Host segnalato - - - - Automatic - Automatico - - - - Custom: - Personalizzato: - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - In alcune reti (come le connessioni USB), il sistema remoto non può raggiungere la rete locale. È possibile specificare qui a quale nome host o IP a cui connettere Carla in remoto. -Se non sei sicuro, lascialo su "Automatico". - Set value @@ -3605,948 +1955,6 @@ Se non sei sicuro, lascialo su "Automatico". Riavvia il motore per caricare le nuove impostazioni - - DualFilterControlDialog - - - - FREQ - FREQ - - - - - Cutoff frequency - Frequenza di taglio - - - - - RESO - RISO - - - - - Resonance - Risonanza - - - - - GAIN - GUAD - - - - - Gain - Guadagno - - - - MIX - MIX - - - - Mix - Mix - - - - Filter 1 enabled - Filtro 1 abilitato - - - - Filter 2 enabled - Filtro 2 abilitato - - - - Enable/disable filter 1 - Abilita/disabilita filtro 1 - - - - Enable/disable filter 2 - Abilita/disabilita filtro 2 - - - - DualFilterControls - - - Filter 1 enabled - Filtro 1 abilitato - - - - Filter 1 type - Filtro di tipo 1 - - - - Cutoff frequency 1 - Frequenza di taglio 1 - - - - Q/Resonance 1 - Risonanza Filtro 1 - - - - Gain 1 - Guadagno Filtro 1 - - - - Mix - Mix - - - - Filter 2 enabled - Abilita Filtro 2 - - - - Filter 2 type - Tipo del Filtro 2 - - - - Cutoff frequency 2 - Frequenza di taglio 2 - - - - Q/Resonance 2 - Risonanza Filtro 2 - - - - Gain 2 - Guadagno Filtro 2 - - - - - Low-pass - Passa-basso - - - - - Hi-pass - Passa-alto - - - - - Band-pass csg - Passa-banda csg - - - - - Band-pass czpg - Passa-banda czpg - - - - - Notch - Notch - - - - - All-pass - Passa-tutto - - - - - Moog - Moog - - - - - 2x Low-pass - Passa-basso 2x - - - - - RC Low-pass 12 dB/oct - Passa-basso RC 12 dB/ott - - - - - RC Band-pass 12 dB/oct - Passa-banda RC 12 dB/ott - - - - - RC High-pass 12 dB/oct - Passa-alto RC 12 dB/ott - - - - - RC Low-pass 24 dB/oct - Passa-basso RC 24 dB/ott - - - - - RC Band-pass 24 dB/oct - Passa-banda RC 24 dB/ott - - - - - RC High-pass 24 dB/oct - Passa-alto RC 24 dB/ott - - - - - Vocal Formant - Formante Vocale - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - Passa-basso SV - - - - - SV Band-pass - Passa-banda SV - - - - - SV High-pass - Passa-alto SV - - - - - SV Notch - Notch SV - - - - - Fast Formant - Formante veloce - - - - - Tripole - Tre poli - - - - Editor - - - Transport controls - Controlli trasporto - - - - Play (Space) - Play (Spazio) - - - - Stop (Space) - Fermo (Spazio) - - - - Record - Registra - - - - Record while playing - Registra in play - - - - Toggle Step Recording - Attiva/disattiva registrazione a passi - - - - Effect - - - Effect enabled - Effetto attivo - - - - Wet/Dry mix - Bilanciamento Wet/Dry - - - - Gate - Gate - - - - Decay - Decadimento - - - - EffectChain - - - Effects enabled - Effetti abilitati - - - - EffectRackView - - - EFFECTS CHAIN - CATENA DI EFFETTI - - - - Add effect - Aggiungi effetto - - - - EffectSelectDialog - - - Add effect - Aggiungi effetto - - - - - Name - Nome - - - - Type - Tipo - - - - Description - Descrizione - - - - Author - Autore - - - - EffectView - - - On/Off - On/Off - - - - W/D - W/D - - - - Wet Level: - Livello del segnale modificato: - - - - DECAY - DECAY - - - - Time: - Tempo: - - - - GATE - GATE - - - - Gate: - Gate: - - - - Controls - Controlli - - - - Move &up - Sposta verso l'&alto - - - - Move &down - Sposta verso il &basso - - - - &Remove this plugin - &Elimina questo plugin - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Pre-ritardo inv - - - - Env attack - Attacco inv - - - - Env hold - Mantenimento inv - - - - Env decay - Decadimento inv - - - - Env sustain - Sostegno inv - - - - Env release - Rilascio inv - - - - Env mod amount - Quantità mod inv - - - - LFO pre-delay - Ritardo iniziale LFO - - - - LFO attack - Attacco LFO - - - - LFO frequency - Frequenza LFO - - - - LFO mod amount - Quantità mod LFO - - - - LFO wave shape - Forma d'onda LFO - - - - LFO frequency x 100 - Frequenza LFO x 100 - - - - Modulate env amount - Modula quantità inv - - - - EnvelopeAndLfoView - - - - DEL - RIT - - - - - Pre-delay: - Ritardo iniziale: - - - - - ATT - ATT - - - - - Attack: - Attacco: - - - - HOLD - MANT - - - - Hold: - Mantenimento: - - - - DEC - DEC - - - - Decay: - Decadimento: - - - - SUST - SOST - - - - Sustain: - Sostegno: - - - - REL - RIL - - - - Release: - Rilascio: - - - - - AMT - Q.TÀ - - - - - Modulation amount: - Quantità di modulazione: - - - - SPD - VEL - - - - Frequency: - Frequenza: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - moltiplica frequenza dell'LFO per 100 - - - - MODULATE ENV AMOUNT - MODULA QUANTITA' INVILUPPO - - - - Control envelope amount by this LFO - controlla la quantità di inviluppo con questo LFO - - - - ms/LFO: - ms/LFO: - - - - Hint - Suggerimento - - - - Drag and drop a sample into this window. - Trascina e rilascia un campione in questa finestra. - - - - EqControls - - - Input gain - Guadagno in input - - - - Output gain - Guadagno in output - - - - Low-shelf gain - Guadagno basse frequenze - - - - Peak 1 gain - Guadagno picco 1 - - - - Peak 2 gain - Guadagno picco 2 - - - - Peak 3 gain - Guadagno Picco 3 - - - - Peak 4 gain - Guadagno picco 4 - - - - High-shelf gain - Guadagno alte frequenze - - - - HP res - Ris Passa Alto - - - - Low-shelf res - Ris basse frequenze - - - - Peak 1 BW - LB Picco 1 - - - - Peak 2 BW - LB Picco 2 - - - - Peak 3 BW - LB Picco 3 - - - - Peak 4 BW - LB Picco 4 - - - - High-shelf res - Ris alte frequenze - - - - LP res - Ris Passa Basso - - - - HP freq - Freq Passa Alto - - - - Low-shelf freq - Freq basse frequenze - - - - Peak 1 freq - Frequenza picco 1 - - - - Peak 2 freq - Frequenza picco 2 - - - - Peak 3 freq - Frequenza picco 3 - - - - Peak 4 freq - Frequenza picco 4 - - - - High-shelf freq - Freq alte frequenze - - - - LP freq - Freq Passa Basso - - - - HP active - Attiva Passa Alto - - - - Low-shelf active - Attiva basse frequenze - - - - Peak 1 active - Attiva picco 1 - - - - Peak 2 active - Attiva picco 2 - - - - Peak 3 active - Attiva picco 3 - - - - Peak 4 active - Attiva picco 4 - - - - High-shelf active - Attiva alte frequenze - - - - LP active - Attiva Passa Basso - - - - LP 12 - Passa Basso 12 dB - - - - LP 24 - Passa Basso 24 dB - - - - LP 48 - Passa Basso 48 dB - - - - HP 12 - Passa Alto 12 dB - - - - HP 24 - Passa Alto 24 dB - - - - HP 48 - Passa Alto 48 dB - - - - Low-pass type - Tipo di passa basso - - - - High-pass type - Tipo di passa alto - - - - Analyse IN - Analizza Input - - - - Analyse OUT - Analizza Output - - - - EqControlsDialog - - - HP - PA - - - - Low-shelf - Basse frequenze (Low-shelf) - - - - Peak 1 - Picco 1 - - - - Peak 2 - Picco 2 - - - - Peak 3 - Picco 3 - - - - Peak 4 - Picco 4 - - - - High-shelf - Alte frequenze (High-shelf) - - - - LP - PB - - - - Input gain - Guadagno in input - - - - - - Gain - Guadagno - - - - Output gain - Guadagno in output - - - - Bandwidth: - Larghezza di banda: - - - - Octave - Ottave - - - - Resonance : - Risonanza: - - - - Frequency: - Frequenza: - - - - LP group - Gruppo PB - - - - HP group - Gruppo PA - - - - EqHandle - - - Reso: - Risonanza: - - - - BW: - Largh: - - - - - Freq: - Freq: - - ExportProjectDialog @@ -4730,3082 +2138,664 @@ Se non sei sicuro, lascialo su "Automatico". Sinc migliore (lento) - - Oversampling: - Sovracampionamento: - - - - 1x (None) - 1x (Nessuna) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Inizia - + Cancel Annulla - - - Could not open file - Non è stato possibile aprire il file - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Impossibile scrivere sul file %1. -Si prega di controllare i permessi di scrittura sul file e la cartella che lo contiene, e poi riprovare! - - - - Export project to %1 - Esporta il progetto in %1 - - - - ( Fastest - biggest ) - ( Più veloce - più grande ) - - - - ( Slowest - smallest ) - ( Più lento - più piccolo ) - - - - Error - Errore - - - - Error while determining file-encoder device. Please try to choose a different output format. - Si è verificato un errore nel tentativo di determinare il dispositivo per la codifica del file. Si prega di selezionare un formato differente. - - - - Rendering: %1% - Renderizzazione: %1% - - - - Fader - - - Set value - Imposta valore - - - - Please enter a new value between %1 and %2: - Inserire un valore compreso tra %1 e %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Browser - - - - Search - Cerca - - - - Refresh list - Aggiorna lista - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Sostituisci questo strumento alla traccia attiva - - - - Open containing folder - Apri cartella contenente - - - - Song Editor - Mostra/nascondi Editor brani - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Caricamento campione - - - - Please wait, loading sample for preview... - Attendere, stiamo caricando il file per l'anteprima... - - - - Error - Errore - - - - %1 does not appear to be a valid %2 file - %1 non sembra essere un file %2 valido - - - - --- Factory files --- - --- File di fabbrica --- - - - - FlangerControls - - - Delay samples - Campioni di delay - - - - LFO frequency - Frequenza LFO - - - - Seconds - Secondi - - - - Stereo phase - - - - - Regen - Regen - - - - Noise - Rumore - - - - Invert - Inverti - - - - FlangerControlsDialog - - - DELAY - RIT. - - - - Delay time: - Tempo di ritardo: - - - - RATE - FREQ. - - - - Period: - Periodo: - - - - AMNT - Q.TÀ - - - - Amount: - Quantità: - - - - PHASE - - - - - Phase: - - - - - FDBK - FDBK - - - - Feedback amount: - Quantità di feedback: - - - - NOISE - RUMORE - - - - White noise amount: - Quantità di rumore bianco: - - - - Invert - INVERTI - - - - FreeBoyInstrument - - - Sweep time - Tempo di sweep - - - - Sweep direction - Direzione sweep - - - - Sweep rate shift amount - Durata sweep - - - - - Wave pattern duty cycle - Pattern del duty cycle - - - - Channel 1 volume - Volume del canale 1 - - - - - - Volume sweep direction - Direzione sweep del volume - - - - - - Length of each step in sweep - Lunghezza di ogni passo nello sweep - - - - Channel 2 volume - Volume del canale 2 - - - - Channel 3 volume - Volume del canale 3 - - - - Channel 4 volume - Volume del canale 4 - - - - Shift Register width - Ampiezza spostamento del registro - - - - Right output level - Volume uscita destra - - - - Left output level - Volume uscita sinistra - - - - Channel 1 to SO2 (Left) - Canale 1 a SO2 (sinistra) - - - - Channel 2 to SO2 (Left) - Canale 2 a SO2 (sinistra) - - - - Channel 3 to SO2 (Left) - Canale 3 a SO2 (sinistra) - - - - Channel 4 to SO2 (Left) - Canale 4 a SO2 (sinistra) - - - - Channel 1 to SO1 (Right) - Canale 1 a SO1 (destra) - - - - Channel 2 to SO1 (Right) - Canale 2 a SO1 (destra) - - - - Channel 3 to SO1 (Right) - Canale 3 a SO1 (destra) - - - - Channel 4 to SO1 (Right) - Canale 4 a SO1 (destra) - - - - Treble - Alti - - - - Bass - Bassi - - - - FreeBoyInstrumentView - - - Sweep time: - Tempo di sweep: - - - - Sweep time - Tempo di sweep - - - - Sweep rate shift amount: - Velocità sweep: - - - - Sweep rate shift amount - Durata sweep - - - - - Wave pattern duty cycle: - Pattern del duty cycle: - - - - - Wave pattern duty cycle - Pattern del duty cycle - - - - Square channel 1 volume: - Volume canale onda quadra 1: - - - - Square channel 1 volume - Volume canale onda quadra 1 - - - - - - Length of each step in sweep: - Lunghezza di ogni passo nello sweep: - - - - - - Length of each step in sweep - Lunghezza di ogni passo nello sweep - - - - Square channel 2 volume: - Volume canale onda quadra 2: - - - - Square channel 2 volume - Volume canale onda quadra 2 - - - - Wave pattern channel volume: - Volume canale pattern: - - - - Wave pattern channel volume - Volume canale pattern - - - - Noise channel volume: - Volume canale rumore: - - - - Noise channel volume - Volume canale rumore - - - - SO1 volume (Right): - Volume SO1 (Destra): - - - - SO1 volume (Right) - Volume SO1 (Destra) - - - - SO2 volume (Left): - Volume SO2 (Sinistra): - - - - SO2 volume (Left) - Volume SO2 (Sinistra) - - - - Treble: - Alti: - - - - Treble - Alti - - - - Bass: - Bassi: - - - - Bass - Bassi - - - - Sweep direction - Direzione sweep - - - - - - - - Volume sweep direction - Direzione sweep del volume - - - - Shift register width - Sposta la larghezza del registro - - - - Channel 1 to SO1 (Right) - Canale 1 a SO1 (destra) - - - - Channel 2 to SO1 (Right) - Canale 2 a SO1 (destra) - - - - Channel 3 to SO1 (Right) - Canale 3 a SO1 (destra) - - - - Channel 4 to SO1 (Right) - Canale 4 a SO1 (destra) - - - - Channel 1 to SO2 (Left) - Canale 1 a SO2 (sinistra) - - - - Channel 2 to SO2 (Left) - Canale 2 a SO2 (sinistra) - - - - Channel 3 to SO2 (Left) - Canale 3 a SO2 (sinistra) - - - - Channel 4 to SO2 (Left) - Canale 4 a SO2 (sinistra) - - - - Wave pattern graph - Grafico del modello d'onda - - - - MixerChannelView - - - Channel send amount - Quantità di segnale inviata dal canale - - - - Move &left - Sposta a &sinistra - - - - Move &right - Sposta a $destra - - - - Rename &channel - Rinomina &canale - - - - R&emove channel - R&imuovi canale - - - - Remove &unused channels - Rimuovi canali in&utilizzati - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Assegna a: - - - - New mixer Channel - Nuovo canale FX - - - - Mixer - - - Master - Principale - - - - - - Channel %1 - FX %1 - - - - Volume - Volume - - - - Mute - Silenziato - - - - Solo - Solo - - - - MixerView - - - Mixer - Mixer FX - - - - Fader %1 - Volume FX %1 - - - - Mute - Silenziato - - - - Mute this mixer channel - Silenzia questo canale FX - - - - Solo - Solo - - - - Solo mixer channel - Canale solo FX - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Quantità da mandare dal canale %1 al canale %2 - - - - GigInstrument - - - Bank - Banco - - - - Patch - Patch - - - - Gain - Guadagno - - - - GigInstrumentView - - - - Open GIG file - Apri file GIG - - - - Choose patch - Scegli patch - - - - Gain: - Guadagno: - - - - GIG Files (*.gig) - Files GIG (*.gig) - - - - GuiApplication - - - Working directory - Cartella di lavoro - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - La cartella di lavoro di LMMS %1 non esiste: Crearla ora? Questa cartella può essere cambiata in un secondo momento dal menu Modifica -> Impostazioni. - - - - Preparing UI - Caricamento interfaccia - - - - Preparing song editor - Caricamento song editor - - - - Preparing mixer - Caricamento mixer - - - - Preparing controller rack - Caricamento rack controller - - - - Preparing project notes - Caricamento note progetto - - - - Preparing beat/bassline editor - Caricamento editor beat/bassline - - - - Preparing piano roll - Caricamento Piano Roll - - - - Preparing automation editor - Caricamento editor di automazione - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Tipo arpeggio - - - - Arpeggio range - Estensione arpeggio - - - - Note repeats - - - - - Cycle steps - Note cicliche - - - - Skip rate - Frequanza salto - - - - Miss rate - Tasso mancante - - - - Arpeggio time - Tempo arpeggio - - - - Arpeggio gate - Ingresso arpeggio - - - - Arpeggio direction - Direzione arpeggio - - - - Arpeggio mode - Modo arpeggio - - - - Up - Su - - - - Down - Giù - - - - Up and down - Su e giù - - - - Down and up - Giù e su - - - - Random - Casuale - - - - Free - Libero - - - - Sort - Ordinamento - - - - Sync - Sincronizzato - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - ESTENSIONE - - - - Arpeggio range: - Estenzione arpeggio: - - - - octave(s) - ottava(e) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - CICLO - - - - Cycle notes: - Note cicliche: - - - - note(s) - nota(e) - - - - SKIP - SALTA - - - - Skip rate: - Frequanza salto: - - - - - - % - % - - - - MISS - MANCANTE - - - - Miss rate: - Tasso mancante: - - - - TIME - TEMPO - - - - Arpeggio time: - Tempo arpeggio: - - - - ms - ms - - - - GATE - INGRESSO - - - - Arpeggio gate: - Ingresso arpeggio: - - - - Chord: - Tipo di arpeggio: - - - - Direction: - Direzione: - - - - Mode: - Modo: - InstrumentFunctionNoteStacking - + octave ottava - - + + Major Maggiore - + Majb5 Majb5 - + minor minore - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri triade - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Minore armonica - + Melodic minor Minore melodica - + Whole tone Toni interi - + Diminished Diminuita - + Major pentatonic Pentatonica maggiore - + Minor pentatonic Pentatonica minore - + Jap in sen Jap in sen - + Major bebop Bebop maggiore - + Dominant bebop Bebop dominante - + Blues Blues - + Arabic Araba - + Enigmatic Enigmatica - + Neopolitan Napoletana - + Neopolitan minor Napoletana minore - + Hungarian minor Ungherese minore - + Dorian Dorica - + Phrygian Frigia - + Lydian Lidia - + Mixolydian Misolidia - + Aeolian Eolia - + Locrian Locria - + Minor Minore - + Chromatic Cromatica - + Half-Whole Diminished Diminuita semitono-tono - + 5 Quinta - + Phrygian dominant Frigia dominante - + Persian Persiana - - - Chords - Accordi - - - - Chord type - Tipo di accordo - - - - Chord range - Ampiezza dell'accordo - - - - InstrumentFunctionNoteStackingView - - - STACKING - ACCORDI - - - - Chord: - Tipo di accordo: - - - - RANGE - AMPIEZZA - - - - Chord range: - Ampiezza degli accordi: - - - - octave(s) - ottava(e) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - ABILITA INGRESSO MIDI - - - - ENABLE MIDI OUTPUT - ABILITA USCITA MIDI - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTA - - - - MIDI devices to receive MIDI events from - Periferica MIDI da cui ricevere segnali MIDi - - - - MIDI devices to send MIDI events to - Periferica MIDI a cui mandare segnali MIDI - - - - CUSTOM BASE VELOCITY - VELOCITY BASE PERSONALIZZATA - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Specifica la base di normalizzazione della velocity per strumenti MIDI al 100% della velocity della nota. - - - - BASE VELOCITY - VELOCITY BASE - - - - InstrumentTuningView - - - MASTER PITCH - TRASPORTO - - - - Enables the use of master pitch - Abilita l'uso del trasporto principale - InstrumentSoundShaping - + VOLUME VOLUME - + Volume Volume - + CUTOFF CUTOFF - - + Cutoff frequency Frequenza di taglio - + RESO RISO - + Resonance Risonanza - - - Envelopes/LFOs - Envelope/LFO - - - - Filter type - Tipo di filtro - - - - Q/Resonance - Q/Risonanza - - - - Low-pass - Passa-basso - - - - Hi-pass - Passa-alto - - - - Band-pass csg - Passa-banda csg - - - - Band-pass czpg - Passa-banda czpg - - - - Notch - Notch - - - - All-pass - Passa-tutto - - - - Moog - Moog - - - - 2x Low-pass - Passa-basso 2x - - - - RC Low-pass 12 dB/oct - Passa-basso RC 12 dB/ott - - - - RC Band-pass 12 dB/oct - Passa-banda RC 12 dB/ott - - - - RC High-pass 12 dB/oct - Passa-alto RC 12 dB/ott - - - - RC Low-pass 24 dB/oct - Passa-basso RC 24 dB/ott - - - - RC Band-pass 24 dB/oct - Passa-banda RC 24 dB/ott - - - - RC High-pass 24 dB/oct - Passa-alto RC 24 dB/ott - - - - Vocal Formant - Formante Vocale - - - - 2x Moog - 2x Moog - - - - SV Low-pass - Passa-basso SV - - - - SV Band-pass - Passa-banda SV - - - - SV High-pass - Passa-alto SV - - - - SV Notch - Notch SV - - - - Fast Formant - Formante veloce - - - - Tripole - Tre poli - - InstrumentSoundShapingView + JackAppDialog - - TARGET - OBIETTIVO + + Add JACK Application + Aggiungi applicazione JACK - - FILTER - FILTRO + + Note: Features not implemented yet are greyed out + Nota: le funzionalità non ancora implementate sono disattivate - - FREQ - FREQ + + Application + Applicazione - - Cutoff frequency: - Frequenza di taglio: + + Name: + Nome: - - Hz - Hz + + Application: + Applicazione: - - Q/RESO - Q/RISO + + From template + Dal modello - - Q/Resonance: - Q/Risonanza: + + Custom + Personalizza - - Envelopes, LFOs and filters are not supported by the current instrument. - Gli inviluppi, gli LFO e i filtri non sono supportati dallo strumento corrente. - - - - InstrumentTrack - - - - unnamed_track - traccia_senza_nome + + Template: + Modello: - - Base note - Nota base + + Command: + Comando: - - First note + + Setup - - Last note - Ultima nota - - - - Volume - Volume - - - - Panning - Panning - - - - Pitch - Altezza - - - - Pitch range - Estenzione dell'altezza - - - - Mixer channel - Canale FX - - - - Master pitch - Altezza principale - - - - Enable/Disable MIDI CC + + Session Manager: - - CC Controller %1 + + None - - - Default preset - Impostazioni predefinite - - - - InstrumentTrackView - - - Volume - Volume + + Audio inputs: + Audio ingresso: - - Volume: - Volume: + + MIDI inputs: + MIDI ingresso: - - VOL - VOL + + Audio outputs: + Audio uscita: - - Panning - Panning + + MIDI outputs: + MIDI uscita: - - Panning: - Panning: + + Take control of main application window + Prendi il controllo della principale finestra di applicazione - - PAN - PAN + + Workarounds + Soluzioni alternative - - MIDI - MIDI + + Wait for external application start (Advanced, for Debug only) + Attendi l'avvio di un'applicazione esterna (avanzato, solo per debug) - - Input - Ingresso - - - - Output - Uscita - - - - Open/Close MIDI CC Rack + + Capture only the first X11 Window - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - IMPOSTAZIONI GENERALI + + Use previous client output buffer as input for the next client + - - Volume - Volume + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + Simula 16 MIDI JACK uscite, con canale MIDI come indice di porta - - Volume: - Volume: + + Error here + Errore qui - - VOL - VOL - - - - Panning - Panning - - - - Panning: - Panning: - - - - PAN - PAN - - - - Pitch - Altezza - - - - Pitch: - Altezza: - - - - cents - centesimi - - - - PITCH - ALTEZZA - - - - Pitch range (semitones) - Ampiezza dell'altezza (in semitoni) - - - - RANGE - AMPIEZZA - - - - Mixer channel - Canale FX - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file - Salva le impostazioni di questa traccia in un file preset - - - - SAVE - SALVA - - - - Envelope, filter & LFO - Inviluppo, filtro e LFO - - - - Chord stacking & arpeggio - Accordi e arpeggi - - - - Effects - Effetti - - - - MIDI - MIDI - - - - Miscellaneous - Varie - - - - Save preset - Salva il preset - - - - XML preset file (*.xpf) - File di preset XML (*.xpf) - - - - Plugin - Plugin - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - Le applicazioni NSM non possono utilizzare percorsi astratti o assoluti + Le applicazioni NSM non possono usare percorsi astratti o assoluti - + NSM applications cannot use CLI arguments Le applicazioni NSM non possono usare argomenti CLI - + You need to save the current Carla project before NSM can be used - È necessario salvare l'attuale progetto Carla prima di poter utilizzare NSM + È necessario salvare l'attuale progetto di Carla prima di poter utilizzare NSM JuceAboutW - - About JUCE - Informazioni su JUCE - - - - <b>About JUCE</b> - <b>Informazioni su JUCE</b> - - - - This program uses JUCE version 3.x.x. - Questo programma utilizza JUCE versione 3.x.x. - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - JUCE (Jules 'Utility Class Extensions) è una libreria di classi C ++ onnicomprensiva per lo sviluppo di software multipiattaforma. - -Contiene praticamente tutto il necessario per creare la maggior parte delle applicazioni ed è particolarmente adatto per la creazione di GUI altamente personalizzate e per la gestione di grafica e audio. - -JUCE è concesso in licenza con GNU Public License versione 2.0. -Un modulo (juce_core) è autorizzato in base all'ISC. - -Copyright (C) 2017 ROLI Ltd. - - - + This program uses JUCE version %1. Questo programma utilizza la versione JUCE % 1. - - Knob - - - Set linear - Modalità lineare - - - - Set logarithmic - Modalità logaritmica - - - - - Set value - Imposta valore - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Inserire un nuovo valore tra -96.0 dBFS e 6.0 dBFS: - - - - Please enter a new value between %1 and %2: - Inserire un valore compreso tra %1 e %2: - - - - LadspaControl - - - Link channels - Abbina i canali - - - - LadspaControlDialog - - - Link Channels - Canali abbinati - - - - Channel - Canale - - - - LadspaControlView - - - Link channels - Abbina i canali - - - - Value: - Valore: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Il plugin LADSPA %1 richiesto è sconosciuto. - - - - LcdFloatSpinBox - - - Set value - Imposta valore - - - - Please enter a new value between %1 and %2: - Inserire un valore compreso tra %1 e %2: - - - - LcdSpinBox - - - Set value - Imposta valore - - - - Please enter a new value between %1 and %2: - Inserire un valore compreso tra %1 e %2: - - - - LeftRightNav - - - - - Previous - Precedente - - - - - - Next - Successivo - - - - Previous (%1) - Precedente (%1) - - - - Next (%1) - Successivo (%1) - - - - LfoController - - - LFO Controller - Controller dell'LFO - - - - Base value - Valore di base - - - - Oscillator speed - Velocità dell'oscillatore - - - - Oscillator amount - Quantità di oscillatore - - - - Oscillator phase - Fase dell'oscillatore - - - - Oscillator waveform - Forma d'onda dell'oscillatore - - - - Frequency Multiplier - Moltiplicatore della frequenza - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - Base: - - - - FREQ - FREQ - - - - LFO frequency: - Frequenza LFO: - - - - AMNT - Q.TÀ - - - - Modulation amount: - Quantità di modulazione: - - - - PHS - FASE - - - - Phase offset: - Scostamento della fase: - - - - degrees - gradi - - - - Sine wave - Onda sinusoidale - - - - Triangle wave - Onda triangolare - - - - Saw wave - Onda a dente di sega - - - - Square wave - Onda quadra - - - - Moog saw wave - Onda Moog - - - - Exponential wave - Onda esponenziale - - - - White noise - Rumore bianco - - - - User-defined shape. -Double click to pick a file. - Forma personalizzata. -Fai doppio click per scegliere un file. - - - - Mutliply modulation frequency by 1 - Moltiplica la frequenza di modulazione per 1 - - - - Mutliply modulation frequency by 100 - Moltiplica la frequenza di modulazione per 100 - - - - Divide modulation frequency by 100 - Dividi la frequenza di modulazione per 100 - - - - Engine - - - Generating wavetables - Generazione di tabelle d'onda - - - - Initializing data structures - Inizializzazione strutture dati - - - - Opening audio and midi devices - Accesso ai dispositivi audio e midi - - - - Launching mixer threads - Avviamento threads del mixer - - - - MainWindow - - - Configuration file - File di configurazione - - - - Error while parsing configuration file at line %1:%2: %3 - Si è riscontrato un errore nell'analisi del file di configurazione alle linee %1:%2: %3 - - - - Could not open file - Non è stato possibile aprire il file - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Impossibile scrivere sul file %1. -Si prega di controllare i permessi di scrittura sul file e la cartella che lo contiene, e poi riprovare! - - - - Project recovery - Recupero del progetto - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - E' stato trovato un file di riserva. Questo accade se la sessione precedente non è stata chiusa in modo appropriato o un'altra istanza di LMMS è già in esecuzione. Recuperare il progetto di questa sessione? - - - - - Recover - Recupera - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Recupera il file. Non usare instanze multiple di LMMS quando effettui il recupero. - - - - - Discard - Elimina - - - - Launch a default session and delete the restored files. This is not reversible. - Avvia una sessione predefinita ed elimina i file ripristinati. Questo azione non è reversibile. - - - - Version %1 - Versione %1 - - - - Preparing plugin browser - Caricamento plugin del browser - - - - Preparing file browsers - Caricamento file del browser - - - - My Projects - I miei Progetti - - - - My Samples - I miei Campioni - - - - My Presets - I miei Modelli - - - - My Home - Percorsi di Lavoro - - - - Root directory - Percorso principale - - - - Volumes - Volumi - - - - My Computer - Computer - - - - &File - &File - - - - &New - &Nuovo - - - - &Open... - &Apri... - - - - Loading background picture - Caricamento immagine di sfondo - - - - &Save - &Salva - - - - Save &As... - Salva &come... - - - - Save as New &Version - Salva come nuova &versione - - - - Save as default template - Salva come modello predefinito - - - - Import... - Importa... - - - - E&xport... - E&sporta... - - - - E&xport Tracks... - E&sporta tracce... - - - - Export &MIDI... - Esporta &MIDI... - - - - &Quit - &Esci - - - - &Edit - &Modifica - - - - Undo - Annulla - - - - Redo - Ripeti - - - - Settings - Impostazioni - - - - &View - &Visualizza - - - - &Tools - S&trumenti - - - - &Help - &Aiuto - - - - Online Help - Aiuto Online - - - - Help - Aiuto - - - - About - Informazioni su - - - - Create new project - Crea nuovo progetto - - - - Create new project from template - Crea nuovo progetto da modello - - - - Open existing project - Apri progetto esistente - - - - Recently opened projects - Progetti aperti di recente - - - - Save current project - Salva questo progetto - - - - Export current project - Esporta questo progetto - - - - Metronome - Metronomo - - - - - Song Editor - Mostra/nascondi Editor brani - - - - - Beat+Bassline Editor - Editor Beat+Bassline - - - - - Piano Roll - Mostra/nascondi il Piano-Roll - - - - - Automation Editor - Mostra/nascondi Editor automazione - - - - - Mixer - Mostra/nascondi mixer effetti - - - - Show/hide controller rack - Mostra/nascondi il rack di controller - - - - Show/hide project notes - Mostra/nascondi note del progetto - - - - Untitled - Senza_nome - - - - Recover session. Please save your work! - Sessione di recupero. Salva al più presto! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Progetto recuperato non salvato - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Il progetto è stato recuperato dalla sessione precedente. Attualmente non è stato salvato. Vuoi salvarlo adesso per evitare di perderlo? - - - - Project not saved - Progetto non salvato - - - - The current project was modified since last saving. Do you want to save it now? - Questo progetto è stato modificato dopo l'ultimo salvataggio. Vuoi salvarlo adesso? - - - - Open Project - Apri Progetto - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Salva Progetto - - - - LMMS Project - Progetto LMMS - - - - LMMS Project Template - Modello di Progetto LMMS - - - - Save project template - Salva come modello di progetto - - - - Overwrite default template? - Sovrascrivere il progetto default? - - - - This will overwrite your current default template. - In questo modo verrà modificato il tuo progetto di default corrente. - - - - Help not available - Aiuto non disponibile - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Al momento non è disponibile alcun aiuto in LMMS. -Visitare http://lmms.sf.net/wiki per la documentazione di LMMS. - - - - Controller Rack - Mostra/nascondi il rack di controller - - - - Project Notes - Mostra/nascondi le note del progetto - - - - Fullscreen - - - - - Volume as dBFS - Volume in dBFS - - - - Smooth scroll - Scorrimento morbido - - - - Enable note labels in piano roll - Abilita l'etichetta delle note nel piano roll - - - - MIDI File (*.mid) - File MIDI (*.mid) - - - - - untitled - senza_nome - - - - - Select file for project-export... - Scegliere il file per l'esportazione del progetto... - - - - Select directory for writing exported tracks... - Seleziona una directory per le tracce esportate... - - - - Save project - Salva progetto - - - - Project saved - Progeto salvato - - - - The project %1 is now saved. - Il progetto %1 è stato salvato. - - - - Project NOT saved. - Il progetto NON è stato salvato. - - - - The project %1 was not saved! - Il progetto %1 non è stato salvato! - - - - Import file - Importa file - - - - MIDI sequences - Sequenze MIDI - - - - Hydrogen projects - Progetti Hydrogen - - - - All file types - Tutti i tipi di file - - - - MeterDialog - - - - Meter Numerator - Numeratore della misura - - - - Meter numerator - Numeratore misura - - - - - Meter Denominator - Denominatore della misura - - - - Meter denominator - Denominatore misura - - - - TIME SIG - TEMPO - - - - MeterModel - - - Numerator - Numeratore - - - - Denominator - Denominatore - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Controller MIDI - - - - unnamed_midi_controller - controller_midi_senza_nome - - - - MidiImport - - - - Setup incomplete - Impostazioni incomplete - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Non hai impostato un soundfont predefinito nella finestra di dialogo delle impostazioni (Modifica-> Impostazioni). Pertanto, nessun suono verrà riprodotto dopo aver importato questo file MIDI. È necessario scaricare un General MIDI, specificarlo nella finestra di dialogo delle impostazioni e riprovare. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Non hai compilato LMMS con il supporto per SoundFont2 Player, che viene usato per aggiungere suoni predefiniti ai file MIDI importati. Quindi, nessun suono verrà riprodotto dopo aver aperto questo file MIDI. - - - - MIDI Time Signature Numerator - Numeratore indicazione del tempo MIDI - - - - MIDI Time Signature Denominator - Denominatore indicazione del tempo MIDI - - - - Numerator - Numeratore - - - - Denominator - Denominatore - - - - Track - Traccia - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - Il server JACK è down - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Il server JACK sembra spento. - - MidiPatternW @@ -8011,2731 +3001,370 @@ Visitare http://lmms.sf.net/wiki per la documentazione di LMMS. &Esci - + + Esc + Esc + + + &Insert Mode &Modo Inserimento - + F F - + &Velocity Mode &Modo Velocity - + D Re - + Select All Seleziona tutto - + A La - - MidiPort - - - Input channel - Canale di ingresso - - - - Output channel - Canale di uscita - - - - Input controller - Controller in entrata - - - - Output controller - Controller in uscita - - - - Fixed input velocity - Velocity fissa in ingresso - - - - Fixed output velocity - Velocity fissa in uscita - - - - Fixed output note - Nota fissa in uscita - - - - Output MIDI program - Programma MIDI in uscita - - - - Base velocity - Velocity base - - - - Receive MIDI-events - Ricevi eventi MIDI - - - - Send MIDI-events - Invia eventi MIDI - - - - MidiSetupWidget - - - Device - Dispositivo - - - - MonstroInstrument - - - Osc 1 volume - Volume osc 1 - - - - Osc 1 panning - Bilanciamento osc 1 - - - - Osc 1 coarse detune - Intonazione al semitono osc 1 - - - - Osc 1 fine detune left - Intonazione precisa osc 1 sinistro - - - - Osc 1 fine detune right - Intonazione precisa osc 1 destro - - - - Osc 1 stereo phase offset - Spostamento di fase osc 1 - - - - Osc 1 pulse width - Larghezza impulso osc 1 - - - - Osc 1 sync send on rise - Manda sync alla salita osc 1 - - - - Osc 1 sync send on fall - Manda sync alla discesa osc 1 - - - - Osc 2 volume - Volume osc 2 - - - - Osc 2 panning - Bilanciamento osc 2 - - - - Osc 2 coarse detune - Intonazione al semitono osc 2 - - - - Osc 2 fine detune left - Intonazione precisa osc 2 sinistro - - - - Osc 2 fine detune right - Intonazione precisa osc 2 destro - - - - Osc 2 stereo phase offset - Spostamento di fase osc 2 - - - - Osc 2 waveform - Forma d'onda osc 2 - - - - Osc 2 sync hard - Sync hard osc 2 - - - - Osc 2 sync reverse - Sync inverso osc 2 - - - - Osc 3 volume - Volume osc 3 - - - - Osc 3 panning - Bilanciamento osc 3 - - - - Osc 3 coarse detune - Intonazione al semitono osc 3 - - - - Osc 3 Stereo phase offset - Osc 3 Spostamento di fase stereo - - - - Osc 3 sub-oscillator mix - Missaggio sub-oscillatori di Osc 3 - - - - Osc 3 waveform 1 - Forma d'onda 1 osc 3 - - - - Osc 3 waveform 2 - Forma d'onda 2 osc 3 - - - - Osc 3 sync hard - Sync hard osc 3 - - - - Osc 3 Sync reverse - Sync inverso osc 3 - - - - LFO 1 waveform - Forma d'onda LFO 1 - - - - LFO 1 attack - Attacco LFO 1 - - - - LFO 1 rate - Periodo LFO 1 - - - - LFO 1 phase - Fase LFO 1 - - - - LFO 2 waveform - Forma d'onda LFO 2 - - - - LFO 2 attack - Attacco LFO 2 - - - - LFO 2 rate - Periodo LFO 2 - - - - LFO 2 phase - Fase LFO 2 - - - - Env 1 pre-delay - Pre-ritardo inv 1 - - - - Env 1 attack - Attacco inv 1 - - - - Env 1 hold - Mantenimento inv 1 - - - - Env 1 decay - Decadimento inv 1 - - - - Env 1 sustain - Sostegno inv 1 - - - - Env 1 release - Rilascio inv 1 - - - - Env 1 slope - Curvatura inv 1 - - - - Env 2 pre-delay - Pre-ritardo inv 2 - - - - Env 2 attack - Attacco inv 2 - - - - Env 2 hold - Mantenimento inv 2 - - - - Env 2 decay - Decadimento inv 2 - - - - Env 2 sustain - Sostegno inv 2 - - - - Env 2 release - Rilascio inv 2 - - - - Env 2 slope - Curvatura inv 2 - - - - Osc 2+3 modulation - Modulazione osc 2+3 - - - - Selected view - Seleziona vista - - - - Osc 1 - Vol env 1 - Osc 1 - Vol inv 1 - - - - Osc 1 - Vol env 2 - Osc 1 - Vol inv 2 - - - - Osc 1 - Vol LFO 1 - Osc 1 - Vol LFO 1 - - - - Osc 1 - Vol LFO 2 - Osc 1 - Vol LFO 2 - - - - Osc 2 - Vol env 1 - Osc 2 - Vol inv 1 - - - - Osc 2 - Vol env 2 - Osc 2 - Vol inv 2 - - - - Osc 2 - Vol LFO 1 - Osc 2 - Vol LFO 1 - - - - Osc 2 - Vol LFO 2 - Osc 2 - Vol LFO 2 - - - - Osc 3 - Vol env 1 - Osc 3 - Vol inv 1 - - - - Osc 3 - Vol env 2 - Osc 3 - Vol inv 2 - - - - Osc 3 - Vol LFO 1 - Osc 3 - Vol LFO 1 - - - - Osc 3 - Vol LFO 2 - Osc 3 - Vol LFO 2 - - - - Osc 1 - Phs env 1 - Osc 1 - Fas inv 1 - - - - Osc 1 - Phs env 2 - Osc 1 - Fas inv 2 - - - - Osc 1 - Phs LFO 1 - Osc 1 - Fas LFO 1 - - - - Osc 1 - Phs LFO 2 - Osc 1 - Fas LFO 2 - - - - Osc 2 - Phs env 1 - Osc 2 - Fas inv 1 - - - - Osc 2 - Phs env 2 - Osc 2 - Fas inv 2 - - - - Osc 2 - Phs LFO 1 - Osc 2 - Fas LFO 1 - - - - Osc 2 - Phs LFO 2 - Osc 2 - Fas LFO 2 - - - - Osc 3 - Phs env 1 - Osc 3 - Fas inv 1 - - - - Osc 3 - Phs env 2 - Osc 3 - Fas inv 2 - - - - Osc 3 - Phs LFO 1 - Osc 3 - Fas LFO 1 - - - - Osc 3 - Phs LFO 2 - Osc 3 - Fas LFO 2 - - - - Osc 1 - Pit env 1 - Osc 1 - Alt inv 1 - - - - Osc 1 - Pit env 2 - Osc 1 - Alt inv 2 - - - - Osc 1 - Pit LFO 1 - Osc 1 - Alt LFO 1 - - - - Osc 1 - Pit LFO 2 - Osc 1 - Alt LFO 2 - - - - Osc 2 - Pit env 1 - Osc 2 - Alt inv 1 - - - - Osc 2 - Pit env 2 - Osc 2 - Alt inv 2 - - - - Osc 2 - Pit LFO 1 - Osc 2 - Alt LFO 1 - - - - Osc 2 - Pit LFO 2 - Osc 2 - Alt LFO 2 - - - - Osc 3 - Pit env 1 - Osc 3 - Alt inv 1 - - - - Osc 3 - Pit env 2 - Osc 3 - Alt inv 2 - - - - Osc 3 - Pit LFO 1 - Osc 3 - Alt LFO 1 - - - - Osc 3 - Pit LFO 2 - Osc 3 - Alt LFO 2 - - - - Osc 1 - PW env 1 - Osc 1 - LI inv 1 - - - - Osc 1 - PW env 2 - Osc 1 - LI inv 2 - - - - Osc 1 - PW LFO 1 - Osc 1 - LI LFO 1 - - - - Osc 1 - PW LFO 2 - Osc 1 - LI LFO 2 - - - - Osc 3 - Sub env 1 - Osc 3 - Sub inv 1 - - - - Osc 3 - Sub env 2 - Osc 3 - Sub inv 2 - - - - Osc 3 - Sub LFO 1 - Osc 3 - Sub LFO 1 - - - - Osc 3 - Sub LFO 2 - Osc 3 - Sub LFO 2 - - - - - Sine wave - Onda sinusoidale - - - - Bandlimited Triangle wave - Onda triangolare limitata - - - - Bandlimited Saw wave - Onda a dente di sega limitata - - - - Bandlimited Ramp wave - Onda a rampa limitata - - - - Bandlimited Square wave - Onda quadra limitata - - - - Bandlimited Moog saw wave - Onda Moog limitata - - - - - Soft square wave - Onda quadra morbida - - - - Absolute sine wave - Onda sinusoidale assoluta - - - - - Exponential wave - Onda esponenziale - - - - White noise - Rumore bianco - - - - Digital Triangle wave - Onda triangolare digitale - - - - Digital Saw wave - Onda a dente di sega digitale - - - - Digital Ramp wave - Onda a rampa digitale - - - - Digital Square wave - Onda quadra digitale - - - - Digital Moog saw wave - Onda Moog digitale - - - - Triangle wave - Onda triangolare - - - - Saw wave - Onda a dente di sega - - - - Ramp wave - Onda a rampa - - - - Square wave - Onda quadra - - - - Moog saw wave - Onda Moog - - - - Abs. sine wave - Sinusoide Ass. - - - - Random - Casuale - - - - Random smooth - Casuale morbida - - - - MonstroView - - - Operators view - Vista operatori - - - - Matrix view - Vista Matrice - - - - - - Volume - Volume - - - - - - Panning - Bilanciamento - - - - - - Coarse detune - Intonazione grezza - - - - - - semitones - semitoni - - - - - Fine tune left - Intonazione precisa sinistra - - - - - - - cents - centesimi - - - - - Fine tune right - Intonazione precisa destra - - - - - - Stereo phase offset - Spostamento di fase stereo - - - - - - - - deg - gradi - - - - Pulse width - Larghezza impulso - - - - Send sync on pulse rise - Manda sincro alle salite - - - - Send sync on pulse fall - Manda sincro alle discese - - - - Hard sync oscillator 2 - Sincro Duro oscillatore 2 - - - - Reverse sync oscillator 2 - Sincro Inverso oscillatore 2 - - - - Sub-osc mix - Missaggio Sub-osc - - - - Hard sync oscillator 3 - Sincro Duro oscillatore 3 - - - - Reverse sync oscillator 3 - Sincro Inverso oscillatore 3 - - - - - - - Attack - Attacco - - - - - Rate - Periodo - - - - - Phase - Fase - - - - - Pre-delay - Pre-ritardo - - - - - Hold - Mantenimento - - - - - Decay - Decadimento - - - - - Sustain - Sostegno - - - - - Release - Rilascio - - - - - Slope - Curvatura - - - - Mix osc 2 with osc 3 - Somma osc 2 e osc 3 - - - - Modulate amplitude of osc 3 by osc 2 - Modula ampiezza di osc 3 con osc 2 - - - - Modulate frequency of osc 3 by osc 2 - Modula frequenza di osc 3 con osc 2 - - - - Modulate phase of osc 3 by osc 2 - Modula fase di osc 3 con osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Quantità di modulazione: - - - - MultitapEchoControlDialog - - - Length - Lunghezza - - - - Step length: - Durata degli step: - - - - Dry - Dry - - - - Dry gain: - Guadagno senza effetto: - - - - Stages - Fasi - - - - Low-pass stages: - Fasi del passa-basso: - - - - Swap inputs - Scambia input - - - - Swap left and right input channels for reflections - Scambia i canali destro e sinistro per le ripetizioni - - - - NesInstrument - - - Channel 1 coarse detune - Intonazione al semitono canale 1 - - - - Channel 1 volume - Volume del canale 1 - - - - Channel 1 envelope length - Lunghezza inviluppo canale 1 - - - - Channel 1 duty cycle - Duty cycle canale 1 - - - - Channel 1 sweep amount - Larghezza glissando canale 1 - - - - Channel 1 sweep rate - Velocità glissando canale 1 - - - - Channel 2 Coarse detune - Intonazione grezza Canale 2 - - - - Channel 2 Volume - Volume Canale 2 - - - - Channel 2 envelope length - Lunghezza inviluppo canale 2 - - - - Channel 2 duty cycle - Duty cycle canale 2 - - - - Channel 2 sweep amount - Larghezza glissando canale 2 - - - - Channel 2 sweep rate - Velocità glissando canale 2 - - - - Channel 3 coarse detune - Intonazione al semitono canale 3 - - - - Channel 3 volume - Volume del canale 3 - - - - Channel 4 volume - Volume del canale 4 - - - - Channel 4 envelope length - Lunghezza inviluppo canale 4 - - - - Channel 4 noise frequency - Frequenza rumore canale 4 - - - - Channel 4 noise frequency sweep - Glissando rumore canale 4 - - - - Master volume - Volume principale - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Volume - - - - - - Coarse detune - Intonazione grezza - - - - - - Envelope length - Lunghezza inviluppo - - - - Enable channel 1 - Abilita canale 1 - - - - Enable envelope 1 - Abilita inviluppo 1 - - - - Enable envelope 1 loop - Abilita ripetizione inviluppo 1 - - - - Enable sweep 1 - Abilita glissando 1 - - - - - Sweep amount - Profondità glissando - - - - - Sweep rate - Durata glissando - - - - - 12.5% Duty cycle - 12.5% del periodo - - - - - 25% Duty cycle - 25% del periodo - - - - - 50% Duty cycle - 50% del periodo - - - - - 75% Duty cycle - 75% del periodo - - - - Enable channel 2 - Abilita canale 2 - - - - Enable envelope 2 - Abilita inviluppo 2 - - - - Enable envelope 2 loop - Abilita ripetizione inviluppo 2 - - - - Enable sweep 2 - Abilita glissando 2 - - - - Enable channel 3 - Abilita canale 3 - - - - Noise Frequency - Frequenza rumore - - - - Frequency sweep - Glissando - - - - Enable channel 4 - Abilita canale 4 - - - - Enable envelope 4 - Abilita inviluppo 4 - - - - Enable envelope 4 loop - Abilita ripetizione inviluppo 4 - - - - Quantize noise frequency when using note frequency - Quantizza la frequenza del rumore, se relativa alla nota - - - - Use note frequency for noise - La frequenza del rumore è relativa alla nota suonata - - - - Noise mode - Modalità rumore - - - - Master volume - Volume principale - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Programma - - - - Op 1 attack - Attacco op 1 - - - - Op 1 decay - Decadimento op 1 - - - - Op 1 sustain - Sostegno op 1 - - - - Op 1 release - Rilascio op 1 - - - - Op 1 level - Livello op 1 - - - - Op 1 level scaling - Scala livello op 1 - - - - Op 1 frequency multiplier - Moltiplicatore frequenza op 1 - - - - Op 1 feedback - Feedback op 1 - - - - Op 1 key scaling rate - Velocità op 1 dipende da nota - - - - Op 1 percussive envelope - Inviluppo percussivo op 1 - - - - Op 1 tremolo - Tremolo op 1 - - - - Op 1 vibrato - Vibrato op 1 - - - - Op 1 waveform - Forma d'onda op 1 - - - - Op 2 attack - Attacco op 2 - - - - Op 2 decay - Decadimento op 2 - - - - Op 2 sustain - Sostegno Op 2 - - - - Op 2 release - Rilascio op 2 - - - - Op 2 level - Livello op 2 - - - - Op 2 level scaling - Scala livello op 2 - - - - Op 2 frequency multiplier - Moltiplicatore frequenza op 2 - - - - Op 2 key scaling rate - Velocità op 2 dipende da nota - - - - Op 2 percussive envelope - Inviluppo percussivo op 2 - - - - Op 2 tremolo - Tremolo op 2 - - - - Op 2 vibrato - Vibrato op 2 - - - - Op 2 waveform - Forma d'onda op 2 - - - - FM - FM - - - - Vibrato depth - Profondità vibrato - - - - Tremolo depth - Profondità tremolo - - - - OpulenzInstrumentView - - - - Attack - Attacco - - - - - Decay - Decadimento - - - - - Release - Rilascio - - - - - Frequency multiplier - Moltiplicatore della frequenza - - - - OscillatorObject - - - Osc %1 waveform - Forma d'onda osc %1 - - - - Osc %1 harmonic - Armoniche Osc %1 - - - - - Osc %1 volume - Volume osc %1 - - - - - Osc %1 panning - Panning osc %1 - - - - - Osc %1 fine detuning left - Intonazione precisa osc %1 sinistra - - - - Osc %1 coarse detuning - Intonazione osc %1 - - - - Osc %1 fine detuning right - Intonazione precisa osc %1 destra - - - - Osc %1 phase-offset - Scostamento fase osc %1 - - - - Osc %1 stereo phase-detuning - Intonazione fase stereo osc %1 - - - - Osc %1 wave shape - Forma d'onda Osc %1 - - - - Modulation type %1 - Modulazione di tipo %1 - - - - Oscilloscope - - - Oscilloscope - Oscilloscopio - - - - Click to enable - Clicca per abilitare - - PatchesDialog + Qsynth: Channel Preset Qsynth: Preset Canale + Bank selector Selezione banco + Bank Banco + Program selector Selezione programma + Patch Programma + Name Nome + OK OK + Cancel Annulla - - PatmanView - - - Open patch - Apri patch - - - - Loop - Ripetizione - - - - Loop mode - Modalità ripetizione - - - - Tune - Intonazione - - - - Tune mode - Modalità intonazione - - - - No file selected - Nessun file selezionato - - - - Open patch file - Apri file di patch - - - - Patch-Files (*.pat) - File di patch (*.pat) - - - - MidiClipView - - - Open in piano-roll - Apri nel piano-roll - - - - Set as ghost in piano-roll - Imposta come fantasma in piano-roll - - - - Clear all notes - Cancella tutte le note - - - - Reset name - Reimposta il nome - - - - Change name - Cambia nome - - - - Add steps - Aggiungi note - - - - Remove steps - Elimina note - - - - Clone Steps - Clona gli step - - - - PeakController - - - Peak Controller - Controller dei picchi - - - - Peak Controller Bug - Bug del controller dei picchi - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - A causa di un bug nelle versioni precedenti di LMMS, i controller dei picchi potrebbero non essere connessi come dovuto. Assicurati che i controller dei picchi siano connessi e salva questo file di nuovo. Ci scusiamo per gli inconvenienti causati. - - - - PeakControllerDialog - - - PEAK - PICCO - - - - LFO Controller - Controller dell'LFO - - - - PeakControllerEffectControlDialog - - - BASE - BASE - - - - Base: - Base: - - - - AMNT - Q.TÀ - - - - Modulation amount: - Quantità di modulazione: - - - - MULT - MOLT - - - - Amount multiplicator: - Moltiplicatore di quantità: - - - - ATCK - ATCC - - - - Attack: - Attacco: - - - - DCAY - DCAD - - - - Release: - Rilascio: - - - - TRSH - SOGLIA - - - - Treshold: - Soglia: - - - - Mute output - Silenzia l'output - - - - Absolute value - Valore assoluto - - - - PeakControllerEffectControls - - - Base value - Valore di base - - - - Modulation amount - Quantità di modulazione - - - - Attack - Attacco - - - - Release - Rilascio - - - - Treshold - Soglia - - - - Mute output - Silenzia l'output - - - - Absolute value - Valore assoluto - - - - Amount multiplicator - Moltiplicatore di quantità - - - - PianoRoll - - - Note Velocity - Volume Note - - - - Note Panning - Panning Note - - - - Mark/unmark current semitone - Evidenza (o togli evidenziazione) questo semitono - - - - Mark/unmark all corresponding octave semitones - Evidenza (o togli evidenziazione) i semitoni alle altre ottave - - - - Mark current scale - Evidenza la scala corrente - - - - Mark current chord - Evidenza l'accordo corrente - - - - Unmark all - Togli tutte le evidenziazioni - - - - Select all notes on this key - Seleziona tutte le note in questo tasto - - - - Note lock - Note lock - - - - Last note - Ultima nota - - - - No key - - - - - No scale - - Scale - - - - No chord - - Accordi - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Velocity: %1% - - - - Panning: %1% left - Bilanciamento: %1% a sinistra - - - - Panning: %1% right - Bilanciamento: %1% a destra - - - - Panning: center - Bilanciamento: centrato - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Aprire un pattern con un doppio-click sul pattern stesso! - - - - - Please enter a new value between %1 and %2: - Inserire un valore compreso tra %1 e %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Riproduci/metti in pausa il beat/bassline selezionato (Spazio) - - - - Record notes from MIDI-device/channel-piano - Registra note da una periferica/canale piano MIDI - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Registra note da una periferica MIDI/canale piano mentre la traccia o la BB track è in riproduzione - - - - Record notes from MIDI-device/channel-piano, one step at the time - Registra note da dispositivo-MIDI/canale-piano, un passo alla volta - - - - Stop playing of current clip (Space) - Riproduci/metti in pausa il beat/bassline selezionato (Spazio) - - - - Edit actions - Modalità di modifica - - - - Draw mode (Shift+D) - Modalità disegno (Shift+D) - - - - Erase mode (Shift+E) - Modalità cancella (Shift+E) - - - - Select mode (Shift+S) - Modalità selezione (Shift+S) - - - - Pitch Bend mode (Shift+T) - Modalità intonazione (Shift+T) - - - - Quantize - Quantizza - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Controlli di copia-incolla - - - - Cut (%1+X) - Taglia (%1+X) - - - - Copy (%1+C) - Copia (%1+C) - - - - Paste (%1+V) - Incolla (%1+V) - - - - Timeline controls - Controlla griglia - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Controlli di zoom e note - - - - Horizontal zooming - Zoom orizzontale - - - - Vertical zooming - Zoom verticale - - - - Quantization - Quantizzazione - - - - Note length - Lunghezza nota - - - - Key - - - - - Scale - Scala - - - - Chord - Accordo - - - - Snap mode - - - - - Clear ghost notes - Cancella note fantasma - - - - - Piano-Roll - %1 - Piano-Roll - %1 - - - - - Piano-Roll - no clip - Piano-Roll - nessun pattern - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Nota base - - - - First note - - - - - Last note - Ultima nota - - - - Plugin - - - Plugin not found - Plugin non trovato - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Il plugin "%1" non è stato trovato o non è stato possibile caricarlo! -Motivo: "%2" - - - - Error while loading plugin - Errore nel caricamento del plugin - - - - Failed to load plugin "%1"! - Non è stato possibile caricare il plugin "%1"! - - PluginBrowser - - Instrument Plugins - Plugin Strumentali - - - - Instrument browser - Browser strumenti - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - È possibile trascinare uno strumento nel Song-Editor, nel Beat+Bassline Editor o direttamente in un canale esistente. - - - + no description nessuna descrizione - + A native amplifier plugin Un plugin di amplificazione nativo - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Semplice sampler con varie impostazioni, per usare suoni (come percussioni) in una traccia strumentale - + Boost your bass the fast and simple way Potenzia il tuo basso in modo veloce e semplice - + Customizable wavetable synthesizer Sintetizzatore wavetable configurabile - + An oversampling bitcrusher Un riduttore di bit con oversampling - + Carla Patchbay Instrument Strumento Patchbay Carla - + Carla Rack Instrument Strutmento Rack Carla - + A dynamic range compressor. - + A 4-band Crossover Equalizer Un equalizzatore Crossover a 4 bande - + A native delay plugin Un plugin di ritardi eco nativo - + A Dual filter plugin Un plugin di duplice filtraggio - + plugin for processing dynamics in a flexible way Un versatile processore di dynamic - + A native eq plugin Un plugin di equalizzazione nativo - + A native flanger plugin Un plugin di flager nativo - + Emulation of GameBoy (TM) APU Emulatore di GameBoy™ APU - + Player for GIG files Riproduttore di file GIG - + Filter for importing Hydrogen files into LMMS Strumento per l'importazione di file Hydrogen dentro LMMS - + Versatile drum synthesizer Sintetizzatore di percussioni versatile - + List installed LADSPA plugins Elenca i plugin LADSPA installati - + plugin for using arbitrary LADSPA-effects inside LMMS. Plugin per usare qualsiasi effetto LADSPA in LMMS. - + Incomplete monophonic imitation TB-303 - Imitazione monofonica del TB-303 incompleta + - + plugin for using arbitrary LV2-effects inside LMMS. - + Plugin per usare qualsiasi effetto LV2 in LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Plugin per usare qualsiasi strumento LV2 in LMMS. - + Filter for exporting MIDI-files from LMMS Filtro per esportare file MIDI da LMMS - + Filter for importing MIDI-files into LMMS Filtro per importare file MIDI in LMMS - + Monstrous 3-oscillator synth with modulation matrix Sintetizzatore mostruoso con 3 oscillatori e matrice di modulazione - + A multitap echo delay plugin Un plugin di ritardo eco multitap - + A NES-like synthesizer Un sintetizzatore che imita i suoni del Nintendo Entertainment System - + 2-operator FM Synth Sintetizzatore FM a 2 operatori - + Additive Synthesizer for organ-like sounds Sintetizzatore additivo per suoni tipo organo - + GUS-compatible patch instrument strumento compatibile con GUS - + Plugin for controlling knobs with sound peaks Plugin per controllare le manopole con picchi di suono - + Reverb algorithm by Sean Costello Algoritmo di Riverbero di Sean Costello - + Player for SoundFont files Riproduttore di file SounFont - + LMMS port of sfxr Port di sfxr su LMMS - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulazione di MOS6581 and MOS8580 SID. Questo chip era utilizzato nel Commode 64. - + A graphical spectrum analyzer. Un analizzatore di spettro grafico. - + Plugin for enhancing stereo separation of a stereo input file Plugin per migliorare la separazione stereo di un file - + Plugin for freely manipulating stereo output Plugin per manipolare liberamente un'uscita stereo - + Tuneful things to bang on Oggetti dotati di intonazione su cui picchiare - + Three powerful oscillators you can modulate in several ways Tre potenti oscillatori modulabili in vari modi - + A stereo field visualizer. Un visualizzatore del campo stereo. - + VST-host for using VST(i)-plugins within LMMS Host VST per usare i plugin VST con LMMS - + Vibrating string modeler Modulatore di corde vibranti - + plugin for using arbitrary VST effects inside LMMS. - Plugin per usare effetti VST arbitrari dentro LMMS. + Plugin per usare qualsiasi effetto VST in LMMS. - + 4-oscillator modulatable wavetable synth Sintetizzatore wavetable con 4 oscillatori modulabili - + plugin for waveshaping Plugin per la modifica della forma d'onda - + Mathematical expression parser Analisi sintattica dell'espressione - + Embedded ZynAddSubFX ZynAddSubFX incorporato - - - PluginDatabaseW - - Carla - Add New - Carla - Aggiungi nuovo - - - - Format - Formato - - - - Internal - Interno - - - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - Sound Kits - Kits audio - - - - Type - Tipo - - - - Effects - Effetti - - - - Instruments - Strumenti - - - - MIDI Plugins - Plugins MIDI - - - - Other/Misc - Altro/misc - - - - Architecture - Architettura - - - - Native - Nativo - - - - Bridged - Collegato - - - - Bridged (Wine) - Congiunto (Wine) - - - - Requirements - Requisiti - - - - With Custom GUI - Con GUI personalizzata - - - - With CV Ports - Con porte CV - - - - Real-time safe only - Solo sicurezza in tempo reale - - - - Stereo only - Solo stereo - - - - With Inline Display - Con display in linea - - - - Favorites only - Solo Preferiti - - - - (Number of Plugins go here) - (Numero di plugin vai qui) - - - - &Add Plugin - &Aggiungi plugin - - - - Cancel - Annulla - - - - Refresh - Aggiorna - - - - Reset filters - Ripristina filtri - - - - - - - - - - - - - - - - - - - TextLabel - Etichetta testo - - - - Format: - Formato: - - - - Architecture: - Architettura: - - - - Type: - Tipo: - - - - MIDI Ins: - Ins MIDI: - - - - Audio Ins: - Ins Audio: - - - - CV Outs: - Uscite CV: - - - - MIDI Outs: - Uscite MIDI: - - - - Parameter Ins: - Ins Parametri: - - - - Parameter Outs: - Uscite parametri: - - - - Audio Outs: - Uscite audio: - - - - CV Ins: - Ins CV: - - - - UniqueID: + + An all-pass filter allowing for extremely high orders. - - Has Inline Display: - Ha un Display in linea: + + Granular pitch shifter + Pitch shifter granulare - - Has Custom GUI: - Ha una GUI personalizzata: - - - - Is Synth: + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - Is Bridged: - + + Basic Slicer + Basic Slicer - - Information - Informazioni - - - - Name - Nome - - - - Label/URI - - - - - Maker - Creatore - - - - Binary/Filename - Binario/Nome file - - - - Focus Text Search - Ricerca testo mirato - - - - Ctrl+F - Ctrl+F + + Tap to the beat + Tocca a ritmo @@ -10833,36 +3462,41 @@ Questo chip era utilizzato nel Commode 64. + Send Notes + Invia Note + + + Send Bank/Program Changes Invia banco/Modifiche programma - + Send Control Changes Invia modifiche al controllo - + Send Channel Pressure Invia pressione canale - + Send Note Aftertouch Invia nota Aftertouch - + Send Pitchbend Invia Pitchbend - + Send All Sound/Notes Off Invia tutti i suoni/Note disattivate - + Plugin Name @@ -10871,57 +3505,57 @@ Nome Plugin - + Program: Programma: - + MIDI Program: Programma MIDI: - + Save State Salva Stato - + Load State Carica Stato - + Information Informazioni - + Label/URI: Etichetta/URI: - + Name: Nome: - + Type: Tipo: - + Maker: Creatore: - + Copyright: Copyright: - + Unique ID: ID univoco: @@ -10929,16 +3563,457 @@ Nome Plugin PluginFactory - + Plugin not found. Plugin non trovato. - + LMMS plugin %1 does not have a plugin descriptor named %2! Il plugin LMMS %1 non ha una descrizione chiamata %2! + + PluginListDialog + + + Carla - Add New + Carla - Aggiungi nuovo + + + + Requirements + Requisiti + + + + With Custom GUI + Con GUI personalizzata + + + + With CV Ports + Con CV Porte + + + + Real-time safe only + Solo in tempo reale sicuro + + + + Stereo only + Solo Stereo + + + + With Inline Display + Con Display Inline + + + + Favorites only + Solo Preferiti + + + + (Number of Plugins go here) + (Numero di Plugin va qui) + + + + &Add Plugin + &Aggiungi Plugin + + + + Cancel + Cancella + + + + Refresh + Aggiorna + + + + Reset filters + Ripristina i filtri + + + + + + + + + + + + + + + + + + + TextLabel + Etichetta di testo + + + + Format: + Formato: + + + + Architecture: + Architettura: + + + + Type: + Tipo: + + + + MIDI Ins: + MIDI ingresso: + + + + Audio Ins: + Audio ingresso: + + + + CV Outs: + CV uscita: + + + + MIDI Outs: + MIDI uscita: + + + + Parameter Ins: + Parametri ingresso: + + + + Parameter Outs: + Parametri uscita: + + + + Audio Outs: + Audio uscita: + + + + CV Ins: + CV ingresso: + + + + UniqueID: + ID univoco: + + + + Has Inline Display: + Ha Display Inline: + + + + Has Custom GUI: + Ha GUI personalizzata: + + + + Is Synth: + E' Synth: + + + + Is Bridged: + E' Bridged: + + + + Information + Informazioni + + + + Name + Nome + + + + Label/Id/URI + Etichetta/Id/URI + + + + Maker + Creatore + + + + Binary/Filename + Binario/Nome di file + + + + Format + Formato + + + + Internal + Interno + + + + LADSPA + LADSPA + + + + DSSI + DSSI + + + + LV2 + LV2 + + + + VST2 + VST2 + + + + VST3 + VST3 + + + + CLAP + CLAP + + + + AU + AU + + + + JSFX + JSFX + + + + Sound Kits + Sound Kits + + + + Type + Tipo + + + + Effects + Effetti + + + + Instruments + Strumenti + + + + MIDI Plugins + MIDI Plugins + + + + Other/Misc + Altro/Misc + + + + Category + Categoria + + + + All + Tutto + + + + Delay + Delay + + + + Distortion + Distorsione + + + + Dynamics + Dinamica + + + + EQ + EQ + + + + Filter + Filtro + + + + Modulator + Modulatore + + + + Synth + Synth + + + + Utility + Utilità + + + + + Other + Altro + + + + Architecture + Architettura + + + + + Native + Nativo + + + + Bridged + Bridged + + + + Bridged (Wine) + Bridged (Wine) + + + + Focus Text Search + Focalizza la ricerca testuale + + + + Ctrl+F + Ctrl+F + + + + Bridged (32bit) + Bridged (32bit) + + + + Discovering internal plugins... + Scoprendo plugin interni... + + + + Discovering LADSPA plugins... + Scoprendo LADSPA plugin... + + + + Discovering DSSI plugins... + Scoprendo DSSI plugin... + + + + Discovering LV2 plugins... + Scoprendo LV2 plugin... + + + + Discovering VST2 plugins... + Scoprendo VST2 plugin... + + + + Discovering VST3 plugins... + Scoprendo VST3 plugin... + + + + Discovering CLAP plugins... + Scoprendo CLAP plugin... + + + + Discovering AU plugins... + Scoprendo AU plugin... + + + + Discovering JSFX plugins... + Scoprendo JSFX plugin... + + + + Discovering SF2 kits... + Scoprendo SF2 kits... + + + + Discovering SFZ kits... + Scoprendo SFZ kits... + + + + Unknown + Sconosciuto + + + + + + + Yes + + + + + + + + No + No + + PluginParameter @@ -10953,156 +4028,59 @@ Nome Plugin + TextLabel + Etichetta di testo + + + ... ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh - Carla - Aggiorna + + Plugin Refresh + Aggiornamento del plugin - - Search for new... - Cerca nuovo... + + Search for: + Cerca: - - LADSPA - LADSPA + + All plugins, ignoring cache + Tutti i plugin, ignorando cache - - DSSI - DSSI + + Updated plugins only + Solo plugin aggiornati - - LV2 - LV2 + + Check previously invalid plugins + Controlla i plugin precedentemente non validi - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native - Nativo - - - - POSIX 32bit - POSIX 32bit - - - - POSIX 64bit - POSIX 64bit - - - - Windows 32bit - Windows 32bit - - - - Windows 64bit - Windows 64bit - - - - Available tools: - Strumenti disponibili: - - - - python3-rdflib (LADSPA-RDF support) - python3-rdflib (supporto LADSPA-RDF) - - - - carla-discovery-win64 - carla-discovery-win64 - - - - carla-discovery-native - carla-discovery-nativo - - - - carla-discovery-posix32 - carla-discovery-posix32 - - - - carla-discovery-posix64 - carla-discovery-posix64 - - - - carla-discovery-win32 - carla-discovery-win32 - - - - Options: - Opzioni: - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - Carla eseguirà piccoli controlli di elaborazione durante la scansione dei plugin (per assicurarsi che non si arrestino). -È possibile disabilitare questi controlli per ottenere un tempo di scansione più rapido (a proprio rischio). - - - - Run processing checks while scanning - Esegui controlli di elaborazione durante la scansione - - - + Press 'Scan' to begin the search - Premere 'Scansiona' per avviare la ricerca + Premi 'Scansione' per iniziare la ricerca - + Scan - Scansiona + Scansione - + >> Skip - >> Ignora + >> Salta - + Close Chiudi @@ -11116,53 +4094,53 @@ You can disable these checks to get a faster scanning time (at your own risk). Frame - + Frame - + Enable Abilita - + On/Off On/Off - + - + PluginName - + Nome del plugin - + MIDI MIDI - + AUDIO IN INGRESSO AUDIO - + AUDIO OUT USCITA AUDIO - + GUI GUI - + Edit Modifica - + Remove Rimuovi @@ -11177,5175 +4155,14606 @@ You can disable these checks to get a faster scanning time (at your own risk).Preselezione: - - ProjectNotes - - - Project Notes - Mostra/nascondi le note del progetto - - - - Enter project notes here - Scrivi gli appunti per il progetto - - - - Edit Actions - Modifica azioni - - - - &Undo - &Annulla operazione - - - - %1+Z - %1+Z - - - - &Redo - &Ripeti operazione - - - - %1+Y - %1+Y - - - - &Copy - &Copia - - - - %1+C - %1+C - - - - Cu&t - &Taglia - - - - %1+X - %1+X - - - - &Paste - &Incolla - - - - %1+V - %1+V - - - - Format Actions - Opzioni di formattazione - - - - &Bold - &Grassetto - - - - %1+B - %1+B - - - - &Italic - Cors&ivo - - - - %1+I - %1+I - - - - &Underline - &Sottolineato - - - - %1+U - %1+U - - - - &Left - &Sinistra - - - - %1+L - %1+L - - - - C&enter - C&entro - - - - %1+E - %1+E - - - - &Right - Dest&ra - - - - %1+R - %1+R - - - - &Justify - &Giustifica - - - - %1+J - %1+J - - - - &Color... - &Colore... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) - QObject + QGroupBox - - Reload Plugin - - - - - Show GUI - Mostra GUI - - - - Help - Aiuto - - - - QWidget - - - - - - Name: - Nome: - - - - URI: - - - - - - - Maker: - Autore: - - - - - - Copyright: - Copyright: - - - - - Requires Real Time: - Richiede Real Time: - - - - - - - - - Yes - - - - - - - - - - No - No - - - - - Real Time Capable: - Abilitato al Real Time: - - - - - In Place Broken: - In Place Broken: - - - - - Channels In: - Canali in ingresso: - - - - - Channels Out: - Canali in uscita: - - - - File: %1 - File: %1 - - - - File: - File: - - - - RecentProjectsMenu - - - &Recently Opened Projects - Progetti &Recenti - - - - RenameDialog - - - Rename... - Rinomina... - - - - ReverbSCControlDialog - - - Input - Ingresso - - - - Input gain: - Guadagno in Input: - - - - Size - Grandezza - - - - Size: - Grandezza: - - - - Color - Colore - - - - Color: - Colore: - - - - Output - Uscita - - - - Output gain: - Guadagno in output: - - - - ReverbSCControls - - - Input gain - Guadagno in input - - - - Size - Grandezza - - - - Color - Colore - - - - Output gain - Guadagno in output - - - - SaControls - - - Pause - Pausa - - - - Reference freeze - Blocca riferimento - - - - Waterfall - A cascata - - - - Averaging - Mediamente - - - - Stereo - Stereofonico - - - - Peak hold - Tenuta del picco - - - - Logarithmic frequency - Frequenza logaritmica - - - - Logarithmic amplitude - Ampiezza logaritmica - - - - Frequency range - Intervallo di frequenza - - - - Amplitude range - Gamma di ampiezza - - - - FFT block size - Dimensione blocco FFT - - - - FFT window type - Tipo di finestra FFT - - - - Peak envelope resolution - Risoluzione inviluppo di picco - - - - Spectrum display resolution - Risoluzione visualizzatore dello spettro - - - - Peak decay multiplier - Moltiplicatore decadimento di picco - - - - Averaging weight - Peso medio - - - - Waterfall history size - Dimensioni cronologia cascata - - - - Waterfall gamma correction - Correzione gamma a cascata - - - - FFT window overlap - Sovrapposizione finestra FFT - - - - FFT zero padding - - - - - - Full (auto) - Completo (automatico) - - - - - - Audible - Udibile - - - - Bass - Bassi - - - - Mids - Medi - - - - High - Alto - - - - Extended - Esteso - - - - Loud - Forte - - - - Silent - Silenzioso - - - - (High time res.) - (Alta ris. temporale.) - - - - (High freq. res.) - (Ris, alta freq.) - - - - Rectangular (Off) - Rettangolare (disattivato) - - - - - Blackman-Harris (Default) - Blackman-Harris (predefinito) - - - - Hamming - Hamming - - - - Hanning - Hanning - - - - SaControlsDialog - - - Pause - Pausa - - - - Pause data acquisition - Sospendi acquisizione dati - - - - Reference freeze - Blocca riferimento - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - Blocca ingresso corrente come un riferimento/disabilita la caduta in modalità Tenuta-Picco. - - - - Waterfall - A cascata - - - - Display real-time spectrogram - Visualizza spettrogramma in tempo reale - - - - Averaging - Mediamente - - - - Enable exponential moving average - Abilita movimento medio esponenziale - - - - Stereo - Stereofonico - - - - Display stereo channels separately - Visualizza canali stereo separatamente - - - - Peak hold - Tenuta del picco - - - - Display envelope of peak values - Visualizza inviluppo dei valori di picco - - - - Logarithmic frequency - Frequenza logaritmica - - - - Switch between logarithmic and linear frequency scale - Passa dalla scala della frequenza logaritmica a quella lineare - - - - - Frequency range - Intervallo di frequenza - - - - Logarithmic amplitude - Ampiezza logaritmica - - - - Switch between logarithmic and linear amplitude scale - Scambia tra scala logaritmica e ad ampiezza lineare - - - - - Amplitude range - Gamma di ampiezza - - - - Envelope res. - Ris. inviluppo - - - - Increase envelope resolution for better details, decrease for better GUI performance. - Aumenta la risoluzione dell'inviluppo per maggiori dettagli, diminuisci per migliori prestazioni della GUI. - - - - - Draw at most - Disegna al massimo - - - - envelope points per pixel - punti di inviluppo per pixel - - - - Spectrum res. - Ris. spettro - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - Aumenta la risoluzione dello spettro per maggiori dettagli, diminuisci per migliori prestazioni della GUI. - - - - spectrum points per pixel - punti di spettro per pixel - - - - Falloff factor - Fattore di decadimento - - - - Decrease to make peaks fall faster. - Diminuisci per far cadere più rapidamente i picchi. - - - - Multiply buffered value by - Moltiplica il valore bufferizzato per - - - - Averaging weight - Peso medio - - - - Decrease to make averaging slower and smoother. - Riduci per rendere la media più lenta e uniforme. - - - - New sample contributes - Nuovo campione contribuisce - - - - Waterfall height - Altezza cascata - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - Aumenta per scorrere più lentamente, diminuisci per vedere meglio le transizioni veloci. Avvertenza: utilizzo medio della CPU. - - - - Keep - Mantieni - - - - lines - linee - - - - Waterfall gamma - Gamma cascata - - - - Decrease to see very weak signals, increase to get better contrast. - Diminuisci per vedere segnali molto deboli, aumenta per ottenere un migliore contrasto. - - - - Gamma value: - Valore gamma: - - - - Window overlap - Sovrapposizione della finestra - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - Aumenta per evitare che manchino transizioni veloci nei pressi dei bordi delle finestre FFT. Avvertenza: utilizzo elevato della CPU. - - - - Each sample processed - Ogni campione elaborato - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - Aumenta per ottenere uno spettro più uniforme. Avvertenza: elevato utilizzo della CPU. - - - - Processing buffer is - Il buffer di elaborazione è - - - - steps larger than input block - passi più grandi del blocco di entrata - - - - Advanced settings - Impostazioni avanzate - - - - Access advanced settings - Accesso impostazioni avanzate - - - - - FFT block size - Dimensione blocco FFT - - - - - FFT window type - Tipo finestra FFT - - - - SampleBuffer - - - Fail to open file - Impossibile aprire il file - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - I file audio hanno un limite di %1 MB in grandezza e %2 minuti in durata - - - - Open audio file - Apri file audio - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Tutti i file audio (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - File wave (*.wav) - - - - OGG-Files (*.ogg) - File OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - File DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - File FLAC (*.flac) - - - - SPEEX-Files (*.spx) - File SPEEX (*.spx) - - - - VOC-Files (*.voc) - File VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - File AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - File AU (*.au) - - - - RAW-Files (*.raw) - File RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - Fare doppio-click per aprire un campione - - - - Delete (middle mousebutton) - Elimina (tasto centrale del mouse) - - - - Delete selection (middle mousebutton) - - - - - Cut - Taglia - - - - Cut selection - - - - - Copy - Copia - - - - Copy selection - - - - - Paste - Incolla - - - - Mute/unmute (<%1> + middle click) - Attiva/disattiva la modalità muta (<%1> + tasto centrale) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Inverti campione - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - - Volume - Volume - - - - Panning - Bilanciamento - - - - Mixer channel - Canale FX - - - - - Sample track - Traccia di campione - - - - SampleTrackView - - - Track volume - Volume della traccia - - - - Channel volume: - Volume del canale: - - - - VOL - VOL - - - - Panning - Bilanciamento - - - - Panning: - Bilanciamento: - - - - PAN - BIL - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - IMPOSTAZIONI GENERALI - - - - Sample volume - Volume campione - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Bilanciamento - - - - Panning: - Bilanciamento: - - - - PAN - BIL - - - - Mixer channel - Canale FX - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - Scarta le connessioni MIDI - - - - Save As Project Bundle (with resources) - - - - - SetupDialog - - - Reset to default value - Ritorna alle impostazioni predefinite - - - - Use built-in NaN handler - Usa il gestore NaN integrato - - - - Settings - Impostazioni - - - - - General - Generale - - - - Graphical user interface (GUI) - Interfaccia utente grafica (GUI) - - - - Display volume as dBFS - Mostra il volume in dBFS - - - - Enable tooltips - Abilita i suggerimenti - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - Progetti - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - Lingua - - - - - Performance - Prestazioni - - - - Autosave - Salvataggio automatico - - - - Enable autosave - Abilita salvataggio automatico - - - - Allow autosave while playing - Consenti salvataggio automatico durante la riproduzione - - - - User interface (UI) effects vs. performance - Effetti dell'interfaccia utente (UI) vs. prestazioni - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Plugin - - - - VST plugins embedding: - Incorporamento dei plug-in VST: - - - - No embedding - Nessun incorporamento - - - - Embed using Qt API - Incorpora utilizzando l'API Qt - - - - Embed using native Win32 API - Incorpora utilizzando l'API Win32 nativa - - - - Embed using XEmbed protocol - Incorpora utilizzando il protocollo XEmbed - - - - Keep plugin windows on top when not embedded - Mantieni le finestre dei plugin in primo piano quando non sono incorporate - - - - Sync VST plugins to host playback - Sincronizza i plugin VST alla riproduzione del programma - - - - Keep effects running even without input - Lascia gli effetti attivi anche senza input - - - - - Audio - Audio - - - - Audio interface - Interfaccia audio - - - - HQ mode for output audio device - Modalità HQ per il dispositivo audio di uscita - - - - Buffer size - Dimensione buffer - - - - - MIDI - MIDI - - - - MIDI interface - Interfaccia MIDI - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Directory di lavoro di LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Directory dei SoundFont - - - - Default SF2 - - - - - GIG directory - Directory di GIG - - - - Theme directory - - - - - Background artwork - Grafica dello sfondo - - - - Some changes require restarting. - Alcune modifiche richiedono il riavvio. - - - - Autosave interval: %1 - Intervallo salvataggio automatico: %1 - - - - Choose the LMMS working directory - Scegli la cartella di lavoro di LMMS - - - - Choose your VST plugins directory - Scegli la tua cartella dei plugins VST - - - - Choose your LADSPA plugins directory - Scegli la tua cartella dei plugins LADSPA - - - - Choose your default SF2 - Scegli il tuo SF2 predefinito - - - - Choose your theme directory - Scegli la tua cartella dei temi - - - - Choose your background picture - Scegli la tua immagine di sfondo - - - - - Paths - Percorsi - - - - OK - OK - - - - Cancel - Annulla - - - - Frames: %1 -Latency: %2 ms - Frames: %1 -Latenza: %2 ms - - - - Choose your GIG directory - Selezione la directory di GIG - - - - Choose your SF2 directory - Seleziona la directory dei SoundFont - - - - minutes - minuti - - - - minute - minuto - - - - Disabled - Disabilitato - - - - SidInstrument - - - Cutoff frequency - Frequenza di taglio - - - - Resonance - Risonanza - - - - Filter type - Tipo di filtro - - - - Voice 3 off - Voce 3 spenta - - - - Volume - Volume - - - - Chip model - Modello di chip - - - - SidInstrumentView - - - Volume: - Volume: - - - - Resonance: - Risonanza: - - - - - Cutoff frequency: - Frequenza di taglio: - - - - High-pass filter - Filtro passa-alto - - - - Band-pass filter - Filtro passa-banda - - - - Low-pass filter - Filtro passa-basso - - - - Voice 3 off - Voce 3 disattivata - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Attacco: - - - - - Decay: - Decadimento: - - - - Sustain: - Sostegno: - - - - - Release: - Rilascio: - - - - Pulse Width: - Ampiezza pulse: - - - - Coarse: - Approssimativo: - - - - Pulse wave - Onda a impulso - - - - Triangle wave - Onda triangolare - - - - Saw wave - Onda a dente di sega - - - - Noise - Rumore - - - - Sync - Sincronizzato - - - - Ring modulation - Modulazione ad anello - - - - Filtered - Filtrato - - - - Test - Test - - - - Pulse width: - Ampiezza impulso: - - - - SideBarWidget - - - Close - Chiudi - - - - Song - - - Tempo - Tempo - - - - Master volume - Volume principale - - - - Master pitch - Altezza principale - - - - Aborting project load - - - - - Project file contains local paths to plugins, which could be used to run malicious code. - - - - - Can't load project: Project file contains local paths to plugins. - - - - - LMMS Error report - Informazioni sull'errore di LMMS - - - - (repeated %1 times) - - - - - The following errors occurred while loading: - Si sono verificati i seguenti errori durante il caricamento: - - - - SongEditor - - - Could not open file - Non è stato possibile aprire il file - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Impossibile aprire il file %1. Probabilmente non disponi dei permessi necessari alla sua lettura. -Assicurati di avere almeno i permessi di lettura del file e prova di nuovo. - - - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Errore - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - Impossibile scrivere il file - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - Errore nel file - - - - The file %1 seems to contain errors and therefore can't be loaded. - Il file %1 sembra contenere errori, quindi non può essere caricato. - - - - Version difference - Differenza di versione - - - - template - modello - - - - project - progetto - - - - Tempo - Tempo - - - - TEMPO - TEMPO - - - - Tempo in BPM - Tempo in BPM - - - - High quality mode - Modalità ad alta qualità - - - - - - Master volume - Volume principale - - - - - - Master pitch - Altezza principale - - - - Value: %1% - Valore: %1% - - - - Value: %1 semitones - Valore: %1 semitoni - - - - SongEditorWindow - - - Song-Editor - Song-Editor - - - - Play song (Space) - Riproduci il brano (Spazio) - - - - Record samples from Audio-device - Registra campioni da una periferica audio - - - - Record samples from Audio-device while playing song or BB track - Registra campioni da una periferica audio mentre il brano o una traccia BB sono in riproduzione - - - - Stop song (Space) - Ferma la riproduzione del brano (Spazio) - - - - Track actions - Azioni sulle tracce - - - - Add beat/bassline - Aggiungi beat/bassline - - - - Add sample-track - Aggiungi traccia di campione - - - - Add automation-track - Aggiungi una traccia di automazione - - - - Edit actions - Modalità di modifica - - - - Draw mode - Modalità disegno - - - - Knife mode (split sample clips) - - - - - Edit mode (select and move) - Modalità modifica (seleziona e sposta) - - - - Timeline controls - Controlla griglia - - - - Bar insert controls - - - - - Insert bar - - - - - Remove bar - - - - - Zoom controls - Opzioni di zoom - - - - Horizontal zooming - Zoom orizzontale - - - - Snap controls - Controlli aggancio - - - - - Clip snapping size - Dimensione aggancio della clip - - - - Toggle proportional snap on/off - Attiva/disattiva aggancio proporzionale - - - - Base snapping size - Dimensione aggancio di base - - - - StepRecorderWidget - - - Hint - Suggerimento - - - - Move recording curser using <Left/Right> arrows - Sposta cursore di registrazione usando le frecce <Sinistra/Destra> - - - - SubWindow - - - Close - Chiudi - - - - Maximize - Massimizza - - - - Restore - Apri - - - - TabWidget - - - + + Settings for %1 Impostazioni per %1 - TemplatesMenu + QObject - - New from template - Nuovo da modello + + Reload Plugin + Ricarica Plugin + + + + Show GUI + Mostra GUI + + + + Help + Aiuto + + + + LADSPA plugins + LADSPA plugins + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + Il progetto contiene %1 LADSPA plugin che potrebbero non essere stati ripristinati correttamente! Si prega di controllare il progetto. + + + + URI: + URI: + + + + Project: + Progetto: + + + + Maker: + Creatore: + + + + Homepage: + Pagina iniziale: + + + + License: + Licenza: + + + + File: %1 + File: %1 + + + + failed to load description + Impossibile caricare la descrizione + + + + Open audio file + Apri audio file + + + + Error loading sample + Errore di caricamento del sample + + + + %1 (unsupported) + %1 (non supportato) - TempoSyncKnob + QWidget - - - Tempo Sync - Sync del tempo + + + Name: + Nome: - - No Sync - Non in Sync + + Maker: + Autore: - - Eight beats - Otto battiti + + Copyright: + Copyright: - - Whole note - Un intero + + Requires Real Time: + Richiede Real Time: - - Half note - Una metà + + + + Yes + - - Quarter note - Quarto + + + + No + No - - 8th note - Ottavo + + Real Time Capable: + Abilitato al Real Time: - - 16th note - Sedicesimo + + In Place Broken: + In Place Broken: - - 32nd note - Trentaduesimo + + Channels In: + Canali in ingresso: - - Custom... - Personalizzato... + + Channels Out: + Canali in uscita: - - Custom - Personalizzato + + File: %1 + File: %1 - - Synced to Eight Beats - In sync con otto battiti - - - - Synced to Whole Note - In sync con un intero - - - - Synced to Half Note - In sync con un mezzo - - - - Synced to Quarter Note - In sync con quarti - - - - Synced to 8th Note - In sync con ottavi - - - - Synced to 16th Note - In sync con 16simi - - - - Synced to 32nd Note - In sync con 32simi + + File: + File: - TimeDisplayWidget + XYControllerW - - Time units - Unità di tempo + + XY Controller + XY Controller - - MIN - MIN + + X Controls: + X Controlli: - - SEC - SEC + + Y Controls: + Y Controlli: - - MSEC - MSEC + + Smooth + Ammorbidire - - BAR - BAR + + &Settings + &Impostazioni - - BEAT - BATT + + Channels + Canali - - TICK - TICK + + &File + &File + + + + Show MIDI &Keyboard + Mostra MIDI &Tastiera + + + + (All) + (Tutto) + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + 9 + 9 + + + + 10 + 10 + + + + 11 + 11 + + + + 12 + 12 + + + + 13 + 13 + + + + 14 + 14 + + + + 15 + 15 + + + + 16 + 16 + + + + &Quit + &Esci + + + + Esc + Esc + + + + (None) + (Nessuno) - TimeLineWidget + lmms::AmplifierControls - - Auto scrolling - Scorrimento automatico - - - - Loop points - Punti di ripetizione ciclica - - - - After stopping go back to beginning - - - - - After stopping go back to position at which playing was started - Una volta fermata la riproduzione, torna alla posizione da cui si è partiti - - - - After stopping keep position - Una volta fermata la riproduzione, mantieni la posizione - - - - Hint - Suggerimento - - - - Press <%1> to disable magnetic loop points. - Premi <%1> per disabilitare i punti di loop magnetici. - - - - Track - - - Mute - Muto - - - - Solo - Solo - - - - TrackContainer - - - Couldn't import file - Non è stato possibile importare il file - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Non è stato possibile trovare un filtro per importare il file %1. -È necessario convertire questo file in un formato supportato da LMMS usando un altro programma. - - - - Couldn't open file - Non è stato possibile aprire il file - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Non è stato possibile aprire il file %1 in lettura. -Assicurarsi di avere i permessi in lettura per il file e per la directory che lo contiene e riprovare! - - - - Loading project... - Caricamento del progetto... - - - - - Cancel - Annulla - - - - - Please wait... - Attendere... - - - - Loading cancelled - Caricamento annullato - - - - Project loading was cancelled. - Il caricamento del progetto è stato annullato. - - - - Loading Track %1 (%2/Total %3) - Caricamento Traccia %1 (%2/Totale %3) - - - - Importing MIDI-file... - Importazione del file MIDI... - - - - Clip - - - Mute - Muto - - - - ClipView - - - Current position - Posizione attuale - - - - Current length - Lunghezza attuale - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (da %3:%4 a %5:%6) - - - - Press <%1> and drag to make a copy. - Premere <%1>, cliccare e trascinare per copiare. - - - - Press <%1> for free resizing. - Premere <%1> per ridimensionare liberamente. - - - - Hint - Suggerimento - - - - Delete (middle mousebutton) - Elimina (tasto centrale del mouse) - - - - Delete selection (middle mousebutton) - - - - - Cut - Taglia - - - - Cut selection - - - - - Merge Selection - - - - - Copy - Copia - - - - Copy selection - - - - - Paste - Incolla - - - - Mute/unmute (<%1> + middle click) - Attiva/disattiva la modalità muta (<%1> + tasto centrale) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - - - - - TrackContentWidget - - - Paste - Incolla - - - - TrackOperationsWidget - - - Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - Premi <%1> mentre fai clic sul controllo per iniziare una nuova azione di trascinamento della selezione. - - - - Actions - Azioni - - - - - Mute - Muto - - - - - Solo - Solo - - - - After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - - - - - Confirm removal - - - - - Don't ask again - - - - - Clone this track - Clona questa traccia - - - - Remove this track - Elimina questa traccia - - - - Clear this track - Pulisci questa traccia - - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - Assegna ad un nuovo canale FX - - - - Turn all recording on - Accendi tutti i processi di registrazione - - - - Turn all recording off - Spegni tutti i processi di registrazione - - - - Change color - Cambia colore - - - - Reset color to default - Ripristina colore predefinito - - - - Set random color - - - - - Clear clip colors - - - - - TripleOscillatorView - - - Modulate phase of oscillator 1 by oscillator 2 - Modula la fase dell'oscillatore 1 tramite l'oscillatore 2 - - - - Modulate amplitude of oscillator 1 by oscillator 2 - Modula l'ampiezza dell'oscillatore 1 dall'oscillatore 2 - - - - Mix output of oscillators 1 & 2 - Miscelare l'uscita degli oscillatori 1 e 2 - - - - Synchronize oscillator 1 with oscillator 2 - Sincronizzare l'oscillatore 1 con l'oscillatore 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 - Modula la frequenza dell'oscillatore 1 tramite l'oscillatore 2 - - - - Modulate phase of oscillator 2 by oscillator 3 - Modula la fase dell'oscillatore 2 tramite l'oscillatore 3 - - - - Modulate amplitude of oscillator 2 by oscillator 3 - Modula l'ampiezza dell'oscillatore 2 tramite l'oscillatore 3 - - - - Mix output of oscillators 2 & 3 - Miscela l'uscita degli oscillatori 2 e 3 - - - - Synchronize oscillator 2 with oscillator 3 - Sincronizzare l'oscillatore 2 con l'oscillatore 3 - - - - Modulate frequency of oscillator 2 by oscillator 3 - Modula la frequenza dell'oscillatore 2 tramite l'oscillatore 3 - - - - Osc %1 volume: - Volume osc %1: - - - - Osc %1 panning: - Panning osc %1: - - - - Osc %1 coarse detuning: - Intonazione dell'osc %1: - - - - semitones - semitoni - - - - Osc %1 fine detuning left: - Intonazione precisa osc %1 sinistra: - - - - - cents - centesimi - - - - Osc %1 fine detuning right: - Intonazione precisa dell'osc %1 - destra: - - - - Osc %1 phase-offset: - Scostamento fase dell'osc %1: - - - - - degrees - gradi - - - - Osc %1 stereo phase-detuning: - Intonazione fase stereo dell'osc %1: - - - - Sine wave - Onda sinusoidale - - - - Triangle wave - Onda triangolare - - - - Saw wave - Onda a dente di sega - - - - Square wave - Onda quadra - - - - Moog-like saw wave - Onda a dente di sega tipo Moog - - - - Exponential wave - Onda esponenziale - - - - White noise - Rumore bianco - - - - User-defined wave - Onda definita dall'utente - - - - VecControls - - - Display persistence amount - Visualizza quantità di persistenza - - - - Logarithmic scale - Scala logaritmica - - - - High quality - Alta qualità - - - - VecControlsDialog - - - HQ - HQ - - - - Double the resolution and simulate continuous analog-like trace. - Raddoppia la risoluzione e simula una traccia analogica continua. - - - - Log. scale - Scala log. - - - - Display amplitude on logarithmic scale to better see small values. - Mostra l'ampiezza su scala logaritmica per visualizzare meglio i piccoli valori. - - - - Persist. - Persist. - - - - Trace persistence: higher amount means the trace will stay bright for longer time. - Persistenza della traccia: una quantità maggiore significa che la traccia rimarrà luminosa per un tempo più lungo. - - - - Trace persistence - Persistenza della traccia - - - - VersionedSaveDialog - - - Increment version number - Nuova versione - - - - Decrement version number - Riduci numero versione - - - - Save Options - Opzioni di salvataggio - - - - already exists. Do you want to replace it? - Esiste già. Vuoi sovrascriverlo? - - - - VestigeInstrumentView - - - - Open VST plugin - Apri plug-in VST - - - - Control VST plugin from LMMS host - Controlla il plug-in VST dall'host LMMS - - - - Open VST plugin preset - Apri lo schema del plug-in VST - - - - Previous (-) - Precedente (-) - - - - Save preset - Salva il preset - - - - Next (+) - Successivo (+) - - - - Show/hide GUI - Mostra/nascondi l'interfaccia - - - - Turn off all notes - Disabilita tutte le note - - - - DLL-files (*.dll) - File DLL (*.dll) - - - - EXE-files (*.exe) - File EXE (*.exe) - - - - No VST plugin loaded - Nessun plug-in VST caricato - - - - Preset - Preset - - - - by - da - - - - - VST plugin control - - Controllo del plugin VST - - - - VstEffectControlDialog - - - Show/hide - Mostra/nascondi - - - - Control VST plugin from LMMS host - Controlla il plug-in VST dall'ospite LMMS - - - - Open VST plugin preset - Apri lo schema del plug-in VST - - - - Previous (-) - Precedente (-) - - - - Next (+) - Successivo (+) - - - - Save preset - Salva il preset - - - - - Effect by: - Effetto da: - - - - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - - - - VstPlugin - - - - The VST plugin %1 could not be loaded. - Non è stato possibile caricare il plugin VST %1. - - - - Open Preset - Apri preset - - - - - Vst Plugin Preset (*.fxp *.fxb) - Preset di plugin VST (*.fxp *.fxb) - - - - : default - : default - - - - Save Preset - Salva Preset - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Caricamento plugin - - - - Please wait while loading VST plugin... - Sto caricando il plugin VST... - - - - WatsynInstrument - - - Volume A1 - Volume A1 - - - - Volume A2 - Volume A2 - - - - Volume B1 - Volume B1 - - - - Volume B2 - Volume B2 - - - - Panning A1 - Bilanciamento A1 - - - - Panning A2 - Bilanciamento A2 - - - - Panning B1 - Bilanciamento B1 - - - - Panning B2 - Bilanciamento B2 - - - - Freq. multiplier A1 - Moltiplicatore di freq. A1 - - - - Freq. multiplier A2 - Moltiplicatore di freq. A2 - - - - Freq. multiplier B1 - Moltiplicatore di freq. B1 - - - - Freq. multiplier B2 - Moltiplicatore di freq. B2 - - - - Left detune A1 - Intonazione Sinistra A1 - - - - Left detune A2 - Intonazione Sinistra A2 - - - - Left detune B1 - Intonazione Sinistra B1 - - - - Left detune B2 - Intonazione Sinistra B2 - - - - Right detune A1 - Intonazione Destra A1 - - - - Right detune A2 - Intonazione Destra A2 - - - - Right detune B1 - Intonazione Destra B1 - - - - Right detune B2 - Intonazione Destra B2 - - - - A-B Mix - Mix A-B - - - - A-B Mix envelope amount - Quantità di inviluppo Mix A-B - - - - A-B Mix envelope attack - Attacco inviluppo Mix A-B - - - - A-B Mix envelope hold - Mantenimento inviluppo Mix A-B - - - - A-B Mix envelope decay - Decadimento inviluppo Mix A-B - - - - A1-B2 Crosstalk - Scambio A1-B2 - - - - A2-A1 modulation - Modulazione A2-A1 - - - - B2-B1 modulation - Modulazione B2-B1 - - - - Selected graph - Grafico selezionato - - - - WatsynView - - - - - + Volume Volume - - - - + Panning - Bilanciamento + Panning - - - - - Freq. multiplier - Moltiplicatore freq. + + Left gain + Gain a sinistra - - - - - Left detune - Intonazione sinistra - - - - - - - - - - - cents - centesimi - - - - - - - Right detune - Intonazione destra - - - - A-B Mix - Mix A-B - - - - Mix envelope amount - Quantità di inviluppo sul Mix - - - - Mix envelope attack - Attacco inviluppo sul Mix - - - - Mix envelope hold - Mantenimento inviluppo sul Mix - - - - Mix envelope decay - Decadimento inviluppo sul Mix - - - - Crosstalk - Scambio - - - - Select oscillator A1 - Passa all'oscillatore A1 - - - - Select oscillator A2 - Passa all'oscillatore A2 - - - - Select oscillator B1 - Passa all'oscillatore B1 - - - - Select oscillator B2 - Passa all'oscillatore B2 - - - - Mix output of A2 to A1 - Mescola output di A2 a A1 - - - - Modulate amplitude of A1 by output of A2 - Modula l'ampiezza di A1 per l'uscita di A2 - - - - Ring modulate A1 and A2 - Modula anello A1 e A2 - - - - Modulate phase of A1 by output of A2 - Modula fase di A1 per l'uscita di A2 - - - - Mix output of B2 to B1 - Mescola output di B2 a B1 - - - - Modulate amplitude of B1 by output of B2 - Modula ampiezza di B1 per l'uscita di B2 - - - - Ring modulate B1 and B2 - Modula anello B1 e B2 - - - - Modulate phase of B1 by output of B2 - Modula fase di B1 per l'uscita di B2 - - - - - - - Draw your own waveform here by dragging your mouse on this graph. - Cliccando e trascinando il mouse in questo grafico è possibile disegnare una forma d'onda personalizzata. - - - - Load waveform - Carica forma d'onda - - - - Load a waveform from a sample file - Carica una forma d'onda da file di esempio - - - - Phase left - Sposta fase a sinistra - - - - Shift phase by -15 degrees - Fase di spostamento di -15 gradi - - - - Phase right - Sposta fase a destra - - - - Shift phase by +15 degrees - Fase di spostamento di +15 gradi - - - - - Normalize - Normalizza - - - - - Invert - Inverti - - - - - Smooth - Ammorbidisci - - - - - Sine wave - Onda sinusoidale - - - - - - Triangle wave - Onda triangolare - - - - Saw wave - Onda a dente di sega - - - - - Square wave - Onda quadra + + Right gain + Gain a destra - Xpressive + lmms::AudioFileProcessor - - Selected graph - Grafico selezionato + + Amplify + Amplificare - - A1 - A1 + + Start of sample + Inizio del sample - - A2 - A2 + + End of sample + Fine del sample - - A3 - A3 + + Loopback point + Punto di loopback - - W1 smoothing - W1 smoothing + + Reverse sample + Reverse sample - - W2 smoothing - W2 smoothing + + Loop mode + Modalità loop - - W3 smoothing - W3 smoothing + + Stutter + Stutter - - - Panning 1 - Panoramica 1 - - - - Panning 2 - Panoramica 2 - - - - Rel trans - - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - Cliccando e trascinando il mouse in questo grafico è possibile disegnare una forma d'onda personalizzata. - - - - Select oscillator W1 - Seleziona Oscillatore W1 - - - - Select oscillator W2 - Seleziona Oscillatore W2 - - - - Select oscillator W3 - Seleziona Oscillatore W3 - - - - Select output O1 - Seleziona uscita O1 - - - - Select output O2 - Seleziona uscita O2 - - - - Open help window - Apri finestra di aiuto - - - - - Sine wave - Onda sinusoidale - - - - - Moog-saw wave - Onda a dente di sega Moog - - - - - Exponential wave - Onda esponenziale - - - - - Saw wave - Onda a dente di sega - - - - - User-defined wave - Onda definita dall'utente - - - - - Triangle wave - Onda triangolare - - - - - Square wave - Onda quadra - - - - - White noise - Rumore bianco - - - - WaveInterpolate - InterpolazioneOnda - - - - ExpressionValid - - - - - General purpose 1: - Uso Generico 1: - - - - General purpose 2: - Uso Generico 2: - - - - General purpose 3: - Uso Generico 3: - - - - O1 panning: - Bilanciamento O1: - - - - O2 panning: - Bilanciamento O2: - - - - Release transition: - Rilascio transizione: - - - - Smoothness - Morbidezza - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - Frequenza filtro - - - - Filter resonance - Risonanza filtro - - - - Bandwidth - Larghezza di Banda - - - - FM gain - Guadagno FM - - - - Resonance center frequency - Frequenza centrale di risonanza - - - - Resonance bandwidth - Larghezza banda di risonanza - - - - Forward MIDI control change events - Inoltra eventi di modifica controllo MIDI - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - Frequenza filtro: - - - - FREQ - FREQ - - - - Filter resonance: - Risonanza filtro: - - - - RES - RIS - - - - Bandwidth: - Larghezza di banda: - - - - BW - Largh: - - - - FM gain: - Guadagno FM: - - - - FM GAIN - GUAD FM - - - - Resonance center frequency: - Frequenza Centrale di Risonanza: - - - - RES CF - FC RIS - - - - Resonance bandwidth: - Bandwidth della Risonanza: - - - - RES BW - BW RIS - - - - Forward MIDI control changes - Inoltra modifiche controllo MIDI - - - - Show GUI - Mostra GUI - - - - AudioFileProcessor - Amplify - Amplificazione - - - - Start of sample - Inizio del campione - - - - End of sample - Fine del campione - - - - Loopback point - Punto di LoopBack - - - - Reverse sample - Inverti il campione - - - - Loop mode - Modalità ripetizione - - - - Stutter - Passaggio - - - Interpolation mode - Modalità Interpolazione + Modalità di interpolazione - + None - Nessuna + - + Linear Lineare - + Sinc - Sincronizzata + - - Sample not found: %1 - Campione non trovato: %1 + + Sample not found + Sample non trovato - BitInvader + lmms::AudioJack - - Sample length - Lunghezza campione + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + Nome di client + + + + Channels + Canali - BitInvaderView + lmms::AudioOss - + + Device + Dispositivo + + + + Channels + Canali + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Backend + + + + Device + Dispositivo + + + + lmms::AudioPulseAudio + + + Device + Dispositivo + + + + Channels + Canali + + + + lmms::AudioSdl::setupWidget + + + Playback device + Dispositivo di riproduzione + + + + Input device + Dispositivo di input + + + + lmms::AudioSndio + + + Device + Dispositivo + + + + Channels + Canali + + + + lmms::AudioSoundIo::setupWidget + + + Backend + Backend + + + + Device + Dispositivo + + + + lmms::AutomatableModel + + + &Reset (%1%2) + &Ripristina (%1%2) + + + + &Copy value (%1%2) + &Copia valore (%1%2) + + + + &Paste value (%1%2) + &Incolla valore (%1%2) + + + + &Paste value + &Incolla valore + + + + Edit song-global automation + Modifica automazione globale della canzone + + + + Remove song-global automation + Rimuovi automazione globale della canzone + + + + Remove all linked controls + Rimuovi tutti i controlli collegati + + + + Connected to %1 + Connesso a %1 + + + + Connected to controller + Connesso al controller + + + + Edit connection... + Modifica connessione... + + + + Remove connection + Rimuovi connessione + + + + Connect to controller... + Connesso al controller... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + Trascina un controllo tenendo premuto <%1> + + + + lmms::AutomationTrack + + + Automation track + Traccia di automazione + + + + lmms::BassBoosterControls + + + Frequency + Frequency + + + + Gain + Gain + + + + Ratio + Ratio + + + + lmms::BitInvader + + Sample length - Lunghezza campione + Lunghezza del sample - - Draw your own waveform here by dragging your mouse on this graph. - Cliccando e trascinando il mouse in questo grafico è possibile disegnare una forma d'onda personalizzata. - - - - - Sine wave - Onda sinusoidale - - - - - Triangle wave - Onda triangolare - - - - - Saw wave - Onda a dente di sega - - - - - Square wave - Onda quadra - - - - - White noise - Rumore bianco - - - - - User-defined wave - Onda definita dall'utente - - - - - Smooth waveform - Spiana forma d'onda - - - + Interpolation Interpolazione - + Normalize Normalizza - DynProcControlDialog + lmms::BitcrushControls - - INPUT - INPUT + + Input gain + Input gain - - Input gain: - Guadagno in Input: + + Input noise + Input rumore - - OUTPUT - OUTPUT + + Output gain + Output gain - - Output gain: - Guadagno in Output: + + Output clip + Output clip - - ATTACK - ATTACCO + + Sample rate + Frequenza di campionamento - - Peak attack time: - Attacco del picco: + + Stereo difference + Differenza di stereo - - RELEASE - RILASCIO + + Levels + Livelli - - Peak release time: - Rilascio del picco: + + Rate enabled + Frequenza abilitata - - - Reset wavegraph - Reimposta la forma d'onda - - - - - Smooth wavegraph - Forma d'onda piana - - - - - Increase wavegraph amplitude by 1 dB - Incrementa l'ampiezza del diagramma d'onda di 1 dB - - - - - Decrease wavegraph amplitude by 1 dB - Decrementa l'ampiezza del diagramma d'onda di 1 dB - - - - Stereo mode: maximum - Modalità stereo: massima - - - - Process based on the maximum of both stereo channels - L'effetto si basa sul valore massimo tra i due canali stereo - - - - Stereo mode: average - Modalità stereo: media - - - - Process based on the average of both stereo channels - L'effetto si basa sul valore medio tra i due canali stereo - - - - Stereo mode: unlinked - Modalità stereo: scollegata - - - - Process each stereo channel independently - L'effetto tratta i due canali stereo indipendentemente + + Depth enabled + Profondità abilitata - DynProcControls + lmms::Clip - - Input gain - Guadagno in input + + Mute + Muto + + + + lmms::CompressorControls + + + Threshold + Threshold - + + Ratio + Ratio + + + + Attack + Attack + + + + Release + Release + + + + Knee + Knee + + + + Hold + Hold + + + + Range + Range + + + + RMS Size + RMS Size + + + + Mid/Side + Mid/Side + + + + Peak Mode + Peak Mode + + + + Lookahead Length + Lunghezza di lookahead + + + + Input Balance + Input bilanciamento + + + + Output Balance + Output bilanciamento + + + + Limiter + Limiter + + + + Output Gain + Output Gain + + + + Input Gain + Input Gain + + + + Blend + Blend + + + + Stereo Balance + Stereo bilanciamento + + + + Auto Makeup Gain + Auto Makeup Gain + + + + Audition + Audition + + + + Feedback + Feedback + + + + Auto Attack + Auto Attack + + + + Auto Release + Auto Release + + + + Lookahead + Lookahead + + + + Tilt + Tilt + + + + Tilt Frequency + Tilt Frequenza + + + + Stereo Link + Stereo Link + + + + Mix + Mix + + + + lmms::Controller + + + Controller %1 + Controller %1 + + + + lmms::DelayControls + + + Delay samples + Delay samples + + + + Feedback + Feedback + + + + LFO frequency + LFO frequenza + + + + LFO amount + LFO quantità + + + Output gain - Guadagno in output + Output gain + + + + lmms::DispersionControls + + + Amount + Quantità - - Attack time - Tempo di Attacco + + Frequency + Frequenza + + + Resonance + Risonanza + + + + Feedback + Feedback + + + + DC Offset Removal + Rimozione di DC Offset + + + + lmms::DualFilterControls + + + Filter 1 enabled + Filtro 1 abilitato + + + + Filter 1 type + Filtro 1 tipo + + + + Cutoff frequency 1 + Frequenza di cutoff 1 + + + + Q/Resonance 1 + Q/Risonanza 1 + + + + Gain 1 + Gain 1 + + + + Mix + Mix + + + + Filter 2 enabled + Filtro 2 abilitato + + + + Filter 2 type + Filtro 2 tipo + + + + Cutoff frequency 2 + Frequenza di cutoff 2 + + + + Q/Resonance 2 + Q/Risonanza 2 + + + + Gain 2 + Gain 2 + + + + + Low-pass + Low-pass + + + + + Hi-pass + Hi-pass + + + + + Band-pass csg + Band-pass csg + + + + + Band-pass czpg + Band-pass czpg + + + + + Notch + Notch + + + + + All-pass + All-pass + + + + + Moog + Moog + + + + + 2x Low-pass + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + RC High-pass 24 dB/oct + + + + + Vocal Formant + Formante della voce + + + + + 2x Moog + 2x Moog + + + + + SV Low-pass + SV Low-pass + + + + + SV Band-pass + SV Band-pass + + + + + SV High-pass + SV High-pass + + + + + SV Notch + SV Notch + + + + + Fast Formant + Formante veloce + + + + + Tripole + Tripole + + + + lmms::DynProcControls - Release time - Tempo di Rilascio + Input gain + Input gain + + + + Output gain + Output gain + Attack time + Tempo di attacco + + + + Release time + Tempo di rilascio + + + Stereo mode Modalità stereo - graphModel + lmms::Effect - - Graph - Grafico + + Effect enabled + Effetto abilitato + + + + Wet/Dry mix + Wet/Dry mix + + + + Gate + Gate + + + + Decay + Decadimento - KickerInstrument + lmms::EffectChain - - Start frequency - Frequenza iniziale + + Effects enabled + Effetti abilitati + + + + lmms::Engine + + + Generating wavetables + Generazione di wavetable - - End frequency - Frequenza finale + + Initializing data structures + Inizializzazione di strutture dati - - Length - Lunghezza + + Opening audio and midi devices + Apertura di audio e dispositivi midi - - Start distortion - Inizio distorsione + + Launching audio engine threads + Avvio dei thread del motore audio + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Env pre-delay - - End distortion - Fine distorsione + + Env attack + Env attack + + + Env hold + Env hold + + + + Env decay + Env decay + + + + Env sustain + Env sustain + + + + Env release + Env release + + + + Env mod amount + Env mod amount + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + Default preset + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument - Gain - Guadagno + Start frequency + - Envelope slope - Pendenza inviluppo + End frequency + - Noise - Rumore + Length + - Click - Click + Start distortion + - Frequency slope - Pendenza frequenza + End distortion + - Start from note - Inizia dalla nota + Gain + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + End to note - Finisci sulla nota + - KickerInstrumentView + lmms::LOMMControls - - Start frequency: - Frequenza iniziale: + + Depth + - - End frequency: - Frequenza finale: + + Time + - - Frequency slope: - Pendenza frequenza: + + Input Volume + - - Gain: - Guadagno: + + Output Volume + - - Envelope length: - Lunghezza inviluppo + + Upward Depth + - - Envelope slope: - Pendenza inviluppo + + Downward Depth + - - Click: - Click: + + High/Mid Split + - - Noise: - Rumore: + + Mid/Low Split + - - Start distortion: - Inizio distorsione: + + Enable High/Mid Split + - - End distortion: - Fine distorsione: + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + - LadspaBrowserView + lmms::LadspaControl - - - Available Effects - Effetti disponibili - - - - - Unavailable Effects - Effetti non disponibili - - - - - Instruments - Strumenti - - - - - Analysis Tools - Strumenti di analisi - - - - - Don't know - Sconosciuto - - - - Type: - Tipo: + + Link channels + - LadspaDescription + lmms::LadspaEffect - - Plugins - Plugin - - - - Description - Descrizione + + Unknown LADSPA plugin %1 requested. + - LadspaPortDialog - - - Ports - Porte - - - - Name - Nome - - - - Rate - Frequenza - - - - Direction - Direzione - - - - Type - Tipo - - - - Min < Default < Max - Minimo < Predefinito < Massimo - - - - Logarithmic - Logaritmico - - - - SR Dependent - Dipendente da SR - - - - Audio - Audio - - - - Control - Controllo - - - - Input - Ingresso - - - - Output - Uscita - - - - Toggled - Abilitato - - - - Integer - Intero - - - - Float - Virgola mobile - - - - - Yes - - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF - frequenza di taglio - - - - VCF Resonance - VCF - Risonanza - - - - VCF Envelope Mod - VCF - modulazione dell'envelope - - - - VCF Envelope Decay - VCF - decadimento dell'envelope - + lmms::Lb302Synth - Distortion - Distorsione + VCF Cutoff Frequency + - Waveform - Forma d'onda + VCF Resonance + - Slide Decay - Decadimento slide + VCF Envelope Mod + - Slide - Slide + VCF Envelope Decay + - Accent - Accento + Distortion + - Dead - Dead + Waveform + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + 24dB/oct Filter - Filtro 24dB/ottava + - Lb302SynthView + lmms::LfoController - - Cutoff Freq: - Freq. di taglio: + + LFO Controller + - - Resonance: - Risonanza: + + Base value + - - Env Mod: - Env Mod: + + Oscillator speed + - - Decay: - Decadimento: + + Oscillator amount + - - 303-es-que, 24dB/octave, 3 pole filter - filtro tripolare "tipo 303", 24dB/ottava + + Oscillator phase + - - Slide Decay: - Decadimento slide: + + Oscillator waveform + - - DIST: - DIST: + + Frequency Multiplier + - - Saw wave - Onda a dente di sega - - - - Click here for a saw-wave. - Cliccando qui si ottiene un'onda a dente di sega. - - - - Triangle wave - Onda triangolare - - - - Click here for a triangle-wave. - Cliccando qui si ottiene un'onda triangolare. - - - - Square wave - Onda quadra - - - - Click here for a square-wave. - Cliccando qui si ottiene un'onda quadra. - - - - Rounded square wave - Onda quadra arrotondata - - - - Click here for a square-wave with a rounded end. - Cliccando qui si ottiene un'onda quadra arrotondata. - - - - Moog wave - Onda moog - - - - Click here for a moog-like wave. - Cliccando qui si ottieme un'onda moog. - - - - Sine wave - Onda sinusoidale - - - - Click for a sine-wave. - Cliccando qui si ottiene una forma d'onda sinusoidale. - - - - - White noise wave - Rumore bianco - - - - Click here for an exponential wave. - Cliccando qui si ha un'onda esponenziale. - - - - Click here for white-noise. - Cliccando qui si ottiene rumore bianco. - - - - Bandlimited saw wave - Onda a dente di sega limitata - - - - Click here for bandlimited saw wave. - Clicca per usare un'onda a dente di sega a banda limitata. - - - - Bandlimited square wave - Onda quadra limitata - - - - Click here for bandlimited square wave. - Clicca per usare un'onda quadra a banda limitata. - - - - Bandlimited triangle wave - Onda triangolare limitata - - - - Click here for bandlimited triangle wave. - Clicca per usare un'onda triangolare a banda limitata. - - - - Bandlimited moog saw wave - Onda Moog limitata - - - - Click here for bandlimited moog saw wave. - Clicca per usare un'onda Moog a banda limitata. + + Sample not found + - MalletsInstrument - - - Hardness - Durezza - - - - Position - Posizione - - - - Vibrato gain - Guadagno del Vibrato - - - - Vibrato frequency - Frequenza del Vibrato - + lmms::MalletsInstrument - Stick mix + Hardness - Modulator - Modulatore + Position + - Crossfade - Crossfade + Vibrato gain + - LFO speed - Velocità dell'LFO + Vibrato frequency + - LFO depth - Profondità del LFO - - - - ADSR - ADSR - - - - Pressure - Pressione - - - - Motion - Moto - - - - Speed - Velocità - - - - Bowed - Bowed - - - - Spread - Apertura - - - - Marimba - Marimba - - - - Vibraphone - Vibraphone - - - - Agogo - Agogo - - - - Wood 1 - Legno 1 - - - - Reso - Reso - - - - Wood 2 - Legno 2 - - - - Beats - Beats - - - - Two fixed - Due fissi - - - - Clump - Clump - - - - Tubular bells - Campane tubolari - - - - Uniform bar - Barra uniforme - - - - Tuned bar - Barra accordata - - - - Glass - Glass - - - - Tibetan bowl - Campana tibetana - - - - MalletsInstrumentView - - - Instrument - Strumento - - - - Spread - Apertura - - - - Spread: - Apertura: - - - - Missing files - File mancanti - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - L'installazione di Stk sembra incompleta. Assicurarsi che sia installato il pacchetto Stk completo! - - - - Hardness - Durezza - - - - Hardness: - Durezza: - - - - Position - Posizione - - - - Position: - Posizione: - - - - Vibrato gain - Guadagno del Vibrato - - - - Vibrato gain: - Guadagno del Vibrato: - - - - Vibrato frequency - Frequenza del Vibrato - - - - Vibrato frequency: - Frequenza del Vibrato: - - - Stick mix - - Stick mix: + + Modulator - - Modulator - Modulatore - - - - Modulator: - Modulatore: - - - + Crossfade - Crossfade + - - Crossfade: - Crossfade: - - - + LFO speed - Velocità dell'LFO + - - LFO speed: - Velocità dell'LFO: - - - + LFO depth - Profondità LFO + - - LFO depth: - Profondità LFO: - - - + ADSR - ADSR + - - ADSR: - ADSR: - - - + Pressure - Pressione + - - Pressure: - Pressione: + + Motion + - + Speed - Velocità + - - Speed: - Velocità: + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + - ManageVSTEffectView + lmms::MeterModel - - - VST parameter control - - Controllo parametri VST + + Numerator + - - VST sync - Sincronizzazione VST - - - - - Automated - Automatizzati - - - - Close - Chiudi + + Denominator + - ManageVestigeInstrumentView + lmms::Microtuner - - - - VST plugin control - - Controllo del plugin VST + + Microtuner + - - VST Sync - Sync VST + + Microtuner on / off + - - - Automated - Automatizzati + + Selected scale + - - Close - Chiudi + + Selected keyboard mapping + - OrganicInstrument + lmms::MidiController - - Distortion - Distorsione + + MIDI Controller + - + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + Volume - Volume + + + + + Mute + + + + + Solo + - OrganicInstrumentView + lmms::MixerRoute - - Distortion: - Distorsione: + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + - - Volume: - Volume: + + Osc 1 panning + - - Randomise - Rendi casuale + + Osc 1 coarse detune + - - - Osc %1 waveform: - Onda osc %1: + + Osc 1 fine detune left + - - Osc %1 volume: - Volume osc %1: + + Osc 1 fine detune right + - - Osc %1 panning: - Panning osc %1: + + Osc 1 stereo phase offset + - + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + Osc %1 stereo detuning - Osc %1 intonazione stereo + - - cents - centesimi + + Osc %1 coarse detuning + - - Osc %1 harmonic: - Osc %1 armoniche: + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + - PatchesDialog + lmms::PatternTrack - - Qsynth: Channel Preset - Qsynth: Preset Canale + + Pattern %1 + - - Bank selector - Selezione banca - - - - Bank - Banco - - - - Program selector - Selezione programma - - - - Patch - Programma - - - - Name - Nome - - - - OK - OK - - - - Cancel - Annulla + + Clone of %1 + - Sf2Instrument + lmms::PeakController - + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + + + + + Color + + + + + Output gain + + + + + lmms::SaControls + + + Pause + + + + + Reference freeze + + + + + Waterfall + + + + + Averaging + + + + + Stereo + + + + + Peak hold + + + + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type + + + + + Peak envelope resolution + + + + + Spectrum display resolution + + + + + Peak decay multiplier + + + + + Averaging weight + + + + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + + FFT zero padding + + + + + + Full (auto) + + + + + + + Audible + + + + + Bass + + + + + Mids + + + + + High + + + + + Extended + + + + + Loud + + + + + Silent + + + + + (High time res.) + + + + + (High freq. res.) + + + + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + + + + + Hanning + + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + + + + + Panning + + + + + Mixer channel + + + + + + Sample track + + + + + lmms::Scale + + + empty + + + + + lmms::Sf2Instrument + + Bank - Banco + - + Patch - Patch + - + Gain - Guadagno + - + Reverb - Riverbero + - + Reverb room size - Dimensioni stanza del riverbero + - + Reverb damping - Smorzamento del riverbero + - + Reverb width - Banda del riverbero + - + Reverb level - Livello di riverbero + - + Chorus - Chorus + - + Chorus voices - Voci del Chorus + - + Chorus level - Livello del Chorus + - + Chorus speed - Velocità del Chorus + - + Chorus depth - Profondità del Chorus + - + A soundfont %1 could not be loaded. - Non è stato possibile caricare un soundfont %1. + - Sf2InstrumentView + lmms::SfxrInstrument - - - Open SoundFont file - Apri un file SoundFont - - - - Choose patch - Scegli patch - - - - Gain: - Guadagno: - - - - Apply reverb (if supported) - Applica il riverbero (se supportato) - - - - Room size: - Dimensioni della stanza: - - - - Damping: - Smorzamento: - - - - Width: - Ampiezza: - - - - - Level: - Livello: - - - - Apply chorus (if supported) - Applica il chorus (se supportato) - - - - Voices: - Voci: - - - - Speed: - Velocità: - - - - Depth: - Risoluzione Bit: - - - - SoundFont Files (*.sf2 *.sf3) - File SoundFont (*.sf2 *.sf3) - - - - SfxrInstrument - - + Wave - Onda + - StereoEnhancerControlDialog + lmms::SidInstrument - - WIDTH - AMPIEZZA + + Cutoff frequency + - - Width: - Ampiezza: + + Resonance + + + + + Filter type + + + + + Voice 3 off + + + + + Volume + + + + + Chip model + - StereoEnhancerControls + lmms::SlicerT - + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + + + + + Master volume + + + + + Master pitch + + + + + Aborting project load + + + + + Project file contains local paths to plugins, which could be used to run malicious code. + + + + + Can't load project: Project file contains local paths to plugins. + + + + + LMMS Error report + + + + + (repeated %1 times) + + + + + The following errors occurred while loading: + + + + + lmms::StereoEnhancerControls + + Width - Ampiezza + - StereoMatrixControlDialog - - - Left to Left Vol: - Volume da Sinistra a Sinistra: - - - - Left to Right Vol: - Volume da Sinistra a Destra: - - - - Right to Left Vol: - Volume da Destra a Sinistra: - - - - Right to Right Vol: - Volume da Destra a Destra: - - - - StereoMatrixControls - - - Left to Left - Da Sinistra a Sinistra - - - - Left to Right - Da Sinistra a Destra - - - - Right to Left - Da Destra a Sinistra - + lmms::StereoMatrixControls + Left to Left + + + + + Left to Right + + + + + Right to Left + + + + Right to Right - Da Destra a Destra + - VestigeInstrument + lmms::Track - + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + Loading plugin - Caricamento plugin + - + Please wait while loading the VST plugin... - Attendere il caricamento del plug-in VST... + - Vibed + lmms::Vibed - + String %1 volume - Volume della corda %1 + - + String %1 stiffness - Durezza della corda %1 + - + Pick %1 position - Posizione del plettro %1 + - + Pickup %1 position - Posizione del pickup %1 + - + String %1 panning - Panning corda %1 + - + String %1 detune - De-intonazione corda %1  + - + String %1 fuzziness - + String %1 length - Lunghezza corda %1 + - + Impulse %1 - Impulso %1 + - + String %1 - Corda %1 + - VibedView + lmms::VoiceObject - + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + Apri Preset + + + + + VST Plugin Preset (*.fxp *.fxb) + VST Plugin Preset (*.fxp *.fxb) + + + + : default + + + + + Save Preset + Salva Preset + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + Reimposta il nome + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + Ripristina + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + Ripristina il grafico d'onda + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + Salva le impostazioni della traccia attuale in un file preset + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + Salva il preset + + + + XML preset file (*.xpf) + File di preset XML (*.xpf) + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + Miei Preset + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + Progetti aperti di recente + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + Schermo intero + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + Reimposta il nome + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + Ripristina + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + Reimposta il nome + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + &Progetti Aperti di Recente + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + Ripristina il valore predefinito + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + Ripristina + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + + + + + lmms::gui::StepRecorderWidget + + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + Ripristina + + + + Reset counter and sidebar information + Reimposta il contatore e le informazioni della barra laterale + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + + Paste + + + + + lmms::gui::TrackOperationsWidget + + + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. + + + + + Actions + + + + + + Mute + + + + + + Solo + + + + + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? + + + + + Confirm removal + + + + + Don't ask again + + + + + Clone this track + + + + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + Ripristina + + + + Pick random + + + + + Reset clip colors + Ripristina i colori della clip + + + + lmms::gui::TripleOscillatorView + + + Modulate phase of oscillator 1 by oscillator 2 + + + + + Modulate amplitude of oscillator 1 by oscillator 2 + + + + + Mix output of oscillators 1 & 2 + + + + + Synchronize oscillator 1 with oscillator 2 + + + + + Modulate frequency of oscillator 1 by oscillator 2 + + + + + Modulate phase of oscillator 2 by oscillator 3 + + + + + Modulate amplitude of oscillator 2 by oscillator 3 + + + + + Mix output of oscillators 2 & 3 + + + + + Synchronize oscillator 2 with oscillator 3 + + + + + Modulate frequency of oscillator 2 by oscillator 3 + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + + cents + + + + + Osc %1 fine detuning right: + + + + + Osc %1 phase-offset: + + + + + + degrees + + + + + Osc %1 stereo phase-detuning: + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog-like saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined wave + + + + + Use alias-free wavetable oscillators. + + + + + lmms::gui::VecControlsDialog + + + HQ + + + + + Double the resolution and simulate continuous analog-like trace. + + + + + Log. scale + + + + + Display amplitude on logarithmic scale to better see small values. + + + + + Persist. + + + + + Trace persistence: higher amount means the trace will stay bright for longer time. + + + + + Trace persistence + + + + + lmms::gui::VersionedSaveDialog + + + Increment version number + + + + + Decrement version number + + + + + Save Options + + + + + already exists. Do you want to replace it? + + + + + lmms::gui::VestigeInstrumentView + + + + Open VST plugin + + + + + Control VST plugin from LMMS host + + + + + Open VST plugin preset + Apri VST plugin preset + + + + Previous (-) + + + + + Save preset + Salva il preset + + + + Next (+) + + + + + Show/hide GUI + + + + + Turn off all notes + + + + + DLL-files (*.dll) + + + + + EXE-files (*.exe) + + + + + SO-files (*.so) + + + + + No VST plugin loaded + + + + + Preset + Preset + + + + by + + + + + - VST plugin control + + + + + lmms::gui::VibedView + + + Enable waveform + + + + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + String volume: - Volume corda + - + String stiffness: - Durezza della corda: + - + Pick position: - Posizione del plettro: + - + Pickup position: - Posizione del pickup: + - + String panning: - Panning corda + - + String detune: - De-intonazione corda + - + String fuzziness: - + String length: - Lunghezza corda: + - - Impulse - Impulso - - - - Octave - Ottava - - - + Impulse Editor - Editor dell'impulso + - - Enable waveform - Abilita forma d'onda + + Impulse + - + Enable/disable string - Abilita/disabilita corda + - + + Octave + + + + String - Corda + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + - - + + Control VST plugin from LMMS host + + + + + Open VST plugin preset + Apri VST plugin preset + + + + Previous (-) + + + + + Next (+) + + + + + Save preset + Salva il preset + + + + + Effect by: + + + + + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + + + + + lmms::gui::WatsynView + + + + + + Volume + + + + + + + + Panning + + + + + + + + Freq. multiplier + + + + + + + + Left detune + + + + + + + + + + + + cents + + + + + + + + Right detune + + + + + A-B Mix + + + + + Mix envelope amount + + + + + Mix envelope attack + + + + + Mix envelope hold + + + + + Mix envelope decay + + + + + Crosstalk + + + + + Select oscillator A1 + + + + + Select oscillator A2 + + + + + Select oscillator B1 + + + + + Select oscillator B2 + + + + + Mix output of A2 to A1 + + + + + Modulate amplitude of A1 by output of A2 + + + + + Ring modulate A1 and A2 + + + + + Modulate phase of A1 by output of A2 + + + + + Mix output of B2 to B1 + + + + + Modulate amplitude of B1 by output of B2 + + + + + Ring modulate B1 and B2 + + + + + Modulate phase of B1 by output of B2 + + + + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + Load waveform + + + + + Load a waveform from a sample file + + + + + Phase left + + + + + Shift phase by -15 degrees + + + + + Phase right + + + + + Shift phase by +15 degrees + + + + + + Normalize + + + + + + Invert + + + + + + Smooth + + + + + Sine wave - Onda sinusoidale + - - + + + Triangle wave - Onda triangolare + - - + Saw wave - Onda a dente di sega + - - + + Square wave - Onda quadra - - - - - White noise - Rumore bianco - - - - - User-defined wave - Onda definita dall'utente - - - - - Smooth waveform - Spiana forma d'onda - - - - - Normalize waveform - Forma d'onda normale + - VoiceObject + lmms::gui::WaveShaperControlDialog - - Voice %1 pulse width - Ampiezza pulse voce %1 - - - - Voice %1 attack - Attacco voce %1 - - - - Voice %1 decay - Decadimento voce %1 - - - - Voice %1 sustain - Sostegno voce %1 - - - - Voice %1 release - Rilascio voce %1 - - - - Voice %1 coarse detuning - Intonazione voce %1 - - - - Voice %1 wave shape - Forma d'onda voce %1 - - - - Voice %1 sync - Sincronizzazione voce %1 - - - - Voice %1 ring modulate - Modulazione ring voce %1 - - - - Voice %1 filtered - Filtraggio voce %1 - - - - Voice %1 test - Test voce %1 - - - - WaveShaperControlDialog - - + INPUT - INPUT + - + Input gain: - Guadagno in Input: + - + OUTPUT - OUTPUT - - - - Output gain: - Guadagno in output: + - - Reset wavegraph - Reimposta grafico d'onda + Output gain: + + - - Smooth wavegraph - Grafico d'onda piana + Reset wavegraph + Ripristina il grafico d'onda + - - Increase wavegraph amplitude by 1 dB - Incrementa ampiezza grafico d'onda di 1 dB + Smooth wavegraph + + - + Increase wavegraph amplitude by 1 dB + + + + + Decrease wavegraph amplitude by 1 dB - Decrementa ampiezza grafico d'onda di 1 dB + - + Clip input - Taglia input + - + Clip input signal to 0 dB - Segnale ingresso clip a 0 dB + - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Guadagno in input + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Guadagno in output + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/ja.ts b/data/locale/ja.ts index 84c5c8a6a..fffa83420 100644 --- a/data/locale/ja.ts +++ b/data/locale/ja.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,812 +70,45 @@ LMMSを他の言語に翻訳したり、翻訳を改善することに興味が - AmplifierControlDialog + AboutJuceDialog - - VOL - 音量 - - - - Volume: - 音量: - - - - PAN - パン - - - - Panning: - パン: - - - - LEFT - - - - - Left gain: - 左ゲイン: - - - - RIGHT - - - - - Right gain: - 右ゲイン: - - - - AmplifierControls - - - Volume - 音量 - - - - Panning - パン - - - - Left gain - 左ゲイン - - - - Right gain - 右ゲイン - - - - AudioAlsaSetupWidget - - - DEVICE - デバイス - - - - CHANNELS - チャンネル - - - - AudioFileProcessorView - - - Open sample - サンプルを開く - - - - Reverse sample - サンプルを反転する - - - - Disable loop - ループを無効にする - - - - Enable loop - ループを有効にする - - - - Enable ping-pong loop + + About JUCE - - Continue sample playback across notes - 異なるノートへサンプルの再生を引き継ぐ - - - - Amplify: - 増幅: - - - - Start point: - 開始点: - - - - End point: - 終了点: - - - - Loopback point: - ループバック位置: - - - - AudioFileProcessorWaveView - - - Sample length: - サンプルの長さ: - - - - AudioJack - - - JACK client restarted - JACKクライアントを再起動しました - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS は何らかの理由で JACK からキックされました。そのため、LMMS の JACKバックエンドが再起動されています。あなたは、手動で接続しなおす必要があります。 - - - - JACK server down - JACK サーバーダウン - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - ごめんなさい…JACK サーバーがシャットダウンして、新しいインスタンスの開始に失敗したようです。そのために、LMMS が続行できません。今すぐプロジェクトを保存してJACK と LMMS を再起動してください。 - - - - Client name + + <b>About JUCE</b> - - Channels + + This program uses JUCE version 3.x.x. + + + + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + + + + + This program uses JUCE version - AudioOss + AudioDeviceSetupWidget - - Device + + [System Default] - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - リセット(&R) (%1%2) - - - - &Copy value (%1%2) - 値をコピー(&C) (%1%2) - - - - &Paste value (%1%2) - 値を貼り付け(&P) (%1%2) - - - - &Paste value - &値を貼り付け - - - - Edit song-global automation - 曲全体のオートメーションを編集 - - - - Remove song-global automation - 曲全体のオートメーションを削除 - - - - Remove all linked controls - リンクされたコントロールを全て削除 - - - - Connected to %1 - %1 に接続済み - - - - Connected to controller - コントローラーに接続済み - - - - Edit connection... - 接続を編集... - - - - Remove connection - 接続を削除 - - - - Connect to controller... - コントローラーに接続... - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - コントロールのコンテキストメニューでオートメーションパターンを開いてください! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - 現在のパターンの再生/一時停止 (Space) - - - - Stop playing of current clip (Space) - 現在のパターンの再生を停止 (Space) - - - - Edit actions - 編集機能 - - - - Draw mode (Shift+D) - 描画モード (shift+D) - - - - Erase mode (Shift+E) - 消去モード (shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - 左右反転 - - - - Flip horizontally - 上下反転 - - - - Interpolation controls - 補間コントロール - - - - Discrete progression - 離散 - - - - Linear progression - 線形補間 - - - - Cubic Hermite progression - エルミート曲線 - - - - Tension value for spline - スプラインのテンション値 - - - - Tension: - テンション: - - - - Zoom controls - ズーム コントロール - - - - Horizontal zooming - 水平方向にズーム - - - - Vertical zooming - 垂直方向にズーム - - - - Quantization controls - クオンタイゼーション コントロール - - - - Quantization - クオンタイズ - - - - - Automation Editor - no clip - オートメーション エディター - パターンなし - - - - - Automation Editor - %1 - オートメーション エディター - %1 - - - - Model is already connected to this clip. - モデルは、すでにこのパターンに接続されています。 - - - - AutomationClip - - - Drag a control while pressing <%1> - <%1>を押しながらコントロールをドラッグしてください - - - - AutomationClipView - - - Open in Automation editor - オートメーション エディターで開く - - - - Clear - クリア - - - - Reset name - 名前をリセット - - - - Change name - 名前を変更 - - - - Set/clear record - 録音をセット/クリア - - - - Flip Vertically (Visible) - 左右反転 - - - - Flip Horizontally (Visible) - 上下反転 - - - - %1 Connections - %1 個の接続 - - - - Disconnect "%1" - "%1" を切断 - - - - Model is already connected to this clip. - モデルは、すでにこのパターンに接続されています。 - - - - AutomationTrack - - - Automation track - オートメーション トラック - - - - PatternEditor - - - Beat+Bassline Editor - ビート+ベースライン エディター - - - - Play/pause current beat/bassline (Space) - 現在のビート/ベースラインの再生/一時停止 (Space) - - - - Stop playback of current beat/bassline (Space) - 現在のビート/ベースラインの再生を停止 (Space) - - - - Beat selector - ビート セレクター - - - - Track and step actions - トラックとステップアクション - - - - Add beat/bassline - ビート/ベースラインを追加 - - - - Clone beat/bassline clip - - - - - Add sample-track - サンプルトラックを追加 - - - - Add automation-track - オートメーション トラックを追加 - - - - Remove steps - ステップを削除 - - - - Add steps - ステップを追加 - - - - Clone Steps - ステップを複製 - - - - PatternClipView - - - Open in Beat+Bassline-Editor - ビート+ベースライン エディターで開く - - - - Reset name - 名前をリセット - - - - Change name - 名前を変更 - - - - PatternTrack - - - Beat/Bassline %1 - ビート/ベースライン %1 - - - - Clone of %1 - %1の複製 - - - - BassBoosterControlDialog - - - FREQ - 周波数 - - - - Frequency: - 周波数: - - - - GAIN - ゲイン - - - - Gain: - ゲイン: - - - - RATIO - レシオ - - - - Ratio: - レシオ: - - - - BassBoosterControls - - - Frequency - 周波数 - - - - Gain - ゲイン - - - - Ratio - レシオ - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - OUT - - - - - GAIN - ゲイン - - - - Input gain: - 入力ゲイン: - - - - NOISE - ノイズ - - - - Input noise: - 入力ノイズ: - - - - Output gain: - 出力ゲイン: - - - - CLIP - クリップ - - - - Output clip: - 出力クリップ - - - - Rate enabled - Rateが有効です - - - - Enable sample-rate crushing - サンプルレートクラシングを有効にする - - - - Depth enabled - 有効な深度 - - - - Enable bit-depth crushing - ビット深度クラシングを有効にする - - - - FREQ - 周波数 - - - - Sample rate: - サンプルレート: - - - - STEREO - ステレオ - - - - Stereo difference: - 位相 - - - - QUANT - クオンタイズ - - - - Levels: - レベル: - - - - BitcrushControls - - - Input gain - 入力ゲイン - - - - Input noise - 入力ノイズ - - - - Output gain - 出力ゲイン - - - - Output clip - アウトプットクリップ - - - - Sample rate - サンプルレート - - - - Stereo difference - ステレオの相違 - - - - Levels - レベル - - - - Rate enabled - Rateが有効です - - - - Depth enabled - 有効な深度 - CarlaAboutW @@ -900,124 +133,124 @@ LMMSを他の言語に翻訳したり、翻訳を改善することに興味が - + Artwork - + アートワーク - + Using KDE Oxygen icon set, designed by Oxygen Team. - + OxygenチームがデザインしたKDE Oxygenアイコンセットを使用<br> - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License ライセンス - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1302,50 +535,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1378,561 +611,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File ファイル(&F) - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help ヘルプ(&H) - - toolBar + + Tool Bar - + Disk - - + + Home ホーム - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: 時間: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings 設定 - + BPM - + Use JACK Transport - + Use Ableton Link - + &New 新規(&N) - + Ctrl+N - + &Open... 開く(&O)... - - + + Open... - + Ctrl+O - + &Save 保存(&S) - + Ctrl+S - + Save &As... 名前を付けて保存(&A)... - - + + Save As... - + Ctrl+Shift+S - + &Quit 終了(&Q) - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error エラー - + Failed to load project - + Failed to save project - + Quit - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - GUI を表示 - - CarlaSettingsW @@ -1987,19 +1257,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2020,1487 +1290,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths パス - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio オーディオ - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - レシオ: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - アタック: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - リリース: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Hold: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - 出力ゲイン - - - - - Gain - ゲイン - - - - Output volume - - - - - Input gain - 入力ゲイン - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - レシオ - - - - Attack - アタック - - - - Release - Release - - - - Knee - - - - - Hold - Hold - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - - - - - Input Gain - - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - フィードバック - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - ミックス - - - - Controller - - - Controller %1 - コントローラー %1 - - - - ControllerConnectionDialog - - - Connection Settings - 接続設定 - - - - MIDI CONTROLLER - MIDI コントローラ - - - - Input channel - 入力チャンネル - - - - CHANNEL - チャンネル - - - - Input controller - 入力コントローラー - - - - CONTROLLER - コントローラー - - - - - Auto Detect - 自動検出 - - - - MIDI-devices to receive MIDI-events from - MIDI イベントを受信するための MIDI デバイス - - - - USER CONTROLLER - ユーザー コントローラー - - - - MAPPING FUNCTION - マッピング機能 - - - - OK - OK - - - - Cancel - キャンセル - - - - LMMS - LMMS - - - - Cycle Detected. - 循環が検出されました。 - - - - ControllerRackView - - - Controller Rack - コントローラー ラック - - - - Add - 追加 - - - - Confirm Delete - 削除の確認 - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - 削除してもよいですか? このコントローラーに関連付けられた接続があります。削除すると元に戻す方法はありません。 - - - - ControllerView - - - Controls - コントロール - - - - Rename controller - コントローラー名の変更 - - - - Enter the new name for this controller - コントローラーの新しい名前を入力してください - - - - LFO - LFO - - - - &Remove this controller - このコントローラーを取り外す (&R) - - - - Re&name this controller - このコントローラー名を変更 (&n) - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - バンド1/2クロスオーバー: - - - - Band 2/3 crossover: - バンド 2/3 クロスオーバー: - - - - Band 3/4 crossover: - バンド 3/4 クロスオーバー: - - - - Band 1 gain - バンド 1 ゲイン - - - - Band 1 gain: - バンド 1 ゲイン: - - - - Band 2 gain - バンド 2 ゲイン - - - - Band 2 gain: - バンド 2 ゲイン: - - - - Band 3 gain - バンド 3 ゲイン - - - - Band 3 gain: - バンド 3 ゲイン: - - - - Band 4 gain - バンド 4 ゲイン - - - - Band 4 gain: - バンド 4 ゲイン - - - - Band 1 mute - バンド1ミュート - - - - Mute band 1 - バンド1をミュート - - - - Band 2 mute - バンド2 ミュート - - - - Mute band 2 - バンド2をミュート - - - - Band 3 mute - バンド3 ミュート - - - - Mute band 3 - バンド3をミュート - - - - Band 4 mute - バンド4 ミュート - - - - Mute band 4 - バンド4をミュート - - - - DelayControls - - - Delay samples - ディレイサンプル - - - - Feedback - フィードバック - - - - LFO frequency - LFO周波数 - - - - LFO amount - LFOの量 - - - - Output gain - 出力ゲイン - - - - DelayControlsDialog - - - DELAY - ディレイ - - - - Delay time - ディレイ タイム - - - - FDBK - フィードバック - - - - Feedback amount - フィードバック量 - - - - RATE - モジュレーションスピード - - - - LFO frequency - LFO周波数 - - - - AMNT - AMNT - - - - LFO amount - LFOの量 - - - - Out gain - 出力ゲイン - - - - Gain - ゲイン - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3526,27 +1898,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3573,7 +1924,7 @@ If you are unsure, leave it as 'Automatic'. Device: - + デバイス : @@ -3601,948 +1952,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - 周波数 - - - - - Cutoff frequency - カットオフ周波数 - - - - - RESO - レゾナンス - - - - - Resonance - レゾナンス - - - - - GAIN - ゲイン - - - - - Gain - ゲイン - - - - MIX - ミックス - - - - Mix - ミックス - - - - Filter 1 enabled - フィルタ1が有効です - - - - Filter 2 enabled - フィルタ2が有効です - - - - Enable/disable filter 1 - フィルター 1 を有効化 / 無効化 - - - - Enable/disable filter 2 - フィルター 2 を有効化 / 無効化 - - - - DualFilterControls - - - Filter 1 enabled - フィルタ1は有効です - - - - Filter 1 type - フィルタ1の種類 - - - - Cutoff frequency 1 - カットオフ周波数 1 - - - - Q/Resonance 1 - Q/Resonance 1 - - - - Gain 1 - ゲイン 1 - - - - Mix - ミックス - - - - Filter 2 enabled - フィルタ2は有効 - - - - Filter 2 type - フィルタ2の種類 - - - - Cutoff frequency 2 - カットオフ周波数 2 - - - - Q/Resonance 2 - Q/Resonance 2 - - - - Gain 2 - ゲイン 2 - - - - - Low-pass - ローパス - - - - - Hi-pass - ハイパス - - - - - Band-pass csg - バンドパス csg - - - - - Band-pass czpg - バンドパス czpg - - - - - Notch - Notch - - - - - All-pass - オールパス - - - - - Moog - Moog - - - - - 2x Low-pass - 2x ローパス - - - - - RC Low-pass 12 dB/oct - RC ローパス 12dB/オクターブ - - - - - RC Band-pass 12 dB/oct - RC バンドパス 12dB/オクターブ - - - - - RC High-pass 12 dB/oct - RC ハイパス 12dB/オクターブ - - - - - RC Low-pass 24 dB/oct - RC ローパス 24dB/オクターブ - - - - - RC Band-pass 24 dB/oct - RC バンドパス 24dB/オクターブ - - - - - RC High-pass 24 dB/oct - RC ハイパス 24dB/オクターブ - - - - - Vocal Formant - ボーカル フォルマント - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - SV ローパス - - - - - SV Band-pass - SV バンドパス - - - - - SV High-pass - SV ハイパス - - - - - SV Notch - SV Notch - - - - - Fast Formant - Fast Formant - - - - - Tripole - Tripole - - - - Editor - - - Transport controls - トランスポートコントロール - - - - Play (Space) - 再生 (Space) - - - - Stop (Space) - 停止 (Space) - - - - Record - 録音 - - - - Record while playing - 再生&録音 - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - エフェクト有効 - - - - Wet/Dry mix - ウェット/ドライミックス - - - - Gate - ゲート - - - - Decay - ディケイ - - - - EffectChain - - - Effects enabled - エフェクト有効 - - - - EffectRackView - - - EFFECTS CHAIN - エフェクトチェイン - - - - Add effect - エフェクトを追加 - - - - EffectSelectDialog - - - Add effect - エフェクトを追加 - - - - - Name - 名前 - - - - Type - 種類 - - - - Description - 説明 - - - - Author - 製作者 - - - - EffectView - - - On/Off - オン/オフ - - - - W/D - W/D - - - - Wet Level: - ウェット - - - - DECAY - ディケイ - - - - Time: - 時間: - - - - GATE - ゲート - - - - Gate: - ゲート: - - - - Controls - コントロール - - - - Move &up - 一つ上へ(&u) - - - - Move &down - 一つ下へ(&d) - - - - &Remove this plugin - このプラグインを削除(&R) - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Env プリディレイ - - - - Env attack - Env アタック - - - - Env hold - Env ホールド - - - - Env decay - Env ディケイ - - - - Env sustain - Env サステイン - - - - Env release - Env リリース - - - - Env mod amount - エンベロープモッド量 - - - - LFO pre-delay - LFOプレディレイ - - - - LFO attack - LFOアタック - - - - LFO frequency - LFO周波数 - - - - LFO mod amount - LFOモッド量 - - - - LFO wave shape - LFO 波形 - - - - LFO frequency x 100 - LFO周波数 100倍 - - - - Modulate env amount - モデュレート エンベローブ 量 - - - - EnvelopeAndLfoView - - - - DEL - ATT - - - - - Pre-delay: - プレディレイ: - - - - - ATT - ATT - - - - - Attack: - アタック: - - - - HOLD - HOLD - - - - Hold: - Hold: - - - - DEC - DEC - - - - Decay: - ディケイ: - - - - SUST - SUST - - - - Sustain: - サスティン: - - - - REL - REL - - - - Release: - リリース: - - - - - AMT - Hold: - - - - - Modulation amount: - Modulation amount: - - - - SPD - SPD - - - - Frequency: - 周波数: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - モデュレートエンベロープ 量 - - - - Control envelope amount by this LFO - このLFOによるエンベローブ量を調節 - - - - ms/LFO: - ms/LFO: - - - - Hint - ヒント - - - - Drag and drop a sample into this window. - サンプルをこのウィンドウにドラッグ & ドロップしてください。 - - - - EqControls - - - Input gain - 入力ゲイン - - - - Output gain - 出力ゲイン - - - - Low-shelf gain - ローシェルフ ゲイン - - - - Peak 1 gain - ピーク 1 ゲイン - - - - Peak 2 gain - ピーク 2 ゲイン - - - - Peak 3 gain - ピーク 3 ゲイン - - - - Peak 4 gain - ピーク 4 ゲイン - - - - High-shelf gain - ハイシェルフ ゲイン - - - - HP res - HP res - - - - Low-shelf res - ローシェルフ レゾナンス - - - - Peak 1 BW - ピーク 1 BW - - - - Peak 2 BW - ピーク 2 BW - - - - Peak 3 BW - ピーク 3 BW - - - - Peak 4 BW - ピーク 4 BW - - - - High-shelf res - ハイシェルフ レゾナンス - - - - LP res - LP レゾナンス - - - - HP freq - HP 周波数 - - - - Low-shelf freq - ローシェルフ 周波数 - - - - Peak 1 freq - ピーク 1 周波数 - - - - Peak 2 freq - ピーク 2 周波数 - - - - Peak 3 freq - ピーク 3 周波数 - - - - Peak 4 freq - ピーク 4 周波数 - - - - High-shelf freq - ハイシェルフ 周波数 - - - - LP freq - LP 周波数 - - - - HP active - HP オン - - - - Low-shelf active - ローシェルフ ON - - - - Peak 1 active - ピーク 1 ON - - - - Peak 2 active - ピーク 2 ON - - - - Peak 3 active - ピーク 3 ON - - - - Peak 4 active - ピーク 4 ON - - - - High-shelf active - ハイシェルフ ON - - - - LP active - LP ON - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - ローパス 種類 - - - - High-pass type - ハイパス 種類 - - - - Analyse IN - 分析 IN - - - - Analyse OUT - 分析 OUT - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - ローシェルフ - - - - Peak 1 - ピーク 1 - - - - Peak 2 - ピーク 2 - - - - Peak 3 - ピーク 3 - - - - Peak 4 - ピーク 4 - - - - High-shelf - ハイシェルフ - - - - LP - LP - - - - Input gain - 入力ゲイン - - - - - - Gain - ゲイン - - - - Output gain - 出力ゲイン - - - - Bandwidth: - 帯域幅 - - - - Octave - オクターブ - - - - Resonance : - レゾナンス : - - - - Frequency: - 周波数: - - - - LP group - ローパスグループ - - - - HP group - ハイパスグループ - - - - EqHandle - - - Reso: - Reso - - - - BW: - BW : - - - - - Freq: - Freq : - - ExportProjectDialog @@ -4726,2126 +2135,652 @@ If you are unsure, leave it as 'Automatic'. 最高品質 (最低速) - - Oversampling: - オーバーサンプリング : - - - - 1x (None) - 1x (そのまま) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start 開始 - + Cancel キャンセル - - - Could not open file - ファイルを開けません - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - ファイル %1 を開けません。 -書き込み権限があることを確認してからもう一度試してください。 - - - - Export project to %1 - プロジェクトを %1 にエクスポート - - - - ( Fastest - biggest ) - ( 最速 - 最大 ) - - - - ( Slowest - smallest ) - ( 最低速 - 最小 ) - - - - Error - エラー - - - - Error while determining file-encoder device. Please try to choose a different output format. - ファイルエンコーダーのデバイスを選択する際にエラーが発生しました。違うフォーマットを選択してください。 - - - - Rendering: %1% - レンダリング: %1% - - - - Fader - - - Set value - 値をセット - - - - Please enter a new value between %1 and %2: - %1 と %2 の間の新しい値を入力してください: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - ブラウザ - - - - Search - 検索 - - - - Refresh list - リストの更新 - - - - FileBrowserTreeWidget - - - Send to active instrument-track - 現在開いているインストゥルメントトラックに上書きする - - - - Open containing folder - - - - - Song Editor - ソング エディター - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - サンプルを読み込み中 - - - - Please wait, loading sample for preview... - プレビュー用のサンプルを読み込んでいます... - - - - Error - エラー - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- ファクトリーファイル --- - - - - FlangerControls - - - Delay samples - ディレイサンプル - - - - LFO frequency - LFO周波数 - - - - Seconds - - - - - Stereo phase - - - - - Regen - - - - - Noise - ノイズ - - - - Invert - 反転 - - - - FlangerControlsDialog - - - DELAY - ディレイ - - - - Delay time: - ディレイ時間 : - - - - RATE - モジュレーションスピード - - - - Period: - ピリオド: - - - - AMNT - AMNT - - - - Amount: - アマウント: - - - - PHASE - - - - - Phase: - - - - - FDBK - フィードバック - - - - Feedback amount: - フィードバック 量 : - - - - NOISE - ノイズ - - - - White noise amount: - ホワイトノイズ 量 : - - - - Invert - 反転 - - - - FreeBoyInstrument - - - Sweep time - スイープする時間 - - - - Sweep direction - スイープする方向 - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - チャンネル1の音量 - - - - - - Volume sweep direction - 音量のスイープ方向 - - - - - - Length of each step in sweep - - - - - Channel 2 volume - チャンネル2の音量 - - - - Channel 3 volume - チャンネル3の音量 - - - - Channel 4 volume - チャンネル4の音量 - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - チャンネル 1 を SO2 (左)に - - - - Channel 2 to SO2 (Left) - チャンネル 2 を SO2 (左)に - - - - Channel 3 to SO2 (Left) - チャンネル 3 を SO2 (左)に - - - - Channel 4 to SO2 (Left) - チャンネル 4 を SO2 (左)に - - - - Channel 1 to SO1 (Right) - チャンネル 1 を SO1 (右)に - - - - Channel 2 to SO1 (Right) - チャンネル 2 を SO1 (右)に - - - - Channel 3 to SO1 (Right) - チャンネル 3 を SO1 (右)に - - - - Channel 4 to SO1 (Right) - チャンネル 4 を SO1 (右)に - - - - Treble - 音域 - - - - Bass - ベース - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - スイープする時間 - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - 音域: - - - - Treble - 音域 - - - - Bass: - ベース: - - - - Bass - ベース - - - - Sweep direction - スイープする方向 - - - - - - - - Volume sweep direction - 音量のスイープ方向 - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - チャンネル 1 を SO1 (右)に - - - - Channel 2 to SO1 (Right) - チャンネル 2 を SO1 (右)に - - - - Channel 3 to SO1 (Right) - チャンネル 3 を SO1 (右)に - - - - Channel 4 to SO1 (Right) - チャンネル 4 を SO1 (右)に - - - - Channel 1 to SO2 (Left) - チャンネル 1 を SO2 (左)に - - - - Channel 2 to SO2 (Left) - チャンネル 2 を SO2 (左)に - - - - Channel 3 to SO2 (Left) - チャンネル 3 を SO2 (左)に - - - - Channel 4 to SO2 (Left) - チャンネル 4 を SO2 (左)に - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - - - - - Move &left - 一つ左へ (&l) - - - - Move &right - 一つ右へ (&r) - - - - Rename &channel - チャンネル名を変更 (&c) - - - - R&emove channel - チャンネルを削除 (&e) - - - - Remove &unused channels - 使用していないチャンネルを削除 (&u) - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - - - - - New mixer Channel - - - - - Mixer - - - Master - - - - - - - Channel %1 - FX %1 - - - - Volume - 音量 - - - - Mute - ミュート - - - - Solo - ソロ - - - - MixerView - - - Mixer - エフェクトミキサー - - - - Fader %1 - - - - - Mute - ミュート - - - - Mute this mixer channel - このFXチャンネルをミュート - - - - Solo - ソロ - - - - Solo mixer channel - - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - - - - - GigInstrument - - - Bank - バンク - - - - Patch - パッチ - - - - Gain - ゲイン - - - - GigInstrumentView - - - - Open GIG file - GIG ファイルを開く - - - - Choose patch - パッチを選択してください - - - - Gain: - ゲイン: - - - - GIG Files (*.gig) - GIG ファイル (*.gig) - - - - GuiApplication - - - Working directory - 作業ディレクトリ - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - LMMSの作業ディレクトリ %1 は存在しません。作成しますか?編集->セッティング でこのディレクトリを変更できます。 - - - - Preparing UI - UIの準備中 - - - - Preparing song editor - ソング エディター の準備中 - - - - Preparing mixer - ミキサーの準備中 - - - - Preparing controller rack - コントローラー ラック の準備中 - - - - Preparing project notes - プロジェクトノートの準備中 - - - - Preparing beat/bassline editor - ビート/ベースライン エディター の準備中 - - - - Preparing piano roll - ピアノロールの準備中 - - - - Preparing automation editor - オートメーション エディター の準備中 - - - - InstrumentFunctionArpeggio - - - Arpeggio - - - - - Arpeggio type - - - - - Arpeggio range - - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - Skip rate - - - - Miss rate - Miss rate - - - - Arpeggio time - - - - - Arpeggio gate - - - - - Arpeggio direction - - - - - Arpeggio mode - - - - - Up - - - - - Down - - - - - Up and down - - - - - Down and up - - - - - Random - ランダム - - - - Free - - - - - Sort - ソート - - - - Sync - 同期 - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - アルペジオ - - - - RANGE - RANGE - - - - Arpeggio range: - - - - - octave(s) - オクターブ - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - ノート - - - - SKIP - スキップ - - - - Skip rate: - - - - - - - % - % - - - - MISS - - - - - Miss rate: - - - - - TIME - - - - - Arpeggio time: - - - - - ms - ms - - - - GATE - ゲート - - - - Arpeggio gate: - - - - - Chord: - コード: - - - - Direction: - 方向: - - - - Mode: - モード: - InstrumentFunctionNoteStacking - + octave オクターブ - - + + Major Major - + Majb5 Majb5 - + minor minor - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor ハーモニックマイナー - + Melodic minor メロディックマイナー - + Whole tone ホールトーン - + Diminished ディミニッシュ - + Major pentatonic メジャーペンタトニック - + Minor pentatonic マイナーペンタトニック - + Jap in sen Jap in sen - + Major bebop メジャービバップ - + Dominant bebop ドミナントビバップ - + Blues ブルース - + Arabic アラビック - + Enigmatic エニグマティック - + Neopolitan ネオポリタン - + Neopolitan minor ネオポリタンマイナー - + Hungarian minor ハンガリアンマイナー - + Dorian ドリア旋法 - + Phrygian フリギア旋法 - + Lydian 教会旋法 - + Mixolydian ミクソリディア旋法 - + Aeolian エオリア旋法 - + Locrian ロクリアン旋法 - + Minor Minor - + Chromatic クロマティック - + Half-Whole Diminished - + 5 5 - + Phrygian dominant - + Persian - - - Chords - - - - - Chord type - - - - - Chord range - - - - - InstrumentFunctionNoteStackingView - - - STACKING - - - - - Chord: - コード: - - - - RANGE - RANGE - - - - Chord range: - - - - - octave(s) - オクターブ - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - MIDI入力を有効にする - - - - ENABLE MIDI OUTPUT - MIDI出力を有効にする - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - MIDI devices to receive MIDI events from - - - - - MIDI devices to send MIDI events to - - - - - CUSTOM BASE VELOCITY - - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - - - - - InstrumentTuningView - - - MASTER PITCH - - - - - Enables the use of master pitch - マスターピッチの使用を有効化 - InstrumentSoundShaping - + VOLUME 音量 - + Volume 音量 - + CUTOFF Cutoff - - + Cutoff frequency カットオフ周波数 - + RESO レゾナンス - + Resonance レゾナンス - - - Envelopes/LFOs - エンベロープ/LFO - - - - Filter type - フィルターの種類 - - - - Q/Resonance - Q/Resonance - - - - Low-pass - ローパス - - - - Hi-pass - ハイパス - - - - Band-pass csg - バンドパス csg - - - - Band-pass czpg - バンドパス czpg - - - - Notch - Notch - - - - All-pass - オールパス - - - - Moog - Moog - - - - 2x Low-pass - 2x ローパス - - - - RC Low-pass 12 dB/oct - RC ローパス 12dB/オクターブ - - - - RC Band-pass 12 dB/oct - RC バンドパス 12dB/オクターブ - - - - RC High-pass 12 dB/oct - RC ハイパス 12dB/オクターブ - - - - RC Low-pass 24 dB/oct - RC ローパス 24dB/オクターブ - - - - RC Band-pass 24 dB/oct - RC バンドパス 24dB/オクターブ - - - - RC High-pass 24 dB/oct - RC ハイパス 24dB/オクターブ - - - - Vocal Formant - ボーカル フォルマント - - - - 2x Moog - 2x Moog - - - - SV Low-pass - SV ローパス - - - - SV Band-pass - SV バンドパス - - - - SV High-pass - SV ハイパス - - - - SV Notch - SV Notch - - - - Fast Formant - Fast Formant - - - - Tripole - Tripole - - InstrumentSoundShapingView + JackAppDialog - - TARGET - 対象 - - - - FILTER - フィルタ - - - - FREQ - 周波数 - - - - Cutoff frequency: - カットオフ周波数: - - - - Hz - Hz - - - - Q/RESO - レゾナンス - - - - Q/Resonance: - レゾナンス - - - - Envelopes, LFOs and filters are not supported by the current instrument. - エンベロープ、LFOやフィルターなどの操作は現在の楽器プラグインではサポートされていません。 - - - - InstrumentTrack - - - - unnamed_track - 新規トラック - - - - Base note + + Add JACK Application - - First note + + Note: Features not implemented yet are greyed out - - Last note - 最後に使用したノート - - - - Volume - 音量 - - - - Panning - パニング - - - - Pitch - ピッチ - - - - Pitch range - ピッチ範囲 - - - - Mixer channel - FXチャンネル - - - - Master pitch - 主ピッチ - - - - Enable/Disable MIDI CC + + Application - - CC Controller %1 + + Name: - - - Default preset - Default preset - - - - InstrumentTrackView - - - Volume - 音量 - - - - Volume: - 音量: - - - - VOL - 音量 - - - - Panning - パニング - - - - Panning: - パニング: - - - - PAN - パニング - - - - MIDI - MIDI - - - - Input - 入力 - - - - Output - 出力 - - - - Open/Close MIDI CC Rack + + Application: - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - 一般設定 - - - - Volume - 音量 - - - - Volume: - 音量: - - - - VOL - 音量 - - - - Panning - パニング - - - - Panning: - パニング: - - - - PAN - パニング - - - - Pitch - ピッチ - - - - Pitch: - ピッチ: - - - - cents - cent - - - - PITCH - ピッチ - - - - Pitch range (semitones) - ピッチ範囲 (半音) - - - - RANGE - RANGE - - - - Mixer channel - FXチャンネル - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file + + From template - - SAVE - 保存 - - - - Envelope, filter & LFO + + Custom - - Chord stacking & arpeggio + + Template: - - Effects - エフェクト - - - - MIDI - MIDI - - - - Miscellaneous + + Command: - - Save preset - プリセットを保存 + + Setup + - - XML preset file (*.xpf) - XML プリセット ファイル (*.xpf) + + Session Manager: + - - Plugin - プラグイン + + None + - - - JackApplicationW - + + Audio inputs: + + + + + MIDI inputs: + + + + + Audio outputs: + + + + + MIDI outputs: + + + + + Take control of main application window + + + + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6853,947 +2788,11 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - - - - - Set logarithmic - - - - - - Set value - 値をセット - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - -96.0 dBFSから 6.0 dBFSの範囲で新しい値を入力してください: - - - - Please enter a new value between %1 and %2: - %1 と %2 の間の新しい値を入力してください: - - - - LadspaControl - - - Link channels - チャンネルをリンクする - - - - LadspaControlDialog - - - Link Channels - チャンネルをリンクする - - - - Channel - チャンネル - - - - LadspaControlView - - - Link channels - チャンネルをリンクする - - - - Value: - - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - 不明な LADSPA プラグイン %1 が要求されました。 - - - - LcdFloatSpinBox - - - Set value - 値をセット - - - - Please enter a new value between %1 and %2: - %1 と %2 の間の新しい値を入力してください: - - - - LcdSpinBox - - - Set value - 値をセット - - - - Please enter a new value between %1 and %2: - %1 と %2 の間の新しい値を入力してください: - - - - LeftRightNav - - - - - Previous - - - - - - - Next - - - - - Previous (%1) - 前 (%1) - - - - Next (%1) - 次 (%1) - - - - LfoController - - - LFO Controller - LFOコントローラ - - - - Base value - - - - - Oscillator speed - - - - - Oscillator amount - - - - - Oscillator phase - - - - - Oscillator waveform - オシレーターの波形 - - - - Frequency Multiplier - - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - - - - - FREQ - 周波数 - - - - LFO frequency: - - - - - AMNT - AMNT - - - - Modulation amount: - Modulation amount: - - - - PHS - PHS - - - - Phase offset: - - - - - degrees - - - - - Sine wave - サイン波 - - - - Triangle wave - 三角波 - - - - Saw wave - のこぎり波 - - - - Square wave - 矩形波 - - - - Moog saw wave - - - - - Exponential wave - - - - - White noise - - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - - - - - Initializing data structures - - - - - Opening audio and midi devices - オーディオ・MIDIデバイスを開いています - - - - Launching mixer threads - - - - - MainWindow - - - Configuration file - 設定ファイル - - - - Error while parsing configuration file at line %1:%2: %3 - 設定ファイルの%1行目%2列目でパースエラー: %3 - - - - Could not open file - ファイルを開くことができませんでした - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - ファイル %1 を開けません。 -書き込み権限があることを確認してからもう一度試してください。 - - - - Project recovery - プロジェクトの復元 - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - - - - - Recover - 復元 - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - ファイルを復元します。 LMMSを複数にわたり実行しないでください。 - - - - - Discard - 変更を破棄 - - - - Launch a default session and delete the restored files. This is not reversible. - - - - - Version %1 - バージョン %1 - - - - Preparing plugin browser - プラグインブラウザを準備しています - - - - Preparing file browsers - ファイルブラウザを準備しています - - - - My Projects - マイ プロジェクト - - - - My Samples - マイ サンプル - - - - My Presets - マイ プリセット - - - - My Home - マイ ホーム - - - - Root directory - ルートディレクトリ - - - - Volumes - 音量 - - - - My Computer - マイ コンピュータ - - - - &File - ファイル(&F) - - - - &New - 新規(&N) - - - - &Open... - 開く(&O)... - - - - Loading background picture - - - - - &Save - 保存(&S) - - - - Save &As... - 名前を付けて保存(&A)... - - - - Save as New &Version - 新規保存 (&V) - - - - Save as default template - デフォルトのテンプレートとして保存 - - - - Import... - インポート.... - - - - E&xport... - エクスポート(&x)... - - - - E&xport Tracks... - トラックをエクスポート (&x)... - - - - Export &MIDI... - &MIDI 形式でエクスポート - - - - &Quit - 終了(&Q) - - - - &Edit - 編集(&E) - - - - Undo - 元に戻す - - - - Redo - やり直し - - - - Settings - 設定 - - - - &View - &表示 - - - - &Tools - ツール(&T) - - - - &Help - ヘルプ(&H) - - - - Online Help - オンラインヘルプ - - - - Help - ヘルプ - - - - About - LMMSについて - - - - Create new project - 新規プロジェクト作成 - - - - Create new project from template - テンプレートから新規プロジェクトを作成します - - - - Open existing project - 既存プロジェクトを開く - - - - Recently opened projects - 最近開いたプロジェクト - - - - Save current project - 現在のプロジェクトを保存 - - - - Export current project - 現在のプロジェクトをエクスポート - - - - Metronome - メトロノーム - - - - - Song Editor - ソング エディター - - - - - Beat+Bassline Editor - ビート+ベースライン エディター - - - - - Piano Roll - ピアノロール - - - - - Automation Editor - オートメーション エディター - - - - - Mixer - エフェクトミキサー - - - - Show/hide controller rack - コントローラー ラック の表示/非表示 - - - - Show/hide project notes - プロジェクトノートの表示/非表示 - - - - Untitled - 無題 - - - - Recover session. Please save your work! - 復元されたファイルです。今すぐ保存してください! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - 復元された未保存のプロジェクト - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - このプロジェクトは以前のセッションから復元されました。このプロジェクトは現在保存されておらず、保存しないと失われます。保存しますか? - - - - Project not saved - プロジェクトは保存されていません - - - - The current project was modified since last saving. Do you want to save it now? - 現在のプロジェクトは最後に保存してから変更されています。保存しますか? - - - - Open Project - プロジェクトを開く - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - プロジェクトを保存 - - - - LMMS Project - LMMSのプロジェクト - - - - LMMS Project Template - LMMSのプロジェクトのテンプレート - - - - Save project template - プロジェクトのテンプレートを保存 - - - - Overwrite default template? - デフォルトのテンプレートに上書きしますか? - - - - This will overwrite your current default template. - 現在のデフォルトのテンプレートに上書きします - - - - Help not available - ヘルプはありません - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - 今のところ LMMSののヘルプはありません。 - http://lmms.sf.net/wiki にLMMSのドキュメントがあります。 - - - - Controller Rack - コントローラー ラック - - - - Project Notes - プロジェクトノート - - - - Fullscreen - - - - - Volume as dBFS - 音量を dBFS で表示 - - - - Smooth scroll - 滑らかにスクロール - - - - Enable note labels in piano roll - ピアノロールに音階を表示 - - - - MIDI File (*.mid) - MIDIファイル (*.mid) - - - - - untitled - 無題 - - - - - Select file for project-export... - プロジェクトをエクスポートするファイルを選択してください... - - - - Select directory for writing exported tracks... - エクスポートされたトラックの書き込み先のディレクトリを選択... - - - - Save project - プロジェクトを保存 - - - - Project saved - プロジェクトを保存しました - - - - The project %1 is now saved. - プロジェクト %1 を保存しました。 - - - - Project NOT saved. - プロジェクトは保存されていません。 - - - - The project %1 was not saved! - プロジェクト %1 は保存されませんでした! - - - - Import file - ファイルをインポート - - - - MIDI sequences - MIDIシーケンス - - - - Hydrogen projects - Hydrogenプロジェクト - - - - All file types - すべてのファイル - - - - MeterDialog - - - - Meter Numerator - - - - - Meter numerator - - - - - - Meter Denominator - - - - - Meter denominator - - - - - TIME SIG - 拍子 - - - - MeterModel - - - Numerator - - - - - Denominator - - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDIコントローラ - - - - unnamed_midi_controller - 名称未設定_MIDI_コントローラ - - - - MidiImport - - - - Setup incomplete - セットアップの未完了 - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - - - - - Denominator - - - - - Track - トラック - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK サーバーダウン - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - JACKサーバーはシャットダウンしたようです。 - - MidiPatternW @@ -7999,2729 +2998,368 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 終了(&Q) - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D D - + Select All - + A A - - MidiPort - - - Input channel - 入力チャンネル - - - - Output channel - 出力チャンネル - - - - Input controller - 入力コントローラ - - - - Output controller - 出力コントローラ - - - - Fixed input velocity - 固定入力速度 - - - - Fixed output velocity - 固定出力速度 - - - - Fixed output note - 出力ノートを固定 - - - - Output MIDI program - 出力MIDIプログラム - - - - Base velocity - 基のベロシティ - - - - Receive MIDI-events - MIDIイベントを受信 - - - - Send MIDI-events - MIDIイベントを送信 - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - オシレーター 1 の音量 - - - - Osc 1 panning - オシレーター 1 のパン - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - オシレーター 2 の音量 - - - - Osc 2 panning - オシレーター 2 のパン - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - オシレーター 2 の波形 - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - オシレーター 3 の音量 - - - - Osc 3 panning - オシレーター 3 のパン - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - オシレーター 3 の波形 1 - - - - Osc 3 waveform 2 - オシレーター 3 の波形 2 - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - LFO 1 の波形 - - - - LFO 1 attack - LFO 1 のアタック - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - LFO 2 の波形 - - - - LFO 2 attack - LFO 2 のアタック - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - 選択された表示 - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - サイン波 - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - - - - - White noise - - - - - Digital Triangle wave - - - - - Digital Saw wave - - - - - Digital Ramp wave - - - - - Digital Square wave - - - - - Digital Moog saw wave - - - - - Triangle wave - 三角波 - - - - Saw wave - のこぎり波 - - - - Ramp wave - - - - - Square wave - 矩形波 - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - ランダム - - - - Random smooth - - - - - MonstroView - - - Operators view - - - - - Matrix view - - - - - - - Volume - 音量 - - - - - - Panning - パニング - - - - - - Coarse detune - Coarse デチューン - - - - - - semitones - - - - - - Fine tune left - - - - - - - - cents - セント - - - - - Fine tune right - - - - - - - Stereo phase offset - ステレオフレーズのオフセット - - - - - - - - deg - - - - - Pulse width - パルス帯域 - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - アタック - - - - - Rate - レート - - - - - Phase - Phase - - - - - Pre-delay - Pre-delay - - - - - Hold - Hold - - - - - Decay - Decay - - - - - Sustain - Decay - - - - - Release - Release - - - - - Slope - Slope - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Modulation amount - - - - MultitapEchoControlDialog - - - Length - Length - - - - Step length: - Step length: - - - - Dry - Dry - - - - Dry gain: - - - - - Stages - ステージ - - - - Low-pass stages: - - - - - Swap inputs - - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - チャンネル1の音量 - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - チャンネル 2 の音量 - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - チャンネル3の音量 - - - - Channel 4 volume - チャンネル4の音量 - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - マスター音量 - - - - Vibrato - ビブラート - - - - NesInstrumentView - - - - - - Volume - 音量 - - - - - - Coarse detune - Coarse デチューン - - - - - - Envelope length - 変化曲線の長さ - - - - Enable channel 1 - チャンネル1を有効 - - - - Enable envelope 1 - 変化曲線1を有効にする - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - - - - - - 25% Duty cycle - - - - - - 50% Duty cycle - - - - - - 75% Duty cycle - - - - - Enable channel 2 - チャンネル2を有効にする - - - - Enable envelope 2 - - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - - - - - Noise Frequency - - - - - Frequency sweep - - - - - Enable channel 4 - - - - - Enable envelope 4 - - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - - - - - Master volume - マスター音量 - - - - Vibrato - ビブラート - - - - OpulenzInstrument - - - Patch - パッチ - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - アタック - - - - - Decay - Decay - - - - - Release - Release - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 の波形 - - - - Osc %1 harmonic - - - - - - Osc %1 volume - Osc %1 の音量 - - - - - Osc %1 panning - オシレーター %1 のパン - - - - - Osc %1 fine detuning left - - - - - Osc %1 coarse detuning - - - - - Osc %1 fine detuning right - - - - - Osc %1 phase-offset - - - - - Osc %1 stereo phase-detuning - - - - - Osc %1 wave shape - - - - - Modulation type %1 - - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - 有効にするにはここをクリック - - PatchesDialog + Qsynth: Channel Preset + Bank selector + Bank バンク + Program selector + Patch パッチ + Name 名前 + OK OK + Cancel キャンセル - - PatmanView - - - Open patch - - - - - Loop - - - - - Loop mode - - - - - Tune - - - - - Tune mode - - - - - No file selected - ファイルが選択されてません - - - - Open patch file - パッチファイルを開く - - - - Patch-Files (*.pat) - パッチファイル (*.pat) - - - - MidiClipView - - - Open in piano-roll - ピアノロールで開く - - - - Set as ghost in piano-roll - - - - - Clear all notes - すべてのノートをクリア - - - - Reset name - 名前をリセット - - - - Change name - 名前を変更 - - - - Add steps - ステップを追加 - - - - Remove steps - ステップを削除 - - - - Clone Steps - ステップを複製 - - - - PeakController - - - Peak Controller - ピークコントローラー - - - - Peak Controller Bug - ピークコントローラーのバグ - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - - - - - PeakControllerDialog - - - PEAK - PEAK - - - - LFO Controller - LFOコントローラー - - - - PeakControllerEffectControlDialog - - - BASE - BASE - - - - Base: - - - - - AMNT - AMNT - - - - Modulation amount: - Modulation amount: - - - - MULT - MULT - - - - Amount multiplicator: - - - - - ATCK - ATCK - - - - Attack: - アタック: - - - - DCAY - ATCK - - - - Release: - リリース: - - - - TRSH - TRSH - - - - Treshold: - スレショルド: - - - - Mute output - - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - - - - - Modulation amount - Modulation amount - - - - Attack - アタック - - - - Release - Release - - - - Treshold - - - - - Mute output - - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - ノートのベロシティー - - - - Note Panning - ノートのパン - - - - Mark/unmark current semitone - - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - - - - - Select all notes on this key - このキーのすべてのノートを選択 - - - - Note lock - ノートロック - - - - Last note - 最後に使用したノート - - - - No key - - - - - No scale - - - - - No chord - - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - 音量: %1% - - - - Panning: %1% left - パニング: %1%左 - - - - Panning: %1% right - パニング: %1%右 - - - - Panning: center - パニング: 中央 - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - パターン上でダブルクリックして、パターンを開いてください! - - - - - Please enter a new value between %1 and %2: - %1 と %2 の間の新しい値を入力してください: - - - - PianoRollWindow - - - Play/pause current clip (Space) - 現在のパターンの再生/一時停止 (Space) - - - - Record notes from MIDI-device/channel-piano - MIDIデバイス/チャンネルピアノからノートを録音する - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - 再生しながらMIDIデバイス/チャンネルピアノからノートを録音する - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - 現在のパターンの再生を停止 (Space) - - - - Edit actions - 編集機能 - - - - Draw mode (Shift+D) - 描画モード (shift+D) - - - - Erase mode (Shift+E) - 消去モード (shift+E) - - - - Select mode (Shift+S) - 選択モード (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - クオンタイズ - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - コントロールを貼り付け - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - タイムラインコントロール - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - 水平方向にズーム - - - - Vertical zooming - 垂直方向にズーム - - - - Quantization - クオンタイズ - - - - Note length - ノートの長さ - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - ピアノロール - %1 - - - - - Piano-Roll - no clip - ピアノロール - パターン無し - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - - - - - First note - - - - - Last note - 最後に使用したノート - - - - Plugin - - - Plugin not found - プラグインが見つかりません - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - プラグイン "%1" は見つからないか読み込みができません! -原因: "%2" - - - - Error while loading plugin - プラグイン読み込み中のエラー - - - - Failed to load plugin "%1"! - プラグイン "%1" の読み込みに失敗しました! - - PluginBrowser - - Instrument Plugins - 楽器プラグイン - - - - Instrument browser - 楽器ブラウザ - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - 楽器をソング エディターやビート+ベースライン エディターまたは存在する楽器トラックにドラッグしてください。 - - - + no description 説明なし - + A native amplifier plugin ネイティブのアンププラグイン - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - + Boost your bass the fast and simple way - + Customizable wavetable synthesizer カスタマイズ可能なウェーブテーブルシンセサイザーです - + An oversampling bitcrusher - + Carla Patchbay Instrument - + Carla Rack Instrument - + A dynamic range compressor. - + A 4-band Crossover Equalizer 4バンドのクロスオーバーイコライザー - + A native delay plugin ネイティブのディレイプラグイン - + A Dual filter plugin ネイティブのデュアルフィルタープラグイン - + plugin for processing dynamics in a flexible way - + A native eq plugin ネイティブのEQプラグイン - + A native flanger plugin ネイティブのフランジャープラグイン - + Emulation of GameBoy (TM) APU GameBoy (TM) のAPUを再現します - + Player for GIG files GIG ファイル用プレイヤー - + Filter for importing Hydrogen files into LMMS - + Versatile drum synthesizer 多彩なドラムシンセサイザーです - + List installed LADSPA plugins インストールされている LADSPA プラグインの一覧 - + plugin for using arbitrary LADSPA-effects inside LMMS. 任意の LADSPA エフェクトを LMMS で使用するためのプラグイン。 - + Incomplete monophonic imitation TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS - + Filter for importing MIDI-files into LMMS - + Monstrous 3-oscillator synth with modulation matrix - + A multitap echo delay plugin - + A NES-like synthesizer ファミコン似のシンセサイザーです - + 2-operator FM Synth - + Additive Synthesizer for organ-like sounds - + GUS-compatible patch instrument - + Plugin for controlling knobs with sound peaks サウンドのピークをつまみでコントロールするプラグイン - + Reverb algorithm by Sean Costello Sean Costello による リバーブのアルゴリズム - + Player for SoundFont files サウンドフォント ファイル用プレイヤー - + LMMS port of sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file ステレオの入力ファイルに対するステレオ感を強化するプラグイン - + Plugin for freely manipulating stereo output ステレオ出力を自由に操作するプラグイン - + Tuneful things to bang on - + Three powerful oscillators you can modulate in several ways - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS - + Vibrating string modeler - + plugin for using arbitrary VST effects inside LMMS. - + 4-oscillator modulatable wavetable synth - + plugin for waveshaping - + Mathematical expression parser - + Embedded ZynAddSubFX 埋め込みされた ZynAddSubFX です - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - 種類 - - - - Effects - エフェクト - - - - Instruments - 楽器 - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - キャンセル - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - 種類: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - 名前 - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10820,93 +3458,98 @@ This chip was used in the Commodore 64 computer. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: 種類: - + Maker: - + Copyright: - + Unique ID: @@ -10914,16 +3557,457 @@ Plugin Name PluginFactory - + Plugin not found. プラグインが見つかりませんでした - + LMMS plugin %1 does not have a plugin descriptor named %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10938,157 +4022,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - 閉じる + @@ -11103,50 +4091,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off オン/オフ - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11161,2286 +4149,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - プロジェクトノート - - - - Enter project notes here - ここにプロジェクトノートを入力 - - - - Edit Actions - 編集機能 - - - - &Undo - 元に戻す(&U) - - - - %1+Z - %1+Z - - - - &Redo - やり直し(&R) - - - - %1+Y - %1+Y - - - - &Copy - コピー(&C) - - - - %1+C - %1+C - - - - Cu&t - 切り取り(&t) - - - - %1+X - %1+X - - - - &Paste - 貼り付け(&P) - - - - %1+V - %1+V - - - - Format Actions - フォーマット機能 - - - - &Bold - 太字(&B) - - - - %1+B - %1+B - - - - &Italic - 斜体(&I) - - - - %1+I - %1+I - - - - &Underline - 下線(&U) - - - - %1+U - %1+U - - - - &Left - 左揃え(&L) - - - - %1+L - %1+L - - - - C&enter - 中央揃え(&e) - - - - %1+E - %1+E - - - - &Right - 右揃え(&R) - - - - %1+R - %1+R - - - - &Justify - 両端揃え(&J) - - - - %1+J - %1+J - - - - &Color... - 文字色(&C)... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI GUI を表示 - + Help ヘルプ + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: 名前: - - URI: - - - - - - + Maker: 作成者: - - - + Copyright: 著作権表示: - - + Requires Real Time: - - - - - - + + + Yes はい - - - - - - + + + No いいえ - - + Real Time Capable: - - + In Place Broken: - - + Channels In: 入力チャンネル: - - + Channels Out: 出力チャンネル: - + File: %1 ファイル: %1 - + File: ファイル: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - 最近開いたプロジェクト (&R) + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - 名前の変更... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - 入力 - - - - Input gain: - 入力ゲイン: - - - - Size + + Amplify - - Size: + + Start of sample - - Color + + End of sample - - Color: + + Loopback point - - Output - 出力 + + Reverse sample + - - Output gain: - 出力ゲイン: + + Loop mode + + + + + Stutter + + + + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - 入力ゲイン - - - - Size - - Color + + Input noise + + + Output gain + + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - 出力ゲイン + - SaControls + lmms::SaControls - + Pause - + Reference freeze - + Waterfall - + Averaging - - - Stereo - ステレオ - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - ベース + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - ステレオ - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - オーディオファイルのサイズは %1 MB、再生時間は %2 分に制限されています - - - - Open audio file - オーディオファイルを開く - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - すべてのオーディオファイル (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - WAV ファイル (*.wav) - - - - OGG-Files (*.ogg) - OGG ファイル (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth ファイル (*.ds) - - - - FLAC-Files (*.flac) - FLAC ファイル (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX ファイル (*.spx) - - - - VOC-Files (*.voc) - VOC ファイル (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF ファイル (*.aif *.aiff) - - - - AU-Files (*.au) - AU ファイル (*.au) - - - - RAW-Files (*.raw) - RAW ファイル (*.raw) - - - - SampleClipView - - - Double-click to open sample - ダブルクリックしてサンプルを開く - - - - Delete (middle mousebutton) - 削除 (マウス中ボタン) - - - - Delete selection (middle mousebutton) - - - - - Cut - 切り取り - - - - Cut selection - - - - - Copy - コピー - - - - Copy selection - - - - - Paste - 貼り付け - - - - Mute/unmute (<%1> + middle click) - ミュート/ミュート解除 (<%1> + 中ボタンクリック) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - サンプルを反転する - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - 音量 + - + Panning - パニング + - + Mixer channel - FXチャンネル + - - + + Sample track - サンプルトラック - - - - SampleTrackView - - - Track volume - トラック音量 - - - - Channel volume: - チャンネル音量: - - - - VOL - 音量 - - - - Panning - パニング - - - - Panning: - パニング: - - - - PAN - パニング - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - 一般設定 - - - - Sample volume - - - - - Volume: - 音量: - - - - VOL - 音量 - - - - Panning - パン - - - - Panning: - パン: - - - - PAN - パン - - - - Mixer channel - FXチャンネル - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value - 規定値にリセット - - - - Use built-in NaN handler + + empty - - - Settings - 設定 - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - 音量を dBFS で表示する - - - - Enable tooltips - ツールチップを有効にする - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - プラグイン - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - Qt API を使用した埋め込み - - - - Embed using native Win32 API - ネイティブのWin32 APIを使用した埋め込み - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - - - - - Keep effects running even without input - - - - - - Audio - オーディオ - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - LMMSの作業ディレクトリ - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2のディレクトリ - - - - Default SF2 - - - - - GIG directory - GIGのディレクトリ - - - - Theme directory - - - - - Background artwork - 背景アートワーク - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - パス - - - - OK - OK - - - - Cancel - キャンセル - - - - Frames: %1 -Latency: %2 ms - フレーム: %1 -レイテンシ: %2 ms - - - - Choose your GIG directory - GIGのディレクトリを選択してください - - - - Choose your SF2 directory - SF2のディレクトリを選択してください - - - - minutes - - - - - minute - - - - - Disabled - 無効 - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - カットオフ周波数 + - + Resonance - レゾナンス + + + + + Filter type + - Filter type - フィルターの種類 - - - Voice 3 off - + Volume - 音量 + - + Chip model - チップモデル - - - - SidInstrumentView - - - Volume: - 音量: - - - - Resonance: - レゾナンス: - - - - - Cutoff frequency: - カットオフ周波数: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - アタック: - - - - - Decay: - ディケイ: - - - - Sustain: - サスティン: - - - - - Release: - リリース: - - - - Pulse Width: - - - - - Coarse: - - - - - Pulse wave - - - - - Triangle wave - 三角波 - - - - Saw wave - のこぎり波 - - - - Noise - ノイズ - - - - Sync - 同期 - - - - Ring modulation - - - - - Filtered - - - - - Test - テスト - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - 閉じる + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - テンポ + - + Master volume - マスター音量 + - + Master pitch - 主ピッチ - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - LMMS エラー報告 + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - ファイルを開くことができませんでした - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - ファイルを読み込む権限がないため %1 を開くことができませんでした。 -ファイルを読み込みむ権限を付与してから再試行して下さい。 - - - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - エラー - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - ファイルに書き込むことができませんでした - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - ファイルエラー - - - - The file %1 seems to contain errors and therefore can't be loaded. - ファイル %1 はエラーを含んでいるようで、読み込めません。 - - - - Version difference - バージョンの相違 - - - - template - テンプレート - - - - project - プロジェクト - - - - Tempo - テンポ - - - - TEMPO - テンポ - - - - Tempo in BPM - - - - - High quality mode - 高品質モード - - - - - - Master volume - マスター音量 - - - - - - Master pitch - 主ピッチ - - - - Value: %1% - 値: %1% - - - - Value: %1 semitones + + Width - SongEditorWindow + lmms::StereoMatrixControls - - Song-Editor - ソング エディター - - - - Play song (Space) - 曲を再生 (Space) - - - - Record samples from Audio-device - オーディオデバイスからサンプルを録音 - - - - Record samples from Audio-device while playing song or BB track + + Left to Left - - Stop song (Space) - 曲を停止 (Space) + + Left to Right + - + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + Track actions - - Add beat/bassline - ビート/ベースラインを追加 + + Add pattern-track + - + Add sample-track - サンプルトラックを追加 + - + Add automation-track - オートメーション トラックを追加 + - + Edit actions - 編集機能 + - + Draw mode - 描画モード + - + Knife mode (split sample clips) - + Edit mode (select and move) - 編集モード (選択と移動) + - + Timeline controls - タイムラインコントロール + - + Bar insert controls - + Insert bar - + Remove bar - + Zoom controls - ズームコントロール + + - Horizontal zooming - 水平方向にズーム + Zoom + - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - ヒント + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - 閉じる + - + Maximize - 最大化 + - + Restore - 復元 + - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - %1の設定 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - テンプレートから新規プロジェクト作成 + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - テンポの同期 + - + No Sync - 非同期 + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + No Sync + + + + Eight beats - 8ビート + - + Whole note - 全音符 + - + Half note - 2分音符 + - + Quarter note - 4分音符 + - + 8th note - 8分音符 - - - - 16th note - 16分音符 + + 16th note + + + + 32nd note - 32分音符 + - + Custom... - カスタム... + - + Custom - カスタム - - - - Synced to Eight Beats - 8ビートに同期 + - Synced to Whole Note - 全音符に同期 + Synced to Eight Beats + - Synced to Half Note - 2分音符に同期 + Synced to Whole Note + - Synced to Quarter Note - 4分音符に同期 + Synced to Half Note + - Synced to 8th Note - 8分音符に同期 + Synced to Quarter Note + - Synced to 16th Note - 16分音符に同期 + Synced to 8th Note + + Synced to 16th Note + + + + Synced to 32nd Note - 32分音符に同期 + - TimeDisplayWidget + lmms::gui::TimeDisplayWidget - + Time units - - - MIN - - - SEC - + MIN + - MSEC - ミリ秒 + SEC + - - BAR - 小節 + + MSEC + - BEAT - + BAR + + BEAT + + + + TICK - ティック + - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - 自動でスクロール + - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - ループポイント + - + After stopping go back to beginning - + After stopping go back to position at which playing was started - 停止後は再生を開始した地点へ戻る + - + After stopping keep position - 停止後はその地点のままにする + - + Hint - ヒント + - + Press <%1> to disable magnetic loop points. - <%1> を押してマグネチックループポイントを無効にします。 - - - - Track - - - Mute - ミュート - - - - Solo - ソロ - - - - TrackContainer - - - Couldn't import file - ファイルをインポートすることができませんでした - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - インポート中のファイル %1 のフィルターが見つかりませんでした。 -他のソフトウェアで、このファイルをLMMSがサポートしてる形式に変換してください。 - - - - Couldn't open file - ファイルを開くことができませんでした - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - ファイル %1 を読み込み用に開くことができませんでした。 -ファイルとファイルのディレクトリが読み込み可能かチェックしてから再度開いてください! - - - - Loading project... - プロジェクトを読み込んでいます... - - - - - Cancel - キャンセル - - - - - Please wait... - お待ちください... - - - - Loading cancelled - 読み込みがキャンセルされました - - - - Project loading was cancelled. - プロジェクトの読み込みはキャンセルされました。 - - - - Loading Track %1 (%2/Total %3) - トラックの読み込み中 %1 (%2/Total %3) - - - - Importing MIDI-file... - MIDIファイルをインポートしています... - - - - Clip - - - Mute - ミュート - - - - ClipView - - - Current position - 現在位置 - - - - Current length - 現在の長さ - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 から %5:%6) - - - - Press <%1> and drag to make a copy. - コピーするには<%1>を押しながらドラッグしてください。 - - - - Press <%1> for free resizing. - フリーズ解除には<%1>を押してください。 - - - - Hint - ヒント - - - - Delete (middle mousebutton) - 削除 (マウス中ボタン) - - - - Delete selection (middle mousebutton) - - Cut - 切り取り - - - - Cut selection + + Set loop begin here - - Merge Selection + + Set loop end here - - Copy - コピー - - - - Copy selection + + Loop edit mode (hold shift) - + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - 貼り付け - - - - Mute/unmute (<%1> + middle click) - ミュート/ミュート解除 (<%1> + 中ボタンクリック) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - 貼り付け - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13453,257 +17716,249 @@ Please make sure you have read-permission to the file and the directory containi Mute - ミュート + Solo - ソロ + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - このトラックを複製 - - - - Remove this track - このトラックを削除 - - - - Clear this track - このトラックをクリア - - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - 新規FXチャンネルにアサインする - - - - Turn all recording on - すべての録音をオンにする - - - - Turn all recording off - すべての録音をオフにする - - - - Change color - 色を変更 - - - - Reset color to default - 色をデフォルトにリセット - - - - Set random color - - Clear clip colors + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - オシレーター 1と2 を同期 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - オシレーター 2と3 を同期 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Osc %1 の音量: + - + Osc %1 panning: - オシレーター %1 パニング: + - - Osc %1 coarse detuning: - オシレータ―の %1 コースデチューン: - - - - semitones - 半音 - - - - Osc %1 fine detuning left: - オシレーター %1 のファインデチューン 左: - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - cent + - + Osc %1 fine detuning right: - オシレーター %1 のファインデチューン 右: + - + Osc %1 phase-offset: - オシレーター %1 のオフセットフェーズ : + - - + + degrees - 度数 + - + Osc %1 stereo phase-detuning: - オシレーター %1 のステレオ フェーズデチューン : + - + Sine wave - サイン波 + - + Triangle wave - 三角波 + - + Saw wave - のこぎり波 + - + Square wave - 矩形波 + - + Moog-like saw wave - + Exponential wave - + White noise - + User-defined wave - ユーザー定義波形 - - - - VecControls - - - Display persistence amount - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13718,2618 +17973,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - バージョン番号を大きくする - + lmms::gui::VersionedSaveDialog - Decrement version number - バージョン番号を小さくする + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - すでに存在しています。置き換えますか? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - VSTプラグインを開く + - + Control VST plugin from LMMS host - + Open VST plugin preset - VSTプラグインのプリセットを開く + - + Previous (-) - 前 (-) + - + Save preset - プリセットを保存 + - + Next (+) - 次 (+) + - + Show/hide GUI - GUIを表示/非表示 + - + Turn off all notes - すべてのノートをオフ + - + DLL-files (*.dll) - DLL ファイル (*.dll) + - + EXE-files (*.exe) - EXE ファイル (*.exe) + + + + + SO-files (*.so) + + + + + No VST plugin loaded + - No VST plugin loaded - VSTプラグインは読み込まれていません + Preset + - Preset - プリセット - - - by - + - VST plugin control - - VST プラグイン コントロール + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - 表示/非表示 + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - VSTプラグインのプリセットを開く + - + Previous (-) - 前 (-) + - + Next (+) - 次 (+) + - + Save preset - プリセットを保存 + - - + + Effect by: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VSTプラグイン %1 は読み込めません。 - - - - Open Preset - プリセットを開く - - - - - Vst Plugin Preset (*.fxp *.fxb) - Vstプラグインプリセット (*.fxp *.fxb) - - - - : default - : デフォルト - - - - Save Preset - プリセットを保存 - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - プラグインを読み込み中 - - - - Please wait while loading VST plugin... - VSTプラグインの読み込みの間お待ちください... - - - - WatsynInstrument - - - Volume A1 - 音量 A1 - - - - Volume A2 - 音量 A2 - - - - Volume B1 - 音量 B1 - - - - Volume B2 - 音量B2 - - - - Panning A1 - パニングA1 - - - - Panning A2 - パニングA2 - - - - Panning B1 - パニングB1 - - - - Panning B2 - パニングB2 - - - - Freq. multiplier A1 + + + + + Volume - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - 選択されたグラフ - - - - WatsynView - + + - - - Volume - 音量 + Panning + + + - - - Panning - パニング - - - - - - Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - セント + - - - - + + + + Right detune - + A-B Mix - + Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - + Select oscillator A2 - + Select oscillator B1 - + Select oscillator B2 - + Mix output of A2 to A1 - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - グラフの上でマウスをドラッグして波形を描きます。 + - + Load waveform - 波形の読み込み + - + Load a waveform from a sample file - 波形をサンプルファイルから取り込む + - + Phase left - + Shift phase by -15 degrees - + Phase right - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - ノーマライズ - - - - Invert - 反転 + - - + + Smooth - - + + Sine wave - サイン波 + - - - + + + Triangle wave - 三角波 + - + Saw wave - のこぎり波 + - - + + Square wave - 矩形波 - - - - Xpressive - - - Selected graph - 選択されたグラフ - - - - A1 - - - - - A2 - - - - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - パン 1 - - - - Panning 2 - パン 2 - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Clip input + + + + + Clip input signal to 0 dB + + + + + lmms::gui::XpressiveView + + Draw your own waveform here by dragging your mouse on this graph. - グラフの上でマウスをドラッグして波形を描きます。 + - + Select oscillator W1 - + Select oscillator W2 - + Select oscillator W3 - + Select output O1 - + Select output O2 - + Open help window - - + + Sine wave - サイン波 + - - + + Moog-saw wave - - + + Exponential wave - - - - Saw wave - のこぎり波 - - - - - User-defined wave - ユーザー定義波形 - - - - - Triangle wave - 三角波 - - - Square wave - 矩形波 - - - - - White noise + + Saw wave - - WaveInterpolate + + + User-defined wave + + + + + + Triangle wave + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + ExpressionValid - + General purpose 1: - + General purpose 2: - + General purpose 3: - + O1 panning: - オシレーター 1 のパン: + - + O2 panning: - オシレーター 2 のパン + - + Release transition: - + Smoothness - ZynAddSubFxInstrument + lmms::gui::ZynAddSubFxView - - Portamento - - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - + Portamento: - + PORT - + Filter frequency: - + FREQ - 周波数 - - - - Filter resonance: + Filter resonance: + + + + RES - + Bandwidth: - + BW - + FM gain: - + FM GAIN - + Resonance center frequency: - + RES CF - + Resonance bandwidth: - + RES BW - + Forward MIDI control changes - + Show GUI - GUI を表示 - - - - AudioFileProcessor - - - Amplify - - - - - Start of sample - サンプルの開始位置 - - - - End of sample - サンプルの終了位置 - - - - Loopback point - - - - - Reverse sample - サンプルをリバース - - - - Loop mode - - - - - Stutter - - - - - Interpolation mode - - - - - None - - - - - Linear - - - - - Sinc - - - - - Sample not found: %1 - サンプルが見つかりませんでした: %1 - - - - BitInvader - - - Sample length - サンプルの長さ - - - - BitInvaderView - - - Sample length - サンプルの長さ - - - - Draw your own waveform here by dragging your mouse on this graph. - グラフの上でマウスをドラッグして波形を描きます。 - - - - - Sine wave - サイン波 - - - - - Triangle wave - 三角波 - - - - - Saw wave - のこぎり波 - - - - - Square wave - 矩形波 - - - - - White noise - - - - - - User-defined wave - ユーザー定義波形 - - - - - Smooth waveform - - - - - Interpolation - - - - - Normalize - ノーマライズ - - - - DynProcControlDialog - - - INPUT - 入力 - - - - Input gain: - 入力ゲイン: - - - - OUTPUT - 出力 - - - - Output gain: - 出力ゲイン: - - - - ATTACK - - - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - 波形をリセット - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - DynProcControls - - - Input gain - 入力ゲイン - - - - Output gain - 出力ゲイン - - - - Attack time - - - - - Release time - - - - - Stereo mode - ステレオモード - - - - graphModel - - - Graph - グラフ - - - - KickerInstrument - - - Start frequency - - - - - End frequency - - - - - Length - 長さ - - - - Start distortion - - - - - End distortion - - - - - Gain - ゲイン - - - - Envelope slope - - - - - Noise - ノイズ - - - - Click - - - - - Frequency slope - - - - - Start from note - - - - - End to note - - - - - KickerInstrumentView - - - Start frequency: - - - - - End frequency: - - - - - Frequency slope: - - - - - Gain: - ゲイン: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - - - - - Noise: - ノイズ: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - 利用可能なエフェクト - - - - - Unavailable Effects - 利用不可なエフェクト - - - - - Instruments - 楽器 - - - - - Analysis Tools - 解析ツール - - - - - Don't know - 不明なツール - - - - Type: - 種類: - - - - LadspaDescription - - - Plugins - プラグイン - - - - Description - 説明 - - - - LadspaPortDialog - - - Ports - - - - - Name - 名前 - - - - Rate - レート - - - - Direction - 向き - - - - Type - 種類 - - - - Min < Default < Max - 最小 < デフォルト < 最大 - - - - Logarithmic - - - - - SR Dependent - - - - - Audio - オーディオ - - - - Control - コントロール - - - - Input - 入力 - - - - Output - 出力 - - - - Toggled - - - - - Integer - 整数 - - - - Float - フロート - - - - - Yes - はい - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF カットオフ周波数 - - - - VCF Resonance - VCF レゾナンス - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - ディストーション - - - - Waveform - 波形 - - - - Slide Decay - スライドディケイ - - - - Slide - スライド - - - - Accent - アクセント - - - - Dead - デッド - - - - 24dB/oct Filter - 24dB/オクターブフィルター - - - - Lb302SynthView - - - Cutoff Freq: - カットオフ周波数: - - - - Resonance: - レゾナンス: - - - - Env Mod: - - - - - Decay: - ディケイ: - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - のこぎり波 - - - - Click here for a saw-wave. - - - - - Triangle wave - 三角波 - - - - Click here for a triangle-wave. - クリックして三角波を使用します。 - - - - Square wave - 矩形波 - - - - Click here for a square-wave. - クリックして矩形波を使用します。 - - - - Rounded square wave - - - - - Click here for a square-wave with a rounded end. - - - - - Moog wave - Moog - - - - Click here for a moog-like wave. - クリックしてMoog波を使用します。 - - - - Sine wave - サイン波 - - - - Click for a sine-wave. - クリックしてサイン波を使用します。 - - - - - White noise wave - ホワイトノイズ波 - - - - Click here for an exponential wave. - - - - - Click here for white-noise. - クリックしてホワイトノイズを使用します。 - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - - - - - Position - 位置 - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - - - - - Crossfade - - - - - LFO speed - LFO speed - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - - - - - Motion - - - - - Speed - 速さ - - - - Bowed - - - - - Spread - - - - - Marimba - マリンバ - - - - Vibraphone - ビブラフォン - - - - Agogo - アゴゴ - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - 楽器 - - - - Spread - - - - - Spread: - - - - - Missing files - ファイルがありません - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Stkのインストールが未完了のようです。Stkパッケージがすべてインストールされていることを確認してください! - - - - Hardness - - - - - Hardness: - - - - - Position - 位置 - - - - Position: - 位置: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - - - - - Modulator: - - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - LFO speed - - - - LFO speed: - LFO speed: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - - - - - Pressure: - - - - - Speed - 速さ - - - - Speed: - 速さ: - - - - ManageVSTEffectView - - - - VST parameter control - - VST パラメータ コントロール - - - - VST sync - VSTを同期 - - - - - Automated - オートメーション済 - - - - Close - 閉じる - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST プラグイン コントロール - - - - VST Sync - VST同期 - - - - - Automated - オートメーション済 - - - - Close - 閉じる - - - - OrganicInstrument - - - Distortion - ディストーション - - - - Volume - 音量 - - - - OrganicInstrumentView - - - Distortion: - - - - - Volume: - 音量: - - - - Randomise - - - - - - Osc %1 waveform: - Osc %1 の波形: - - - - Osc %1 volume: - Osc %1 の音量: - - - - Osc %1 panning: - オシレーター %1 パニング: - - - - Osc %1 stereo detuning - - - - - cents - cent - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - バンク - - - - Program selector - - - - - Patch - パッチ - - - - Name - 名前 - - - - OK - OK - - - - Cancel - キャンセル - - - - Sf2Instrument - - - Bank - バンク - - - - Patch - パッチ - - - - Gain - ゲイン - - - - Reverb - リバーブ - - - - Reverb room size - ルームサイズ - - - - Reverb damping - 残響 - - - - Reverb width - - - - - Reverb level - リバーブのレベル - - - - Chorus - コーラス - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - サウンドフォント %1 を読み込めませんでした。 - - - - Sf2InstrumentView - - - - Open SoundFont file - サウンドフォント ファイルを開く - - - - Choose patch - パッチを選択してください - - - - Gain: - ゲイン: - - - - Apply reverb (if supported) - リバーブを適用 (可能であれば) - - - - Room size: - - - - - Damping: - - - - - Width: - - - - - - Level: - - - - - Apply chorus (if supported) - コーラスを適用 (可能であれば) - - - - Voices: - - - - - Speed: - 速さ: - - - - Depth: - ビット深度: - - - - SoundFont Files (*.sf2 *.sf3) - サウンドフォントファイル (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - - - - - StereoEnhancerControls - - - Width - - - - - StereoMatrixControlDialog - - - Left to Left Vol: - 左から左の音量: - - - - Left to Right Vol: - 左から右の音量: - - - - Right to Left Vol: - 右から左の音量: - - - - Right to Right Vol: - 右から右の音量: - - - - StereoMatrixControls - - - Left to Left - 左から左 - - - - Left to Right - 左から右 - - - - Right to Left - 右から左 - - - - Right to Right - 右から右 - - - - VestigeInstrument - - - Loading plugin - プラグインを読み込んでいます - - - - Please wait while loading the VST plugin... - VSTプラグインの読み込みの間はお待ちください... - - - - Vibed - - - String %1 volume - ストリング %1 の音量 - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - インパルス %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - オクターブ - - - - Impulse Editor - - - - - Enable waveform - 波形を有効 - - - - Enable/disable string - - - - - String - - - - - - Sine wave - サイン波 - - - - - Triangle wave - 三角波 - - - - - Saw wave - のこぎり波 - - - - - Square wave - 矩形波 - - - - - White noise - - - - - - User-defined wave - ユーザー定義波形 - - - - - Smooth waveform - - - - - - Normalize waveform - 波形をノーマライズ - - - - VoiceObject - - - Voice %1 pulse width - ボイス %1 のパルス幅 - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - - - - - Voice %1 sync - ボイス %1 の同期 - - - - Voice %1 ring modulate - - - - - Voice %1 filtered - - - - - Voice %1 test - - - - - WaveShaperControlDialog - - - INPUT - 入力 - - - - Input gain: - 入力ゲイン: - - - - OUTPUT - 出力 - - - - Output gain: - 出力ゲイン: - - - - - Reset wavegraph - 波形をリセット - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Clip input - 入力信号をクリップ - - - - Clip input signal to 0 dB - 入力信号を0 dBでクリップさせる - - - - WaveShaperControls - - - Input gain - 入力ゲイン - - - - Output gain - 出力ゲイン - - - + \ No newline at end of file diff --git a/data/locale/ko.ts b/data/locale/ko.ts index 036c73231..b45bfb769 100644 --- a/data/locale/ko.ts +++ b/data/locale/ko.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -24,12 +24,12 @@ LMMS - easy music production for everyone. - LMMS - 누구나 쉽게 할 수 있는 음악 제작. + LMMS - 누구나 쉽게 음악을 제작할 수 있습니다. Copyright © %1. - Copyright © %1. + 저작권 © %1. @@ -62,8 +62,8 @@ If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! 송현진 (Hyunjin Song) <tteu.ingog@gmail.com> 방성범 (Bang Seongbeom) <bangseongbeom@gmail.com> - -LMMS를 다른 언어로 번역하고 싶다거나 기존 번역을 개선하고 싶다면 저희를 도와주세요! LMMS 관리자와의 연락을 통해 참여하실 수 있습니다. +이정희 (Junghee Lee) <daemul72@gmail.com> +LMMS를 다른 언어로 번역하고 싶다거나 기존 번역을 개선하고 싶다면 저희를 도와주세요! LMMS 관리자에게 연락하기만 하면 됩니다! @@ -72,810 +72,43 @@ LMMS를 다른 언어로 번역하고 싶다거나 기존 번역을 개선하고 - AmplifierControlDialog + AboutJuceDialog - - VOL - 음량 + + About JUCE + JUCE 정보 - - Volume: - 음량: + + <b>About JUCE</b> + <b>JUCE 정보</b> - - PAN - 패닝 + + This program uses JUCE version 3.x.x. + 이 프로그램은 JUCE 버전 3.x.x를 사용합니다. - - Panning: - 패닝: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + - - LEFT - 왼쪽 - - - - Left gain: - 왼쪽 이득: - - - - RIGHT - 오른쪽 - - - - Right gain: - 오른쪽 이득: + + This program uses JUCE version + 이 프로그램은 JUCE 버전을 사용합니다. - AmplifierControls + AudioDeviceSetupWidget - - Volume - 음량 - - - - Panning - 패닝 - - - - Left gain - 왼쪽 이득 - - - - Right gain - 오른쪽 이득 - - - - AudioAlsaSetupWidget - - - DEVICE - 장치 - - - - CHANNELS - 채널 - - - - AudioFileProcessorView - - - Open sample - 샘플 파일 열기 - - - - Reverse sample - 샘플 역으로 - - - - Disable loop - 반복 비활성화 - - - - Enable loop - 반복 활성화 - - - - Enable ping-pong loop - - - - - Continue sample playback across notes - 샘플을 여러 음표에 걸쳐 계속 재생 - - - - Amplify: - 증폭: - - - - Start point: - 시작점: - - - - End point: - 끝점: - - - - Loopback point: - 루프 시작점: - - - - AudioFileProcessorWaveView - - - Sample length: - 샘플 길이: - - - - AudioJack - - - JACK client restarted - JACK 클라이언트 다시 시작됨 - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - 알 수 없는 이유로 인해 LMMS와 JACK과의 연결이 끊겼습니다. LMMS의 JACK 드라이버를 다시 시작합니다. 수동으로 연결을 시도할 수도 있습니다. - - - - JACK server down - JACK 서버 다운됨 - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - JACK 서버가 종료된 것 같습니다. 더 이상 작업을 진행할 수 없습니다. 프로젝트를 저장한 뒤 JACK과 LMMS를 다시 시작하세요. - - - - Client name - - - - - Channels - - - - - AudioOss - - - Device - - - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - 초기화 (%1%2)(&R) - - - - &Copy value (%1%2) - 값 복사 (%1%2)(&C) - - - - &Paste value (%1%2) - 값 붙여넣기 (%1%2)(&P) - - - - &Paste value - 값 붙여넣기(&P) - - - - Edit song-global automation - 전역 오토메이션 편집 - - - - Remove song-global automation - 전역 오토메이션 제거 - - - - Remove all linked controls - 연결 제거 - - - - Connected to %1 - %1에 연결됨 - - - - Connected to controller - 컨트롤러에 연결됨 - - - - Edit connection... - 연결 편집... - - - - Remove connection - 연결 제거 - - - - Connect to controller... - 컨트롤러에 연결... - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - 컨트롤의 컨텍스트 메뉴에서 오토메이션 패턴을 여시기 바랍니다! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - 현재 패턴 재생/일시정지 (Space) - - - - Stop playing of current clip (Space) - 현재 패턴 정지 (Space) - - - - Edit actions - 편집 동작 - - - - Draw mode (Shift+D) - 그리기 모드 (Shift+D) - - - - Erase mode (Shift+E) - 지우기 모드 (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - 상하 반전 - - - - Flip horizontally - 좌우 반전 - - - - Interpolation controls - - - - - Discrete progression - 이산적 진행 - - - - Linear progression - 선형 진행 - - - - Cubic Hermite progression - 3차 에르미트 진행 - - - - Tension value for spline - - - - - Tension: - - - - - Zoom controls - - - - - Horizontal zooming - 수평 줌 - - - - Vertical zooming - 수직 줌 - - - - Quantization controls - - - - - Quantization - - - - - - Automation Editor - no clip - 오토메이션 편집기 - 패턴 없음 - - - - - Automation Editor - %1 - 오토메이션 편집기 - %1 - - - - Model is already connected to this clip. - 대상이 이미 패턴에 연결되어 있습니다. - - - - AutomationClip - - - Drag a control while pressing <%1> - <%1> 키를 누른 채로 드래그 - - - - AutomationClipView - - - Open in Automation editor - 오토메이션 편집기에서 열기 - - - - Clear - 지우기 - - - - Reset name - 이름 초기화 - - - - Change name - 이름 바꾸기 - - - - Set/clear record - 녹음 설정/해제 - - - - Flip Vertically (Visible) - 상하 반전 - - - - Flip Horizontally (Visible) - 좌우 반전 - - - - %1 Connections - %1개의 연결 - - - - Disconnect "%1" - "%1" 연결 해제 - - - - Model is already connected to this clip. - 대상이 이미 패턴과 연결되어 있습니다. - - - - AutomationTrack - - - Automation track - 오토메이션 트랙 - - - - PatternEditor - - - Beat+Bassline Editor - 비트/베이스 라인 편집기 - - - - Play/pause current beat/bassline (Space) - 현재 비트/베이스 라인 재생/일시정지 (Space) - - - - Stop playback of current beat/bassline (Space) - 현재 비트/베이스 라인 정지 (Space) - - - - Beat selector - 비트 선택기 - - - - Track and step actions - - - - - Add beat/bassline - 비트/베이스 라인 추가 - - - - Clone beat/bassline clip - - - - - Add sample-track - 샘플 트랙 추가 - - - - Add automation-track - 오토메이션 트랙 추가 - - - - Remove steps - - - - - Add steps - - - - - Clone Steps - - - - - PatternClipView - - - Open in Beat+Bassline-Editor - 비트/베이스 라인 편집기에서 열기 - - - - Reset name - 이름 초기화 - - - - Change name - 이름 바꾸기 - - - - PatternTrack - - - Beat/Bassline %1 - 비트/베이스 라인 %1 - - - - Clone of %1 - %1의 복제 - - - - BassBoosterControlDialog - - - FREQ - 주파수 - - - - Frequency: - 주파수: - - - - GAIN - 이득 - - - - Gain: - 이득: - - - - RATIO - 비율 - - - - Ratio: - 비율: - - - - BassBoosterControls - - - Frequency - 주파수 - - - - Gain - 이득 - - - - Ratio - 비율 - - - - BitcrushControlDialog - - - IN - 입력 - - - - OUT - 출력 - - - - - GAIN - 이득 - - - - Input gain: - 입력 이득: - - - - NOISE - 잡음 - - - - Input noise: - 입력 잡음: - - - - Output gain: - 출력 이득: - - - - CLIP - 클리핑 - - - - Output clip: - 출력 클리핑: - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - 주파수 - - - - Sample rate: - 샘플 레이트: - - - - STEREO - 스테레오 - - - - Stereo difference: - 좌우 차이: - - - - QUANT - - - - - Levels: - - - - - BitcrushControls - - - Input gain - 입력 이득 - - - - Input noise - - - - - Output gain - 출력 이득 - - - - Output clip - 출력 클리핑 - - - - Sample rate - 샘플 레이트 - - - - Stereo difference - 좌우 차이 - - - - Levels - - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -884,7 +117,7 @@ LMMS를 다른 언어로 번역하고 싶다거나 기존 번역을 개선하고 About Carla - + Carla 정보 @@ -894,132 +127,132 @@ LMMS를 다른 언어로 번역하고 싶다거나 기존 번역을 개선하고 About text here - + 텍스트에 대한 정보 Extended licensing here - + 여기에서 확장된 라이선싱 - + Artwork - + 아트워크 - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Oxygen Team이 디자인한 KDE Oxygen 아이콘 세트를 사용합니다. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + Calf Studio Gear, OpenAV 및 OpenOctave 프로젝트의 노브, 배경 및 기타 작은 아트워크가 포함되어 있습니다. - + VST is a trademark of Steinberg Media Technologies GmbH. - + VST는 Steinberg Media Technologies GmbH의 상표입니다. - + Special thanks to António Saraiva for a few extra icons and artwork! - + 몇 가지 추가 아이콘과 아트워크를 제공한 António Saraiva에게 특별한 감사를 드립니다! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + LV2 로고는 Peter Shorthose의 컨셉을 바탕으로 Thorsten Wilms가 디자인했습니다. - + MIDI Keyboard designed by Thorsten Wilms. - - - - - Carla, Carla-Control and Patchbay icons designed by DoosC. - + Thorsten Wilms가 디자인한 MIDI 키보드. + Carla, Carla-Control and Patchbay icons designed by DoosC. + DoosC에서 디자인한 Carla, Carla-Control 및 Patchbay 아이콘입니다. + + + Features - + 기능 - + AU/AudioUnit: - + AU/AudioUnit: - + LADSPA: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + TextLabel - + VST2: - + VST2: - + DSSI: - + DSSI: - + LV2: - + LV2: - + VST3: - - - - - OSC - - - - - Host URLs: - - - - - Valid commands: - + VST3: + OSC + OSC + + + + Host URLs: + 호스트 URL: + + + + Valid commands: + 올바른 명령: + + + valid osc commands here - + 여기에서 올바른 osc 명령 - + Example: - + 예시: - + License 라이선스 - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,55 +534,335 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + - + OSC Bridge Version - + OSC Bridge 버전 - + Plugin Version - + 플러그인 버전 - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - + <br>버전 %1<br>Carla는 모든 기능을 갖춘 오디오 플러그인 호스트%2입니다.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + (엔진이 실행되지 않음) - + Everything! (Including LRDF) - + 모든 것! (LRDF 포함) - + Everything! (Including CustomData/Chunks) - + 모든 것! (사용자지정데이터/청크 포함) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - + 약 110&#37; 완료 (사용자 지정 확장 사용중)<br/>구현된 기능/확장:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + Juce 호스트 사용 중 - + About 85% complete (missing vst bank/presets and some minor stuff) - + 약 85% 완료 (vst 뱅크/프리셋 및 일부 마이너 스터프 누락) @@ -1357,582 +870,621 @@ POSSIBILITY OF SUCH DAMAGES. MainWindow - + 기본 창 Rack - + Patchbay - + Patchbay Logs - + 로그 Loading... + 불러오는 중... + + + + Save + 저장하기 + + + + Clear + 지우기 + + + + Ctrl+L - + + Auto-Scroll + + + + Buffer Size: - + 버퍼 크기: - + Sample Rate: - + 샘플 레이트: - + ? Xruns - + ? Xruns - + DSP Load: %p% - + DSP 불러오기: %p% - + &File 파일(&F) - + &Engine - + 엔진(&E) - + &Plugin - + 플러그인(&P) - + Macros (all plugins) - + 매크로 (모든 플러그인) - + &Canvas - + 캔버스(&C) - + Zoom - + 확대/축소 - + &Settings - + 설정(&S) - + &Help 도움말(&H) - - toolBar + + Tool Bar - + Disk - + 디스크 - - + + Home - + - + Transport - + 트랜스포트 - + Playback Controls - + 플레이백 컨트롤 - + Time Information - + 시간 정보 - + Frame: - + 프레임: - + 000'000'000 - + 000'000'000 - + Time: - + 시간: - + 00:00:00 - + 00:00:00 - + BBT: - + BBT: - + 000|00|0000 - + 000|00|0000 - + Settings 설정 - + BPM - + BPM - + Use JACK Transport - + JACK 트랜스포트 사용하기 - + Use Ableton Link - + Ableton 링크 사용하기 - + &New 새로 만들기(&N) - + Ctrl+N - + Ctrl+N - + &Open... 열기(&O)... - - + + Open... - + 열기... - + Ctrl+O - + Ctrl+O - + &Save 저장(&S) - + Ctrl+S - + Ctrl+S - + Save &As... 다른 이름으로 저장(&A)... - - + + Save As... - + 다른 이름으로 저장하기... - + Ctrl+Shift+S - + Ctrl+Shift+S - + &Quit - 끝내기(&Q) + 종료(&Q) - + Ctrl+Q - + Ctrl+Q - + &Start - + 시작(&S) - + F5 - - - - - St&op - - - - - F6 - - - - - &Add Plugin... - - - - - Ctrl+A - - - - - &Remove All - - - - - Enable - - - - - Disable - - - - - 0% Wet (Bypass) - - - - - 100% Wet - - - - - 0% Volume (Mute) - - - - - 100% Volume - - - - - Center Balance - - - - - &Play - - - - - Ctrl+Shift+P - - - - - &Stop - - - - - Ctrl+Shift+X - - - - - &Backwards - - - - - Ctrl+Shift+B - - - - - &Forwards - - - - - Ctrl+Shift+F - - - - - &Arrange - - - - - Ctrl+G - - - - - - &Refresh - - - - - Ctrl+R - - - - - Save &Image... - + F5 - Auto-Fit - + St&op + 중지(&O) - - Zoom In - + + F6 + F6 - Ctrl++ - + &Add Plugin... + 플러그인 추가(&A)... - - Zoom Out - + + Ctrl+A + Ctrl+A - - Ctrl+- - + + &Remove All + 모두 제거(&R) - - Zoom 100% - + + Enable + 활성화 - - Ctrl+1 - + + Disable + 비활성화 - - Show &Toolbar - + + 0% Wet (Bypass) + 0% 웨트 (바이패스) - - &Configure Carla - + + 100% Wet + 100% 웨트 - - &About - + + 0% Volume (Mute) + 0% 볼륨 (음소거) - - About &JUCE - + + 100% Volume + 100% 볼륨 - - About &Qt - + + Center Balance + 중앙 밸런스 - - Show Canvas &Meters - + + &Play + 연주(&P) - - Show Canvas &Keyboard - + + Ctrl+Shift+P + Ctrl+Shift+P - - Show Internal - + + &Stop + 중지(&S) - - Show External - + + Ctrl+Shift+X + Ctrl+Shift+X - - Show Time Panel - - - - - Show &Side Panel - + + &Backwards + 반대방향(&B) - &Connect... - + Ctrl+Shift+B + Ctrl+Shift+B - - Compact Slots - + + &Forwards + 정방향(&F) - - Expand Slots - + + Ctrl+Shift+F + Ctrl+Shift+F + + + + &Arrange + 편곡(&A) - Perform secret 1 - + Ctrl+G + Ctrl+G - - Perform secret 2 - - - - - Perform secret 3 - + + + &Refresh + 새로고침(&R) + Ctrl+R + Ctrl+R + + + + Save &Image... + 이미지 저장(&I)... + + + + Auto-Fit + 자동-맞춤 + + + + Zoom In + 확대 + + + + Ctrl++ + Ctrl++ + + + + Zoom Out + 축소 + + + + Ctrl+- + Ctrl+- + + + + Zoom 100% + 100% 확대/축소 + + + + Ctrl+1 + Ctrl+1 + + + + Show &Toolbar + 도구모음 표시(&T) + + + + &Configure Carla + Carla 구성(&C) + + + + &About + 정보(&A) + + + + About &JUCE + JUCE 정보(&J) + + + + About &Qt + Qt 정보(&Q) + + + + Show Canvas &Meters + 캔버스 미터 표시(&M) + + + + Show Canvas &Keyboard + 캔버스 키보드 표시(&K) + + + + Show Internal + 내부 표시하기 + + + + Show External + 외부 표시하기 + + + + Show Time Panel + 시간 패널 표시하기 + + + + Show &Side Panel + 측면 패널 표시(&S) + + + + Ctrl+P + + + + + &Connect... + 연결(&C)... + + + + Compact Slots + 콤팩트 슬롯 + + + + Expand Slots + 슬롯 확장 + + + + Perform secret 1 + 시크릿 1 연주하기 + + + + Perform secret 2 + 시크릿 2 연주하기 + + + + Perform secret 3 + 시크릿 3 연주하기 + + + Perform secret 4 - + 시크릿 4 연주하기 - + Perform secret 5 - + 시크릿 5 연주하기 - + Add &JACK Application... - + JACK 응용프로그램 추가(&J)... - + &Configure driver... - + 드라이버 구성(&C)... - + Panic + 패닉 + + + + Open custom driver panel... + 사용자 지정 드라이버 패널 열기... + + + + Save Image... (2x zoom) - - Open custom driver panel... + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C CarlaHostWindow - + Export as... - + 다른 이름으로 내보내기... - - - - + + + + Error 오류 - + Failed to load project - + 프로젝트를 불러오지 못했습니다 - + Failed to save project - + 프로젝트를 저장하지 못했습니다 - + Quit - + 종료 - + Are you sure you want to quit Carla? - + Carla를 종료하시겠습니까? - + Could not connect to Audio backend '%1', possible reasons: %2 - + 오디오 백엔드 '%1'에 연결할 수 없습니다. 가능한 이유: +%2 - + Could not connect to Audio backend '%1' - + 오디오 백엔드 '%1'에 연결할 수 없습니다 - + Warning - + 경고 - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - - - - CarlaInstrumentView - - - Show GUI - GUI 표시 + 아직 일부 플러그인이 불려와 있으므로, 엔진을 중지하려면 해당 플러그인을 제거해야 합니다. +지금 이 작업을 하시겠습니까? @@ -1945,1624 +1497,706 @@ Do you want to do this now? main - + 기본 canvas - + 캔버스 engine - + 엔진 osc - + osc file-paths - + 파일 경로 plugin-paths - + 플러그인 경로 wine - + wine experimental - + 실험적 Widget - + 위젯 - + Main - + 기본 - + Canvas - + 캔버스 - + Engine - + 엔진 File Paths - + 파일 경로 Plugin Paths - + 플러그인 경로 Wine - + Wine - + Experimental - + 실험적 - + <b>Main</b> - + <b>기본</b> - + Paths 경로 - + Default project folder: - + 기본 프로젝트 폴더: - + Interface + 인터페이스 + + + + Use "Classic" as default rack skin - + Interface refresh interval: - - - - - - ms - + 인터페이스 새로고침 간격: + + ms + ms + + + Show console output in Logs tab (needs engine restart) - - - - - Show a confirmation dialog before quitting - - - - - - Theme - + 로그 탭에 콘솔 출력 표시하기 (엔진 시작해야 함) - Use Carla "PRO" theme (needs restart) - + Show a confirmation dialog before quitting + 종료 전에 확인 대화상자 표시하기 + + Theme + 테마 + + + + Use Carla "PRO" theme (needs restart) + Carla "PRO" 테마 사용하기 (다시 시작해야 함) + + + Color scheme: - + 색상 구성표: - + Black - + 검정 - + System - + 시스템 - + Enable experimental features - + 실험적 기능 활성화 - + <b>Canvas</b> - + <b>캔버스</b> - + Bezier Lines - + 베지어 라인 - + Theme: - + 테마: - + Size: - + 크기: - + 775x600 - + 775x600 - + 1550x1200 - - - - - 3100x2400 - - - - - 4650x3600 - - - - - 6200x4800 - + 1550x1200 + 3100x2400 + 3100x2400 + + + + 4650x3600 + 4650x3600 + + + + 6200x4800 + 6200x4800 + + + + 12400x9600 + + + + Options - + 옵션 - + Auto-hide groups with no ports - + 포트가 없는 그룹 자동 숨김 - + Auto-select items on hover - + 마우스 오버 시 항목 자동 선택하기 - + Basic eye-candy (group shadows) - + Basic eye-candy (그룹 섀도우) - + Render Hints - + 렌더 힌트 - + Anti-Aliasing - + 앤티앨리어싱 - + Full canvas repaints (slower, but prevents drawing issues) - + 전체 캔버스 다시 그리기 (느리지만 그리기 문제 방지) - + <b>Engine</b> - + <b>엔진</b> - - + + Core - + 코어 - + Single Client - + 단일 클라이언트 - + Multiple Clients - + 여러 클라이언트 - - + + Continuous Rack - + Continuous Rack - - + + Patchbay - + Patchbay - + Audio driver: - + 오디오 드라이버: - + Process mode: - + 프로세스 모드: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + 내장된 '편집' 대화상자에서 허용할 매개변수의 최대 개수 - + Max Parameters: - + 최대 매개변수: - + ... - + ... - + Reset Xrun counter after project load - + 프로젝트 불러온 후 Xrun 카운터 재설정 - + Plugin UIs - - - - - - How much time to wait for OSC GUIs to ping back the host - - - - - UI Bridge Timeout: - - - - - Use OSC-GUI bridges when possible, this way separating the UI from DSP code - - - - - Use UI bridges instead of direct handling when possible - - - - - Make plugin UIs always-on-top - - - - - Make plugin UIs appear on top of Carla (needs restart) - + 플러그인 UI + + How much time to wait for OSC GUIs to ping back the host + OSC GUI가 호스트를 ping back할 때까지 기다려야 하는 시간 + + + + UI Bridge Timeout: + UI 브리지 시간초과: + + + + Use OSC-GUI bridges when possible, this way separating the UI from DSP code + 가능한 경우 OSC-GUI 브리지를 사용하여, DSP 코드에서 UI를 분리합니다 + + + + Use UI bridges instead of direct handling when possible + 가능한 경우 직접 취급하지 않고 UI 브리지 사용하기 + + + + Make plugin UIs always-on-top + 플러그인 UI를 항상 위에 표시 + + + + Make plugin UIs appear on top of Carla (needs restart) + Carla 상단에 플러그인 UI 표시 (다시 시작해야 함) + + + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - + 참고: 플러그인 브리지 UI는 macOS의 Carla에서 관리할 수 없습니다 - - + + Restart the engine to load the new settings - + 새 설정을 불러오려면 엔진을 다시 시작합니다 - + <b>OSC</b> - + <b>OSC</b> - + Enable OSC - + OSC 활성화 - + Enable TCP port - + TCP 포트 활성화 - - + + Use specific port: - + 특정 포트 사용: - + Overridden by CARLA_OSC_TCP_PORT env var - + CARLA_OSC_TCP_PORT env var에 의해 재정의됨 - - + + Use randomly assigned port - + 무작위로 할당된 포트 사용하기 - + Enable UDP port - + UDP 포트 활성화 - + Overridden by CARLA_OSC_UDP_PORT env var - + CARLA_OSC_UDP_PORT env var에 의해 재정의됨 - + DSSI UIs require OSC UDP port enabled - + DSSI UI에는 OSC UDP 포트가 활성화되어 있어야 합니다 - + <b>File Paths</b> - + <b>파일 경로</b> - + Audio 오디오 - + MIDI MIDI - + Used for the "audiofile" plugin - + "오디오파일" 플러그인에 사용됨 - + Used for the "midifile" plugin - + "미디파일" 플러그인에 사용됨 - - + + Add... - + 추가하기... - - + + Remove - + 제거하기 - - + + Change... - + 변경하기... - + <b>Plugin Paths</b> - + <b>플러그인 경로</b> - + LADSPA - + LADSPA - + DSSI - + DSSI - + LV2 - + LV2 - + VST2 - + VST2 - + VST3 - + VST3 - + SF2/3 - + SF2/3 - + SFZ + SFZ + + + + JSFX - + + CLAP + + + + Restart Carla to find new plugins - + 새 플러그인을 찾기위해 Carla 다시 시작 - + <b>Wine</b> - + <b>Wine</b> - + Executable - + 실행 가능 - + Path to 'wine' binary: - + 'wine' 바이너리 경로: - + Prefix - + 접두사 - + Auto-detect Wine prefix based on plugin filename - + 플러그인 파일 이름을 기반으로 Wine 접두사 자동 감지 - + Fallback: - + 폴백: - + Note: WINEPREFIX env var is preferred over this fallback - + 참고: WINEPREFIX env var는 이 폴백보다 선호됩니다 - + Realtime Priority - + 실시간 우선순위 - + Base priority: - + 기본 우선순위: - + WineServer priority: - + WineServer 우선순위: - + These options are not available for Carla as plugin - + 이 옵션은 Carla를 플러그인으로 사용할 수 없습니다 - + <b>Experimental</b> - + <b>실험적</b> - + Experimental options! Likely to be unstable! - + 실험적인 옵션입니다! 불안정할 가능성이 있습니다! - + Enable plugin bridges - + 플러그인 브리지 활성화 - + Enable Wine bridges - + Wine 브리지 활성화 - + Enable jack applications - + JACK 응용프로그램 활성화 - + Export single plugins to LV2 + 단일 플러그인을 LV2로 내보내기 + + + + Use system/desktop-theme icons (needs restart) - + Load Carla backend in global namespace (NOT RECOMMENDED) - + 전역 네임스페이스에 Carla 백엔드 불러오기 (권장하지 않음) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Fancy eye-candy (페이드-인/아웃 그룹, 글로 연결) - + Use OpenGL for rendering (needs restart) - + 렌더링에 OpenGL 사용하기 (다시 시작해야 함) - + High Quality Anti-Aliasing (OpenGL only) - + 고화질 앤티앨리어싱 (OpenGL만 해당) - + Render Ardour-style "Inline Displays" - + Render Ardour 스타일의 "인라인 디스플레이" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + 동시에 2개의 인스턴스를 실행하여 모노 플러그인을 스테레오로 강제 실행합니다. +이 모드는 VST 플러그인에 사용할 수 없습니다. - + Force mono plugins as stereo + 모노 플러그인을 스테레오로 강제 적용 + + + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Prevent plugins from doing bad stuff (needs restart) + + Prevent unsafe calls from plugins (needs restart) - - Whenever possible, run the plugins in bridge mode. + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. - + Run plugins in bridge mode when possible - + 가능한 경우 브리지 모드에서 플러그인 실행 - - - - + + + + Add Path - - - - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - 비율: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - 출력 이득 - - - - - Gain - 이득 - - - - Output volume - - - - - Input gain - 입력 이득 - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - 비율 - - - - Attack - - - - - Release - - - - - Knee - - - - - Hold - - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - 출력 이득 - - - - Input Gain - 입력 이득 - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - 피드백 - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - - - - - Controller - - - Controller %1 - 컨트롤러 %1 - - - - ControllerConnectionDialog - - - Connection Settings - 연결 설정 - - - - MIDI CONTROLLER - MIDI 컨트롤러 - - - - Input channel - 입력 채널 - - - - CHANNEL - 채널 - - - - Input controller - 입력 컨트롤러 - - - - CONTROLLER - 컨트롤러 - - - - - Auto Detect - 자동 감지 - - - - MIDI-devices to receive MIDI-events from - - - - - USER CONTROLLER - 사용자 지정 컨트롤러 - - - - MAPPING FUNCTION - 매핑 함수 - - - - OK - 확인 - - - - Cancel - 취소 - - - - LMMS - LMMS - - - - Cycle Detected. - 순환 연결이 감지되었습니다. - - - - ControllerRackView - - - Controller Rack - 컨트롤러 랙 - - - - Add - 추가 - - - - Confirm Delete - 삭제 확인 - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - 정말 삭제하시겠습니까? 이 컨트롤러와의 연결이 존재합니다. 이 동작은 취소할 수 없습니다. - - - - ControllerView - - - Controls - 컨트롤 - - - - Rename controller - 컨트롤러 이름 바꾸기 - - - - Enter the new name for this controller - 컨트롤러의 새 이름을 입력하세요 - - - - LFO - LFO - - - - &Remove this controller - 컨트롤러 제거(&R) - - - - Re&name this controller - 컨트롤러 이름 바꾸기(&N) - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - 대역 1/2 분할 주파수: - - - - Band 2/3 crossover: - 대역 2/3 분할 주파수: - - - - Band 3/4 crossover: - 대역 3/4 분할 주파수: - - - - Band 1 gain - 대역 1 이득 - - - - Band 1 gain: - 대역 1 이득: - - - - Band 2 gain - 대역 2 이득 - - - - Band 2 gain: - 대역 2 이득: - - - - Band 3 gain - 대역 3 이득 - - - - Band 3 gain: - 대역 3 이득: - - - - Band 4 gain - 대역 4 이득 - - - - Band 4 gain: - 대역 4 이득: - - - - Band 1 mute - 대역 1 음소거 - - - - Mute band 1 - 대역 1 음소거 - - - - Band 2 mute - 대역 2 음소거 - - - - Mute band 2 - 대역 2 음소거 - - - - Band 3 mute - 대역 3 음소거 - - - - Mute band 3 - 대역 3 음소거 - - - - Band 4 mute - 대역 4 음소거 - - - - Mute band 4 - 대역 4 음소거 - - - - DelayControls - - - Delay samples - - - - - Feedback - 피드백 - - - - LFO frequency - LFO 주파수 - - - - LFO amount - - - - - Output gain - 출력 이득 - - - - DelayControlsDialog - - - DELAY - 지연 - - - - Delay time - - - - - FDBK - 피드백 - - - - Feedback amount - - - - - RATE - - - - - LFO frequency - LFO 주파수 - - - - AMNT - - - - - LFO amount - - - - - Out gain - 출력 이득 - - - - Gain - 이득 + 경로 추가하기 Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - 없음 - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect - + Carla 컨트롤 - 연결하기 Remote setup - + 원격 셋업 UDP Port: - + UDP 포트: Remote host: - + 원격 호스트: TCP Port: - - - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - + TCP 포트: Set value - 값 설정 + 값 지정하기 TextLabel - + TextLabel Scale Points - + 스케일 포인트 @@ -3570,17 +2204,17 @@ If you are unsure, leave it as 'Automatic'. Driver Settings - + 드라이버 설정 Device: - + 디바이스: Buffer size: - + 버퍼 크기: @@ -3590,959 +2224,17 @@ If you are unsure, leave it as 'Automatic'. Triple buffer - + 트리플 버퍼 Show Driver Control Panel - + 드라이버 제어판 표시하기 Restart the engine to load the new settings - - - - - DualFilterControlDialog - - - - FREQ - 주파수 - - - - - Cutoff frequency - 차단 주파수 - - - - - RESO - 공명 - - - - - Resonance - 공명 - - - - - GAIN - 이득 - - - - - Gain - 이득 - - - - MIX - - - - - Mix - - - - - Filter 1 enabled - 필터 1 활성화됨 - - - - Filter 2 enabled - 필터 2 활성화됨 - - - - Enable/disable filter 1 - 필터 1 활성화/비활성화 - - - - Enable/disable filter 2 - 필터 2 활성화/비활성화 - - - - DualFilterControls - - - Filter 1 enabled - 필터 1 활성화됨 - - - - Filter 1 type - 필터 1 종류 - - - - Cutoff frequency 1 - 필터 1 차단 주파수 - - - - Q/Resonance 1 - 필터 1 Q/공명 - - - - Gain 1 - 이득 1 - - - - Mix - - - - - Filter 2 enabled - 필터 2 활성화됨 - - - - Filter 2 type - 필터 2 종류 - - - - Cutoff frequency 2 - 필터 2 차단 주파수 - - - - Q/Resonance 2 - Q/공명 2 - - - - Gain 2 - 이득 2 - - - - - Low-pass - 저역 통과 - - - - - Hi-pass - 고역 통과 - - - - - Band-pass csg - 대역 통과 csg - - - - - Band-pass czpg - 대역 통과 czpg - - - - - Notch - 노치 - - - - - All-pass - 전역 통과 - - - - - Moog - Moog - - - - - 2x Low-pass - 2x 저역 통과 - - - - - RC Low-pass 12 dB/oct - RC 저역 통과 12 dB/oct - - - - - RC Band-pass 12 dB/oct - RC 대역 통과 12 dB/oct - - - - - RC High-pass 12 dB/oct - RC 고역 통과 12 dB/oct - - - - - RC Low-pass 24 dB/oct - RC 저역 통과 24 dB/oct - - - - - RC Band-pass 24 dB/oct - RC 대역 통과 24 dB/oct - - - - - RC High-pass 24 dB/oct - RC 고역 통과 24 dB/oct - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - SV 저역 통과 - - - - - SV Band-pass - SV 대역 통과 - - - - - SV High-pass - SV 고역 통과 - - - - - SV Notch - SV 노치 - - - - - Fast Formant - - - - - - Tripole - - - - - Editor - - - Transport controls - - - - - Play (Space) - 재생 (Space) - - - - Stop (Space) - 정지 (Space) - - - - Record - 녹음 - - - - Record while playing - 재생하면서 녹음 - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - 효과 활성화됨 - - - - Wet/Dry mix - - - - - Gate - 게이트 - - - - Decay - - - - - EffectChain - - - Effects enabled - 효과 활성화됨 - - - - EffectRackView - - - EFFECTS CHAIN - 효과 체인 - - - - Add effect - 효과 추가 - - - - EffectSelectDialog - - - Add effect - 효과 추가 - - - - - Name - 이름 - - - - Type - 형태 - - - - Description - 요약 - - - - Author - 개발자 - - - - EffectView - - - On/Off - 켬/끔 - - - - W/D - - - - - Wet Level: - - - - - DECAY - - - - - Time: - - - - - GATE - 게이트 - - - - Gate: - 게이트: - - - - Controls - 컨트롤 - - - - Move &up - 위로 이동(&U) - - - - Move &down - 아래로 이동(&D) - - - - &Remove this plugin - 플러그인 제거(&R) - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - LFO 주파수 - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - LFO 주파수 x 100 - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - - - - - - Pre-delay: - - - - - - ATT - - - - - - Attack: - - - - - HOLD - - - - - Hold: - - - - - DEC - 감쇠 - - - - Decay: - 감쇠: - - - - SUST - - - - - Sustain: - - - - - REL - - - - - Release: - - - - - - AMT - - - - - - Modulation amount: - - - - - SPD - 속도 - - - - Frequency: - 주파수: - - - - FREQ x 100 - 주파수 x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO: - - - - Hint - - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - 입력 이득 - - - - Output gain - 출력 이득 - - - - Low-shelf gain - - - - - Peak 1 gain - 피크 1 이득 - - - - Peak 2 gain - 피크 2 이득 - - - - Peak 3 gain - 피크 3 이득 - - - - Peak 4 gain - 피크 4 이득 - - - - High-shelf gain - - - - - HP res - 고역 필터 공명 - - - - Low-shelf res - - - - - Peak 1 BW - 피크 1 대역폭 - - - - Peak 2 BW - 피크 2 대역폭 - - - - Peak 3 BW - 피크 3 대역폭 - - - - Peak 4 BW - 피크 4 대역폭 - - - - High-shelf res - - - - - LP res - 저역 필터 공명 - - - - HP freq - 고역 필터 주파수 - - - - Low-shelf freq - - - - - Peak 1 freq - 피크 1 주파수 - - - - Peak 2 freq - 피크 2 주파수 - - - - Peak 3 freq - 피크 3 주파수 - - - - Peak 4 freq - 피크 4 주파수 - - - - High-shelf freq - - - - - LP freq - 저역 필터 주파수 - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - 피크 1 활성화 - - - - Peak 2 active - 피크 2 활성화 - - - - Peak 3 active - 피크 3 활성화 - - - - Peak 4 active - 피크 4 활성화 - - - - High-shelf active - - - - - LP active - - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - 저역 통과 필터 유형 - - - - High-pass type - 고역 통과 필터 유형 - - - - Analyse IN - 입력 신호 분석 - - - - Analyse OUT - 출력 신호 분석 - - - - EqControlsDialog - - - HP - - - - - Low-shelf - - - - - Peak 1 - 피크 1 - - - - Peak 2 - 피크 2 - - - - Peak 3 - 피크 3 - - - - Peak 4 - 피크 4 - - - - High-shelf - - - - - LP - - - - - Input gain - 입력 이득 - - - - - - Gain - 이득 - - - - Output gain - 출력 이득 - - - - Bandwidth: - 대역폭: - - - - Octave - 옥타브 - - - - Resonance : - 공명 : - - - - Frequency: - 주파수: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - 공명: - - - - BW: - 대역폭: - - - - - Freq: - 주파수: + 새 설정을 불러오려면 엔진을 다시 시작합니다 @@ -4555,22 +2247,22 @@ If you are unsure, leave it as 'Automatic'. Export as loop (remove extra bar) - 루프 곡처럼 내보내기 (추가적 마디 제거) + 루프로 내보내기 (후반부 마디 제거) Export between loop markers - 반복 마커 사이 구간만 내보내기 + 루프 마킹도구 사이에서 내보내기 Render Looped Section: - + 렌더 루프된 섹션: time(s) - + 시간 @@ -4585,7 +2277,7 @@ If you are unsure, leave it as 'Automatic'. Sampling rate: - 샘플 레이트: + 샘플링 레이트: @@ -4655,7 +2347,7 @@ If you are unsure, leave it as 'Automatic'. Compression level: - 압축률: + 압축 수준: @@ -4710,2144 +2402,670 @@ If you are unsure, leave it as 'Automatic'. Zero order hold - + 0차 홀드 Sinc worst (fastest) - 최저 품질 sinc (가장 빠름) + Sinc 최저 (가장 빠름) Sinc medium (recommended) - 보통 품질 sinc (추천) + Sinc 중간 (권장됨) Sinc best (slowest) - 최고 품질 sinc (가장 느림) + Sinc 최고 (가장 느림) - - Oversampling: - 오버샘플링: - - - - 1x (None) - 1x (사용하지 않음) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start 시작 - + Cancel 취소 - - - Could not open file - 파일을 열 수 없음 - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - 파일 %1을(를) 쓰기 위하여 열 수 없습니다. -경로에 파일이 존재하고 파일에 쓸 수 있는 권한이 있는지 확인 후 다시 시도하시기 바랍니다! - - - - Export project to %1 - %1(으)로 프로젝트 내보내기 - - - - ( Fastest - biggest ) - ( 가장 빠르게 - 용량 가장 큼 ) - - - - ( Slowest - smallest ) - ( 가장 느리게 - 용량 가장 작음 ) - - - - Error - 오류 - - - - Error while determining file-encoder device. Please try to choose a different output format. - 파일 인코더를 결정하는 중 오류가 발생하였습니다. 다른 포맷을 선택하여 다시 시도해 보세요. - - - - Rendering: %1% - 렌더링: %1% - - - - Fader - - - Set value - 값 설정 - - - - Please enter a new value between %1 and %2: - %1부터 %2까지의 값을 입력하세요: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - 탐색기 - - - - Search - 검색 - - - - Refresh list - 목록 새로고침 - - - - FileBrowserTreeWidget - - - Send to active instrument-track - 활성화된 악기 트랙에서 열기 - - - - Open containing folder - - - - - Song Editor - 노래 편집기 - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - 샘플을 로딩하는 중 - - - - Please wait, loading sample for preview... - 미리보기를 위하여 샘플을 로딩하는 중입니다. 잠시 기다려 주세요... - - - - Error - 오류 - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - LFO 주파수 - - - - Seconds - - - - - Stereo phase - - - - - Regen - - - - - Noise - 잡음 - - - - Invert - 파형 반전 - - - - FlangerControlsDialog - - - DELAY - 지연 - - - - Delay time: - 지연 시간: - - - - RATE - - - - - Period: - - - - - AMNT - - - - - Amount: - - - - - PHASE - - - - - Phase: - - - - - FDBK - 피드백 - - - - Feedback amount: - - - - - NOISE - 잡음 - - - - White noise amount: - - - - - Invert - 파형 반전 - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - - - - - Bass - - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - - - - - Treble - - - - - Bass: - - - - - Bass - - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - - - - - Move &left - 왼쪽으로 이동(&L) - - - - Move &right - 오른쪽으로 이동(&R) - - - - Rename &channel - 채널 이름 바꾸기(&C) - - - - R&emove channel - 채널 제거(&R) - - - - Remove &unused channels - 사용하지 않는 채널 제거(&U) - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - 채널 할당: - - - - New mixer Channel - 새 FX 채널 - - - - Mixer - - - Master - 마스터 - - - - - - Channel %1 - FX %1 - - - - Volume - 음량 - - - - Mute - 음소거 - - - - Solo - 독주 - - - - MixerView - - - Mixer - FX-믹서 - - - - Fader %1 - FX 페이더 %1 - - - - Mute - 음소거 - - - - Mute this mixer channel - 이 채널 음소거 - - - - Solo - 독주 - - - - Solo mixer channel - 이 채널 독주 - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - 채널 %1에서 채널 %2(으)로 보낼 양 - - - - GigInstrument - - - Bank - 뱅크 - - - - Patch - 패치 - - - - Gain - 이득 - - - - GigInstrumentView - - - - Open GIG file - GIG 파일 열기 - - - - Choose patch - 패치 선택 - - - - Gain: - 이득: - - - - GIG Files (*.gig) - GIG 파일 (*.gig) - - - - GuiApplication - - - Working directory - 작업 경로 - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - LMMS 작업 경로 %1이(가) 존재하지 않습니다. 지금 만드시겠습니까? 나중에 편집 -> 설정에서 변경할 수 있습니다. - - - - Preparing UI - UI 준비 - - - - Preparing song editor - 노래 편집기 준비 - - - - Preparing mixer - 믹서 준비 - - - - Preparing controller rack - 컨트롤러 랙 준비 - - - - Preparing project notes - 프로젝트 노트 준비 - - - - Preparing beat/bassline editor - 비트/베이스 라인 편집기 준비 - - - - Preparing piano roll - 피아노 롤 준비 - - - - Preparing automation editor - 오토메이션 편집기 준비 - - - - InstrumentFunctionArpeggio - - - Arpeggio - 아르페지오 - - - - Arpeggio type - 아르페지오 형태 - - - - Arpeggio range - 아르페지오 범위 - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - 아르페지오 시간 - - - - Arpeggio gate - 아르페지오 게이트 - - - - Arpeggio direction - 아르페지오 방향 - - - - Arpeggio mode - 아르페지오 모드 - - - - Up - 위로 - - - - Down - 아래로 - - - - Up and down - 위 다음 아래 - - - - Down and up - 아래 다음 위 - - - - Random - 무작위 - - - - Free - 자유 - - - - Sort - 정렬 - - - - Sync - 동기화 - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - 아르페지오 - - - - RANGE - 범위 - - - - Arpeggio range: - 아르페지오 범위: - - - - octave(s) - 옥타브 - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - - - - - SKIP - - - - - Skip rate: - - - - - - - % - % - - - - MISS - - - - - Miss rate: - - - - - TIME - 시간 - - - - Arpeggio time: - 아르페지오 시간: - - - - ms - ms - - - - GATE - 게이트 - - - - Arpeggio gate: - 아르페지오 게이트: - - - - Chord: - 코드: - - - - Direction: - 방향: - - - - Mode: - 모드: - InstrumentFunctionNoteStacking - + octave 옥타브 - - - - Major - - - - - Majb5 - - - - - minor - - - - - minb5 - - - - - sus2 - - - - - sus4 - - - - - aug - - - augsus4 - + + Major + 장조 - tri - + Majb5 + Majb5 + + + + minor + 단조 + minb5 + minb5 + + + + sus2 + sus2 + + + + sus4 + sus4 + + + + aug + aug + + + + augsus4 + augsus4 + + + + tri + tri + + + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 - + m6 - + m6add9 - + m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - - - Maj7 - - - - - Maj7b5 - - - - - Maj7#5 - - - - - Maj7#11 - - - - - Maj7add13 - - - - - m7 - - - - - m7b5 - - - m7b9 - + Maj7 + Maj7 - m7add11 - + Maj7b5 + Maj7b5 - m7add13 - + Maj7#5 + Maj7#5 - m-Maj7 - + Maj7#11 + Maj7#11 - m-Maj7add11 - + Maj7add13 + Maj7add13 - m-Maj7add13 - + m7 + m7 + + + + m7b5 + m7b5 + m7b9 + m7b9 + + + + m7add11 + m7add11 + + + + m7add13 + m7add13 + + + + m-Maj7 + m-Maj7 + + + + m-Maj7add11 + m-Maj7add11 + + + + m-Maj7add13 + m-Maj7add13 + + + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - - - Maj9 - - - - - Maj9sus4 - - - - - Maj9#5 - - - - - Maj9#11 - - - - - m9 - - - - - madd9 - - - - - m9b5 - - - m9-Maj7 - + Maj9 + Maj9 + + + + Maj9sus4 + Maj9sus4 + Maj9#5 + Maj9#5 + + + + Maj9#11 + Maj9#11 + + + + m9 + m9 + + + + madd9 + madd9 + + + + m9b5 + m9b5 + + + + m9-Maj7 + m9-Maj7 + + + 11 11 - + 11b9 11b9 - + Maj11 - + Maj11 - + m11 - + m11 - + m-Maj11 - + m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - - - Maj13 - - - - - m13 - - - - - m-Maj13 - - - - - Harmonic minor - 화성 단음계 - - - - Melodic minor - 가락 단음계 - - Whole tone - + Maj13 + Maj13 - Diminished - + m13 + m13 - Major pentatonic - - - - - Minor pentatonic - - - - - Jap in sen - + m-Maj13 + m-Maj13 - Major bebop - + Harmonic minor + 하모닉 단음계 - Dominant bebop - + Melodic minor + 가락 단조 - Blues - + Whole tone + 온음 - Arabic - + Diminished + - Enigmatic - + Major pentatonic + 장조 5음 - Neopolitan - + Minor pentatonic + 단조 5음 - Neopolitan minor - + Jap in sen + 일본 음계 - Hungarian minor - + Major bebop + 장조 비밥 - Dorian - + Dominant bebop + 딸림음 비밥 - Phrygian - + Blues + 블루스 - Lydian - + Arabic + 아라비아풍 - Mixolydian - + Enigmatic + 수수께끼 - Aeolian - + Neopolitan + 네오폴리탄 - Locrian - + Neopolitan minor + 네오폴리탄 단조 - Minor - + Hungarian minor + 헝가리 단조 - Chromatic - + Dorian + 도리아 선법 - Half-Whole Diminished - + Phrygian + 프리지안 + + + + Lydian + 리디아 선법 + Mixolydian + 믹솔리디아 선법 + + + + Aeolian + 에올리아 선법 + + + + Locrian + 로크리아 선법 + + + + Minor + 단조 + + + + Chromatic + 반음 + + + + Half-Whole Diminished + 반음 감 + + + 5 5 - + Phrygian dominant - + 프리지안 딸림음 - + Persian - - - - - Chords - 코드 - - - - Chord type - 코드 종류 - - - - Chord range - 코드 범위 - - - - InstrumentFunctionNoteStackingView - - - STACKING - 코드 쌓기 - - - - Chord: - 코드: - - - - RANGE - 범위 - - - - Chord range: - 코드 범위: - - - - octave(s) - 옥타브 - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - MIDI 입력 활성화 - - - - ENABLE MIDI OUTPUT - MIDI 출력 활성화 - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - MIDI devices to receive MIDI events from - - - - - MIDI devices to send MIDI events to - - - - - CUSTOM BASE VELOCITY - 사용자 지정 기준 벨로시티 - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - 100% 음표 벨로시티에 해당하는 MIDI 벨로시티를 지정합니다. - - - - BASE VELOCITY - 기준 벨로시티 - - - - InstrumentTuningView - - - MASTER PITCH - 마스터 피치 - - - - Enables the use of master pitch - 마스터 피치 사용 + 페르시안 InstrumentSoundShaping - + VOLUME - 음량 + 볼륨 - + Volume - 음량 + 볼륨 - + CUTOFF 컷오프 - - + Cutoff frequency 차단 주파수 - + RESO 공명 - + Resonance 공명 - - - Envelopes/LFOs - 엔벨로프/LFO - - - - Filter type - 필터 종류 - - - - Q/Resonance - Q/공명 - - - - Low-pass - 저역 통과 - - - - Hi-pass - 고역 통과 - - - - Band-pass csg - 대역 통과 csg - - - - Band-pass czpg - 대역 통과 czpg - - - - Notch - 노치 - - - - All-pass - 전역 통과 - - - - Moog - Moog - - - - 2x Low-pass - 2x 저역 통과 - - - - RC Low-pass 12 dB/oct - RC 저역 통과 12 dB/oct - - - - RC Band-pass 12 dB/oct - RC 대역 통과 12 dB/oct - - - - RC High-pass 12 dB/oct - RC 고역 통과 12 dB/oct - - - - RC Low-pass 24 dB/oct - RC 저역 통과 24 dB/oct - - - - RC Band-pass 24 dB/oct - RC 대역 통과 24 dB/oct - - - - RC High-pass 24 dB/oct - RC 고역 통과 24 dB/oct - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - SV 저역 통과 - - - - SV Band-pass - SV 대역 통과 - - - - SV High-pass - SV 고역 통과 - - - - SV Notch - SV 노치 - - - - Fast Formant - - - - - Tripole - - - InstrumentSoundShapingView + JackAppDialog - - TARGET - 대상 - - - - FILTER - 필터 - - - - FREQ - 주파수 - - - - Cutoff frequency: - 차단 주파수: - - - - Hz - Hz - - - - Q/RESO - Q/공명 - - - - Q/Resonance: - Q/공명: - - - - Envelopes, LFOs and filters are not supported by the current instrument. - 이 악기는 엔벨로프, LFO, 필터를 지원하지 않습니다. - - - - InstrumentTrack - - - - unnamed_track - 이름 없는 트랙 - - - - Base note - 기준 음 - - - - First note + + Add JACK Application - - Last note - 마지막 박자 - - - - Volume - 음량 - - - - Panning - 패닝 - - - - Pitch - 피치 - - - - Pitch range - 피치 범위 - - - - Mixer channel - FX 채널 - - - - Master pitch - 마스터 피치 - - - - Enable/Disable MIDI CC + + Note: Features not implemented yet are greyed out - - CC Controller %1 + + Application - - - Default preset - 기본 프리셋 - - - - InstrumentTrackView - - - Volume - 음량 - - - - Volume: - 음량: - - - - VOL - 음량 - - - - Panning - 패닝 - - - - Panning: - 패닝: - - - - PAN - 패닝 - - - - MIDI - MIDI - - - - Input - 입력 - - - - Output - 출력 - - - - Open/Close MIDI CC Rack + + Name: - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - 일반 설정 + + Application: + - - Volume - 음량 + + From template + - - Volume: - 음량: + + Custom + - - VOL - 음량 + + Template: + - - Panning - 패닝 + + Command: + - - Panning: - 패닝: + + Setup + 셋업 - - PAN - 패닝 + + Session Manager: + - - Pitch - 피치 + + None + - - Pitch: - 피치: + + Audio inputs: + - - cents - 센트 + + MIDI inputs: + - - PITCH - 피치 + + Audio outputs: + - - Pitch range (semitones) - 피치 범위(반음) + + MIDI outputs: + - - RANGE - 범위 + + Take control of main application window + - - Mixer channel - FX 채널 + + Workarounds + - - CHANNEL - FX + + Wait for external application start (Advanced, for Debug only) + - - Save current instrument track settings in a preset file - 프리셋 파일에 현재 악기 트랙의 설정 저장 + + Capture only the first X11 Window + - - SAVE - 저장 + + Use previous client output buffer as input for the next client + - - Envelope, filter & LFO - 엔벨로프, 필터 & LFO + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Chord stacking & arpeggio - 코드 쌓기 & 아르페지오 + + Error here + - - Effects - 효과 - - - - MIDI - MIDI - - - - Miscellaneous - 기타 - - - - Save preset - 프리셋 저장 - - - - XML preset file (*.xpf) - XML 프리셋 파일 (*.xpf) - - - - Plugin - 플러그인 - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6855,945 +3073,9 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - - - - Knob - - - Set linear - 선형으로 설정 - - - - Set logarithmic - 로그스케일로 설정 - - - - - Set value - 값 설정 - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - -96.0 dBFS부터 6.0 dBFS까지의 값을 입력하세요: - - - - Please enter a new value between %1 and %2: - %1부터 %2까지의 값을 입력하세요: - - - - LadspaControl - - - Link channels - 채널 링크 - - - - LadspaControlDialog - - - Link Channels - 채널 링크 - - - - Channel - 채널 - - - - LadspaControlView - - - Link channels - 채널 링크 - - - - Value: - 값: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - 알 수 없는 LADSPA 플러그인 %1이(가) 요청되었습니다. - - - - LcdFloatSpinBox - - - Set value - 값 설정 - - - - Please enter a new value between %1 and %2: - %1부터 %2까지의 값을 입력하세요: - - - - LcdSpinBox - - - Set value - 값 설정 - - - - Please enter a new value between %1 and %2: - %1부터 %2까지의 값을 입력하세요: - - - - LeftRightNav - - - - - Previous - 이전 - - - - - - Next - 다음 - - - - Previous (%1) - 이전 (%1) - - - - Next (%1) - 다음 (%1) - - - - LfoController - - - LFO Controller - LFO 컨트롤러 - - - - Base value - 기준 값 - - - - Oscillator speed - - - - - Oscillator amount - - - - - Oscillator phase - 오실레이터 위상 - - - - Oscillator waveform - 오실레이터 파형 - - - - Frequency Multiplier - - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - 기준 - - - - Base: - 기준: - - - - FREQ - 주파수 - - - - LFO frequency: - - - - - AMNT - - - - - Modulation amount: - - - - - PHS - 위상 - - - - Phase offset: - 위상: - - - - degrees - - - - - Sine wave - 사인파 - - - - Triangle wave - 삼각파 - - - - Saw wave - 톱니파 - - - - Square wave - 사각파 - - - - Moog saw wave - Moog 톱니파 - - - - Exponential wave - 지수형 파형 - - - - White noise - 화이트 노이즈 - - - - User-defined shape. -Double click to pick a file. - 사용자 지정 파형 -더블클릭하여 파일을 선택하세요. - - - - Mutliply modulation frequency by 1 - 변조 주파수 값을 그대로 사용 - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - - - - - Initializing data structures - 자료 구조 초기화 중 - - - - Opening audio and midi devices - 오디오 장치와 MIDI 장치를 여는 중 - - - - Launching mixer threads - 믹서 스레드를 시작하는 중 - - - - MainWindow - - - Configuration file - 설정 파일 - - - - Error while parsing configuration file at line %1:%2: %3 - 설정 파일 분석 중 오류 발생 (행 %1:%2: %3) - - - - Could not open file - 파일을 열 수 없음 - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - 파일 %1을(를) 쓰기 위하여 열 수 없습니다. -경로에 파일이 존재하고 파일에 쓸 수 있는 권한이 있는지 확인 후 다시 시도하시기 바랍니다! - - - - Project recovery - 프로젝트 복구 - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - 복구 파일이 존재합니다. 이전에 LMMS가 비정상 종료되었거나 여러 개의 LMMS 인스턴스가 동시에 실행 중인 것 같습니다. 복구 파일로부터 프로젝트를 복구하시겠습니까? - - - - - Recover - 복구 - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - 파일을 복구합니다. 다른 LMMS 인스턴스가 실행 중이지 않은 상태에서 선택하시기 바랍니다. - - - - - Discard - 저장하지 않음 - - - - Launch a default session and delete the restored files. This is not reversible. - 복구 파일을 삭제하고 기본 프로젝트를 불러옵니다. 이 동작은 되돌릴 수 없습니다. - - - - Version %1 - 버전 %1 - - - - Preparing plugin browser - 플러그인 탐색기 준비 - - - - Preparing file browsers - 파일 탐색기 준비 - - - - My Projects - 내 프로젝트 - - - - My Samples - 내 샘플 - - - - My Presets - 내 사전 설정 - - - - My Home - 내 홈 디렉터리 - - - - Root directory - 최상위 디렉토리 - - - - Volumes - 음량 - - - - My Computer - 내 컴퓨터 - - - - &File - 파일(&F) - - - - &New - 새로 만들기(&N) - - - - &Open... - 열기(&O)... - - - - Loading background picture - - - - - &Save - 저장(&S) - - - - Save &As... - 다른 이름으로 저장(&A)... - - - - Save as New &Version - 새로운 버전으로 저장(&V) - - - - Save as default template - 기본 템플릿으로 저장 - - - - Import... - 가져오기... - - - - E&xport... - 내보내기(&X)... - - - - E&xport Tracks... - 트랙 내보내기(&X)... - - - - Export &MIDI... - MIDI 내보내기(&M)... - - - - &Quit - 끝내기(&Q) - - - - &Edit - 편집(&E) - - - - Undo - 실행 취소 - - - - Redo - 다시 실행 - - - - Settings - 설정 - - - - &View - 보기(&V) - - - - &Tools - 도구(&T) - - - - &Help - 도움말(&H) - - - - Online Help - 온라인 도움말 - - - - Help - 도움말 - - - - About - 정보 - - - - Create new project - 새 프로젝트 생성 - - - - Create new project from template - 템플릿에서 새 프로젝트 생성 - - - - Open existing project - 기존 프로젝트 열기 - - - - Recently opened projects - 최근에 사용한 프로젝트 - - - - Save current project - 현재 프로젝트 저장 - - - - Export current project - 현재 프로젝트 내보내기 - - - - Metronome - 메트로놈 - - - - - Song Editor - 노래 편집기 - - - - - Beat+Bassline Editor - 비트/베이스 라인 편집기 - - - - - Piano Roll - 피아노 롤 - - - - - Automation Editor - 오토메이션 편집기 - - - - - Mixer - FX 믹서 - - - - Show/hide controller rack - 컨트롤러 랙 보이기/숨기기 - - - - Show/hide project notes - 프로젝트 노트 보이기/숨기기 - - - - Untitled - 제목 없음 - - - - Recover session. Please save your work! - 복구 세션입니다. 프로젝트 파일을 저장해 주세요! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - 복구된 프로젝트가 저장되지 않음 - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - 이 프로젝트는 이전 세션으로부터 복구되었지만 아직 저장되지 않았습니다. 저장하지 않을 경우 지금까지의 작업을 잃게 될 것입니다. 지금 저장하시겠습니까? - - - - Project not saved - 프로젝트 저장되지 않음 - - - - The current project was modified since last saving. Do you want to save it now? - 이 프로젝트는 마지막 저장 이후 수정되었습니다. 지금 저장하시겠습니까? - - - - Open Project - 프로젝트 열기 - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - 프로젝트 저장 - - - - LMMS Project - LMMS 프로젝트 - - - - LMMS Project Template - LMMS 프로젝트 템플릿 - - - - Save project template - 프로젝트 템플릿 저장 - - - - Overwrite default template? - 기본 템플릿을 덮어쓰시겠습니까? - - - - This will overwrite your current default template. - 이 작업은 현재의 기본 템플릿을 덮어씁니다. - - - - Help not available - 도움말 사용 불가 - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - - - - - Controller Rack - 컨트롤러 랙 - - - - Project Notes - 프로젝트 노트 - - - - Fullscreen - - - - - Volume as dBFS - 음량을 dBFS 단위로 표시 - - - - Smooth scroll - 부드러운 스크롤 - - - - Enable note labels in piano roll - 피아노 롤에 음표 라벨 표시 - - - - MIDI File (*.mid) - MIDI 파일(*.mid) - - - - - untitled - 제목 없음 - - - - - Select file for project-export... - 프로젝트를 내보낼 파일 선택... - - - - Select directory for writing exported tracks... - 내보낼 트랙 파일들을 저장할 경로 선택... - - - - Save project - 프로젝트 저장 - - - - Project saved - 프로젝트 저장됨 - - - - The project %1 is now saved. - 프로젝트 %1이 저장되었습니다. - - - - Project NOT saved. - 프로젝트가 저장되지 않았습니다. - - - - The project %1 was not saved! - 프로젝트 %1이 저장되지 않았습니다! - - - - Import file - 파일 가져오기 - - - - MIDI sequences - MIDI 시퀀스 - - - - Hydrogen projects - Hydrogen 프로젝트 - - - - All file types - 모든 파일 - - - - MeterDialog - - - - Meter Numerator - 박자표 분자 - - - - Meter numerator - 박자표 분자 - - - - - Meter Denominator - 박자표 분모 - - - - Meter denominator - 박자표 분모 - - - - TIME SIG - 박자 - - - - MeterModel - - - Numerator - 분자 - - - - Denominator - 분모 - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI 컨트롤러 - - - - unnamed_midi_controller - 이름 없는 MIDI 컨트롤러 - - - - MidiImport - - - - Setup incomplete - 설정 불완전 - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - LMMS가 SoundFont2 플레이어 지원 없이 컴파일되었습니다. MIDI 파일에서 가져온 트랙은 기본적으로 SoundFont2 플레이어로 재생되므로 MIDI 파일을 가져온 뒤 재생하면 아무 소리도 재생되지 않을 것입니다. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - 분자 - - - - Denominator - 분모 - - - - Track - 트랙 - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JAK 서버 종료 - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - JACK 서버가 종료된 것 같습니다. + 이 프로그램은 JUCE 버전 %1을(를) 사용합니다. @@ -7801,71 +3083,71 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. MIDI Pattern - + MIDI 패턴 Time Signature: - + 박자표: 1/4 - + 1/4 2/4 - + 2/4 3/4 - + 3/4 4/4 - + 4/4 5/4 - + 5/4 6/4 - + 6/4 Measures: - + 소절: 1 - + 1 2 - + 2 3 - + 3 4 - + 4 @@ -7885,7 +3167,7 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 8 - + 8 @@ -7895,7 +3177,7 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 10 - + 10 @@ -7905,7 +3187,7 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 12 - + 12 @@ -7915,75 +3197,75 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 14 - + 14 15 - + 15 16 - + 16 Default Length: - + 기본 길이: 1/16 - + 1/16 1/15 - + 1/15 1/12 - + 1/12 1/9 - + 1/9 1/8 - + 1/8 1/6 - + 1/6 1/3 - + 1/3 1/2 - + 1/2 Quantize: - + 퀀타이즈: @@ -7998,2732 +3280,372 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. &Quit - 끝내기(&Q) + 종료(&Q) - - &Insert Mode + + Esc - F - + &Insert Mode + 삽입 모드(&I) - - &Velocity Mode - + + F + F - D - + &Velocity Mode + 벨로시티 모드(&V) - - Select All - + + D + D + Select All + 모두 선택하기 + + + A - - - - - MidiPort - - - Input channel - 입력 채널 - - - - Output channel - 출력 채널 - - - - Input controller - 입력 컨트롤러 - - - - Output controller - 출력 컨트롤러 - - - - Fixed input velocity - 입력 벨로시티 고정값 - - - - Fixed output velocity - 출력 벨로시티 고정값 - - - - Fixed output note - 출력 음높이 고정값 - - - - Output MIDI program - 출력 MIDI 프로그램 - - - - Base velocity - 기준 벨로시티 - - - - Receive MIDI-events - MIDI 이벤트 받기 - - - - Send MIDI-events - MIDI 이벤트 보내기 - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - 오실레이터 1 음량 - - - - Osc 1 panning - 오실레이터 1 패닝 - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - 오실레이터 2 음량 - - - - Osc 2 panning - 오실레이터 2 패닝 - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - 오실레이터 3 음량 - - - - Osc 3 panning - 오실레이터 3 패닝 - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - LFO 1 파형 - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - LFO 1 위상 - - - - LFO 2 waveform - LFO 2 파형 - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - LFO 2 위상 - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - 사인파 - - - - Bandlimited Triangle wave - 대역 제한 삼각파 - - - - Bandlimited Saw wave - 대역 제한 톱니파 - - - - Bandlimited Ramp wave - 대역 제한 역톱니파 - - - - Bandlimited Square wave - 대역 제한 사각파 - - - - Bandlimited Moog saw wave - 대역 제한 Moog 톱니파 - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - 지수형 파형 - - - - White noise - 화이트 노이즈 - - - - Digital Triangle wave - 삼각파 - - - - Digital Saw wave - 톱니파 - - - - Digital Ramp wave - 역톱니파 - - - - Digital Square wave - 사각파 - - - - Digital Moog saw wave - Moog 톱니파 - - - - Triangle wave - 삼각파 - - - - Saw wave - 톱니파 - - - - Ramp wave - 역톱니파 - - - - Square wave - 사각파 - - - - Moog saw wave - Moog 톱니파 - - - - Abs. sine wave - - - - - Random - 무작위 - - - - Random smooth - - - - - MonstroView - - - Operators view - - - - - Matrix view - - - - - - - Volume - 음량 - - - - - - Panning - 패닝 - - - - - - Coarse detune - - - - - - - semitones - 반음 - - - - - Fine tune left - - - - - - - - cents - 센트 - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - - - - - Pulse width - 펄스 폭 - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - - - - - - Rate - - - - - - Phase - 위상 - - - - - Pre-delay - - - - - - Hold - - - - - - Decay - - - - - - Sustain - - - - - - Release - - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - - - - - MultitapEchoControlDialog - - - Length - 길이 - - - - Step length: - - - - - Dry - - - - - Dry gain: - - - - - Stages - - - - - Low-pass stages: - - - - - Swap inputs - 좌우 입력 바꾸기 - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - 마스터 음량 - - - - Vibrato - 비브라토 - - - - NesInstrumentView - - - - - - Volume - 음량 - - - - - - Coarse detune - - - - - - - Envelope length - - - - - Enable channel 1 - 채널 1 활성화 - - - - Enable envelope 1 - 엔벨로프 1 활성화 - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - - - - - - 25% Duty cycle - - - - - - 50% Duty cycle - - - - - - 75% Duty cycle - - - - - Enable channel 2 - 채널 2 활성화 - - - - Enable envelope 2 - 엔벨로프 2 활성화 - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - 채널 3 활성화 - - - - Noise Frequency - - - - - Frequency sweep - - - - - Enable channel 4 - 채널 4 활성화 - - - - Enable envelope 4 - 엔벨로프 4 활성화 - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - - - - - Master volume - 마스터 음량 - - - - Vibrato - 비브라토 - - - - OpulenzInstrument - - - Patch - 패치 - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - 비브라토 깊이 - - - - Tremolo depth - 트레몰로 깊이 - - - - OpulenzInstrumentView - - - - Attack - - - - - - Decay - - - - - - Release - - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - 오실레이터 %1 파형 - - - - Osc %1 harmonic - - - - - - Osc %1 volume - 오실레이터 %1 음량 - - - - - Osc %1 panning - 오실레이터 %1 패닝 - - - - - Osc %1 fine detuning left - - - - - Osc %1 coarse detuning - - - - - Osc %1 fine detuning right - - - - - Osc %1 phase-offset - 오실레이터 %1 위상 - - - - Osc %1 stereo phase-detuning - 오실레이터 %1 좌우 위상차 - - - - Osc %1 wave shape - 오실레이터 %1 파형 - - - - Modulation type %1 - 변조 유형 %1 - - - - Oscilloscope - - - Oscilloscope - 오실로스코프 - - - - Click to enable - 클릭하여 활성화 + A PatchesDialog + Qsynth: Channel Preset - + Qsynth: 채널 프리셋 + Bank selector - + 뱅크 선택기 + Bank 뱅크 + Program selector - + 프로그램 선택기 + Patch 패치 + Name 이름 + OK 확인 + Cancel 취소 - - PatmanView - - - Open patch - - - - - Loop - 루프 - - - - Loop mode - 루프 모드 - - - - Tune - - - - - Tune mode - - - - - No file selected - 파일이 선택되지 않음 - - - - Open patch file - 패치 파일 열기 - - - - Patch-Files (*.pat) - 패치 파일 (*.pat) - - - - MidiClipView - - - Open in piano-roll - 피아노-롤에서 열기 - - - - Set as ghost in piano-roll - - - - - Clear all notes - 전체 음표 지우기 - - - - Reset name - 이름 초기화 - - - - Change name - 이름 바꾸기 - - - - Add steps - - - - - Remove steps - - - - - Clone Steps - - - - - PeakController - - - Peak Controller - 피크 컨트롤러 - - - - Peak Controller Bug - 피크 컨트롤러 버그 - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - 이전 버전 LMMS의 버그로 인해 피크 컨트롤러가 제대로 연결되지 않았을 수 있습니다. 피크 컨트롤러가 제대로 연결되었는지 확인 후 파일을 다시 저장해 주시기 바랍니다. 불편을 드려 죄송합니다. - - - - PeakControllerDialog - - - PEAK - - - - - LFO Controller - LFO 컨트롤러 - - - - PeakControllerEffectControlDialog - - - BASE - 기준 - - - - Base: - 기준: - - - - AMNT - - - - - Modulation amount: - - - - - MULT - - - - - Amount multiplicator: - - - - - ATCK - - - - - Attack: - - - - - DCAY - - - - - Release: - - - - - TRSH - - - - - Treshold: - - - - - Mute output - 출력 음소거 - - - - Absolute value - 절댓값 - - - - PeakControllerEffectControls - - - Base value - 기준 값 - - - - Modulation amount - - - - - Attack - - - - - Release - - - - - Treshold - - - - - Mute output - 출력 음소거 - - - - Absolute value - 절댓값 - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - 음표 벨로시티 - - - - Note Panning - 음표 패닝 - - - - Mark/unmark current semitone - 현재 반음 표시 - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - 모두 표시 해제 - - - - Select all notes on this key - 이 음의 음표 모두 선택 - - - - Note lock - 박자 잠금 - - - - Last note - 마지막 박자 - - - - No key - - - - - No scale - 음계 없음 - - - - No chord - 코드 없음 - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - 벨로시티: %1% - - - - Panning: %1% left - 패닝: %1% 왼쪽 - - - - Panning: %1% right - 패닝: %1% 오른쪽 - - - - Panning: center - 패닝: 가운데 - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - 더블클릭하여 패턴을 열어주세요! - - - - - Please enter a new value between %1 and %2: - %1부터 %2까지의 값을 입력하세요: - - - - PianoRollWindow - - - Play/pause current clip (Space) - 현재 패턴 재생/일시정지 (Space) - - - - Record notes from MIDI-device/channel-piano - - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - 현재 패턴 정지 (Space) - - - - Edit actions - 편집 동작 - - - - Draw mode (Shift+D) - 그리기 모드 (Shift+D) - - - - Erase mode (Shift+E) - 지우기 모드 (Shift+E) - - - - Select mode (Shift+S) - 선택 모드 (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - 복사/붙여넣기 컨트롤 - - - - Cut (%1+X) - 잘라내기 (%1+X) - - - - Copy (%1+C) - 복사 (%1+C) - - - - Paste (%1+V) - 붙여넣기 (%1+V) - - - - Timeline controls - - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - 수평 줌 - - - - Vertical zooming - 수직 줌 - - - - Quantization - - - - - Note length - 음표 길이 - - - - Key - - - - - Scale - 음계 - - - - Chord - 코드 - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - 피아노-롤 - %1 - - - - - Piano-Roll - no clip - 피아노-롤 - 패턴 없음 - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - 기준 음 - - - - First note - - - - - Last note - 마지막 박자 - - - - Plugin - - - Plugin not found - 플러그인을 찾을 수 없음 - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - 플러그인 "%1"을(를) 찾을 수 없거나 읽어올 수 없습니다. -이유: %2 - - - - Error while loading plugin - 플러그인 로딩 오류 - - - - Failed to load plugin "%1"! - 플러그인 "%1"을(를) 로딩할 수 없습니다! - - PluginBrowser - - Instrument Plugins - 악기 플러그인 - - - - Instrument browser - 악기 탐색기 - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - 플러그인을 노래 편집기, 비트/베이스 라인 편집기, 이미 존재하는 악기 트랙 중 하나로 드래그하세요. - - - + no description 설명 없음 - + A native amplifier plugin - 내장 증폭기 플러그인 + 기본 내장 앰프 플러그인 - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - + 악기 트랙에서 샘플(예: 드럼)을 사용하기 위한 다양한 설정이 있는 간단한 샘플러 - + Boost your bass the fast and simple way - + 빠르고 간단한 방법으로 베이스 강화 - + Customizable wavetable synthesizer - + 사용자 지정 가능한 웨이브테이블 신시사이저 - + An oversampling bitcrusher - + 오버샘플링 비트크러셔 - + Carla Patchbay Instrument - + Carla Patchbay 악기 - + Carla Rack Instrument - + Carla Rack 악기 - + A dynamic range compressor. - + 동적 범위 컴프레서입니다. - + A 4-band Crossover Equalizer - + 4밴드 크로스오버 이퀄라이저 - + A native delay plugin - 내장 딜레이 플러그인 + 기본 내장 딜레이 플러그인 - + A Dual filter plugin - + 이원화된 필터 플러그인 - + plugin for processing dynamics in a flexible way - + 유연한 방식으로 동적 프로세싱을 위한 플러그인 - + A native eq plugin - 내장 EQ 플러그인 + 기본 내장 EQ 플러그인 - + A native flanger plugin - 내장 플랜저 플러그인 + 기본 내장 플랜저 플러그인 - + Emulation of GameBoy (TM) APU GameBoy (TM) APU 에뮬레이션 - + Player for GIG files - GIG 파일 플레이어 + GIG 파일용 재생기 - + Filter for importing Hydrogen files into LMMS - Hydrogen 파일을 LMMS로 읽어오기 위한 필터 + Hydrogen 파일을 LMMS로 읽어오기 위한 필터링 - + Versatile drum synthesizer - + 다용도 드럼 신시사이저 - + List installed LADSPA plugins 설치된 LADSPA 플러그인 목록 - + plugin for using arbitrary LADSPA-effects inside LMMS. - LMMS에서 LADSPA 이펙트를 이용하기 위한 플러그인. + LMMS 내에서 임의의 LADSPA 효과를 사용하기 위한 플러그인입니다. - + Incomplete monophonic imitation TB-303 - + 불완전한 모노포닉 이미테이션 TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + LMMS 내에서 임의의 LV2 효과를 사용하기 위한 플러그인입니다. - + plugin for using arbitrary LV2 instruments inside LMMS. - + LMMS 내에서 임의의 LV2 기기를 사용하기 위한 플러그인입니다. - + Filter for exporting MIDI-files from LMMS - MIDI 파일을 LMMS에서 내보내기 위한 필터 + MIDI 파일을 LMMS에서 내보내기 위한 필터링 - + Filter for importing MIDI-files into LMMS - MIDI 파일을 LMMS로 읽어오기 위한 필터 + MIDI 파일을 LMMS로 읽어오기 위한 필터링 - + Monstrous 3-oscillator synth with modulation matrix - + 모듈레이션 매트릭스가 있는 엄청난 3-오실레이터 신시사이저 - + A multitap echo delay plugin - + 멀티탭 에코 딜레이 플러그인 - + A NES-like synthesizer - + NES와 비슷한 신시사이저 - + 2-operator FM Synth - + 2-오퍼레이터 FM 신시사이저 - + Additive Synthesizer for organ-like sounds - + 오르간과 비슷한 소리를 내는 부가적 신시사이저 - + GUS-compatible patch instrument - + GUS 호환 패치 악기 - + Plugin for controlling knobs with sound peaks - + 사운드 피크가 있는 노브를 제어하기 위한 플러그인 - + Reverb algorithm by Sean Costello Sean Costello의 리버브 알고리즘 - + Player for SoundFont files - 사운드폰트 파일 플레이어 + 사운드폰트 파일용 재생기 - + LMMS port of sfxr - + sfxr의 LMMS 포트 - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. - + MOS6581 및 MOS8580 SID의 에뮬레이션. +이 칩은 Commodore 64 컴퓨터에 사용되었습니다. - + A graphical spectrum analyzer. - + 그래픽 스펙트럼 분석기. - + Plugin for enhancing stereo separation of a stereo input file - + 스테레오 입력 파일의 스테레오 분리를 향상시키기 위한 플러그인 - + Plugin for freely manipulating stereo output - + 스테레오 출력을 자유롭게 조작하기 위한 플러그인 - + Tuneful things to bang on - + 듣기 좋은 것들 - + Three powerful oscillators you can modulate in several ways - + 다양한 방식으로 변조할 수 있는 3개의 강력한 오실레이터 - + A stereo field visualizer. - + 스테레오 필드 시각화 도구. - + VST-host for using VST(i)-plugins within LMMS - LMMS의 VST(i) 플러그인 호스트 + LMMS 내에서 VST(i) 플러그인을 사용하기 위한 VST 호스트 - + Vibrating string modeler - + 진동 스트링 모델러 - + plugin for using arbitrary VST effects inside LMMS. - LMMS에서 VST 이펙트를 이용하기 위한 플러그인. + LMMS 내에서 임의의 VST 효과를 사용하기 위한 플러그인입니다. - + 4-oscillator modulatable wavetable synth - + 4-오실레이터 조절 가능한 웨이브테이블 신시사이저 - + plugin for waveshaping - + 웨이브쉐이핑을 위한 플러그인 - + Mathematical expression parser - 수식 해석기 + 수리적인 익스프레션 파서 - + Embedded ZynAddSubFX - 내장 ZynAddSubFX 플러그인 + ZynAddSubFX 포함됨 - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. + 올패스 필터로 매우 높은 오더를 처리할 수 있습니다. + + + + Granular pitch shifter - - Format + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - Internal + + Basic Slicer - - LADSPA - - - - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - 형태 - - - - Effects - 효과 - - - - Instruments - 악기 - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - 취소 - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - 형태: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - 이름 - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10732,12 +3654,12 @@ This chip was used in the Commodore 64 computer. Plugin Editor - + 플러그인 편집기 Edit - + 편집하기 @@ -10747,43 +3669,43 @@ This chip was used in the Commodore 64 computer. MIDI Control Channel: - + MIDI 컨트롤 채널: N - + N Output dry/wet (100%) - + 출력 드라이/웨트 (100%) Output volume (100%) - + 출력 볼륨 (100%) Balance Left (0%) - + 밸런스 좌측 (0%) Balance Right (0%) - + 밸런스 우측 (0%) Use Balance - + 밸런스 사용하기 Use Panning - + 패닝 사용하기 @@ -10793,304 +3715,656 @@ This chip was used in the Commodore 64 computer. Use Chunks - + 청크 사용하기 Audio: - + 오디오: Fixed-Size Buffer - + 고정 크기 버퍼 Force Stereo (needs reload) - + 스테레오 강제 적용 (다시 불러와야 함) MIDI: - + MIDI: Map Program Changes - + 맵 프로그램 변경 - Send Bank/Program Changes + Send Notes - Send Control Changes - + Send Bank/Program Changes + 뱅크/프로그램 변경사항 전송하기 - Send Channel Pressure - + Send Control Changes + 제어 변경사항 전송하기 - Send Note Aftertouch - + Send Channel Pressure + 채널 누름 전송하기 - Send Pitchbend - + Send Note Aftertouch + 노트 애프터터치 전송하기 - Send All Sound/Notes Off - + Send Pitchbend + 피치밴드 전송하기 - + + Send All Sound/Notes Off + 모든 사운드/노트 끔 전송하기 + + + Plugin Name - + +플러그인 이름 + - + Program: - + 프로그램: - + MIDI Program: - + MIDI 프로그램: - + Save State - + 상태 저장하기 - + Load State - + 상태 불러오기 - + Information - + 정보 - + Label/URI: - + 레이블/URI: - + Name: - + 이름: - + Type: - 형태: + 유형: - + Maker: - + 제작자: - + Copyright: - + 저작권: - + Unique ID: - + 고유 ID: PluginFactory - + Plugin not found. 플러그인을 찾을 수 없습니다. - + LMMS plugin %1 does not have a plugin descriptor named %2! LMMS 플러그인 %1은(는) 이름이 %2인 플러그인 디스크립터를 가지고 있지 않습니다! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + 필터 재설정 + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter Form - + 형태 Parameter Name - + 매개변수 이름 - ... + TextLabel + + + ... + ... + - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - 닫기 + @@ -11102,2352 +4376,13644 @@ You can disable these checks to get a faster scanning time (at your own risk). Frame - + 프레임 - + Enable - + 활성화 - + On/Off 켬/끔 - + - + PluginName - + 플러그인이름 - + MIDI MIDI - + AUDIO IN - + 오디오 입력 - + AUDIO OUT - + 오디오 출력 - + GUI - + GUI - + Edit - + 편집하기 - + Remove - + 제거하기 Plugin Name - + 플러그인 이름 Preset: - - - - - ProjectNotes - - - Project Notes - 프로젝트 노트 - - - - Enter project notes here - 여기에 프로젝트 노트를 입력하세요 - - - - Edit Actions - 편집 동작 - - - - &Undo - 실행 취소(&U) - - - - %1+Z - %1+Z - - - - &Redo - 다시 실행(&R) - - - - %1+Y - %1+Y - - - - &Copy - 복사(&C) - - - - %1+C - %1+C - - - - Cu&t - 잘라내기(&T) - - - - %1+X - %1+X - - - - &Paste - 붙여넣기(&P) - - - - %1+V - %1+V - - - - Format Actions - 서식 동작 - - - - &Bold - 굵게(&B) - - - - %1+B - %1+B - - - - &Italic - 기울임꼴(&I) - - - - %1+I - %1+I - - - - &Underline - 밑줄(&U) - - - - %1+U - %1+U - - - - &Left - 왼쪽 정렬(&L) - - - - %1+L - %1+L - - - - C&enter - 가운데 정렬(&E) - - - - %1+E - %1+E - - - - &Right - 오른쪽 정렬(&R) - - - - %1+R - %1+R - - - - &Justify - 양쪽 정렬(&J) - - - - %1+J - %1+J - - - - &Color... - 색(&C)... + 프리셋: ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + %1의 설정 + + QObject - + Reload Plugin + 플러그인 다시 불러오기 + + + + Show GUI + GUI 표시하기 + + + + Help + 도움말 + + + + LADSPA plugins - - Show GUI - GUI 표시 + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + - - Help - 도움말 + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + QWidget - - - - + + Name: 이름: - - URI: - - - - - - + Maker: 제작자: - - - + Copyright: 저작권: - - + Requires Real Time: - + 실시간 필요: - - - - - - + + + Yes - - - - - - + + + No 아니오 - - + Real Time Capable: - 실제 시간 가능: + 실시간 가능: - - + In Place Broken: 깨진 곳에 위치: - - + Channels In: - 입력 채널: + 채널 입력: - - + Channels Out: - 출력 채널: + 채널 출력: - + File: %1 파일: %1 - + File: 파일: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - 최근에 사용한 프로젝트(&R) - - - - RenameDialog - - - Rename... - 이름 바꾸기... - - - - ReverbSCControlDialog - - - Input - 입력 - - - - Input gain: - 입력 이득: - - - - Size - 크기 - - - - Size: + + XY Controller - - Color - 음색 - - - - Color: + + X Controls: - - Output - 출력 - - - - Output gain: - 출력 이득: - - - - ReverbSCControls - - - Input gain - 입력 이득 - - - - Size - 크기 - - - - Color - 음색 - - - - Output gain - 출력 이득 - - - - SaControls - - - Pause + + Y Controls: - - Reference freeze + + Smooth - - Waterfall + + &Settings + 설정(&S) + + + + Channels - - Averaging + + &File - - Stereo - 스테레오 - - - - Peak hold + + Show MIDI &Keyboard - - Logarithmic frequency + + (All) - - Logarithmic amplitude + + 1 - - Frequency range + + 2 - - Amplitude range + + 3 - - FFT block size + + 4 - - FFT window type + + 5 - - Peak envelope resolution + + 6 - - Spectrum display resolution + + 7 - - Peak decay multiplier + + 8 - - Averaging weight + + 9 - - Waterfall history size + + 10 - - Waterfall gamma correction + + 11 - - FFT window overlap + + 12 - - FFT zero padding + + 13 - - - Full (auto) + + 14 - - - - Audible + + 15 - - Bass + + 16 - - Mids + + &Quit - - High + + Esc - - Extended - - - - - Loud - - - - - Silent - - - - - (High time res.) - - - - - (High freq. res.) - - - - - Rectangular (Off) - - - - - - Blackman-Harris (Default) - - - - - Hamming - - - - - Hanning + + (None) - SaControlsDialog + lmms::AmplifierControls - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - 스테레오 - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type - - - - - SampleBuffer - - - Fail to open file - 파일을 열 수 없음 - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - 오디오 파일은 %1MB보다 작고 %2분보다 짧아야 합니다 - - - - Open audio file - 오디오 파일 열기 - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - 모든 오디오 파일 (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave 파일(*.wav) - - - - OGG-Files (*.ogg) - OGG 파일(*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth 파일(*.ds) - - - - FLAC-Files (*.flac) - FLAC 파일(*.flac) - - - - SPEEX-Files (*.spx) - SPEEX 파일(*.spx) - - - - VOC-Files (*.voc) - VOC 파일(*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF 파일 (*.aif *.aiff) - - - - AU-Files (*.au) - AU 파일 (*.au) - - - - RAW-Files (*.raw) - RAW 파일 (*.raw) - - - - SampleClipView - - - Double-click to open sample - 더블클릭하여 샘플 열기 - - - - Delete (middle mousebutton) - 삭제(마우스 가운데 버튼) - - - - Delete selection (middle mousebutton) - - - - - Cut - 잘라내기 - - - - Cut selection - - - - - Copy - 복사 - - - - Copy selection - - - - - Paste - 붙여넣기 - - - - Mute/unmute (<%1> + middle click) - 음소거/해제 (<%1> + 마우스 가운데 버튼) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - 샘플 역으로 - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - 음량 + 볼륨 - + Panning 패닝 - - Mixer channel - FX 채널 + + Left gain + 좌측 게인 - - + + Right gain + 우측 게인 + + + + lmms::AudioFileProcessor + + + Amplify + 증폭하기 + + + + Start of sample + 샘플의 시작 + + + + End of sample + 샘플의 끝 + + + + Loopback point + 루프백 포인트 + + + + Reverse sample + 리버스 샘플 + + + + Loop mode + 루프 모드 + + + + Stutter + Stutter + + + + Interpolation mode + 인터폴레이션 모드 + + + + None + 없음 + + + + Linear + 리니어 + + + + Sinc + Sinc + + + + Sample not found + + + + + lmms::AudioJack + + + JACK client restarted + JACK 클라이언트 다시 시작됨 + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + LMMS는 알 수 없는 이유로 JACK에 의해 중지되었습니다. 그 결과 LMMS의 JACK 백엔드가 다시 시작되었습니다. 수동 연결을 다시 설정해야 합니다. + + + + JACK server down + JACK 서버 다운 + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + JACK 서버가 종료되어 새 인스턴스 시작에 실패한 것 같습니다. 따라서 LMMS를 진행할 수 없습니다. 사용자의 프로젝트를 저장하고 JACK 및 LMMS를 다시 시작해야 합니다. + + + + Client name + 클라이언트 이름 + + + + Channels + 채널 + + + + lmms::AudioOss + + + Device + 디바이스 + + + + Channels + 채널 + + + + lmms::AudioPortAudio::setupWidget + + + Backend + 백엔드 + + + + Device + 디바이스 + + + + lmms::AudioPulseAudio + + + Device + 디바이스 + + + + Channels + 채널 + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + 디바이스 + + + + Channels + 채널 + + + + lmms::AudioSoundIo::setupWidget + + + Backend + 백엔드 + + + + Device + 디바이스 + + + + lmms::AutomatableModel + + + &Reset (%1%2) + 재설정 (%1%2)(&R) + + + + &Copy value (%1%2) + 값 복사하기 (%1%2)(&C) + + + + &Paste value (%1%2) + 값 붙여넣기 (%1%2)(&P) + + + + &Paste value + 값 붙여넣기(&P) + + + + Edit song-global automation + 노래 전반 오토메이션 편집하기 + + + + Remove song-global automation + 노래 전반 오토메이션 제거하기 + + + + Remove all linked controls + 모든 링크된 컨트롤 제거하기 + + + + Connected to %1 + %1에 연결됨 + + + + Connected to controller + 컨트롤러에 연결됨 + + + + Edit connection... + 연결 편집하기... + + + + Remove connection + 연결 제거하기 + + + + Connect to controller... + 컨트롤러에 연결하기... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + <%1> 키를 누른 상태에서 컨트롤 드래그 + + + + lmms::AutomationTrack + + + Automation track + 오토메이션 트랙 + + + + lmms::BassBoosterControls + + + Frequency + 주파수 + + + + Gain + 게인 + + + + Ratio + 레시오 + + + + lmms::BitInvader + + + Sample length + 샘플 길이 + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + + Input gain + 입력 게인 + + + + Input noise + 입력 잡음 + + + + Output gain + 출력 게인 + + + + Output clip + 출력 클립 + + + + Sample rate + 샘플 레이트 + + + + Stereo difference + 스테레오 차이 + + + + Levels + 레벨 + + + + Rate enabled + 레이트 활성화됨 + + + + Depth enabled + 깊이 활성화됨 + + + + lmms::Clip + + + Mute + 음소거 + + + + lmms::CompressorControls + + + Threshold + 스레시홀드 + + + + Ratio + 레시오 + + + + Attack + 어택 + + + + Release + 릴리즈 + + + + Knee + 니(Knee) + + + + Hold + 홀드 + + + + Range + 범위 + + + + RMS Size + RMS 크기 + + + + Mid/Side + 중간/측면 + + + + Peak Mode + 피크 모드 + + + + Lookahead Length + 룩어헤드 길이 + + + + Input Balance + 입력 밸런스 + + + + Output Balance + 출력 밸런스 + + + + Limiter + 리미터 + + + + Output Gain + 출력 게인 + + + + Input Gain + 입력 게인 + + + + Blend + 섞기 + + + + Stereo Balance + 스테레오 밸런스 + + + + Auto Makeup Gain + 자동 메이크업 게인 + + + + Audition + 오디션 + + + + Feedback + 피드백 + + + + Auto Attack + 자동 어택 + + + + Auto Release + 자동 릴리즈 + + + + Lookahead + 룩어헤드 + + + + Tilt + 틸트 + + + + Tilt Frequency + 틸트 주파수 + + + + Stereo Link + 스테레오 링크 + + + + Mix + 믹스 + + + + lmms::Controller + + + Controller %1 + 컨트롤러 %1 + + + + lmms::DelayControls + + + Delay samples + 딜레이 샘플 + + + + Feedback + 피드백 + + + + LFO frequency + LFO 주파수 + + + + LFO amount + LFO 양 + + + + Output gain + 출력 게인 + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + 주파수 + + + + Resonance + 공명 + + + + Feedback + 피드백 + + + + DC Offset Removal + DC 오프셋 제거 + + + + lmms::DualFilterControls + + + Filter 1 enabled + 필터 1 활성화됨 + + + + Filter 1 type + 필터 1 유형 + + + + Cutoff frequency 1 + 컷오프 주파수 1 + + + + Q/Resonance 1 + Q/공명 1 + + + + Gain 1 + 게인 1 + + + + Mix + 믹스 + + + + Filter 2 enabled + 필터 2 활성화됨 + + + + Filter 2 type + 필터 2 유형 + + + + Cutoff frequency 2 + 컷오프 주파수 2 + + + + Q/Resonance 2 + Q/공명 2 + + + + Gain 2 + 게인 2 + + + + + Low-pass + 로패스 + + + + + Hi-pass + 하이패스 + + + + + Band-pass csg + 밴드패스 csg + + + + + Band-pass czpg + 밴드패스 czpg + + + + + Notch + 노치 + + + + + All-pass + 올패스 + + + + + Moog + 모그 + + + + + 2x Low-pass + 2x 로패스 + + + + + RC Low-pass 12 dB/oct + RC 로패스 12 dB/oct + + + + + RC Band-pass 12 dB/oct + RC 밴드패스 12 dB/oct + + + + + RC High-pass 12 dB/oct + RC 하이패스 12 dB/oct + + + + + RC Low-pass 24 dB/oct + RC 로패스 24 dB/oct + + + + + RC Band-pass 24 dB/oct + RC 밴드패스 24 dB/oct + + + + + RC High-pass 24 dB/oct + RC 하이패스 24 dB/oct + + + + + Vocal Formant + 보컬 포르만트 + + + + + 2x Moog + 2x 모그 + + + + + SV Low-pass + SV 로패스 + + + + + SV Band-pass + SV 밴드패스 + + + + + SV High-pass + SV 하이패스 + + + + + SV Notch + SV 노치 + + + + + Fast Formant + 패스트 포르만트 + + + + + Tripole + 트리폴 + + + + lmms::DynProcControls + + + Input gain + 입력 게인 + + + + Output gain + 출력 게인 + + + + Attack time + 어택 시간 + + + + Release time + 릴리즈 시간 + + + + Stereo mode + 스테레오 모드 + + + + lmms::Effect + + + Effect enabled + 이펙트 활성화됨 + + + + Wet/Dry mix + 웨트/드라이 믹스 + + + + Gate + 게이트 + + + + Decay + 디케이 + + + + lmms::EffectChain + + + Effects enabled + 이펙트 활성화됨 + + + + lmms::Engine + + + Generating wavetables + 웨이브테이블 생성 중 + + + + Initializing data structures + 데이터 구조 초기화 중 + + + + Opening audio and midi devices + 오디오 및 MIDI 디바이스 여는 중 + + + + Launching audio engine threads + 오디오 엔진 스레드 실행 중 + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Env 프리-딜레이 + + + + Env attack + Env 어택 + + + + Env hold + Env 홀드 + + + + Env decay + Env 디케이 + + + + Env sustain + Env 서스테인 + + + + Env release + Env 릴리즈 + + + + Env mod amount + Env mod 양 + + + + LFO pre-delay + LFO 프리-딜레이 + + + + LFO attack + LFO 어택 + + + + LFO frequency + LFO 주파수 + + + + LFO mod amount + LFO mod 양 + + + + LFO wave shape + LFO 웨이브 형태 + + + + LFO frequency x 100 + LFO 주파수 x 100 + + + + Modulate env amount + Env 양 조절하기 + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + 입력 게인 + + + + Output gain + 출력 게인 + + + + Low-shelf gain + 로셀프 게인 + + + + Peak 1 gain + 피크 1 게인 + + + + Peak 2 gain + 피크 2 게인 + + + + Peak 3 gain + 피크 3 게인 + + + + Peak 4 gain + 피크 4 게인 + + + + High-shelf gain + 하이-셸프 게인 + + + + HP res + HP 공명 + + + + Low-shelf res + 로셀프 공명 + + + + Peak 1 BW + 피크 1 대역폭 + + + + Peak 2 BW + 피크 2 대역폭 + + + + Peak 3 BW + 피크 3 대역폭 + + + + Peak 4 BW + 피크 4 대역폭 + + + + High-shelf res + 하이셸프 공명 + + + + LP res + LP 공명 + + + + HP freq + HP 주파수 + + + + Low-shelf freq + 로셀프 주파수 + + + + Peak 1 freq + 피크 1 주파수 + + + + Peak 2 freq + 피크 2 주파수 + + + + Peak 3 freq + 피크 3 주파수 + + + + Peak 4 freq + 피크 4 주파수 + + + + High-shelf freq + 하이셸프 주파수 + + + + LP freq + LP 주파수 + + + + HP active + HP 활성 + + + + Low-shelf active + 로셀프 활성 + + + + Peak 1 active + 피크 1 활성 + + + + Peak 2 active + 피크 2 활성 + + + + Peak 3 active + 피크 3 활성 + + + + Peak 4 active + 피크 4 활성 + + + + High-shelf active + 하이셸프 활성 + + + + LP active + LP 활성 + + + + LP 12 + LP 12 + + + + LP 24 + LP 24 + + + + LP 48 + LP 48 + + + + HP 12 + HP 12 + + + + HP 24 + HP 24 + + + + HP 48 + HP 48 + + + + Low-pass type + 로패스 유형 + + + + High-pass type + 하이패스 유형 + + + + Analyse IN + 입력 신호 분석 + + + + Analyse OUT + 출력 신호 분석 + + + + lmms::FlangerControls + + + Delay samples + 딜레이 샘플 + + + + LFO frequency + LFO 주파수 + + + + Amount + + + + + Stereo phase + 스테레오 페이즈 + + + + Feedback + + + + + Noise + 잡음 + + + + Invert + 반전 + + + + lmms::FreeBoyInstrument + + + Sweep time + 스위프 시간 + + + + Sweep direction + 스위프 방향 + + + + Sweep rate shift amount + 스위프 레이트 시프트 양 + + + + + Wave pattern duty cycle + 웨이브 패턴 듀티 사이클 + + + + Channel 1 volume + 채널 1 볼륨 + + + + + + Volume sweep direction + 볼륨 스위프 방향 + + + + + + Length of each step in sweep + 스위프에서 각 스텝의 길이 + + + + Channel 2 volume + 채널 2 볼륨 + + + + Channel 3 volume + 채널 3 볼륨 + + + + Channel 4 volume + 채널 4 볼륨 + + + + Shift Register width + 시프트 레지스터 너비 + + + + Right output level + 우측 출력 레벨 + + + + Left output level + 좌측 출력 레벨 + + + + Channel 1 to SO2 (Left) + 채널 1 → SO2 (좌측) + + + + Channel 2 to SO2 (Left) + 채널 2 → SO2 (좌측) + + + + Channel 3 to SO2 (Left) + 채널 3 → SO2 (좌측) + + + + Channel 4 to SO2 (Left) + 채널 4 → SO2 (좌측) + + + + Channel 1 to SO1 (Right) + 채널 1 → SO1 (우측) + + + + Channel 2 to SO1 (Right) + 채널 2 → SO1 (우측) + + + + Channel 3 to SO1 (Right) + 채널 3 → SO1 (우측) + + + + Channel 4 to SO1 (Right) + 채널 4 → SO1 (우측) + + + + Treble + 트레블 + + + + Bass + 베이스 + + + + lmms::GigInstrument + + + Bank + 뱅크 + + + + Patch + 패치 + + + + Gain + 게인 + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + 아르페지오 + + + + Arpeggio type + 아르페지오 유형 + + + + Arpeggio range + 아르페지오 범위 + + + + Note repeats + 노트 반복 + + + + Cycle steps + 사이클 스탭 + + + + Skip rate + 스킵 비율 + + + + Miss rate + 누락 비율 + + + + Arpeggio time + 아르페지오 시간 + + + + Arpeggio gate + 아르페지오 게이트 + + + + Arpeggio direction + 아르페지오 방향 + + + + Arpeggio mode + 아르페지오 모드 + + + + Up + 위로 + + + + Down + 아래로 + + + + Up and down + 위 다음 아래 + + + + Down and up + 아래 다음 위 + + + + Random + 무작위 + + + + Free + 자유 + + + + Sort + 정렬 + + + + Sync + 싱크 + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + 코드 + + + + Chord type + 코드 유형 + + + + Chord range + 코드 범위 + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + 엔벨로프/LFO + + + + Filter type + 필터 유형 + + + + Cutoff frequency + 컷오프 주파수 + + + + Q/Resonance + Q/공명 + + + + Low-pass + 로패스 + + + + Hi-pass + 하이패스 + + + + Band-pass csg + 밴드패스 csg + + + + Band-pass czpg + 밴드패스 czpg + + + + Notch + 노치 + + + + All-pass + 올패스 + + + + Moog + 모그 + + + + 2x Low-pass + 2x 로패스 + + + + RC Low-pass 12 dB/oct + RC 로패스 12 dB/oct + + + + RC Band-pass 12 dB/oct + RC 밴드패스 12 dB/oct + + + + RC High-pass 12 dB/oct + RC 하이패스 12 dB/oct + + + + RC Low-pass 24 dB/oct + RC 로패스 24 dB/oct + + + + RC Band-pass 24 dB/oct + RC 밴드패스 24 dB/oct + + + + RC High-pass 24 dB/oct + RC 하이패스 24 dB/oct + + + + Vocal Formant + 보컬 포르만트 + + + + 2x Moog + 2x 모그 + + + + SV Low-pass + SV 로패스 + + + + SV Band-pass + SV 밴드패스 + + + + SV High-pass + SV 하이패스 + + + + SV Notch + SV 노치 + + + + Fast Formant + 패스트 포르만트 + + + + Tripole + 트리폴 + + + + lmms::InstrumentTrack + + + + unnamed_track + 이름없는_트랙 + + + + Base note + 기본 노트 + + + + First note + 처음 노트 + + + + Last note + 마지막 노트 + + + + Volume + 볼륨 + + + + Panning + 패닝 + + + + Pitch + 피치 + + + + Pitch range + 피치 범위 + + + + Mixer channel + 믹서 채널 + + + + Master pitch + 마스터 피치 + + + + Enable/Disable MIDI CC + MIDI CC 활성화/비활성화 + + + + CC Controller %1 + CC 컨트롤러 %1 + + + + + Default preset + 기본 프리셋 + + + + lmms::Keymap + + + empty + 비어 있음 + + + + lmms::KickerInstrument + + + Start frequency + 시작 주파수 + + + + End frequency + 끝 주파수 + + + + Length + 길이 + + + + Start distortion + 시작 디스토션 + + + + End distortion + 끝 디스토션 + + + + Gain + 게인 + + + + Envelope slope + 엔벨로프 슬로프 + + + + Noise + 잡음 + + + + Click + 클릭 + + + + Frequency slope + 주파수 슬로프 + + + + Start from note + 시작을 노트에서 + + + + End to note + 끝을 노트까지 + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + 링크 채널 + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + 알 수 없는 LADSPA 플러그인 %1이(가) 요청되었습니다. + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + VCF 컷오프 주파수 + + + + VCF Resonance + VCF 공명 + + + + VCF Envelope Mod + VCF 엔빌로프 Mod + + + + VCF Envelope Decay + VCF 엔빌로프 디케이 + + + + Distortion + 디스토션 + + + + Waveform + 파형 + + + + Slide Decay + 슬라이드 디케이 + + + + Slide + 슬라이드 + + + + Accent + 악센트 + + + + Dead + 데드 + + + + 24dB/oct Filter + 24dB/oct 필터 + + + + lmms::LfoController + + + LFO Controller + LFO 컨트롤러 + + + + Base value + 기본 값 + + + + Oscillator speed + 오실레이터 속도 + + + + Oscillator amount + 오실레이터 량 + + + + Oscillator phase + 오실레이터 페이즈 + + + + Oscillator waveform + 오실레이터 파형 + + + + Frequency Multiplier + 주파수 증폭기 + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + 하드니스 + + + + Position + 포지션 + + + + Vibrato gain + 비브라토 게인 + + + + Vibrato frequency + 비브라토 주파수 + + + + Stick mix + 스틱 믹스 + + + + Modulator + 모듈레이터 + + + + Crossfade + 크로스페이드 + + + + LFO speed + LFO 속도 + + + + LFO depth + LFO 깊이 + + + + ADSR + ADSR + + + + Pressure + 누름 + + + + Motion + 모션 + + + + Speed + 속도 + + + + Bowed + 활켜기 + + + + Instrument + + + + + Spread + 스프레드 + + + + Randomness + + + + + Marimba + 마림바 + + + + Vibraphone + 비브라폰 + + + + Agogo + 아고고 + + + + Wood 1 + 우드 1 + + + + Reso + 레소 + + + + Wood 2 + 우드 2 + + + + Beats + 비트 + + + + Two fixed + + + + + Clump + 클럼프 + + + + Tubular bells + 튜블라 벨 + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + 글라스 + + + + Tibetan bowl + 티베탄 싱잉볼 + + + + lmms::MeterModel + + + Numerator + 분자 + + + + Denominator + 분모 + + + + lmms::Microtuner + + + Microtuner + 마이크로튜너 + + + + Microtuner on / off + 마이크로튜너 켬/끔 + + + + Selected scale + 선택된 스케일 + + + + Selected keyboard mapping + 선택된 키보드 매핑 + + + + lmms::MidiController + + + MIDI Controller + MIDI 컨트롤러 + + + + unnamed_midi_controller + 이름없는_MIDI_컨트롤러 + + + + lmms::MidiImport + + + + Setup incomplete + 셋업 미완료 + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + 설정 대화상자(편집->설정)에서 기본 사운드폰트를 설정하지 않았습니다. 그러므로 이 MIDI 파일을 가져오면 사운드가 연주되지 않습니다. 일반 MIDI 사운드폰트를 다운로드하여 설정 대화상자에서 지정한 후 다시 시도해야 합니다. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + 가져온 MIDI 파일에 기본 사운드를 추가하는 데 사용되는 SoundFont2 재생기를 지원하는 LMMS를 컴파일하지 않았습니다. 그러므로 이 MIDI 파일을 가져온 후에는 사운드가 연주되지 않습니다. + + + + MIDI Time Signature Numerator + MIDI 박자표 분자 + + + + MIDI Time Signature Denominator + MIDI 박자표 분모 + + + + Numerator + 분자 + + + + Denominator + 분모 + + + + + Tempo + 템포 + + + + Track + 트랙 + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + JACK 서버 다운 + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + JACK 서버가 종료된 것 같습니다. + + + + lmms::MidiPort + + + Input channel + 입력 채널 + + + + Output channel + 출력 채널 + + + + Input controller + 입력 컨트롤러 + + + + Output controller + 출력 컨트롤러 + + + + Fixed input velocity + 고정된 입력 벨로시티 + + + + Fixed output velocity + 고정된 출력 벨로시티 + + + + Fixed output note + 고정된 출력 노트 + + + + Output MIDI program + 출력 MIDI 프로그램 + + + + Base velocity + 기준 벨로시티 + + + + Receive MIDI-events + MIDI 이벤트 수신하기 + + + + Send MIDI-events + MIDI 이벤트 전송하기 + + + + lmms::Mixer + + + Master + 마스터 + + + + + + Channel %1 + 채널 %1 + + + + Volume + 볼륨 + + + + Mute + 음소거 + + + + Solo + 솔로 연주 + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + %1 채널에서 %2 채널로 전송할 양 + + + + lmms::MonstroInstrument + + + Osc 1 volume + Osc 1 볼륨 + + + + Osc 1 panning + Osc 1 패닝 + + + + Osc 1 coarse detune + Osc 1 코어스 디튠 + + + + Osc 1 fine detune left + Osc 1 파인 디튠 좌측 + + + + Osc 1 fine detune right + Osc 1 파인 디튠 우측 + + + + Osc 1 stereo phase offset + Osc 1 스테레오 페이즈 오프셋 + + + + Osc 1 pulse width + Osc 1 펄스 폭 + + + + Osc 1 sync send on rise + 상승 시 Osc 1 싱크 전송하기 + + + + Osc 1 sync send on fall + 하강 시 OSC 1 싱크 전송하기 + + + + Osc 2 volume + Osc 2 볼륨 + + + + Osc 2 panning + Osc 2 패닝 + + + + Osc 2 coarse detune + Osc 2 코어스 디튠 + + + + Osc 2 fine detune left + Osc 2 파인 디튠 좌측 + + + + Osc 2 fine detune right + Osc 2 파인 디튠 우측 + + + + Osc 2 stereo phase offset + Osc 2 스테레오 페이즈 오프셋 + + + + Osc 2 waveform + Osc 2 파형 + + + + Osc 2 sync hard + Osc 2 싱크 하드 + + + + Osc 2 sync reverse + Osc 2 싱크 리버스 + + + + Osc 3 volume + Osc 3 볼륨 + + + + Osc 3 panning + Osc 3 패닝 + + + + Osc 3 coarse detune + Osc 3 코어스 디튠 + + + + Osc 3 Stereo phase offset + Osc 3 스테리오 페이즈 오프셋 + + + + Osc 3 sub-oscillator mix + Osc 3 서브 오실레이터 믹스 + + + + Osc 3 waveform 1 + Osc 3 파형 1 + + + + Osc 3 waveform 2 + Osc 3 파형 2 + + + + Osc 3 sync hard + Osc 3 싱크 하드 + + + + Osc 3 Sync reverse + Osc 3 싱크 리버스 + + + + LFO 1 waveform + LFO 1 파형 + + + + LFO 1 attack + LFO 1 어택 + + + + LFO 1 rate + LFO 1 레이트 + + + + LFO 1 phase + LFO 1 페이즈 + + + + LFO 2 waveform + LFO 2 파형 + + + + LFO 2 attack + LFO 2 어택 + + + + LFO 2 rate + LFO 2 레이트 + + + + LFO 2 phase + LFO 2 페이즈 + + + + Env 1 pre-delay + Env 1 프리-딜레이 + + + + Env 1 attack + Env 1 어택 + + + + Env 1 hold + Env 1 홀드 + + + + Env 1 decay + Env 1 디케이 + + + + Env 1 sustain + Env 1 서스테인 + + + + Env 1 release + Env 1 릴리즈 + + + + Env 1 slope + Env 1 슬로프 + + + + Env 2 pre-delay + Env 2 프리-딜레이 + + + + Env 2 attack + Env 2 어택 + + + + Env 2 hold + Env 2 홀드 + + + + Env 2 decay + Env 2 디케이 + + + + Env 2 sustain + Env 2 서스테인 + + + + Env 2 release + Env 2 릴리즈 + + + + Env 2 slope + Env 2 슬로프 + + + + Osc 2+3 modulation + Osc 2+3 모듈레이션 + + + + Selected view + 선택된 항목 보기 + + + + Osc 1 - Vol env 1 + Osc 1 - Vol env 1 + + + + Osc 1 - Vol env 2 + Osc 1 - Vol env 2 + + + + Osc 1 - Vol LFO 1 + Osc 1 - Vol LFO 1 + + + + Osc 1 - Vol LFO 2 + Osc 1 - Vol LFO 2 + + + + Osc 2 - Vol env 1 + Osc 2 - Vol env 1 + + + + Osc 2 - Vol env 2 + Osc 2 - Vol env 2 + + + + Osc 2 - Vol LFO 1 + Osc 2 - Vol LFO 1 + + + + Osc 2 - Vol LFO 2 + Osc 2 - Vol LFO 2 + + + + Osc 3 - Vol env 1 + Osc 3 - Vol env 1 + + + + Osc 3 - Vol env 2 + Osc 3 - Vol env 2 + + + + Osc 3 - Vol LFO 1 + Osc 3 - Vol LFO 1 + + + + Osc 3 - Vol LFO 2 + Osc 3 - Vol LFO 2 + + + + Osc 1 - Phs env 1 + Osc 1 - Phs env 1 + + + + Osc 1 - Phs env 2 + Osc 1 - Phs env 2 + + + + Osc 1 - Phs LFO 1 + Osc 1 - Phs LFO 1 + + + + Osc 1 - Phs LFO 2 + Osc 1 - Phs LFO 2 + + + + Osc 2 - Phs env 1 + Osc 2 - Phs env 1 + + + + Osc 2 - Phs env 2 + Osc 2 - Phs env 2 + + + + Osc 2 - Phs LFO 1 + Osc 2 - Phs LFO 1 + + + + Osc 2 - Phs LFO 2 + Osc 2 - Phs LFO 2 + + + + Osc 3 - Phs env 1 + Osc 3 - Phs env 1 + + + + Osc 3 - Phs env 2 + Osc 3 - Phs env 2 + + + + Osc 3 - Phs LFO 1 + Osc 3 - Phs LFO 1 + + + + Osc 3 - Phs LFO 2 + Osc 3 - Phs LFO 2 + + + + Osc 1 - Pit env 1 + Osc 1 - Pit env 1 + + + + Osc 1 - Pit env 2 + Osc 1 - Pit env 2 + + + + Osc 1 - Pit LFO 1 + Osc 1 - Pit LFO 1 + + + + Osc 1 - Pit LFO 2 + Osc 1 - Pit LFO 2 + + + + Osc 2 - Pit env 1 + Osc 2 - Pit env 1 + + + + Osc 2 - Pit env 2 + Osc 2 - Pit env 2 + + + + Osc 2 - Pit LFO 1 + Osc 2 - Pit LFO 1 + + + + Osc 2 - Pit LFO 2 + Osc 2 - Pit LFO 2 + + + + Osc 3 - Pit env 1 + Osc 3 - Pit env 1 + + + + Osc 3 - Pit env 2 + Osc 3 - Pit env 2 + + + + Osc 3 - Pit LFO 1 + Osc 3 - Pit LFO 1 + + + + Osc 3 - Pit LFO 2 + Osc 3 - Pit LFO 2 + + + + Osc 1 - PW env 1 + Osc 1 - PW env 1 + + + + Osc 1 - PW env 2 + Osc 1 - PW env 2 + + + + Osc 1 - PW LFO 1 + Osc 1 - PW LFO 1 + + + + Osc 1 - PW LFO 2 + Osc 1 - PW LFO 2 + + + + Osc 3 - Sub env 1 + Osc 3 - Sub env 1 + + + + Osc 3 - Sub env 2 + Osc 3 - Sub env 2 + + + + Osc 3 - Sub LFO 1 + Osc 3 - Sub LFO 1 + + + + Osc 3 - Sub LFO 2 + Osc 3 - Sub LFO 2 + + + + + Sine wave + 사인파 + + + + Bandlimited Triangle wave + 밴드리밋된 삼각파 + + + + Bandlimited Saw wave + 밴드리밋된 톱니파 + + + + Bandlimited Ramp wave + 밴드리밋된 램프파 + + + + Bandlimited Square wave + 밴드리밋된 사각파 + + + + Bandlimited Moog saw wave + 밴드리밋된 모그 톱니파 + + + + + Soft square wave + 둥근 모서리 사각파 + + + + Absolute sine wave + 절대 사인파 + + + + + Exponential wave + 지수파 + + + + White noise + 백색 잡음 + + + + Digital Triangle wave + 디지털 삼각파 + + + + Digital Saw wave + 디지털 톱니파 + + + + Digital Ramp wave + 디지털 램프파 + + + + Digital Square wave + 디지털 사각파 + + + + Digital Moog saw wave + 디지털 모그 톱니파 + + + + Triangle wave + 삼각파 + + + + Saw wave + 톱니파 + + + + Ramp wave + 램프파 + + + + Square wave + 사각파 + + + + Moog saw wave + 모그 톱니파 + + + + Abs. sine wave + 절대 사인파 + + + + Random + 무작위 + + + + Random smooth + 무작위로 부드럽게 + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + 채널 1 코어스 디튠 + + + + Channel 1 volume + 채널 1 볼륨 + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + 채널 1 엔벨로프 길이 + + + + Channel 1 duty cycle + 채널 1 듀티 사이클 + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + 채널 1 스위프 양 + + + + Channel 1 sweep rate + 채널 1 스위프 레이트 + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + 채널 2 엔벨로프 길이 + + + + Channel 2 duty cycle + 채널 2 듀티 사이클 + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + 채널 2 스위프 양 + + + + Channel 2 sweep rate + 채널 2 스위프 레이트 + + + + Channel 3 enable + + + + + Channel 3 coarse detune + 채널 3 코어스 디튠 + + + + Channel 3 volume + 채널 3 볼륨 + + + + Channel 4 enable + + + + + Channel 4 volume + 채널 4 볼륨 + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + 채널 4 엔벨로프 길이 + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + 채널 4 잡음 주파수 + + + + Channel 4 noise frequency sweep + 채널 4 잡음 주파수 스위프 + + + + Channel 4 quantize + + + + + Master volume + 마스터 볼륨 + + + + Vibrato + 비브라토 + + + + lmms::OpulenzInstrument + + + Patch + 패치 + + + + Op 1 attack + Op 1 어택 + + + + Op 1 decay + Op 1 디케이 + + + + Op 1 sustain + Op 1 서스테인 + + + + Op 1 release + Op 1 릴리즈 + + + + Op 1 level + Op 1 레벨 + + + + Op 1 level scaling + Op 1 레벨 스케일링 + + + + Op 1 frequency multiplier + Op 1 주파수 증폭기 + + + + Op 1 feedback + Op 1 피드백 + + + + Op 1 key scaling rate + Op 1 키 스케일링 레이트 + + + + Op 1 percussive envelope + Op 1 퍼커시브 엔벨로프 + + + + Op 1 tremolo + Op 1 트레몰로 + + + + Op 1 vibrato + Op 1 비브라토 + + + + Op 1 waveform + Op 1 파형 + + + + Op 2 attack + Op 2 어택 + + + + Op 2 decay + Op 2 디케이 + + + + Op 2 sustain + Op 2 서스테인 + + + + Op 2 release + Op 2 릴리즈 + + + + Op 2 level + Op 2 레벨 + + + + Op 2 level scaling + Op 2 레벨 스케일링 + + + + Op 2 frequency multiplier + Op 2 주파수 증폭기 + + + + Op 2 key scaling rate + Op 2 키 스케일링 레이트 + + + + Op 2 percussive envelope + Op 2 퍼커시브 엔벨로프 + + + + Op 2 tremolo + Op 2 트레몰로 + + + + Op 2 vibrato + Op 2 비브라토 + + + + Op 2 waveform + Op 2 파형 + + + + FM + FM + + + + Vibrato depth + 비브라토 깊이 + + + + Tremolo depth + 트레몰로 깊이 + + + + lmms::OrganicInstrument + + + Distortion + 디스토션 + + + + Volume + 볼륨 + + + + lmms::OscillatorObject + + + Osc %1 waveform + Osc %1 파형 + + + + Osc %1 harmonic + Osc %1 하모닉 + + + + + Osc %1 volume + Osc %1 볼륨 + + + + + Osc %1 panning + Osc %1 패닝 + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + Osc %1 코어스 디튜닝 + + + + Osc %1 fine detuning left + Osc %1 파인 디튜닝 좌측 + + + + Osc %1 fine detuning right + Osc %1 파인 디튜닝 우측 + + + + Osc %1 phase-offset + Osc %1 페이즈-오프셋 + + + + Osc %1 stereo phase-detuning + Osc %1 스테레오 페이즈-디튜닝 + + + + Osc %1 wave shape + Osc %1 웨이브 형태 + + + + Modulation type %1 + 모듈레이션 유형 %1 + + + + lmms::PatternTrack + + + Pattern %1 + 패턴 %1 + + + + Clone of %1 + %1의 클론 + + + + lmms::PeakController + + + Peak Controller + 피크 컨트롤러 + + + + Peak Controller Bug + 피크 컨트롤러 버그 + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + 이전 버전 LMMS의 버그로 인해 피크 컨트롤러가 제대로 연결되지 않았을 수 있습니다. 피크 컨트롤러가 제대로 연결되었는지 확인 후 이 파일을 다시 저장해 주시기 바랍니다. 불편을 드려 죄송합니다. + + + + lmms::PeakControllerEffectControls + + + Base value + 기준 값 + + + + Modulation amount + 모듈레이션 양 + + + + Attack + 어택 + + + + Release + 릴리즈 + + + + Treshold + 트레스홀드 + + + + Mute output + 출력 음소거 + + + + Absolute value + 절댓값 + + + + Amount multiplicator + 양 배율기 + + + + lmms::Plugin + + + Plugin not found + 플러그인을 찾을 수 없음 + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + "%1" 플러그인을 찾을 수 없거나 불러올 수 없습니다. +원인: %2 + + + + Error while loading plugin + 플러그인 불러오는 중 오류 + + + + Failed to load plugin "%1"! + "%1" 플러그인을 불러오지 못했습니다! + + + + lmms::ReverbSCControls + + + Input gain + 입력 게인 + + + + Size + 크기 + + + + Color + 색상 + + + + Output gain + 출력 게인 + + + + lmms::SaControls + + + Pause + 일시정지 + + + + Reference freeze + 레퍼런스 프리즈 + + + + Waterfall + 워터폴 + + + + Averaging + 애버리징 + + + + Stereo + 스테레오 + + + + Peak hold + 피크 홀드 + + + + Logarithmic frequency + 로가리듬 주파수 + + + + Logarithmic amplitude + 로가리듬 진폭 + + + + Frequency range + 주파수 범위 + + + + Amplitude range + 진폭 범위 + + + + FFT block size + FFT 블록 크기 + + + + FFT window type + FFT 창 유형 + + + + Peak envelope resolution + 피크 엔벨로프 레졸루션 + + + + Spectrum display resolution + 스펙트럼 디스플레이 레졸루션 + + + + Peak decay multiplier + 피크 디케이 증폭기 + + + + Averaging weight + 애버리징 위젯 + + + + Waterfall history size + 워터폴 히스토리 크기 + + + + Waterfall gamma correction + 워터폴 감마 보정 + + + + FFT window overlap + FFT 창 오버랩 + + + + FFT zero padding + FFT 제로 패딩 + + + + + Full (auto) + 전체 (자동) + + + + + + Audible + 잘 들리게 + + + + Bass + 최저음 + + + + Mids + 중간음 + + + + High + 최고음 + + + + Extended + 늘어지게 + + + + Loud + 크게 + + + + Silent + 조용하게 + + + + (High time res.) + (최고음 시간 res.) + + + + (High freq. res.) + (최고음 주파수 res.) + + + + Rectangular (Off) + 렉탱귤러 (끔) + + + + + Blackman-Harris (Default) + 블랙맨-해리스 (기본값) + + + + Hamming + 해밍 + + + + Hanning + 해닝 + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + 볼륨 + + + + Panning + 패닝 + + + + Mixer channel + 믹서 채널 + + + + Sample track 샘플 트랙 - SampleTrackView + lmms::Scale - - Track volume - 트랙 음량 - - - - Channel volume: - 채널 음량: - - - - VOL - 음량 - - - - Panning - 패닝 - - - - Panning: - 패닝: - - - - PAN - 패닝 - - - - Channel %1: %2 - FX %1: %2 + + empty + 비어 있음 - SampleTrackWindow + lmms::Sf2Instrument - - GENERAL SETTINGS - 일반 설정 + + Bank + 뱅크 - - Sample volume - + + Patch + 패치 - - Volume: - 음량: + + Gain + 게인 - - VOL - 음량 + + Reverb + 리버브 - - Panning - 패닝 + + Reverb room size + 리버브 공간 크기 - - Panning: - 패닝: + + Reverb damping + 리버브 진폭 감소 - - PAN - 패닝 + + Reverb width + 리버브 폭 - - Mixer channel - FX 채널 + + Reverb level + 리버브 레벨 - - CHANNEL - FX + + Chorus + 코러스 + + + + Chorus voices + 코러스 보이스 + + + + Chorus level + 코러스 레벨 + + + + Chorus speed + 코러스 속도 + + + + Chorus depth + 코러스 깊이 + + + + A soundfont %1 could not be loaded. + %1 사운드폰트를 불러올 수 없습니다. - SaveOptionsWidget + lmms::SfxrInstrument - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - + + Wave + 웨이브 - SetupDialog + lmms::SidInstrument - - Reset to default value - 기본값으로 초기화 - - - - Use built-in NaN handler - - - - - Settings - 설정 - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - 음량을 dBFS 단위로 표시 - - - - Enable tooltips - 툴팁 활성화 - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - 플러그인 - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - - - - - Embed using native Win32 API - - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - VST 플러그인을 LMMS 재생과 동기화 - - - - Keep effects running even without input - 입력이 없을 때에도 효과 작동 유지 - - - - - Audio - 오디오 - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - LMMS 작업 경로 - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2 경로 - - - - Default SF2 - - - - - GIG directory - GIG 경로 - - - - Theme directory - - - - - Background artwork - 배경 아트워크 - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - 경로 - - - - OK - 확인 - - - - Cancel - 취소 - - - - Frames: %1 -Latency: %2 ms - 프레임: %1 -시간 지연: %2 ms - - - - Choose your GIG directory - GIG 경로 선택 - - - - Choose your SF2 directory - SF2 경로 선택 - - - - minutes - - - - - minute - - - - - Disabled - 비활성화됨 - - - - SidInstrument - - + Cutoff frequency - 차단 주파수 + 컷오프 주파수 - + Resonance 공명 - + Filter type - 필터 종류 + 필터 유형 - + Voice 3 off - + 보이스 3 끔 - + Volume - 음량 + 볼륨 - + Chip model 칩 모델 - SidInstrumentView + lmms::SlicerT - + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + 템포 + + + + Master volume + 마스터 볼륨 + + + + Master pitch + 마스터 피치 + + + + Aborting project load + 프로젝트 불러오기 중단하는 중 + + + + Project file contains local paths to plugins, which could be used to run malicious code. + 프로젝트 파일에는 악성 코드를 실행하는 데 사용될 수 있는 플러그인의 로컬 경로가 포함되어 있습니다. + + + + Can't load project: Project file contains local paths to plugins. + 프로젝트 불러올 수 없음: 프로젝트 파일에 플러그인에 대한 로컬 경로가 포함되어 있습니다. + + + + LMMS Error report + LMMS 오류 보고 + + + + (repeated %1 times) + (%1번 반복됨) + + + + The following errors occurred while loading: + 불러오는 동안 다음 오류가 발생했습니다: + + + + lmms::StereoEnhancerControls + + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + 좌측 → 좌측 + + + + Left to Right + 좌측 → 우측 + + + + Right to Left + 우측 → 좌측 + + + + Right to Right + 우측 → 우측 + + + + lmms::Track + + + Mute + 음소거 + + + + Solo + 솔로 연주 + + + + lmms::TrackContainer + + + Couldn't import file + 파일을 가져올 수 없음 + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + %1 파일을 가져오기 위한 필터링를 찾을 수 없습니다. +다른 소프트웨어를 사용하여 이 파일을 LMMS에서 지원하는 형식으로 변환해야 합니다. + + + + Couldn't open file + 파일을 열 수 없음 + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + 읽기 위한 %1 파일을 열 수 없습니다. +파일과 파일이 포함된 디렉터리에 대한 읽기 권한이 있는지 확인한 후 다시 시도하세요! + + + + Loading project... + 프로젝트 불러오는 중... + + + + + Cancel + 취소 + + + + + Please wait... + 잠시만 기다려 주세요... + + + + Loading cancelled + 불러오는 도중 취소됨 + + + + Project loading was cancelled. + 프로젝트가 불러오는 도중에 취소되었습니다. + + + + Loading Track %1 (%2/Total %3) + 트랙 %1 불러오는 중 (%2/총 %3) + + + + Importing MIDI-file... + MIDI 파일 가져오는중... + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + 지속됨 양 화면표시 + + + + Logarithmic scale + 로가리듬 스케일 + + + + High quality + 고음질 + + + + lmms::VestigeInstrument + + + Loading plugin + 플러그인 불러오는 중 + + + + Please wait while loading the VST plugin... + VST 플러그인을 불러오는 동안 잠시 기다려 주세요... + + + + lmms::Vibed + + + String %1 volume + 스트링 %1 볼륨 + + + + String %1 stiffness + 스트링 %1 스티프니스 + + + + Pick %1 position + 픽 %1 포지션 + + + + Pickup %1 position + 픽업 %1 포지션 + + + + String %1 panning + 스트링 %1 패닝 + + + + String %1 detune + 스트링 %1 디튠 + + + + String %1 fuzziness + 스트링 %1 퍼지니스 + + + + String %1 length + 스트링 %1 길이 + + + + Impulse %1 + 임펄스 %1 + + + + String %1 + 스트링 %1 + + + + lmms::VoiceObject + + + Voice %1 pulse width + 보이스 %1 펄스 폭 + + + + Voice %1 attack + 보이스 %1 어택 + + + + Voice %1 decay + 보이스 %1 디케이 + + + + Voice %1 sustain + 보이스 %1 서스테인 + + + + Voice %1 release + 보이스 %1 릴리즈 + + + + Voice %1 coarse detuning + 보이스 %1 코어스 디튜닝 + + + + Voice %1 wave shape + 보이스 %1 웨이브 형태 + + + + Voice %1 sync + 보이스 %1 싱크 + + + + Voice %1 ring modulate + 보이스 %1 링 조절하기 + + + + Voice %1 filtered + 보이스 %1 필터링됨 + + + + Voice %1 test + 보이스 %1 테스트 + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + VST 플러그인 %1을 불러올 수 없습니다. + + + + Open Preset + 프리셋 열기 + + + + + VST Plugin Preset (*.fxp *.fxb) + VST 플러그인 프리셋 (*.fxp *.fxb) + + + + : default + : 기본값 + + + + Save Preset + 프리셋 저장하기 + + + + .fxp + .fxp + + + + .FXP + .FXP + + + + .FXB + .FXB + + + + .fxb + .fxb + + + + Loading plugin + 플러그인 불러오는 중 + + + + Please wait while loading VST plugin... + VST 플러그인을 불러오는 동안 잠시 기다려 주세요... + + + + lmms::WatsynInstrument + + + Volume A1 + 볼륨 A1 + + + + Volume A2 + 볼륨 A2 + + + + Volume B1 + 볼륨 B1 + + + + Volume B2 + 볼륨 B2 + + + + Panning A1 + 패닝 A1 + + + + Panning A2 + 패닝 A2 + + + + Panning B1 + 패닝 B1 + + + + Panning B2 + 패닝 B2 + + + + Freq. multiplier A1 + 주파수 증폭기 A1 + + + + Freq. multiplier A2 + 주파수 증폭기 A2 + + + + Freq. multiplier B1 + 주파수 증폭기 B1 + + + + Freq. multiplier B2 + 주파수 증폭기 B2 + + + + Left detune A1 + 좌측 디튠 A1 + + + + Left detune A2 + 좌측 디튠 A2 + + + + Left detune B1 + 좌측 디튠 B1 + + + + Left detune B2 + 좌측 디튠 B2 + + + + Right detune A1 + 우측 디튠 A1 + + + + Right detune A2 + 우측 디튠 A2 + + + + Right detune B1 + 우측 디튠 B1 + + + + Right detune B2 + 우측 디튠 B2 + + + + A-B Mix + A-B 믹스 + + + + A-B Mix envelope amount + A-B 믹스 엔벨로프 양 + + + + A-B Mix envelope attack + A-B 믹스 엔벨로프 어택 + + + + A-B Mix envelope hold + A-B 믹스 엔벨로프 홀드 + + + + A-B Mix envelope decay + A-B 믹스 엔벨로프 디케이 + + + + A1-B2 Crosstalk + A1-B2 크로스토크 + + + + A2-A1 modulation + A2-A1 모듈레이션 + + + + B2-B1 modulation + B2-B1 모듈레이션 + + + + Selected graph + 선택된 그래프 + + + + lmms::WaveShaperControls + + + Input gain + 입력 게인 + + + + Output gain + 출력 게인 + + + + lmms::Xpressive + + + Selected graph + 선택된 그래프 + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + W1 smoothing + W1 스무딩 + + + + W2 smoothing + W2 스무딩 + + + + W3 smoothing + W3 스무딩 + + + + Panning 1 + 패닝 1 + + + + Panning 2 + 패닝 2 + + + + Rel trans + 릴리즈 전환 + + + + lmms::ZynAddSubFxInstrument + + + Portamento + 포르타멘토 + + + + Filter frequency + 필터 주파수 + + + + Filter resonance + 필터 공명 + + + + Bandwidth + 대역폭 + + + + FM gain + FM 게인 + + + + Resonance center frequency + 공명 중심 주파수 + + + + Resonance bandwidth + 공명 대역폭 + + + + Forward MIDI control change events + 정방향 MIDI 컨트롤 변경 이벤트 + + + + lmms::graphModel + + + Graph + 그래프 + + + + lmms::gui::AmplifierControlDialog + + + VOL + 볼륨 + + + Volume: - 음량: + 볼륨: - - Resonance: - 공명: + + PAN + 패닝 - - - Cutoff frequency: - 차단 주파수: + + Panning: + 패닝: - - High-pass filter - 고역 통과 필터 + + LEFT + - - Band-pass filter - 대역 통과 필터 + + Left gain: + 좌측 게인: - - Low-pass filter - 저역 통과 필터 + + RIGHT + - - Voice 3 off - 소리 3 끄기 + + Right gain: + 우측 게인: + + + lmms::gui::AudioAlsaSetupWidget - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: + + Device - - - Decay: - 감쇠: + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + 샘플 열기 - - Sustain: + + Reverse sample + 리버스 샘플 + + + + Disable loop + 루프 비활성화 + + + + Enable loop + 루프 활성화 + + + + Enable ping-pong loop + 핑-퐁 루프 활성화 + + + + Continue sample playback across notes + 노트 전체에 걸쳐 샘플 재생 계속하기 + + + + Amplify: + Amplify: + + + + Start point: + 시작점: + + + + End point: + 끝점: + + + + Loopback point: + 루프백 포인트: + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + 샘플 길이: + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + 오토메이션 편집기에서 열기 + + + + Clear + 지우기 + + + + Reset name + 이름 재설정 + + + + Change name + 이름 변경하기 + + + + Set/clear record + 녹음 지정하기/지우기 + + + + Flip Vertically (Visible) + 수직으로 뒤집기 (표시됨) + + + + Flip Horizontally (Visible) + 수평으로 뒤집기 (표시됨) + + + + %1 Connections + %1 연결 + + + + Disconnect "%1" + "%1" 연결끊기 + + + + Model is already connected to this clip. + 모델이 이미 이 클립에 연결되어 있습니다. + + + + lmms::gui::AutomationEditor + + + Edit Value + 값 편집하기 + + + + New outValue + 새 출력값 + + + + New inValue + 새 입력값 + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + 현재 클립 연주하기/일시중지 (Space) + + + + Stop playing of current clip (Space) + 현재 클립 연주 중지하기 (Space) + + + + Edit actions + 편집 작업 + + + + Draw mode (Shift+D) + 그리기 모드 (Shift+D) + + + + Erase mode (Shift+E) + 지우기 모드 (Shift+E) + + + + Draw outValues mode (Shift+C) + 출력값 그리기 모드 (Shift+C) + + + + Edit tangents mode (Shift+T) - - - Release: + + Flip vertically + 수직으로 뒤집기 + + + + Flip horizontally + 수평으로 뒤집기 + + + + Interpolation controls + 인터폴레이션 컨트롤 + + + + Discrete progression + 디스크리트 프로그레션 + + + + Linear progression + 리니어 프로그레션 + + + + Cubic Hermite progression + 큐빅 에르미트 프로그레션 + + + + Tension value for spline + 스플라인의 텐션 값 + + + + Tension: + 텐션: + + + + Zoom controls + 컨트롤 확대/축소 + + + + Horizontal zooming + 수평 주밍 + + + + Vertical zooming + 수직 주밍 + + + + Quantization controls + 퀀티제이션 컨트롤 + + + + Quantization + 퀀티제이션 + + + + Clear ghost notes - - Pulse Width: - 펄스 폭: + + + Automation Editor - no clip + 오토메이션 편집기 - 클립 없음 - - Coarse: - + + + Automation Editor - %1 + 오토메이션 편집기 - %1 - - Pulse wave - 펄스파 + + Model is already connected to this clip. + 모델이 이미 이 클립에 연결되어 있습니다. + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + FREQ - + + Frequency: + 주파수: + + + + GAIN + 게인 + + + + Gain: + 게인: + + + + RATIO + 레시오 + + + + Ratio: + 레시오: + + + + lmms::gui::BitInvaderView + + + Sample length + 샘플 길이 + + + + Draw your own waveform here by dragging your mouse on this graph. + 이 그래프 위에 마우스를 드래그하여 여기에 나만의 파형을 그려보세요. + + + + + Sine wave + 사인파 + + + + Triangle wave 삼각파 - + + Saw wave 톱니파 - + + + Square wave + 사각파 + + + + + White noise + 백색 잡음 + + + + + User-defined wave + 사용자 정의된 파형 + + + + + Smooth waveform + 부드러운 파형 + + + + Interpolation + 인터폴레이션 + + + + Normalize + 노멀라이즈 + + + + lmms::gui::BitcrushControlDialog + + + IN + 입력 + + + + OUT + 출력 + + + + + GAIN + 게인 + + + + Input gain: + 입력 게인: + + + + NOISE + 잡음 + + + + Input noise: + 입력 잡음: + + + + Output gain: + 출력 게인: + + + + CLIP + 클립 + + + + Output clip: + 출력 클립: + + + + Rate enabled + 레이트 활성화됨 + + + + Enable sample-rate crushing + 샘플 레이트 크러싱 활성화 + + + + Depth enabled + 깊이 활성화됨 + + + + Enable bit-depth crushing + 비트 깊이 크러싱 활성화 + + + + FREQ + FREQ + + + + Sample rate: + 샘플 레이트: + + + + STEREO + 스테레오 + + + + Stereo difference: + 스테레오 차이: + + + + QUANT + 퀀타이즈 + + + + Levels: + 레벨: + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + - 노트 및 셋업: %1% + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + GUI 표시하기 + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + Carla의 그래픽 사용자 인터페이스(GUI)를 표시하거나 숨기려면 여기를 클릭하세요. + + + + Params + 매개변수 + + + + Available from Carla version 2.1 and up. + Carla 버전 2.1 이상부터 사용 가능합니다. + + + + lmms::gui::CarlaParamsView + + + Search.. + 검색하기.. + + + + Clear filter text + 필터 텍스트 지우기 + + + + Only show knobs with a connection. + 연결된 노브만 표시합니다. + + + + - Parameters + - 매개변수 + + + + lmms::gui::ClipView + + + Current position + 현재 포지션 + + + + Current length + 현재 길이 + + + + + %1:%2 (%3:%4 to %5:%6) + %1:%2 (%3:%4 ~ %5:%6) + + + + Press <%1> and drag to make a copy. + <%1>을 누르고 드래그하여 복사합니다. + + + + Press <%1> for free resizing. + 자유롭게 크기를 조정하려면 <%1>을 누르십시오. + + + + Hint + 힌트 + + + + Delete (middle mousebutton) + 삭제하기 (마우스 가운데 버튼) + + + + Delete selection (middle mousebutton) + 선택항목 삭제하기 (마우스 가운데 버튼) + + + + Cut + 잘라내기 + + + + Cut selection + 선택항목 잘라내기 + + + + Merge Selection + 선택항목 합치기 + + + + Copy + 복사하기 + + + + Copy selection + 선택항목 복사하기 + + + + Paste + 붙여넣기 + + + + Mute/unmute (<%1> + middle click) + 음소거/음소거 해제 (<%1> + 가운데 버튼 클릭) + + + + Mute/unmute selection (<%1> + middle click) + 선택항목 음소거/음소거 해제 (<%1> + 가운데 버튼 클릭) + + + + Clip color + 클립 색상 + + + + Change + 변경하기 + + + + Reset + 재설정 + + + + Pick random + 무작위 고르기 + + + + lmms::gui::CompressorControlDialog + + + Threshold: + 스레시홀드: + + + + Volume at which the compression begins to take place + 압축이 시작되는 지점의 볼륨 + + + + Ratio: + 레시오: + + + + How far the compressor must turn the volume down after crossing the threshold + 컴프레서가 스레시홀드를 초과한 후 볼륨을 낮춰야 하는 정도 + + + + Attack: + 어택: + + + + Speed at which the compressor starts to compress the audio + 컴프레서가 오디오 압축을 시작하는 속도 + + + + Release: + 릴리즈: + + + + Speed at which the compressor ceases to compress the audio + 컴프레서가 오디오 압축을 중단하는 속도 + + + + Knee: + 니(Knee): + + + + Smooth out the gain reduction curve around the threshold + 스레시홀드 주변에서 게인 감소 곡선 부드럽게 펴기 + + + + Range: + 범위: + + + + Maximum gain reduction + 최대 게인 감소 + + + + Lookahead Length: + 룩어헤드 길이: + + + + How long the compressor has to react to the sidechain signal ahead of time + 컴프레서가 미리 사이드체인 신호에 반응해야 하는 시간 + + + + Hold: + 홀드: + + + + Delay between attack and release stages + 어택과 릴리즈 단계 사이의 딜레이 + + + + RMS Size: + RMS 크기: + + + + Size of the RMS buffer + RMS 버퍼의 크기 + + + + Input Balance: + 입력 밸런스: + + + + Bias the input audio to the left/right or mid/side + 입력 오디오를 좌/우 또는 중간/측면으로 치우치게하기 + + + + Output Balance: + 출력 밸런스: + + + + Bias the output audio to the left/right or mid/side + 출력 오디오를 좌/우 또는 중간/측면으로 치우치게하기 + + + + Stereo Balance: + 스테레오 밸런스: + + + + Bias the sidechain signal to the left/right or mid/side + 사이드 체인 신호를 좌/우 또는 중간/측면으로 치우치게하기 + + + + Stereo Link Blend: + 스테레오 링크 섞기: + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + 림크해제된/최대/평균/최소 스테레오 링킹 모드 간 섞기 + + + + Tilt Gain: + 틸트 게인: + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + 사이드체인 신호를 저주파 또는 고주파로 치우치게 합니다. -6db는 로패스, 6db는 하이패스입니다. + + + + Tilt Frequency: + 틸트 주파수: + + + + Center frequency of sidechain tilt filter + 사이드 체인 틸트 필터의 중심 주파수 + + + + Mix: + 믹스: + + + + Balance between wet and dry signals + 웨트 신호와 드라이 신호 간의 밸런스 + + + + Auto Attack: + 자동 어택: + + + + Automatically control attack value depending on crest factor + 파고율에 따른 어택 값 자동적으로 제어 + + + + Auto Release: + 자동 릴리즈: + + + + Automatically control release value depending on crest factor + 파고율에 따른 릴리즈 값 자동적으로 제어 + + + + Output gain + 출력 게인 + + + + + Gain + 게인 + + + + Output volume + 출력 볼륨 + + + + Input gain + 입력 게인 + + + + Input volume + 입력 볼륨 + + + + Root Mean Square + 제곱 평균 제곱근 + + + + Use RMS of the input + 입력의 RMS 사용하기 + + + + Peak + 피크 + + + + Use absolute value of the input + 입력의 절대값 사용하기 + + + + Left/Right + 좌/우 + + + + Compress left and right audio + 좌측 및 우측 오디오 압축하기 + + + + Mid/Side + 중간/측면 + + + + Compress mid and side audio + 중간 및 측면 오디오 압축하기 + + + + Compressor + 컴프레서 + + + + Compress the audio + 오디오 압축하기 + + + + Limiter + 리미터 + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + 레시오를 무한대로 지정 (오디오 볼륨 제한이 보장되지 않음) + + + + Unlinked + 링크 해제됨 + + + + Compress each channel separately + 각 채널 따로따로 압축하기 + + + + Maximum + 최댓값 + + + + Compress based on the loudest channel + 가장 소리가 큰 채널을 기준으로 압축하기 + + + + Average + 평균 + + + + Compress based on the averaged channel volume + 평균 채널 볼륨을 기준으로 압축 + + + + Minimum + 최솟값 + + + + Compress based on the quietest channel + 가장 조용한 채널을 기준으로 압축하기 + + + + Blend + 섞기 + + + + Blend between stereo linking modes + 스테레오 링킹 모드 간 섞기 + + + + Auto Makeup Gain + 자동 메이크업 게인 + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + 스레시홀드, 니(Knee) 및 레시오 설정에 따라 자동으로 메이크업 게인 변경 + + + + + Soft Clip + 소프트 클립 + + + + Play the delta signal + 델타 신호 연주하기 + + + + Use the compressor's output as the sidechain input + 컴프레서의 출력을 사이드체인 입력으로 사용하기 + + + + Lookahead Enabled + 룩어헤드 활성화됨 + + + + Enable Lookahead, which introduces 20 milliseconds of latency + 20밀리초의 레이턴시를 유발하는 룩어헤드 활성화 + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + 연결 설정 + + + + MIDI CONTROLLER + MIDI 컨트롤러 + + + + Input channel + 입력 채널 + + + + CHANNEL + 채널 + + + + Input controller + 입력 컨트롤러 + + + + CONTROLLER + 컨트롤러 + + + + + Auto Detect + 자동 감지 + + + + MIDI-devices to receive MIDI-events from + MIDI 이벤트를 수신할 MIDI 디바이스 + + + + USER CONTROLLER + 사용자 컨트롤러 + + + + MAPPING FUNCTION + 매핑 기능 + + + + OK + 확인 + + + + Cancel + 취소 + + + + LMMS + LMMS + + + + Cycle Detected. + 사이클이 감지되었습니다. + + + + lmms::gui::ControllerRackView + + + Controller Rack + 컨트롤러 랙 + + + + Add + 추가하기 + + + + Confirm Delete + 삭제 확인하기 + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + 삭제를 확인하시겠습니까? 이 컨트롤러와 연결된 기존 연결이 있습니다. 실행 취소할 방법이 없습니다. + + + + lmms::gui::ControllerView + + + Controls + 컨트롤 + + + + Rename controller + 컨트롤러 이름변경 + + + + Enter the new name for this controller + 이 컨트롤러의 새 이름을 입력하세요 + + + + LFO + LFO + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + 이 컨트롤러 제거(&R) + + + + Re&name this controller + 이 컨트롤러 이름 변경(&N) + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + 밴드 1/2 크로스오버: + + + + Band 2/3 crossover: + 밴드 2/3 크로스오버: + + + + Band 3/4 crossover: + 밴드 3/4 크로스오버: + + + + Band 1 gain + 밴드 1 게인 + + + + Band 1 gain: + 밴드 1 게인: + + + + Band 2 gain + 밴드 2 게인 + + + + Band 2 gain: + 밴드 2 게인: + + + + Band 3 gain + 밴드 3 게인 + + + + Band 3 gain: + 밴드 3 게인: + + + + Band 4 gain + 밴드 4 게인 + + + + Band 4 gain: + 밴드 4 게인: + + + + Band 1 mute + 밴드 1 음소거 + + + + Mute band 1 + 음소거 밴드 1 + + + + Band 2 mute + 밴드 2 음소거 + + + + Mute band 2 + 음소거 밴드 2 + + + + Band 3 mute + 밴드 3 음소거 + + + + Mute band 3 + 음소거 밴드 3 + + + + Band 4 mute + 밴드 4 음소거 + + + + Mute band 4 + 음소거 밴드 4 + + + + lmms::gui::DelayControlsDialog + + + DELAY + 딜레이 + + + + Delay time + 딜레이 시간 + + + + FDBK + FDBK + + + + Feedback amount + 피드백 양 + + + + RATE + 레이트 + + + + LFO frequency + LFO 주파수 + + + + AMNT + AMNT + + + + LFO amount + LFO 양 + + + + Out gain + 출력 게인 + + + + Gain + 게인 + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + AMOUNT + + + + Number of all-pass filters + 올패스 필터의 수 + + + + FREQ + FREQ + + + + Frequency: + 주파수: + + + + RESO + RESO + + + + Resonance: + 공명: + + + + FEED + FEED + + + + Feedback: + 피드백: + + + + DC Offset Removal + DC 오프셋 제거 + + + + Remove DC Offset + DC 오프셋 제거하기 + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + FREQ + + + + + Cutoff frequency + 컷오프 주파수 + + + + + RESO + RESO + + + + + Resonance + 공명 + + + + + GAIN + 게인 + + + + + Gain + 게인 + + + + MIX + MIX + + + + Mix + 믹스 + + + + Filter 1 enabled + 필터 1 활성화됨 + + + + Filter 2 enabled + 필터 2 활성화됨 + + + + Enable/disable filter 1 + 필터 1 활성화/비활성화 + + + + Enable/disable filter 2 + 필터 2 활성화/비활성화 + + + + lmms::gui::DynProcControlDialog + + + INPUT + 입력 + + + + Input gain: + 입력 게인: + + + + OUTPUT + 출력 + + + + Output gain: + 출력 게인: + + + + ATTACK + 어택 + + + + Peak attack time: + 피크 어택 시간: + + + + RELEASE + 릴리즈 + + + + Peak release time: + 피크 릴리즈 시간: + + + + + Reset wavegraph + 웨이브그래프 재설정 + + + + + Smooth wavegraph + 부드러운 웨이브그래프 + + + + + Increase wavegraph amplitude by 1 dB + 웨이브그래프 진폭 1dB씩 증가하기 + + + + + Decrease wavegraph amplitude by 1 dB + 웨이브그래프 진폭 1dB씩 감소하기 + + + + Stereo mode: maximum + 스테레오 모드: 최댓값 + + + + Process based on the maximum of both stereo channels + 양쪽 스테레오 채널의 최대값을 기준으로 처리하기 + + + + Stereo mode: average + 스테레오 모드: 평균값 + + + + Process based on the average of both stereo channels + 양쪽 스테레오 채널의 평균값을 기준으로 처리하기 + + + + Stereo mode: unlinked + 스테레오 모드: 링크 해제됨 + + + + Process each stereo channel independently + 각 스테레오 채널을 독자적으로 처리 + + + + lmms::gui::Editor + + + Transport controls + 트랜스포트 컨트롤 + + + + Play (Space) + 연주하기 (Space) + + + + Stop (Space) + 중지하기 (Space) + + + + Record + 녹음하기 + + + + Record while playing + 연주하면서 녹음하기 + + + + Toggle Step Recording + 스탭 녹음 전환하기 + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + 이펙트 체인 + + + + Add effect + 이펙트 추가하기 + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + 이름 + + + + Type + 유형 + + + + All + + + + + Search + + + + + Description + 설명 + + + + Author + 원작자 + + + + lmms::gui::EffectView + + + On/Off + 켬/끔 + + + + W/D + W/D + + + + Wet Level: + 웨트 레벨: + + + + DECAY + 디케이 + + + + Time: + 시간: + + + + GATE + 게이트 + + + + Gate: + 게이트: + + + + Controls + 컨트롤 + + + + Move &up + 위로 이동(&U) + + + + Move &down + 아래로 이동(&D) + + + + &Remove this plugin + 이 플러그인 제거(&R) + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + AMT + + + + + Modulation amount: + 모듈레이션 양: + + + + + DEL + DEL + + + + + Pre-delay: + 프리-딜레이: + + + + + ATT + ATT + + + + + Attack: + 어택: + + + + HOLD + HOLD + + + + Hold: + 홀드: + + + + DEC + DEC + + + + Decay: + 디케이: + + + + SUST + SUST + + + + Sustain: + 서스테인: + + + + REL + REL + + + + Release: + 릴리즈: + + + + SPD + SPD + + + + Frequency: + 주파수: + + + + FREQ x 100 + FREQ x 100 + + + + Multiply LFO frequency by 100 + LFO 주파수를 100으로 곱합니다 + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + 이 LFO로 엔벨로프 양 제어하기 + + + + Hint + 힌트 + + + + Drag and drop a sample into this window. + 샘플을 이 창으로 끌어다 놓으세요. + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + HP + + + + Low-shelf + 로셀프 + + + + Peak 1 + 피크 1 + + + + Peak 2 + 피크 2 + + + + Peak 3 + 피크 3 + + + + Peak 4 + 피크 4 + + + + High-shelf + 하이셸프 + + + + LP + LP + + + + Input gain + 입력 게인 + + + + + + Gain + 게인 + + + + Output gain + 출력 게인 + + + + Bandwidth: + 대역폭: + + + + Octave + 옥타브 + + + + Resonance: + + + + + Frequency: + 주파수: + + + + LP group + LP 그룹 + + + + HP group + HP 그룹 + + + + lmms::gui::EqHandle + + + Reso: + 공명: + + + + BW: + 대역폭: + + + + + Freq: + 주파수: + + + + lmms::gui::ExportProjectDialog + + + Could not open file + 파일을 열 수 없음 + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + 쓰기 위한 %1 파일을 열 수 없습니다. +파일 및 파일이 포함된 디렉터리에 대한 쓰기 권한이 있는지 확인한 후 다시 시도하세요! + + + + Export project to %1 + %1(으)로 프로젝트 내보내기 + + + + ( Fastest - biggest ) + ( 가장 빠름 - 최대 용량 ) + + + + ( Slowest - smallest ) + ( 가장 빠름 - 최소 용량 ) + + + + Error + 오류 + + + + Error while determining file-encoder device. Please try to choose a different output format. + 파일 인코더 디바이스를 확인하는 동안 오류가 발생했습니다. 다른 출력 형식을 선택하십시오. + + + + Rendering: %1% + 렌더링: %1% + + + + lmms::gui::Fader + + + Set value + 값 지정하기 + + + + Please enter a new value between %1 and %2: + %1부터 %2까지의 값을 입력하세요: + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + 탐색기 + + + + Search + 검색 + + + + Refresh list + 목록 새로고침 + + + + User content + 사용자 콘텐츠 + + + + Factory content + 팩토리 콘텐츠 + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + 활성 악기 트랙으로 전송하기 + + + + Open containing folder + 포함된 폴더 열기 + + + + Song Editor + 노래 편집기 + + + + Pattern Editor + 패턴 편집기 + + + + Send to new AudioFileProcessor instance + 새 AudioFileProcessor 인스턴스로 전송하기 + + + + Send to new instrument track + 새 악기 트랙으로 전송하기 + + + + (%2Enter) + (%2Enter) + + + + Send to new sample track (Shift + Enter) + 새 샘플 트랙으로 전송하기 (Shift + Enter) + + + + Loading sample + 샘플 불러오는 중 + + + + Please wait, loading sample for preview... + 잠시만 기다려 주세요. 미리보기용 샘플 불러오는 중... + + + + Error + 오류 + + + + %1 does not appear to be a valid %2 file + %1은(는) 올바른 %2 파일이 아닌 것 같습니다 + + + + --- Factory files --- + --- 팩토리 파일 --- + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + 딜레이 + + + + Delay time: + 딜레이 시간: + + + + RATE + 레이트 + + + + Period: + 주기: + + + + AMNT + AMNT + + + + Amount: + 양: + + + + PHASE + 페이즈 + + + + Phase: + 페이즈: + + + + FDBK + FDBK + + + + Feedback amount: + 피드백 양: + + + + NOISE + 잡음 + + + + White noise amount: + 백색 잡음량: + + + + Invert + 반전 + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + 스위프 시간: + + + + Sweep time + 스위프 시간 + + + + Sweep rate shift amount: + 스위프 레이트 시프트 양: + + + + Sweep rate shift amount + 스위프 레이트 시프트 양 + + + + + Wave pattern duty cycle: + 웨이브 패턴 듀티 사이클: + + + + + Wave pattern duty cycle + 웨이브 패턴 듀티 사이클 + + + + Square channel 1 volume: + 스퀘어 채널 1 볼륨: + + + + Square channel 1 volume + 스퀘어 채널 1 볼륨 + + + + + + Length of each step in sweep: + 스위프에서 각 스텝의 길이: + + + + + + Length of each step in sweep + 스위프에서 각 스텝의 길이 + + + + Square channel 2 volume: + 스퀘어 채널 2 볼륨: + + + + Square channel 2 volume + 스퀘어 채널 2 볼륨 + + + + Wave pattern channel volume: + 웨이브 패턴 채널 볼륨: + + + + Wave pattern channel volume + 웨이브 패턴 채널 볼륨 + + + + Noise channel volume: + 잡음 채널 볼륨: + + + + Noise channel volume + 잡음 채널 볼륨 + + + + SO1 volume (Right): + SO1 볼륨 (우측): + + + + SO1 volume (Right) + SO1 볼륨 (우측) + + + + SO2 volume (Left): + SO2 볼륨 (좌측): + + + + SO2 volume (Left) + SO2 볼륨 (좌측) + + + + Treble: + 트레블: + + + + Treble + 트레블 + + + + Bass: + 베이스: + + + + Bass + 베이스 + + + + Sweep direction + 스위프 방향 + + + + + + + + Volume sweep direction + 볼륨 스위프 방향 + + + + Shift register width + 시프트 레지스터 너비 + + + + Channel 1 to SO1 (Right) + 채널 1 → SO1 (우측) + + + + Channel 2 to SO1 (Right) + 채널 2 → SO1 (우측) + + + + Channel 3 to SO1 (Right) + 채널 3 → SO1 (우측) + + + + Channel 4 to SO1 (Right) + 채널 4 → SO1 (우측) + + + + Channel 1 to SO2 (Left) + 채널 1 → SO2 (좌측) + + + + Channel 2 to SO2 (Left) + 채널 2 → SO2 (좌측) + + + + Channel 3 to SO2 (Left) + 채널 3 → SO2 (좌측) + + + + Channel 4 to SO2 (Left) + 채널 4 → SO2 (좌측) + + + + Wave pattern graph + 웨이브 패턴 그래프 + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + GIG 파일 열기 + + + + Choose patch + 패치 고르기 + + + + Gain: + 게인: + + + + GIG Files (*.gig) + GIG 파일 (*.gig) + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + 작업 디렉터리 + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + LMMS 작업 디렉터리 %1이(가) 없습니다. 지금 만드시겠습니까? 나중에 편집 -> 설정을 통해 디렉터리를 변경할 수 있습니다. + + + + Preparing UI + UI 준비하는 중 + + + + Preparing song editor + 노래 편집기 준비하는 중 + + + + Preparing mixer + 믹서 준비하는 중 + + + + Preparing controller rack + 컨트롤러 랙 준비하는 중 + + + + Preparing project notes + 프로젝트 노트 준비하는 중 + + + + Preparing microtuner + 마이크로튜너 준비하는 중 + + + + Preparing pattern editor + 패턴 편집기 준비하는 중 + + + + Preparing piano roll + 피아노 롤 준비하는 중 + + + + Preparing automation editor + 오토메이션 편집기 준비하는 중 + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + 아르페지오 + + + + RANGE + 범위 + + + + Arpeggio range: + 아르페지오 범위: + + + + octave(s) + 옥타브 + + + + REP + 반복 + + + + Note repeats: + 노트 반복: + + + + time(s) + + + + + CYCLE + 사이클 + + + + Cycle notes: + 사이클 노트: + + + + note(s) + 노트 + + + + SKIP + 스킵 + + + + Skip rate: + 스킵 비율: + + + + + + % + % + + + + MISS + 누락 + + + + Miss rate: + 누락 비율: + + + + TIME + 시간 + + + + Arpeggio time: + 아르페지오 시간: + + + + ms + ms + + + + GATE + 게이트 + + + + Arpeggio gate: + 아르페지오 게이트: + + + + Chord: + 코드: + + + + Direction: + 방향: + + + + Mode: + 모드: + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + 스태킹 + + + + Chord: + 코드: + + + + RANGE + 범위 + + + + Chord range: + 코드 범위: + + + + octave(s) + 옥타브 + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + MIDI 입력 활성화 + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + 채널 + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + 벨로시티 + + + + ENABLE MIDI OUTPUT + MIDI 출력 활성화 + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + 프로그램 + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + 노트 + + + + MIDI devices to receive MIDI events from + MIDI 이벤트를 수신할 MIDI 디바이스 + + + + MIDI devices to send MIDI events to + MIDI 이벤트를 전송할 MIDI 디바이스 + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + 대상 + + + + FILTER + 필터 + + + + FREQ + FREQ + + + + Cutoff frequency: + 컷오프 주파수: + + + + Hz + Hz + + + + Q/RESO + Q/공명 + + + + Q/Resonance: + Q/공명: + + + + Envelopes, LFOs and filters are not supported by the current instrument. + 엔벨로프, LFO 및 필터는 현재 악기에서 지원되지 않습니다. + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + 볼륨 + + + + Volume: + 볼륨: + + + + VOL + 볼륨 + + + + Panning + 패닝 + + + + Panning: + 패닝: + + + + PAN + 패닝 + + + + MIDI + MIDI + + + + Input + 입력 + + + + Output + 출력 + + + + Open/Close MIDI CC Rack + MIDI CC 랙 열기/닫기 + + + + %1: %2 + %1: %2 + + + + lmms::gui::InstrumentTrackWindow + + + Volume + 볼륨 + + + + Volume: + 볼륨: + + + + VOL + 볼륨 + + + + Panning + 패닝 + + + + Panning: + 패닝: + + + + PAN + 패닝 + + + + Pitch + 피치 + + + + Pitch: + 피치: + + + + cents + 센트 + + + + PITCH + 피치 + + + + Pitch range (semitones) + 피치 범위 (반음) + + + + RANGE + 범위 + + + + Mixer channel + 믹서 채널 + + + + CHANNEL + 채널 + + + + Save current instrument track settings in a preset file + 현재 악기 트랙 설정을 프리셋 파일에 저장하기 + + + + SAVE + 저장하기 + + + + Envelope, filter & LFO + 엔벨로프, 필터 & LFO + + + + Chord stacking & arpeggio + 코드 스태킹 & 아르페지오 + + + + Effects + 이펙트 + + + + MIDI + MIDI + + + + Tuning and transposition + + + + + Save preset + 프리셋 저장하기 + + + + XML preset file (*.xpf) + XML 프리셋 파일 (*.xpf) + + + + Plugin + 플러그인 + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + 시작 주파수: + + + + End frequency: + 끝 주파수: + + + + Frequency slope: + 주파수 슬로프: + + + + Gain: + 게인: + + + + Envelope length: + 엔벨로프 길이: + + + + Envelope slope: + 엔벨로프 슬로프: + + + + Click: + 클릭: + + + + Noise: + 잡음: + + + + Start distortion: + 시작 디스토션: + + + + End distortion: + 끝 디스토션: + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + 사용 가능한 이펙트 + + + + + Unavailable Effects + 사용할 수 없는 이펙트 + + + + + Instruments + 악기 + + + + + Analysis Tools + 분석 도구 + + + + + Don't know + 알 수 없음 + + + + Type: + 유형: + + + + lmms::gui::LadspaControlDialog + + + Link Channels + 링크 채널 + + + + Channel + 채널 + + + + lmms::gui::LadspaControlView + + + Link channels + 링크 채널 + + + + Value: + 값: + + + + lmms::gui::LadspaDescription + + + Plugins + 플러그인 + + + + Description + 설명 + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + 포트 + + + + Name + 이름 + + + + Rate + 레이트 + + + + Direction + 방향 + + + + Type + 유형 + + + + Min < Default < Max + 최소 < 기본 < 최대 + + + + Logarithmic + 로가리듬 + + + + SR Dependent + SR 종속성 + + + + Audio + 오디오 + + + + Control + 컨트롤 + + + + Input + 입력 + + + + Output + 출력 + + + + Toggled + 전환됨 + + + + Integer + 정수 + + + + Float + 실수 + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + 컷오프 주파수: + + + + Resonance: + 공명: + + + + Env Mod: + Env Mod: + + + + Decay: + 디케이: + + + + 303-es-que, 24dB/octave, 3 pole filter + 303-es-que, 24dB/옥타브, 3 폴 필터 + + + + Slide Decay: + 슬라이드 디케이: + + + + DIST: + 디스토션: + + + + Saw wave + 톱니파 + + + + Click here for a saw-wave. + 톱니파를 얻으려면 여기를 클릭하세요. + + + + Triangle wave + 삼각파 + + + + Click here for a triangle-wave. + 삼각파를 얻으려면 여기를 클릭하세요. + + + + Square wave + 사각파 + + + + Click here for a square-wave. + 사각파를 얻으려면 여기를 클릭하세요. + + + + Rounded square wave + 둥근 사각파 + + + + Click here for a square-wave with a rounded end. + 끝이 둥근 사각파를 얻으려면 여기를 클릭하세요. + + + + Moog wave + 모그파 + + + + Click here for a moog-like wave. + 모그와 비슷한 파형을 얻으려면 여기를 클릭하세요. + + + + Sine wave + 사인파 + + + + Click for a sine-wave. + 사인파를 얻으려면 클릭하세요. + + + + + White noise wave + 백색 잡음 파형 + + + + Click here for an exponential wave. + 지수파를 얻으려면 여기를 클릭하세요. + + + + Click here for white-noise. + 백색 잡음을 얻으려면 여기를 클릭하세요. + + + + Bandlimited saw wave + 밴드리밋된 톱니파 + + + + Click here for bandlimited saw wave. + 밴드리밋된 톱니파를 얻으려면 여기를 클릭하세요. + + + + Bandlimited square wave + 밴드리밋된 사각파 + + + + Click here for bandlimited square wave. + 밴드리밋된 사각파를 얻으려면 여기를 클릭하세요. + + + + Bandlimited triangle wave + 밴드리밋된 삼각파 + + + + Click here for bandlimited triangle wave. + 밴드리밋된 삼각파를 얻으려면 여기를 클릭하세요. + + + + Bandlimited moog saw wave + 밴드리밋된 모그 톱니파 + + + + Click here for bandlimited moog saw wave. + 밴드리밋된 모그 톱니파를 얻으려면 여기를 클릭하세요. + + + + lmms::gui::LcdFloatSpinBox + + + Set value + 값 지정하기 + + + + Please enter a new value between %1 and %2: + %1부터 %2까지의 값을 입력하세요: + + + + lmms::gui::LcdSpinBox + + + Set value + 값 지정하기 + + + + Please enter a new value between %1 and %2: + %1부터 %2까지의 값을 입력하세요: + + + + lmms::gui::LeftRightNav + + + + + Previous + 이전 + + + + + + Next + 다음 + + + + Previous (%1) + 이전 (%1) + + + + Next (%1) + 다음 (%1) + + + + lmms::gui::LfoControllerDialog + + + LFO + LFO + + + + BASE + BASE + + + + Base: + 기준: + + + + FREQ + FREQ + + + + LFO frequency: + LFO 주파수: + + + + AMNT + AMNT + + + + Modulation amount: + 모듈레이션 양: + + + + PHS + PHS + + + + Phase offset: + 페이즈 오프셋: + + + + degrees + + + + + Sine wave + 사인파 + + + + Triangle wave + 삼각파 + + + + Saw wave + 톱니파 + + + + Square wave + 사각파 + + + + Moog saw wave + 모그 톱니파 + + + + Exponential wave + 지수파 + + + + White noise + 백색 잡음 + + + + User-defined shape. +Double click to pick a file. + 사용자 정의된 형태입니다. +파일을 선택하려면 두 번 클릭하세요. + + + + Multiply modulation frequency by 1 + 모듈레이션 주파수를 1로 곱합니다 + + + + Multiply modulation frequency by 100 + 모듈레이션 주파수를 100으로 곱합니다 + + + + Divide modulation frequency by 100 + 모듈레이션 주파수를 100으로 나눕니다 + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + 구성 파일 + + + + Error while parsing configuration file at line %1:%2: %3 + %1:%2 줄에서 구성 파일을 분석하는 동안 오류: %3 + + + + Could not open file + 파일을 열 수 없음 + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + 쓰기 위한 %1 파일을 열 수 없습니다. +파일 및 파일이 포함된 디렉터리에 대한 쓰기 권한이 있는지 확인한 후 다시 시도하세요! + + + + Project recovery + 프로젝트 복구 + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + 복구 파일이 존재합니다. 이전에 LMMS가 비정상 종료되었거나 여러 개의 LMMS 인스턴스가 동시에 실행 중인 것 같습니다. 복구 파일로부터 프로젝트를 복구하시겠습니까? + + + + + Recover + 복구하기 + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + 파일을 복구합니다. 이 작업을 수행할 때 LMMS의 여러 인스턴스를 실행하지 마세요. + + + + + Discard + 폐기하기 + + + + Launch a default session and delete the restored files. This is not reversible. + 기본 세션을 시작하고 복원된 파일을 삭제합니다. 이 작업은 되돌릴 수 없습니다. + + + + Version %1 + 버전 %1 + + + + Preparing plugin browser + 플러그인 탐색기 준비하는 중 + + + + Preparing file browsers + 파일 탐색기 준비하는 중 + + + + My Projects + 내 프로젝트 + + + + My Samples + 내 샘플 + + + + My Presets + 내 프리셋 + + + + My Home + 내 홈 + + + + Root Directory + + + + + Volumes + 볼륨 + + + + My Computer + 내 컴퓨터 + + + + Loading background picture + 배경 사진 불러오는 중 + + + + &File + 파일(&F) + + + + &New + 새로 만들기(&N) + + + + &Open... + 열기(&O)... + + + + &Save + 저장(&S) + + + + Save &As... + 다른 이름으로 저장(&A)... + + + + Save as New &Version + 새 버전으로 저장(&V) + + + + Save as default template + 기본 템플릿으로 저장하기 + + + + Import... + 가져오기... + + + + E&xport... + 내보내기(&X)... + + + + E&xport Tracks... + 트랙 내보내기(&X)... + + + + Export &MIDI... + MIDI 내보내기(&M)... + + + + &Quit + 종료(&Q) + + + + &Edit + 편집(&E) + + + + Undo + 실행 취소 + + + + Redo + 다시 실행 + + + + Scales and keymaps + + + + + Settings + 설정 + + + + &View + 보기(&V) + + + + &Tools + 도구(&T) + + + + &Help + 도움말(&H) + + + + Online Help + 온라인 도움말 + + + + Help + 도움말 + + + + About + 정보 + + + + Create new project + 새 프로젝트 만들기 + + + + Create new project from template + 템플릿에서 새 프로젝트 만들기 + + + + Open existing project + 기존 프로젝트 열기 + + + + Recently opened projects + 최근에 열린 프로젝트 + + + + Save current project + 현재 프로젝트 저장하기 + + + + Export current project + 현재 프로젝트 내보내기 + + + + Metronome + 메트로놈 + + + + + Song Editor + 노래 편집기 + + + + + Pattern Editor + 패턴 편집기 + + + + + Piano Roll + 피아노 롤 + + + + + Automation Editor + 오토메이션 편집기 + + + + + Mixer + 믹서 + + + + Show/hide controller rack + 컨트롤러 랙 표시하기/숨기기 + + + + Show/hide project notes + 프로젝트 노트 표시하기/숨기기 + + + + Untitled + 제목 없음 + + + + Recover session. Please save your work! + 복구 세션입니다. 프로젝트 파일을 저장해 주세요! + + + + LMMS %1 + LMMS %1 + + + + Recovered project not saved + 복구된 프로젝트가 저장되지 않음 + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + 이 프로젝트는 이전 세션에서 복구되었습니다. 현재 저장되지 않은 상태이며 저장하지 않으면 손실됩니다. 지금 저장하시겠습니까? + + + + Project not saved + 프로젝트 저장되지 않음 + + + + The current project was modified since last saving. Do you want to save it now? + 현재 프로젝트는 마지막 저장 이후 수정되었습니다. 지금 저장하시겠습니까? + + + + Open Project + 프로젝트 열기 + + + + LMMS (*.mmp *.mmpz) + LMMS (*.mmp *.mmpz) + + + + Save Project + 프로젝트 저장하기 + + + + LMMS Project + LMMS 프로젝트 + + + + LMMS Project Template + LMMS 프로젝트 템플릿 + + + + Save project template + 프로젝트 템플릿 저장하기 + + + + Overwrite default template? + 기본 템플릿을 덮어쓰시겠습니까? + + + + This will overwrite your current default template. + 이 작업은 현재의 기본 템플릿을 덮어씁니다. + + + + Help not available + 도움말 사용할 수 없음 + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + 현재 LMMS에서 사용할 수 있는 도움말이 없습니다. +LMMS에 대한 문서는 http://lmms.sf.net/wiki를 방문하세요. + + + + Controller Rack + 컨트롤러 랙 + + + + Project Notes + 프로젝트 노트 + + + + Fullscreen + 전체화면 + + + + Volume as dBFS + 볼륨을 dBFS 단위로 + + + + Smooth scroll + 부드러운 스크롤 + + + + Enable note labels in piano roll + 피아노 롤에서 노트 레이블 활성화 + + + + MIDI File (*.mid) + MIDI 파일 (*.mid) + + + + + untitled + 제목 없음 + + + + + Select file for project-export... + 프로젝트를 내보낼 파일 선택하기... + + + + Select directory for writing exported tracks... + 내보낸 트랙을 저장할 디렉터리 선택하기... + + + + Save project + 프로젝트 저장하기 + + + + Project saved + 프로젝트 저장됨 + + + + The project %1 is now saved. + %1 프로젝트가 저장되었습니다. + + + + Project NOT saved. + 프로젝트가 저장되지 않았습니다. + + + + The project %1 was not saved! + %1 프로젝트가 저장되지 않았습니다! + + + + Import file + 파일 가져오기 + + + + MIDI sequences + MIDI 시퀀스 + + + + Hydrogen projects + Hydrogen 프로젝트 + + + + All file types + 모든 파일 유형 + + + + lmms::gui::MalletsInstrumentView + + + Instrument + 악기 + + + + Spread + 스프레드 + + + + Spread: + 스프레드: + + + + Random + + + + + Random: + + + + + Missing files + 누락된 파일 + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + 시스템의 Stk 설치가 불완전한 것 같습니다. 전체 Stk 패키지가 설치되었는지 확인하십시오! + + + + Hardness + 하드니스 + + + + Hardness: + 하드니스: + + + + Position + 포지션 + + + + Position: + 포지션: + + + + Vibrato gain + 비브라토 게인 + + + + Vibrato gain: + 비브라토 게인: + + + + Vibrato frequency + 비브라토 주파수 + + + + Vibrato frequency: + 비브라토 주파수: + + + + Stick mix + 스틱 믹스 + + + + Stick mix: + 스틱 믹스: + + + + Modulator + 모듈레이터 + + + + Modulator: + 모듈레이터: + + + + Crossfade + 크로스페이드 + + + + Crossfade: + 크로스페이드: + + + + LFO speed + LFO 속도 + + + + LFO speed: + LFO 속도: + + + + LFO depth + LFO 깊이 + + + + LFO depth: + LFO 깊이: + + + + ADSR + ADSR + + + + ADSR: + ADSR: + + + + Pressure + 누름 + + + + Pressure: + 누름: + + + + Speed + 속도 + + + + Speed: + 속도: + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + - VST 매개변수 컨트롤 + + + + VST sync + VST 싱크 + + + + + Automated + 자동화됨 + + + + Close + 닫기 + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + - VST 플러그인 컨트롤 + + + + VST Sync + VST 싱크 + + + + + Automated + 자동화됨 + + + + Close + 닫기 + + + + lmms::gui::MeterDialog + + + + Meter Numerator + 미터 분자 + + + + Meter numerator + 미터 분자 + + + + + Meter Denominator + 미터 분모 + + + + Meter denominator + 미터 분모 + + + + TIME SIG + 박자표 + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + 처음 노트 + + + + + Last key + 처음 노트 + + + + + Middle key + 중간 키 + + + + + Base key + 기준 키 + + + + + + Base note frequency + 기본 노트 주파수 + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + 스케일 설명입니다. "!"로 시작할 수 없고 개행 문자를 포함할 수 없습니다. + + + + + Load + 불러오기 + + + + + Save + 저장하기 + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + 간격을 별도의 줄에 입력합니다. 소수점이 포함된 숫자는 센트로 처리됩니다. +다른 입력은 정수의 레시오(ratios)로 취급되며 'a/b' 또는 'a' 형식이어야 합니다. +단수(0.0 센트 또는 레시오 1/1)는 항상 숨겨진 첫 번째 값으로 표시되므로 수동으로 입력하지 마세요. + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + 키맵 설명입니다. "!"로 시작할 수 없고 개행 문자를 포함할 수 없습니다. + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + 별도의 줄에 키 매핑을 입력합니다. +각 줄은 가운데 키부터 시작하여 순서대로 MIDI 키에 스케일 정도를 할당합니다. +이 패턴은 명시적인 키맵 범위를 벗어난 키에 대해서도 반복됩니다. +여러 개의 키를 동일한 스케일도에 매핑할 수 있습니다. +키를 비활성화/매핑하지 않으려면 'X'를 입력합니다. + + + + FIRST + FIRST + + + + First MIDI key that will be mapped + 매핑될 첫 번째 미디 키 + + + + LAST + LAST + + + + Last MIDI key that will be mapped + 매핑될 마지막 MIDI 키 + + + + MIDDLE + MIDDLE + + + + First line in the keymap refers to this MIDI key + 키맵의 첫 번째 줄은 이 미디 키를 나타냅니다 + + + + BASE N. + BASE N. + + + + Base note frequency will be assigned to this MIDI key + 기본 노트 주파수가 이 MIDI 키에 할당됩니다 + + + + BASE NOTE FREQ + 기본 노트 주파수 + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + 스케일 분석중 오류 + + + + Scale name cannot start with an exclamation mark + 스케일 이름은 느낌표로 시작할 수 없습니다 + + + + Scale name cannot contain a new-line character + 스케일 이름은 개행 문자를 포함할 수 없습니다 + + + + Interval defined in cents cannot be converted to a number + 센트 단위로 정의된 간격은 숫자로 변환할 수 없습니다 + + + + Numerator of an interval defined as a ratio cannot be converted to a number + 레시오로 정의된 간격의 분자는 숫자로 변환할 수 없습니다 + + + + Denominator of an interval defined as a ratio cannot be converted to a number + 레시오로 정의된 간격의 분모는 숫자로 변환할 수 없습니다 + + + + Interval defined as a ratio cannot be negative + 레시오로 정의된 간격은 음수가 될 수 없습니다 + + + + Keymap parsing error + 키맵 분석중 오류 + + + + Keymap name cannot start with an exclamation mark + 키맵 이름은 느낌표로 시작할 수 없습니다 + + + + Keymap name cannot contain a new-line character + 키맵 이름은 개행 문자를 포함할 수 없습니다 + + + + Scale degree cannot be converted to a whole number + 스케일 디그리는 정수로 변환할 수 없습니다 + + + + Scale degree cannot be negative + 스케일 디그리는 음수일 수 없습니다 + + + + Invalid keymap + 잘못된 키맵 + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + 기본 키는 스케일 디그리에 매핑되지 않습니다. 노트에 레퍼런스 주파수를 할당할 방법이 없으므로 소리가 나지 않습니다. + + + + Open scale + 스케일 열기 + + + + + Scala scale definition (*.scl) + Scala 스케일 정의 (*.scl) + + + + Scale load failure + 스케일 불러오기 실패 + + + + + Unable to open selected file. + 선택한 파일을 열 수 없습니다. + + + + Open keymap + 키맵 열기 + + + + + Scala keymap definition (*.kbm) + Scala 키맵 정의 (*.kbm) + + + + Keymap load failure + 키맵 불러오기 실패 + + + + Save scale + 스케일 저장하기 + + + + Scale save failure + 스케일 저장 실패 + + + + + Unable to open selected file for writing. + 쓰기 위해 선택한 파일을 열 수 없습니다. + + + + Save keymap + 키맵 저장하기 + + + + Keymap save failure + 키맵 저장 실패 + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + MIDI CC 랙 - %1 + + + + MIDI CC Knobs: + MIDI CC 노브: + + + + CC %1 + CC %1 + + + + lmms::gui::MidiClipView + + + + Transpose + 트랜스포즈 + + + + Semitones to transpose by: + 조옮김할 반음: + + + + Open in piano-roll + 피아노-롤에서 열기 + + + + Set as ghost in piano-roll + 피아노-롤에서 고스트로 지정하기 + + + + Set as ghost in automation editor + + + + + Clear all notes + 모든 노트 지우기 + + + + Reset name + 이름 재설정 + + + + Change name + 이름 변경하기 + + + + Add steps + 스탭 추가하기 + + + + Remove steps + 스탭 제거하기 + + + + Clone Steps + 스탭 복제하기 + + + + lmms::gui::MidiSetupWidget + + + Device + 디바이스 + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + 믹서 + + + + lmms::gui::MonstroView + + + Operators view + 오퍼레이터 보기 + + + + Matrix view + 매트릭스 보기 + + + + + + Volume + 볼륨 + + + + + + Panning + 패닝 + + + + + + Coarse detune + 코어스 디튠 + + + + + + semitones + 반음 + + + + + Fine tune left + 파인 튠 좌측 + + + + + + + cents + 센트 + + + + + Fine tune right + 파인 튠 우측 + + + + + + Stereo phase offset + 스테레오 페이즈 오프셋 + + + + + + + + deg + + + + + Pulse width + 펄스 폭 + + + + Send sync on pulse rise + 펄스 상승 시 싱크 전송하기 + + + + Send sync on pulse fall + 펄스 하강 시 싱크 전송하기 + + + + Hard sync oscillator 2 + 하드 싱크 오실레이터 2 + + + + Reverse sync oscillator 2 + 리버스 싱크 오실레이터 2 + + + + Sub-osc mix + 서브-osc 믹스 + + + + Hard sync oscillator 3 + 하드 싱크 오실레이터 3 + + + + Reverse sync oscillator 3 + 리버스 싱크 오실레이터 3 + + + + + + + Attack + 어택 + + + + + Rate + 레이트 + + + + + Phase + 페이즈 + + + + + Pre-delay + 프리-딜레이 + + + + + Hold + 홀드 + + + + + Decay + 디케이 + + + + + Sustain + 서스테인 + + + + + Release + 릴리즈 + + + + + Slope + 슬로프 + + + + Mix osc 2 with osc 3 + osc 2를 osc 3로 믹스 + + + + Modulate amplitude of osc 3 by osc 2 + osc 2로 osc 3의 진폭 조절하기 + + + + Modulate frequency of osc 3 by osc 2 + osc 2로 osc 3의 주파수 조절하기 + + + + Modulate phase of osc 3 by osc 2 + osc 2로 osc 3의 페이즈 조절하기 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + 모듈레이션 양 + + + + lmms::gui::MultitapEchoControlDialog + + + Length + 길이 + + + + Step length: + 스탭 길이: + + + + Dry + 드라이 + + + + Dry gain: + 드라이 게인: + + + + Stages + 단계 + + + + Low-pass stages: + 로패스 단계: + + + + Swap inputs + 좌우 입력 바꾸기 + + + + Swap left and right input channels for reflections + 반사율을 위해 좌측 및 우측 입력 채널 바꾸기 + + + + lmms::gui::NesInstrumentView + + + + + + Volume + 볼륨 + + + + + + Coarse detune + 코어스 디튠 + + + + + + Envelope length + 엔벨로프 길이 + + + + Enable channel 1 + 채널 1 활성화 + + + + Enable envelope 1 + 엔벨로프 1 활성화 + + + + Enable envelope 1 loop + 엔벨로프 1 루프 활성화 + + + + Enable sweep 1 + 스위프 1 활성화 + + + + + Sweep amount + 스위프 양 + + + + + Sweep rate + 스위프 레이트 + + + + + 12.5% Duty cycle + 12.5% 듀티 사이클 + + + + + 25% Duty cycle + 25% 듀티 사이클 + + + + + 50% Duty cycle + 50% 듀티 사이클 + + + + + 75% Duty cycle + 75% 듀티 사이클 + + + + Enable channel 2 + 채널 2 활성화 + + + + Enable envelope 2 + 엔벨로프 2 활성화 + + + + Enable envelope 2 loop + 엔벨로프 2 루프 활성화 + + + + Enable sweep 2 + 스위프 2 활성화 + + + + Enable channel 3 + 채널 3 활성화 + + + + Noise Frequency + 잡음 주파수 + + + + Frequency sweep + 주파수 스위프 + + + + Enable channel 4 + 채널 4 활성화 + + + + Enable envelope 4 + 엔벨로프 4 활성화 + + + + Enable envelope 4 loop + 엔벨로프 4 루프 활성화 + + + + Quantize noise frequency when using note frequency + 노트 주파수를 사용할 때 잡음 주파수 퀸타이즈 + + + + Use note frequency for noise + 잡음에 노트 주파수 사용하기 + + + + Noise mode + 잡음 모드 + + + + Master volume + 마스터 볼륨 + + + + Vibrato + 비브라토 + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + 어택 + + + + + Decay + 디케이 + + + + + Release + 릴리즈 + + + + + Frequency multiplier + 주파수 증폭기 + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + 디스토션: + + + + Volume: + 볼륨: + + + + Randomise + 무작위화 + + + + + Osc %1 waveform: + Osc %1 파형: + + + + Osc %1 volume: + Osc %1 볼륨: + + + + Osc %1 panning: + Osc %1 패닝: + + + + Osc %1 stereo detuning + Osc %1 스테레오 디튜닝 + + + + cents + 센트 + + + + Osc %1 harmonic: + Osc %1 하모닉: + + + + lmms::gui::Oscilloscope + + + Oscilloscope + 오실로스코프 + + + + Click to enable + 클릭하여 활성화 + + + + lmms::gui::PatmanView + + + Open patch + 패치 열기 + + + + Loop + 루프 + + + + Loop mode + 루프 모드 + + + + Tune + + + + + Tune mode + 튠 모드 + + + + No file selected + 선택된 파일 없음 + + + + Open patch file + 패치 파일 열기 + + + + Patch-Files (*.pat) + 패치 파일 (*.pat) + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + 패턴 편집기에서 열기 + + + + Reset name + 이름 재설정 + + + + Change name + 이름 변경하기 + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + 패턴 편집기 + + + + Play/pause current pattern (Space) + 현재 패턴 연주하기/일시중지 (Space) + + + + Stop playback of current pattern (Space) + 현재 패턴의 플레이백 중지하기 (Space) + + + + Pattern selector + 패턴 선택기 + + + + Track and step actions + 트랙 및 스탭 작업 + + + + New pattern + 새 패턴 + + + + Clone pattern + 패턴 복제하기 + + + + Add sample-track + 샘플-트랙 추가하기 + + + + Add automation-track + 오토메이션-트랙 추가하기 + + + + Remove steps + 스탭 제거하기 + + + + Add steps + 스탭 추가하기 + + + + Clone Steps + 스탭 복제하기 + + + + lmms::gui::PeakControllerDialog + + + PEAK + 피크 + + + + LFO Controller + LFO 컨트롤러 + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + BASE + + + + Base: + 기준: + + + + AMNT + AMNT + + + + Modulation amount: + 모듈레이션 양: + + + + MULT + MULT + + + + Amount multiplicator: + 양 배율기: + + + + ATCK + ATCK + + + + Attack: + 어택: + + + + DCAY + DCAY + + + + Release: + 릴리즈: + + + + TRSH + TRSH + + + + Treshold: + 트레스홀드: + + + + Mute output + 출력 음소거 + + + + Absolute value + 절댓값 + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + 노트 벨로시티 + + + + Note Panning + 노트 패닝 + + + + Mark/unmark current semitone + 현재 반음 마킹하기/마킹해제 + + + + Mark/unmark all corresponding octave semitones + 해당하는 모든 옥타브 반음 마킹하기/마킹해제 + + + + Mark current scale + 현재 스케일 마킹하기 + + + + Mark current chord + 현재 코드 마킹하기 + + + + Unmark all + 모두 마킹해제 + + + + Select all notes on this key + 이 키의 노트 모두 선택하기 + + + + Note lock + 노트 잠금 + + + + Last note + 마지막 노트 + + + + No key + 키 없음 + + + + No scale + 스케일 없음 + + + + No chord + 코드 없음 + + + + Nudge + 넛지 + + + + Snap + 스냅 + + + + Velocity: %1% + 벨로시티: %1% + + + + Panning: %1% left + 패닝: %1% 좌측 + + + + Panning: %1% right + 패닝: %1% 우측 + + + + Panning: center + 패닝: 중앙 + + + + Glue notes failed + 노트 붙이기 실패 + + + + Please select notes to glue first. + 먼저 붙여넣을 노트를 선택하세요. + + + + Please open a clip by double-clicking on it! + 클립을 두 번 클릭하여 열어주세요! + + + + + Please enter a new value between %1 and %2: + %1부터 %2까지의 값을 입력하세요: + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + 현재 클립 연주하기/일시중지 (Space) + + + + Record notes from MIDI-device/channel-piano + MIDI 디바이스/채널 피아노에서 노트 녹음하기 + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + 노래 또는 패턴 트랙을 연주하는 동안 MIDI 디바이스/채널 피아노에서 노트 녹음하기 + + + + Record notes from MIDI-device/channel-piano, one step at the time + MIDI 디바이스/채널 피아노에서 한 번에 한 스탭씩 노트 녹음하기 + + + + Stop playing of current clip (Space) + 현재 클립 연주 중지하기 (Space) + + + + Edit actions + 편집 작업 + + + + Draw mode (Shift+D) + 그리기 모드 (Shift+D) + + + + Erase mode (Shift+E) + 지우기 모드 (Shift+E) + + + + Select mode (Shift+S) + 선택하기 모드 (Shift+S) + + + + Pitch Bend mode (Shift+T) + 피치 밴드 모드 (Shift+T) + + + + Quantize + 퀀타이즈 + + + + Quantize positions + 퀀타이즈 포지션 + + + + Quantize lengths + 퀀타이즈 길이 + + + + File actions + 파일 작업 + + + + Import clip + 클립 가져오기 + + + + + Export clip + 클립 내보내기 + + + + Copy paste controls + 복사 붙여넣기 컨트롤 + + + + Cut (%1+X) + 잘라내기 (%1+X) + + + + Copy (%1+C) + 복사하기 (%1+C) + + + + Paste (%1+V) + 붙여넣기 (%1+V) + + + + Timeline controls + 타임라인 컨트롤 + + + + Glue + 붙이기 + + + + Knife + 자르기 + + + + Fill + 채우기 + + + + Cut overlaps + 오버랩 잘라내기 + + + + Min length as last + 마지막 최소 길이 + + + + Max length as last + 마지막 최대 길이 + + + + Zoom and note controls + 확대/축소 및 노트 컨트롤 + + + + Horizontal zooming + 수평 주밍 + + + + Vertical zooming + 수직 주밍 + + + + Quantization + 퀀티제이션 + + + + Note length + 노트 길이 + + + + Key + + + + + Scale + 스케일 + + + + Chord + 코드 + + + + Snap mode + 스냅 모드 + + + + Clear ghost notes + 고스트 노트 지우기 + + + + + Piano-Roll - %1 + 피아노-롤 - %1 + + + + + Piano-Roll - no clip + 피아노-롤 - 클립 없음 + + + + + XML clip file (*.xpt *.xptz) + XML 클립 파일 (*.xpt *.xptz) + + + + Export clip success + 클립 내보내기 성공 + + + + Clip saved to %1 + %1에 저장된 클립 + + + + Import clip. + 클립을 가져옵니다. + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + 클립을 가져오려는 중이며, 사용자의 현재 클립을 덮어씁니다. 계속하시겠습니까? + + + + Open clip + 클립 열기 + + + + Import clip success + 클립 가져오기 성공 + + + + Imported clip %1! + %1 클립을 가져왔습니다! + + + + lmms::gui::PianoView + + + Base note + 기본 노트 + + + + First note + 처음 노트 + + + + Last note + 마지막 노트 + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + 악기 플러그인 + + + + Instrument browser + 악기 탐색기 + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + 새 악기 트랙으로 전송하기 + + + + lmms::gui::ProjectNotes + + + Project Notes + 프로젝트 노트 + + + + Enter project notes here + 여기에 프로젝트 노트를 입력하세요 + + + + Edit Actions + 편집 작업 + + + + &Undo + 실행 취소(&U) + + + + %1+Z + %1+Z + + + + &Redo + 다시 실행(&R) + + + + %1+Y + %1+Y + + + + &Copy + 복사(&C) + + + + %1+C + %1+C + + + + Cu&t + 잘라내기(&T) + + + + %1+X + %1+X + + + + &Paste + 붙여넣기(&P) + + + + %1+V + %1+V + + + + Format Actions + 포멧 작업 + + + + &Bold + 볼드체(&B) + + + + %1+B + %1+B + + + + &Italic + 기울임꼴(&I) + + + + %1+I + %1+I + + + + &Underline + 밑줄(&U) + + + + %1+U + %1+U + + + + &Left + 왼쪽 정렬(&L) + + + + %1+L + %1+L + + + + C&enter + 가운데 정렬(&E) + + + + %1+E + %1+E + + + + &Right + 오른쪽 정렬(&R) + + + + %1+R + %1+R + + + + &Justify + 양쪽 정렬(&J) + + + + %1+J + %1+J + + + + &Color... + 색상(&C)... + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + 최근에 열린 프로젝트(&R) + + + + lmms::gui::RenameDialog + + + Rename... + 이름변경... + + + + lmms::gui::ReverbSCControlDialog + + + Input + 입력 + + + + Input gain: + 입력 게인: + + + + Size + 크기 + + + + Size: + 크기: + + + + Color + 색상 + + + + Color: + 색상: + + + + Output + 출력 + + + + Output gain: + 출력 게인: + + + + lmms::gui::SaControlsDialog + + + Pause + 일시정지 + + + + Pause data acquisition + 데이터 수집 일시정지 + + + + Reference freeze + 레퍼런스 프리즈 + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + 현재 입력을 레퍼런스로 프리즈 / 피크 홀드 모드에서 폴오프를 비활성화합니다. + + + + Waterfall + 워터폴 + + + + Display real-time spectrogram + 실시간 스펙트로그램 화면표시 + + + + Averaging + 애버리징 + + + + Enable exponential moving average + 지수 이동 평균 활성화 + + + + Stereo + 스테레오 + + + + Display stereo channels separately + 스테레오 채널 따로따로 화면표시 + + + + Peak hold + 피크 홀드 + + + + Display envelope of peak values + 피크 값의 엔벨로프 화면표시 + + + + Logarithmic frequency + 로가리듬 주파수 + + + + Switch between logarithmic and linear frequency scale + 로가리듬 및 리니어 주파수 스케일 간 전환하기 + + + + + Frequency range + 주파수 범위 + + + + Logarithmic amplitude + 로가리듬 진폭 + + + + Switch between logarithmic and linear amplitude scale + 로가리듬 및 리니어 진폭 스케일 간 전환하기 + + + + + Amplitude range + 진폭 범위 + + + + + FFT block size + FFT 블록 크기 + + + + + FFT window type + FFT 창 유형 + + + + Envelope res. + 엔벨로프 res. + + + + Increase envelope resolution for better details, decrease for better GUI performance. + 더 나은 세부 정보를 위해 엔벨로프 레졸루션을 높이고 더 나은 GUI 퍼포먼스를 위해 감소시킵니다. + + + + Maximum number of envelope points drawn per pixel: + 픽셀당 그려지는 엔벨로프 포인트의 최대 개수: + + + + Spectrum res. + 스펙트럼 res. + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + 더 나은 세부 사항을 위해 스펙트럼 레졸루션을 높이고 더 나은 GUI 퍼포먼스를 위해 감소시킵니다. + + + + Maximum number of spectrum points drawn per pixel: + 픽셀당 그려지는 스펙트럼 포인트의 최대 개수: + + + + Falloff factor + 폴오프 인수 + + + + Decrease to make peaks fall faster. + 피크가 더 빨리 떨어지도록 하려면 감소시킵니다. + + + + Multiply buffered value by + 버퍼링된 값을 곱한 값 + + + + Averaging weight + 애버리징 위젯 + + + + Decrease to make averaging slower and smoother. + 애버리징을 더 느리고 부드럽게 하려면 값을 줄입니다. + + + + New sample contributes + 새 샘플 기여하기 + + + + Waterfall height + 워터폴 높이 + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + 스크롤 속도를 낮추려면 늘리고, 빠른 트랜지션을 더 잘 보려면 감소시킵니다. 경고: CPU 사용량이 중간입니다. + + + + Number of lines to keep: + 유지할 줄 수: + + + + Waterfall gamma + 워터폴 감마 + + + + Decrease to see very weak signals, increase to get better contrast. + 매우 약한 신호를 보려면 줄이고, 더 나은 대비를 얻으려면 늘리세요. + + + + Gamma value: + 감마 값: + + + + Window overlap + 창 오버랩 + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + FFT 창 모서리 근처에 도착하는 누락된 빠른 트랜지션을 방지하려면 늘립니다. 경고: CPU 사용량이 높습니다. + + + + Number of times each sample is processed: + 각 샘플이 처리된 횟수: + + + + Zero padding + 제로 패딩 + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + 스펙트럼을 더 부드럽게 보이게 하려면 증가시킵니다. 경고: CPU 사용량이 높습니다. + + + + Processing buffer is + 프로세싱 버퍼는 + + + + steps larger than input block + 입력 블록보다 더 큰 스탭 + + + + Advanced settings + 고급 설정 + + + + Access advanced settings + 고급 설정 접근 + + + + lmms::gui::SampleClipView + + + Double-click to open sample + 두 번 클릭하여 샘플 열기 + + + + Reverse sample + 리버스 샘플 + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + 트랙 볼륨 + + + + Channel volume: + 채널 볼륨: + + + + VOL + 볼륨 + + + + Panning + 패닝 + + + + Panning: + 패닝: + + + + PAN + 패닝 + + + + %1: %2 + %1: %2 + + + + lmms::gui::SampleTrackWindow + + + Sample volume + 샘플 볼륨 + + + + Volume: + 볼륨: + + + + VOL + 볼륨 + + + + Panning + 패닝 + + + + Panning: + 패닝: + + + + PAN + 패닝 + + + + Mixer channel + 믹서 채널 + + + + CHANNEL + 채널 + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + MIDI 연결 끊기 + + + + Save As Project Bundle (with resources) + 프로젝트 번들로 저장하기 (리소스 포함) + + + + lmms::gui::SetupDialog + + + Settings + 설정 + + + + + General + 일반 + + + + Graphical user interface (GUI) + 그래픽 사용자 인터페이스 (GUI) + + + + Display volume as dBFS + 볼륨을 dBFS 단위로 화면표시 + + + + Enable tooltips + 툴팁 활성화 + + + + Enable master oscilloscope by default + 기본적으로 마스터 오실로스코프 활성화 + + + + Enable all note labels in piano roll + 피아노 롤의 모든 노트 레이블 활성화 + + + + Enable compact track buttons + 콤팩트 트랙 버튼 활성화 + + + + Enable one instrument-track-window mode + 하나의 악기 트랙 창 모드 활성화 + + + + Show sidebar on the right-hand side + 우측면에 사이드바 표시하기 + + + + Let sample previews continue when mouse is released + 마우스를 놓으면 샘플 미리보기를 계속할 수 있습니다 + + + + Mute automation tracks during solo + 솔로 연주 중 오토메이션 트랙 음소거 + + + + Show warning when deleting tracks + 트랙 삭제 시 경고 표시하기 + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + 프로젝트 + + + + Compress project files by default + 기본적으로 프로젝트 파일 압축 + + + + Create a backup file when saving a project + 프로젝트를 저장할 때 백업 파일 만들기 + + + + Reopen last project on startup + 시작 시 마지막 프로젝트 다시 열기 + + + + Language + 언어 + + + + + Performance + 퍼포먼스 + + + + Autosave + 자동저장 + + + + Enable autosave + 자동저장 활성화 + + + + Allow autosave while playing + 연주 중 자동저장 허용하기 + + + + User interface (UI) effects vs. performance + 사용자 인터페이스(UI) 이펙트 대 퍼포먼스 + + + + Smooth scroll in song editor + 노래 편집기에서 부드러운 스크롤 + + + + Display playback cursor in AudioFileProcessor + AudioFileProcessor에 플레이백 커서 화면표시 + + + + Plugins + 플러그인 + + + + VST plugins embedding: + VST 플러그인 포함됨: + + + + No embedding + 임베딩 없음 + + + + Embed using Qt API + Qt API를 사용하여 포함하기 + + + + Embed using native Win32 API + 기본 내장 Win32 API를 사용하여 포함하기 + + + + Embed using XEmbed protocol + XEMbed 프로토콜을 사용하여 포함하기 + + + + Keep plugin windows on top when not embedded + 포함되지 않은 경우 플러그인 창을 맨 위에 유지하기 + + + + Keep effects running even without input + 입력 없이도 이펙트 실행 유지하기 + + + + + Audio + 오디오 + + + + Audio interface + 오디오 인터페이스 + + + + Buffer size + 버퍼 크기 + + + + Reset to default value + 기본 값으로 재설정 + + + + + MIDI + MIDI + + + + MIDI interface + MIDI 인터페이스 + + + + Automatically assign MIDI controller to selected track + 선택한 트랙에 MIDI 컨트롤러 자동적으로 할당 + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + 경로 + + + + LMMS working directory + LMMS 작업 디렉터리 + + + + VST plugins directory + VST 플러그인 디렉터리 + + + + LADSPA plugins directories + LADSPA 플러그인 디렉터리 + + + + SF2 directory + SF2 디렉터리 + + + + Default SF2 + 기본 SF2 + + + + GIG directory + GIG 디렉터리 + + + + Theme directory + 테마 디렉터리 + + + + Background artwork + 배경 아트워크 + + + + Some changes require restarting. + 일부 변경사항은 다시 시작해야 합니다. + + + + OK + 확인 + + + + Cancel + 취소 + + + + minutes + + + + + minute + + + + + Disabled + 비활성화됨 + + + + Autosave interval: %1 + 자동저장 간격: %1 + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + 프레임: %1 +레이턴시: %2 ms + + + + Choose the LMMS working directory + LMMS 작업 디렉터리 고르기 + + + + Choose your VST plugins directory + 사용자의 VST 플러그인 디렉터리 고르기 + + + + Choose your LADSPA plugins directory + 사용자의 LADSPA 플러그인 디렉터리 고르기 + + + + Choose your SF2 directory + 사용자의 SF2 디렉터리 고르기 + + + + Choose your default SF2 + 사용자의 기본 SF2 고르기 + + + + Choose your GIG directory + 사용자의 GIG 디렉터리 고르기 + + + + Choose your theme directory + 사용자의 테마 디렉터리 고르기 + + + + Choose your background picture + 사용자의 배경 사진 고르기 + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + 사운드폰트 파일 열기 + + + + Choose patch + 패치 고르기 + + + + Gain: + 게인: + + + + Apply reverb (if supported) + 리버브 적용 (지원될 경우) + + + + Room size: + 공간 크기: + + + + Damping: + 진폭 감소: + + + + Width: + 폭: + + + + + Level: + 레벨: + + + + Apply chorus (if supported) + 코러스 적용 (지원될 경우) + + + + Voices: + 보이스: + + + + Speed: + 속도: + + + + Depth: + 깊이: + + + + SoundFont Files (*.sf2 *.sf3) + 사운드폰트 파일 (*.sf2 *.sf3) + + + + lmms::gui::SidInstrumentView + + + Volume: + 볼륨: + + + + Resonance: + 공명: + + + + + Cutoff frequency: + 컷오프 주파수: + + + + High-pass filter + 하이패스 필터 + + + + Band-pass filter + 밴드패스 필터 + + + + Low-pass filter + 로패스 필터 + + + + Voice 3 off + 보이스 3 끔 + + + + MOS6581 SID + MOS6581 SID + + + + MOS8580 SID + MOS8580 SID + + + + + Attack: + 어택: + + + + + Decay: + 디케이: + + + + Sustain: + 서스테인: + + + + + Release: + 릴리즈: + + + + Pulse Width: + 펄스 폭: + + + + Coarse: + 코어스: + + + + Pulse wave + 펄스파 + + + + Triangle wave + 삼각파 + + + + Saw wave + 톱니파 + + + Noise 잡음 - + Sync - 동기화 + 싱크 - + Ring modulation - 링 모듈레이션 + 종소리 모듈레이션 - + Filtered - 필터 + 필터링됨 - + Test 테스트 - + Pulse width: 펄스 폭: - SideBarWidget + lmms::gui::SideBarWidget - + Close 닫기 - Song + lmms::gui::SlicerTView - - Tempo - 템포 - - - - Master volume - 마스터 음량 - - - - Master pitch - 마스터 피치 - - - - Aborting project load + + Slice snap - - Project file contains local paths to plugins, which could be used to run malicious code. + + Set slice snapping for detection - - Can't load project: Project file contains local paths to plugins. + + Sync sample - - LMMS Error report - LMMS 오류 보고 - - - - (repeated %1 times) + + Enable BPM sync - - The following errors occurred while loading: + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap - SongEditor + lmms::gui::SlicerTWaveform - + + Click to load sample + + + + + lmms::gui::SongEditor + + Could not open file 파일을 열 수 없음 - + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - 파일 %1을(를) 열 수 없습니다. 파일을 읽을 수 있는 권한이 없기 때문일 수 있습니다. 파일을 읽을 수 있는 권한이 있는지 확인 후 다시 시도하시기 바랍니다. + %1 파일을 열 수 없습니다. 이 파일을 읽을 수 있는 권한이 없는 것 같습니다. +최소한 파일에 대한 읽기 권한이 있는지 확인하고 다시 시도하십시오. - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - + Operation denied + 오퍼레이션 거부됨 + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + 선택한 경로에 해당 이름의 번들 폴더가 이미 존재합니다. 프로젝트 번들을 덮어쓸 수 없습니다. 다른 이름을 선택하세요. + + + + + Error 오류 - + Couldn't create bundle folder. - + 번들 폴더를 만들 수 없습니다. - + Couldn't create resources folder. - + 리소스 폴더를 만들 수 없습니다. - + Failed to copy resources. - + 리소스를 복사하지 못했습니다. - + + Could not write file 파일을 쓸 수 없음 - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - - This %1 was created with LMMS %2 + + An unknown error has occurred and the file could not be saved. - + Error in file - 파일 오류 + 파일에서 오류 발생 - + The file %1 seems to contain errors and therefore can't be loaded. - 파일 %1에 오류가 있어 로딩에 실패하였습니다. + %1 파일에 오류가 있는 것 같으므로 불러올 수 없습니다. - - Version difference - 버전 차이 - - - + template 템플릿 - + project 프로젝트 - + + Version difference + 버전 차이 + + + + This %1 was created with LMMS %2 + 이 %1은(는) LMMS %2(으)로 만들어졌습니다 + + + + Zoom + 확대/축소 + + + Tempo 템포 - + TEMPO 템포 - + Tempo in BPM 템포 (BPM 단위) - - High quality mode - 고음질 모드 - - - - - + + + Master volume - 마스터 음량 + 마스터 볼륨 - - - - Master pitch - 마스터 피치 + + + + Global transposition + 전역 트랜스포지션 - + + 1/%1 Bar + 1/%1 마디 + + + + %1 Bars + %1 마디 + + + Value: %1% 값: %1% - - Value: %1 semitones - 값: %1반음 + + Value: %1 keys + 값: %1% 키 - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor 노래 편집기 - + Play song (Space) - 노래 재생 (Space) + 노래 연주하기 (Space) + + + + Record samples from Audio-device + 오디오 디바이스에서 샘플 녹음하기 + + + + Record samples from Audio-device while playing song or pattern track + 노래 또는 패턴 트랙을 연주하는 동안 오디오 디바이스에서 샘플 녹음하기 - Record samples from Audio-device - 오디오 장치로부터 샘플 녹음 - - - - Record samples from Audio-device while playing song or BB track - 노래 또는 비트/베이스 라인 트랙을 재생하는 동안 오디오 장치로부터 샘플 녹음 - - - Stop song (Space) - 노래 정지 (Space) + 노래 중지하기 (Space) - + Track actions - + 트랙 작업 - - Add beat/bassline - 비트/베이스 라인 추가 + + Add pattern-track + 패턴-트랙 추가하기 - + Add sample-track - 샘플 트랙 추가 + 샘플-트랙 추가하기 - + Add automation-track - 오토메이션 트랙 추가 + 오토메이션-트랙 추가하기 - + Edit actions - 편집 동작 + 편집 작업 - + Draw mode 그리기 모드 - + Knife mode (split sample clips) - + 자르기 모드 (샘플 클립 분할) - + Edit mode (select and move) 편집 모드 (선택 및 이동) - + Timeline controls - + 타임라인 컨트롤 + + + + Bar insert controls + 마디 삽입 컨트롤 + + + + Insert bar + 마디 삽입 - Bar insert controls - - - - - Insert bar - - - - Remove bar - + 마디 제거하기 - + Zoom controls - + 확대/축소 컨트롤 + - Horizontal zooming - 수평 줌 + Zoom + 확대/축소 - + Snap controls - + 스냅 컨트롤 - - + + Clip snapping size - + 클립 스내핑 크기 - + Toggle proportional snap on/off - + 비례 스냅 켬/끔 전환하기 - + Base snapping size - + 베이스 스내핑 크기 - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - + 힌트 - + Move recording curser using <Left/Right> arrows - + <좌/우> 방향키를 사용하여 녹음 커서 이동하기 - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + 폭: + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + 좌측 → 좌측 볼륨: + + + + Left to Right Vol: + 좌측 → 우측 볼륨: + + + + Right to Left Vol: + 우측 → 좌측 볼륨: + + + + Right to Right Vol: + 우측 → 우측 볼륨: + + + + lmms::gui::SubWindow + + Close 닫기 - + Maximize 최대화 - + Restore 복원 - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - %1에 대한 설정 + + 0 + 0 + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + 0.0 ms + + + + Mute metronome + 메트로놈 음소거 + + + + Mute + 음소거 + + + + BPM in milliseconds + + + + + 0 ms + 0 ms + + + + Frequency of BPM + + + + + 0.0000 hz + 0.0000 hz + + + + Reset + 재설정 + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + %1 ms + + + + %1 hz + %1 hz - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template 템플릿에서 새 프로젝트 생성 - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - 템포 동기화 + - + No Sync - 동기화 없음 + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + 템포 싱크 - Eight beats - 여덟 박자 + No Sync + 싱크 없음 - + + Eight beats + 8비트 + + + Whole note 온음표 - + Half note 2분음표 - + Quarter note 4분음표 - + 8th note 8분음표 - + 16th note 16분음표 - + 32nd note 32분음표 - + Custom... 사용자 지정... - + Custom 사용자 지정 - - - Synced to Eight Beats - 여덟 박자에 동기화됨 - - Synced to Whole Note - 온음표에 동기화됨 + Synced to Eight Beats + 8비트와 싱크됨 - Synced to Half Note - 2분음표에 동기화됨 + Synced to Whole Note + 온음표에 싱크됨 - Synced to Quarter Note - 4분음표에 동기화됨 + Synced to Half Note + 2분음표에 싱크됨 - Synced to 8th Note - 8분음표에 동기화됨 + Synced to Quarter Note + 4분음표에 싱크됨 - Synced to 16th Note - 16분음표에 동기화됨 + Synced to 8th Note + 8분음표에 싱크됨 + Synced to 16th Note + 16분음표에 싱크됨 + + + Synced to 32nd Note - 32분음표에 동기화됨 + 32분음표에 싱크됨 - TimeDisplayWidget + lmms::gui::TimeDisplayWidget - + Time units - 시간 단위 + 시간 구성 단위 - + MIN - + SEC - + MSEC 밀리초 - + BAR 마디 - + BEAT - + 비트 - + TICK - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - 자동 스크롤 + 자동 스크롤링 - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - 반복 지점 + 루프 포인트 - + After stopping go back to beginning - + 중지한 후 처음으로 돌아가기 - + After stopping go back to position at which playing was started - 정지한 뒤 재생을 시작한 점으로 이동 + 중지한 후 연주가 시작된 위치로 돌아가기 - + After stopping keep position - 정지한 후 위치 유지 + 중지한 후 위치 유지하기 - + Hint - + 힌트 - + Press <%1> to disable magnetic loop points. - <%1> 키를 눌러 반복 지점을 자유롭게 이동할 수 있습니다. - - - - Track - - - Mute - 음소거 + 마그네틱 루프 포인트를 비활성화하려면 <%1> 키를 누릅니다. - - Solo - 독주 - - - - TrackContainer - - - Couldn't import file - 파일을 가져올 수 없음 - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - 파일 %1을(를) 가져오기 위한 필터를 찾을 수 없습니다. -이 파일을 가져오려면 다른 프로그램을 사용하여 LMMS가 지원하는 포맷으로 변환하시기 바랍니다. - - - - Couldn't open file - 파일을 열 수 없음 - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - 파일 %1을(를) 읽기 열 수 없습니다. 파일을 읽을 수 있는 권한이 있는지 확인 후 다시 시도하시기 바랍니다! - - - - Loading project... - 프로젝트 로딩 중... - - - - - Cancel - 취소 - - - - - Please wait... - 잠시만 기다려 주세요... - - - - Loading cancelled - 로딩 취소됨 - - - - Project loading was cancelled. - 프로젝트 로딩이 취소되었습니다. - - - - Loading Track %1 (%2/Total %3) - 트랙 %1 로딩 중 (%2/총 %3) - - - - Importing MIDI-file... - MIDI 파일을 가져오는중... - - - - Clip - - - Mute - 음소거 - - - - ClipView - - - Current position - 현재 위치 - - - - Current length - 현재 길이 - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4부터 %5:%6까지) - - - - Press <%1> and drag to make a copy. - <%1> 키를 누른 채 드래그하여 복사합니다. - - - - Press <%1> for free resizing. - <%1> 키를 눌러 크기를 자유롭게 조절할 수 있습니다. - - - - Hint - - - - - Delete (middle mousebutton) - 삭제(마우스 가운데 버튼) - - - - Delete selection (middle mousebutton) + + Set loop begin here - - Cut - 잘라내기 - - - - Cut selection + + Set loop end here - - Merge Selection + + Loop edit mode (hold shift) - - Copy - 복사 - - - - Copy selection + + Dual-button - - Paste - 붙여넣기 - - - - Mute/unmute (<%1> + middle click) - 음소거/해제 (<%1> + 마우스 가운데 버튼) - - - - Mute/unmute selection (<%1> + middle click) + + Grab closest - - Set clip color - - - - - Use track color + + Handles - TrackContentWidget + lmms::gui::TrackContentWidget - + Paste 붙여넣기 - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - + 이동 그립을 클릭한 상태에서 <%1> 키를 누르면 새 드래그 앤 드롭 동작이 시작됩니다. Actions - 동작 + 작업 @@ -13459,2877 +18025,1033 @@ Please make sure you have read-permission to the file and the directory containi Solo - 독주 + 솔로 연주 - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + 트랙을 삭제하면 되돌릴 수 없습니다. 정말 "%1" 트랙을 삭제하시겠습니까? - + Confirm removal - + 제거 확인 - + Don't ask again - + 다시 묻지 않음 - + Clone this track - 트랙 복제 + 이 트랙 복제하기 - + Remove this track - 트랙 제거 + 이 트랙 제거하기 + + + + Clear this track + 이 트랙 지우기 - Clear this track - 트랙 초기화 - - - Channel %1: %2 - FX %1: %2 + 채널 %1: %2 - - Assign to new mixer Channel - 새 FX 채널 할당 + + Assign to new Mixer Channel + 새 믹서 채널에 할당하기 - + Turn all recording on - + 모든 녹음 켜기 - + Turn all recording off - + 모든 녹음 끄기 + + + + Track color + 트랙 색상 - Change color - 색상 바꾸기 + Change + 변경하기 + + + + Reset + 재설정 - Reset color to default - 색상을 기본값으로 되돌리기 + Pick random + 무작위 고르기 - Set random color - - - - - Clear clip colors - + Reset clip colors + 클립 색상 재설정 - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + 오실레이터 2로 오실레이터 1의 페이즈 조절하기 - + Modulate amplitude of oscillator 1 by oscillator 2 - - - - - Mix output of oscillators 1 & 2 - - - - - Synchronize oscillator 1 with oscillator 2 - + 오실레이터 2로 오실레이터 1의 진폭 조절하기 - Modulate frequency of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 + 오실레이터 1 & 2의 출력 믹스 + + + + Synchronize oscillator 1 with oscillator 2 + 오실레이터 1을 오실레이터 2와 싱크로나이즈 + Modulate frequency of oscillator 1 by oscillator 2 + 오실레이터 2로 오실레이터 1의 주파수 조절하기 + + + Modulate phase of oscillator 2 by oscillator 3 - + 오실레이터 3로 오실레이터 2의 페이즈 조절하기 - + Modulate amplitude of oscillator 2 by oscillator 3 - + 오실레이터 3으로 오실레이터 2의 진폭 조절하기 - + Mix output of oscillators 2 & 3 - + 오실레이터 2 & 3의 출력 믹스 - + Synchronize oscillator 2 with oscillator 3 - + 오실레이터 2를 오실레이터 3과 싱크로나이즈 - + Modulate frequency of oscillator 2 by oscillator 3 - + 오실레이터 3으로 오실레이터 2의 주파수 조절하기 - + Osc %1 volume: - 오실레이터 %1 음량: + Osc %1 볼륨: - + Osc %1 panning: - 오실레이터 %1 패닝: + Osc %1 패닝: - + Osc %1 coarse detuning: - + Osc %1 코어스 디튜닝: - + semitones 반음 - + Osc %1 fine detuning left: - + Osc %1 파인 디튜닝 왼쪽: - - + + cents 센트 - + Osc %1 fine detuning right: - + Osc %1 파인 디튜닝 우측: - + Osc %1 phase-offset: - + Osc %1 페이즈-오프셋: - - + + degrees - + Osc %1 stereo phase-detuning: - + Osc %1 스테레오 페이즈-디튜닝: - + Sine wave 사인파 - + Triangle wave 삼각파 - + Saw wave 톱니파 - + Square wave 사각파 - + Moog-like saw wave - Moog 톱니파 + 모그와 비슷한 톱니파 - + Exponential wave - 지수형 파형 + 지수파 - + White noise - 화이트 노이즈 + 백색 잡음 - + User-defined wave - 사용자 정의 파형 + 사용자 정의된 파형 + + + + Use alias-free wavetable oscillators. + 앨리어스가 없는 웨이브테이블 오실레이터를 사용합니다. - VecControls - - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality - - - - - VecControlsDialog - - - HQ - - + lmms::gui::VecControlsDialog + HQ + HQ + + + Double the resolution and simulate continuous analog-like trace. - + 레졸루션을 두 배로 늘리고 연속적인 아날로그 같은 트레이스를 시뮬레이션합니다. Log. scale - + Log. 스케일 Display amplitude on logarithmic scale to better see small values. - + 작은 값을 더 잘 볼 수 있도록 로가리듬 스케일로 진폭을 화면표시합니다. + + + + Persist. + 지속합니다. - Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. + 트레이스 지속됨: 양이 많을수록 트레이스가 더 오랫동안 밝게 유지됩니다. - Trace persistence: higher amount means the trace will stay bright for longer time. - - - - Trace persistence - + 트레이스 지속됨 - VersionedSaveDialog - - - Increment version number - 버전 증가 - + lmms::gui::VersionedSaveDialog + Increment version number + 버전 번호 증가 + + + Decrement version number - 버전 감소 + 버전 번호 감소 - + Save Options - + 저장 옵션 - + already exists. Do you want to replace it? 이(가) 이미 존재합니다. 덮어쓰시겠습니까? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin VST 플러그인 열기 - + Control VST plugin from LMMS host - LMMS에서 VST 플러그인 제어 + LMMS 호스트에서 VST 플러그인 제어 - + Open VST plugin preset VST 플러그인 프리셋 열기 - + Previous (-) 이전 (-) - + Save preset - 프리셋 저장 + 프리셋 저장하기 - + Next (+) 다음 (+) - + Show/hide GUI - GUI 보이기/숨기기 + GUI 표시하기/숨기기 - + Turn off all notes - 모든 음 끄기 + 모든 노트 끄기 - + DLL-files (*.dll) DLL 파일 (*.dll) - + EXE-files (*.exe) EXE 파일 (*.exe) - - No VST plugin loaded - VST 플러그인이 로딩되지 않음 + + SO-files (*.so) + SO 파일 (*.so) - + + No VST plugin loaded + 불러온 VST 플러그인 없음 + + + Preset 프리셋 - + by - + 만든이 - + - VST plugin control - + - VST 플러그인 컨트롤 - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + 파형 활성화 + + + + + Smooth waveform + 부드러운 파형 + + + + + Normalize waveform + 노멀라이즈 파형 + + + + + Sine wave + 사인파 + + + + + Triangle wave + 삼각파 + + + + + Saw wave + 톱니파 + + + + + Square wave + 사각파 + + + + + White noise + 백색 잡음 + + + + + User-defined wave + 사용자 정의된 파형 + + + + String volume: + 스트링 볼륨: + + + + String stiffness: + 스트링 스티프니스: + + + + Pick position: + 픽 포지션: + + + + Pickup position: + 픽업 포지션: + + + + String panning: + 스트링 패닝: + + + + String detune: + 스트링 디튠: + + + + String fuzziness: + 스트링 퍼지니스: + + + + String length: + 스트링 길이: + + + + Impulse Editor + 임펄스 편집기 + + + + Impulse + 임펄스 + + + + Enable/disable string + 스트링 활성화/비활성화 + + + + Octave + 옥타브 + + + + String + 스트링 + + + + lmms::gui::VstEffectControlDialog + + Show/hide - 보이기/숨기기 + 표시하기/숨기기 - + Control VST plugin from LMMS host - LMMS에서 VST 플러그인 제어 + LMMS 호스트에서 VST 플러그인 제어 - + Open VST plugin preset - VST-플러그인 프리셋 열기 + VST 플러그인 프리셋 열기 - + Previous (-) 이전 (-) - + Next (+) 다음 (+) - + Save preset - 프리셋 저장 + 프리셋 저장하기 - - + + Effect by: - + 이펙트: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VST 플러그인 %1을 불러올 수 없습니다. + + + + + Volume + 볼륨 - - Open Preset - 프리셋 열기 - - - - - Vst Plugin Preset (*.fxp *.fxb) - VST 플러그인 프리셋 (*.fxp *.fxb) - - - - : default - - - - - Save Preset - 프리셋 저장 - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - 플러그인 읽는 중 - - - - Please wait while loading VST plugin... - VST 플러그인을 읽을 동안 잠시 기다려 주세요... - - - - WatsynInstrument - - - Volume A1 - A1 음량 - - - - Volume A2 - A2 음량 - - - - Volume B1 - B1 음량 - - - - Volume B2 - B2 음량 - - - - Panning A1 - A1 패닝 - - - - Panning A2 - A2 패닝 - - - - Panning B1 - B1 패닝 - - - - Panning B2 - B2 패닝 - - - - Freq. multiplier A1 - - - - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - 선택된 그래프 - - - - WatsynView - + + - - - Volume - 음량 - - - - - - Panning 패닝 + + + + + Freq. multiplier + 주파수 증폭기 + + + + - - - Freq. multiplier - - - - - - - Left detune - + 좌측 디튠 + + + + + + - - - - - - cents 센트 - - - - + + + + Right detune - + 우측 디튠 - + A-B Mix - + A-B 믹스 - + Mix envelope amount - + 믹스 엔벨로프 양 - + Mix envelope attack - + 믹스 엔벨로프 어택 - + Mix envelope hold - + 믹스 엔벨로프 홀드 - + Mix envelope decay - + 믹스 엔벨로프 디케이 - + Crosstalk - + 크로스토크 - + Select oscillator A1 - + Osc A1 선택하기 - + Select oscillator A2 - + Osc A2 선택하기 - + Select oscillator B1 - + Osc B1 선택하기 - + Select oscillator B2 - + Osc B2 선택하기 - + Mix output of A2 to A1 - + A2에서 A1로 출력 믹스 - + Modulate amplitude of A1 by output of A2 - + A2의 출력으로 A1의 진폭 조절하기 - + Ring modulate A1 and A2 - + 종소리 변조 A1 및 A2 - + Modulate phase of A1 by output of A2 - + A2의 출력으로 A1의 페이즈 조절하기 - + Mix output of B2 to B1 - + B2에서 B1로 출력 믹스 - + Modulate amplitude of B1 by output of B2 - + B2의 출력으로 B1의 진폭 조절하기 - + Ring modulate B1 and B2 - + 종소리 변조 B1 및 B2 - + Modulate phase of B1 by output of B2 - + B2의 출력으로 B1의 페이즈 조절하기 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - 드래그하여 원하는 파형을 그리세요. + 이 그래프 위에 마우스를 드래그하여 나만의 파형을 그려보세요. - + Load waveform 파형 불러오기 - + Load a waveform from a sample file - 샘플 파일에서 파형 가져오기 + 샘플 파일에서 파형 불러오기 - + Phase left - 왼쪽 위상 + 페이즈 좌측 - + Shift phase by -15 degrees - 위상을 -15도만큼 바꾸기 + 페이즈를 -15도 만큼 옮기기 - + Phase right - 오른쪽 위상 + 페이즈 우측 - + Shift phase by +15 degrees - 위상을 +15도만큼 바꾸기 + 페이즈를 +15도 만큼 옮기기 + + + + + Normalize + 노멀라이즈 - Normalize - 일반화 - - - - Invert - 파형 반전 + 반전 - - + + Smooth - 부드럽게 + 스무드 - - + + Sine wave 사인파 - - - + + + Triangle wave 삼각파 - + Saw wave 톱니파 - - + + Square wave 사각파 - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - 선택된 그래프 + + INPUT + 입력 - - A1 - A1 + + Input gain: + 입력 게인: - - A2 - A2 + + OUTPUT + 출력 - - A3 - A3 + + Output gain: + 출력 게인: - - W1 smoothing - + + + Reset wavegraph + 웨이브그래프 재설정 - - W2 smoothing - + + + Smooth wavegraph + 부드러운 웨이브그래프 - - W3 smoothing - + + + Increase wavegraph amplitude by 1 dB + 웨이브그래프 진폭 1dB씩 증가하기 - - Panning 1 - 패닝 1 + + + Decrease wavegraph amplitude by 1 dB + 웨이브그래프 진폭 1dB씩 감소하기 - - Panning 2 - 패닝 2 + + Clip input + 클립 입력 - - Rel trans - + + Clip input signal to 0 dB + 클립 입력 신호 → 0dB - XpressiveView + lmms::gui::XpressiveView - + Draw your own waveform here by dragging your mouse on this graph. - 드래그하여 원하는 파형을 그리세요. + 이 그래프 위에 마우스를 드래그하여 나만의 파형을 그려보세요. - + Select oscillator W1 - 오실레이터 W1 선택 + 오실레이터 W1 선택하기 - + Select oscillator W2 - 오실레이터 W2 선택 + 오실레이터 W2 선택하기 - + Select oscillator W3 - 오실레이터 W3 선택 + 오실레이터 W3 선택하기 - + Select output O1 - 출력 O1 선택 + 출력 O1 선택하기 - + Select output O2 - 출력 O2 선택 + 출력 O2 선택하기 - + Open help window 도움말 창 열기 - - + + Sine wave 사인파 - - + + Moog-saw wave - Moog 톱니파 + 모그 톱니파 - - + + Exponential wave - 지수형 파형 + 지수파 - - + + Saw wave 톱니파 - - + + User-defined wave - 사용자 정의 파형 + 사용자 정의된 파형 - - + + Triangle wave 삼각파 - - + + Square wave 사각파 - - + + White noise - 화이트 노이즈 + 백색 잡음 - + WaveInterpolate - + 웨이브인터폴레이트 - + ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - + 유효한표현식 + General purpose 1: + 범용 1: + + + + General purpose 2: + 범용 2: + + + + General purpose 3: + 범용 3: + + + + O1 panning: + O1 패닝: + + + + O2 panning: + O2 패닝: + + + Release transition: - + 릴리즈 트랜지션: - + Smoothness - + 스무스니스 - ZynAddSubFxInstrument + lmms::gui::ZynAddSubFxView - - Portamento - 포르타멘토 - - - - Filter frequency - 필터 주파수 - - - - Filter resonance - 필터 공명 - - - - Bandwidth - 대역폭 - - - - FM gain - FM 이득 - - - - Resonance center frequency - 공명 중심 주파수 - - - - Resonance bandwidth - 공명 대역폭 - - - - Forward MIDI control change events - MIDI CC 이벤트 전달 - - - - ZynAddSubFxView - - + Portamento: 포르타멘토: - + PORT - 포르타멘토 + PORT - + Filter frequency: 필터 주파수: - + FREQ - 주파수 + FREQ - + Filter resonance: 필터 공명: - + RES - 공명 + RES - + Bandwidth: 대역폭: - + BW 대역폭 - - - FM gain: - FM 이득: - - FM GAIN - FM 이득 + FM gain: + FM 게인: - + + FM GAIN + FM 게인 + + + Resonance center frequency: 공명 중심 주파수: - + RES CF - + RES CF - + Resonance bandwidth: 공명 대역폭: - + RES BW - + RES BW - + Forward MIDI control changes - MIDI CC 이벤트 전달 + 정방향 MIDI 컨트롤 변경 - + Show GUI - GUI 표시 + GUI 표시하기 - - AudioFileProcessor - - - Amplify - 증폭 - - - - Start of sample - 샘플 시작 - - - - End of sample - 샘플 끝 - - - - Loopback point - 루프 시작점 - - - - Reverse sample - 샘플 역으로 - - - - Loop mode - 루프 모드 - - - - Stutter - - - - - Interpolation mode - 보간법 - - - - None - 없음 - - - - Linear - 선형 - - - - Sinc - Sinc - - - - Sample not found: %1 - 샘플 %1을 찾을 수 없음 - - - - BitInvader - - - Sample length - 샘플 길이 - - - - BitInvaderView - - - Sample length - 샘플 길이 - - - - Draw your own waveform here by dragging your mouse on this graph. - 드래그하여 원하는 파형을 그리세요. - - - - - Sine wave - 사인파 - - - - - Triangle wave - 삼각파 - - - - - Saw wave - 톱니파 - - - - - Square wave - 사각파 - - - - - White noise - 화이트 노이즈 - - - - - User-defined wave - 사용자 정의 파형 - - - - - Smooth waveform - 파형을 부드럽게 - - - - Interpolation - 보간 - - - - Normalize - 규격화 - - - - DynProcControlDialog - - - INPUT - 입력 - - - - Input gain: - 입력 이득: - - - - OUTPUT - 출력 - - - - Output gain: - 출력 이득: - - - - ATTACK - - - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - 그래프 초기화 - - - - - Smooth wavegraph - 그래프를 부드럽게 - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - 스테레오 모드: 최댓값 - - - - Process based on the maximum of both stereo channels - 두 채널의 최댓값을 기준으로 효과 적용 - - - - Stereo mode: average - 스테레오 모드: 평균 - - - - Process based on the average of both stereo channels - 두 채널의 평균을 기준으로 효과 적용 - - - - Stereo mode: unlinked - 스테레오 모드: 독립 - - - - Process each stereo channel independently - 각각의 채널에 독립적으로 효과 적용 - - - - DynProcControls - - - Input gain - 입력 이득 - - - - Output gain - 출력 이득 - - - - Attack time - - - - - Release time - - - - - Stereo mode - 스테레오 모드 - - - - graphModel - - - Graph - 그래프 - - - - KickerInstrument - - - Start frequency - 시작 주파수 - - - - End frequency - 끝 주파수 - - - - Length - 길이 - - - - Start distortion - - - - - End distortion - - - - - Gain - 이득 - - - - Envelope slope - - - - - Noise - 잡음 - - - - Click - - - - - Frequency slope - - - - - Start from note - 음표 주파수에서 시작 - - - - End to note - 음표 주파수에서 마침 - - - - KickerInstrumentView - - - Start frequency: - 시작 주파수: - - - - End frequency: - 끝 주파수: - - - - Frequency slope: - - - - - Gain: - 이득: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - - - - - Noise: - 잡음: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - 사용 가능한 효과 - - - - - Unavailable Effects - 사용 불가능한 효과 - - - - - Instruments - 악기 - - - - - Analysis Tools - 분석 도구 - - - - - Don't know - 알 수 없음 - - - - Type: - 형태: - - - - LadspaDescription - - - Plugins - 플러그인 - - - - Description - 요약 - - - - LadspaPortDialog - - - Ports - 포트 - - - - Name - 이름 - - - - Rate - 종류 - - - - Direction - 방향 - - - - Type - 형태 - - - - Min < Default < Max - 최소 < 기본 < 최대 - - - - Logarithmic - 로그 - - - - SR Dependent - SR 의존 - - - - Audio - 오디오 - - - - Control - 컨트롤 - - - - Input - 입력 - - - - Output - 출력 - - - - Toggled - 토글 - - - - Integer - 정수 - - - - Float - 실수 - - - - - Yes - - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF 차단 주파수 - - - - VCF Resonance - VCF 공명 - - - - VCF Envelope Mod - VCF 엔벨로프 모드 - - - - VCF Envelope Decay - VCF 엔벨로프 감쇠 - - - - Distortion - 디스토션 - - - - Waveform - 파형 - - - - Slide Decay - 슬라이드 감소 - - - - Slide - 슬라이드 - - - - Accent - - - - - Dead - - - - - 24dB/oct Filter - 24dB/oct 필터 - - - - Lb302SynthView - - - Cutoff Freq: - 차단 주파수: - - - - Resonance: - 공명: - - - - Env Mod: - 엔벨로프 변조: - - - - Decay: - 감쇠: - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - 슬라이드 감쇠: - - - - DIST: - 디스토션: - - - - Saw wave - 톱니파 - - - - Click here for a saw-wave. - 클릭하여 톱니파를 선택합니다. - - - - Triangle wave - 삼각파 - - - - Click here for a triangle-wave. - 클릭하여 삼각파를 선택합니다. - - - - Square wave - 사각파 - - - - Click here for a square-wave. - 클릭하여 사각파를 선택합니다. - - - - Rounded square wave - 둥근 사각파 - - - - Click here for a square-wave with a rounded end. - 클릭하여 둥근 사각파를 선택합니다. - - - - Moog wave - Moog 톱니파 - - - - Click here for a moog-like wave. - 클릭하여 Moog 톱니파를 선택합니다. - - - - Sine wave - 사인파 - - - - Click for a sine-wave. - 클릭하여 사인파를 선택합니다. - - - - - White noise wave - 화이트 노이즈 - - - - Click here for an exponential wave. - 클릭하여 지수형 파형을 선택합니다. - - - - Click here for white-noise. - 클릭하여 화이트 노이즈를 선택합니다. - - - - Bandlimited saw wave - 대역 제한 톱니파 - - - - Click here for bandlimited saw wave. - 클릭하여 대역 제한 톱니파를 선택합니다. - - - - Bandlimited square wave - 대역 제한 사각파 - - - - Click here for bandlimited square wave. - 클릭하여 대역 제한 사각파를 선택합니다. - - - - Bandlimited triangle wave - 대역 제한 삼각파 - - - - Click here for bandlimited triangle wave. - 클릭하여 대역 제한 삼각파를 선택합니다. - - - - Bandlimited moog saw wave - 대역 제한 Moog 톱니파 - - - - Click here for bandlimited moog saw wave. - 클릭하여 대역 제한 Moog 톱니파를 선택합니다. - - - - MalletsInstrument - - - Hardness - - - - - Position - 위치 - - - - Vibrato gain - 비브라토 이득 - - - - Vibrato frequency - 비브라토 주파수 - - - - Stick mix - - - - - Modulator - 모듈레이터 - - - - Crossfade - 크로스페이드 - - - - LFO speed - LFO 속도 - - - - LFO depth - LFO 깊이 - - - - ADSR - ADSR - - - - Pressure - 압력 - - - - Motion - 모션 - - - - Speed - 속도 - - - - Bowed - - - - - Spread - - - - - Marimba - 마림바 - - - - Vibraphone - 비브라폰 - - - - Agogo - 아고고 - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - 유리 - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - 악기 - - - - Spread - - - - - Spread: - - - - - Missing files - 없는 파일 - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Stk 설치가 불완전한 것 같습니다. 완전한 Stk 패키지가 설치되었는지 확인하시기 바랍니다! - - - - Hardness - - - - - Hardness: - - - - - Position - 위치 - - - - Position: - 위치: - - - - Vibrato gain - 비브라토 이득 - - - - Vibrato gain: - 비브라토 이득: - - - - Vibrato frequency - 비브라토 주파수 - - - - Vibrato frequency: - 비브라토 주파수: - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - 모듈레이터 - - - - Modulator: - 모듈레이터: - - - - Crossfade - 크로스페이드 - - - - Crossfade: - 크로스페이드: - - - - LFO speed - LFO 속도 - - - - LFO speed: - LFO 속도: - - - - LFO depth - LFO 깊이 - - - - LFO depth: - LFO 깊이: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - 압력 - - - - Pressure: - 압력: - - - - Speed - 속도 - - - - Speed: - 속도: - - - - ManageVSTEffectView - - - - VST parameter control - - - - - VST sync - VST와 동기화 - - - - - Automated - - - - - Close - 닫기 - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - - - - VST Sync - VST와 동기화 - - - - - Automated - - - - - Close - 닫기 - - - - OrganicInstrument - - - Distortion - 디스토션 - - - - Volume - 음량 - - - - OrganicInstrumentView - - - Distortion: - 디스토션: - - - - Volume: - 음량: - - - - Randomise - 무작위 생성 - - - - - Osc %1 waveform: - 오실레이터 %1 파형: - - - - Osc %1 volume: - 오실레이터 %1 음량: - - - - Osc %1 panning: - 오실레이터 %1 패닝: - - - - Osc %1 stereo detuning - - - - - cents - 센트 - - - - Osc %1 harmonic: - 오실레이터 %1 배음: - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - 뱅크 - - - - Program selector - - - - - Patch - 패치 - - - - Name - 이름 - - - - OK - 확인 - - - - Cancel - 취소 - - - - Sf2Instrument - - - Bank - 뱅크 - - - - Patch - 패치 - - - - Gain - 이득 - - - - Reverb - 리버브 - - - - Reverb room size - - - - - Reverb damping - 리버브 감쇠 - - - - Reverb width - - - - - Reverb level - - - - - Chorus - 코러스 - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - 사운드폰트 %1을 불러올 수 없습니다. - - - - Sf2InstrumentView - - - - Open SoundFont file - 사운드폰트 파일 열기 - - - - Choose patch - 패치 선택 - - - - Gain: - 이득: - - - - Apply reverb (if supported) - 리버브 적용(지원시) - - - - Room size: - 공간 크기: - - - - Damping: - 감쇠: - - - - Width: - 너비: - - - - - Level: - - - - - Apply chorus (if supported) - 코러스 적용 (지원될 경우) - - - - Voices: - - - - - Speed: - 속도: - - - - Depth: - - - - - SoundFont Files (*.sf2 *.sf3) - 사운드폰트 파일 (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - 파형 - - - - StereoEnhancerControlDialog - - - WIDTH - 너비 - - - - Width: - 너비: - - - - StereoEnhancerControls - - - Width - 너비 - - - - StereoMatrixControlDialog - - - Left to Left Vol: - 왼쪽에서 왼쪽 음량: - - - - Left to Right Vol: - 왼쪽에서 오른쪽 음량: - - - - Right to Left Vol: - 오른쪽에서 왼쪽 음량: - - - - Right to Right Vol: - 오른쪽에서 오른쪽 음량: - - - - StereoMatrixControls - - - Left to Left - 왼쪽에서 왼쪽 - - - - Left to Right - 왼쪽에서 오른쪽 - - - - Right to Left - 오른쪽에서 왼쪽 - - - - Right to Right - 오른쪽에서 오른쪽 - - - - VestigeInstrument - - - Loading plugin - 플러그인 읽는 중 - - - - Please wait while loading the VST plugin... - VST 플러그인을 불러올 동안 잠시 기다려 주세요... - - - - Vibed - - - String %1 volume - %1번 현 음량 - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - 픽업 %1 위치 - - - - String %1 panning - %1번 현 패닝 - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - - - - - String %1 - %1번 현 - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - 픽업 위치: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - 옥타브 - - - - Impulse Editor - Impulse 편집기 - - - - Enable waveform - 파형 활성화 - - - - Enable/disable string - 현 활성화/비활성화 - - - - String - - - - - - Sine wave - 사인파 - - - - - Triangle wave - 삼각파 - - - - - Saw wave - 톱니파 - - - - - Square wave - 사각파 - - - - - White noise - 화이트 노이즈 - - - - - User-defined wave - 사용자 정의 파형 - - - - - Smooth waveform - 파형을 부드럽게 - - - - - Normalize waveform - 파형 정규화 - - - - VoiceObject - - - Voice %1 pulse width - 소리 %1 펄스 폭 - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - 소리 %1 파형 - - - - Voice %1 sync - 소리 %1 동기화 - - - - Voice %1 ring modulate - 소리 %1 링 모듈레이션 - - - - Voice %1 filtered - 소리 %1 필터됨 - - - - Voice %1 test - 소리 %1 테스트 - - - - WaveShaperControlDialog - - - INPUT - 입력 - - - - Input gain: - 입력 이득: - - - - OUTPUT - 출력 - - - - Output gain: - 출력 이득: - - - - - Reset wavegraph - 그래프 초기화 - - - - - Smooth wavegraph - 그래프를 부드럽게 - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Clip input - 입력 신호 클리핑 - - - - Clip input signal to 0 dB - 0dB에서 입력 신호 클리핑 - - - - WaveShaperControls - - - Input gain - 입력 이득 - - - - Output gain - 출력 이득 - - - + \ No newline at end of file diff --git a/data/locale/nl.ts b/data/locale/nl.ts index 8d1304135..f879c6adf 100644 --- a/data/locale/nl.ts +++ b/data/locale/nl.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,811 +70,44 @@ Als u interesse heeft om LMMS naar een andere taal te vertalen, of als u de best - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL - - - - Volume: - Volume: - - - - PAN - BAL - - - - Panning: - Balans: - - - - LEFT - LINKS - - - - Left gain: - Linker versterking: - - - - RIGHT - RECHTS - - - - Right gain: - Rechter versterking: - - - - AmplifierControls - - - Volume - Volume - - - - Panning - Balans - - - - Left gain - Linker versterking - - - - Right gain - Rechter versterking - - - - AudioAlsaSetupWidget - - - DEVICE - APPARAAT - - - - CHANNELS - KANALEN - - - - AudioFileProcessorView - - - Open sample - Sample openen - - - - Reverse sample - Sample omdraaien - - - - Disable loop - Herhalen uitschakelen - - - - Enable loop - Herhalen inschakelen - - - - Enable ping-pong loop - Ping-pong herhalen inschakelen - - - - Continue sample playback across notes - Doorgaan met afspelen van sample tussen noten - - - - Amplify: - Versterken: - - - - Start point: - Beginpunt: - - - - End point: - Eindpunt: - - - - Loopback point: - Herhaalpunt: - - - - AudioFileProcessorWaveView - - - Sample length: - Sample-lengte: - - - - AudioJack - - - JACK client restarted - JACK-client opnieuw gestart - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS werd er om een of andere reden door JACK afgegooid. Daarom werd de JACK-backend van LMMS opnieuw gestart. U zult manueel verbindingen opnieuw moeten maken. - - - - JACK server down - JACK-server is offline - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - De JACK-server lijkt afgesloten te zijn en het starten van een nieuwe instantie is mislukt. Daarom kan LMMS niet doorgaan. U slaat best uw project op en herstart JACK en LMMS. - - - - Client name - Naam client - - - - Channels - Kanalen - - - - AudioOss - - - Device - Apparaat - - - - Channels - Kanalen - - - - AudioPortAudio::setupWidget - - - Backend - Backend - - - - Device - Apparaat - - - - AudioPulseAudio - - - Device - Apparaat - - - - Channels - Kanalen - - - - AudioSdl::setupWidget - - - Device - Apparaat - - - - AudioSndio - - - Device - Apparaat - - - - Channels - Kanalen - - - - AudioSoundIo::setupWidget - - - Backend - Backend - - - - Device - Apparaat - - - - AutomatableModel - - - &Reset (%1%2) - &Herstellen (%1%2) - - - - &Copy value (%1%2) - Waarde &kopiëren (%1%2) - - - - &Paste value (%1%2) - Waarde &plakken (%1%2) - - - - &Paste value - Waarde &plakken - - - - Edit song-global automation - Song-globale automatisering bewerken - - - - Remove song-global automation - Song-globale automatisering verwijderen - - - - Remove all linked controls - Alle gelinkte controls verwijderen - - - - Connected to %1 - Verbonden met %1 - - - - Connected to controller - Verbonden met controller - - - - Edit connection... - Verbinding bewerken... - - - - Remove connection - Verbinding verwijderen - - - - Connect to controller... - Verbinden met controller... - - - - AutomationEditor - - - Edit Value + + About JUCE - - New outValue + + <b>About JUCE</b> - - New inValue + + This program uses JUCE version 3.x.x. - - Please open an automation clip with the context menu of a control! - Open een automatiseringspatroon met het contextmenu van een control! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Huidig patroon afspelen/pauzeren (Spatie) - - - - Stop playing of current clip (Space) - Stoppen met afspelen van huidig patroon (Spatie) - - - - Edit actions - Bewerking-acties - - - - Draw mode (Shift+D) - Tekenmodus (Shift+D) - - - - Erase mode (Shift+E) - Wissen-modus (Shift+E) - - - - Draw outValues mode (Shift+C) + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Flip vertically - Verticaal omdraaien - - - - Flip horizontally - Horizontaal omdraaien - - - - Interpolation controls - Interpolatiebediening - - - - Discrete progression - Discrete progressie - - - - Linear progression - Lineaire progressie - - - - Cubic Hermite progression - Kubische Hermite-progressie - - - - Tension value for spline - Spanningswaarde voor spline - - - - Tension: - Spanning: - - - - Zoom controls - Zoombediening - - - - Horizontal zooming - Horizontaal zoomen - - - - Vertical zooming - Verticaal zoomen - - - - Quantization controls - Kwantisatiebediening - - - - Quantization - Kwantisatie - - - - - Automation Editor - no clip - Automatisering-editor - geen patroon - - - - - Automation Editor - %1 - Automatisering-editor - %1 - - - - Model is already connected to this clip. - Model is reeds verbonden met dit patroon. - - - - AutomationClip - - - Drag a control while pressing <%1> - Sleep een bediening tijdens indrukken van <%1> - - - - AutomationClipView - - - Open in Automation editor - Openen in automatisering-editor - - - - Clear - Wissen - - - - Reset name - Naam herstellen - - - - Change name - Naam wijzigen - - - - Set/clear record - Opnemen instellen/wissen - - - - Flip Vertically (Visible) - Verticaal omdraaien (zichtbaar) - - - - Flip Horizontally (Visible) - Horizontaal omdraaien (zichtbaar) - - - - %1 Connections - %1 verbindingen - - - - Disconnect "%1" - Verbinding verbreken met "%1" - - - - Model is already connected to this clip. - Model is reeds verbonden met dit patroon. - - - - AutomationTrack - - - Automation track - Automatisering-track - - - - PatternEditor - - - Beat+Bassline Editor - Beat- en baslijn-editor - - - - Play/pause current beat/bassline (Space) - Huidige beat/baslijn afspelen/pauzeren (Spatie) - - - - Stop playback of current beat/bassline (Space) - Afspelen van huidige beat/baslijn stoppen (Spatie) - - - - Beat selector - Beat-selector - - - - Track and step actions - Track- en stap-acties - - - - Add beat/bassline - Beat/baslijn toevoegen - - - - Clone beat/bassline clip + + This program uses JUCE version - - - Add sample-track - Sample-track toevoegen - - - - Add automation-track - Automatisering-track toevoegen - - - - Remove steps - Stappen verwijderen - - - - Add steps - Stappen toevoegen - - - - Clone Steps - Stappen klonen - - PatternClipView + AudioDeviceSetupWidget - - Open in Beat+Bassline-Editor - In beat- en baslijn-editor openen - - - - Reset name - Naam herstellen - - - - Change name - Naam wijzigen - - - - PatternTrack - - - Beat/Bassline %1 - Beat/baslijn %1 - - - - Clone of %1 - Kloon van %1 - - - - BassBoosterControlDialog - - - FREQ - FREQ - - - - Frequency: - Frequentie: - - - - GAIN - GAIN - - - - Gain: - Gain: - - - - RATIO - RATIO - - - - Ratio: - Ratio: - - - - BassBoosterControls - - - Frequency - Frequentie - - - - Gain - Gain - - - - Ratio - Ratio - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - UIT - - - - - GAIN - GAIN - - - - Input gain: - Invoer-gain: - - - - NOISE - NOISE - - - - Input noise: - Invoer-ruis: - - - - Output gain: - Uitvoer-gain: - - - - CLIP - CLIP - - - - Output clip: - Uitvoer-clip: - - - - Rate enabled - Ratio ingeschakeld - - - - Enable sample-rate crushing - Samplerate-crushing inschakelen - - - - Depth enabled - Diepte ingeschakeld - - - - Enable bit-depth crushing - Bitdiepte-crushing inschakelen - - - - FREQ - FREQ - - - - Sample rate: - Samplerate: - - - - STEREO - STEREO - - - - Stereo difference: - Stereo-verschil: - - - - QUANT - QUANT - - - - Levels: - Niveaus - - - - BitcrushControls - - - Input gain - Invoer-gain - - - - Input noise - Invoer-ruis - - - - Output gain - Uitvoer-gain - - - - Output clip - Uitvoer-clip - - - - Sample rate - Samplerate - - - - Stereo difference - Stereo-verschil - - - - Levels - Niveaus - - - - Rate enabled - Ratio ingeschakeld - - - - Depth enabled - Diepte ingeschakeld + + [System Default] + @@ -900,124 +133,124 @@ Als u interesse heeft om LMMS naar een andere taal te vertalen, of als u de best - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License Licentie - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1302,50 +535,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1378,561 +611,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File &Bestand - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help &Help - - toolBar + + Tool Bar - + Disk - - + + Home Home - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Tijd: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Instellingen - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &Nieuw - + Ctrl+N - + &Open... &Openen... - - + + Open... - + Ctrl+O - + &Save Op&slaan - + Ctrl+S - + Save &As... Opslaan &als... - - + + Save As... - + Ctrl+Shift+S - + &Quit &Afsluiten - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error Fout - + Failed to load project - + Failed to save project - + Quit - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - GUI weergeven - - CarlaSettingsW @@ -1987,19 +1257,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2020,1487 +1290,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths Paden - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: Grootte: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Audio - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Ratio: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Attack: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Release: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Hold: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Uitvoer-gain - - - - - Gain - Gain - - - - Output volume - - - - - Input gain - Invoer-gain - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Ratio - - - - Attack - Attack - - - - Release - Release - - - - Knee - - - - - Hold - Hold - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Uitvoer-gain - - - - Input Gain - Invoer-gain - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Feedback - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Mix - - - - Controller - - - Controller %1 - Controller %1 - - - - ControllerConnectionDialog - - - Connection Settings - Verbindingsinstellingen - - - - MIDI CONTROLLER - MIDI-CONTROLLER - - - - Input channel - Invoerkanaal - - - - CHANNEL - KANAAL - - - - Input controller - Invoercontroller - - - - CONTROLLER - CONTROLLER - - - - - Auto Detect - Automatisch detecteren - - - - MIDI-devices to receive MIDI-events from - MIDI-apparaten om MIDI-events van te ontvangen - - - - USER CONTROLLER - GEBRUIKER CONTROLLER - - - - MAPPING FUNCTION - MAPPING-FUNCTIE - - - - OK - Ok - - - - Cancel - Annuleren - - - - LMMS - LMMS - - - - Cycle Detected. - Cyclus gedetecteerd. - - - - ControllerRackView - - - Controller Rack - Controller-rack - - - - Add - Toevoegen - - - - Confirm Delete - Verwijderen beVestigen - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Verwijderen beVestigen? Er zijn bestaande verbindingen geassocieerd met deze controller. Er is geen manier om dit ongedaan te maken. - - - - ControllerView - - - Controls - Besturingen - - - - Rename controller - Naam controller wijzigen - - - - Enter the new name for this controller - Nieuwe naam voor deze controller opgeven - - - - LFO - LFO - - - - &Remove this controller - Deze controller ve&rwijderen - - - - Re&name this controller - &Naam van deze controller wijzigen - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Band 1/2 crossover: - - - - Band 2/3 crossover: - Band 2/3 crossover: - - - - Band 3/4 crossover: - Band 3/4 crossover: - - - - Band 1 gain - Band 1 gain - - - - Band 1 gain: - Band 1 gain - - - - Band 2 gain - Band 2 gain - - - - Band 2 gain: - Band 2 gain: - - - - Band 3 gain - Band 3 gain - - - - Band 3 gain: - Band 3 gain: - - - - Band 4 gain - Band 4 gain - - - - Band 4 gain: - Band 4 gain: - - - - Band 1 mute - Band 1 gedempt - - - - Mute band 1 - Band 1 dempen - - - - Band 2 mute - Band 2 gedempt - - - - Mute band 2 - Band 2 dempen - - - - Band 3 mute - Band 3 gedempt - - - - Mute band 3 - Band 3 dempen - - - - Band 4 mute - Band 4 gedempt - - - - Mute band 4 - Band 4 dempen - - - - DelayControls - - - Delay samples - Samples vertragen - - - - Feedback - Feedback - - - - LFO frequency - LFO frequentie - - - - LFO amount - LFO-hoeveelheid - - - - Output gain - Uitvoer-gain - - - - DelayControlsDialog - - - DELAY - DELAY - - - - Delay time - Delay-tijd - - - - FDBK - FDBK - - - - Feedback amount - Feedback-hoeveelheid - - - - RATE - RATIO - - - - LFO frequency - LFO frequentie - - - - AMNT - HVHD - - - - LFO amount - LFO-hoeveelheid - - - - Out gain - Uitvoer-gain - - - - Gain - Gain - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Geen - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3526,27 +1898,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3601,948 +1952,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - FREQ - - - - - Cutoff frequency - Cutoff-frequentie - - - - - RESO - RESO - - - - - Resonance - Resonantie - - - - - GAIN - GAIN - - - - - Gain - Gain - - - - MIX - MIX - - - - Mix - Mix - - - - Filter 1 enabled - Filter 1 ingeschakeld - - - - Filter 2 enabled - Filter 2 ingeschakeld - - - - Enable/disable filter 1 - Filter 1 in/uitschakelen - - - - Enable/disable filter 2 - Filter 2 in/uitschakelen - - - - DualFilterControls - - - Filter 1 enabled - Filter 1 ingeschakeld - - - - Filter 1 type - Filter 1 type - - - - Cutoff frequency 1 - Cutoff-frequentie 1 - - - - Q/Resonance 1 - Q/Resonantie 1 - - - - Gain 1 - Gain 1 - - - - Mix - Mix - - - - Filter 2 enabled - Filter 2 ingeschakeld - - - - Filter 2 type - Filter 2 type - - - - Cutoff frequency 2 - Cutoff-frequentie 2 - - - - Q/Resonance 2 - Q/Resonantie 2 - - - - Gain 2 - Gain 2 - - - - - Low-pass - Low-pass - - - - - Hi-pass - High-pass - - - - - Band-pass csg - BandPass csg - - - - - Band-pass czpg - Bandpass czpg - - - - - Notch - Notch - - - - - All-pass - All-pass - - - - - Moog - Moog - - - - - 2x Low-pass - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - RC low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - RC band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - RC high-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - RC low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - RC band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - RC high-pass 24 dB/oct - - - - - Vocal Formant - Stemvorming - - - - - 2x Moog - 2 x Moog - - - - - SV Low-pass - SV low-pass - - - - - SV Band-pass - SV band-pass - - - - - SV High-pass - SV high-pass - - - - - SV Notch - SV Notch - - - - - Fast Formant - Snel vormend - - - - - Tripole - Tripole - - - - Editor - - - Transport controls - Afspeelbediening - - - - Play (Space) - Afspelen (spatie) - - - - Stop (Space) - Stoppen (spatie) - - - - Record - Opnemen - - - - Record while playing - Opnemen tijdens afspelen - - - - Toggle Step Recording - Stap-opnemen in-/uitschakelen - - - - Effect - - - Effect enabled - Effect ingeschakeld - - - - Wet/Dry mix - Wet/dry-mix - - - - Gate - Gate - - - - Decay - Decay - - - - EffectChain - - - Effects enabled - Effecten ingeschakeld - - - - EffectRackView - - - EFFECTS CHAIN - EFFECT-CHAIN - - - - Add effect - Effect toevoegen - - - - EffectSelectDialog - - - Add effect - Effect toevoegen - - - - - Name - Naam - - - - Type - Type - - - - Description - Beschrijving - - - - Author - Auteur - - - - EffectView - - - On/Off - Aan/uit - - - - W/D - W/D - - - - Wet Level: - Wet-niveau: - - - - DECAY - DECAY - - - - Time: - Tijd: - - - - GATE - GATE - - - - Gate: - Gate: - - - - Controls - Besturingen - - - - Move &up - Om&hoog verplaatsen - - - - Move &down - Om&laag verplaatsen - - - - &Remove this plugin - Deze plugin ve&rwijderen - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Env pre-delay - - - - Env attack - Env attack - - - - Env hold - Env hold - - - - Env decay - Env decay - - - - Env sustain - Env sustain - - - - Env release - Env release - - - - Env mod amount - Env mod-hoeveelheid - - - - LFO pre-delay - LFO pre-delay - - - - LFO attack - LFO-attack - - - - LFO frequency - LFO frequentie - - - - LFO mod amount - LFO mod-hoeveelheid - - - - LFO wave shape - LFO golfvorm - - - - LFO frequency x 100 - LFO frequentie x 100 - - - - Modulate env amount - Env-intensiteit moduleren - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - Pre-delay: - - - - - ATT - ATT - - - - - Attack: - Attack: - - - - HOLD - HOLD - - - - Hold: - Hold: - - - - DEC - DEC - - - - Decay: - Decay: - - - - SUST - SUST - - - - Sustain: - Sustain: - - - - REL - REL - - - - Release: - Release: - - - - - AMT - INT - - - - - Modulation amount: - Modulatie-intensiteit: - - - - SPD - SPD - - - - Frequency: - Frequentie: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - LFO-frequentie vermenigvuldigen met 100 - - - - MODULATE ENV AMOUNT - ENV-INTENSITEIT MODULEREN - - - - Control envelope amount by this LFO - Envelope-hoeveelheid bedienen met deze LFO - - - - ms/LFO: - ms/LFO: - - - - Hint - Tip - - - - Drag and drop a sample into this window. - Een sample in dit venster slepen en neerzetten - - - - EqControls - - - Input gain - Invoer-gain - - - - Output gain - Uitvoer-gain - - - - Low-shelf gain - Low-shelf gain - - - - Peak 1 gain - Piek 1 gain - - - - Peak 2 gain - Piek 2 gain - - - - Peak 3 gain - Piek 3 gain - - - - Peak 4 gain - Piek 4 gain - - - - High-shelf gain - High-shelf gain - - - - HP res - HP-res - - - - Low-shelf res - Low-shelf res - - - - Peak 1 BW - Piek 1 BW - - - - Peak 2 BW - Piek 2 BW - - - - Peak 3 BW - Piek 3 BW - - - - Peak 4 BW - Piek 4 BW - - - - High-shelf res - High-shelf res - - - - LP res - LP-res - - - - HP freq - HP-freq - - - - Low-shelf freq - Low-shelf freq - - - - Peak 1 freq - Piek 1 freq - - - - Peak 2 freq - Piek 2 freq - - - - Peak 3 freq - Piek 3 freq - - - - Peak 4 freq - Piek 4 freq - - - - High-shelf freq - High-shelf freq - - - - LP freq - LP-freq - - - - HP active - HP actief - - - - Low-shelf active - Low-shelf actief - - - - Peak 1 active - Piek 1 actief - - - - Peak 2 active - Piek 2 actief - - - - Peak 3 active - Piek 3 actief - - - - Peak 4 active - Piek 4 actief - - - - High-shelf active - High-shelf actief - - - - LP active - LP actief - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - Low-pass type - - - - High-pass type - High-pass type - - - - Analyse IN - IN analyseren - - - - Analyse OUT - UIT analyseren - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - Low-shelf - - - - Peak 1 - Piek 1 - - - - Peak 2 - Piek 2 - - - - Peak 3 - Piek 3 - - - - Peak 4 - Piek 4 - - - - High-shelf - High-shelf - - - - LP - LP - - - - Input gain - Invoer-gain - - - - - - Gain - Gain - - - - Output gain - Uitvoer-gain - - - - Bandwidth: - Bandbreedte: - - - - Octave - Octaaf - - - - Resonance : - Resonantie: - - - - Frequency: - Frequentie: - - - - LP group - LP groep - - - - HP group - HP groep - - - - EqHandle - - - Reso: - Reso: - - - - BW: - BW: - - - - - Freq: - Freq: - - ExportProjectDialog @@ -4726,2126 +2135,652 @@ If you are unsure, leave it as 'Automatic'. Sinc beste (traagste) - - Oversampling: - Oversampling: - - - - 1x (None) - 1x (geen) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Starten - + Cancel Annuleren - - - Could not open file - Kan bestand niet openen - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Kon bestand %1 niet openen om te schrijven. -Zorg ervoor dat u schrijfbevoegdheid heeft voor het bestand en voor de map die het bestand bevat en probeer het opnieuw! - - - - Export project to %1 - Project exporteren naar %1 - - - - ( Fastest - biggest ) - ( Snelste - grootste ) - - - - ( Slowest - smallest ) - ( Traagste - kleinste ) - - - - Error - Fout - - - - Error while determining file-encoder device. Please try to choose a different output format. - Fout bij vaststellen van bestands-encoder-apparaat. Probeer een ander uitvoerformaat te kiezen. - - - - Rendering: %1% - Renderen: %1 % - - - - Fader - - - Set value - Waarde instellen - - - - Please enter a new value between %1 and %2: - Voer een nieuwe waarde in tussen %1 en %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Verkenner - - - - Search - Zoeken - - - - Refresh list - Lijst verversen - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Naar actieve instrument-track zenden - - - - Open containing folder - - - - - Song Editor - Song-editor - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Sample laden - - - - Please wait, loading sample for preview... - Even geduld, sample laden voor voorbeeld... - - - - Error - Fout - - - - %1 does not appear to be a valid %2 file - %1 lijkt geen geldig %2-bestand te zijn - - - - --- Factory files --- - --- Factory-bestanden --- - - - - FlangerControls - - - Delay samples - Samples vertragen - - - - LFO frequency - LFO frequentie - - - - Seconds - Seconden - - - - Stereo phase - - - - - Regen - Regen - - - - Noise - Ruis - - - - Invert - Inverteren - - - - FlangerControlsDialog - - - DELAY - DELAY - - - - Delay time: - Delay-tijd: - - - - RATE - RATIO - - - - Period: - Periode: - - - - AMNT - HVHD - - - - Amount: - Hoeveelheid: - - - - PHASE - - - - - Phase: - - - - - FDBK - FDBK - - - - Feedback amount: - Feedback-hoeveelheid: - - - - NOISE - NOISE - - - - White noise amount: - Hoeveelheid witte ruis: - - - - Invert - Inverteren - - - - FreeBoyInstrument - - - Sweep time - Sweep-tijd - - - - Sweep direction - Sweep-richting - - - - Sweep rate shift amount - Sweep rate shift hoeveelheid - - - - - Wave pattern duty cycle - Golfpatroon-inschakeltijd - - - - Channel 1 volume - Volume kanaal 1 - - - - - - Volume sweep direction - Volume sweep-richting - - - - - - Length of each step in sweep - Lengte van elke stap in sweep - - - - Channel 2 volume - Volume kanaal 2 - - - - Channel 3 volume - Volume kanaal 3 - - - - Channel 4 volume - Volume kanaal 4 - - - - Shift Register width - Registerbreedte verschuiven - - - - Right output level - Rechter uitvoerniveau - - - - Left output level - Linker uitvoerniveau - - - - Channel 1 to SO2 (Left) - Kanaal 1 naar SO2 (links) - - - - Channel 2 to SO2 (Left) - Kanaal 2 naar SO2 (links) - - - - Channel 3 to SO2 (Left) - Kanaal 3 naar SO2 (links) - - - - Channel 4 to SO2 (Left) - Kanaal 4 naar SO2 (links) - - - - Channel 1 to SO1 (Right) - Kanaal 1 naar SO1 (rechts) - - - - Channel 2 to SO1 (Right) - Kanaal 2 naar SO1 (rechts) - - - - Channel 3 to SO1 (Right) - Kanaal 3 naar SO1 (rechts) - - - - Channel 4 to SO1 (Right) - Kanaal 4 naar SO1 (rechts) - - - - Treble - Treble - - - - Bass - Bass - - - - FreeBoyInstrumentView - - - Sweep time: - Sweep-tijd: - - - - Sweep time - Sweep-tijd - - - - Sweep rate shift amount: - Sweep rate shift hoeveelheid: - - - - Sweep rate shift amount - Sweep rate shift hoeveelheid - - - - - Wave pattern duty cycle: - Golfpatroon-inschakeltijd: - - - - - Wave pattern duty cycle - Golfpatroon-inschakeltijd - - - - Square channel 1 volume: - Blok kanaal 1 volume: - - - - Square channel 1 volume - Blok kanaal 1 volume - - - - - - Length of each step in sweep: - Lengte van elke stap in sweep: - - - - - - Length of each step in sweep - Lengte van elke stap in sweep - - - - Square channel 2 volume: - Blok kanaal 2 volume: - - - - Square channel 2 volume - Blok kanaal 2 volume - - - - Wave pattern channel volume: - Golfpatroon kanaalvolume: - - - - Wave pattern channel volume - Golfpatroon kanaalvolume - - - - Noise channel volume: - Ruis kanaal volume: - - - - Noise channel volume - Ruis kanaal volume - - - - SO1 volume (Right): - S01 volume (rechts): - - - - SO1 volume (Right) - S01 volume (rechts): - - - - SO2 volume (Left): - S02 volume (links): - - - - SO2 volume (Left) - SO2 volume (links) - - - - Treble: - Treble: - - - - Treble - Treble - - - - Bass: - Bass: - - - - Bass - Bass - - - - Sweep direction - Sweep-richting - - - - - - - - Volume sweep direction - Volume sweep-richting - - - - Shift register width - Registerbreedte verschuiven - - - - Channel 1 to SO1 (Right) - Kanaal 1 naar SO1 (rechts) - - - - Channel 2 to SO1 (Right) - Kanaal 2 naar SO1 (rechts) - - - - Channel 3 to SO1 (Right) - Kanaal 3 naar SO1 (rechts) - - - - Channel 4 to SO1 (Right) - Kanaal 4 naar SO1 (rechts) - - - - Channel 1 to SO2 (Left) - Kanaal 1 naar SO2 (links) - - - - Channel 2 to SO2 (Left) - Kanaal 2 naar SO2 (links) - - - - Channel 3 to SO2 (Left) - Kanaal 3 naar SO2 (links) - - - - Channel 4 to SO2 (Left) - Kanaal 4 naar SO2 (links) - - - - Wave pattern graph - Golfpatroon-grafiek - - - - MixerChannelView - - - Channel send amount - Hoeveelheid kanaal-send - - - - Move &left - &Links verplaatsen - - - - Move &right - &Rechts verplaatsen - - - - Rename &channel - &Kanaal hernoemen - - - - R&emove channel - Kanaal v&erwijderen - - - - Remove &unused channels - Ongebr&uikte kanalen verwijderen - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Toewijzen aan: - - - - New mixer Channel - Nieuw FX-kanaal - - - - Mixer - - - Master - Master - - - - - - Channel %1 - FX %1 - - - - Volume - Volume - - - - Mute - Dempen - - - - Solo - Solo - - - - MixerView - - - Mixer - mixer - - - - Fader %1 - FX-fader %1 - - - - Mute - Dempen - - - - Mute this mixer channel - Dit FX-kanaal dempen - - - - Solo - Solo - - - - Solo mixer channel - Solo FX-kanaal - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Te zenden hoeveelheid van kanaal %1 naar kanaal %2 - - - - GigInstrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Gain - - - - GigInstrumentView - - - - Open GIG file - GIG-bestand openen - - - - Choose patch - Patch kiezen - - - - Gain: - Gain: - - - - GIG Files (*.gig) - GIG-bestanden (*.gig) - - - - GuiApplication - - - Working directory - Werkmap - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - De LMMS-werkmap %1 bestaat niet. Nu aanmaken? U kunt de map later wijzigen via Bewerken -> Instellingen. - - - - Preparing UI - UI voorbereiden - - - - Preparing song editor - Song-editor voorbereiden - - - - Preparing mixer - Mixer voorbereiden - - - - Preparing controller rack - Controller-rack voorbereiden - - - - Preparing project notes - Projectnotities voorbereiden - - - - Preparing beat/bassline editor - Beat- en baslijn-editor voorbereiden - - - - Preparing piano roll - Piano-roll voorbereiden - - - - Preparing automation editor - Automatisering-editor voorbereiden - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Arpeggio type - - - - Arpeggio range - Arpeggio bereik - - - - Note repeats - - - - - Cycle steps - Stappen doorlopen - - - - Skip rate - Skip-ratio - - - - Miss rate - Miss-ratio - - - - Arpeggio time - Arpeggio tijd - - - - Arpeggio gate - Arpeggio gate - - - - Arpeggio direction - Arpeggio richting - - - - Arpeggio mode - Arpeggio modus - - - - Up - Omhoog - - - - Down - Omlaag - - - - Up and down - Omhoog en omlaag - - - - Down and up - Omlaag en omhoog - - - - Random - Willekeurig - - - - Free - Vrij - - - - Sort - Sorteren - - - - Sync - Sync - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - BEREIK - - - - Arpeggio range: - Arpeggio bereik: - - - - octave(s) - octa(af)(ven) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - DOORL - - - - Cycle notes: - Noten doorlopen: - - - - note(s) - no(o)t(en) - - - - SKIP - SKIP - - - - Skip rate: - Skip-ratio: - - - - - - % - % - - - - MISS - MISS - - - - Miss rate: - Miss-ratio: - - - - TIME - TIJD - - - - Arpeggio time: - Arpeggio tijd: - - - - ms - ms - - - - GATE - GATE - - - - Arpeggio gate: - Arpeggio gate: - - - - Chord: - Akkoord: - - - - Direction: - Richting: - - - - Mode: - Modus: - InstrumentFunctionNoteStacking - + octave octaaf - - + + Major Majeur - + Majb5 Majb5 - + minor mineur - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Harmonisch mineur - + Melodic minor Melodisch mineur - + Whole tone Hele toon - + Diminished Verminderd - + Major pentatonic Pentatonisch majeur - + Minor pentatonic Pentatonisch mineur - + Jap in sen Jap in sen - + Major bebop Majeur bebop - + Dominant bebop Dominante bebop - + Blues Blues - + Arabic Arabisch - + Enigmatic Enigmatisch - + Neopolitan Neopolitanisch - + Neopolitan minor Neopolitanisch mineur - + Hungarian minor Hongaarse mineur - + Dorian Dorisch - + Phrygian Frygisch - + Lydian Lydisch - + Mixolydian Mixolydisch - + Aeolian Eolisch - + Locrian Locrisch - + Minor Mineur - + Chromatic Chromatisch - + Half-Whole Diminished Half-heel verminderd - + 5 5 - + Phrygian dominant Frygisch dominant - + Persian Persisch - - - Chords - Akkoorden - - - - Chord type - Akkoordsoort - - - - Chord range - Akkoordbereik - - - - InstrumentFunctionNoteStackingView - - - STACKING - STAPELEN - - - - Chord: - Akkoord: - - - - RANGE - BEREIK - - - - Chord range: - Akkoordbereik: - - - - octave(s) - Octaaf (octaven) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - MIDI-INVOER INSCHAKELEN - - - - ENABLE MIDI OUTPUT - MIDI-UITVOER INSCHAKELEN - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOOT - - - - MIDI devices to receive MIDI events from - MIDI-apparaten om MIDI-events van te ontvangen - - - - MIDI devices to send MIDI events to - MIDI-apparaten om MIDI-events naar te zenden - - - - CUSTOM BASE VELOCITY - AANGEPASTE BASISSNELHEID - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Geef de snelheid-normalisatiebasis voor MIDI-gebaseerde instrumenten op bij 100 % nootsnelheid. - - - - BASE VELOCITY - BASISSNELHEID - - - - InstrumentTuningView - - - MASTER PITCH - MASTER-TOONHOOGTE - - - - Enables the use of master pitch - Schakelt het gebruik van master-toonhoogte in - InstrumentSoundShaping - + VOLUME VOLUME - + Volume Volume - + CUTOFF CUTOFF - - + Cutoff frequency Cutoff-frequentie - + RESO RESO - + Resonance Resonantie - - - Envelopes/LFOs - Envelopes/LFO's - - - - Filter type - Filtersoort - - - - Q/Resonance - Q/Resonantie - - - - Low-pass - Low-pass - - - - Hi-pass - High-pass - - - - Band-pass csg - BandPass csg - - - - Band-pass czpg - Bandpass czpg - - - - Notch - Notch - - - - All-pass - All-pass - - - - Moog - Moog - - - - 2x Low-pass - 2x Low-pass - - - - RC Low-pass 12 dB/oct - RC low-pass 12 dB/oct - - - - RC Band-pass 12 dB/oct - RC band-pass 12 dB/oct - - - - RC High-pass 12 dB/oct - RC high-pass 12 dB/oct - - - - RC Low-pass 24 dB/oct - RC low-pass 24 dB/oct - - - - RC Band-pass 24 dB/oct - RC band-pass 24 dB/oct - - - - RC High-pass 24 dB/oct - RC high-pass 24 dB/oct - - - - Vocal Formant - Stemvorming - - - - 2x Moog - 2 x Moog - - - - SV Low-pass - SV low-pass - - - - SV Band-pass - SV band-pass - - - - SV High-pass - SV high-pass - - - - SV Notch - SV Notch - - - - Fast Formant - Snel vormend - - - - Tripole - Tripole - - InstrumentSoundShapingView + JackAppDialog - - TARGET - DOEL - - - - FILTER - FILTER - - - - FREQ - FREQ - - - - Cutoff frequency: - Cutoff-frequentie: - - - - Hz - Hz - - - - Q/RESO - Q/RESO - - - - Q/Resonance: - Q/Resonantie: - - - - Envelopes, LFOs and filters are not supported by the current instrument. - Envelopes, LFO's en filters worden niet ondersteund door het huidige instrument. - - - - InstrumentTrack - - - - unnamed_track - naamloze_track - - - - Base note - Grondtoon - - - - First note + + Add JACK Application - - Last note - Laatste noot - - - - Volume - Volume - - - - Panning - Balans - - - - Pitch - Toonhoogte - - - - Pitch range - Toonhoogte-bereik - - - - Mixer channel - FX-kanaal - - - - Master pitch - Master-toonhoogte - - - - Enable/Disable MIDI CC + + Note: Features not implemented yet are greyed out - - CC Controller %1 + + Application - - - Default preset - Standaard preset - - - - InstrumentTrackView - - - Volume - Volume - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Balans - - - - Panning: - Balans: - - - - PAN - BAL - - - - MIDI - MIDI - - - - Input - Invoer - - - - Output - Uitvoer - - - - Open/Close MIDI CC Rack + + Name: - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - ALGEMENE INSTELLINGEN + + Application: + - - Volume - Volume + + From template + - - Volume: - Volume: + + Custom + - - VOL - VOL + + Template: + - - Panning - Balans + + Command: + - - Panning: - Balans: + + Setup + - - PAN - BAL + + Session Manager: + - - Pitch - Toonhoogte + + None + - - Pitch: - Toonhoogte: + + Audio inputs: + - - cents - cents + + MIDI inputs: + - - PITCH - TOONHOOGTE + + Audio outputs: + - - Pitch range (semitones) - Toonhoogte-bereik (semitones) + + MIDI outputs: + - - RANGE - BEREIK + + Take control of main application window + - - Mixer channel - FX-kanaal + + Workarounds + - - FX - FX + + Wait for external application start (Advanced, for Debug only) + - - Save current instrument track settings in a preset file - Huidige instrument-track-instellingen opslaan in een presetbestand + + Capture only the first X11 Window + - - SAVE - OPSLAAN + + Use previous client output buffer as input for the next client + - - Envelope, filter & LFO - Envelope, filter en LFO + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Chord stacking & arpeggio - Akkoorden opeenstapelen & arpeggio + + Error here + - - Effects - Effecten - - - - MIDI - MIDI - - - - Miscellaneous - Overige - - - - Save preset - Preset opslaan - - - - XML preset file (*.xpf) - XML-presetbestand (*.xpf) - - - - Plugin - Plug-in - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6853,948 +2788,11 @@ Zorg ervoor dat u schrijfbevoegdheid heeft voor het bestand en voor de map die h JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Lineair instellen - - - - Set logarithmic - Logaritmisch instellen - - - - - Set value - Waarde instellen - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Voer een nieuwe waarde in tussen -96,0 dBFS en 6,0 dBFS: - - - - Please enter a new value between %1 and %2: - Voer een nieuwe waarde in tussen %1 en %2: - - - - LadspaControl - - - Link channels - Kanalen koppelen - - - - LadspaControlDialog - - - Link Channels - Kanalen koppelen - - - - Channel - Kanaal - - - - LadspaControlView - - - Link channels - Kanalen koppelen - - - - Value: - Waarde: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Onbekende LADSPA-plugin %1 opgevraagd. - - - - LcdFloatSpinBox - - - Set value - Waarde instellen - - - - Please enter a new value between %1 and %2: - Voer een nieuwe waarde in tussen %1 en %2: - - - - LcdSpinBox - - - Set value - Waarde instellen - - - - Please enter a new value between %1 and %2: - Voer een nieuwe waarde in tussen %1 en %2: - - - - LeftRightNav - - - - - Previous - Vorige - - - - - - Next - Volgende - - - - Previous (%1) - Vorige (%1) - - - - Next (%1) - Volgende (%1) - - - - LfoController - - - LFO Controller - LFO-controller - - - - Base value - Basiswaarde - - - - Oscillator speed - Oscillatorsnelheid - - - - Oscillator amount - Hoeveelheid oscillator - - - - Oscillator phase - Oscillator-fase - - - - Oscillator waveform - Oscillator-golfvorm - - - - Frequency Multiplier - Frequentievermenigvuldiger - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASIS - - - - Base: - Basis: - - - - FREQ - FREQ - - - - LFO frequency: - LFO-frequentie: - - - - AMNT - HVHD - - - - Modulation amount: - Hoeveelheid modulatie: - - - - PHS - PHS - - - - Phase offset: - Faseverschuiving: - - - - degrees - graden - - - - Sine wave - Sinusgolf - - - - Triangle wave - Driehoeksgolf - - - - Saw wave - Zaagtandgolf - - - - Square wave - Blokgolf - - - - Moog saw wave - Moog-zaagtandgolf - - - - Exponential wave - Exponentiële golf - - - - White noise - Witte ruis - - - - User-defined shape. -Double click to pick a file. - Aangepaste vorm. -Dubbelklikken om een bestand te kiezen. - - - - Mutliply modulation frequency by 1 - Modulatiefrequentie vermenigvuldigen met 1 - - - - Mutliply modulation frequency by 100 - Modulatiefrequentie vermenigvuldigen met 100 - - - - Divide modulation frequency by 100 - Modulatiefrequentie delen door 100 - - - - Engine - - - Generating wavetables - Wavetables genereren - - - - Initializing data structures - Datastructuren initialiseren - - - - Opening audio and midi devices - Audio- en midi-apparaten openen - - - - Launching mixer threads - Mixer-threads starten - - - - MainWindow - - - Configuration file - Configuratiebestand - - - - Error while parsing configuration file at line %1:%2: %3 - Fout bij verwerken van configuratiebestand op regel %1:%2: %3 - - - - Could not open file - Kan bestand niet openen - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Kon bestand %1 niet openen om te schrijven. -Zorg ervoor dat u schrijfbevoegdheid heeft voor het bestand en voor de map die het bestand bevat en probeer het opnieuw! - - - - Project recovery - Projectherstel - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Er is een herstelbestand aanwezig. Het lijkt alsof de laatste sessie niet goed afgesloten is of een andere instantie van LMMS al uitgevoerd wordt. Wilt u het project van deze sessie herstellen? - - - - - Recover - Herstellen - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Bestand herstellen. Gelieve niet meerdere instanties van LMMS uit te voeren wanneer u dit doet. - - - - - Discard - Verwerpen - - - - Launch a default session and delete the restored files. This is not reversible. - Start een standaard sessie en verwijder de herstelde bestanden. Dit is onomkeerbaar. - - - - Version %1 - Versie %1 - - - - Preparing plugin browser - Plugin-browser voorbereiden - - - - Preparing file browsers - Bestandsbrowsers voorbereiden - - - - My Projects - Mijn projecten - - - - My Samples - Mijn samples - - - - My Presets - Mijn presets - - - - My Home - Mijn home - - - - Root directory - Root-map - - - - Volumes - Volumes - - - - My Computer - Mijn computer - - - - &File - &Bestand - - - - &New - &Nieuw - - - - &Open... - &Openen... - - - - Loading background picture - Achtergrondafbeelding laden - - - - &Save - Op&slaan - - - - Save &As... - Opslaan &als... - - - - Save as New &Version - Opslaan als nieuwe &versie - - - - Save as default template - Opslaan als standaard-sjabloon - - - - Import... - Importeren... - - - - E&xport... - E&xporteren... - - - - E&xport Tracks... - Tracks e&xporteren... - - - - Export &MIDI... - Exporteer &MIDI... - - - - &Quit - &Afsluiten - - - - &Edit - &Bewerken - - - - Undo - Ongedaan maken - - - - Redo - Opnieuw - - - - Settings - Instellingen - - - - &View - Weerge&ven - - - - &Tools - &Tools - - - - &Help - &Help - - - - Online Help - Online help - - - - Help - Help - - - - About - Over - - - - Create new project - Nieuw project aanmaken - - - - Create new project from template - Nieuw project van sjabloon aanmaken - - - - Open existing project - Bestaand project openen - - - - Recently opened projects - Recent geopende projecten - - - - Save current project - Huidig project opslaan - - - - Export current project - Huidig project exporteren - - - - Metronome - Metronoom - - - - - Song Editor - Song-editor - - - - - Beat+Bassline Editor - Beat- en baslijn-editor - - - - - Piano Roll - Piano-roll - - - - - Automation Editor - Automatisering-editor - - - - - Mixer - mixer - - - - Show/hide controller rack - Controller-rack weergeven/verbergen - - - - Show/hide project notes - Projectnotities weergeven/verbergen - - - - Untitled - Naamloos - - - - Recover session. Please save your work! - Sessie herstellen. Sla uw werk op! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Hersteld project niet opgeslagen - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Dit project werd hersteld vanuit de vorige sessie. Het is op dit moment niet opgeslagen en zal verloren gaan als u het niet opslaat. Wilt u het nu opslaan? - - - - Project not saved - Project niet opgeslagen - - - - The current project was modified since last saving. Do you want to save it now? - Het huidige project werd gewijzigd sinds de laatste keer dat het opgeslagen werd. Wilt u het nu opslaan? - - - - Open Project - Project openen - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Project opslaan - - - - LMMS Project - LMMS-project - - - - LMMS Project Template - LMMS-projectsjabloon - - - - Save project template - Projectsjabloon opslaan - - - - Overwrite default template? - Standaard-sjabloon overschrijven? - - - - This will overwrite your current default template. - Dit zal uw huidig standaard-sjabloon overschrijven. - - - - Help not available - Hulp niet beschikbaar - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Er is op dit moment geen hulp beschikbaar in LMMS. -Bezoek http://lmms.sf.net/wiki voor documentatie over LMMS. - - - - Controller Rack - Controller-rack - - - - Project Notes - Projectnotities - - - - Fullscreen - - - - - Volume as dBFS - Volume als dBFS - - - - Smooth scroll - Vloeiend scrollen - - - - Enable note labels in piano roll - Nootlabels in piano-roll inschakelen - - - - MIDI File (*.mid) - MIDI-bestand (*.mid) - - - - - untitled - naamloos - - - - - Select file for project-export... - Selecteer bestand voor project-export... - - - - Select directory for writing exported tracks... - Selecteer map voor schrijven van geëxporteerde tracks... - - - - Save project - Project opslaan - - - - Project saved - Project opgeslagen - - - - The project %1 is now saved. - Project %1 is nu opgeslagen. - - - - Project NOT saved. - Project NIET opgeslagen. - - - - The project %1 was not saved! - Project %1 werd niet opgeslagen! - - - - Import file - Bestand importeren - - - - MIDI sequences - MIDI-sequenties - - - - Hydrogen projects - Hydrogen-projecten - - - - All file types - Alle bestandstypes - - - - MeterDialog - - - - Meter Numerator - Meter-noemer - - - - Meter numerator - Meter-noemer - - - - - Meter Denominator - Meter-teller - - - - Meter denominator - Meter-teller - - - - TIME SIG - MAATSOORT - - - - MeterModel - - - Numerator - Noemer - - - - Denominator - Teller - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI-controller - - - - unnamed_midi_controller - naamloze_midi_controller - - - - MidiImport - - - - Setup incomplete - Setup niet voltooid - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - U heeft geen standaard soundfont ingesteld in de instellingen (Bewerken -> Instellingen). Hierdoor wordt er geen geluid afgespeeld na het importeren van dit MIDI-bestand. Download een General MIDI soundfont, selecteer deze in de instellingen probeer opnieuw. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - U heeft LMMS niet gecompileerd met ondersteuning voor de SoundFont2-speler, die gebruikt wordt om standaardgeluid toe te voegen aan geïmporteerde MIDI-bestanden. Daarom zal er geen geluid afgespeeld worden na het importeren van dit MIDI-bestand. - - - - MIDI Time Signature Numerator - MIDI tijdsaanduiding-teller - - - - MIDI Time Signature Denominator - MIDI tijdsaanduiding-noemer - - - - Numerator - Noemer - - - - Denominator - Teller - - - - Track - Track - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK-server is offline - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - De JACK-server lijkt afgesloten te zijn. - - MidiPatternW @@ -8000,2730 +2998,369 @@ Bezoek http://lmms.sf.net/wiki voor documentatie over LMMS. &Afsluiten - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Invoerkanaal - - - - Output channel - Uitvoerkanaal - - - - Input controller - Invoer-controller - - - - Output controller - Uitvoer-controller - - - - Fixed input velocity - Vaste invoersnelheid - - - - Fixed output velocity - Vaste uitvoersnelheid - - - - Fixed output note - Vaste uitvoernoot - - - - Output MIDI program - MIDI-programma voor uitvoer - - - - Base velocity - Basissnelheid - - - - Receive MIDI-events - MIDI-events ontvangen - - - - Send MIDI-events - MIDI-events verzenden - - - - MidiSetupWidget - - - Device - Apparaat - - - - MonstroInstrument - - - Osc 1 volume - Osc 1 volume - - - - Osc 1 panning - Osc 1 balans - - - - Osc 1 coarse detune - Osc 1 grof ontstemmen - - - - Osc 1 fine detune left - Osc 1 fijn ontstemmen links - - - - Osc 1 fine detune right - Osc 1 fijn ontstemmen rechts - - - - Osc 1 stereo phase offset - Osc 1 stereo-faseverschuiving - - - - Osc 1 pulse width - Osc 1 pulsbreedte - - - - Osc 1 sync send on rise - Osc 1 synchronisatie bij stijging - - - - Osc 1 sync send on fall - Osc 1 synchronisatie bij daling - - - - Osc 2 volume - Osc 2 volume - - - - Osc 2 panning - Osc 2 balans - - - - Osc 2 coarse detune - Osc 2 grof ontstemmen - - - - Osc 2 fine detune left - Osc 2 fijn ontstemmen links - - - - Osc 2 fine detune right - Osc 2 fijn ontstemmen rechts - - - - Osc 2 stereo phase offset - Osc 2 stereo-faseverschuiving - - - - Osc 2 waveform - Osc 2 golfvorm - - - - Osc 2 sync hard - Osc 2 sync hard - - - - Osc 2 sync reverse - Osc 2 sync omgekeerd - - - - Osc 3 volume - Osc 3 volume - - - - Osc 3 panning - Osc 3 balans - - - - Osc 3 coarse detune - Osc 3 grof ontstemmen - - - - Osc 3 Stereo phase offset - Osc 3 stereo-faseverschuiving - - - - Osc 3 sub-oscillator mix - Osc 3 sub-oscillator mix - - - - Osc 3 waveform 1 - Osc 3 golfvorm 1 - - - - Osc 3 waveform 2 - Osc 3 golfvorm 2 - - - - Osc 3 sync hard - Osc 3 sync hard - - - - Osc 3 Sync reverse - Osc 3 sync omgekeerd - - - - LFO 1 waveform - LFO 1 golfvorm - - - - LFO 1 attack - LFO 1 attack - - - - LFO 1 rate - LFO 1 ratio - - - - LFO 1 phase - LFO 1 fase - - - - LFO 2 waveform - LFO 2 golfvorm - - - - LFO 2 attack - LFO 2 attack - - - - LFO 2 rate - LFO 2 ratio - - - - LFO 2 phase - LFO 2 fase - - - - Env 1 pre-delay - Env 1 pre-delay - - - - Env 1 attack - Env 1 attack - - - - Env 1 hold - Env 1 hold - - - - Env 1 decay - Env 1 decay - - - - Env 1 sustain - Env 1 sustain - - - - Env 1 release - Env 1 release - - - - Env 1 slope - Env 1 slope - - - - Env 2 pre-delay - Env 2 pre-delay - - - - Env 2 attack - Env 2 attack - - - - Env 2 hold - Env 2 hold - - - - Env 2 decay - Env 2 decay - - - - Env 2 sustain - Env 2 sustain - - - - Env 2 release - Env 2 release - - - - Env 2 slope - Env 2 slope - - - - Osc 2+3 modulation - Osc 2+3 modulatie - - - - Selected view - Geselecteerde weergave - - - - Osc 1 - Vol env 1 - Osc 1 - Vol env 1 - - - - Osc 1 - Vol env 2 - Osc 1 - Vol env 2 - - - - Osc 1 - Vol LFO 1 - Osc 1 - Vol LFO 1 - - - - Osc 1 - Vol LFO 2 - Osc 1 - Vol LFO 2 - - - - Osc 2 - Vol env 1 - Osc 2 - Vol env 1 - - - - Osc 2 - Vol env 2 - Osc 2 - Vol env 2 - - - - Osc 2 - Vol LFO 1 - Osc 2 - Vol LFO 1 - - - - Osc 2 - Vol LFO 2 - Osc 2 - Vol LFO 2 - - - - Osc 3 - Vol env 1 - Osc 3 - Vol env 1 - - - - Osc 3 - Vol env 2 - Osc 3 - Vol env 2 - - - - Osc 3 - Vol LFO 1 - Osc 3 - Vol LFO 1 - - - - Osc 3 - Vol LFO 2 - Osc 3 - Vol LFO 2 - - - - Osc 1 - Phs env 1 - Osc 1 - Fase env 1 - - - - Osc 1 - Phs env 2 - Osc 1 - Fase env 2 - - - - Osc 1 - Phs LFO 1 - Osc 1 - Fase LFO 1 - - - - Osc 1 - Phs LFO 2 - Osc 1 - Fase LFO 2 - - - - Osc 2 - Phs env 1 - Osc 2 - Fase env 1 - - - - Osc 2 - Phs env 2 - Osc 2 - Fase env 2 - - - - Osc 2 - Phs LFO 1 - Osc 2 - Fase LFO 1 - - - - Osc 2 - Phs LFO 2 - Osc 2 - Fase LFO 2 - - - - Osc 3 - Phs env 1 - Osc 3 - Fase env 1 - - - - Osc 3 - Phs env 2 - Osc 3 - Fase env 2 - - - - Osc 3 - Phs LFO 1 - Osc 3 - Fase LFO 1 - - - - Osc 3 - Phs LFO 2 - Osc 3 - Fase LFO 2 - - - - Osc 1 - Pit env 1 - Osc 1 - Toonh env 1 - - - - Osc 1 - Pit env 2 - Osc 1 - Toonh env 2 - - - - Osc 1 - Pit LFO 1 - Osc 1 - Toonh LFO 1 - - - - Osc 1 - Pit LFO 2 - Osc 1 - Toonh LFO 2 - - - - Osc 2 - Pit env 1 - Osc 2 - Toonh env 1 - - - - Osc 2 - Pit env 2 - Osc 2 - Toonh env 2 - - - - Osc 2 - Pit LFO 1 - Osc 2 - Toonh LFO 1 - - - - Osc 2 - Pit LFO 2 - Osc 2 - Toonh LFO 2 - - - - Osc 3 - Pit env 1 - Osc 3 - Toonh env 1 - - - - Osc 3 - Pit env 2 - Osc 3 - Toonh env 2 - - - - Osc 3 - Pit LFO 1 - Osc 3 - Toonh LFO 1 - - - - Osc 3 - Pit LFO 2 - Osc 3 - Toonh LFO 2 - - - - Osc 1 - PW env 1 - Osc 1 - PB env 1 - - - - Osc 1 - PW env 2 - Osc 1 - PB env 2 - - - - Osc 1 - PW LFO 1 - Osc 1 - PB LFO 1 - - - - Osc 1 - PW LFO 2 - Osc 1 - PB LFO 2 - - - - Osc 3 - Sub env 1 - Osc 3 - Sub env 1 - - - - Osc 3 - Sub env 2 - Osc 3 - Sub env 2 - - - - Osc 3 - Sub LFO 1 - Osc 3 - Sub LFO 1 - - - - Osc 3 - Sub LFO 2 - Osc 3 - Sub LFO 2 - - - - - Sine wave - Sinusgolf - - - - Bandlimited Triangle wave - Bandgelimiteerde driehoeksgolf - - - - Bandlimited Saw wave - Bandgelimiteerde zaagtandgolf - - - - Bandlimited Ramp wave - Bandgelimiteerde hellingsgolf - - - - Bandlimited Square wave - Bandgelimiteerde blokgolf - - - - Bandlimited Moog saw wave - Bandgelimiteerde moog-zaagtandgolf - - - - - Soft square wave - Zachte blokgolf - - - - Absolute sine wave - Absolute sinusgolf - - - - - Exponential wave - Exponentiële golf - - - - White noise - Witte ruis - - - - Digital Triangle wave - Digitale driehoeksgolf - - - - Digital Saw wave - Digitale zaagtandgolf - - - - Digital Ramp wave - Digitale hellingsgolf - - - - Digital Square wave - Digitale blokgolf - - - - Digital Moog saw wave - Digitale moog-zaagtandgolf - - - - Triangle wave - Driehoeksgolf - - - - Saw wave - Zaagtandgolf - - - - Ramp wave - Hellingsgolf - - - - Square wave - Blokgolf - - - - Moog saw wave - Moog-zaagtandgolf - - - - Abs. sine wave - Abs. sinusgolf - - - - Random - Willekeurig - - - - Random smooth - Willekeurig glad - - - - MonstroView - - - Operators view - Operatorweergave - - - - Matrix view - Matrixweergave - - - - - - Volume - Volume - - - - - - Panning - Balans - - - - - - Coarse detune - Grof ontstemmen - - - - - - semitones - semitonen - - - - - Fine tune left - Fijn stemmen links - - - - - - - cents - cents - - - - - Fine tune right - Fijn stemmen rechts - - - - - - Stereo phase offset - Stereo-faseverschuiving - - - - - - - - deg - graden - - - - Pulse width - Pulsbreedte - - - - Send sync on pulse rise - Sync verzenden bij pulsstijging - - - - Send sync on pulse fall - Sync verzenden bij pulsdaling - - - - Hard sync oscillator 2 - Oscillator 2 hard-syncen - - - - Reverse sync oscillator 2 - Oscillator 2 omgekeerd syncen - - - - Sub-osc mix - Sub-osc mix - - - - Hard sync oscillator 3 - Oscillator 3 hard-syncen - - - - Reverse sync oscillator 3 - Oscillator 3 omgekeerd syncen - - - - - - - Attack - Attack - - - - - Rate - Ratio - - - - - Phase - Fase - - - - - Pre-delay - Pre-delay - - - - - Hold - Hold - - - - - Decay - Decay - - - - - Sustain - Sustain - - - - - Release - Release - - - - - Slope - Slope - - - - Mix osc 2 with osc 3 - Osc 2 mengen met osc 3 - - - - Modulate amplitude of osc 3 by osc 2 - Amplitude van osc 3 moduleren met osc 2 - - - - Modulate frequency of osc 3 by osc 2 - Frequentie van osc 3 moduleren met osc 2 - - - - Modulate phase of osc 3 by osc 2 - Fase van osc 3 mengen met osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Hoeveelheid modulatie - - - - MultitapEchoControlDialog - - - Length - Lengte - - - - Step length: - Stap-lengte: - - - - Dry - Droog - - - - Dry gain: - Droge gain: - - - - Stages - Stappen - - - - Low-pass stages: - Lowpass-stappen: - - - - Swap inputs - Invoeren wisselen - - - - Swap left and right input channels for reflections - Linker en rechter invoerkanaal wisselen voor reflecties - - - - NesInstrument - - - Channel 1 coarse detune - Kanaal 1 grof ontstemmen - - - - Channel 1 volume - Volume kanaal 1 - - - - Channel 1 envelope length - Kanaal 1 envelope-lengte - - - - Channel 1 duty cycle - Kanaal 1 inschakeltijd - - - - Channel 1 sweep amount - Kanaal 1 hoeveelheid sweep - - - - Channel 1 sweep rate - Kanaal 1 sweep-ratio - - - - Channel 2 Coarse detune - Kanaal 2 grof ontstemmen - - - - Channel 2 Volume - Volume kanaal 2 - - - - Channel 2 envelope length - Kanaal 2 envelope-lengte - - - - Channel 2 duty cycle - Kanaal 2 inschakeltijd - - - - Channel 2 sweep amount - Kanaal 2 hoeveelheid sweep - - - - Channel 2 sweep rate - Kanaal 2 sweep-ratio - - - - Channel 3 coarse detune - Kanaal 3 grof ontstemmen - - - - Channel 3 volume - Volume kanaal 3 - - - - Channel 4 volume - Volume kanaal 4 - - - - Channel 4 envelope length - Kanaal 4 envelope-lengte - - - - Channel 4 noise frequency - Kanaal 4 ruisfrequentie - - - - Channel 4 noise frequency sweep - Kanaal 4 ruisfrequentie-sweep - - - - Master volume - Master-volume - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Volume - - - - - - Coarse detune - Grof ontstemmen - - - - - - Envelope length - Envelope-lengte - - - - Enable channel 1 - Kanaal 1 inschakelen - - - - Enable envelope 1 - Envelope 1 inschakelen - - - - Enable envelope 1 loop - Envelope 1 herhalen inschakelen - - - - Enable sweep 1 - Sweep 1 inschakelen - - - - - Sweep amount - Hoeveelheid sweep - - - - - Sweep rate - Sweep-ratio - - - - - 12.5% Duty cycle - 12.5 % inschakeltijd - - - - - 25% Duty cycle - 25 % inschakeltijd - - - - - 50% Duty cycle - 50 % inschakeltijd - - - - - 75% Duty cycle - 75 % inschakeltijd - - - - Enable channel 2 - Kanaal 2 inschakelen - - - - Enable envelope 2 - Envelope 2 inschakelen - - - - Enable envelope 2 loop - Envelope 2 herhalen inschakelen - - - - Enable sweep 2 - Sweep 2 inschakelen - - - - Enable channel 3 - Kanaal 3 inschakelen - - - - Noise Frequency - Ruisfrequentie - - - - Frequency sweep - Frequentie-sweep - - - - Enable channel 4 - Kanaal 4 inschakelen - - - - Enable envelope 4 - Envelope 4 inschakelen - - - - Enable envelope 4 loop - Envelope 4 herhalen inschakelen - - - - Quantize noise frequency when using note frequency - Ruisfrequentie kwantiseren wanneer nootfrequentie gebruikt wordt - - - - Use note frequency for noise - Nootfrequentie gebruiken voor ruis - - - - Noise mode - Ruismodus - - - - Master volume - Master-volume - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Patch - - - - Op 1 attack - Op 1 attack - - - - Op 1 decay - Op 1 decay - - - - Op 1 sustain - Op 1 sustain - - - - Op 1 release - Op 1 release - - - - Op 1 level - Op 1 niveau - - - - Op 1 level scaling - Op 1 niveauschaling - - - - Op 1 frequency multiplier - Op 1 frequentievermenigvuldiger - - - - Op 1 feedback - Op 1 feedback - - - - Op 1 key scaling rate - Op 1 sleutel-schalingsratio - - - - Op 1 percussive envelope - Op 1 percussieve envelope - - - - Op 1 tremolo - Op 1 tremolo - - - - Op 1 vibrato - Op 1 vibrato - - - - Op 1 waveform - Op 1 golfvorm - - - - Op 2 attack - Op 2 attack - - - - Op 2 decay - Op 2 decay - - - - Op 2 sustain - Op 2 sustain - - - - Op 2 release - Op 2 release - - - - Op 2 level - Op 2 niveau - - - - Op 2 level scaling - Op 2 niveauschaling - - - - Op 2 frequency multiplier - Op 2 frequentievermenigvuldiger - - - - Op 2 key scaling rate - Op 2 sleutel-schalingsratio - - - - Op 2 percussive envelope - Op 2 percussieve envelope - - - - Op 2 tremolo - Op 2 tremolo - - - - Op 2 vibrato - Op 2 vibrato - - - - Op 2 waveform - Op 2 golfvorm - - - - FM - FM - - - - Vibrato depth - Vibrato-diepte - - - - Tremolo depth - Tremolo-diepte - - - - OpulenzInstrumentView - - - - Attack - Attack - - - - - Decay - Decay - - - - - Release - Release - - - - - Frequency multiplier - Frequentievermenigvuldiger - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 golfvorm - - - - Osc %1 harmonic - Osc %1 harmonisch - - - - - Osc %1 volume - Osc %1 volume - - - - - Osc %1 panning - Balans osc %1 - - - - - Osc %1 fine detuning left - Osc %1 fijn ontstemmen links - - - - Osc %1 coarse detuning - Osc %1 grof ontstemmen - - - - Osc %1 fine detuning right - Osc %1 fijn ontstemmen rechts - - - - Osc %1 phase-offset - Osc %1 faseverschuiving - - - - Osc %1 stereo phase-detuning - Osc %1 stereo-fase-ontstemming - - - - Osc %1 wave shape - Osc %1 golfvorm - - - - Modulation type %1 - Modulatietype %1 - - - - Oscilloscope - - - Oscilloscope - Oscilloscoop - - - - Click to enable - Klikken om in te schakelen - - PatchesDialog + Qsynth: Channel Preset Qsynth: kanaal-preset + Bank selector Bank-selector + Bank Bank + Program selector Programma-selector + Patch Patch + Name Naam + OK Ok + Cancel Annuleren - - PatmanView - - - Open patch - Patch openen - - - - Loop - Herhalen - - - - Loop mode - Herhaalmodus - - - - Tune - Stemmen - - - - Tune mode - Stem-modus - - - - No file selected - Geen bestand geselecteerd - - - - Open patch file - Patchbestand openen - - - - Patch-Files (*.pat) - Patch-bestanden (*.pat) - - - - MidiClipView - - - Open in piano-roll - In piano-roll openen - - - - Set as ghost in piano-roll - Als ghost instellen in piano-roll - - - - Clear all notes - Alle noten leegmaken - - - - Reset name - Naam herstellen - - - - Change name - Naam wijzigen - - - - Add steps - Stappen toevoegen - - - - Remove steps - Stappen verwijderen - - - - Clone Steps - Stappen klonen - - - - PeakController - - - Peak Controller - Piek-controller - - - - Peak Controller Bug - Piek-controller bug - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Door een bug in oudere versies van LMMS is het mogelijk dat piek-controllers niet goed verbonden zijn. Verzeker u ervan dat piek-controllers goed verbonden zijn en sla dit bestand opnieuw op. Sorry voor enig ongemak. - - - - PeakControllerDialog - - - PEAK - PIEK - - - - LFO Controller - LFO-controller - - - - PeakControllerEffectControlDialog - - - BASE - BASIS - - - - Base: - Basis: - - - - AMNT - HVHD - - - - Modulation amount: - Hoeveelheid basis: - - - - MULT - VERM - - - - Amount multiplicator: - Hoeveelheid-vermenigvuldiger: - - - - ATCK - ATCK - - - - Attack: - Attack: - - - - DCAY - DCAY - - - - Release: - Release: - - - - TRSH - TRSH - - - - Treshold: - Treshold: - - - - Mute output - Uitvoer dempen - - - - Absolute value - Absolute waarde - - - - PeakControllerEffectControls - - - Base value - Basiswaarde - - - - Modulation amount - Hoeveelheid modulatie - - - - Attack - Attack - - - - Release - Release - - - - Treshold - Treshold - - - - Mute output - Uitvoer dempen - - - - Absolute value - Absolute waarde - - - - Amount multiplicator - Hoeveelheid-vermenigvuldiger - - - - PianoRoll - - - Note Velocity - Nootsnelheid - - - - Note Panning - Noot-balans - - - - Mark/unmark current semitone - Huidige semitoon markeren/niet markeren - - - - Mark/unmark all corresponding octave semitones - Alle corresponderende octaaf-semitonen markeren/niet markeren - - - - Mark current scale - Huidige toonladder markeren - - - - Mark current chord - Huidig akkoord markeren - - - - Unmark all - Niets markeren - - - - Select all notes on this key - Alle noten op deze sleutel selecteren - - - - Note lock - Nootvergrendeling - - - - Last note - Laatste noot - - - - No key - - - - - No scale - Geen toonladder - - - - No chord - Geen akkoord - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Snelheid: %1% - - - - Panning: %1% left - Balans: %1 % links - - - - Panning: %1% right - Balans: %1 % rechts - - - - Panning: center - Balans: midden - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Open een patroon door erop te dubbelklikken! - - - - - Please enter a new value between %1 and %2: - Voer een nieuwe waarde in tussen %1 en %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Huidig patroon afspelen/pauzeren (Spatie) - - - - Record notes from MIDI-device/channel-piano - Noten van MIDI-apparaat/kanaal-piano opnemen - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Noten van MIDI-apparaat/kanaal-piano opnemen tijdens het afspelen van song of BB-spoor - - - - Record notes from MIDI-device/channel-piano, one step at the time - Noten van MIDI-apparaat/kanaal-piano opnemen, een stap per keer - - - - Stop playing of current clip (Space) - Stoppen met afspelen van huidig patroon (Spatie) - - - - Edit actions - Acties bewerken - - - - Draw mode (Shift+D) - Tekenmodus (Shift+D) - - - - Erase mode (Shift+E) - Wissen-modus (Shift+E) - - - - Select mode (Shift+S) - Selecteermodus (Shift+S) - - - - Pitch Bend mode (Shift+T) - Toonhoogte-buigmodus (Shift+T) - - - - Quantize - Kwantiseren - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Bedieningen kopiëren en plakken - - - - Cut (%1+X) - Knippen (%1+X) - - - - Copy (%1+C) - Kopiëren (%1+C) - - - - Paste (%1+V) - Plakken (%1+V) - - - - Timeline controls - Tijdlijnbediening - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Zoom- en nootbediening - - - - Horizontal zooming - Horizontaal zoomen - - - - Vertical zooming - Verticaal zoomen - - - - Quantization - Kwantisatie - - - - Note length - Noot-lengte - - - - Key - - - - - Scale - Toonladder - - - - Chord - Akkoord - - - - Snap mode - - - - - Clear ghost notes - Ghost-noten leegmaken - - - - - Piano-Roll - %1 - Piano-roll - %1 - - - - - Piano-Roll - no clip - Piano-roll - geen patroon - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Grondtoon - - - - First note - - - - - Last note - Laatste noot - - - - Plugin - - - Plugin not found - Plugin niet gevonden - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - De plug-in "%1" werd niet teruggevonden of kon niet geladen worden! -Reden: "%2" - - - - Error while loading plugin - Fout bij laden van plug-in - - - - Failed to load plugin "%1"! - Laden van plug-in "%1" mislukt! - - PluginBrowser - - Instrument Plugins - Instrument-plugins - - - - Instrument browser - Instrument-browser - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Sleep een instrument naar de song-editor, de beat- en baslijn-editor of naar een bestaande instrument-track. - - - + no description geen beschrijving - + A native amplifier plugin Een ingebouwde versterker-plugin - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Simpele sampler met verschillende instellingen voor het gebruik van samples (bijvoorbeeld drums) in een instrument-track - + Boost your bass the fast and simple way Versterk uw bas snel en eenvoudig - + Customizable wavetable synthesizer Aanpasbare wavetable-synthesizer - + An oversampling bitcrusher Een oversampling-bitcrusher - + Carla Patchbay Instrument Carla Patchbay instrument - + Carla Rack Instrument Carla Rack instrument - + A dynamic range compressor. - + A 4-band Crossover Equalizer Een 4-band crossover-equalizer - + A native delay plugin Een ingebouwde delay-plugin - + A Dual filter plugin Een dual-filter-plugin - + plugin for processing dynamics in a flexible way plugin voor het verwerken van dynamieken op een flexibele manier - + A native eq plugin Een ingebouwde eq-plugin - + A native flanger plugin Een ingebouwde flanger-plugin - + Emulation of GameBoy (TM) APU Emulatie van GameBoy (TM) APU - + Player for GIG files Speler voor GIG-bestanden - + Filter for importing Hydrogen files into LMMS Filter voor importeren van Hydrogen-bestanden in LMMS - + Versatile drum synthesizer Veelzijdige drum-synthesizer - + List installed LADSPA plugins Geïnstalleerde LADSPA-plugins oplijsten - + plugin for using arbitrary LADSPA-effects inside LMMS. plugin voor het gebruik van arbitraire LADSPA-effecten binnen LMMS. - + Incomplete monophonic imitation TB-303 - Onvoltooide monofonische limitering TB-303 + - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS Filter voor exporteren van MIDI-bestanden van LMMS - + Filter for importing MIDI-files into LMMS Filter, om MIDI-bestanden in LMMS te importeren - + Monstrous 3-oscillator synth with modulation matrix Monsterlijke 3-oscillator synth met modulatiematrix - + A multitap echo delay plugin Een multitap-echo-delay-plugin - + A NES-like synthesizer Een NES-achtige synthesizer - + 2-operator FM Synth 2-operator FM-synth - + Additive Synthesizer for organ-like sounds Additive Synthesizer voor orgelachtige geluiden - + GUS-compatible patch instrument GUS-compatibel patch-instrument - + Plugin for controlling knobs with sound peaks Plugin voor het bedienen van knoppen met geluidspieken - + Reverb algorithm by Sean Costello Reverb-algoritme door Sean Costello - + Player for SoundFont files Speler voor SoundFont-bestanden - + LMMS port of sfxr LMMS port van sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulatie van de MOS6581 en MOS8580 SID. Deze chip werd gebruikt in de Commodore 64 computer. - + A graphical spectrum analyzer. Een grafische spectrum-analyzer. - + Plugin for enhancing stereo separation of a stereo input file Plugin voor het verbeteren van stereo-scheiding van een stereo-invoerbestand. - + Plugin for freely manipulating stereo output Plugin voor het vrij manipuleren voor stereo-uitoer - + Tuneful things to bang on Welluidende zaken om te knallen - + Three powerful oscillators you can modulate in several ways Drie krachtige oscillators die u op verschillende manieren kunt moduleren - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS VST-Host voor gebruik van VST(i)-plugins binnen LMMS - + Vibrating string modeler Modeler voor trillende snaren - + plugin for using arbitrary VST effects inside LMMS. plugin voor het gebruik van arbitraire VST-effecten binnen LMMS. - + 4-oscillator modulatable wavetable synth 4-oscillator moduleerbare wavetable-synth - + plugin for waveshaping plugin voor golfvorming - + Mathematical expression parser Wiskundige uitdrukking-verwerker - + Embedded ZynAddSubFX Ingebedde ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Type - - - - Effects - Effecten - - - - Instruments - Instrumenten - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Annuleren - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Soort: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Naam - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10822,93 +3459,98 @@ Deze chip werd gebruikt in de Commodore 64 computer. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Soort: - + Maker: - + Copyright: - + Unique ID: @@ -10916,16 +3558,457 @@ Plugin Name PluginFactory - + Plugin not found. Plug-in niet gevonden. - + LMMS plugin %1 does not have a plugin descriptor named %2! LMMS-plugin %1 heeft geen plugin-descriptor die %2 heet! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10940,157 +4023,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Sluiten + @@ -11105,50 +4092,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off Aan/uit - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11163,2549 +4150,13816 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Projectnotities - - - - Enter project notes here - Geef hier uw projectnotities in - - - - Edit Actions - Bewerking-acties - - - - &Undo - &Ongedaan maken - - - - %1+Z - %1+Z - - - - &Redo - &Opnieuw - - - - %1+Y - %1+Y - - - - &Copy - &Kopiëren - - - - %1+C - %1+C - - - - Cu&t - &Knippen - - - - %1+X - %1+X - - - - &Paste - &Plakken - - - - %1+V - %1+V - - - - Format Actions - Formaat-acties - - - - &Bold - &Vet - - - - %1+B - %1+B - - - - &Italic - &Cursief - - - - %1+I - %1+I - - - - &Underline - &Onderstrepen - - - - %1+U - %1+U - - - - &Left - &Links uitlijnen - - - - %1+L - %1+L - - - - C&enter - C&entreren - - - - %1+E - %1+E - - - - &Right - &Rechts uitlijnen - - - - %1+R - %1+R - - - - &Justify - &Uitvullen - - - - %1+J - %1+J - - - - &Color... - &Kleur... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI GUI weergeven - + Help Help + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Naam: - - URI: - - - - - - + Maker: Maker: - - - + Copyright: Auteursrecht: - - + Requires Real Time: Vereist realtime: - - - - - - + + + Yes Ja - - - - - - + + + No Nee - - + Real Time Capable: Realtime-capabel: - - + In Place Broken: Defect op zijn plaats: - - + Channels In: Invoerkanalen: - - + Channels Out: Uitvoerkanalen: - + File: %1 Bestand: %1 - + File: Bestand: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Recent geopende projecten + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Naam wijzigen... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Invoer + + Amplify + - - Input gain: - Invoer-gain: + + Start of sample + - - Size - Grootte + + End of sample + - - Size: - Grootte: + + Loopback point + - - Color - Kleur + + Reverse sample + - - Color: - Kleur: + + Loop mode + - - Output - Uitvoer + + Stutter + - - Output gain: - Uitvoer-gain: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Invoer-gain + - - Size - Grootte + + Input noise + - - Color - Kleur + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Uitvoer-gain + - SaControls - - - Pause - Pauzeren - - - - Reference freeze - Referentie bevriezen - + lmms::SaControls - Waterfall - Waterval + Pause + - Averaging - Averaging - - - - Stereo - Stereo + Reference freeze + - Peak hold - Piek vasthouden + Waterfall + + + + + Averaging + - Logarithmic frequency - Logaritmische frequentie + Stereo + - Logarithmic amplitude - Logaritmische amplitude + Peak hold + + + + + Logarithmic frequency + - Frequency range - Frequentiebereik - - - - Amplitude range - Amplitudebereik - - - - FFT block size - FFT-blokgrootte + Logarithmic amplitude + - FFT window type - FFT-venstertype + Frequency range + + + + + Amplitude range + + + + + FFT block size + - Peak envelope resolution - Piek envelope-resolutie - - - - Spectrum display resolution - Spectrumweergave-resolutie - - - - Peak decay multiplier - Piek decay vermenigvuldiger + FFT window type + - Averaging weight - Averaging-gewicht + Peak envelope resolution + - Waterfall history size - Waterval-geschiedenisgrootte + Spectrum display resolution + - Waterfall gamma correction - Waterval-gammacorrectie + Peak decay multiplier + - FFT window overlap - FFT-venster-overlap + Averaging weight + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - FFT-voorloopnullen - - - - - Full (auto) - Volledig (auto) - - - - - - Audible - Hoorbaar - - - - Bass - Bass + - Mids - Middentonen + + Full (auto) + - High - Hoge tonen + + + Audible + + + + + Bass + + + + + Mids + - Extended - Uitgebreid - - - - Loud - Luid + High + + Extended + + + + + Loud + + + + Silent - Stil + - + (High time res.) - (hoge tijdresolutie) + - + (High freq. res.) - (hoge freq.-resolutie) - - - - Rectangular (Off) - Rechthoekig (uit) - - - - - Blackman-Harris (Default) - Blackman-Harris (standaard) - - - - Hamming - Hamming + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + + + + Hanning - Hanning - - - - SaControlsDialog - - - Pause - Pauzeren - - - - Pause data acquisition - Verzamelen van gegevens pauzeren - - - - Reference freeze - Referentie bevriezen - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - Huidige invoer als referentie bevriezen / uitval in piek-houd-modus uitschakelen - - - - Waterfall - Waterval - - - - Display real-time spectrogram - Realtime-spectrogram weergeven - - - - Averaging - Averaging - - - - Enable exponential moving average - Exponentieel voortschrijdend gemiddelde inschakelen - - - - Stereo - Stereo - - - - Display stereo channels separately - Stereokanalen apart weergeven - - - - Peak hold - Piek vasthouden - - - - Display envelope of peak values - Envelope van piekwaarden weergeven - - - - Logarithmic frequency - Logaritmische frequentie - - - - Switch between logarithmic and linear frequency scale - Wisselen tussen logaritmische en lineaire frequentieschaal - - - - - Frequency range - Frequentiebereik - - - - Logarithmic amplitude - Logaritmische amplitude - - - - Switch between logarithmic and linear amplitude scale - Wisselen tussen logaritmische en lineaire amplitudeschaal - - - - - Amplitude range - Amplitudebereik - - - - Envelope res. - Envelope-resolutie - - - - Increase envelope resolution for better details, decrease for better GUI performance. - Envelope-resolutie vergroten voor betere details, verkleinen voor betere GUI-prestaties. - - - - - Draw at most - Maximaal - - - - envelope points per pixel - envelope-punten per pixel tekenen - - - - Spectrum res. - Spectrumresolutie - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - Spectrumresolutie vergroten voor betere details, verkleinen voor betere GUI-prestaties. - - - - spectrum points per pixel - spectrum-punten per pixel tekenen - - - - Falloff factor - Afval-factor - - - - Decrease to make peaks fall faster. - Vergroten om pieken sneller te laten vallen - - - - Multiply buffered value by - Gebufferde waarde vermenigvuldigen met - - - - Averaging weight - Averaging-gewicht - - - - Decrease to make averaging slower and smoother. - Verkleinen om averaging trager en zachter te maken - - - - New sample contributes - Nieuw sample draagt bij - - - - Waterfall height - Hoogte waterval - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - Vergroten om trager scrollen te krijgen, verkleinen om snelle overgangen beter te zien. Waarschuwing: gemiddeld CPU-gebruik. - - - - Keep - - - - - lines - lijnen houden - - - - Waterfall gamma - Waterval-gamma - - - - Decrease to see very weak signals, increase to get better contrast. - Verkleinen om zeer zwakke signalen te zien, vergroten om beter contrast te krijgen. - - - - Gamma value: - Gammawaarde: - - - - Window overlap - Venster-overlap - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - Vergroten om ontbrekende snelle overgangen in de buurt van FFT-vensterranden te voorkomen. Waarschuwing: hoog CPU-gebruik. - - - - Each sample processed - Elke sample wordt - - - - times - keer verwerkt - - - - Zero padding - Voorloopnullen - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - Vergroten om een vloeiender uitziend spectrum te verkrijgen. Waarschuwing: hoog CPU-gebruik. - - - - Processing buffer is - Verwerkingsbuffer is - - - - steps larger than input block - stappen groter dan invoerblok - - - - Advanced settings - Geavanceerde instellingen - - - - Access advanced settings - Geavanceerde instellingen openen - - - - - FFT block size - FFT-blokgrootte - - - - - FFT window type - FFT-venstertype - - - - SampleBuffer - - - Fail to open file - Bestand openen mislukt - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Audiobestanden zijn beperkt tot %1 MB in grootte en %2 minuten speeltijd - - - - Open audio file - Audiobestand openen - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Alle audiobestanden (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave-bestanden (*.wav) - - - - OGG-Files (*.ogg) - OGG-bestanden (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth-bestanden (*.ds) - - - - FLAC-Files (*.flac) - FLAC-bestanden (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX-bestanden (*.spx) - - - - VOC-Files (*.voc) - VOC-bestanden (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF-bestanden (*.aif *.aiff) - - - - AU-Files (*.au) - AU-bestanden (*.au) - - - - RAW-Files (*.raw) - RAW-bestanden (*.raw) - - - - SampleClipView - - - Double-click to open sample - Dubbelklikken om sample te openen - - - - Delete (middle mousebutton) - Verwijderen (middelste muisknop) - - - - Delete selection (middle mousebutton) - - - - - Cut - Knippen - - - - Cut selection - - - - - Copy - Kopiëren - - - - Copy selection - - - - - Paste - Plakken - - - - Mute/unmute (<%1> + middle click) - Dempen/geluid aan (<%1> + middelklik) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Sample omdraaien - - - - Set clip color - - - - - Use track color - SampleTrack + lmms::SampleClip - + + Sample not found + + + + + lmms::SampleTrack + + Volume - Volume + - + Panning - Balans + - + Mixer channel - FX-kanaal + - - + + Sample track - Sample-track - - - - SampleTrackView - - - Track volume - Track-volume - - - - Channel volume: - Volume kanaal: - - - - VOL - VOL - - - - Panning - Balans - - - - Panning: - Balans: - - - - PAN - BAL - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - ALGEMENE INSTELLINGEN - - - - Sample volume - Sample-volume - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Balans - - - - Panning: - Balans: - - - - PAN - BAL - - - - Mixer channel - FX-kanaal - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - MIDI-verbindingen weggooien - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value - Standaardwaarde herstellen - - - - Use built-in NaN handler - Ingebouwde HaN-handler gebruiken - - - - Settings - Instellingen - - - - - General - Algemeen - - - - Graphical user interface (GUI) - Grafische gebruikersinterface (GUI) - - - - Display volume as dBFS - Volume weergeven als dBFS - - - - Enable tooltips - Tooltips inschakelen - - - - Enable master oscilloscope by default + + empty - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - Projecten - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - Taal - - - - - Performance - Prestaties - - - - Autosave - Automatisch opslaan - - - - Enable autosave - Automatisch opslaan inschakelen - - - - Allow autosave while playing - Automatisch opslaan toestaan tijdens afspelen - - - - User interface (UI) effects vs. performance - Gebruikersinterface-effecten vs. prestaties - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Plugins - - - - VST plugins embedding: - Inbedden van VST-plugins: - - - - No embedding - Geen embedding - - - - Embed using Qt API - Embedden met Qt-API - - - - Embed using native Win32 API - Embedden met ingebouwde Win32-API - - - - Embed using XEmbed protocol - Embedden met XEmbed-protocol - - - - Keep plugin windows on top when not embedded - Plugin-vensters bovenaan houden wanneer niet ingebed - - - - Sync VST plugins to host playback - Synchroniseer VST plugins met host-playback - - - - Keep effects running even without input - Effecten actief houden, zelfs zonder invoer - - - - - Audio - Audio - - - - Audio interface - Audio-interface - - - - HQ mode for output audio device - HQ-modus voor audio-apparaat-uitvoer - - - - Buffer size - Buffergrootte - - - - - MIDI - MIDI - - - - MIDI interface - MIDI-interface - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - LMMS-werkmap - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2-map - - - - Default SF2 - - - - - GIG directory - GIG-map - - - - Theme directory - - - - - Background artwork - Achtergrondafbeelding - - - - Some changes require restarting. - Sommige wijzigingen vereisen een nieuwe start. - - - - Autosave interval: %1 - Interval automatisch opslaan: %1 - - - - Choose the LMMS working directory - Kies de LMMS-werkmap - - - - Choose your VST plugins directory - Kies uw VST-plugin-map - - - - Choose your LADSPA plugins directory - Kies uw LADSPA-pluginmap - - - - Choose your default SF2 - Kies uw standaard SF2 - - - - Choose your theme directory - Kies uw thema-map - - - - Choose your background picture - Kies uw achtergrondafbeelding - - - - - Paths - Paden - - - - OK - Ok - - - - Cancel - Annuleren - - - - Frames: %1 -Latency: %2 ms - Frames: %1 -Latentie: %2 ms - - - - Choose your GIG directory - Kies uw GIG-map - - - - Choose your SF2 directory - Kies uw SF2-map - - - - minutes - minuten - - - - minute - minuut - - - - Disabled - Uitgeschakeld - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Cutoff-frequentie + - + Resonance - Resonantie + + + + + Filter type + - Filter type - Filtersoort - - - Voice 3 off - Stem 3 off + - + Volume - Volume + - + Chip model - Chip-model + - SidInstrumentView + lmms::SlicerT - - Volume: - Volume: + + Note threshold + - - Resonance: - Resonantie: + + FadeOut + - - - Cutoff frequency: - Cutoff-frequentie: + + Original bpm + - - High-pass filter - Highpass-filter + + Slice snap + - - Band-pass filter - Bandpass-filter + + BPM sync + - - Low-pass filter - Lowpass-filter + + + slice_%1 + - - Voice 3 off - Stem 3 uit - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Attack: - - - - - Decay: - Decay: - - - - Sustain: - Sustain: - - - - - Release: - Release: - - - - Pulse Width: - Pulsbreedte: - - - - Coarse: - Grof: - - - - Pulse wave - Pulsgolf - - - - Triangle wave - Driehoeksgolf - - - - Saw wave - Zaagtandgolf - - - - Noise - Ruis - - - - Sync - Sync - - - - Ring modulation - Ring-modulatie - - - - Filtered - Gefilterd - - - - Test - Test - - - - Pulse width: - Pulsbreedte + + Sample not found: %1 + - SideBarWidget + lmms::Song - - Close - Sluiten - - - - Song - - + Tempo - Tempo + - + Master volume - Master-volume + - + Master pitch - Master-toonhoogte - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - LMMS-foutrapport + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Kan bestand niet openen - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Kon bestand %1 niet openen. U heeft waarschijnlijk geen toestemming om dit bestand te lezen. -Verzeker u ervan dat u ten minste leesrechten heeft voor het bestand en probeer het opnieuw. - - - - Operation denied + + Width - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Fout - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - Kan bestand niet schrijven - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - Fout in bestand - - - - The file %1 seems to contain errors and therefore can't be loaded. - Bestand %1 lijkt fouten te bevatten en kan daardoor niet geladen worden. - - - - Version difference - Versie-verschil - - - - template - sjabloon - - - - project - project - - - - Tempo - Tempo - - - - TEMPO - TEMPO - - - - Tempo in BPM - Tempo in BPM - - - - High quality mode - Hogekwaliteitsmodus - - - - - - Master volume - Master-volume - - - - - - Master pitch - Master-toonhoogte - - - - Value: %1% - Waarde: %1 % - - - - Value: %1 semitones - Waarde: %1 semitonen - - SongEditorWindow + lmms::StereoMatrixControls - - Song-Editor - Song-editor - - - - Play song (Space) - Song afspelen (spatie) - - - - Record samples from Audio-device - Samples van audio-apparaat opnemen - - - - Record samples from Audio-device while playing song or BB track - Samples van audio-apparaat opnemen tijdens het afspelen van song of bb-track - - - - Stop song (Space) - Song stoppen (spatie) - - - - Track actions - Track-acties - - - - Add beat/bassline - Beat-/baslijn toevoegen - - - - Add sample-track - Sample-track toevoegen - - - - Add automation-track - Automatisering-track toevoegen - - - - Edit actions - Bewerking-acties - - - - Draw mode - Tekenmodus - - - - Knife mode (split sample clips) + + Left to Left - - Edit mode (select and move) - Bewerken-modus (selecteren en verplaatsen) - - - - Timeline controls - Tijdlijnbediening - - - - Bar insert controls + + Left to Right - - Insert bar + + Right to Left - - Remove bar + + Right to Right - - - Zoom controls - Zoombediening - - - - Horizontal zooming - Horizontaal zoomen - - - - Snap controls - Vastklik-bedieningen - - - - - Clip snapping size - Vastklikgrootte van clip - - - - Toggle proportional snap on/off - Proportioneel vastklikken aan/uit - - - - Base snapping size - Basis-vastklikgrootte - - StepRecorderWidget + lmms::Track - - Hint - Tip - - - - Move recording curser using <Left/Right> arrows - Opname-cursor verplaatsen met pijl links/rechts - - - - SubWindow - - - Close - Sluiten - - - - Maximize - Maximaliseren - - - - Restore - Herstellen - - - - TabWidget - - - - Settings for %1 - Instellingen voor %1 - - - - TemplatesMenu - - - New from template - Nieuw van sjabloon - - - - TempoSyncKnob - - - - Tempo Sync - Tempo-sync - - - - No Sync - Geen sync - - - - Eight beats - Acht beats - - - - Whole note - Hele noot - - - - Half note - Halve noot - - - - Quarter note - Kwart noot - - - - 8th note - 8ste noot - - - - 16th note - 16de noot - - - - 32nd note - 32ste noot - - - - Custom... - Aangepast... - - - - Custom - Aangepast - - - - Synced to Eight Beats - Gesynchroniseerd met acht beats - - - - Synced to Whole Note - Gesynchroniseerd met hele noot - - - - Synced to Half Note - Gesynchroniseerd met halve noot - - - - Synced to Quarter Note - Gesynchroniseerd met kwart noot - - - - Synced to 8th Note - Gesynchroniseerd met 8ste noot - - - - Synced to 16th Note - Gesynchroniseerd met 16de noot - - - - Synced to 32nd Note - Gesynchroniseerd met 32ste noot - - - - TimeDisplayWidget - - - Time units - Tijd-eenheden - - - - MIN - MIN - - - - SEC - S - - - - MSEC - MS - - - - BAR - BAR - - - - BEAT - BEAT - - - - TICK - TICK - - - - TimeLineWidget - - - Auto scrolling - Automatisch scrollen - - - - Loop points - Herhaalpunten - - - - After stopping go back to beginning - - - - - After stopping go back to position at which playing was started - Na het stoppen terug naar positie gaan waarop afspelen gestart werd - - - - After stopping keep position - Na stoppen positie behouden - - - - Hint - Tip - - - - Press <%1> to disable magnetic loop points. - Druk op <1%> om magnetische herhaalpunten uit te schakelen. - - - - Track - - + Mute - Dempen + - + Solo - Solo + - TrackContainer + lmms::TrackContainer - + Couldn't import file - Kon bestand niet importeren + - + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - Kon geen filter vinden om bestand %1 te importeren. -U converteert dit bestand best naar een formaat dat ondersteund wordt door LMMS met behulp van andere software. + - + Couldn't open file - Kon bestand niet openen + - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - Kon bestand %1 niet openen om te lezen. -Verzeker u ervan dat u leesrechten heeft voor het bestand en zijn bevattende map en probeer het opnieuw! + - + Loading project... - Project laden... + - - + + Cancel - Annuleren + - - + + Please wait... - Even geduld... + - + Loading cancelled - Laden gannuleerd + - + Project loading was cancelled. - Laden van project werd geannuleerd. + - + Loading Track %1 (%2/Total %3) - Track %1 laden (%2/totaal %3) + - + Importing MIDI-file... - MIDI-bestand importeren... - - - - Clip - - - Mute - Dempen - - - - ClipView - - - Current position - Huidige positie - - - - Current length - Huidige lengte - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 tot %5:%6) - - - - Press <%1> and drag to make a copy. - Op <%1> drukken en slepen om een kopie te maken. - - - - Press <%1> for free resizing. - Op <%1> drukken voor vrije grootte-aanpassing. - - - - Hint - Tip - - - - Delete (middle mousebutton) - Verwijderen (middelste muisknop) - - - - Delete selection (middle mousebutton) - - - - - Cut - Knippen - - - - Cut selection - - - - - Merge Selection - - - - - Copy - Kopiëren - - - - Copy selection - - - - - Paste - Plakken - - - - Mute/unmute (<%1> + middle click) - Dempen/geluid aan (<%1> + middelklik) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::TripleOscillator - - Paste - Plakken - - - - TrackOperationsWidget - - - Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - Druk op <%1> tijdens het klikken op het verplaatsingsgedeelte om een nieuwe 'slepen-en-neerzetten'-handeling te starten. - - - - Actions - Acties - - - - - Mute - Dempen - - - - - Solo - Solo - - - - After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - - - - - Confirm removal - - - - - Don't ask again - - - - - Clone this track - Deze track klonen - - - - Remove this track - Deze track verwijderen - - - - Clear this track - Deze track leegmaken - - - - Channel %1: %2 - FX %1: %2 - - - - Assign to new mixer Channel - Aan nieuw FX-kanaal toewijzen - - - - Turn all recording on - Alle opnames aanzetten - - - - Turn all recording off - Alle opnames uitzetten - - - - Change color - Kleur veranderen - - - - Reset color to default - Kleur herstellen naar standaard - - - - Set random color - - - - - Clear clip colors + + Sample not found - TripleOscillatorView + lmms::VecControls - - Modulate phase of oscillator 1 by oscillator 2 - Fase van oscillator 1 moduleren met oscillator 2 - - - - Modulate amplitude of oscillator 1 by oscillator 2 - Amplitude van oscillator 1 moduleren met oscillator 2 - - - - Mix output of oscillators 1 & 2 - Uitvoer van oscillator 1 en 2 mixen - - - - Synchronize oscillator 1 with oscillator 2 - Oscillator 1 synchroniseren met oscillator 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 - Frequentie van oscillator 1 moduleren met oscillator 2 - - - - Modulate phase of oscillator 2 by oscillator 3 - Fase van oscillator 2 moduleren met oscillator 3 - - - - Modulate amplitude of oscillator 2 by oscillator 3 - Amplitude van oscillator 2 moduleren met oscillator 3 - - - - Mix output of oscillators 2 & 3 - Uitvoer van oscillator 2 en 3 mixen - - - - Synchronize oscillator 2 with oscillator 3 - Oscillator 2 synchroniseren met oscillator 3 - - - - Modulate frequency of oscillator 2 by oscillator 3 - Frequentie van oscillator 2 moduleren met oscillator 3 - - - - Osc %1 volume: - Osc %1 volume: - - - - Osc %1 panning: - Balans osc %1: - - - - Osc %1 coarse detuning: - Osc %1 grof ontstemmen: - - - - semitones - semitonen - - - - Osc %1 fine detuning left: - Osc %1 fijn ontstemmen links: - - - - - cents - cent - - - - Osc %1 fine detuning right: - Osc %1 fijn ontstemmen rechts: - - - - Osc %1 phase-offset: - Osc %1 faseverschuiving: - - - - - degrees - graden - - - - Osc %1 stereo phase-detuning: - Osc %1 stereo-fase-ontstemming: - - - - Sine wave - Sinusgolf - - - - Triangle wave - Driehoeksgolf - - - - Saw wave - Zaagtandgolf - - - - Square wave - Blokgolf - - - - Moog-like saw wave - Moog-achtige zaagtandgolf - - - - Exponential wave - Exponentiële golf - - - - White noise - Witte ruis - - - - User-defined wave - Aangepaste golf - - - - VecControls - - + Display persistence amount - + Logarithmic scale - + High quality - VecControlsDialog + lmms::VestigeInstrument - + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + + + + + lmms::gui::StepRecorderWidget + + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + + Paste + + + + + lmms::gui::TrackOperationsWidget + + + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. + + + + + Actions + + + + + + Mute + + + + + + Solo + + + + + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? + + + + + Confirm removal + + + + + Don't ask again + + + + + Clone this track + + + + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors + + + + + lmms::gui::TripleOscillatorView + + + Modulate phase of oscillator 1 by oscillator 2 + + + + + Modulate amplitude of oscillator 1 by oscillator 2 + + + + + Mix output of oscillators 1 & 2 + + + + + Synchronize oscillator 1 with oscillator 2 + + + + + Modulate frequency of oscillator 1 by oscillator 2 + + + + + Modulate phase of oscillator 2 by oscillator 3 + + + + + Modulate amplitude of oscillator 2 by oscillator 3 + + + + + Mix output of oscillators 2 & 3 + + + + + Synchronize oscillator 2 with oscillator 3 + + + + + Modulate frequency of oscillator 2 by oscillator 3 + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + + cents + + + + + Osc %1 fine detuning right: + + + + + Osc %1 phase-offset: + + + + + + degrees + + + + + Osc %1 stereo phase-detuning: + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog-like saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined wave + + + + + Use alias-free wavetable oscillators. + + + + + lmms::gui::VecControlsDialog + + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13720,2618 +17974,782 @@ Verzeker u ervan dat u leesrechten heeft voor het bestand en zijn bevattende map - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Versienummer verhogen - + lmms::gui::VersionedSaveDialog + Increment version number + + + + Decrement version number - Versienummer verlagen + - + Save Options - Opties voor opslaan + - + already exists. Do you want to replace it? - bestaat reeds. Wilt u het vervangen? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - VST-plugin openen + - + Control VST plugin from LMMS host - VST-plugin vanuit LMMS-host bedienen + - + Open VST plugin preset - VST-plugin-preset openen + - + Previous (-) - Vorige (-) + - + Save preset - Preset opslaan + - + Next (+) - Volgende (+) + - + Show/hide GUI - GUI weergeven/verbergen + - + Turn off all notes - Alle noten uitschakelen + - + DLL-files (*.dll) - DLL-bestanden (*.dll) + - + EXE-files (*.exe) - EXE-bestanden (*.exe) + + + + + SO-files (*.so) + + + + + No VST plugin loaded + - No VST plugin loaded - Geen VST-plugin geladen + Preset + - Preset - Preset - - - by - door + - + - VST plugin control - - VST-pluginbediening + - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + + + + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + Show/hide - Weergeven/verbergen + - + Control VST plugin from LMMS host - VST-plugin vanuit LMMS-host bedienen + - + Open VST plugin preset - VST-plugin-preset openen + - + Previous (-) - Vorige (-) + - + Next (+) - Volgende (+) + - + Save preset - Preset opslaan + - - + + Effect by: - Effect door: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VST-plugin %1 kon niet geladen worden. + + + + + Volume + - - Open Preset - Preset openen - - - - - Vst Plugin Preset (*.fxp *.fxb) - Vst-plugin preset (*.fxp *.fxb) - - - - : default - : standaard - - - - Save Preset - Preset opslaan - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Plugin laden - - - - Please wait while loading VST plugin... - Even geduld, VST-plugin wordt geladen... - - - - WatsynInstrument - - - Volume A1 - Volume A1 - - - - Volume A2 - Volume A2 - - - - Volume B1 - Volume B1 - - - - Volume B2 - Volume B2 - - - - Panning A1 - Balans A1 - - - - Panning A2 - Balans A2 - - - - Panning B1 - Balans B1 - - - - Panning B2 - Balans B2 - - - - Freq. multiplier A1 - Frequentieverm. A1 - - - - Freq. multiplier A2 - Frequentieverm. A2 - - - - Freq. multiplier B1 - Frequentieverm. B1 - - - - Freq. multiplier B2 - Frequentieverm. B2 - - - - Left detune A1 - Links ontstemmen A1 - - - - Left detune A2 - Links ontstemmen A2 - - - - Left detune B1 - Links ontstemmen B1 - - - - Left detune B2 - Links ontstemmen B2 - - - - Right detune A1 - Rechts ontstemmen A1 - - - - Right detune A2 - Rechts ontstemmen A2 - - - - Right detune B1 - Rechts ontstemmen B1 - - - - Right detune B2 - Rechts ontstemmen B2 - - - - A-B Mix - A-B mix - - - - A-B Mix envelope amount - A-B mix hoeveelheid envelope - - - - A-B Mix envelope attack - A-B mix envelope attack - - - - A-B Mix envelope hold - A-B mix envelope hold - - - - A-B Mix envelope decay - A-B mix envelope decay - - - - A1-B2 Crosstalk - A1-B2 overspraak - - - - A2-A1 modulation - A2-A1 modulatie - - - - B2-B1 modulation - B2-B1 modulatie - - - - Selected graph - Geselecteerde grafiek - - - - WatsynView - + + - - - Volume - Volume + Panning + + + - - - Panning - Balans + Freq. multiplier + + + - - - Freq. multiplier - Freq. vermenigvuldiger - - - - - - Left detune - Links ontstemmen + + + + + + + - - - - - - cents - cent + + + + + + + + Right detune + + + + + A-B Mix + - - - - Right detune - Rechts ontstemmen - - - - A-B Mix - A-B mix - - - Mix envelope amount - Mix hoeveelheid envelope + - + Mix envelope attack - Mix envelope attack + - + Mix envelope hold - Mix envelope hold + - + Mix envelope decay - Mix envelope decay + - + Crosstalk - Overspraak + - + Select oscillator A1 - Oscillator A1 selecteren + - + Select oscillator A2 - Oscillator A2 selecteren + - + Select oscillator B1 - Oscillator B1 selecteren + - + Select oscillator B2 - Oscillator B2 selecteren + - + Mix output of A2 to A1 - Uitvoer van A2 naar A1 mixen + - + Modulate amplitude of A1 by output of A2 - Amplitude van A1 moduleren met uitvoer van A2 + - + Ring modulate A1 and A2 - A1 en A2 ring-moduleren + - + Modulate phase of A1 by output of A2 - Fase van A1 moduleren met uitvoer van A2 + - + Mix output of B2 to B1 - Uitvoer van B2 naar B1 mixen + - + Modulate amplitude of B1 by output of B2 - Amplitude van B1 moduleren met uitvoer van B2 + - + Ring modulate B1 and B2 - B1 en B2 ring-moduleren + - + Modulate phase of B1 by output of B2 - Fase van B1 moduleren met uitvoer van B2 + - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Teken uw eigen golfvorm hier door uw muis op deze grafiek te slepen. + - + Load waveform - Golfvorm laden + - + Load a waveform from a sample file - Een golfvorm van een sample-bestand laden + - + Phase left - Fase links + - + Shift phase by -15 degrees - Fase met -15 graden verschuiven + - + Phase right - Fase rechts + - + Shift phase by +15 degrees - Fase met +15 graden verschuiven + + + + + + Normalize + - Normalize - Normaliseren - - - - Invert - Inverteren + - - + + Smooth - Glad + - - + + Sine wave - Sinusgolf + - - - + + + Triangle wave - Driehoeksgolf + - + Saw wave - Zaagtandgolf + - - + + Square wave - Blokgolf + - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - Geselecteerde grafiek - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - W1 afvlakken - - - - W2 smoothing - W2 afvlakken - - - - W3 smoothing - W3 afvlakken - - - - Panning 1 - Balans 1 - - - - Panning 2 - Balans 2 - - - - Rel trans - Rel overgang - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - Teken uw eigen golfvorm hier door uw muis op deze grafiek te slepen. - - - - Select oscillator W1 - Oscillator W1 selecteren - - - - Select oscillator W2 - Oscillator W2 selecteren - - - - Select oscillator W3 - Oscillator W3 selecteren - - - - Select output O1 - Selecteer uitvoer O1 - - - - Select output O2 - Selecteer uitvoer O2 - - - - Open help window - Help-venster openen - - - - - Sine wave - Sinusgolf - - - - - Moog-saw wave - Moog-zaagtandgolf - - - - - Exponential wave - Exponentiële golf - - - - - Saw wave - Zaagtandgolf - - - - - User-defined wave - Aangepaste golf - - - - - Triangle wave - Driehoeksgolf - - - - - Square wave - Blokgolf - - - - - White noise - Witte ruis - - - - WaveInterpolate - GolfInterpoleren - - - - ExpressionValid - ExpressieGeldig - - - - General purpose 1: - Algemeen doel 1: - - - - General purpose 2: - Algemeen doel 2: - - - - General purpose 3: - Algemeen doel 3: - - - - O1 panning: - Balans O1: - - - - O2 panning: - Balans O2: - - - - Release transition: - Release-overgang: - - - - Smoothness - Gladheid - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - Filter-frequentie - - - - Filter resonance - Filter-resonantie - - - - Bandwidth - Bandbreedte - - - - FM gain - FM-versterking - - - - Resonance center frequency - Resonantie centerfrequentie - - - - Resonance bandwidth - Resonantie bandbreedte - - - - Forward MIDI control change events - MIDI control change events doorsturen - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - POORT - - - - Filter frequency: - Filter-frequentie: - - - - FREQ - FREQ - - - - Filter resonance: - Filter-resonantie: - - - - RES - RES - - - - Bandwidth: - Bandbreedte: - - - - BW - BW - - - - FM gain: - FM-versterking: - - - - FM GAIN - FM GAIN - - - - Resonance center frequency: - Resonantie centerfrequentie: - - - - RES CF - RES CF - - - - Resonance bandwidth: - Resonantie bandbreedte: - - - - RES BW - RES BW - - - - Forward MIDI control changes - MIDI control changes doorsturen - - - - Show GUI - GUI weergeven - - - - AudioFileProcessor - - - Amplify - Versterken - - - - Start of sample - Begin van sample - - - - End of sample - Einde van sample - - - - Loopback point - Herhaalpunt - - - - Reverse sample - Sample omdraaien - - - - Loop mode - Herhaalmodus - - - - Stutter - Stutter - - - - Interpolation mode - Interpolatiemodus - - - - None - Geen - - - - Linear - Lineair - - - - Sinc - Sinc - - - - Sample not found: %1 - Sample niet gevonden: %1 - - - - BitInvader - - - Sample length - Sample-lengte: - - - - BitInvaderView - - - Sample length - Sample-lengte: - - - - Draw your own waveform here by dragging your mouse on this graph. - Teken uw eigen golfvorm hier door uw muis op deze grafiek te slepen. - - - - - Sine wave - Sinusgolf - - - - - Triangle wave - Driehoeksgolf - - - - - Saw wave - Zaagtandgolf - - - - - Square wave - Blokgolf - - - - - White noise - Witte ruis - - - - - User-defined wave - Aangepaste golf - - - - - Smooth waveform - Golfvorm zacht maken - - - - Interpolation - Interpolatie - - - - Normalize - Normaliseren - - - - DynProcControlDialog - - + INPUT - INVOER + - + Input gain: - Invoer-gain: + - + OUTPUT - UITVOER - - - - Output gain: - Uitvoer-gain: - - - - ATTACK - ATTACK - - - - Peak attack time: - Piek-attack-tijd: - - - - RELEASE - RELEASE - - - - Peak release time: - Piek-release-tijd: - - - - - Reset wavegraph - Golfvorm herstellen - - - - - Smooth wavegraph - Golfvorm zacht maken - - - - - Increase wavegraph amplitude by 1 dB - Golfgrafiek-amplitude verhogen met 1 dB - - - - - Decrease wavegraph amplitude by 1 dB - Golfgrafiek-amplitude verlagen met 1 dB - - - - Stereo mode: maximum - Stereomodus: maximum - - - - Process based on the maximum of both stereo channels - Verwerking gebaseerd op het maximum van beide stereokanalen - - - - Stereo mode: average - Stereomodus: gemiddeld - - - - Process based on the average of both stereo channels - Verwerking gebaseerd op het gemiddelde van beide stereokanalen - - - - Stereo mode: unlinked - Stereomodus: niet-gekoppeld - - - - Process each stereo channel independently - Elk stereokanaal onafhankelijk verwerken - - - - DynProcControls - - - Input gain - Invoer-gain - - - - Output gain - Uitvoer-gain - - - - Attack time - Attack-tijd - - - - Release time - Release-tijd - - - - Stereo mode - Stereomodus - - - - graphModel - - - Graph - Grafiek - - - - KickerInstrument - - - Start frequency - Beginfrequentie - - - - End frequency - Eindfrequentie - - - - Length - Lengte - - - - Start distortion - Beginvervorming - - - - End distortion - Eindvervorming - - - - Gain - Gain - - - - Envelope slope - Envelope-helling - - - - Noise - Ruis - - - - Click - Klik - - - - Frequency slope - Frequentie-helling - - - - Start from note - Starten vanaf noot - - - - End to note - Stoppen naar noot - - - - KickerInstrumentView - - - Start frequency: - Beginfrequentie: - - - - End frequency: - Eindfrequentie: - - - - Frequency slope: - Frequentie-helling: - - - - Gain: - Gain: - - - - Envelope length: - Envelope-lengte: - - - - Envelope slope: - Envelope-helling: - - - - Click: - Klik: - - - - Noise: - Ruis: - - - - Start distortion: - Beginvervorming: - - - - End distortion: - Eindvervorming: - - - - LadspaBrowserView - - - - Available Effects - Beschikbare effecten - - - - - Unavailable Effects - Niet-beschikbare effecten - - - - - Instruments - Instrumenten - - - - - Analysis Tools - Analysegereedschappen - - - - - Don't know - Onbekend - - - - Type: - Soort: - - - - LadspaDescription - - - Plugins - Plugins - - - - Description - Beschrijving - - - - LadspaPortDialog - - - Ports - Poorten - - - - Name - Naam - - - - Rate - Ratio - - - - Direction - Richting - - - - Type - Type - - - - Min < Default < Max - Min < standaard < max - - - - Logarithmic - Logaritmisch - - - - SR Dependent - SR-afhankelijk - - - - Audio - Audio - - - - Control - Bediening - - - - Input - Invoer - - - - Output - Uitvoer - - - - Toggled - Gewisseld - - - - Integer - Integer - - - - Float - Float - - - - - Yes - Ja - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF cutoff-frequentie - - - - VCF Resonance - VCF resonantie - - - - VCF Envelope Mod - VCF envelope-mod - - - - VCF Envelope Decay - VCF envelope-decay - - - - Distortion - Vervorming - - - - Waveform - Golfvorm - - - - Slide Decay - Slide-decay - - - - Slide - Slide - - - - Accent - Accent - - - - Dead - Dead - - - - 24dB/oct Filter - 24dB/oct-filter - - - - Lb302SynthView - - - Cutoff Freq: - Cutoff-freq: - - - - Resonance: - Resonantie: - - - - Env Mod: - Env-mod: - - - - Decay: - Decay: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-es-que, 24dB/octave, 3 pole filter - - - - Slide Decay: - Slide-decay: - - - - DIST: - DIST: - - - - Saw wave - Zaagtandgolf - - - - Click here for a saw-wave. - Klik hier voor een zaagtandgolf. - - - - Triangle wave - Driehoeksgolf - - - - Click here for a triangle-wave. - Klik hier voor een driehoeksgolf. - - - - Square wave - Blokgolf - - - - Click here for a square-wave. - Klik hier voor een blokgolf. - - - - Rounded square wave - Afgeronde blokgolf - - - - Click here for a square-wave with a rounded end. - Klik hier voor een blokgolf met afgerond einde. - - - - Moog wave - Moog-golf - - - - Click here for a moog-like wave. - Klik hier voor een moog-achtige golf. - - - - Sine wave - Sinusgolf - - - - Click for a sine-wave. - Klikken voor sinusgolf. - - - - - White noise wave - Witte-ruisgolf - - - - Click here for an exponential wave. - Klik hier voor een exponentiële golf. - - - - Click here for white-noise. - Klik hier voor witte ruis. - - - - Bandlimited saw wave - Bandgelimiteerde zaagtandgolf - - - - Click here for bandlimited saw wave. - Klik hier voor een bandgelimiteerde zaagtandgolf. - - - - Bandlimited square wave - Bandgelimiteerde blokgolf - - - - Click here for bandlimited square wave. - Klik hier voor een bandgelimiteerde blokgolf. - - - - Bandlimited triangle wave - Bandgelimiteerde driehoeksgolf - - - - Click here for bandlimited triangle wave. - Klik hier voor een bandgelimiteerde driehoeksgolf. - - - - Bandlimited moog saw wave - Bandgelimiteerde moog-zaagtandgolf - - - - Click here for bandlimited moog saw wave. - Klik hier voor een bandgelimiteerde moog-zaagtandgolf. - - - - MalletsInstrument - - - Hardness - Hardheid - - - - Position - Positie - - - - Vibrato gain - Vibrato-gain - - - - Vibrato frequency - Vibrato-frequentie - - - - Stick mix - Stick-mix - - - - Modulator - Modulator - - - - Crossfade - Crossfade - - - - LFO speed - LFO-snelheid - - - - LFO depth - LFO-diepte - - - - ADSR - ADSR - - - - Pressure - Druk - - - - Motion - Beweging - - - - Speed - Snelheid - - - - Bowed - Gebogen - - - - Spread - Spreiding - - - - Marimba - Marimba - - - - Vibraphone - Vibraphone - - - - Agogo - Agogo - - - - Wood 1 - Hout 1 - - - - Reso - Reso - - - - Wood 2 - Hout 2 - - - - Beats - Beats - - - - Two fixed - Two Fixed - - - - Clump - Clump - - - - Tubular bells - Tubular bells - - - - Uniform bar - Uniforme balk - - - - Tuned bar - Gestemde balk - - - - Glass - Glas - - - - Tibetan bowl - Tibetaanse kom - - - - MalletsInstrumentView - - - Instrument - Instrument - - - - Spread - Spreiding - - - - Spread: - Spreiding: - - - - Missing files - Ontbrekende bestanden - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Uw Stk-installatie lijkt onvolledig te zijn. Verzeker u ervan dat het volledige Stk-pakket geïnstalleerd is - - - - Hardness - Hardheid - - - - Hardness: - Hardheid: - - - - Position - Positie - - - - Position: - Positie: - - - - Vibrato gain - Vibrato-gain - - - - Vibrato gain: - Vibrato-gain: - - - - Vibrato frequency - Vibrato-frequentie - - - - Vibrato frequency: - Vibrato-frequentie: - - - - Stick mix - Stick-mix - - - - Stick mix: - Stick-mix: - - - - Modulator - Modulator - - - - Modulator: - Modulator: - - - - Crossfade - Crossfade - - - - Crossfade: - Crossfade: - - - - LFO speed - LFO-snelheid - - - - LFO speed: - LFO-snelheid: - - - - LFO depth - LFO-diepte - - - - LFO depth: - LFO-diepte: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Druk - - - - Pressure: - Druk: - - - - Speed - Snelheid - - - - Speed: - Snelheid: - - - - ManageVSTEffectView - - - - VST parameter control - - VST parameterbediening - - - - VST sync - VST sync - - - - - Automated - Geautomatiseerd - - - - Close - Sluiten - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST-pluginbediening - - - - VST Sync - VST sync - - - - - Automated - Geautomatiseerd - - - - Close - Sluiten - - - - OrganicInstrument - - - Distortion - Vervorming - - - - Volume - Volume - - - - OrganicInstrumentView - - - Distortion: - Vervorming: - - - - Volume: - Volume: - - - - Randomise - Willekeuring maken - - - - - Osc %1 waveform: - Osc %1 golfvorm: - - - - Osc %1 volume: - Osc %1 volume: - - - - Osc %1 panning: - Balans osc %1: - - - - Osc %1 stereo detuning - Osc %1 stereo-ontstemming - - - - cents - cent - - - - Osc %1 harmonic: - Osc %1 harmonisch: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: kanaal-preset - - - - Bank selector - Bank-selector - - - - Bank - Bank - - - - Program selector - Program-selector - - - - Patch - Patch - - - - Name - Naam - - - - OK - Ok - - - - Cancel - Annuleren - - - - Sf2Instrument - - - Bank - Bank - - - - Patch - Patch - - - - Gain - Gain - - - - Reverb - Reverb - - - - Reverb room size - Reverb kamergrootte - - - - Reverb damping - Reverb demping - - - - Reverb width - Reverb-breedte - - - - Reverb level - Reverb niveau - - - - Chorus - Chorus - - - - Chorus voices - Chorus stemmen - - - - Chorus level - Chorus niveau - - - - Chorus speed - Chorus snelheid - - - - Chorus depth - Chorus diepte - - - - A soundfont %1 could not be loaded. - Een soundfont &1 kon niet geladen worden. - - - - Sf2InstrumentView - - - - Open SoundFont file - SoundFont-bestand openen - - - - Choose patch - Patch kiezen - - - - Gain: - Gain: - - - - Apply reverb (if supported) - Reverb toepassen (indien ondersteund) - - - - Room size: - Kamergrootte: - - - - Damping: - Demping: - - - - Width: - Breedte: - - - - - Level: - Niveau: - - - - Apply chorus (if supported) - Chorus toepassen (indien ondersteund) - - - - Voices: - Stemmen: - - - - Speed: - Snelheid: - - - - Depth: - Diepte: - - - - SoundFont Files (*.sf2 *.sf3) - SoundFont-bestanden (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Golf - - - - StereoEnhancerControlDialog - - - WIDTH - BREEDTE - - - - Width: - Breedte: - - - - StereoEnhancerControls - - - Width - Breedte - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Links naar links vol: - - - - Left to Right Vol: - Links naar rechts vol: - - - - Right to Left Vol: - Rechts naar links vol: - - - - Right to Right Vol: - Rechts naar rechts vol: - - - - StereoMatrixControls - - - Left to Left - Links naar links - - - - Left to Right - Links naar rechts - - - - Right to Left - Rechts naar links - - - - Right to Right - Rechts naar rechts - - - - VestigeInstrument - - - Loading plugin - Plugin laden - - - - Please wait while loading the VST plugin... - Even geduld, de VST-plugin wordt geladen... - - - - Vibed - - - String %1 volume - Snaar %1 volume - - - - String %1 stiffness - Snaar %1 hardheid - - - - Pick %1 position - Aanslag %1 positie - - - - Pickup %1 position - Pickup %1 positie - - - - String %1 panning - String %1 balans - - - - String %1 detune - String %1 ontstemmen - - - - String %1 fuzziness - String %1 zachtheid - - - - String %1 length - String %1 lengte - - - - Impulse %1 - Impuls %1 - - - - String %1 - String %1 - - - - VibedView - - - String volume: - String volume: - - - - String stiffness: - Hardheid snaar: - - - - Pick position: - Aanslagpositie: - - - - Pickup position: - Pickup-positie: - - - - String panning: - String balans: - - - - String detune: - String ontstemmen: - - - - String fuzziness: - String zachtheid: - - - - String length: - String lengte: - - - - Impulse - Impuls - - - - Octave - Octaaf - - - - Impulse Editor - Impuls-editor - - - - Enable waveform - Golfvorm activeren - - - - Enable/disable string - String in-/uitschakelen - - - - String - Snaar - - - - - Sine wave - Sinusgolf - - - - - Triangle wave - Driehoeksgolf - - - - - Saw wave - Zaagtandgolf - - - - - Square wave - Blokgolf - - - - - White noise - Witte ruis - - - - - User-defined wave - Aangepaste golf - - - - - Smooth waveform - Golfvorm zacht maken - - - - - Normalize waveform - Golfvorm normaliseren - - - - VoiceObject - - - Voice %1 pulse width - Stem %1 pulsbreedte - - - - Voice %1 attack - Stem %1 attack - - - - Voice %1 decay - Stem %1 decay - - - - Voice %1 sustain - Stem %1 sustain - - - - Voice %1 release - Stem %1 release - - - - Voice %1 coarse detuning - Stem %1 grof ontstemmen - - - - Voice %1 wave shape - Stem %1 golfvorm - - - - Voice %1 sync - Stem %1 sync - - - - Voice %1 ring modulate - Stem %1 ring-modulatie - - - - Voice %1 filtered - Stem %1 gefilterd - - - - Voice %1 test - Stem %1 test - - - - WaveShaperControlDialog - - - INPUT - INVOER - - - - Input gain: - Invoer-gain: - - - - OUTPUT - UITVOER - - - - Output gain: - Uitvoer-gain: + - - Reset wavegraph - Golfvorm herstellen + Output gain: + + - - Smooth wavegraph - Golfvorm zacht maken + Reset wavegraph + + - - Increase wavegraph amplitude by 1 dB - Golfgrafiek-amplitude verhogen met 1 dB + Smooth wavegraph + + - + Increase wavegraph amplitude by 1 dB + + + + + Decrease wavegraph amplitude by 1 dB - Golfgrafiek-amplitude verlagen met 1 dB + - + Clip input - Invoer clippen + - + Clip input signal to 0 dB - Invoersignaal clippen naar 0 dB + - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Invoer-gain + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Uitvoer-gain + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/pl.ts b/data/locale/pl.ts index 3a12f0815..e38165424 100644 --- a/data/locale/pl.ts +++ b/data/locale/pl.ts @@ -1,10 +1,10 @@ - + AboutDialog About LMMS - O programie LMMS + O LMMS @@ -49,7 +49,7 @@ Contributors ordered by number of commits: - Twórcy programu posortowani podług aktywności: + Twórcy programu posortowani według aktywności: @@ -60,12 +60,14 @@ Current language not translated (or native English). If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! - Autorzy tłumaczenia: + Oryginalne tłumaczenie LMMS: Kacper Pawinski -Lucas Grzesik +Lucas Grzesik Marcin Mikołajczak Outer_Mind -Radek Słowik +Radek Słowik +Nowe tłumaczenie LMMS: +Grzegorz „Gootector” Pruchniakowski @@ -74,811 +76,49 @@ Radek Słowik - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL + + About JUCE + O JUCE - - Volume: - Głośność: + + <b>About JUCE</b> + <b>O JUCE</b> - - PAN - PAN + + This program uses JUCE version 3.x.x. + Ten program używa wersji JUCE 3.x.x. - - Panning: - Panoramowanie: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + JUCE jest otwartym, wieloplatformowym frameworkiem aplikacji C++ do tworzenia wysokiej jakości aplikacji desktopowych i mobilnych. + +Główne moduły JUCE (juce_audio_basics, juce_audio_devices, juce_core i juce_events) są objęte licencją dopuszczającą na warunkach licencji ISC. +Pozostałe moduły są objęte licencją GNU GPL 3.0. + +Prawa autorskie (C) 2022 Raw Material Software Limited. - - LEFT - LEWO - - - - Left gain: - L wzm: - - - - RIGHT - PRAWO - - - - Right gain: - P wzm: + + This program uses JUCE version + Ten program używa wersji JUCE - AmplifierControls + AudioDeviceSetupWidget - - Volume - Głośność - - - - Panning - Panoramowanie - - - - Left gain - L wzm: - - - - Right gain - P wzm: - - - - AudioAlsaSetupWidget - - - DEVICE - URZĄDZENIE - - - - CHANNELS - KANAŁY - - - - AudioFileProcessorView - - - Open sample - Otwórz próbkę - - - - Reverse sample - Odwróć próbkę - - - - Disable loop - Wyłącz zapętlanie - - - - Enable loop - Włącz zapętlanie - - - - Enable ping-pong loop - Włącz pętlę typu "ping-pong" - - - - Continue sample playback across notes - Kontunuuj odtwarzanie sampla w następnych nutach - - - - Amplify: - Wzmocnienie: - - - - Start point: - Punkt startu: - - - - End point: - Punkt końca: - - - - Loopback point: - Znacznik zapętlenia: - - - - AudioFileProcessorWaveView - - - Sample length: - Długość próbki: - - - - AudioJack - - - JACK client restarted - Klient JACK zrestartowany - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS został odrzucony przez JACK z jakiegoś powodu. Back-end LMMSa został zrestartowany więc możesz ponownie dokonać ręcznych połączeń. - - - - JACK server down - Serwer JACK wyłączony - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Wydaje się, że serwer JACK został wyłączony i uruchomienie nowej instancji nie powiodło się więc LMMS nie może kontynuować pracy. Należy zapisać projekt i uruchomić serwer JACK i LMMSa ponownie. - - - - Client name - Nazwa klienta - - - - Channels - Kanały - - - - AudioOss - - - Device - Urządzenie - - - - Channels - Kanały - - - - AudioPortAudio::setupWidget - - - Backend - Backend - - - - Device - Urządzenie - - - - AudioPulseAudio - - - Device - Urządzenie - - - - Channels - Kanały - - - - AudioSdl::setupWidget - - - Device - Urządzenie - - - - AudioSndio - - - Device - Urządzenie - - - - Channels - Kanały - - - - AudioSoundIo::setupWidget - - - Backend - Backend - - - - Device - Urządzenie - - - - AutomatableModel - - - &Reset (%1%2) - &Resetuj (%1%2) - - - - &Copy value (%1%2) - &Kopiuj wartość (%1%2) - - - - &Paste value (%1%2) - &Wklej wartość (%1%2) - - - - &Paste value - &Wklej wartość - - - - Edit song-global automation - Edytuj globalną automatykę utworu - - - - Remove song-global automation - Usuń globalną automatykę utworu - - - - Remove all linked controls - Usuń wszystkie podłączone kontrolery - - - - Connected to %1 - Podłączony do %1 - - - - Connected to controller - Podłączony do kontrolera - - - - Edit connection... - Edytuj połączenie... - - - - Remove connection - Usuń połączenie - - - - Connect to controller... - Podłącz do kontrolera... - - - - AutomationEditor - - - Edit Value - Edytuj Wartość - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - Otwórz wzorzec automatyki za pomocą menu kontekstowego regulatora! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Odtwórz/wstrzymaj obecny wzorzec (spacja) - - - - Stop playing of current clip (Space) - Zatrzymaj odtwarzanie obecnego wzorca (spacja) - - - - Edit actions - Edytuj akcje - - - - Draw mode (Shift+D) - Tryb rysowania (Shift+D) - - - - Erase mode (Shift+E) - Tryb wymazywania (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Przerzuć w pionie - - - - Flip horizontally - Przerzuć w poziomie - - - - Interpolation controls - Regulacja interpolacji - - - - Discrete progression - Progresja oddzielna - - - - Linear progression - Progresja linearna - - - - Cubic Hermite progression - Progresja sześcienna Hermite'a - - - - Tension value for spline - Wartość napięcia dla krzywej składanej - - - - Tension: - Napięcie - - - - Zoom controls - Regulacja powiększenia - - - - Horizontal zooming - Powiększenie poziome - - - - Vertical zooming - Powiększenie pionowe - - - - Quantization controls - Regulacja kwantyzacji - - - - Quantization - Kwantyzacja - - - - - Automation Editor - no clip - Edytor automatyki - brak wzorca - - - - - Automation Editor - %1 - Edytor automatyki - %1 - - - - Model is already connected to this clip. - Model jest już podłączony do tego wzorca. - - - - AutomationClip - - - Drag a control while pressing <%1> - Przeciągnij trzymając wciśnięty klawisz <%1> - - - - AutomationClipView - - - Open in Automation editor - Otwórz w Edytorze Automatyki - - - - Clear - Wyczyść - - - - Reset name - Zresetuj nazwę - - - - Change name - Zmień nazwę - - - - Set/clear record - Ustaw/wyczyść nagranie - - - - Flip Vertically (Visible) - Odwróć w pionie (widoczne) - - - - Flip Horizontally (Visible) - Odwróć w poziomie (widoczne) - - - - %1 Connections - %1 Połączenia - - - - Disconnect "%1" - Rozłącz "%1" - - - - Model is already connected to this clip. - Model jest już podłączony do tego wzorca. - - - - AutomationTrack - - - Automation track - Ścieżka automatyki - - - - PatternEditor - - - Beat+Bassline Editor - Pokaż/ukryj Edytor Perkusji i Basu - - - - Play/pause current beat/bassline (Space) - Odtwórz/Pauzuj bieżącą linię perkusyjną/basową (Spacja) - - - - Stop playback of current beat/bassline (Space) - Zatrzymaj odtwarzanie bieżącej linii perkusyjnej/basowej (Spacja) - - - - Beat selector - Selektor linii perkusyjnej - - - - Track and step actions - Akcje dla ścieżki i kroku - - - - Add beat/bassline - Dodaj linię perkusyjną/basową - - - - Clone beat/bassline clip - Klonuj pattern perkusji/basu - - - - Add sample-track - Dodaj próbkę - - - - Add automation-track - Dodaj ścieżkę automatyki - - - - Remove steps - Usuń kroki - - - - Add steps - Dodaj kroki - - - - Clone Steps - Klonuj kroki - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Otwórz w Edytorze Perkusji i Basu - - - - Reset name - Zresetuj nazwę - - - - Change name - Zmień nazwę - - - - PatternTrack - - - Beat/Bassline %1 - Perkusja/Bas %1 - - - - Clone of %1 - Kopia %1 - - - - BassBoosterControlDialog - - - FREQ - FREQ - - - - Frequency: - Częstotliwość: - - - - GAIN - WZMC - - - - Gain: - Wzmocnienie: - - - - RATIO - WSPÓŁCZYNNIK - - - - Ratio: - Współczynnik: - - - - BassBoosterControls - - - Frequency - Częstotliwość - - - - Gain - Wzmocnienie - - - - Ratio - Współczynnik - - - - BitcrushControlDialog - - - IN - WEJŚCIE - - - - OUT - WYJŚCIE - - - - - GAIN - WZMC - - - - Input gain: - Wzmocnienie wejścia: - - - - NOISE - SZUM - - - - Input noise: - Szum wejściowy: - - - - Output gain: - Wzmocnienie wyjścia: - - - - CLIP - OBCIĘCIE - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - Głębia włączona - - - - Enable bit-depth crushing - - - - - FREQ - FREQ - - - - Sample rate: - Częstotliwość próbkowania - - - - STEREO - STEREO - - - - Stereo difference: - Różnica stereo - - - - QUANT - KWANT - - - - Levels: - Poziomy: - - - - BitcrushControls - - - Input gain - Wzmocnienie wejścia - - - - Input noise - Szum wejściowy - - - - Output gain - Wzmocnienie wyścia - - - - Output clip - - - - - Sample rate - Częstotliwość próbkowania - - - - Stereo difference - - - - - Levels - Poziomy - - - - Rate enabled - - - - - Depth enabled - Głębia włączona + + [System Default] + [Ustawienia domyślne systemu] @@ -896,132 +136,132 @@ Radek Słowik About text here - + Tekst opisowy Extended licensing here - Rozszerzona licencja dostępna jest tu. + Rozszerzona licencja dostępna jest tutaj - + Artwork Grafika - + Using KDE Oxygen icon set, designed by Oxygen Team. - Używa ikon KDE Oxygen, stworzonych przez Oxygen Team. + Używa ikon KDE Oxygen stworzonych przez Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - Zawiera elementy gałek, teł i innych małych rzeczy z Calf Studio Gear, Open AV i projektu OpenOctave. + Zawiera elementy pokręteł, teł i inne małe grafiki z projektów Calf Studio Gear, OpenAV i OpenOctave. - + VST is a trademark of Steinberg Media Technologies GmbH. - VST to znak towarowy Steinberg Media Technologies GmBH. + VST jest znakiem towarowym Steinberg Media Technologies GmBH. - + Special thanks to António Saraiva for a few extra icons and artwork! Specialne podziękowania dla António Saraiva za dodatkowe ikony i grafiki. - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - Logo LV2 zostało zaprojektowane przez Thorstena Wilmsa, na podstawie koncepcji Petera Shorthose. + Logo LV2 zostało zaprojektowane przez Thorstena Wilmsa na podstawie koncepcji Petera Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. Klawiatura MIDI zaprojektowana przez Thorstena Wilmsa. - + Carla, Carla-Control and Patchbay icons designed by DoosC. Ikony Carla, Carla-Control i Patchbay zostały zaprojektowane przez DoosC. - + Features Funkcje - + AU/AudioUnit: - + AU/AudioUnit: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel - + EtykietaTekstowa - + VST2: VST2: - + DSSI: DSSI: - + LV2: LV2: - + VST3: VST3: - + OSC OSC - + Host URLs: - + URL hostów: - + Valid commands: - + Prawidłowe polecenia: - + valid osc commands here - + prawidłowe polecenia osc tutaj - + Example: Przykład: - + License Licencja - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1586,52 +826,52 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Wersja mostka OSC - + Plugin Version - Wersja Wtyczki + Wersja wtyczki - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - <br>Wersja %1<br> Carla jest w pełni funkcjonalnym hostem wtyczek audio%2.<br><br>Copyright (C) 2011-2019 falkTX<br> + <br>Wersja %1<br>Carla jest w pełni funkcjonalnym hostem wtyczek dźwiękowych%2.<br><br>Prawa autorskie (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + (silnik nie jest uruchomiony) - + Everything! (Including LRDF) - Wszystko (Razem z LRDF) + Wszystko! (razem z LRDF) - + Everything! (Including CustomData/Chunks) - + Wszystko! (razem z CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> + O 110&#37; kompletny (z wykorzystaniem rozszerzeń niestandardowych)<br/>Zaimplementowane funkcje/rozszerzenia:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + Wykorzystując host Juce - + About 85% complete (missing vst bank/presets and some minor stuff) - + Ukończono w około 85% (brakuje banku wtyczek VST/presetów i kilku drobnych rzeczy) @@ -1639,12 +879,12 @@ POSSIBILITY OF SUCH DAMAGES. MainWindow - + OknoGłówne Rack - + Rack @@ -1654,7 +894,7 @@ POSSIBILITY OF SUCH DAMAGES. Logs - Logi + Dziennik @@ -1662,559 +902,598 @@ POSSIBILITY OF SUCH DAMAGES. Ładowanie... - + + Save + Zapisz + + + + Clear + Wyczyść + + + + Ctrl+L + Ctrl+L + + + + Auto-Scroll + Autoprzewijanie + + + Buffer Size: - Rozmiar Bufora: + Rozmiar bufora: - + Sample Rate: - Częstotliwość Próbkowania: + Częstotliwość próbkowania: - + ? Xruns ? Xruns - + DSP Load: %p% - + Obciążenie DSP: %p% - + &File &Plik - + &Engine &Silnik - + &Plugin &Wtyczka - + Macros (all plugins) - Makra (wszystkie etyczki) + Makra (wszystkie wtyczki) - + &Canvas - &Canvas + &Płótno - + Zoom - Przybliż + Powiększenie - + &Settings - &Ustawienia + U&stawienia - + &Help &Pomoc - - toolBar - + + Tool Bar + Pasek narzędzi - + Disk Dysk - - + + Home - Strona domowa + Strona główna - + Transport - + Transport - + Playback Controls - + Sterowanie odtwarzaniem - + Time Information - + Informacje o czasie - + Frame: - Klatka: + Ramka: - + 000'000'000 000'000'000 - + Time: Czas: - + 00:00:00 00:00:00 - + BBT: BBT: - + 000|00|0000 000|00|0000 - + Settings Ustawienia - + BPM BPM - + Use JACK Transport - + Użyj JACK transport - + Use Ableton Link - + Użyj Ableton Link - + &New &Nowy - + Ctrl+N Ctrl+N - + &Open... &Otwórz... - - + + Open... Otwórz... - + Ctrl+O Ctrl+O - + &Save - &Zapisz + Zapi&sz - + Ctrl+S Ctrl+S - + Save &As... - Zapisz &Jako... + Z&apisz jako... - - + + Save As... - Zapisz Jako... + Zapisz jako... - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit - &Zakończ + Za&kończ - + Ctrl+Q Ctrl+Q - + &Start - &Start + &Uruchom - + F5 F5 - + St&op - St&op + &Zatrzymaj - + F6 F6 - + &Add Plugin... - &Dodaj Wtyczkę + Dod&aj wtyczkę... - + Ctrl+A Ctrl+A - + &Remove All - &Usuń Wszystko + &Usuń wszystko - + Enable Włącz - + Disable Wyłącz - + 0% Wet (Bypass) - + 0% mokry (pomiń) - + 100% Wet - + 100% mokry - + 0% Volume (Mute) - 0% Głośności (Wyciszone) + 0% głośności (wyciszone) - + 100% Volume - 100% Głośności + 100% głośności - + Center Balance - + Równowaga środkowa - + &Play - &Odtwórz + &Odtwarzaj - + Ctrl+Shift+P Ctrl+Shift+P - + &Stop &Zatrzymaj - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards &Wstecz - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards - &Na przód + &Dalej - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange &Aranżuj - + Ctrl+G Ctrl+G - - + + &Refresh &Odśwież - + Ctrl+R Ctrl+R - + Save &Image... - Zapisz &Obraz + Zap&isz obraz... - + Auto-Fit - + Autodopasowanie - + Zoom In - Przybliż + Powiększ - + Ctrl++ Ctrl++ - + Zoom Out - Oddal + Pomniejsz - + Ctrl+- Ctrl+- - + Zoom 100% - 100% Przybliżenia + 100% powiększenia - + Ctrl+1 Ctrl+1 - + Show &Toolbar - Pokaż &Pasek Narzędzi + &Pokaż pasek narzędzi - + &Configure Carla - + Konfiguruj &Carla - + &About - %O programie + O progr&amie - + About &JUCE O &JUCE - + About &Qt O &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Pokaż wewnętrzne - + Show External - + Pokaż zewnętrzne - + Show Time Panel - + Pokaż panel czasu - + Show &Side Panel - + Pokaż panel &boczny - + + Ctrl+P + Ctrl+P + + + &Connect... - %Połącz + Połą&cz... - + Compact Slots - + Zwiń sloty - + Expand Slots - + Rozwiń sloty - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - Dodaj &Aplikację JACK + Doda&j aplikację JACK... - + &Configure driver... &Konfiguruj sterownik... - + Panic - + Panika - + Open custom driver panel... - + Otwórz niestandardowy panel sterownika... + + + + Save Image... (2x zoom) + Zapisz obraz... (2x powiększenie) + + + + Save Image... (4x zoom) + Zapisz obraz... (4x powiększenie) + + + + Copy as Image to Clipboard + Kopiuj jako obraz do schowka + + + + Ctrl+Shift+C + Ctrl+Shift+C CarlaHostWindow - + Export as... Eksportuj jako... - - - - + + + + Error - BłądBłą + Błąd - + Failed to load project Nie udało się załadować projektu - + Failed to save project Nie udało się zapisać projektu - + Quit - Wyjdź + Zakończ - + Are you sure you want to quit Carla? - + Na pewno chcesz opuścić Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Nie można połączyć się z backendem dźwięku „%1”. Możliwy powód: +%2 - + Could not connect to Audio backend '%1' - + Nie można połączyć się z backendem dźwięku „%1” - + Warning Ostrzeżenie - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - - - - CarlaInstrumentView - - - Show GUI - Pokaż GUI + Niektóre wtyczki są nadal załadowane i należy je usunąć, aby zatrzymać działanie silnika. +Chcesz to zrobić teraz? @@ -2227,12 +1506,12 @@ Do you want to do this now? main - + główne canvas - canvas + płótno @@ -2247,12 +1526,12 @@ Do you want to do this now? file-paths - + ścieżki-plików plugin-paths - + ścieżki-wtyczek @@ -2262,40 +1541,40 @@ Do you want to do this now? experimental - + eksperymentalne Widget - + Widżet - + Main - + Główne - + Canvas - Canvas + Płótno - + Engine Silnik File Paths - + Ścieżki plików Plugin Paths - Ścieżki Wtyczek + Ścieżki wtyczek @@ -2304,1496 +1583,601 @@ Do you want to do this now? - + Experimental Eksperymentalne - + <b>Main</b> <b>Główne</b> - + Paths Ścieżki - + Default project folder: Domyślny folder projektu: - + Interface Interfejs - - Interface refresh interval: - + + Use "Classic" as default rack skin + Użyj „Klasycznego” jako domyślnego skina racka - - + + Interface refresh interval: + Interwał odświeżania interfejsu: + + + + ms ms - + Show console output in Logs tab (needs engine restart) - + Pokaż wyjście konsoli w zakładce logów (wymaga ponownego uruchomienia silnika) - + Show a confirmation dialog before quitting - + Wyświetl okno dialogowe przed opuszczeniem programu - - + + Theme Motyw - + Use Carla "PRO" theme (needs restart) - + Użyj motywu Carla „PRO” (wymaga ponownego uruchomienia) - + Color scheme: Schemat kolorów: - + Black Czarny - + System - Systemowe + Systemowy - + Enable experimental features - Włącz eksperymentalne funkcje + Włącz funkcje eksperymentalne - + <b>Canvas</b> - <b>Canvas</b> + <b>Płótno</b> - + Bezier Lines Linie Beziera - + Theme: Motyw: - + Size: Rozmiar: - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + 12400x9600 + + + Options Opcje - + Auto-hide groups with no ports - + Autoukrywanie grup bez portów - + Auto-select items on hover - + Autozaznaczanie elementów po najechaniu kursorem - + Basic eye-candy (group shadows) - + Render Hints - + Renderuj podpowiedzi - + Anti-Aliasing Antyaliasing - + Full canvas repaints (slower, but prevents drawing issues) - + Pełne ponowne malowanie płótna (wolniejsze, ale zapobiegające problemom z rysowaniem) - + <b>Engine</b> <b>Silnik</b> - - + + Core Rdzeń - + Single Client - + Pojedynczy klient - + Multiple Clients - + Wielu klientów - - + + Continuous Rack - + Rack ciągły - - + + Patchbay Patchbay - + Audio driver: - Sterownik audio: + Sterownik dźwięku: - + Process mode: - + Tryb przetwarzania: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Maksymalna liczba parametrów dozwolonych w wbudowanym oknie dialogowym „Edycja” - + Max Parameters: - + Maksymalne parametry: - + ... ... - + Reset Xrun counter after project load - + Resetuj licznik Xrun po załadowaniu projektu - + Plugin UIs - UI Wtyczek + Interfejsy użytkownika wtyczek - - + + How much time to wait for OSC GUIs to ping back the host - + Ile czasu należy czekać, aż graficzne interfejsy użytkownika OSC wyślą polecenie ping do hosta - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Użyj mostków OSC graficznego interfejsu użytkownika w miarę możliwości, oddzielając w ten sposób interfejs użytkownika od kodu DSP - + Use UI bridges instead of direct handling when possible - + Użyj mostków interfejsu użytkownika w marę możliwości zamiast obsługi bezpośredniej - + Make plugin UIs always-on-top - + Zrób interfejsy użytkownika wtyczek zawsze widocznymi - + Make plugin UIs appear on top of Carla (needs restart) - + Zrób interfejsy użytkownika wtyczek na górze Carla (wymaga ponownego uruchomienia) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - + Uwaga: Interfejsy użytkownika wtyczki-mostka nie mogą być zarządzane przez Carla w systemie macOS - - + + Restart the engine to load the new settings - Zresetuj silnik aby załadować nowe ustawienia + Uruchom ponownie silnik, aby załadować nowe ustawienia - + <b>OSC</b> <b>OSC</b> - + Enable OSC Włącz OSC - + Enable TCP port Włącz port TCP - - + + Use specific port: - + Użyj określonego portu: - + Overridden by CARLA_OSC_TCP_PORT env var - + Nadpisane przez zmienną CARLA_OSC_TCP_PORT - - + + Use randomly assigned port - + Użyj losowo przypisanego portu - + Enable UDP port Włącz port UDP - + Overridden by CARLA_OSC_UDP_PORT env var - + Nadpisane przez zmienną CARLA_OSC_UDP_PORT - + DSSI UIs require OSC UDP port enabled - + Interfejsy użytkownika DSSI wymagają włączonego portu OSC UDP - + <b>File Paths</b> - <b>Ścieżki do Plików</b> + <b>Ścieżki plików</b> - + Audio - Audio + Dźwięk - + MIDI MIDI - + Used for the "audiofile" plugin - + Używany do wtyczki „audiofile” - + Used for the "midifile" plugin - + Używany do wtyczki „midifile” - - + + Add... Dodaj... - - + + Remove Usuń - - + + Change... Zmień... - + <b>Plugin Paths</b> - <b>Ścieżki do Wtyczek</b> + <b>Ścieżki wtyczek</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - - Restart Carla to find new plugins - + + JSFX + JSFX - + + CLAP + CLAP + + + + Restart Carla to find new plugins + Uruchom ponownie Carla, aby znaleźć nowe wtyczki + + + <b>Wine</b> <b>Wine</b> - + Executable Wykonywalne - + Path to 'wine' binary: - + Ścieżka do pliku binarnego „wine”: - + Prefix - Prefiks + Przedrostek - + Auto-detect Wine prefix based on plugin filename - Automatycznie wykrywaj prefiks Wine na bazie nazwy pliku wtyczki + Autowykrywanie przedrostka Wine w oparciu o nazwę pliku wtyczki - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Priorytet w czasie rzeczywistym - + Base priority: - + Podstawowy priorytet: - + WineServer priority: - + Priorytet WineServer: - + These options are not available for Carla as plugin - + Te opcje nie są dostępne dla Carla jako wtyczki - + <b>Experimental</b> <b>Eksperymentalne</b> - + Experimental options! Likely to be unstable! - + Opcje eksperymentalne! Mogą być niestabilne! - + Enable plugin bridges - + Włącz mostki wtyczek - + Enable Wine bridges - + Włącz mostki Wine - + Enable jack applications - Włącz aplikacje jack + Włącz aplikacje JACK - + Export single plugins to LV2 - + Eksportuj pojedyncze wtyczki do LV2 - + + Use system/desktop-theme icons (needs restart) + Użyj ikon systemowych/motywu pulpitu (wymaga ponownego uruchomienia) + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Załaduj zaplecze Carla w ogólnej przestrzeni nazw (NIEZALECANE) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - Użyj OpenGL do renderowania (wymaga restartu) + Użyj OpenGL do renderowania (wymaga ponownego uruchomienia) - + High Quality Anti-Aliasing (OpenGL only) - Antyaliasing Wysokiej Jakości (tylko OpenGL) + Antyaliasing wysokiej jakości (tylko OpenGL) - + Render Ardour-style "Inline Displays" - + Renderuj „Inline Displays” w stylu Ardour - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Wymuś wtyczki mono jako stereo, uruchamiając 2 instancje jednocześnie. +Ten tryb nie jest dostępny dla wtyczek VST. - + Force mono plugins as stereo - + Wymuś wtyczki mono jako stereo - - Prevent plugins from doing bad stuff (needs restart) - + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. + Po włączeniu tej opcji Carla spróbuje uniemożliwić wtyczkom wykonywanie czynności, które mogą zakłócić dźwięk lub powodować błędy xruns, tj. fork(), gtk_init() i podobne. - - Whenever possible, run the plugins in bridge mode. - + + Prevent unsafe calls from plugins (needs restart) + Zapobiegaj niebezpiecznym wywołaniom z wtyczek (wymaga ponownego uruchomienia) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + Uruchom wtyczki w oddzielnym procesie. Jeśli się zawieszą, nie wpłynie to na Carla. +W takich przypadkach wtyczki są automatycznie dezaktywowane. +Reaktywuj je, aby ponownie uruchomić proces, stosując do niego ostatni zapisany stan. + + + Run plugins in bridge mode when possible - + W miarę możliwości uruchamiaj wtyczki w trybie mostka - - - - + + + + Add Path - Dodaj Ścieżkę - - - - CompressorControlDialog - - - Threshold: - Próg: - - - - Volume at which the compression begins to take place - - - - - Ratio: - Współczynnik: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Atak: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Zwolnienie: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - Zakres: - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Przetrzymanie: - - - - Delay between attack and release stages - - - - - RMS Size: - Rozmiar RMS: - - - - Size of the RMS buffer - Rozmiar bufora RMS: - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Wzmocnienie wyścia - - - - - Gain - Wzmocnienie - - - - Output volume - - - - - Input gain - Wzmocnienie wejścia - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - Szczyt - - - - Use absolute value of the input - - - - - Left/Right - Lewy/Prawy - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - Kompresor - - - - Compress the audio - Kompresuj audio - - - - Limiter - Limiter - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - Maksimum - - - - Compress based on the loudest channel - - - - - Average - Średnie - - - - Compress based on the averaged channel volume - - - - - Minimum - Minimum - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Współczynnik - - - - Attack - Atak - - - - Release - Wybrzmiewanie - - - - Knee - - - - - Hold - Przetrzymanie - - - - Range - Zakres - - - - RMS Size - Rozmiar RMS - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - Limiter - - - - Output Gain - Wzmocnienie wyścia - - - - Input Gain - Wzmocnienie wejścia - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Feedback - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - Przechylenie - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Miks - - - - Controller - - - Controller %1 - Kontroler %1 - - - - ControllerConnectionDialog - - - Connection Settings - Ustawienia Połączenia - - - - MIDI CONTROLLER - KONTROLER MIDI - - - - Input channel - Kanał wejściowy - - - - CHANNEL - KANAŁ - - - - Input controller - Kontroler wejściowy - - - - CONTROLLER - KONTROLER - - - - - Auto Detect - Autodetekcja - - - - MIDI-devices to receive MIDI-events from - Urządzenia MIDI odbierające zdarzenia MIDI z - - - - USER CONTROLLER - KONTROLER UŻYTKOWNIKA - - - - MAPPING FUNCTION - FUNKCJA MAPOWANIA - - - - OK - OK - - - - Cancel - Anuluj - - - - LMMS - LMMS - - - - Cycle Detected. - Detekcja Cyklu. - - - - ControllerRackView - - - Controller Rack - Rack Kontrolerów - - - - Add - Dodaj - - - - Confirm Delete - Potwierdź usunięcie - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Czy potwierdzić usunięcie? Występuje(ą) istniejące połączenie(a) związane z tym kontrolerem. Tej operacji nie da się cofnąć. - - - - ControllerView - - - Controls - Ustaw - - - - Rename controller - Zmień nazwę kontrolera - - - - Enter the new name for this controller - Wprowadź nową nazwę dla tego kontrolera - - - - LFO - LFO - - - - &Remove this controller - &Usuń ten kontroler - - - - Re&name this controller - Zmień &nazwę tego kontrolera - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - Feedback - - - - LFO frequency - Częstotliwość LFO - - - - LFO amount - - - - - Output gain - Wzmocnienie wyścia - - - - DelayControlsDialog - - - DELAY - OPÓŹN - - - - Delay time - Czas opóźnienia - - - - FDBK - REAK - - - - Feedback amount - - - - - RATE - TEMPO - - - - LFO frequency - Częstotliwość LFO - - - - AMNT - ILOŚĆ - - - - LFO amount - - - - - Out gain - - - - - Gain - Wzmocnienie + Dodaj ścieżkę Dialog - - - Add JACK Application - Dodaj Aplikację JACK - - - - Note: Features not implemented yet are greyed out - Uwaga: Funkcje, które nie zostały jeszcze zaimplementowane są wyszarzone - - - - Application - Aplikacja - - - - Name: - Nazwa: - - - - Application: - Aplikacja: - - - - From template - Z szablonu - - - - Custom - Własne - - - - Template: - Szablon: - - - - Command: - Komenda: - - - - Setup - Konfiguracja - - - - Session Manager: - Menedżer Sesji: - - - - None - Brak - - - - Audio inputs: - Wejścia audio: - - - - MIDI inputs: - Wejścia MIDI: - - - - Audio outputs: - Wyjścia audio: - - - - MIDI outputs: - Wyjścia MIDI: - - - - Take control of main application window - - - - - Workarounds - Progi - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect - + Kontrola Carla - Połącz Remote setup - + Konfiguracja zdalna @@ -3803,34 +2187,13 @@ This mode is not available for VST plugins. Remote host: - Zdalny host: + Host zdalny: TCP Port: Port TCP: - - - Reported host - - - - - Automatic - Automatycznie - - - - Custom: - Własne: - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3839,12 +2202,12 @@ If you are unsure, leave it as 'Automatic'. TextLabel - + EtykietaTekstowa Scale Points - + Punkty skali @@ -3852,7 +2215,7 @@ If you are unsure, leave it as 'Automatic'. Driver Settings - Ustawienia Sterownika + Ustawienia sterownika @@ -3867,7 +2230,7 @@ If you are unsure, leave it as 'Automatic'. Sample rate: - Częstotliwość próbkowania + Częstotliwość próbkowania: @@ -3877,954 +2240,12 @@ If you are unsure, leave it as 'Automatic'. Show Driver Control Panel - + Pokaż panel sterowania sterownika Restart the engine to load the new settings - Zresetuj silnik aby załadować nowe ustawienia - - - - DualFilterControlDialog - - - - FREQ - FREQ - - - - - Cutoff frequency - Częstotliwość graniczna - - - - - RESO - RESO - - - - - Resonance - Zafalowanie charakterystyki - - - - - GAIN - WZMC - - - - - Gain - Wzmocnienie - - - - MIX - MIX - - - - Mix - Miks - - - - Filter 1 enabled - Włączono filtr 1 - - - - Filter 2 enabled - Włączono filtr 2 - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Włączono filtr 1 - - - - Filter 1 type - Rodzaj filtru 1 - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Q/Rezonans 1 - - - - Gain 1 - Wzmocnienie 1 - - - - Mix - Miks - - - - Filter 2 enabled - Włączono filtr 2 - - - - Filter 2 type - Rodzaj filtru 2 - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Q/Rezonans 2 - - - - Gain 2 - Wzmocnienie 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - Pasmowozaporowy - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - SV Zaporowy - - - - - Fast Formant - Szybki Formant - - - - - Tripole - - - - - Editor - - - Transport controls - Ustawienia źródła - - - - Play (Space) - Odtwarzaj (spacja) - - - - Stop (Space) - Zatrzymaj (spacja) - - - - Record - Nagrywaj - - - - Record while playing - Nagrywaj podczas odtwarzania - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Efekt włączony - - - - Wet/Dry mix - Miksowanie Suchy/Mokry - - - - Gate - Bramka - - - - Decay - Zanikanie - - - - EffectChain - - - Effects enabled - Efekty włączone - - - - EffectRackView - - - EFFECTS CHAIN - ŁAŃCUCH EFEKTOWY - - - - Add effect - Dodaj efekt - - - - EffectSelectDialog - - - Add effect - Dodaj efekt - - - - - Name - Nazwa - - - - Type - Rodzaj - - - - Description - Opis - - - - Author - Autor - - - - EffectView - - - On/Off - On/Off - - - - W/D - W/D - - - - Wet Level: - Poziom 'Mokrego' (Wet): - - - - DECAY - ZANIK. - - - - Time: - Czas: - - - - GATE - BRAM. - - - - Gate: - Bramka: - - - - Controls - Ustaw - - - - Move &up - Przemieść w &górę - - - - Move &down - Przemieść w &dół - - - - &Remove this plugin - &Usuń tę wtyczkę - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - Częstotliwość LFO - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - Opóźnienie wstępne: - - - - - ATT - ATT - - - - - Attack: - Atak: - - - - HOLD - HOLD - - - - Hold: - Przetrzymanie: - - - - DEC - DEC - - - - Decay: - Zanikanie: - - - - SUST - SUST - - - - Sustain: - Podtrzymanie: - - - - REL - REL - - - - Release: - Wybrzmiewanie: - - - - - AMT - AMT - - - - - Modulation amount: - Współczynnik modulacji: - - - - SPD - SPD - - - - Frequency: - Częstotliwość: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO: - - - - Hint - Wskazówka - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Wzmocnienie wejścia - - - - Output gain - Wzmocnienie wyścia - - - - Low-shelf gain - - - - - Peak 1 gain - Wzmocnienie szczytowe 1 - - - - Peak 2 gain - Wzmocnienie szczytowe 2 - - - - Peak 3 gain - Wzmocnienie szczytowe 3 - - - - Peak 4 gain - Wzmocnienie szczytowe 4 - - - - High-shelf gain - - - - - HP res - Rez HP - - - - Low-shelf res - - - - - Peak 1 BW - Szczyt 1 pasmo - - - - Peak 2 BW - Szczyt 2 pasmo - - - - Peak 3 BW - Szczyt 3 pasmo - - - - Peak 4 BW - Szczyt 4 pasmo - - - - High-shelf res - - - - - LP res - LP rez - - - - HP freq - Częst. HP - - - - Low-shelf freq - - - - - Peak 1 freq - Szczyt 1 częst. - - - - Peak 2 freq - Szczyt 2 częst. - - - - Peak 3 freq - Szczyt 3 częst. - - - - Peak 4 freq - Szczyt 4 częst. - - - - High-shelf freq - - - - - LP freq - Częst. LP - - - - HP active - HP aktywny - - - - Low-shelf active - - - - - Peak 1 active - Szczyt 1 aktywny - - - - Peak 2 active - Szczyt 2 aktywny - - - - Peak 3 active - Szczyt 3 aktywny - - - - Peak 4 active - Szczyt 4 aktywny - - - - High-shelf active - - - - - LP active - LP aktywny - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - Analizuj WEJŚCIE - - - - Analyse OUT - Analizuj WYJŚCIE - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - - - - - Peak 1 - Szczyt 1 - - - - Peak 2 - Szczyt 2 - - - - Peak 3 - Szczyt 3 - - - - Peak 4 - Szczyt 4 - - - - High-shelf - - - - - LP - LP - - - - Input gain - Wzmocnienie wejścia - - - - - - Gain - Wzmocnienie - - - - Output gain - Wzmocnienie wyścia - - - - Bandwidth: - Pasmo: - - - - Octave - Oktawa - - - - Resonance : - Rezonans: - - - - Frequency: - Częstotliwość: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Rezo: - - - - BW: - Pasmo: - - - - - Freq: - Częst: + Uruchom ponownie silnik, aby załadować nowe ustawienia @@ -4837,22 +2258,22 @@ If you are unsure, leave it as 'Automatic'. Export as loop (remove extra bar) - + Eksportuj jako pętlę (usuń dodatkowy takt) Export between loop markers - Eksportuj pomiędzy znacznikami pętli + Eksportuj między znacznikami pętli Render Looped Section: - + Renderuj zapętloną sekcję: time(s) - + raz(y) @@ -4912,7 +2333,7 @@ If you are unsure, leave it as 'Automatic'. 32 Bit float - 32 Bit float + 32-bitowy float @@ -4942,7 +2363,7 @@ If you are unsure, leave it as 'Automatic'. Bitrate: - Przepływność: + Bitrate: @@ -4977,7 +2398,7 @@ If you are unsure, leave it as 'Automatic'. Use variable bitrate - Użyj zmiennej przepływności + Użyj zmiennego bitrate’u @@ -5010,3072 +2431,662 @@ If you are unsure, leave it as 'Automatic'. Sinc najlepsza (najwolniejsza) - - Oversampling: - Nadpróbkowanie: - - - - 1x (None) - 1x (Brak) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start - Rozpocznij + Uruchom - + Cancel Anuluj - - - Could not open file - Nie można otworzyć pliku - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Nie udało się otworzyć pliku %1 do zapisu. -Upewnij się, że masz uprawnienia do zapisu do pliku i katalogu zawierającego plik i spróbuj ponownie! - - - - Export project to %1 - Eksportuj projekt do %11 - - - - ( Fastest - biggest ) - ( Najszybsze - największe ) - - - - ( Slowest - smallest ) - ( Najwolniejsze - najmniejsze ) - - - - Error - Błąd - - - - Error while determining file-encoder device. Please try to choose a different output format. - Wystąpił błąd podczas określania urządzenia do kodowania plików. Spróbuj wybrać inny format wyjściowy. - - - - Rendering: %1% - Renderowanie: %1% - - - - Fader - - - Set value - Ustaw wartość - - - - Please enter a new value between %1 and %2: - Wprowadź nową wartość pomiędzy %1 a %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Przeglądarka - - - - Search - Szukaj - - - - Refresh list - Odśwież listę - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Wyślij do aktywnej ścieżki instrumentu - - - - Open containing folder - - - - - Song Editor - Pokaż/ukryj Edytor Kompozycji - - - - BB Editor - Edytor BB - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - (%2Enter) - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Ładowanie sampla - - - - Please wait, loading sample for preview... - Proszę czekać, ładowanie próbki do podglądu. - - - - Error - BłądBłą - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Pliki fabryczne --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - Częstotliwość LFO - - - - Seconds - Sekundy - - - - Stereo phase - - - - - Regen - - - - - Noise - Szum - - - - Invert - Odwróć - - - - FlangerControlsDialog - - - DELAY - OPÓŹN - - - - Delay time: - Czas opóźnienia: - - - - RATE - TEMPO - - - - Period: - Odstętp: - - - - AMNT - ILOŚĆ - - - - Amount: - Ilość: - - - - PHASE - FAZA - - - - Phase: - Faza: - - - - FDBK - REAK - - - - Feedback amount: - - - - - NOISE - SZUM - - - - White noise amount: - Ilość białego szumu: - - - - Invert - OdwróćOd - - - - FreeBoyInstrument - - - Sweep time - Okres wobulacji - - - - Sweep direction - Kierunek wobulacji - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Głośność kanału 1 - - - - - - Volume sweep direction - Kierunek wobulacji głośności - - - - - - Length of each step in sweep - Długość każdego kroku wobulacji - - - - Channel 2 volume - Głośność kanału 2 - - - - Channel 3 volume - Głośność kanału 3 - - - - Channel 4 volume - Głośność kanału 4 - - - - Shift Register width - Szerokość rejestru przesuwnego - - - - Right output level - Poziom prawego wyjścia - - - - Left output level - Poziom lewego wyjścia - - - - Channel 1 to SO2 (Left) - Kanał 1 do SO2 (lewy) - - - - Channel 2 to SO2 (Left) - Kanał 2 do SO2 (lewy) - - - - Channel 3 to SO2 (Left) - Kanał 3 do SO2 (lewy) - - - - Channel 4 to SO2 (Left) - Kanał 4 do SO2 (lewy) - - - - Channel 1 to SO1 (Right) - Kanał 1 do SO1 (prawy) - - - - Channel 2 to SO1 (Right) - Kanał 2 do SO1 (prawy) - - - - Channel 3 to SO1 (Right) - Kanał 3 do SO1 (prawy) - - - - Channel 4 to SO1 (Right) - Kanał 4 do SO1 (prawy) - - - - Treble - Soprany - - - - Bass - Basy - - - - FreeBoyInstrumentView - - - Sweep time: - Okres wobulacji: - - - - Sweep time - Okres wobulacji - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - Długość każdego kroku wobulacji: - - - - - - Length of each step in sweep - Długość każdego kroku wobulacji - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - Głośność SO1 (Prawy): - - - - SO1 volume (Right) - Głośność SO1 (Prawy) - - - - SO2 volume (Left): - Głośność SO2 (Lewy): - - - - SO2 volume (Left) - Głośność SO2 (Lewy): - - - - Treble: - Soprany: - - - - Treble - Soprany - - - - Bass: - Basy: - - - - Bass - Basy - - - - Sweep direction - Kierunek wobulacji - - - - - - - - Volume sweep direction - Kierunek wobulacji głośności - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Kanał 1 do SO1 (prawy) - - - - Channel 2 to SO1 (Right) - Kanał 2 do SO1 (prawy) - - - - Channel 3 to SO1 (Right) - Kanał 3 do SO1 (prawy) - - - - Channel 4 to SO1 (Right) - Kanał 4 do SO1 (prawy) - - - - Channel 1 to SO2 (Left) - Kanał 1 do SO2 (lewy) - - - - Channel 2 to SO2 (Left) - Kanał 2 do SO2 (lewy) - - - - Channel 3 to SO2 (Left) - Kanał 3 do SO2 (lewy) - - - - Channel 4 to SO2 (Left) - Kanał 4 do SO2 (lewy) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Ilość wysyłania kanału - - - - Move &left - Przesuń w &lewo - - - - Move &right - Przesuń w p&rawo - - - - Rename &channel - Zmień nazwę &kanału - - - - R&emove channel - Usuń k&anał - - - - Remove &unused channels - &Usuń nieużywane kanały - - - - Set channel color - Ustaw kolor kanału - - - - Remove channel color - Usuń kolor kanału - - - - Pick random channel color - Ustaw losowy kolor kanału - - - - MixerChannelLcdSpinBox - - - Assign to: - Przypisz do: - - - - New mixer Channel - Nowy kanał efektów - - - - Mixer - - - Master - Master - - - - - - Channel %1 - FX %1 - - - - Volume - Głośność - - - - Mute - Wycisz - - - - Solo - Solo - - - - MixerView - - - Mixer - Mixer - - - - Fader %1 - Fader FX %1 - - - - Mute - Wycisz - - - - Mute this mixer channel - Wycisz ten kanał FX - - - - Solo - Solo - - - - Solo mixer channel - Kanał FX solo - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Ilość do wysyłania z kanału %1 do kanału %2 - - - - GigInstrument - - - Bank - Bank - - - - Patch - Próbka - - - - Gain - Wzmocnienie - - - - GigInstrumentView - - - - Open GIG file - Otwórz plik GIG - - - - Choose patch - Wybierz próbkę - - - - Gain: - Wzmocnienie: - - - - GIG Files (*.gig) - Pliki GIG (*.gig) - - - - GuiApplication - - - Working directory - Katalog roboczy - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Katalog roboczy LMMS %1 nie istnieje. Czy chcesz go utworzyć? Możesz zmienić katalog później w ustawieniach. - - - - Preparing UI - Przygotowywanie interfejsu - - - - Preparing song editor - Przygotowywanie edytora utworu - - - - Preparing mixer - Przygotowywanie miksera - - - - Preparing controller rack - Przygotowanie rack'a kontrolerów - - - - Preparing project notes - Przygotowanie notatki projektu - - - - Preparing beat/bassline editor - Przygotowanie edytora perkusji/basu - - - - Preparing piano roll - Przygotowanie edytora pianolowego - - - - Preparing automation editor - Przygotowanie edytora automatyki - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Rodzaj arpeggio - - - - Arpeggio range - Zakres arpeggio - - - - Note repeats - - - - - Cycle steps - Kroki cyklu - - - - Skip rate - Częstotliwość pominięcia - - - - Miss rate - Częstotliwość opuszczania - - - - Arpeggio time - Okres arpeggio - - - - Arpeggio gate - Bramkowanie arpeggio - - - - Arpeggio direction - Kierunek arpeggio - - - - Arpeggio mode - Tryb arpeggio - - - - Up - W górę - - - - Down - W dół - - - - Up and down - W górę i w dół - - - - Down and up - W dół i w górę - - - - Random - Losowo - - - - Free - Dowolnie - - - - Sort - Posortowany - - - - Sync - Synchronizacja - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - ZAKRES - - - - Arpeggio range: - Zakres arpeggio: - - - - octave(s) - oktawa(y) - - - - REP - - - - - Note repeats: - - - - - time(s) - raz(y) - - - - CYCLE - CYKL - - - - Cycle notes: - Nuty cyklu: - - - - note(s) - nuta(y) - - - - SKIP - POMIŃ - - - - Skip rate: - Częstotliwość pominięcia: - - - - - - % - % - - - - MISS - OPUŚĆ - - - - Miss rate: - Częstotliwość opuszczania: - - - - TIME - OKRES - - - - Arpeggio time: - Okres arpeggio: - - - - ms - ms - - - - GATE - BRAM. - - - - Arpeggio gate: - Bramkowanie arpeggio: - - - - Chord: - Akord: - - - - Direction: - Kierunek: - - - - Mode: - Tryb: - InstrumentFunctionNoteStacking - + octave oktawa - - + + Major Major - + Majb5 Majb5 - + minor minor - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor - Minorowy harmoniczny + Molowa harmoniczna - + Melodic minor - Minorowy melodyjny + Molowa melodyczna - + Whole tone - Cały ton + Całotonowa - + Diminished - Zmniejszony + Zmniejszona - + Major pentatonic - Majorowy pentatoniczny + Pentatonika durowa - + Minor pentatonic - Minorowy pentatoniczny + Pentatonika molowa - + Jap in sen Jap in sen - - - Major bebop - Majorowy bebop - - - - Dominant bebop - Dominujący bebop - - - - Blues - Blues - - - - Arabic - Arabski - - - - Enigmatic - Enigmatyczny - - - - Neopolitan - Neopolitański - - - - Neopolitan minor - Minorowy neapolitański - - Hungarian minor - Minorowy węgierski + Major bebop + Bebopowa durowa - Dorian - Dorycki + Dominant bebop + Bebopowa dominantowa - Phrygian - Frygijski + Blues + Bluesowa - Lydian - Lidyjski + Arabic + Arabska - Mixolydian - Miksolidyjski + Enigmatic + Enigmatyczna - Aeolian - Eolski + Neopolitan + Neopolitańska - Locrian - Lokrycki + Neopolitan minor + Neapolitańska molowa - Minor - Minor + Hungarian minor + Węgierska molowa - Chromatic - Chromatyczny + Dorian + Dorycka - Half-Whole Diminished - Półton-Cały ton Zmniejszony + Phrygian + Frygijska + + + + Lydian + Lidyjska + Mixolydian + Miksolidyjska + + + + Aeolian + Eolska + + + + Locrian + Lokrycka + + + + Minor + Molowa + + + + Chromatic + Chromatyczna + + + + Half-Whole Diminished + Półton-cały ton zmniejszona + + + 5 5 - + Phrygian dominant - Frygijski dominujący + Frygijska dominantowa - + Persian - Perski - - - - Chords - Akordy - - - - Chord type - Typ akordu - - - - Chord range - Zakres akordu - - - - InstrumentFunctionNoteStackingView - - - STACKING - UKŁADANIE - - - - Chord: - Akord: - - - - RANGE - ZAKRES - - - - Chord range: - Zakres akordu: - - - - octave(s) - oktawa(y) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - WŁĄCZ WEJŚCIE MIDI - - - - ENABLE MIDI OUTPUT - WŁĄCZ WYJŚCIE MIDI - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - CHAN - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - VELOC - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - PROG - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NUTA - - - - MIDI devices to receive MIDI events from - Urządzenia MIDI odbierające zdarzenia z - - - - MIDI devices to send MIDI events to - Urządzenia MIDI wysyłające zdarzenia do - - - - CUSTOM BASE VELOCITY - NIESTANDARDOWA GŁOŚNOŚĆ PODSTAWY - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Określ podstawę normalizacyjną głośności dla instrumentów opartych na MIDI z prędkością zapisu 100%. - - - - BASE VELOCITY - GŁOŚNOŚĆ PODSTAWY - - - - InstrumentTuningView - - - MASTER PITCH - ODSTROJENIE GŁÓWNE - - - - Enables the use of master pitch - + Perska InstrumentSoundShaping - + VOLUME GŁOŚNOŚĆ - + Volume Głośność - + CUTOFF - CUTOFF + ODETNIJ - - + Cutoff frequency Częstotliwość graniczna - + RESO - RESO + REZO - + Resonance - Zafalowanie charakterystyki - - - - Envelopes/LFOs - Obwiednie/Oscylatory LFO - - - - Filter type - Rodzaj filtru - - - - Q/Resonance - Dobroć/Zafalowanie charakterystyki - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - Pasmowozaporowy - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - SV Zaporowy - - - - Fast Formant - Szybki Formant - - - - Tripole - + Rezonans - InstrumentSoundShapingView + JackAppDialog - - TARGET - TARGET + + Add JACK Application + Dodaj aplikację JACK - - FILTER - FILTR + + Note: Features not implemented yet are greyed out + Uwaga: Funkcje, które nie zostały jeszcze zaimplementowane, są wyszarzone - - FREQ - FREQ + + Application + Aplikacja - - Cutoff frequency: - Częstotliwość graniczna: + + Name: + Nazwa: - - Hz - Hz + + Application: + Aplikacja: - - Q/RESO + + From template + Z szablonu + + + + Custom + Niestandardowy + + + + Template: + Szablon: + + + + Command: + Polecenie: + + + + Setup + Konfiguracja + + + + Session Manager: + Menedżer sesji: + + + + None + Brak + + + + Audio inputs: + Wejścia dźwięku: + + + + MIDI inputs: + Wejścia MIDI: + + + + Audio outputs: + Wyjścia dźwięku: + + + + MIDI outputs: + Wyjścia MIDI: + + + + Take control of main application window + Przejmij kontrolę nad głównym oknem aplikacji + + + + Workarounds + Progi + + + + Wait for external application start (Advanced, for Debug only) + Poczekaj na uruchomienie aplikacji zewnętrznej (zaawansowane, tylko do debugowania) + + + + Capture only the first X11 Window + Przechwyć tylko pierwsze X11 Window + + + + Use previous client output buffer as input for the next client + Użyj poprzedniego bufora wyjściowego klienta jako danych wejściowych dla następnego klienta + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - Q/Resonance: - + + Error here + Błąd tutaj - - Envelopes, LFOs and filters are not supported by the current instrument. - Obwiednie, LFO oraz filtry nie są wspierane przez ten instrument. - - - - InstrumentTrack - - - - unnamed_track - nienazwana ścieżka - - - - Base note - Nuta bazowa - - - - First note - Pierwsza nuta - - - - Last note - Ostatnia nuta - - - - Volume - Głośność - - - - Panning - Panoramowanie - - - - Pitch - Odstrojenie - - - - Pitch range - Zakres odstrojenia - - - - Mixer channel - Kanał FX - - - - Master pitch - Odstrojenie główne - - - - Enable/Disable MIDI CC - - - - - CC Controller %1 - - - - - - Default preset - Ustawienia domyślne - - - - InstrumentTrackView - - - Volume - Głośność - - - - Volume: - Głośność: - - - - VOL - VOL - - - - Panning - Panoramowanie - - - - Panning: - Panoramowanie: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Wejście - - - - Output - Wyjście - - - - Open/Close MIDI CC Rack - - - - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - GŁÓWNE USTAWIENIA - - - - Volume - Głośność - - - - Volume: - Głośność: - - - - VOL - VOL - - - - Panning - Panoramowanie - - - - Panning: - Panoramowanie: - - - - PAN - PAN - - - - Pitch - Odstrojenie - - - - Pitch: - Odstrojenie: - - - - cents - cent(y) - - - - PITCH - PITCH - - - - Pitch range (semitones) - Zakres odstrojenia (półtony) - - - - RANGE - ZAKRES - - - - Mixer channel - Kanał FX - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file - Zapisz bieżące ustawienia ścieżki jako preset - - - - SAVE - ZAPISZ - - - - Envelope, filter & LFO - - - - - Chord stacking & arpeggio - - - - - Effects - Efekty - - - - MIDI - MIDI - - - - Miscellaneous - Różne - - - - Save preset - Zachowaj ustawienia - - - - XML preset file (*.xpf) - Plik XML presetu (*.xpf) - - - - Plugin - Wtyczka - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + Aplikacje NSM nie mogą używać ścieżek abstrakcyjnych ani bezwzględnych - + NSM applications cannot use CLI arguments - + Aplikacje NSM nie mogą używać argumentów CLI - + You need to save the current Carla project before NSM can be used - + Musisz zapisać bieżący projekt Carla, zanim użyjesz NSM JuceAboutW - - About JUCE - O JUCE - - - - <b>About JUCE</b> - <b>O JUCE</b> - - - - This program uses JUCE version 3.x.x. - Ten program używa JUCE w wersji 3.x.x. - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - - - - Knob - - - Set linear - Ustaw linearnie - - - - Set logarithmic - Ustaw logarytmicznie - - - - - Set value - Ustaw wartość - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Wprowadź nową wartość pomiędzy -96.0 dBFS a 6.0 dBFS: - - - - Please enter a new value between %1 and %2: - Wprowadź nową wartość pomiędzy %1 a %2: - - - - LadspaControl - - - Link channels - Połącz kanały - - - - LadspaControlDialog - - - Link Channels - Połącz kanały - - - - Channel - Kanał - - - - LadspaControlView - - - Link channels - Połącz kanały - - - - Value: - Wartość: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Nieznana wtyczka LADSPA %1 żądanie. - - - - LcdFloatSpinBox - - - Set value - Ustaw wartość - - - - Please enter a new value between %1 and %2: - Wprowadź nową wartość pomiędzy %1 a %2: - - - - LcdSpinBox - - - Set value - Ustaw wartość - - - - Please enter a new value between %1 and %2: - Wprowadź nową wartość pomiędzy %1 a %2: - - - - LeftRightNav - - - - - Previous - Poprzedni - - - - - - Next - Następny - - - - Previous (%1) - Poprzedni (%1) - - - - Next (%1) - Następny (%1) - - - - LfoController - - - LFO Controller - Kontroler LFO - - - - Base value - Wartość bazowa - - - - Oscillator speed - Prędkość oscylatora - - - - Oscillator amount - Współczynnik oscylatora - - - - Oscillator phase - Faza oscylatora - - - - Oscillator waveform - Kształt fali oscylatora - - - - Frequency Multiplier - Mnożnik częstotliwości - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - - - - - FREQ - FREQ - - - - LFO frequency: - Częstotliwość LFO: - - - - AMNT - ILOŚĆ - - - - Modulation amount: - Współczynnik modulacji: - - - - PHS - PHS - - - - Phase offset: - Przesunięcie fazowe: - - - - degrees - stopni(e) - - - - Sine wave - Fala sinusoidalna - - - - Triangle wave - Fala trójkątna - - - - Saw wave - Fala piłokształtna - - - - Square wave - Fala prostokątna - - - - Moog saw wave - Fala piłokształtna Mooga - - - - Exponential wave - Fala wykładnicza - - - - White noise - Biały szum - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - Generowanie tabel próbek dźwiękowych - - - - Initializing data structures - Inicjalizacja struktur danych - - - - Opening audio and midi devices - Otwieranie urządzeń audio i midi - - - - Launching mixer threads - Uruchamianie wątków miksera - - - - MainWindow - - - Configuration file - Plik konfiguracyjny - - - - Error while parsing configuration file at line %1:%2: %3 - Błąd podczas parsowania pliku konfiguracyjnego w linii %1:%2: %3 - - - - Could not open file - Nie można otworzyć pliku - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Nie udało się otworzyć pliku %1 do zapisu. -Upewnij się, że masz uprawnienia do zapisu do pliku i katalogu zawierającego plik i spróbuj ponownie! - - - - Project recovery - Odzyskiwanie projektu - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Plik odzyskiwania jest obecny. Wygląda na to, że ostatnia sesja nie została zakończona poprawnie lub inne okno LMMS już działa. Czy chcesz odzyskać projekt dla tej sesji? - - - - - Recover - Odzyskaj - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Odzyskaj plik. Podczas tego nie uruchamiaj wielu okien LMMS. - - - - - Discard - Odrzuć - - - - Launch a default session and delete the restored files. This is not reversible. - Uruchom domyślną sesję oraz usuń odzyskiwane pliki. Tego nie można cofnąć. - - - - Version %1 - Wersja %1 - - - - Preparing plugin browser - Przygotowanie wyszukiwarki wtyczek - - - - Preparing file browsers - Przygotowanie wyszukiwarki plików - - - - My Projects - Moje projekty - - - - My Samples - Moje próbki - - - - My Presets - Moje presety - - - - My Home - Mój katalog domowy - - - - Root directory - Katalog główny - - - - Volumes - Głośność - - - - My Computer - Mój komputer - - - - &File - &Plik - - - - &New - &Nowy - - - - &Open... - &Otwórz... - - - - Loading background picture - - - - - &Save - &Zapisz - - - - Save &As... - Zapisz &Jako... - - - - Save as New &Version - Zapisz jako Nową &Wersję - - - - Save as default template - Zapisz jako domyślny szablon - - - - Import... - Import... - - - - E&xport... - Eksport [&X]... - - - - E&xport Tracks... - Eksportuj Ścieżki... - - - - Export &MIDI... - Eksportuj &MIDI… - - - - &Quit - Zakończ [&Q] - - - - &Edit - &Edycja - - - - Undo - Cofnij - - - - Redo - Ponów - - - - Settings - Ustawienia - - - - &View - &Podgląd - - - - &Tools - &Narzędzia - - - - &Help - &Pomoc - - - - Online Help - Pomoc Online - - - - Help - Pomoc - - - - About - O LMMS - - - - Create new project - Stwórz nowy projekt - - - - Create new project from template - Stwórz nowy projekt jako szablon - - - - Open existing project - Otwórz istniejący projekt - - - - Recently opened projects - Ostatnio otwierane projekty - - - - Save current project - Zapisz bieżący projekt - - - - Export current project - Eksportuj bieżący projekt - - - - Metronome - Metronom - - - - - Song Editor - Pokaż/ukryj Edytor Kompozycji - - - - - Beat+Bassline Editor - Pokaż/ukryj Edytor Perkusji i Basu - - - - - Piano Roll - Pokaż/ukryj Edytor Pianolowy - - - - - Automation Editor - Pokaż/ukryj Edytor Automatyki - - - - - Mixer - Pokaż/ukryj Mikser Efektów - - - - Show/hide controller rack - Pokaż/ukryj rack kontrolerów - - - - Show/hide project notes - Pokaż/ukryj notatki do projektu - - - - Untitled - Nienazwane - - - - Recover session. Please save your work! - Odzyskana sesja. Zapisz swoją pracę! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Odzyskany projekt nie zapisany - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Ten projekt został odzyskany z poprzedniej sesji. Jest obecnie niezapisany i zostanie utracony, jeżeli go nie zapiszesz. Czy chcesz teraz zapisać? - - - - Project not saved - Projekt nie zapisany - - - - The current project was modified since last saving. Do you want to save it now? - Bieżący projekt został zmodyfikowany od ostatniego zapisu. Czy chcesz go zapisać teraz? - - - - Open Project - Otwórz Projekt - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Zapisz Projekt - - - - LMMS Project - Projekt LMMS - - - - LMMS Project Template - Szablon projektu LMMS - - - - Save project template - Zapisz szablon projektu - - - - Overwrite default template? - Czy zastąpić domyślny szablon? - - - - This will overwrite your current default template. - Spowoduje to zastąpienie bieżącego domyślnego szablonu. - - - - Help not available - Pomoc niedostępna - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Aktualnie pomoc dla LMMS jest niedostępna. -Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. - - - - Controller Rack - Pokaż/ukryj rack kontrolerów - - - - Project Notes - Pokaż/ukryj notatki projektu - - - - Fullscreen - Pełny ekran - - - - Volume as dBFS - Głośność jako dBFS - - - - Smooth scroll - Płynne przewijanie - - - - Enable note labels in piano roll - Włącz etykiety nut w edytorze pianolowym. - - - - MIDI File (*.mid) - Plik MIDI (*.mid) - - - - - untitled - bez tytułu - - - - - Select file for project-export... - Wybierz plik do wyeksportowania projektu… - - - - Select directory for writing exported tracks... - Wybierz katalog zapisu eksportowanych utworów… - - - - Save project - Zapisz projekt - - - - Project saved - Zapisano projekt - - - - The project %1 is now saved. - Projekt %1 został zapisany. - - - - Project NOT saved. - Nie zapisano projektu. - - - - The project %1 was not saved! - Projekt %1 nie został zapisany! - - - - Import file - Importuj plik - - - - MIDI sequences - Sekwencje MIDI - - - - Hydrogen projects - Projekty Hydrogen - - - - All file types - Wszystkie rodzaje plików - - - - MeterDialog - - - - Meter Numerator - Numerator Metryczny - - - - Meter numerator - - - - - - Meter Denominator - Denominator Metryczny - - - - Meter denominator - - - - - TIME SIG - METRUM - - - - MeterModel - - - Numerator - Numerator - - - - Denominator - Denominator - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Kontroler MIDI - - - - unnamed_midi_controller - kontroler midi bez nazwy - - - - MidiImport - - - - Setup incomplete - Konfiguracja niekompletna - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Nie masz skonfigurowanego domyślnego soundfonta w oknie dialogowym (Edycja->Ustawienia). Będzie to skutkować brakiem dźwięku po zaimportowaniu pliku MIDI. Powinieneś pobrać soundfonty General MIDI, dokonać zmiany ustawień i spróbować ponownie. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Tego LMMS nie skompilowano ze wsparciem odtwarzacza SoundFont2, który jest wykorzystywany do dodawania domyślnych dźwięków do zaimportowanych plików MIDI. Wskutek tego po zaimportowaniu pliku MIDI nie usłyszysz żadnego dźwięku. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Numerator - - - - Denominator - Denominator - - - - Track - Scieżka - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - Serwer JACK wyłączony - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Wygląda na to, że serwer JACK jest wyłączony. + Ten program używa JUCE w wersji %1. @@ -8083,24 +3094,24 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. MIDI Pattern - + Szablon MIDI Time Signature: - + Oznaczenie metryczne: 1/4 - + 1/4 2/4 - + 2/4 @@ -8110,12 +3121,12 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. 4/4 - + 4/4 5/4 - + 5/4 @@ -8125,14 +3136,14 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. Measures: - Pomiary: + Takty: 1 - + 1 @@ -8142,12 +3153,12 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. 3 - + 3 4 - + 4 @@ -8167,7 +3178,7 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. 8 - + 8 @@ -8177,7 +3188,7 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. 10 - + 10 @@ -8187,7 +3198,7 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. 12 - + 12 @@ -8197,75 +3208,75 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. 14 - + 14 15 - + 15 16 - + 16 Default Length: - + Długość domyślna: 1/16 - + 1/16 1/15 - + 1/15 1/12 - + 1/12 1/9 - + 1/9 1/8 - + 1/8 1/6 - + 1/6 1/3 - + 1/3 1/2 - + 1/2 Quantize: - + Kwantyzuj: @@ -8280,944 +3291,11828 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. &Quit - Zakończ [&Q] + Za&kończ - - &Insert Mode - + + Esc + Esc - F - + &Insert Mode + Tryb wstaw&iania - - &Velocity Mode - + + F + F - D - + &Velocity Mode + &Tryb głośności - - Select All - + + D + D + Select All + Zaznacz wszystkie + + + A + A + + + + PatchesDialog + + + + Qsynth: Channel Preset + Qsynth: preset kanału + + + + + Bank selector + Selektor banku + + + + + Bank + Bank + + + + + Program selector + Selektor programu + + + + + Patch + Próbka + + + + + Name + Nazwa + + + + + OK + OK + + + + + Cancel + Anuluj + + + + PluginBrowser + + + no description + brak opisu + + + + A native amplifier plugin + Natywna wtyczka wzmacniacza + + + + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track + Prosty sampler z licznymi ustawieniami dla próbek (np. perkusji) w ścieżce instrumentu + + + + Boost your bass the fast and simple way + Łatwo i szybko podbij bas + + + + Customizable wavetable synthesizer + Konfigurowalny syntezator tablicowy + + + + An oversampling bitcrusher + Nadpróbkowanie bitcrusher + + + + Carla Patchbay Instrument + Instrument Carla Patchbay + + + + Carla Rack Instrument + Instrument Carla Rack + + + + A dynamic range compressor. + Kompresor o dynamicznym zakresie + + + + A 4-band Crossover Equalizer + 4-zakresowy korektor krzyżowy + + + + A native delay plugin + Natywna wtyczka opóźnienia + + + + A Dual filter plugin + Wtyczka podwójnego filtra + + + + plugin for processing dynamics in a flexible way + Wtyczka do przetwarzania dynamiki w elastyczny sposób + + + + A native eq plugin + Natywna wtyczka korektora graficznego + + + + A native flanger plugin + Natywna wtyczka flangera + + + + Emulation of GameBoy (TM) APU + Emulator układu APU GameBoy’a (TM) + + + + Player for GIG files + Odtwarzacz plików GIG + + + + Filter for importing Hydrogen files into LMMS + Filtr importujący pliki Hydrogen do LMMS + + + + Versatile drum synthesizer + Wszechstronny syntezator perkusyjny + + + + List installed LADSPA plugins + Pokaż zainstalowane wtyczki LADSPA + + + + plugin for using arbitrary LADSPA-effects inside LMMS. + Wtyczka umożliwiająca załadowanie dowolnego efektu LADSPA wewnątrz LMMS + + + + Incomplete monophonic imitation TB-303 + Niezupełna monofoniczna emulacja syntezatora TB-303 + + + + plugin for using arbitrary LV2-effects inside LMMS. + Wtyczka pozwalająca na korzystanie z efektów LV2 w LMMS + + + + plugin for using arbitrary LV2 instruments inside LMMS. + Wtyczka pozwalająca na korzystanie z instrumentów LV2 w LMMS + + + + Filter for exporting MIDI-files from LMMS + Filtr do eksportowania plików MIDI z LMMS + + + + Filter for importing MIDI-files into LMMS + Filtr do importowania plików MIDI do LMMS + + + + Monstrous 3-oscillator synth with modulation matrix + Potworny 3-oscylatorowy syntezator z macierzą modulacji + + + + A multitap echo delay plugin + + + + + A NES-like synthesizer + Syntezator odwzorowujący NES-a + + + + 2-operator FM Synth + 2-operatorowy syntezator FM + + + + Additive Synthesizer for organ-like sounds + Syntezator Addytywny umożliwiający tworzenie dźwięków zbliżonych brzmieniem do organów + + + + GUS-compatible patch instrument + + + + + Plugin for controlling knobs with sound peaks + Wtyczka do kontrolowania pokręteł za pośrednictwem szczytów dźwięku + + + + Reverb algorithm by Sean Costello + Algorytm pogłosu Seana Costello + + + + Player for SoundFont files + Odtwarzacz plików SoundFont + + + + LMMS port of sfxr + Port sxfr dla LMMS + + + + Emulation of the MOS6581 and MOS8580 SID. +This chip was used in the Commodore 64 computer. + Emulator układu dźwiękowego SID MOS6581 i MOS8580 +Te układy scalone były stosowane w komputerach Commodore 64 + + + + A graphical spectrum analyzer. + Graficzny podgląd spektrum + + + + Plugin for enhancing stereo separation of a stereo input file + Wtyczka rozszerzająca bazę stereo + + + + Plugin for freely manipulating stereo output + Wtyczka do nieograniczonego manipulowania wyjściami stereo + + + + Tuneful things to bang on + Melodyjny instrument pałeczkowy + + + + Three powerful oscillators you can modulate in several ways + Trzy potężne oscylatory, które możesz modulować na kilka sposobów + + + + A stereo field visualizer. + Wizualizator pola stereo + + + + VST-host for using VST(i)-plugins within LMMS + Host VST pozwalający na użycie wtyczek VST(i) w LMMS + + + + Vibrating string modeler + Symulator drgającej struny + + + + plugin for using arbitrary VST effects inside LMMS. + Wtyczka pozwalająca na korzystanie z efektów VST w LMMS + + + + 4-oscillator modulatable wavetable synth + 4-oscylatorowy modularny syntezator tablicowy + + + + plugin for waveshaping + Wtyczka kształtująca falę + + + + Mathematical expression parser + Instrument przetwarzający wyrażenia matematyczne + + + + Embedded ZynAddSubFX + Wbudowany syntezator ZynAddSubFX + + + + An all-pass filter allowing for extremely high orders. + + + + + Granular pitch shifter + + + + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. + Wtyczka kompresji wielopasmowej w górę/w dół oparta na tajemniczym bogu starożytności, LOMMUSIE. + + + + Basic Slicer + + + + + Tap to the beat + Stukaj w rytm + + + + PluginEdit + + + Plugin Editor + Edytor wtyczek + + + + Edit + Edycja + + + + Control + + + + + MIDI Control Channel: + Kanał sterowania MIDI: + + + + N + N + + + + Output dry/wet (100%) + Głośność sucha/mokra (100%) + + + + Output volume (100%) + Głośność wyjściowa (100%) + + + + Balance Left (0%) + Równowaga lewego (0%) + + + + + Balance Right (0%) + Równowaga prawego (0%) + + + + Use Balance + Użyj równowagi + + + + Use Panning + Użyj panoramowania + + + + Settings + Ustawienia + + + + Use Chunks + Użyj fragmentów + + + + Audio: + Dźwięk: + + + + Fixed-Size Buffer + Bufor o stałym rozmiarze + + + + Force Stereo (needs reload) + Wymuś stereo (wymaga ponownego załadowania) + + + + MIDI: + MIDI: + + + + Map Program Changes + Zmiany programu mapowania + + + + Send Notes + Wyślij nuty + + + + Send Bank/Program Changes + Wyślij zmiany banku/programu + + + + Send Control Changes + + + + + Send Channel Pressure + + + + + Send Note Aftertouch + + + + + Send Pitchbend + Wyślij pitchbend + + + + Send All Sound/Notes Off + Wyślij wszystkie dźwięki/nuty wyłączone + + + + +Plugin Name + + +Nazwa wtyczki + + + + + Program: + Program: + + + + MIDI Program: + Program MIDI: + + + + Save State + Zapisz stan + + + + Load State + Załaduj stan + + + + Information + Informacje + + + + Label/URI: + Etykieta/URI: + + + + Name: + Nazwa: + + + + Type: + Typ: + + + + Maker: + Twórca: + + + + Copyright: + Prawa autorskie: + + + + Unique ID: - MidiPort + PluginFactory - - Input channel - Kanał wejściowy + + Plugin not found. + Nie znaleziono wtyczki. - - Output channel - Kanał wyjściowy - - - - Input controller - Kontroler wejściowy - - - - Output controller - Kontroler wyjściowy - - - - Fixed input velocity - Stała głośność wejściowa - - - - Fixed output velocity - Stała głośność wyjściowa - - - - Fixed output note - Stała nuta wyjściowa - - - - Output MIDI program - Wyjściowy program MIDI - - - - Base velocity - Głośność podstawy - - - - Receive MIDI-events - Odbieraj komunikaty MIDI - - - - Send MIDI-events - Wysyłaj komunikaty MIDI + + LMMS plugin %1 does not have a plugin descriptor named %2! + Wtyczka LMMS %1 nie ma deskryptora wtyczki nazwanego %2! - MidiSetupWidget + PluginListDialog - + + Carla - Add New + Carla - Dodaj nowy + + + + Requirements + Wymagania + + + + With Custom GUI + Z niestandardowym graficznym interfejsem użytkownika + + + + With CV Ports + Z portami CV + + + + Real-time safe only + Tylko w czasie rzeczywistym + + + + Stereo only + Tylko stereo + + + + With Inline Display + Z wyświetlaczem liniowym + + + + Favorites only + Tylko ulubione + + + + (Number of Plugins go here) + (Tutaj znajdziesz liczbę wtyczek) + + + + &Add Plugin + Dod&aj wtyczkę + + + + Cancel + Anuluj + + + + Refresh + Odśwież + + + + Reset filters + Resetuj filtry + + + + + + + + + + + + + + + + + + + TextLabel + EtykietaTekstowa + + + + Format: + Format: + + + + Architecture: + Architektura: + + + + Type: + Typ: + + + + MIDI Ins: + Wej. MIDI: + + + + Audio Ins: + Wej. dźwięku: + + + + CV Outs: + Wyj. CV: + + + + MIDI Outs: + Wyj. MIDI: + + + + Parameter Ins: + Wej. parametru: + + + + Parameter Outs: + Wyj. parametru: + + + + Audio Outs: + Wyj. dźwięku: + + + + CV Ins: + Wej. CV: + + + + UniqueID: + + + + + Has Inline Display: + Posiada wyświetlacz liniowy: + + + + Has Custom GUI: + Posiada niestandardowy graficzny interfejs użytkownika: + + + + Is Synth: + Jest syntezatorem: + + + + Is Bridged: + Jest mostkowane: + + + + Information + Informacje + + + + Name + Nazwa + + + + Label/Id/URI + + + + + Maker + Twórca + + + + Binary/Filename + Binarny/nazwa pliku + + + + Format + Format + + + + Internal + Wewnętrzne + + + + LADSPA + LADSPA + + + + DSSI + DSSI + + + + LV2 + LV2 + + + + VST2 + VST2 + + + + VST3 + VST3 + + + + CLAP + CLAP + + + + AU + AU + + + + JSFX + JSFX + + + + Sound Kits + Zestawy dźwięków + + + + Type + Typ + + + + Effects + Efekty + + + + Instruments + Instrumenty + + + + MIDI Plugins + Wtyczki MIDI + + + + Other/Misc + Inne/różne + + + + Category + Kategoria + + + + All + Wszystko + + + + Delay + Opóźnienie + + + + Distortion + Zniekształcenie + + + + Dynamics + Dynamiki + + + + EQ + EQ + + + + Filter + Filtr + + + + Modulator + Modulator + + + + Synth + Syntezator + + + + Utility + + + + + + Other + Inne + + + + Architecture + Architektura + + + + + Native + Natywne + + + + Bridged + Mostkowane + + + + Bridged (Wine) + Mostkowane (Wine) + + + + Focus Text Search + Skup się na wyszukiwaniu tekstu + + + + Ctrl+F + Ctrl+F + + + + Bridged (32bit) + Mostkowane (32-bitowe) + + + + Discovering internal plugins... + Odkrywanie wtyczek wewnętrznych... + + + + Discovering LADSPA plugins... + Odkrywanie wtyczek LADSPA... + + + + Discovering DSSI plugins... + Odkrywanie wtyczek DSSI... + + + + Discovering LV2 plugins... + Odkrywanie wtyczek LV2... + + + + Discovering VST2 plugins... + Odkrywanie wtyczek VST2... + + + + Discovering VST3 plugins... + Odkrywanie wtyczek VST3... + + + + Discovering CLAP plugins... + Odkrywanie wtyczek CLAP... + + + + Discovering AU plugins... + Odkrywanie wtyczek AU... + + + + Discovering JSFX plugins... + Odkrywanie wtyczek JSFX... + + + + Discovering SF2 kits... + Odkrywanie zestawów SF2... + + + + Discovering SFZ kits... + Odkrywanie zestawów SFZ... + + + + Unknown + Nieznane + + + + + + + Yes + Tak + + + + + + + No + Nie + + + + PluginParameter + + + Form + Z + + + + Parameter Name + Nazwa parametru + + + + TextLabel + EtykietaTekstowa + + + + ... + ... + + + + PluginRefreshDialog + + + Plugin Refresh + Odświeżanie wtyczek + + + + Search for: + Szukaj: + + + + All plugins, ignoring cache + Wszystkie wtyczki, ignorując pamięć podręczną + + + + Updated plugins only + Tylko zaktualizowane wtyczki + + + + Check previously invalid plugins + Sprawdź wcześniej nieprawidłowe wtyczki + + + + Press 'Scan' to begin the search + Naciśnij „Skanuj”, aby rozpocząć wyszukiwanie + + + + Scan + Skanuj + + + + >> Skip + >> Pomiń + + + + Close + Zamknij + + + + PluginWidget + + + + + + + Frame + Ramka + + + + Enable + Włącz + + + + On/Off + Wł./wył. + + + + + + + PluginName + NazwaWtyczki + + + + MIDI + MIDI + + + + AUDIO IN + WEJ. DŹW. + + + + AUDIO OUT + WYJ. DŹW. + + + + GUI + Graficzny interfejs użytkownika + + + + Edit + Edycja + + + + Remove + Usuń + + + + Plugin Name + Nazwa wtyczki + + + + Preset: + Preset: + + + + ProjectRenderer + + + WAV (*.wav) + WAV (*.wav) + + + + FLAC (*.flac) + FLAC (*.flac) + + + + OGG (*.ogg) + OGG (*.ogg) + + + + MP3 (*.mp3) + MP3 (*.mp3) + + + + QGroupBox + + + + Settings for %1 + Ustawienia %1 + + + + QObject + + + Reload Plugin + Przeładuj wtyczkę + + + + Show GUI + Pokaż graficzny interfejs użytkownika + + + + Help + Pomoc + + + + LADSPA plugins + Wtyczki LADSPA + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + Projekt zawiera %1 wtyczek LADSPA, które mogły nie zostać poprawnie przywrócone! Sprawdź projekt. + + + + URI: + URI: + + + + Project: + Projekt: + + + + Maker: + Twórca: + + + + Homepage: + Strona główna: + + + + License: + Licencja: + + + + File: %1 + Plik: %1 + + + + failed to load description + nie można załadować opisu + + + + Open audio file + Otwórz plik dźwiękowy + + + + Error loading sample + Błąd ładowania próbki + + + + %1 (unsupported) + %1 (nieobsługiwany) + + + + QWidget + + + + Name: + Nazwa: + + + + Maker: + Twórca: + + + + Copyright: + Prawa autorskie: + + + + Requires Real Time: + Wymaga czasu rzeczywistego: + + + + + + Yes + Tak + + + + + + No + Nie + + + + Real Time Capable: + Zdolność do pracy w czasie rzeczywistym: + + + + In Place Broken: + Na miejscu złamane: + + + + Channels In: + Kanały wejściowe: + + + + Channels Out: + Kanały wyjściowe: + + + + File: %1 + Plik: %1 + + + + File: + Plik: + + + + XYControllerW + + + XY Controller + Kontroler XY + + + + X Controls: + Sterowanie X: + + + + Y Controls: + Sterowanie Y: + + + + Smooth + Wygładź + + + + &Settings + U&stawienia + + + + Channels + Kanały + + + + &File + &Plik + + + + Show MIDI &Keyboard + Po&każ klawiaturę MIDI + + + + (All) + (Wszystko) + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + 6 + 6 + + + + 7 + 7 + + + + 8 + 8 + + + + 9 + 9 + + + + 10 + 10 + + + + 11 + 11 + + + + 12 + 12 + + + + 13 + 13 + + + + 14 + 14 + + + + 15 + 15 + + + + 16 + 16 + + + + &Quit + Za&kończ + + + + Esc + Esc + + + + (None) + (Brak) + + + + lmms::AmplifierControls + + + Volume + Głośność + + + + Panning + Panoramowanie + + + + Left gain + Lewe wzmocnienie + + + + Right gain + Prawe wzmocnienie + + + + lmms::AudioFileProcessor + + + Amplify + Wzmocnij + + + + Start of sample + Początek próbki + + + + End of sample + Koniec próbki + + + + Loopback point + Znacznik zapętlenia + + + + Reverse sample + Odwróć próbkę + + + + Loop mode + Tryb pętli + + + + Stutter + Zacinanie + + + + Interpolation mode + Tryb interpolacji + + + + None + Brak + + + + Linear + Liniowy + + + + Sinc + + + + + Sample not found + Nie znaleziono próbki + + + + lmms::AudioJack + + + JACK client restarted + Klient JACK zrestartowany + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + LMMS został odrzucony przez JACK z jakiegoś powodu. Back-end LMMSa został zrestartowany, więc możesz ponownie dokonać ręcznych połączeń. + + + + JACK server down + Serwer JACK wyłączony + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + Wygląda na to, że serwer JACK został wyłączony i uruchomienie nowej instancji nie powiodło się. LMMS nie może kontynuować pracy. Zapisz projekt i uruchom ponownie serwer JACK i LMMS. + + + + Client name + Nazwa klienta + + + + Channels + Kanały + + + + lmms::AudioOss + + + Device + Urządzenie + + + + Channels + Kanały + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Backend + + + Device Urządzenie - MonstroInstrument + lmms::AudioPulseAudio - - Osc 1 volume - + + Device + Urządzenie - - Osc 1 panning - + + Channels + Kanały + + + lmms::AudioSdl::setupWidget - - Osc 1 coarse detune - + + Playback device + Urządzenie odtwarzające - - Osc 1 fine detune left - + + Input device + Urządzenie wejściowe + + + lmms::AudioSndio - - Osc 1 fine detune right - + + Device + Urządzenie - - Osc 1 stereo phase offset - + + Channels + Kanały + + + lmms::AudioSoundIo::setupWidget - - Osc 1 pulse width - + + Backend + Backend - - Osc 1 sync send on rise - + + Device + Urządzenie + + + lmms::AutomatableModel - - Osc 1 sync send on fall - + + &Reset (%1%2) + &Resetuj (%1%2) - - Osc 2 volume - + + &Copy value (%1%2) + &Kopiuj wartość (%1%2) - - Osc 2 panning - + + &Paste value (%1%2) + Wklej wa&rtość (%1%2) - - Osc 2 coarse detune - + + &Paste value + Wklej wa&rtość - - Osc 2 fine detune left - + + Edit song-global automation + Edytuj ogólną automatykę utworu - - Osc 2 fine detune right - + + Remove song-global automation + Usuń ogólną automatykę utworu - - Osc 2 stereo phase offset + + Remove all linked controls - - Osc 2 waveform - + + Connected to %1 + Podłączony do %1 - - Osc 2 sync hard - + + Connected to controller + Podłączony do kontrolera - - Osc 2 sync reverse - + + Edit connection... + Edytuj połączenie... - - Osc 3 volume - + + Remove connection + Usuń połączenie - - Osc 3 panning - + + Connect to controller... + Podłącz do kontrolera... + + + lmms::AutomationClip - - Osc 3 coarse detune - + + Drag a control while pressing <%1> + Przeciągnij, trzymając naciśnięty <%1> + + + lmms::AutomationTrack - - Osc 3 Stereo phase offset - Osc 3 Przesunięcie fazowe stereo + + Automation track + Ścieżka automatyki + + + lmms::BassBoosterControls - - Osc 3 sub-oscillator mix - + + Frequency + Częstotliwość - - Osc 3 waveform 1 - + + Gain + Wzmocnienie - - Osc 3 waveform 2 - + + Ratio + Współczynnik + + + lmms::BitInvader - - Osc 3 sync hard - + + Sample length + Długość próbki - - Osc 3 Sync reverse - + + Interpolation + Interpolacja - - LFO 1 waveform - + + Normalize + Normalizacja + + + lmms::BitcrushControls - - LFO 1 attack - + + Input gain + Wzmocnienie wejścia - - LFO 1 rate - + + Input noise + Szum wejścia - - LFO 1 phase - + + Output gain + Wzmocnienie wyjścia - - LFO 2 waveform - + + Output clip + Obcięcie wyjścia - - LFO 2 attack - + + Sample rate + Częstotliwość próbkowania - - LFO 2 rate - + + Stereo difference + Różnica stereo - - LFO 2 phase - + + Levels + Poziomy - - Env 1 pre-delay + + Rate enabled - - Env 1 attack - + + Depth enabled + Głębia włączona + + + lmms::Clip - - Env 1 hold - + + Mute + Cisza + + + lmms::CompressorControls - - Env 1 decay - + + Threshold + Próg - - Env 1 sustain - + + Ratio + Współczynnik - - Env 1 release - + + Attack + Narastanie - - Env 1 slope - + + Release + Opadanie - - Env 2 pre-delay - + + Knee + Czułość - - Env 2 attack + + Hold - - Env 2 hold - + + Range + Zakres - - Env 2 decay - + + RMS Size + Rozmiar RMS - - Env 2 sustain - + + Mid/Side + Śr./b. - - Env 2 release - + + Peak Mode + Tryb szczytowy - - Env 2 slope + + Lookahead Length - - Osc 2+3 modulation - + + Input Balance + Równowaga wejścia - - Selected view - Wybrany widok + + Output Balance + Równowaga wyjścia - - Osc 1 - Vol env 1 - + + Limiter + Limiter - - Osc 1 - Vol env 2 - + + Output Gain + Wzmocnienie wyjścia - - Osc 1 - Vol LFO 1 - + + Input Gain + Wzmocnienie wejścia - - Osc 1 - Vol LFO 2 + + Blend - - Osc 2 - Vol env 1 + + Stereo Balance + Równowaga stereo + + + + Auto Makeup Gain + Autoupiększanie wzmocnienia + + + + Audition + Przesłuchanie + + + + Feedback + Sprzężenie zwrotne + + + + Auto Attack - - Osc 2 - Vol env 2 + + Auto Release - - Osc 2 - Vol LFO 1 + + Lookahead - - Osc 2 - Vol LFO 2 + + Tilt + Nachylenie + + + + Tilt Frequency + Częstotliwość nachylenia + + + + Stereo Link - - Osc 3 - Vol env 1 + + Mix + Miks + + + + lmms::Controller + + + Controller %1 + Kontroler %1 + + + + lmms::DelayControls + + + Delay samples + Opóźnij próbki + + + + Feedback + Sprzężenie zwrotne + + + + LFO frequency + Częstotliwość LFO + + + + LFO amount + Wartość LFO + + + + Output gain + Wzmocnienie wyjścia + + + + lmms::DispersionControls + + + Amount + Wartość + + + + Frequency + Częstotliwość + + + + Resonance + Rezonans + + + + Feedback + Sprzężenie zwrotne + + + + DC Offset Removal + Usuwanie przesunięcia DC + + + + lmms::DualFilterControls + + + Filter 1 enabled + Włączono filtr 1 + + + + Filter 1 type + Typ filtra 1 + + + + Cutoff frequency 1 + Częstotliwość graniczna 1 + + + + Q/Resonance 1 + Q/Rezonans 1 + + + + Gain 1 + Wzmocnienie 1 + + + + Mix + Miks + + + + Filter 2 enabled + Włączono filtr 2 + + + + Filter 2 type + Typ filtra 2 + + + + Cutoff frequency 2 + Częstotliwość graniczna 2 + + + + Q/Resonance 2 + Q/Rezonans 2 + + + + Gain 2 + Wzmocnienie 2 + + + + + Low-pass + Niski przebieg + + + + + Hi-pass + Wysoki przebieg + + + + + Band-pass csg + Pasmowoprzepustowy csg + + + + + Band-pass czpg + Pasmowoprzepustowy czpg + + + + + Notch + Pasmowozaporowy + + + + + All-pass + Wszystkie przebiegi + + + + + Moog + Moog + + + + + 2x Low-pass + 2x niski przebieg + + + + + RC Low-pass 12 dB/oct - - Osc 3 - Vol env 2 + + + RC Band-pass 12 dB/oct - - Osc 3 - Vol LFO 1 + + + RC High-pass 12 dB/oct - - Osc 3 - Vol LFO 2 + + + RC Low-pass 24 dB/oct - - Osc 1 - Phs env 1 + + + RC Band-pass 24 dB/oct - - Osc 1 - Phs env 2 + + + RC High-pass 24 dB/oct - - Osc 1 - Phs LFO 1 + + + Vocal Formant - - Osc 1 - Phs LFO 2 + + + 2x Moog + 2x Moog + + + + + SV Low-pass - - Osc 2 - Phs env 1 + + + SV Band-pass - - Osc 2 - Phs env 2 + + + SV High-pass - - Osc 2 - Phs LFO 1 + + + SV Notch + SV zaporowy + + + + + Fast Formant - - Osc 2 - Phs LFO 2 + + + Tripole + Trójnik + + + + lmms::DynProcControls + + + Input gain + Wzmocnienie wejścia + + + + Output gain + Wzmocnienie wyjścia + + + + Attack time + Czas narastania + + + + Release time + Czas opadania + + + + Stereo mode + Tryb stereo + + + + lmms::Effect + + + Effect enabled + Efekt włączony + + + + Wet/Dry mix + Miksowanie suchy/mokry + + + + Gate + Bramka + + + + Decay + + + lmms::EffectChain + + + Effects enabled + Efekty włączone + + + + lmms::Engine + + + Generating wavetables + Generowanie tabel sampli dźwiękowych + + + + Initializing data structures + Inicjalizowanie struktur danych + - - Osc 3 - Phs env 1 + + Opening audio and midi devices + Otwieranie urządzeń dźwiękowych i MIDI + + + + Launching audio engine threads + Uruchamianie wątków silnika dźwięku + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Opóźnienie wstępne obwiedni + + + + Env attack + Narastanie obw. + + + + Env hold - - Osc 3 - Phs env 2 + + Env decay - - Osc 3 - Phs LFO 1 + + Env sustain - - Osc 3 - Phs LFO 2 + + Env release + Opadanie obw. + + + + Env mod amount + Wartość mod. obw. + + + + LFO pre-delay + Opóźnienie wstępne LFO + + + + LFO attack + Narastanie LFO + + + + LFO frequency + Częstotliwość LFO + + + + LFO mod amount + Wartość mod. LFO + + + + LFO wave shape + Kształt fali LFO + + + + LFO frequency x 100 + Częstotliwość LFO x 100 + + + + Modulate env amount + Moduluj wartość obw. + + + + Sample not found + Nie znaleziono próbki + + + + lmms::EqControls + + + Input gain + Wzmocnienie wejścia + + + + Output gain + Wzmocnienie wyjścia + + + + Low-shelf gain + Wzmocnienie dolnopółkowe + + + + Peak 1 gain - - Osc 1 - Pit env 1 + + Peak 2 gain - - Osc 1 - Pit env 2 + + Peak 3 gain - - Osc 1 - Pit LFO 1 + + Peak 4 gain - - Osc 1 - Pit LFO 2 + + High-shelf gain + Wzmocnienie górnopółkowe + + + + HP res + Rez. HP + + + + Low-shelf res + Rez. dolnopółkowy + + + + Peak 1 BW - - Osc 2 - Pit env 1 + + Peak 2 BW - - Osc 2 - Pit env 2 + + Peak 3 BW - - Osc 2 - Pit LFO 1 + + Peak 4 BW - - Osc 2 - Pit LFO 2 + + High-shelf res + Rez. górnopółkowy + + + + LP res + Rez. LP + + + + HP freq + Częst. HP + + + + Low-shelf freq + Częst. dolnopółkowa + + + + Peak 1 freq - - Osc 3 - Pit env 1 + + Peak 2 freq - - Osc 3 - Pit env 2 + + Peak 3 freq - - Osc 3 - Pit LFO 1 + + Peak 4 freq - - Osc 3 - Pit LFO 2 + + High-shelf freq + Częst. górnopółkowa + + + + LP freq + Częst. LP + + + + HP active + HP aktywny + + + + Low-shelf active + Dolnopółkowy aktywny + + + + Peak 1 active + Szczyt 1 aktywny + + + + Peak 2 active + Szczyt 2 aktywny + + + + Peak 3 active + Szczyt 3 aktywny + + + + Peak 4 active + Szczyt 4 aktywny + + + + High-shelf active + Górnopółkowy aktywny + + + + LP active + LP aktywny + + + + LP 12 + LP 12 + + + + LP 24 + LP 24 + + + + LP 48 + LP 48 + + + + HP 12 + HP 12 + + + + HP 24 + HP 24 + + + + HP 48 + HP 48 + + + + Low-pass type - - Osc 1 - PW env 1 + + High-pass type - - Osc 1 - PW env 2 + + Analyse IN + Analizuj WEJŚCIE + + + + Analyse OUT + Analizuj WYJŚCIE + + + + lmms::FlangerControls + + + Delay samples + Opóźnij próbki + + + + LFO frequency + Częstotliwość LFO + + + + Amount + Wartość + + + + Stereo phase + Faza stereo + + + + Feedback + Sprzężenie zwrotne + + + + Noise + Szum + + + + Invert + Odwróć + + + + lmms::FreeBoyInstrument + + + Sweep time + Czas wobulacji + + + + Sweep direction + Kierunek wobulacji + + + + Sweep rate shift amount - - Osc 1 - PW LFO 1 + + + Wave pattern duty cycle + Współczynnik wypełnienia szablonu fali + + + + Channel 1 volume + Głośność kanału 1 + + + + + + Volume sweep direction + Kierunek wobulacji głośności + + + + + + Length of each step in sweep + Długość każdego kroku wobulacji + + + + Channel 2 volume + Głośność kanału 2 + + + + Channel 3 volume + Głośność kanału 3 + + + + Channel 4 volume + Głośność kanału 4 + + + + Shift Register width - - Osc 1 - PW LFO 2 + + Right output level + Poziom prawego wyjścia + + + + Left output level + Poziom lewego wyjścia + + + + Channel 1 to SO2 (Left) + Kanał 1 do SO2 (lewy) + + + + Channel 2 to SO2 (Left) + Kanał 2 do SO2 (lewy) + + + + Channel 3 to SO2 (Left) + Kanał 3 do SO2 (lewy) + + + + Channel 4 to SO2 (Left) + Kanał 4 do SO2 (lewy) + + + + Channel 1 to SO1 (Right) + Kanał 1 do SO1 (prawy) + + + + Channel 2 to SO1 (Right) + Kanał 2 do SO1 (prawy) + + + + Channel 3 to SO1 (Right) + Kanał 3 do SO1 (prawy) + + + + Channel 4 to SO1 (Right) + Kanał 4 do SO1 (prawy) + + + + Treble + Soprany + + + + Bass + Basy + + + + lmms::GigInstrument + + + Bank + Bank + + + + Patch + Próbka + + + + Gain + Wzmocnienie + + + + lmms::GranularPitchShifterControls + + + Pitch + Odstrojenie + + + + Grain Size + Wielkość ziarna + + + + Spray - - Osc 3 - Sub env 1 + + Jitter - - Osc 3 - Sub env 2 + + Twitch - - Osc 3 - Sub LFO 1 + + Pitch Stereo Spread - - Osc 3 - Sub LFO 2 + + Spray Stereo - - - Sine wave - Fala sinusoidalna + + Shape + Kształt + + + + Fade Length + Długość ściszenia + + + + Feedback + Sprzężenie zwrotne - - Bandlimited Triangle wave - Fala trójkątna pasmowo limitowana + + Minimum Allowed Latency + Minimalne dozwolone opóźnienie - - Bandlimited Saw wave - Fala piłokształtna pasmowo limitowana + + Prefilter + Filtr wstępny - - Bandlimited Ramp wave - Fala rampowa pasmowo limitowana + + Density + Gęstość - - Bandlimited Square wave - Fala kwadratowa pasmowo limitowana + + Glide + Poślizg - - Bandlimited Moog saw wave - Fala piłokształtna Mooga pasmowo limitowana + + Ring Buffer Length + - - - Soft square wave - Fala kwadratowa łagodna + + 5 Seconds + 5 sekund - - Absolute sine wave - Fala sinusoidalna o wartości bezwzględnej + + 10 Seconds (Size) + 10 sekund (rozmiar) - - - Exponential wave - Fala wykładnicza + + 40 Seconds (Size and Pitch) + 40 sekund (rozmiar i odstrojenie) - - White noise - Biały szum + + 40 Seconds (Size and Spray and Jitter) + - - Digital Triangle wave - Cyfrowa fala trójkątna + + 120 Seconds (All of the above) + 120 sekund (wszystkie powyższe) + + + lmms::InstrumentFunctionArpeggio - - Digital Saw wave - Cyfrowa fala piłokształtna + + Arpeggio + Arpeggio - - Digital Ramp wave - Cyfrowa fala rampowa + + Arpeggio type + Typ arpeggio + + + + Arpeggio range + Zakres arpeggio + + + + Note repeats + Powtórzenia nuty + + + + Cycle steps + Kroki cyklu + + + + Skip rate + + + + + Miss rate + - - Digital Square wave - Cyfrowa fala kwadratowa + + Arpeggio time + Czas arpeggio - - Digital Moog saw wave - Cyfrowa fala piłokształtna Mooga + + Arpeggio gate + Bramka arpeggio - - Triangle wave - Fala trójkątna + + Arpeggio direction + Kierunek arpeggio - - Saw wave - Fala piłokształtna + + Arpeggio mode + Tryb arpeggio - - Ramp wave - Fala rampowa + + Up + W górę - - Square wave - Fala prostokątna + + Down + W dół - - Moog saw wave - Fala piłokształtna Mooga + + Up and down + W górę i w dół - - Abs. sine wave - Fala sin. o wart. bezwzgl. + + Down and up + W dół i w górę - + Random Losowe - + + Free + Dowolne + + + + Sort + Posortowane + + + + Sync + Zsynchronizowane + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + Akordy + + + + Chord type + Typ akordu + + + + Chord range + Zakres akordu + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + Obwiednie/oscylatory LFO + + + + Filter type + Typ filtra + + + + Cutoff frequency + Częstotliwość graniczna + + + + Q/Resonance + Q/Rezonans + + + + Low-pass + Niski przebieg + + + + Hi-pass + Wysoki przebieg + + + + Band-pass csg + Pasmowoprzepustowy csg + + + + Band-pass czpg + Pasmowoprzepustowy czpg + + + + Notch + Pasmowozaporowy + + + + All-pass + Wszystkie przebiegi + + + + Moog + Moog + + + + 2x Low-pass + 2x niski przebieg + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + 2x Moog + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + SV zaporowy + + + + Fast Formant + + + + + Tripole + Trójnik + + + + lmms::InstrumentTrack + + + + unnamed_track + nienazwana_ścieżka + + + + Base note + Nuta bazowa + + + + First note + Pierwsza nuta + + + + Last note + Ostatnia nuta + + + + Volume + Głośność + + + + Panning + Panoramowanie + + + + Pitch + Odstrojenie + + + + Pitch range + Zakres odstrojenia + + + + Mixer channel + Kanał miksera + + + + Master pitch + Odstrojenie główne + + + + Enable/Disable MIDI CC + Włącz/wyłącz MIDI CC + + + + CC Controller %1 + Kontroler CC %1 + + + + + Default preset + Preset domyślny + + + + lmms::Keymap + + + empty + pusty + + + + lmms::KickerInstrument + + + Start frequency + Częstotliwość początkowa + + + + End frequency + Częstotliwość końcowa + + + + Length + Długość + + + + Start distortion + Początek zniekształcenia + + + + End distortion + Koniec zniekształcenia + + + + Gain + Wzmocnienie + + + + Envelope slope + Nachylenie obwiedni + + + + Noise + Szum + + + + Click + Kliknięcie + + + + Frequency slope + Nachylenie częstotliwości + + + + Start from note + Rozpocznij od nuty + + + + End to note + Zakończ do nuty + + + + lmms::LOMMControls + + + Depth + Głębia + + + + Time + Czas + + + + Input Volume + Głośność wejściowa + + + + Output Volume + Głośność wyjściowa + + + + Upward Depth + Głębia w górę + + + + Downward Depth + Głębia w dół + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + Czas RMS + + + + Knee + Czułość + + + + Range + Zakres + + + + Balance + Równowaga + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + Miks + + + + Feedback + Sprzężenie zwrotne + + + + Mid/Side + Śr./b. + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + Wytłumienie kompresji w górę dla pasma bocznego + + + + lmms::LadspaControl + + + Link channels + Połącz kanały + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + Zażądano nieznanej wtyczki LADSPA %1. + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + Częstotliwość graniczna VCF + + + + VCF Resonance + Rezonans VCF + + + + VCF Envelope Mod + Mod. obwiedni VCF + + + + VCF Envelope Decay + + + + + Distortion + Zniekształcenie + + + + Waveform + Kształt fali + + + + Slide Decay + + + + + Slide + Ślizg + + + + Accent + Akcent + + + + Dead + Martwy + + + + 24dB/oct Filter + Filtr 24 dB/okt + + + + lmms::LfoController + + + LFO Controller + Kontroler LFO + + + + Base value + Wartość bazowa + + + + Oscillator speed + Prędkość oscylatora + + + + Oscillator amount + Wartość oscylatora + + + + Oscillator phase + Faza oscylatora + + + + Oscillator waveform + Kształt fali oscylatora + + + + Frequency Multiplier + Mnożnik częstotliwości + + + + Sample not found + Nie znaleziono próbki + + + + lmms::MalletsInstrument + + + Hardness + Twardość + + + + Position + Pozycja + + + + Vibrato gain + Wzmocnienie vibrato + + + + Vibrato frequency + Częstotliwość vibrato + + + + Stick mix + + + + + Modulator + Modulator + + + + Crossfade + Płynne przechodzenie + + + + LFO speed + Prędkość LFO + + + + LFO depth + Głębia LFO + + + + ADSR + ADSR + + + + Pressure + Ciśnienie + + + + Motion + Ruch + + + + Speed + Prędkość + + + + Bowed + Pochylenie + + + + Instrument + Instrument + + + + Spread + Rozstrzał + + + + Randomness + Losowość + + + + Marimba + Marimba + + + + Vibraphone + Wibrafon + + + + Agogo + Agogo + + + + Wood 1 + Drewniane 1 + + + + Reso + Rez. + + + + Wood 2 + Drewniane 2 + + + + Beats + Uderzenia + + + + Two fixed + Dwa stałe + + + + Clump + Stąpanie + + + + Tubular bells + Tubular bells + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + Harfa szklana + + + + Tibetan bowl + Misa dźwiękowa (tybetańska) + + + + lmms::MeterModel + + + Numerator + Numerator + + + + Denominator + Denominator + + + + lmms::Microtuner + + + Microtuner + Mikrotuner + + + + Microtuner on / off + Mikrotuner wł./wył. + + + + Selected scale + Wybrana skala + + + + Selected keyboard mapping + Wybrane mapowanie klawiszy + + + + lmms::MidiController + + + MIDI Controller + Kontroler MIDI + + + + unnamed_midi_controller + nienazwany_kontroler_midi + + + + lmms::MidiImport + + + + Setup incomplete + Konfiguracja niekompletna + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Nie masz ustawionego domyślnego SoundFontu w oknie dialogowym ustawień (Edycja -> Ustawienia). Dlatego żaden dźwięk nie zostanie odtworzony po zaimportowaniu tego pliku MIDI. Powinieneś/aś pobrać SoundFont General MIDI, określić go w oknie dialogowym ustawień i spróbować ponownie. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + Nie skompilowałeś/aś LMMS ze wsparciem dla odtwarzacza SoundFont2, który jest używany do dodawania domyślnego dźwięku do importowanych plików MIDI. Dlatego żaden dźwięk nie zostanie odtworzony po zaimportowaniu tego pliku MIDI. + + + + MIDI Time Signature Numerator + Numerator oznaczenia metrycznego MIDI + + + + MIDI Time Signature Denominator + Denominator oznaczenia metrycznego MIDI + + + + Numerator + Numerator + + + + Denominator + Denominator + + + + + Tempo + Tempo + + + + Track + Ścieżka + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + Serwer JACK wyłączony + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + Wygląda na to, że serwer JACK jest wyłączony. + + + + lmms::MidiPort + + + Input channel + Kanał wejściowy + + + + Output channel + Kanał wyjściowy + + + + Input controller + Kontroler wejściowy + + + + Output controller + Kontroler wyjściowy + + + + Fixed input velocity + Stała głośność wejściowa + + + + Fixed output velocity + Stała głośność wyjściowa + + + + Fixed output note + Stała nuta wyjściowa + + + + Output MIDI program + Wyjściowy program MIDI + + + + Base velocity + Głośność bazowa + + + + Receive MIDI-events + Odbieraj zdarzenia MIDI + + + + Send MIDI-events + Wysyłaj zdarzenia MIDI + + + + lmms::Mixer + + + Master + Master + + + + + + Channel %1 + Kanał %1 + + + + Volume + Głośność + + + + Mute + Cisza + + + + Solo + Solo + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + Wartość do wysłania z kanału %1 do kanału %2 + + + + lmms::MonstroInstrument + + + Osc 1 volume + Głośność osc 1 + + + + Osc 1 panning + Panoramowanie osc 1 + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + Przesunięcie fazowe stereo osc 1 + + + + Osc 1 pulse width + Współczynnik wypełnienia impulsu osc 1 + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + Głośność osc 2 + + + + Osc 2 panning + Panoramowanie osc 2 + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + Przesunięcie fazowe stereo osc 2 + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + Głośność osc 3 + + + + Osc 3 panning + Panoramowanie osc 3 + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + Przesunięcie fazowe stereo osc 3 + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + Narastanie LFO 1 + + + + LFO 1 rate + + + + + LFO 1 phase + Faza LFO 1 + + + + LFO 2 waveform + + + + + LFO 2 attack + Narastanie LFO 2 + + + + LFO 2 rate + + + + + LFO 2 phase + Faza LFO 2 + + + + Env 1 pre-delay + + + + + Env 1 attack + Narastanie obw. 1 + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + Opadanie obw. 1 + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + Narastanie obw. 2 + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + Opadanie obw. 2 + + + + Env 2 slope + + + + + Osc 2+3 modulation + Modulacja osc 2+3 + + + + Selected view + Wybrany widok + + + + Osc 1 - Vol env 1 + Osc 1 - Gł. obw. 1 + + + + Osc 1 - Vol env 2 + Osc 1 - Gł. obw. 2 + + + + Osc 1 - Vol LFO 1 + Osc 1 - Gł. LFO 1 + + + + Osc 1 - Vol LFO 2 + Osc 1 - Gł. LFO 2 + + + + Osc 2 - Vol env 1 + Osc 2 - Gł. obw. 1 + + + + Osc 2 - Vol env 2 + Osc 2 - Gł. obw. 2 + + + + Osc 2 - Vol LFO 1 + Osc 2 - Gł. LFO 1 + + + + Osc 2 - Vol LFO 2 + Osc 2 - Gł. LFO 2 + + + + Osc 3 - Vol env 1 + Osc 3 - Gł. obw. 1 + + + + Osc 3 - Vol env 2 + Osc 3 - Gł. obw. 2 + + + + Osc 3 - Vol LFO 1 + Osc 3 - Gł. LFO 1 + + + + Osc 3 - Vol LFO 2 + Osc 3 - Gł. LFO 2 + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + Fala sinusoidalna + + + + Bandlimited Triangle wave + Fala trójkątna pasmowo limitowana + + + + Bandlimited Saw wave + Fala piłokształtna pasmowo limitowana + + + + Bandlimited Ramp wave + Fala rampowa pasmowo limitowana + + + + Bandlimited Square wave + Fala kwadratowa pasmowo limitowana + + + + Bandlimited Moog saw wave + Fala piłokształtna Mooga pasmowo limitowana + + + + + Soft square wave + Fala kwadratowa łagodna + + + + Absolute sine wave + Fala sinusoidalna o wartości bezwzględnej + + + + + Exponential wave + Fala wykładnicza + + + + White noise + Szum biały + + + + Digital Triangle wave + Cyfrowa fala trójkątna + + + + Digital Saw wave + Cyfrowa fala piłokształtna + + + + Digital Ramp wave + Cyfrowa fala rampowa + + + + Digital Square wave + Cyfrowa fala kwadratowa + + + + Digital Moog saw wave + Cyfrowa fala piłokształtna Mooga + + + + Triangle wave + Fala trójkątna + + + + Saw wave + Fala piłokształtna + + + + Ramp wave + Fala rampowa + + + + Square wave + Fala prostokątna + + + + Moog saw wave + Fala piłokształtna Mooga + + + + Abs. sine wave + Fala sin. o wart. bezwzgl. + + + + Random + Losowe + + + Random smooth Losowe gładkie - MonstroView + lmms::NesInstrument - - Operators view - Widok operatorowy + + Channel 1 enable + Włącz kanał 1 - - Matrix view - Widok macierzowy + + Channel 1 coarse detune + - - - + + Channel 1 volume + Głośność kanału 1 + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + Włącz kanał 2 + + + + Channel 2 coarse detune + + + + + Channel 2 volume + Głośność kanału 2 + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + Włącz kanał 3 + + + + Channel 3 coarse detune + + + + + Channel 3 volume + Głośność kanału 3 + + + + Channel 4 enable + Włącz kanał 4 + + + + Channel 4 volume + Głośność kanału 4 + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + Głośność główna + + + + Vibrato + Vibrato + + + + lmms::OpulenzInstrument + + + Patch + Próbka + + + + Op 1 attack + Narastanie op 1 + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + Opadanie op 1 + + + + Op 1 level + Poziom op 1 + + + + Op 1 level scaling + Skalowanie poziomu op 1 + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + Tremolo op 1 + + + + Op 1 vibrato + Vibrato op 1 + + + + Op 1 waveform + + + + + Op 2 attack + Narastanie op 2 + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + Opadanie op 2 + + + + Op 2 level + Poziom op 2 + + + + Op 2 level scaling + Skalowanie poziomu op 2 + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + Tremolo op 2 + + + + Op 2 vibrato + Vibrato op 2 + + + + Op 2 waveform + + + + + FM + FM + + + + Vibrato depth + Głębia vibrato + + + + Tremolo depth + Głębia tremolo + + + + lmms::OrganicInstrument + + + Distortion + Zniekształcenie + + + + Volume + Głośność + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + Przesunięcie fazowe osc %1 + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + Typ modulacji %1 + + + + lmms::PatternTrack + + + Pattern %1 + Szablon %1 + + + + Clone of %1 + Klon %1 + + + + lmms::PeakController + + + Peak Controller + Kontroler szczytu + + + + Peak Controller Bug + Błąd kontrolera szczytu + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + Z powodu błędu w starszej wersji LMMS kontrolery szczytu mogą nie być prawidłowo podłączone. Upewnij się, że kontrolery szczytu są prawidłowo podłączone i ponownie zapisz ten plik. + + + + lmms::PeakControllerEffectControls + + + Base value + Wartość bazowa + + + + Modulation amount + Wartość modulacji + + + + Attack + Narastanie + + + + Release + Opadanie + + + + Treshold + Próg + + + + Mute output + Wycisz wyjście + + + + Absolute value + Wartość bezwzględna + + + + Amount multiplicator + Mnożnik wartości + + + + lmms::Plugin + + + Plugin not found + Nie znaleziono wtyczki + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + Wtyczka „%1” nie została znaleziona lub nie może zostać załadowana! +Powód: „%2” + + + + Error while loading plugin + Wystąpił błąd podczas ładowania wtyczki + + + + Failed to load plugin "%1"! + Nie można załadować wtyczki „%1”! + + + + lmms::ReverbSCControls + + + Input gain + Wzmocnienie wejścia + + + + Size + Rozmiar + + + + Color + Kolor + + + + Output gain + Wzmocnienie wyjścia + + + + lmms::SaControls + + + Pause + Wstrzymaj + + + + Reference freeze + Zamrożenie odniesienia + + + + Waterfall + Wodospad + + + + Averaging + Uśrednianie + + + + Stereo + Stereo + + + + Peak hold + + + + + Logarithmic frequency + Częstotliwość logarytmiczna + + + + Logarithmic amplitude + Amplituda logarytmiczna + + + + Frequency range + Zakres częstotliwości + + + + Amplitude range + Zakres amplitudy + + + + FFT block size + Rozmiar bloku FFT + + + + FFT window type + Typ okna FFT + + + + Peak envelope resolution + + + + + Spectrum display resolution + Rozdzielczość wyświetlania widma + + + + Peak decay multiplier + + + + + Averaging weight + + + + + Waterfall history size + + + + + Waterfall gamma correction + Korekcja gamma wodospadu + + + + FFT window overlap + + + + + FFT zero padding + + + + + + Full (auto) + Pełne (automatyczne) + + + + + + Audible + Słyszalne + + + + Bass + Basy + + + + Mids + Średnie + + + + High + Wysokie + + + + Extended + Rozszerzone + + + + Loud + Głośne + + + + Silent + Ciche + + + + (High time res.) + + + + + (High freq. res.) + + + + + Rectangular (Off) + Prostokątne (wyłączone) + + + + + Blackman-Harris (Default) + Blackman-Harris (domyślne) + + + + Hamming + Hamming + + + + Hanning + Hanning + + + + lmms::SampleClip + + + Sample not found + Nie znaleziono próbki + + + + lmms::SampleTrack + + Volume Głośność - - - + Panning Panoramowanie - - - + + Mixer channel + Kanał miksera + + + + + Sample track + Ścieżka próbek + + + + lmms::Scale + + + empty + pusty + + + + lmms::Sf2Instrument + + + Bank + Bank + + + + Patch + Próbka + + + + Gain + Wzmocnienie + + + + Reverb + Pogłos + + + + Reverb room size + + + + + Reverb damping + Tłumienie pokoju + + + + Reverb width + Szerokość pogłosu + + + + Reverb level + Poziom pogłosu + + + + Chorus + Chorus + + + + Chorus voices + Głosy chorusu + + + + Chorus level + Poziom chorusu + + + + Chorus speed + Prędkość chorusu + + + + Chorus depth + Głębia chorusu + + + + A soundfont %1 could not be loaded. + SoundFont %1 nie może zostać załadowany. + + + + lmms::SfxrInstrument + + + Wave + Fala + + + + lmms::SidInstrument + + + Cutoff frequency + Częstotliwość graniczna + + + + Resonance + Rezonans + + + + Filter type + Typ filtra + + + + Voice 3 off + Wyłącz głos 3 + + + + Volume + Głośność + + + + Chip model + Model układu scalonego + + + + lmms::SlicerT + + + Note threshold + Próg nuty + + + + FadeOut + Ściszenie + + + + Original bpm + Oryginalne BPM + + + + Slice snap + + + + + BPM sync + Synchronizacja BPM + + + + + slice_%1 + + + + + Sample not found: %1 + Nie znaleziono próbki: %1 + + + + lmms::Song + + + Tempo + Tempo + + + + Master volume + Głośność główna + + + + Master pitch + Odstrojenie główne + + + + Aborting project load + Przerwanie ładowania projektu + + + + Project file contains local paths to plugins, which could be used to run malicious code. + Plik projektu zawiera lokalne ścieżki do wtyczek, które mogą zostać wykorzystane do uruchomienia złośliwego kodu. + + + + Can't load project: Project file contains local paths to plugins. + Nie można załadować projektu. Plik projektu zawiera ścieżki lokalne do wtyczek. + + + + LMMS Error report + Zgłoszenie błędu LMMS + + + + (repeated %1 times) + (powtórzone %1 razy) + + + + The following errors occurred while loading: + Podczas ładowania wystąpiły następujące błędy: + + + + lmms::StereoEnhancerControls + + + Width + Szerokość + + + + lmms::StereoMatrixControls + + + Left to Left + + + + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + Cisza + + + + Solo + Solo + + + + lmms::TrackContainer + + + Couldn't import file + Nie można zaimportować pliku + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + Nie można znaleźć filtra do zaimportowania pliku %1. +Musisz przekonwertować ten plik do formatu obsługiwanego przez LMMS za pomocą zewnętrznego oprogramowania. + + + + Couldn't open file + Nie można otworzyć pliku + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + Nie można otworzyć pliku %1 do odczytu. +Upewnij się, że masz uprawnienia do odczytu do pliku i katalogu zawierającego plik i spróbuj ponownie! + + + + Loading project... + Ładowanie projektu... + + + + + Cancel + Anuluj + + + + + Please wait... + Czekaj... + + + + Loading cancelled + Ładowanie anulowane + + + + Project loading was cancelled. + Ładowanie projektu zostało anulowane. + + + + Loading Track %1 (%2/Total %3) + Ładowanie ścieżki %1 (%2/Łącznie %3) + + + + Importing MIDI-file... + Importowanie pliku MIDI... + + + + lmms::TripleOscillator + + + Sample not found + Nie znaleziono próbki + + + + lmms::VecControls + + + Display persistence amount + Wyświetlaj wartość trwałości + + + + Logarithmic scale + Skala logarytmiczna + + + + High quality + Wysoka jakość + + + + lmms::VestigeInstrument + + + Loading plugin + Ładowanie wtyczki + + + + Please wait while loading the VST plugin... + Czekaj. Trwa ładowanie wtyczki VST... + + + + lmms::Vibed + + + String %1 volume + Głośność struny %1 + + + + String %1 stiffness + Sztywność struny %1 + + + + Pick %1 position + Wybierz pozycję %1 + + + + Pickup %1 position + + + + + String %1 panning + Panoramowanie struny %1 + + + + String %1 detune + Odstrojenie struny %1 + + + + String %1 fuzziness + Rozmycie struny %1 + + + + String %1 length + Długość struny %1 + + + + Impulse %1 + Impuls %1 + + + + String %1 + Struna %1 + + + + lmms::VoiceObject + + + Voice %1 pulse width + Współczynnik wypełnienia impulsu głosu %1 + + + + Voice %1 attack + Narastanie głosu %1 + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + Opadanie głosu %1 + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + Kształt fali głosu %1 + + + + Voice %1 sync + Synchronizacja głosu %1 + + + + Voice %1 ring modulate + Modulacja pierścieniowa głosu %1 + + + + Voice %1 filtered + Filtrowanie głosu %1 + + + + Voice %1 test + Test głosu %1 + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + Wtyczka VST %1 nie może zostać załadowana. + + + + Open Preset + Otwórz preset + + + + + VST Plugin Preset (*.fxp *.fxb) + Preset wtyczki VST (*.fxp *.fxb) + + + + : default + : domyślne + + + + Save Preset + Zapisz preset + + + + .fxp + .fxp + + + + .FXP + .FXP + + + + .FXB + .FXB + + + + .fxb + .fxb + + + + Loading plugin + Ładowanie wtyczki + + + + Please wait while loading VST plugin... + Czekaj. Trwa ładowanie wtyczki VST... + + + + lmms::WatsynInstrument + + + Volume A1 + Głośność A1 + + + + Volume A2 + Głośność A2 + + + + Volume B1 + Głośność B1 + + + + Volume B2 + Głośność B2 + + + + Panning A1 + Panoramowanie A1 + + + + Panning A2 + Panoramowanie A2 + + + + Panning B1 + Panoramowanie B1 + + + + Panning B2 + Panoramowanie B2 + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + Miksuj A-B + + + + A-B Mix envelope amount + Miksuj wartość obwiedni A-B + + + + A-B Mix envelope attack + Miksuj narastanie obwiedni A-B + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + Przesłuch A1-B2 + + + + A2-A1 modulation + Modulacja A2-A1 + + + + B2-B1 modulation + Modulacja B2-B1 + + + + Selected graph + Wybrany wykres + + + + lmms::WaveShaperControls + + + Input gain + Wzmocnienie wejścia + + + + Output gain + Wzmocnienie wyjścia + + + + lmms::Xpressive + + + Selected graph + Wybrany wykres + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + W1 smoothing + Wygładzanie W1 + + + + W2 smoothing + Wygładzanie W2 + + + + W3 smoothing + Wygładzanie W3 + + + + Panning 1 + Panoramowanie 1 + + + + Panning 2 + Panoramowanie 2 + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + Portamento + + + + Filter frequency + Częstotliwość filtra + + + + Filter resonance + Rezonans filtra + + + + Bandwidth + Szerokość pasma + + + + FM gain + Wzmocnienie FM + + + + Resonance center frequency + Częstotliwość środkowa rezonansu + + + + Resonance bandwidth + Szerokość pasma rezonansu + + + + Forward MIDI control change events + Przekaż zdarzenia zmiany sterowania MIDI + + + + lmms::graphModel + + + Graph + Wykres + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + Głośność: + + + + PAN + PAN + + + + Panning: + Panoramowanie: + + + + LEFT + LEWO + + + + Left gain: + Lewe wzmocnienie: + + + + RIGHT + PRAWO + + + + Right gain: + Prawe wzmocnienie: + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + Urządzenie + + + + Channels + Kanały + + + + lmms::gui::AudioFileProcessorView + + + Open sample + Otwórz próbkę + + + + Reverse sample + Odwróć próbkę + + + + Disable loop + Wyłącz pętlę + + + + Enable loop + Włącz pętlę + + + + Enable ping-pong loop + Włącz pętlę typu ping-pong + + + + Continue sample playback across notes + Kontunuuj odtwarzanie próbki w następnych nutach + + + + Amplify: + Wzmocnij: + + + + Start point: + Punkt początkowy: + + + + End point: + Punkt końcowy: + + + + Loopback point: + Znacznik zapętlenia: + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + Długość próbki: + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + Otwórz w edytorze automatyki + + + + Clear + Wyczyść + + + + Reset name + Resetuj nazwę + + + + Change name + Zmień nazwę + + + + Set/clear record + Ustaw/wyczyść nagranie + + + + Flip Vertically (Visible) + Odwróć pionowo (widoczne) + + + + Flip Horizontally (Visible) + Odwróć poziomo (widoczne) + + + + %1 Connections + %1 połączenia + + + + Disconnect "%1" + Rozłącz „%1” + + + + Model is already connected to this clip. + Model jest już podłączony do tego klipu. + + + + lmms::gui::AutomationEditor + + + Edit Value + Edytuj wartość + + + + New outValue + Nowa wartość wyjściowa + + + + New inValue + Nowa wartość wejściowa + + + + Please open an automation clip by double-clicking on it! + Otwórz klip automatyzacji, klikając na niego dwukrotnie myszką! + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + Odtwarzaj/wstrzymaj bieżący klip (Spacja) + + + + Stop playing of current clip (Space) + Zatrzymaj odtwarzanie bieżącego klipu (Spacja) + + + + Edit actions + Edytuj czynności + + + + Draw mode (Shift+D) + Tryb rysowania (Shift+D) + + + + Erase mode (Shift+E) + Tryb wymazywania (Shift+E) + + + + Draw outValues mode (Shift+C) + Tryb rysowania wartości wyjściowych (Shift+C) + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + Odwróć pionowo + + + + Flip horizontally + Odwróć poziomo + + + + Interpolation controls + + + + + Discrete progression + Progresja oddzielna + + + + Linear progression + Progresja liniowa + + + + Cubic Hermite progression + Progresja sześcienna Hermite’a + + + + Tension value for spline + Wartość napięcia dla krzywej składanej + + + + Tension: + Napięcie: + + + + Zoom controls + + + + + Horizontal zooming + Powiększanie poziome + + + + Vertical zooming + Powiększanie pionowe + + + + Quantization controls + + + + + Quantization + Kwantyzacja + + + + Clear ghost notes + + + + + + Automation Editor - no clip + Edytor automatyki - brak klipu + + + + + Automation Editor - %1 + Edytor automatyki - %1 + + + + Model is already connected to this clip. + Model jest już podłączony do tego klipu. + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + CZĘST + + + + Frequency: + Częstotliwość: + + + + GAIN + WZMOC + + + + Gain: + Wzmocnienie: + + + + RATIO + WSPÓŁCZYNNIK + + + + Ratio: + Współczynnik: + + + + lmms::gui::BitInvaderView + + + Sample length + Długość próbki + + + + Draw your own waveform here by dragging your mouse on this graph. + Narysuj swój własny przebieg fali, przeciągając kursorem po tym wykresie. + + + + + Sine wave + Fala sinusoidalna + + + + + Triangle wave + Fala trójkątna + + + + + Saw wave + Fala piłokształtna + + + + + Square wave + Fala prostokątna + + + + + White noise + Szum biały + + + + + User-defined wave + Fala zdefiniowana przez użytkownika + + + + + Smooth waveform + Gładki kształt fali + + + + Interpolation + Interpolacja + + + + Normalize + Normalizacja + + + + lmms::gui::BitcrushControlDialog + + + IN + WEJŚCIE + + + + OUT + WYJŚCIE + + + + + GAIN + WZMOC + + + + Input gain: + Wzmocnienie wejścia: + + + + NOISE + SZUM + + + + Input noise: + Szum wejściowy: + + + + Output gain: + Wzmocnienie wyjścia: + + + + CLIP + KLIP + + + + Output clip: + Klip wyjściowy: + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + Głębia włączona + + + + Enable bit-depth crushing + + + + + FREQ + CZĘST + + + + Sample rate: + Częstotliwość próbkowania: + + + + STEREO + STEREO + + + + Stereo difference: + Różnica stereo: + + + + QUANT + KWANT + + + + Levels: + Poziomy: + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + - Nuty i konfiguracja: %1% + + + + - Instruments: %1% + - Instrumenty: %1% + + + + - Effects: %1% + - Efekty: %1% + + + + - Mixing: %1% + - Miksowanie: %1% + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + Pokaż graficzny interfejs użytkownika + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + Kliknij tutaj, aby pokazać lub ukryć graficzny interfejs użytkownika (GUI) Carla. + + + + Params + Parametry + + + + Available from Carla version 2.1 and up. + Dostępne dla Carla w wersji 2.1 lub nowszej. + + + + lmms::gui::CarlaParamsView + + + Search.. + Szukaj... + + + + Clear filter text + Wyczyść tekst filtra + + + + Only show knobs with a connection. + Pokaż tylko pokrętła z połączeniem. + + + + - Parameters + - Parametry + + + + lmms::gui::ClipView + + + Current position + Bieżąca pozycja + + + + Current length + Bieżąca długość + + + + + %1:%2 (%3:%4 to %5:%6) + %1:%2 (%3:%4 do %5:%6) + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + Podpowiedź + + + + Delete (middle mousebutton) + Usuń (środkowy przycisk myszki) + + + + Delete selection (middle mousebutton) + Usuń zaznaczone (środkowy przycisk myszki) + + + + Cut + Wytnij + + + + Cut selection + Wytnij zaznaczenie + + + + Merge Selection + Połącz zaznaczenie + + + + Copy + Kopiuj + + + + Copy selection + Kopiuj zaznaczenie + + + + Paste + Wklej + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + Kolor klipu + + + + Change + Zmień + + + + Reset + Resetuj + + + + Pick random + Wybierz losowe + + + + lmms::gui::CompressorControlDialog + + + Threshold: + Próg: + + + + Volume at which the compression begins to take place + Głośność, przy której rozpoczyna się kompresja + + + + Ratio: + Współczynnik: + + + + How far the compressor must turn the volume down after crossing the threshold + O ile kompresor musi zmniejszyć głośność po przekroczeniu progu + + + + Attack: + Narastanie: + + + + Speed at which the compressor starts to compress the audio + Prędkość, z jaką kompresor rozpoczyna kompresować dźwięk + + + + Release: + Opadanie: + + + + Speed at which the compressor ceases to compress the audio + Prędkość, z jaką kompresor przestaje kompresować dźwięk + + + + Knee: + Czułość: + + + + Smooth out the gain reduction curve around the threshold + Wygładzanie krzywej redukcji wzmocnienia wokół progu + + + + Range: + Zakres: + + + + Maximum gain reduction + Maksymalna redukcja wzmocnienia + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + Jak długo kompresor musi zareagować na sygnał łańcucha bocznego z wyprzedzeniem + + + + Hold: + + + + + Delay between attack and release stages + Opóźnienie między etapami narastania i opadania + + + + RMS Size: + Rozmiar RMS: + + + + Size of the RMS buffer + Rozmiar bufora RMS + + + + Input Balance: + Równowaga wejścia: + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + Równowaga wyjścia: + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + Równowaga stereo: + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + Wzmocnienie nachylenia: + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + Częstotliwość nachylenia: + + + + Center frequency of sidechain tilt filter + + + + + Mix: + Miks: + + + + Balance between wet and dry signals + Równowaga między sygnałami mokrymi i suchymi + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + Wzmocnienie wyjścia + + + + + Gain + Wzmocnienie + + + + Output volume + Głośność wyjściowa + + + + Input gain + Wzmocnienie wejścia + + + + Input volume + Głośność wejściowa + + + + Root Mean Square + Średnia kwadratowa + + + + Use RMS of the input + Użyj RMS wejścia + + + + Peak + Szczyt + + + + Use absolute value of the input + Użyj wartości bezwzględnej wejścia + + + + Left/Right + Lewy/prawy + + + + Compress left and right audio + Kompresuj lewy i prawy + + + + Mid/Side + Śr./b. + + + + Compress mid and side audio + Kompresuj środkowy i boczny + + + + Compressor + Kompresor + + + + Compress the audio + Kompresuj dźwięk + + + + Limiter + Limiter + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + Ustaw współczynnik na nieskończoność (nie ma gwarancji ograniczenia głośności dźwięku) + + + + Unlinked + Niepołączone + + + + Compress each channel separately + Kompresuj każdy kanał oddzielnie + + + + Maximum + Maksimum + + + + Compress based on the loudest channel + Kompresuj w oparciu o najgłośniejszy kanał + + + + Average + Średnie + + + + Compress based on the averaged channel volume + Kompresuj w oparciu o średniej głośności kanał + + + + Minimum + Minimum + + + + Compress based on the quietest channel + Kompresuj w oparciu o najcichszy kanał + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + Autoupiększanie wzmocnienia + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + Automatyczna zmiana upiększania wzmocnienia w zależności od ustawień progu, czułości i współczynnika + + + + + Soft Clip + + + + + Play the delta signal + Odtwrzaj sygnał delta + + + + Use the compressor's output as the sidechain input + Użyj wyjścia kompresora jako wejścia łańcucha bocznego + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + Ustawienia połączenia + + + + MIDI CONTROLLER + KONTROLER MIDI + + + + Input channel + Kanał wejściowy + + + + CHANNEL + KANAŁ + + + + Input controller + Kontroler wejściowy + + + + CONTROLLER + KONTROLER + + + + + Auto Detect + Autodetekcja + + + + MIDI-devices to receive MIDI-events from + Urządzenia MIDI odbierające zdarzenia MIDI z + + + + USER CONTROLLER + KONTROLER UŻYTKOWNIKA + + + + MAPPING FUNCTION + FUNKCJA MAPOWANIA + + + + OK + OK + + + + Cancel + Anuluj + + + + LMMS + LMMS + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + Rack kontrolerów + + + + Add + Dodaj + + + + Confirm Delete + Potwierdź usunięcie + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + Potwierdzić usunięcie? Występuje(ą) istniejące połączenie(a) związane z tym kontrolerem. Tego nie można cofnąć. + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + Zmień nazwę kontrolera + + + + Enter the new name for this controller + Wprowadź nową nazwę dla tego kontrolera + + + + LFO + LFO + + + + Move &up + Przes&uń w górę + + + + Move &down + Przesuń w &dół + + + + &Remove this controller + Usuń ten kont&roler + + + + Re&name this controller + Zmień &nazwę tego kontrolera + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + OPÓŹN + + + + Delay time + Czas opóźnienia + + + + FDBK + SPZW + + + + Feedback amount + Wartość sprzężenia zwrotnego + + + + RATE + + + + + LFO frequency + Częstotliwość LFO + + + + AMNT + WART + + + + LFO amount + Wartość LFO + + + + Out gain + Wzm. wyjśc. + + + + Gain + Wzmocnienie + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + WARTOŚĆ + + + + Number of all-pass filters + + + + + FREQ + CZĘST + + + + Frequency: + Częstotliwość: + + + + RESO + REZO + + + + Resonance: + Rezonans: + + + + FEED + SPRZ + + + + Feedback: + Sprzężenie zwrotne: + + + + DC Offset Removal + Usuwanie przesunięcia DC + + + + Remove DC Offset + Usuń przesunięcie DC + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + CZĘST + + + + + Cutoff frequency + Częstotliwość graniczna + + + + + RESO + REZO + + + + + Resonance + Rezonans + + + + + GAIN + WZMOC + + + + + Gain + Wzmocnienie + + + + MIX + MIKS + + + + Mix + Miks + + + + Filter 1 enabled + Włączono filtr 1 + + + + Filter 2 enabled + Włączono filtr 2 + + + + Enable/disable filter 1 + Włącz/wyłącz filtr 1 + + + + Enable/disable filter 2 + Włącz/wyłącz filtr 2 + + + + lmms::gui::DynProcControlDialog + + + INPUT + WEJŚCIE + + + + Input gain: + Wzmocnienie wejścia: + + + + OUTPUT + WYJŚCIE + + + + Output gain: + Wzmocnienie wyjścia: + + + + ATTACK + NARASTANIE + + + + Peak attack time: + Czas szczytu narastania: + + + + RELEASE + OPADANIE + + + + Peak release time: + Czas szczytu opadania: + + + + + Reset wavegraph + Resetuj wykres falowy + + + + + Smooth wavegraph + Płynny wykres falowy + + + + + Increase wavegraph amplitude by 1 dB + Zwiększ amplitudę wykresu falowego o 1 dB + + + + + Decrease wavegraph amplitude by 1 dB + Zmniejsz amplitudę wykresu falowego o 1 dB + + + + Stereo mode: maximum + Tryb stereo: maksimum + + + + Process based on the maximum of both stereo channels + Przetwarzaj w oparciu o maksimum z obu kanałów stereo + + + + Stereo mode: average + Tryb stereo: średnia + + + + Process based on the average of both stereo channels + Przetwarzaj w oparciu o średnią z obu kanałów stereo + + + + Stereo mode: unlinked + Tryb stereo: niepołączone + + + + Process each stereo channel independently + Przetwarzaj każdy kanał stereo niezależnie + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + Odtwarzaj (Spacja) + + + + Stop (Space) + Zatrzymaj (Spacja) + + + + Record + Nagrywaj + + + + Record while playing + Nagrywaj podczas odtwarzania + + + + Toggle Step Recording + Przełącz nagrywanie kroków + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + ŁAŃCUCH EFEKTÓW + + + + Add effect + Dodaj efekt + + + + lmms::gui::EffectSelectDialog + + + Add effect + Dodaj efekt + + + + + Name + Nazwa + + + + Type + Typ + + + + All + Wszystko + + + + Search + Szukaj + + + + Description + Opis + + + + Author + Autor + + + + lmms::gui::EffectView + + + On/Off + Wł./wył. + + + + W/D + M/S + + + + Wet Level: + Poziom mokry: + + + + DECAY + + + + + Time: + Czas: + + + + GATE + BRAMKA + + + + Gate: + Bramka: + + + + Controls + + + + + Move &up + Przes&uń w górę + + + + Move &down + Przesuń w &dół + + + + &Remove this plugin + &Usuń tę wtyczkę + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + WAR + + + + + Modulation amount: + Wartość modulacji: + + + + + DEL + DEL + + + + + Pre-delay: + Opóźnienie wstępne: + + + + + ATT + NAR + + + + + Attack: + Narastanie: + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + OPA + + + + Release: + Opadanie: + + + + SPD + SPD + + + + Frequency: + Częstotliwość: + + + + FREQ x 100 + CZĘST. x 100 + + + + Multiply LFO frequency by 100 + Pomnóż częstotliwość LFO przez 100 + + + + MOD ENV AMOUNT + MODULUJ WARTOŚĆ OBWIEDNI + + + + Control envelope amount by this LFO + Kontroluj wartość obwiedni przez ten LFO + + + + Hint + Podpowiedź + + + + Drag and drop a sample into this window. + Przeciągnij i upuść próbkę do tego okna. + + + + lmms::gui::EnvelopeGraph + + + Scaling + Skalowanie + + + + Dynamic + Dynamika + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + Używa odstępów bezwzględnych, ale przełącza się na odstępy względne, jeśli zabraknie miejsca + + + + Absolute + Bezwzględny + + + + Provides enough potential space for each segment but does not scale + Zapewnia wystarczająco dużo potencjalnego miejsca dla każdego segmentu, ale nie jest skalowalny + + + + Relative + Względny + + + + Always uses all of the available space to display the envelope graph + Zawsze wykorzystuje całe dostępne miejsce do wyświetlania wykresu obwiedni + + + + lmms::gui::EqControlsDialog + + + HP + HP + + + + Low-shelf + Dolnopółkowy + + + + Peak 1 + Szczyt 1 + + + + Peak 2 + Szczyt 2 + + + + Peak 3 + Szczyt 3 + + + + Peak 4 + Szczyt 4 + + + + High-shelf + Górnopółkowy + + + + LP + LP + + + + Input gain + Wzmocnienie wejścia + + + + + + Gain + Wzmocnienie + + + + Output gain + Wzmocnienie wyjścia + + + + Bandwidth: + Szerokość pasma: + + + + Octave + Oktawa + + + + Resonance: + + + + + Frequency: + Częstotliwość: + + + + LP group + Grupa LP + + + + HP group + Grupa HP + + + + lmms::gui::EqHandle + + + Reso: + Rez.: + + + + BW: + SP: + + + + + Freq: + Częst.: + + + + lmms::gui::ExportProjectDialog + + + Could not open file + Nie można otworzyć pliku + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + Nie można otworzyć pliku %1 do zapisu. +Upewnij się, że masz uprawnienia do zapisu do pliku i katalogu zawierającego plik i spróbuj ponownie! + + + + Export project to %1 + Eksportuj projekt do %1 + + + + ( Fastest - biggest ) + ( Najszybsze - największe ) + + + + ( Slowest - smallest ) + ( Najwolniejsze - najmniejsze ) + + + + Error + Błąd + + + + Error while determining file-encoder device. Please try to choose a different output format. + Wystąpił błąd podczas określania urządzenia kodującego plik. Spróbuj wybrać inny format wyjściowy. + + + + Rendering: %1% + Renderowanie: %1% + + + + lmms::gui::Fader + + + Set value + Ustaw wartość + + + + Please enter a new value between %1 and %2: + Wprowadź nową wartość między %1 a %2: + + + + Volume: %1 dBFS + Głośność: %1 dBFS + + + + lmms::gui::FileBrowser + + + Browser + Przeglądarka + + + + Search + Szukaj + + + + Refresh list + Odśwież listę + + + + User content + Zawartość użytkownika + + + + Factory content + Zawartość fabryczna + + + + Hidden content + Zawartość ukryta + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + Wyślij do aktywnej ścieżki instrumentu + + + + Open containing folder + Otwórz folder zawierający + + + + Song Editor + Edytor utworu + + + + Pattern Editor + Edytor szablonów + + + + Send to new AudioFileProcessor instance + Wyślij do nowej instancji AudioFileProcessorze + + + + Send to new instrument track + Wyślij do nowej ścieżki instrumentu + + + + (%2Enter) + (%2Enter) + + + + Send to new sample track (Shift + Enter) + Wyślij do nowej ścieżki próbek (Shift+Enter) + + + + Loading sample + Ładowanie próbki + + + + Please wait, loading sample for preview... + Czekaj. Ładowanie próbki do podglądu... + + + + Error + Błąd + + + + %1 does not appear to be a valid %2 file + %1 nie wydaje się być prawidłowym plikiem %2 + + + + --- Factory files --- + --- Pliki fabryczne --- + + + + lmms::gui::FileDialog + + + %1 files + %1 plików + + + + All audio files + Wszystkie pliki dźwiękowe + + + + Other files + Inne pliki + + + + lmms::gui::FlangerControlsDialog + + + DELAY + OPÓŹN + + + + Delay time: + Czas opóźnienia: + + + + RATE + + + + + Period: + Okres: + + + + AMNT + WART + + + + Amount: + Wartość: + + + + PHASE + FAZA + + + + Phase: + Faza: + + + + FDBK + SPZW + + + + Feedback amount: + Wartość sprzężenia zwrotnego: + + + + NOISE + SZUM + + + + White noise amount: + Wartość szumu białego: + + + + Invert + Odwróć + + + + lmms::gui::FloatModelEditorBase + + + Set linear + Ustaw liniowo + + + + Set logarithmic + Ustaw logarytmicznie + + + + + Set value + Ustaw wartość + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + Wprowadź nową wartość między -96.0 dBFS a 6.0 dBFS: + + + + Please enter a new value between %1 and %2: + Wprowadź nową wartość między %1 a %2: + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + Czas wobulacji: + + + + Sweep time + Czas wobulacji + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + Współczynnik wypełnienia szablonu fali: + + + + + Wave pattern duty cycle + Współczynnik wypełnienia szablonu fali + + + + Square channel 1 volume: + Głośność kanału kwadratowego 1: + + + + Square channel 1 volume + Głośność kanału kwadratowego 1 + + + + + + Length of each step in sweep: + Długość każdego kroku wobulacji: + + + + + + Length of each step in sweep + Długość każdego kroku wobulacji + + + + Square channel 2 volume: + Głośność kanału kwadratowego 2: + + + + Square channel 2 volume + Głośność kanału kwadratowego 2 + + + + Wave pattern channel volume: + Głośność kanału szablonu fali: + + + + Wave pattern channel volume + Głośność kanału szablonu fali + + + + Noise channel volume: + Głośność kanału szumu: + + + + Noise channel volume + Głośność kanału szumu + + + + SO1 volume (Right): + Głośność SO1 (prawy): + + + + SO1 volume (Right) + Głośność SO1 (prawy) + + + + SO2 volume (Left): + Głośność SO2 (lewy): + + + + SO2 volume (Left) + Głośność SO2 (lewy) + + + + Treble: + Soprany: + + + + Treble + Soprany + + + + Bass: + Basy: + + + + Bass + Basy + + + + Sweep direction + Kierunek wobulacji + + + + + + + + Volume sweep direction + Kierunek wobulacji głośności + + + + Shift register width + Szerokość rejestru przesuwnego + + + + Channel 1 to SO1 (Right) + Kanał 1 do SO1 (prawy) + + + + Channel 2 to SO1 (Right) + Kanał 2 do SO1 (prawy) + + + + Channel 3 to SO1 (Right) + Kanał 3 do SO1 (prawy) + + + + Channel 4 to SO1 (Right) + Kanał 4 do SO1 (prawy) + + + + Channel 1 to SO2 (Left) + Kanał 1 do SO2 (lewy) + + + + Channel 2 to SO2 (Left) + Kanał 2 do SO2 (lewy) + + + + Channel 3 to SO2 (Left) + Kanał 3 do SO2 (lewy) + + + + Channel 4 to SO2 (Left) + Kanał 4 do SO2 (lewy) + + + + Wave pattern graph + Wykres szablonu fali + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + Otwórz plik GIG + + + + Choose patch + Wybierz próbkę + + + + Gain: + Wzmocnienie: + + + + GIG Files (*.gig) + Pliki GIG (*.gig) + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + Wielkość ziarna: + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + Kształt ziarna: + + + + Fade Length: + Długość ściszenia: + + + + Feedback: + Sprzężenie zwrotne: + + + + Minimum Allowed Latency: + Minimalne dozwolone opóźnienie: + + + + Density: + Gęstość: + + + + Glide: + Poślizg: + + + + + Pitch + Odstrojenie + + + + + Pitch Stereo Spread + + + + + Open help window + Otwórz okno pomocy + + + + + Prefilter + Filtr wstępny + + + + lmms::gui::GuiApplication + + + Working directory + Katalog roboczy + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + Katalog roboczy LMMS %1 nie istnieje. Chcesz go utworzyć? Możesz zmienić katalog później w Edycja -> Ustawienia. + + + + Preparing UI + Przygotowywanie interfejsu użytkownika + + + + Preparing song editor + Przygotowywanie edytora utworu + + + + Preparing mixer + Przygotowywanie miksera + + + + Preparing controller rack + Przygotowanie racka kontrolerów + + + + Preparing project notes + Przygotowanie notek projektu + + + + Preparing microtuner + Przygotowywanie mikrotunera + + + + Preparing pattern editor + Przygotowanie edytora szablonów + + + + Preparing piano roll + Przygotowywanie edytora pianolowego + + + + Preparing automation editor + Przygotowanie edytora automatyki + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + ARPEGGIO + + + + RANGE + ZAKRES + + + + Arpeggio range: + Zakres arpeggio: + + + + octave(s) + oktaw(y) + + + + REP + POW + + + + Note repeats: + Powtórzenia nuty: + + + + time(s) + raz(y) + + + + CYCLE + CYKL + + + + Cycle notes: + Nuty cyklu: + + + + note(s) + nut(y) + + + + SKIP + POMIŃ + + + + Skip rate: + + + + + + + % + % + + + + MISS + + + + + Miss rate: + + + + + TIME + CZAS + + + + Arpeggio time: + Czas arpeggio: + + + + ms + ms + + + + GATE + BRAMKA + + + + Arpeggio gate: + Bramka arpeggio: + + + + Chord: + Akord: + + + + Direction: + Kierunek: + + + + Mode: + Tryb: + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + UKŁADANIE + + + + Chord: + Akord: + + + + RANGE + ZAKRES + + + + Chord range: + Zakres akordu: + + + + octave(s) + oktaw(y) + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + WŁĄCZ WEJŚCIE MIDI + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + KANA + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + WŁĄCZ WYJŚCIE MIDI + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + NUTA + + + + MIDI devices to receive MIDI events from + Urządzenia MIDI odbierające zdarzenia MIDI z + + + + MIDI devices to send MIDI events to + Urządzenia MIDI wysyłające zdarzenia MIDI do + + + + VELOCITY MAPPING + MAPOWANIE GŁOŚNOŚCI + + + + MIDI VELOCITY + GŁOŚNOŚĆ MIDI + + + + MIDI notes at this velocity correspond to 100% note velocity. + Nuty MIDI o tej głośności odpowiadają 100% głośności nut. + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + CEL + + + + FILTER + FILTR + + + + FREQ + CZĘST + + + + Cutoff frequency: + Częstotliwość graniczna: + + + + Hz + Hz + + + + Q/RESO + Q/REZO + + + + Q/Resonance: + Q/Rezonans: + + + + Envelopes, LFOs and filters are not supported by the current instrument. + Obwiednie, LFO i filtry nie są obsługiwane przez bieżący instrument. + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + Kanał miksera + + + + Volume + Głośność + + + + Volume: + Głośność: + + + + VOL + + + + + Panning + Panoramowanie + + + + Panning: + Panoramowanie: + + + + PAN + PAN + + + + MIDI + MIDI + + + + Input + Wejście + + + + Output + Wyjście + + + + Open/Close MIDI CC Rack + Otwórz/zamknij Rack MIDI CC + + + + %1: %2 + %1: %2 + + + + lmms::gui::InstrumentTrackWindow + + + Volume + Głośność + + + + Volume: + Głośność: + + + + VOL + + + + + Panning + Panoramowanie + + + + Panning: + Panoramowanie: + + + + PAN + PAN + + + + Pitch + Odstrojenie + + + + Pitch: + Odstrojenie: + + + + cents + centów + + + + PITCH + ODSTR + + + + Pitch range (semitones) + Zakres odstrojenia (półtony) + + + + RANGE + ZAKRES + + + + Mixer channel + Kanał miksera + + + + CHANNEL + KANAŁ + + + + Save current instrument track settings in a preset file + Zapisz bieżące ustawienia ścieżki instrumentu w pliku presetów + + + + SAVE + ZAPISZ + + + + Envelope, filter & LFO + Obwiednia, filtr i LFO + + + + Chord stacking & arpeggio + Układanie akordów i arpeggio + + + + Effects + Efekty + + + + MIDI + MIDI + + + + Tuning and transposition + Strojenie i transpozycja + + + + Save preset + Zapisz preset + + + + XML preset file (*.xpf) + Plik XML presetu (*.xpf) + + + + Plugin + Wtyczka + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + TRANSPOZYCJA OGÓLNA + + + + Enables the use of global transposition + Umożliwia korzystanie z transpozycji ogólnej + + + + Microtuner is not available for MIDI-based instruments. + Mikrotuner nie jest dostępny dla instrumentów opartych na MIDI. + + + + MICROTUNER + MIKROTUNER + + + + Active scale: + Aktywna skala: + + + + + Edit scales and keymaps + Edytuj skale i mapowania klawiszy + + + + Active keymap: + Aktywne mapowanie klawiszy: + + + + Import note ranges from keymap + Importuj zakresy nut z mapowania klawiszy + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + Po włączeniu tej opcji pierwsza, ostatnia i bazowa nuta tego instrumentu zostaną zastąpione wartościami określonymi przez wybrane mapowanie klawiszy. + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + Częstotliwość początkowa: + + + + End frequency: + Częstotliwość końcowa: + + + + Frequency slope: + Nachylenie częstotliwości: + + + + Gain: + Wzmocnienie: + + + + Envelope length: + Długość obwiedni: + + + + Envelope slope: + Nachylenie obwiedni: + + + + Click: + Kliknięcie: + + + + Noise: + Szum: + + + + Start distortion: + Początek zniekształcenia: + + + + End distortion: + Koniec zniekształcenia: + + + + lmms::gui::LOMMControlDialog + + + Depth: + Głębia: + + + + Compression amount for all bands + Stopień kompresji dla wszystkich pasm + + + + Time: + Czas: + + + + Attack/release scaling for all bands + Skalowanie narastania/opadania dla wszystkich pasm + + + + Input Volume: + Głośność wejściowa: + + + + Input volume + Głośność wejściowa + + + + Output Volume: + Głośność wyjściowa: + + + + Output volume + Głośność wyjściowa + + + + Upward Depth: + Głębia w górę: + + + + Upward compression amount for all bands + Stopień kompresji w górę dla wszystkich pasm + + + + Downward Depth: + Głębia w dół: + + + + Downward compression amount for all bands + Stopień kompresji w dół dla wszystkich pasm + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + Czas RMS: + + + + RMS size for sidechain signal (set to 0 for Peak mode) + Rozmiar RMS dla sygnału łańcucha bocznego (ustawiony na 0 dla trybu szczytowego) + + + + Knee: + Czułość: + + + + Knee size for all compressors + Rozmiar czułości dla wszystkich kompresorów + + + + Range: + Zakres: + + + + Maximum gain increase for all bands + Maksymalne zwiększenie wzmocnienia dla wszystkich pasm + + + + Balance: + Równowaga: + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + Przyspiesz czas narastania i opadania w przypadku wystąpienia stanów przejściowych + + + + Mix: + Miks: + + + + Wet/Dry of all bands + Suchy/mokry dla wszystkich pasm + + + + Feedback + Sprzężenie zwrotne + + + + Use output as sidechain signal instead of input + Użyj wyjścia jako sygnału łańcucha bocznego zamiast wejścia + + + + Mid/Side + Śr./b. + + + + Compress mid/side channels instead of left/right + Kompresuj kanały środkowe/boczne zamiast lewego/prawego + + + + + Suppress upward compression for side band + Wytłumienie kompresji w górę dla pasma bocznego + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + Wyczyść wszystkie parametry + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + Dostępne efekty + + + + + Unavailable Effects + Niedostępne efekty + + + + + Instruments + Instrumenty + + + + + Analysis Tools + Narzędzia analityczne + + + + + Don't know + Nieznane + + + + Type: + Typ: + + + + lmms::gui::LadspaControlDialog + + + Link Channels + Połącz kanały + + + + Channel + Kanał + + + + lmms::gui::LadspaControlView + + + Link channels + Połącz kanały + + + + Value: + Wartość: + + + + lmms::gui::LadspaDescription + + + Plugins + Wtyczki + + + + Description + Opis + + + + Name: + Nazwa: + + + + Maker: + Twórca: + + + + Copyright: + Prawa autorskie: + + + + Requires Real Time: + Wymaga czasu rzeczywistego: + + + + + + Yes + Tak + + + + + + No + Nie + + + + Real Time Capable: + Możliwość pracy w czasie rzeczywistym: + + + + In Place Broken: + Na miejscu złamane: + + + + Channels In: + Kanały wejściowe: + + + + Channels Out: + Kanały wyjściowe: + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + Połącz kanały + + + + Link + Połącz + + + + Channel %1 + Kanał %1 + + + + Link channels + Połącz kanały + + + + lmms::gui::LadspaPortDialog + + + Ports + Porty + + + + Name + Nazwa + + + + Rate + + + + + Direction + Kierunek + + + + Type + Typ + + + + Min < Default < Max + Min. < Domyślne < Maks. + + + + Logarithmic + Logarytmiczny + + + + SR Dependent + Zależny od SR + + + + Audio + Dźwięk + + + + Control + + + + + Input + Wejście + + + + Output + Wyjście + + + + Toggled + Przełączalne + + + + Integer + Całkowite + + + + Float + Zmiennoprzecinkowe + + + + + Yes + Tak + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + Częst. graniczna: + + + + Resonance: + Rezonans: + + + + Env Mod: + Mod. obw.: + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + Fala piłokształtna + + + + Click here for a saw-wave. + Kliknij tutaj, aby przełączyć na falę piłokształtną. + + + + Triangle wave + Fala trójkątna + + + + Click here for a triangle-wave. + Kliknij tutaj, aby przełączyć na falę trójkątną. + + + + Square wave + Fala prostokątna + + + + Click here for a square-wave. + Kliknij tutaj, aby przełączyć na falę prostokątną. + + + + Rounded square wave + Fala prostokątna, zaokrąglona + + + + Click here for a square-wave with a rounded end. + Kliknij tutaj, aby przełączyć na falę prostokątną z zaokrąglonymi narożami. + + + + Moog wave + Fala Mooga + + + + Click here for a moog-like wave. + Kliknij tutaj, aby przełączyć na falę Mooga. + + + + Sine wave + Fala sinusoidalna + + + + Click for a sine-wave. + Kliknij tutaj, aby przełączyć na falę sinusoidalną. + + + + + White noise wave + Fala szumu białego + + + + Click here for an exponential wave. + Kliknij tutaj, aby przełączyć na falę wykładniczą. + + + + Click here for white-noise. + Kliknij tutaj, aby przełączyć na falę szumu białego. + + + + Bandlimited saw wave + Fala piłokształtna pasmowo ograniczona + + + + Click here for bandlimited saw wave. + Kliknij tutaj, aby przełączyć na falę piłokształtną pasmowo ograniczoną. + + + + Bandlimited square wave + Fala kwadratowa pasmowo ograniczona + + + + Click here for bandlimited square wave. + Kliknij tutaj, aby przełączyć na falę kwadratową pasmowo ograniczoną. + + + + Bandlimited triangle wave + Fala trójkątna pasmowo ograniczona + + + + Click here for bandlimited triangle wave. + Kliknij tutaj, aby przełączyć na falę trójkątną pasmowo ograniczoną. + + + + Bandlimited moog saw wave + Fala piłokształtna Mooga pasmowo ograniczona + + + + Click here for bandlimited moog saw wave. + Kliknij tutaj, aby przełączyć na falę piłokształtną Mooga pasmowo ograniczoną. + + + + lmms::gui::LcdFloatSpinBox + + + Set value + Ustaw wartość + + + + Please enter a new value between %1 and %2: + Wprowadź nową wartość między %1 a %2: + + + + lmms::gui::LcdSpinBox + + + Set value + Ustaw wartość + + + + Please enter a new value between %1 and %2: + Wprowadź nową wartość między %1 a %2: + + + + lmms::gui::LeftRightNav + + + + + Previous + Poprzedni + + + + + + Next + Następny + + + + Previous (%1) + Poprzedni (%1) + + + + Next (%1) + Następny (%1) + + + + lmms::gui::LfoControllerDialog + + + LFO + LFO + + + + BASE + BAZA + + + + Base: + Baza: + + + + FREQ + CZĘST + + + + LFO frequency: + Częstotliwość LFO: + + + + AMNT + WART + + + + Modulation amount: + Wartość modulacji: + + + + PHS + FAZ + + + + Phase offset: + Przesunięcie fazowe: + + + + degrees + stopni + + + + Sine wave + Fala sinusoidalna + + + + Triangle wave + Fala trójkątna + + + + Saw wave + Fala piłokształtna + + + + Square wave + Fala prostokątna + + + + Moog saw wave + Fala piłokształtna Mooga + + + + Exponential wave + Fala wykładnicza + + + + White noise + Szum biały + + + + User-defined shape. +Double click to pick a file. + Kształt zdefiniowany przez użytkownika. +Kliknij dwukrotnie myszką, aby wybrać plik. + + + + Multiply modulation frequency by 1 + Pomnóż częstotliwość modulacji przez 1 + + + + Multiply modulation frequency by 100 + Pomnóż częstotliwość modulacji przez 100 + + + + Divide modulation frequency by 100 + Podziel częstotliwość modulacji przez 100 + + + + lmms::gui::LfoGraph + + + %1 Hz + %1 Hz + + + + lmms::gui::MainWindow + + + Configuration file + Plik konfiguracyjny + + + + Error while parsing configuration file at line %1:%2: %3 + Błąd podczas analizowania pliku konfiguracyjnego w wierszu %1:%2: %3 + + + + Could not open file + Nie można otworzyć pliku + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + Nie można otworzyć pliku %1 do zapisu. +Upewnij się, że masz uprawnienia do zapisu do pliku i katalogu zawierającego plik i spróbuj ponownie! + + + + Project recovery + Odzyskiwanie projektu + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + Istnieje plik odzyskiwania. Wygląda na to, że ostatnia sesja nie zakończyła się prawidłowo lub inna instancja LMMS jest już uruchomiona. Chcesz odzyskać projekt tej sesji? + + + + + Recover + Odzyskaj + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + Odzyskaj plik. Nie uruchamiaj wielu instancji LMMS podczas wykonywania tej czynności. + + + + + Discard + Odrzuć + + + + Launch a default session and delete the restored files. This is not reversible. + Uruchom domyślną sesję i usuń przywrócone pliki. Tego nie można cofnąć. + + + + Version %1 + Wersja %1 + + + + Preparing plugin browser + Przygotowanie przeglądarki wtyczek + + + + Preparing file browsers + Przygotowanie przeglądarki plików + + + + My Projects + Moje projekty + + + + My Samples + Moje próbki + + + + My Presets + Moje presety + + + + My Home + Mój katalog główny + + + + Root Directory + Katalog główny + + + + Volumes + Głośność + + + + My Computer + Mój komputer + + + + Loading background picture + Ładowanie obrazu tła + + + + &File + &Plik + + + + &New + &Nowy + + + + &Open... + &Otwórz... + + + + &Save + Zapi&sz + + + + Save &As... + Z&apisz jako... + + + + Save as New &Version + Zapisz jako no&wą wersję + + + + Save as default template + Zapisz jako szablon domyślny + + + + Import... + Importuj... + + + + E&xport... + E&ksportuj... + + + + E&xport Tracks... + E&ksportuj ścieżki... + + + + Export &MIDI... + Eksportuj &MIDI... + + + + &Quit + Za&kończ + + + + &Edit + &Edycja + + + + Undo + Cofnij + + + + Redo + Ponów + + + + Scales and keymaps + Skale i mapowania klawiszy + + + + Settings + Ustawienia + + + + &View + &Widok + + + + &Tools + &Narzędzia + + + + &Help + &Pomoc + + + + Online Help + Pomoc online + + + + Help + Pomoc + + + + About + O LMMS + + + + Create new project + Utwórz nowy projekt + + + + Create new project from template + Utwórz nowy projekt z szablonu + + + + Open existing project + Otwórz istniejący projekt + + + + Recently opened projects + Ostatnio otwarte projekty + + + + Save current project + Zapisz bieżący projekt + + + + Export current project + Eksportuj bieżący projekt + + + + Metronome + Metronom + + + + + Song Editor + Edytor utworu + + + + + Pattern Editor + Edytor szablonów + + + + + Piano Roll + Edytor pianolowy + + + + + Automation Editor + Edytor automatyki + + + + + Mixer + Mikser + + + + Show/hide controller rack + Pokaż/ukryj racka kontrolerów + + + + Show/hide project notes + Pokaż/ukryj notatki projektu + + + + Untitled + Bez nazwy + + + + Recover session. Please save your work! + Odzyskana sesja. Zapisz swoją pracę! + + + + LMMS %1 + LMMS %1 + + + + Recovered project not saved + Odzyskany projekt nie został zapisany + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + Ten projekt został odzyskany z poprzedniej sesji. Obecnie nie jest zapisany i zostanie utracony, jeśli go nie zapiszesz. Chcesz go teraz zapisać? + + + + Project not saved + Projekt nie został zapisany + + + + The current project was modified since last saving. Do you want to save it now? + Bieżący projekt został zmodyfikowany od ostatniego zapisania. Chcesz go teraz zapisać? + + + + Open Project + Otwórz projekt + + + + LMMS (*.mmp *.mmpz) + LMMS (*.mmp *.mmpz) + + + + Save Project + Zapisz projekt + + + + LMMS Project + Projekt LMMS + + + + LMMS Project Template + Szablon projektu LMMS + + + + Save project template + Zapisz szablon projektu + + + + Overwrite default template? + Zastąpić szablon domyślny? + + + + This will overwrite your current default template. + Spowoduje to zastąpienie bieżącego szablonu domyślnego. + + + + Help not available + Pomoc niedostępna + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + Aktualnie pomoc dla LMMS jest niedostępna. +Odwiedź http://lmms.sf.net/wiki w celu uzyskania dokumentacji na temat LMMS. + + + + Controller Rack + Rack kontrolerów + + + + Project Notes + Notatki do projektu + + + + Fullscreen + Pełny ekran + + + + Volume as dBFS + Głośność jako dBFS + + + + Smooth scroll + Płynne przewijanie + + + + Enable note labels in piano roll + Włącz etykiety nut w edytorze pianolowym + + + + MIDI File (*.mid) + Plik MIDI (*.mid) + + + + + untitled + bez nazwy + + + + + Select file for project-export... + Wybierz plik do eksportu projektu... + + + + Select directory for writing exported tracks... + Wybierz katalog do zapisu eksportowanych ścieżek... + + + + Save project + Zapisz projekt + + + + Project saved + Projekt został zapisany + + + + The project %1 is now saved. + Projekt %1 został zapisany. + + + + Project NOT saved. + Projekt NIE został zapisany. + + + + The project %1 was not saved! + Projekt %1 nie został zapisany! + + + + Import file + Importuj plik + + + + MIDI sequences + Sekwencje MIDI + + + + Hydrogen projects + Projekty Hydrogen + + + + All file types + Wszystkie typy plików + + + + lmms::gui::MalletsInstrumentView + + + Instrument + Instrument + + + + Spread + Rozstrzał + + + + Spread: + Rozstrzał: + + + + Random + Losowe + + + + Random: + Losowe: + + + + Missing files + Brakujące pliki + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + Wygląda na to, że instalacja Stk jest niekompletna. Upewnij się, że pełny pakiet Stk jest zainstalowany! + + + + Hardness + Twardość + + + + Hardness: + Twardość: + + + + Position + Pozycja + + + + Position: + Pozycja: + + + + Vibrato gain + Wzmocnienie vibrato + + + + Vibrato gain: + Wzmocnienie vibrato: + + + + Vibrato frequency + Częstotliwość vibrato + + + + Vibrato frequency: + Częstotliwość vibrato: + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + Modulator + + + + Modulator: + Modulator: + + + + Crossfade + Płynne przechodzenie + + + + Crossfade: + Płynne przechodzenie: + + + + LFO speed + Prędkość LFO + + + + LFO speed: + Prędkość LFO: + + + + LFO depth + Głębia LFO + + + + LFO depth: + Głębia LFO: + + + + ADSR + ADSR + + + + ADSR: + ADSR: + + + + Pressure + Ciśnienie + + + + Pressure: + Ciśnienie: + + + + Speed + Prędkość + + + + Speed: + Prędkość: + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + - kontrola parametru VST + + + + VST sync + Synchronizacja VST + + + + + Automated + Automatyzowane + + + + Close + Zamknij + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + - kontrola wtyczki VST + + + + VST Sync + Synchronizacja VST + + + + + Automated + Automatyzowane + + + + Close + Zamknij + + + + lmms::gui::MeterDialog + + + + Meter Numerator + Numerator metryczny + + + + Meter numerator + Numerator metryczny + + + + + Meter Denominator + Denominator metryczny + + + + Meter denominator + Denominator metryczny + + + + TIME SIG + METRUM + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + Wybrany slot skali + + + + Selected keymap slot + Wybrany slot mapowania klawiszy + + + + + First key + Pierwszy klawisz + + + + + Last key + Ostatni klawisz + + + + + Middle key + Środkowy klawisz + + + + + Base key + Bazowy klawisz + + + + + + Base note frequency + Częstotliwość nuty bazowej + + + + Microtuner Configuration + Konfiguracja mikrotunera + + + + Scale slot to edit: + Slot skali do edycji: + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + Opis skali. Nie może zaczynać się od „!” i nie może zawierać znaku nowej linii. + + + + + Load + Załaduj + + + + + Save + Zapisz + + + + Load scale definition from a file. + Załaduj definicję skali z pliku. + + + + Save scale definition to a file. + Zapisz definicję skali do pliku. + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + Wprowadź interwały w oddzielnych wierszach. Liczby zawierające przecinek dziesiętny są traktowane jako centy. +Pozostałe dane wejściowe są traktowane jako stosunki całkowite i muszą mieć formę „a/b” lub „a”. +Jedność (0,0 centów lub stosunek 1/1) jest zawsze obecna jako ukryta pierwsza wartość; nie wprowadzaj jej ręcznie. + + + + Apply scale changes + Zastosuj zmiany skali + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + Sprawdź i zastosuj zmiany wprowadzone do wybranej skali. Aby użyć skali, wybierz ją w ustawieniach obsługiwanego instrumentu. + + + + Keymap slot to edit: + Slot mapowania klawiszy do edycji: + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + Opis mapowania klawiszy. Nie może zaczynać się od „!” i nie może zawierać znaku nowej linii. + + + + Load key mapping definition from a file. + Załaduj definicję mapowania klawiszy z pliku. + + + + Save key mapping definition to a file. + Zapisz definicję mapowania klawiszy do pliku. + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + Wprowadź mapowania klawiszy w osobnych wierszach. Każdy wiersz przypisuje stopień skali do klawisza MIDI, +zaczynając od środkowego klawisza i kontynuując sekwencję. +Szablon powtarza się dla klawiszy spoza wyraźnego zakresu mapowania klawiszy. +Wiele klawiszy można mapować do tego samego stopnia skali. +Wprowadź „x”, jeśli chcesz pozostawić klawisz wyłączony/niemapowany. + + + + FIRST + PIERWSZY + + + + First MIDI key that will be mapped + Pierwszy klawisz MIDI, który będzie mapowany + + + + LAST + OSTATNI + + + + Last MIDI key that will be mapped + Ostatni klawisz MIDI, który będzie mapowany + + + + MIDDLE + ŚRODKOWY + + + + First line in the keymap refers to this MIDI key + Pierwszy wiersz w mapowaniu klawiszy odnosi się do tego klawisza MIDI + + + + BASE N. + N. BAZO + + + + Base note frequency will be assigned to this MIDI key + Częstotliwość nuty bazowej zostanie przypisana do tego klawisza MIDI + + + + BASE NOTE FREQ + CZĘST NUTY BAZO + + + + Apply keymap changes + Zastosuj zmiany w mapowaniu klawiszy + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + Sprawdź i zastosuj zmiany wprowadzone do wybranego mapowania klawiszy. Aby użyć mapowania, wybierz je w ustawieniach obsługiwanego instrumentu. + + + + Scale parsing error + Błąd analizowania skali + + + + Scale name cannot start with an exclamation mark + Nazwa skali nie może zaczynać się od wykrzyknika + + + + Scale name cannot contain a new-line character + Nazwa skali nie może zawierać znaku nowej linii + + + + Interval defined in cents cannot be converted to a number + Interwał zdefiniowany w centach nie może być przekonwertowany na liczbę + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + Interwał zdefiniowany jako współczynnik nie może być ujemny + + + + Keymap parsing error + Błąd analizowania mapowania klawiszy + + + + Keymap name cannot start with an exclamation mark + Nazwa mapowania klawiszy nie może zaczynać się od wykrzyknika + + + + Keymap name cannot contain a new-line character + Nazwa mapowania klawiszy nie może zawierać znaku nowej linii + + + + Scale degree cannot be converted to a whole number + Stopień skali nie może być przekonwertowany na liczbę całkowitą + + + + Scale degree cannot be negative + Stopień skali nie może być ujemny + + + + Invalid keymap + Nieprawidłowe mapowanie klawiszy + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + Tonacja bazowa nie jest mapowana do żadnego stopnia skali. Nie zostanie wytworzony żaden dźwięk, ponieważ nie ma możliwości przypisania częstotliwości odniesienia do żadnej nuty. + + + + Open scale + Otwórz skalę + + + + + Scala scale definition (*.scl) + Definicja skali Scala (*.scl) + + + + Scale load failure + Błąd ładowania skali + + + + + Unable to open selected file. + Nie można otworzyć wybranego pliku. + + + + Open keymap + Otwórz mapowanie klawiszy + + + + + Scala keymap definition (*.kbm) + Definicja mapowania klawiszy Scala (*.kbm) + + + + Keymap load failure + Błąd ładowania mapowania klawiszy + + + + Save scale + Zapisz skalę + + + + Scale save failure + Błąd zapisywania skali + + + + + Unable to open selected file for writing. + Nie można otworzyć wybranego pliku do zapisu. + + + + Save keymap + Zapisz mapowanie klawiszy + + + + Keymap save failure + Błąd zapisywania mapowania klawiszy + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + Rack MIDI CC - %1 + + + + MIDI CC Knobs: + Pokrętła MIDI CC: + + + + CC %1 + CC %1 + + + + lmms::gui::MidiClipView + + + + Transpose + Transponuj + + + + Semitones to transpose by: + Półtony do transpozycji o: + + + + Open in piano-roll + Otwórz w edytorze pianolowym + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + Wyczyść wszystkie nuty + + + + Reset name + Resetuj nazwę + + + + Change name + Zmień nazwę + + + + Add steps + Dodaj kroki + + + + Remove steps + Usuń kroki + + + + Clone Steps + Klonuj kroki + + + + lmms::gui::MidiSetupWidget + + + Device + Urządzenie + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + Przypisz do: + + + + New Mixer Channel + Nowy kanał miksera + + + + Please enter a new value between %1 and %2: + Wprowadź nową wartość między %1 a %2: + + + + Set value + Ustaw wartość + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + Cisza + + + + Mute this channel + + + + + Solo + Solo + + + + Solo this channel + + + + + Fader %1 + Ściszanie %1 + + + + Move &left + Przesuń w &lewo + + + + Move &right + P&rzesuń w prawo + + + + Rename &channel + Zmień nazwę &kanału + + + + R&emove channel + &Usuń kanał + + + + Remove &unused channels + &Usuń nieużywane kanały + + + + Color + Kolor + + + + Change + Zmień + + + + Reset + Resetuj + + + + Pick random + Wybierz losowe + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + Ten kanał miksera jest używany. +Na pewno chcesz usunąć ten kanał? + +Ostrzeżenie: Tej operacji nie można cofnąć. + + + + Confirm removal + Potwierdź usunięcie + + + + Don't ask again + Nie pytaj ponownie + + + + lmms::gui::MixerView + + + Mixer + Mikser + + + + lmms::gui::MonstroView + + + Operators view + Widok operatora + + + + Matrix view + Widok macierzy + + + + + + Volume + Głośność + + + + + + Panning + Panoramowanie + + + + + Coarse detune - Odstrojenie zgrubne + - - - + + + semitones - półtony + półtów - - + + Fine tune left - - - - + + + + cents - centy + centów - - + + Fine tune right - - + + Stereo phase offset - Przesunięcie fazy stereo + Przesunięcie fazowe stereo - - - - + + + + deg - st + st. - + Pulse width Współczynnik wypełnienia impulsu - + Send sync on pulse rise - Wyślij sync przy wzroście pulsu + - + Send sync on pulse fall - Wyślij sync przy spadku pulsu + - + Hard sync oscillator 2 - Sync twarde oscylatora 2 + - + Reverse sync oscillator 2 - Sync odwrócone oscylatora 2 + - + Sub-osc mix - + Hard sync oscillator 3 - Sync twarde oscylatora 3 + - + Reverse sync oscillator 3 - Sync odwrócone oscylatora 3 + - - - - + + + + Attack - Atak + Narastanie - - + + Rate - Tempo + - - + + Phase Faza - - + + Pre-delay Opóźnienie wstępne - - + + Hold - Przetrzymanie + - - + + Decay - Zanikanie - - - - - Sustain - Podtrzymanie - - - - - Release - Wybrzmiewanie - - - - - Slope - Nachylenie - - - - Mix osc 2 with osc 3 + + Sustain + + + + + + Release + Opadanie + + + + + Slope + Nachylenie + + + + Mix osc 2 with osc 3 + Miksuj osc 2 z osc 3 + + + Modulate amplitude of osc 3 by osc 2 - + Moduluj amplitudę osc 3 z osc 2 - + Modulate frequency of osc 3 by osc 2 - + Moduluj częstotliwość osc 3 z osc 2 - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - + Modulate phase of osc 3 by osc 2 + Moduluj fazę osc 3 z osc 2 + + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + Modulation amount - Współczynnik modulacji + Wartość modulacji - MultitapEchoControlDialog + lmms::gui::MultitapEchoControlDialog Length @@ -9231,12 +15126,12 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. Dry - Suche + Suchy Dry gain: - + Wzmocnienie suchego: @@ -9251,4496 +15146,2894 @@ Odwiedź witrynę http://lmms.sf.net/wiki for documentation on LMMS. Swap inputs - Zamień wejścia + Zamień wyjścia Swap left and right input channels for reflections - + Zamień lewy i prawy kanał wejściowy dla odbić - NesInstrument + lmms::gui::NesInstrumentView - - Channel 1 coarse detune - - - - - Channel 1 volume - Głośność kanału 1 - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - Kanał 2 Zgrubne odstrojenie - - - - Channel 2 Volume - Kanał 2 Głośność - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Głośność kanału 3 - - - - Channel 4 volume - Głośność kanału 4 - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Głośność główna - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - + + + + Volume Głośność - - - + + + Coarse detune - Odstrojenie zgrubne + - - - + + + Envelope length Długość obwiedni - + Enable channel 1 Włącz kanał 1 - + Enable envelope 1 Włącz obwiednię 1 - + Enable envelope 1 loop - Włącz pętlę obwiedni 1 + - + Enable sweep 1 Włącz wobulację 1 - - + + Sweep amount - Ilość wobulacji + Wartość wobulacji - - + + Sweep rate Częstotliwość wobulacji - - + + 12.5% Duty cycle - 12,5% Cykl pracy + - - + + 25% Duty cycle - 25% Cykl pracy + - - + + 50% Duty cycle - 50% Cykl pracy + - - + + 75% Duty cycle - 75% Cykl pracy + - + Enable channel 2 Włącz kanał 2 - + Enable envelope 2 Włącz obwiednię 2 - + Enable envelope 2 loop - Włącz pętlę obwiedni 2 + - + Enable sweep 2 Włącz wobulację 2 - + Enable channel 3 Włącz kanał 3 - + Noise Frequency Częstotliwość szumu - + Frequency sweep Wobulacja częstotliwości - + Enable channel 4 Włącz kanał 4 - + Enable envelope 4 Włącz obwiednię 4 - + Enable envelope 4 loop - Włącz pętlę obwiedni 4 + - + Quantize noise frequency when using note frequency - Kwantyzuj częstotliwość szumu przy użyciu częstotliwości nuty. + Kwantyzuj częstotliwość szumu przy użyciu częstotliwości nuty - + Use note frequency for noise Użyj częstotliwości nuty dla szumu - + Noise mode Tryb szumu - + Master volume Głośność główna - + Vibrato Vibrato - OpulenzInstrument + lmms::gui::OpulenzInstrumentView - - Patch - Próbka + + + Attack + Narastanie - - Op 1 attack + + + Decay - - Op 1 decay - + + + Release + Opadanie - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - Attack - Atak - - - - - Decay - Zanikanie - - - - - Release - Wybrzmiewanie - - - - Frequency multiplier Mnożnik częstotliwości - OscillatorObject + lmms::gui::OrganicInstrumentView - - Osc %1 waveform - Osc %1 przebieg + + Distortion: + Zniekształcenie: - - Osc %1 harmonic - Osc %1 harmoniczne + + Volume: + Głośność: - - - Osc %1 volume - Osc %1 głośność + + Randomise + Losowo - - - Osc %1 panning - Osc %1 panoramowanie + + + Osc %1 waveform: + - - - Osc %1 fine detuning left - Osc %1 dokładne odstrojenie lewo + + Osc %1 volume: + Głośność osc %1: - - Osc %1 coarse detuning - Osc %1 zgrubne odstrojenie + + Osc %1 panning: + Panoramowanie osc %1: - - Osc %1 fine detuning right - Osc %1 dokładne odstrojenie prawo + + Osc %1 stereo detuning + Odstrojenie stereo osc %1 - - Osc %1 phase-offset - Osc %1 przesunięcie fazowe + + cents + centów - - Osc %1 stereo phase-detuning - Osc %1 odstrojenie fazy stereo - - - - Osc %1 wave shape - Osc %1 kształt fali - - - - Modulation type %1 - Rodzaj modulacji %1 + + Osc %1 harmonic: + - Oscilloscope + lmms::gui::Oscilloscope - + Oscilloscope Oscyloskop - + Click to enable - Naciśnij, aby włączyć + Kliknij, aby włączyć - PatchesDialog + lmms::gui::PatmanView - - Qsynth: Channel Preset - Qsynth: Preset kanału - - - - Bank selector - Selektor banku - - - - Bank - Bank - - - - Program selector - Selektor programu - - - - Patch - Próbka - - - - Name - Nazwa - - - - OK - OK - - - - Cancel - Anuluj - - - - PatmanView - - + Open patch - + Otwórz próbkę - + Loop Pętla - + Loop mode - Tryb zapętlenia + Tryb pętli - + Tune Dostrojenie - + Tune mode Tryb dostrojenia - + No file selected - Nie wybrano żadnego pliku + Nie wybrano pliku - + Open patch file Otwórz plik Patch - + Patch-Files (*.pat) Pliki Patch (*.pat) - MidiClipView + lmms::gui::PatternClipView - - Open in piano-roll - Otwórz w Edytorze Pianolowym + + Open in Pattern Editor + Otwórz w edytorze szablonów - - Set as ghost in piano-roll - - - - - Clear all notes - Wyczyść wszystkie nuty - - - + Reset name - Zresetuj nazwę + Resetuj nazwę - + Change name Zmień nazwę + + + lmms::gui::PatternEditorWindow - - Add steps - Dodaj kroki + + Pattern Editor + Edytor szablonów - + + Play/pause current pattern (Space) + Odtwarzaj/wstrzymaj bieżący szablon (Spacja) + + + + Stop playback of current pattern (Space) + Zatrzymaj odtwarzanie bieżącego szablonu (Spacja) + + + + Pattern selector + Selektor szablonu + + + + Track and step actions + Czynności ścieżki i kroku + + + + New pattern + Nowy szablon + + + + Clone pattern + Klonuj szablon + + + + Add sample-track + Dodaj ścieżkę-próbkę + + + + Add automation-track + Dodaj ścieżkę-automatyki + + + Remove steps Usuń kroki - + + Add steps + Dodaj kroki + + + Clone Steps Klonuj kroki - PeakController + lmms::gui::PeakControllerDialog - - Peak Controller - Kontroler Szczytowy + + PEAK + SZCZ - - - Peak Controller Bug - Błąd Kontrolera Szczytowego - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Ze względu na błąd w starszej wersji LMMS, kontrolery szczytowe mogą nie być prawidłowo podłączone. Upewnij się, że kontrolery szczytowe są podłączone prawidłowo i zapisz ponownie ten plik. Przepraszamy za wszelkie niedogodności. - - - - PeakControllerDialog - PEAK - PEAK - - - LFO Controller Kontroler LFO - PeakControllerEffectControlDialog + lmms::gui::PeakControllerEffectControlDialog - + BASE BAZA - - - Base: - - - AMNT - ILOŚĆ + Base: + Baza: - - Modulation amount: - Współczynnik modulacji: + + AMNT + WART + Modulation amount: + Wartość modulacji: + + + MULT MNOŻ - - - Amount multiplicator: - - - ATCK - ATAK + Amount multiplicator: + Mnożnik wartości: - - Attack: - Atak: + + ATCK + NARA - DCAY - ZANIK + Attack: + Narastanie: - - Release: - Wybrzmiewanie: + + DCAY + - TRSH - PRÓG: + Release: + Opadanie: - + + TRSH + PRÓG + + + Treshold: Próg: - - - Mute output - Wycisz wyjście - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Wartość bazowa - - - - Modulation amount - Współczynnik modulacji - - - - Attack - Narastanie - - - - Release - Wybrzmiewanie - - - - Treshold - Próg - - - Mute output Wycisz wyjście - + Absolute value - - - - - Amount multiplicator - + Wartość bezwzględna - PianoRoll + lmms::gui::PeakIndicator - + + -inf + -niesk. + + + + lmms::gui::PianoRoll + + Note Velocity - Głośność Nuty + Głośność nuty - + Note Panning - Panoramowanie Nuty + Panoramowanie nuty - + Mark/unmark current semitone Zaznacz/odznacz bieżący półton - + Mark/unmark all corresponding octave semitones Zaznacz/odznacz wszystkie odpowiadające półtony oktawy - + Mark current scale Zaznacz bieżącą skalę - + Mark current chord Zaznacz bieżący akord - + Unmark all Odznacz wszystko - + Select all notes on this key - Wybierz wszystkie nuty dla tego klucza + Zaznacz wszystkie nuty dla tej tonacji - + Note lock Blokada nuty - + Last note Ostatnia nuta - + No key - Brak klucza + Brak tonacji - + No scale Brak skali - + No chord Brak akordu - + Nudge - + Szturchaj - + Snap - + Przyciągaj - + Velocity: %1% Głośność: %1% - + Panning: %1% left Panoramowanie: %1% w lewo - + Panning: %1% right Panoramowanie: %1% w prawo - + Panning: center - Panoramowanie: centrum + Panoramowanie: środek - + Glue notes failed - + Please select notes to glue first. - + Please open a clip by double-clicking on it! - Otwórz wzorzec podwójnym kliknięciem! + Otwórz klip, klikając na niego dwukrotnie myszką! - - + + Please enter a new value between %1 and %2: - Wprowadź nową wartość pomiędzy %1 a %2: + Wprowadź nową wartość między %1 a %2: - PianoRollWindow + lmms::gui::PianoRollWindow - + Play/pause current clip (Space) - Odtwórz/wstrzymaj obecny wzorzec (spacja) + Odtwarzaj/wstrzymaj bieżący klip (Spacja) - + Record notes from MIDI-device/channel-piano - Nagraj nuty za pomocą urządzenia MIDI/kanału piano + - - Record notes from MIDI-device/channel-piano while playing song or BB track - Nagraj nuty za pomocą urządzenia MIDI/kanału piano podczas odtwarzania kompozycji lub ścieżki perkusji/basu + + Record notes from MIDI-device/channel-piano while playing song or pattern track + - + Record notes from MIDI-device/channel-piano, one step at the time - + Stop playing of current clip (Space) - Zatrzymaj odtwarzanie obecnego wzorca (spacja) + Zatrzymaj odtwarzanie bieżącego klipu (Spacja) - + Edit actions - Edytuj akcje + Edytuj czynności - + Draw mode (Shift+D) Tryb rysowania (Shift+D) - + Erase mode (Shift+E) Tryb wymazywania (Shift+E) - + Select mode (Shift+S) Tryb zaznaczania (Shift+S) - + Pitch Bend mode (Shift+T) - + Tryb pitchbend (Shift+T) - + Quantize Kwantyzuj - + Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - + Kwantyzuj pozycje - - Export clip - - - - - Copy paste controls - Regulacja kopiuj wklej - - - - Cut (%1+X) - - - - - Copy (%1+C) - + Quantize lengths + Kwantyzuj długości + File actions + Czynności pliku + + + + Import clip + Importuj klip + + + + + Export clip + Eksportuj klip + + + + Copy paste controls + + + + + Cut (%1+X) + Wytnij (%1+X) + + + + Copy (%1+C) + Kopiuj (%1+C) + + + Paste (%1+V) - + Wklej (%1+V) - + Timeline controls - Kontrola osi czasu + - + Glue - + Klej - + Knife - + Nóż - + Fill - + Cut overlaps - + Min length as last - + Minimalna długość jako ostatnia - + Max length as last - - - - - Zoom and note controls - Regulacja nut i powiększenia - - - - Horizontal zooming - Powiększenie poziome - - - - Vertical zooming - Powiększenie pionowe + Maksymalna długość jako ostatnia + Zoom and note controls + + + + + Horizontal zooming + Powiększanie poziome + + + + Vertical zooming + Powiększanie pionowe + + + Quantization Kwantyzacja - + Note length Długość nuty - + Key - Klucz + Tonacja - + Scale - + Skala - + Chord - + Akord - + Snap mode - + Tryb przyciągania - + Clear ghost notes - - + + Piano-Roll - %1 - Edytor Pianolowy - %1 + Edytor pianolowy - %1 - - + + Piano-Roll - no clip - Edytor Pianolowy - brak wzorca + Edytor pianolowy - brak klipu - - + + XML clip file (*.xpt *.xptz) - + Plik XML klipu (*.xpt *.xptz) - + Export clip success - + Eksportowanie klipu zakończone pomyślnie - + Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - + Klip zapisany do %1 + Import clip. + Importuj klip + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + Zamierzasz zaimportować klip. To zastąpi Twój bieżący klip. Chcesz kontynuować? + + + + Open clip + Otwórz klip + + + + Import clip success + Importowanie klipu zakończone pomyślnie + + + Imported clip %1! - + Zaimportowano klip %1! - PianoView + lmms::gui::PianoView - + Base note - Nuta podstawowa + Nuta bazowa - + First note Pierwsza nuta - + Last note Ostatnia nuta - Plugin + lmms::gui::PluginBrowser - - Plugin not found - Nie znaleziono wtyczki - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Wtyczka "%1" Nie została odnaleziona albo nie może zostać załadowana! -Powód: "%2" - - - - Error while loading plugin - Wystąpił błąd podczas ładowania wtyczki - - - - Failed to load plugin "%1"! - Nie można załadować wtyczki "%1"! - - - - PluginBrowser - - + Instrument Plugins Wtyczki instrumentów - + Instrument browser Przeglądarka instrumentów - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Przeciągnij instrument do Edytora utworu, Edytora perkusji i linii basu lub na istniejącą ścieżkę instrumentu. + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + Przeciągnij instrument do edytora utworu, edytora szablonów lub istniejącej ścieżki instrumentu. - - no description - brak opisu - - - - A native amplifier plugin - Natywna wtyczka wzmacniacza - - - - Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - Prosty sampler z licznymi ustawieniami dla sampli (np. perkusji) w ścieżce instrumentu - - - - Boost your bass the fast and simple way - Łatwo i szybko podbij bas - - - - Customizable wavetable synthesizer - Konfigurowalny syntezator tablicowy (wavetable). - - - - An oversampling bitcrusher - - - - - Carla Patchbay Instrument - - - - - Carla Rack Instrument - - - - - A dynamic range compressor. - - - - - A 4-band Crossover Equalizer - 4-zakresowy korektor krzyżowy - - - - A native delay plugin - Natywna wtyczka opóźnienia - - - - A Dual filter plugin - Wtyczka podwójnego filtra - - - - plugin for processing dynamics in a flexible way - - - - - A native eq plugin - Natywna wtyczka korektora graficznego - - - - A native flanger plugin - Natywna wtyczka flangera - - - - Emulation of GameBoy (TM) APU - Emulator układu APU GameBoy'a (TM). - - - - Player for GIG files - Odtwarzacz plików GIG - - - - Filter for importing Hydrogen files into LMMS - Filtr importujący pliki Hydrogen do LMMS - - - - Versatile drum synthesizer - Wszechstronny syntezator perkusyjny - - - - List installed LADSPA plugins - Pokaż zainstalowane wtyczki LADSPA - - - - plugin for using arbitrary LADSPA-effects inside LMMS. - Wtyczka umożliwiająca załadowanie dowolnego efektu LADSPA wewnątrz LMMS. - - - - Incomplete monophonic imitation TB-303 - Niezupełna monofoniczna emulacja syntezatora TB-303. - - - - plugin for using arbitrary LV2-effects inside LMMS. - - - - - plugin for using arbitrary LV2 instruments inside LMMS. - - - - - Filter for exporting MIDI-files from LMMS - Filtr służący do eksportowania plików MIDI z LMMS - - - - Filter for importing MIDI-files into LMMS - Filtr do importowania plików MIDI do LMMS. - - - - Monstrous 3-oscillator synth with modulation matrix - Potworny 3-oscylatorowy syntezator z macierzą modulacji - - - - A multitap echo delay plugin - - - - - A NES-like synthesizer - Syntezator odwzorowujący NES-a - - - - 2-operator FM Synth - 2-operatorowy syntezator FM - - - - Additive Synthesizer for organ-like sounds - Syntezator Addytywny umożliwiający stworzenie dźwięków zbliżonych brzmieniem do organów. - - - - GUS-compatible patch instrument - Instrument kompatybilny z standardem sampli GUS. - - - - Plugin for controlling knobs with sound peaks - Wtyczka do kontrolowania regulatorów za pośrednictwem szczytów dźwięku. - - - - Reverb algorithm by Sean Costello - Algorytm pogłosu Seana Costello - - - - Player for SoundFont files - Odtwarzacz plików SoundFont. - - - - LMMS port of sfxr - Port sxfr dla LMMS - - - - Emulation of the MOS6581 and MOS8580 SID. -This chip was used in the Commodore 64 computer. - Emulator układu dźwiękowego SID (MOS6581 i MOS8580) -Te układy scalone były stosowane w komputerach Commodore 64. - - - - A graphical spectrum analyzer. - - - - - Plugin for enhancing stereo separation of a stereo input file - Wtyczka rozszerzająca bazę stereo. - - - - Plugin for freely manipulating stereo output - Wtyczka do nieograniczonego manipulowania wyjściami stereofonicznymi. - - - - Tuneful things to bang on - Melodyjny instrument pałeczkowy. - - - - Three powerful oscillators you can modulate in several ways - Trzy potężne oscylatory, które możesz modulować na kilka sposobów - - - - A stereo field visualizer. - - - - - VST-host for using VST(i)-plugins within LMMS - Host VST pozwalający na użycie wtyczek VST(i) w LMMS. - - - - Vibrating string modeler - Symulator drgającej struny. - - - - plugin for using arbitrary VST effects inside LMMS. - wtyczka pozwalająca na korzystanie z efektów VST w LMMS. - - - - 4-oscillator modulatable wavetable synth - 4-oscylatorowy modularny syntezator tablicowy (wavetable) - - - - plugin for waveshaping - wtyczka kształtująca falę - - - - Mathematical expression parser - Instrument przetwarzający wyrażenia matematyczne - - - - Embedded ZynAddSubFX - Wbudowany syntezator ZynAddSubFX. + + Search + Szukaj - PluginDatabaseW + lmms::gui::PluginDescWidget - - Carla - Add New - - - - - Format - - - - - Internal - - - - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - - - - - Sound Kits - - - - - Type - Rodzaj - - - - Effects - Efekty - - - - Instruments - Instrumenty - - - - MIDI Plugins - Wtyczki MIDI - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - &Dodaj Wtyczkę - - - - Cancel - Anuluj - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - Format: - - - - Architecture: - Architektura: - - - - Type: - Rodzaj: - - - - MIDI Ins: - Wejścia MIDI: - - - - Audio Ins: - Wejścia Audio: - - - - CV Outs: - - - - - MIDI Outs: - Wyjścia MIDI: - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - Wyjścia Audio: - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Nazwa - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F - Ctrl+F + + Send to new instrument track + Wyślij do nowej ścieżki instrumentu - PluginEdit + lmms::gui::ProjectNotes - - Plugin Editor - - - - - Edit - Edytuj - - - - Control - Regulator - - - - MIDI Control Channel: - - - - - N - - - - - Output dry/wet (100%) - - - - - Output volume (100%) - - - - - Balance Left (0%) - - - - - - Balance Right (0%) - - - - - Use Balance - - - - - Use Panning - - - - - Settings - Ustawienia - - - - Use Chunks - - - - - Audio: - - - - - Fixed-Size Buffer - - - - - Force Stereo (needs reload) - - - - - MIDI: - MIDI: - - - - Map Program Changes - - - - - Send Bank/Program Changes - - - - - Send Control Changes - - - - - Send Channel Pressure - - - - - Send Note Aftertouch - - - - - Send Pitchbend - - - - - Send All Sound/Notes Off - - - - - -Plugin Name - - -Nazwa Wtyczki - - - - - Program: - - - - - MIDI Program: - - - - - Save State - - - - - Load State - - - - - Information - - - - - Label/URI: - - - - - Name: - Nazwa: - - - - Type: - Rodzaj: - - - - Maker: - - - - - Copyright: - - - - - Unique ID: - - - - - PluginFactory - - - Plugin not found. - Nie odnaleziono wtyczki. - - - - LMMS plugin %1 does not have a plugin descriptor named %2! - Wtyczka LMMS %1 nie ma deskryptora wtyczki nazwanego %2! - - - - PluginParameter - - - Form - - - - - Parameter Name - - - - - ... - ... - - - - PluginRefreshW - - - Carla - Refresh - - - - - Search for new... - - - - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - - - - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - - Press 'Scan' to begin the search - - - - - Scan - - - - - >> Skip - - - - - Close - Zamkni - - - - PluginWidget - - - - - - - Frame - - - - - Enable - Włącz - - - - On/Off - On/Off - - - - - - - PluginName - - - - - MIDI - MIDI - - - - AUDIO IN - - - - - AUDIO OUT - - - - - GUI - - - - - Edit - Edytuj - - - - Remove - Usuń - - - - Plugin Name - Nazwa Wtyczki - - - - Preset: - - - - - ProjectNotes - - + Project Notes - Pokaż/ukryj notatki projektu + Notatki projektu - + Enter project notes here - Wprowadź notatki dotyczące projektu + Wprowadź tutaj notatki dotyczące projektu + + + + Edit Actions + Edytuj czynności + + + + &Undo + &Cofnij - Edit Actions - Edytuj akcje - - - - &Undo - C&ofnij - - - %1+Z %1+Z - + &Redo - Powtó&rz + &Ponów - + %1+Y %1+Y - + &Copy &Kopiuj - + %1+C %1+C - + Cu&t Wy&tnij - + %1+X %1+X - + &Paste &Wklej - + %1+V %1+V - + Format Actions - Formatowanie + Czynności formatowania - + &Bold - Pogru&bienie + Pogru&biona - + %1+B %1+B - + &Italic - Pochylen&ie + &Kursywa - + %1+I %1+I - + &Underline - P&odkreślenie + &Podkreślona - + %1+U %1+U - + &Left Do &lewej - + %1+L %1+L - + C&enter - &Do środka + &Wyśrodkuj - + %1+E %1+E - + &Right Do p&rawej - + %1+R %1+R - + &Justify Wy&justuj - + %1+J %1+J - + &Color... - &Kolor… + &Kolor... - ProjectRenderer + lmms::gui::RecentProjectsMenu - - WAV (*.wav) - WAV (*.wav) - - - - FLAC (*.flac) - FLAC (*.flac) - - - - OGG (*.ogg) - OGG (*.ogg) - - - - MP3 (*.mp3) - MP3 (*.mp3) - - - - QObject - - - Reload Plugin - Przeładuj Wtyczkę - - - - Show GUI - Pokaż GUI - - - - Help - Pomoc - - - - QWidget - - - - - - Name: - Nazwa: - - - - URI: - URI: - - - - - - Maker: - Twórca: - - - - - - Copyright: - Prawa autorskie: - - - - - Requires Real Time: - Wymaga czasu rzeczywistego: - - - - - - - - - Yes - Tak - - - - - - - - - No - Nie - - - - - Real Time Capable: - Zdolność do pracy w czasie rzeczywistym: - - - - - In Place Broken: - - - - - - Channels In: - Kanały wejściowe: - - - - - Channels Out: - Kanały wyjściowe: - - - - File: %1 - Plik: %1 - - - - File: - Plik: - - - - RecentProjectsMenu - - + &Recently Opened Projects - &Ostatnio Otwierane Projekty + Ostatnio otwa&rte projekty - RenameDialog + lmms::gui::RenameDialog - + Rename... - Zmień nazwę… + Zmień nazwę... - ReverbSCControlDialog + lmms::gui::ReverbSCControlDialog - + Input Wejście - + Input gain: Wzmocnienie wejścia: - + Size Rozmiar - + Size: Rozmiar: - + Color Kolor - + Color: Kolor: - + Output Wyjście - + Output gain: Wzmocnienie wyjścia: - ReverbSCControls + lmms::gui::SaControlsDialog - - Input gain - Wzmocnienie wejścia - - - - Size - Rozmiar - - - - Color - Kolor - - - - Output gain - Wzmocnienie wyścia - - - - SaControls - - + Pause - + Wstrzymaj - - Reference freeze - - - - - Waterfall - - - - - Averaging - - - - - Stereo - Stereo - - - - Peak hold - - - - - Logarithmic frequency - - - - - Logarithmic amplitude - - - - - Frequency range - - - - - Amplitude range - - - - - FFT block size - - - - - FFT window type - - - - - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier - - - - - Averaging weight - - - - - Waterfall history size - - - - - Waterfall gamma correction - - - - - FFT window overlap - - - - - FFT zero padding - - - - - - Full (auto) - - - - - - - Audible - - - - - Bass - Basy - - - - Mids - - - - - High - - - - - Extended - - - - - Loud - - - - - Silent - - - - - (High time res.) - - - - - (High freq. res.) - - - - - Rectangular (Off) - - - - - - Blackman-Harris (Default) - - - - - Hamming - - - - - Hanning - - - - - SaControlsDialog - - - Pause - - - - + Pause data acquisition - + Wstrzymaj akwizycję danych - + Reference freeze - + Zamrożenie odniesienia - + Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - + Zamroź bieżące wejście jako odniesienie/wyłącz zanik w trybie utrzymywania wartości szczytowej. - Enable exponential moving average - + Waterfall + Wodospad - + + Display real-time spectrogram + Wyświetlaj spektrogram w czasie rzeczywistym + + + + Averaging + Uśrednianie + + + + Enable exponential moving average + Włącz wykładniczą średnią ruchomą + + + Stereo Stereo - + Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - + Wyświetlaj kanały stereo oddzielnie - Logarithmic frequency + Peak hold + Display envelope of peak values + Wyświetlaj obwiednię wartości szczytowych + + + + Logarithmic frequency + Częstotliwość logarytmiczna + + + Switch between logarithmic and linear frequency scale - + Przełącz między skalą częstotliwości logarytmicznej i liniowej - - + + Frequency range - + Zakres częstotliwości - + Logarithmic amplitude - + Amplituda logarytmiczna - + Switch between logarithmic and linear amplitude scale - + Przełącz między skalą amplitudy logarytmicznej i liniowej - - + + Amplitude range - + Zakres amplitudy - + + + FFT block size + Rozmiar bloku FFT + + + + + FFT window type + Typ okna FFT + + + Envelope res. - + Rozdz. obwiedni - + Increase envelope resolution for better details, decrease for better GUI performance. - + Zwiększ rozdzielczość obwiedni, aby uzyskać lepsze szczegóły, zmniejsz ją, aby uzyskać lepszą wydajność graficznego interfejsu użytkownika. - - - Draw at most - + + Maximum number of envelope points drawn per pixel: + Maksymalna liczba punktów obwiedni narysowanych na piksel: - - envelope points per pixel - - - - + Spectrum res. - + Rozdz. widma - + Increase spectrum resolution for better details, decrease for better GUI performance. - + Zwiększ rozdzielczość widma, aby uzyskać lepsze szczegóły, zmniejsz ją, aby uzyskać lepszą wydajność graficznego interfejsu użytkownika. - - spectrum points per pixel - + + Maximum number of spectrum points drawn per pixel: + Maksymalna liczba punktów widma narysowanych na piksel: - + Falloff factor - + Współczynnik zaniku - + Decrease to make peaks fall faster. - + Zmniejsz, aby szczyty opadały szybciej. - + Multiply buffered value by - + Pomnóż wartość buforowaną przez - + Averaging weight - + Uśrednianie wagi - + Decrease to make averaging slower and smoother. - + Zmniejsz, aby uśrednianie było wolniejsze i płynniejsze. - + New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - + Nowa próbka przyczynia się + Waterfall height + Wysokość wodospadu + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + Zwiększ, aby uzyskać wolniejsze przewijanie, zmniejsz, aby lepiej widzieć szybkie przejścia. Ostrzeżenie: średnie użycie procesora. + + + + Number of lines to keep: + Liczba linii do zachowania: + + + + Waterfall gamma + Gamma wodospadu + + + + Decrease to see very weak signals, increase to get better contrast. + Zmniejsz, aby zobaczyć bardzo słabe sygnały, zwiększ, aby uzyskać lepszy kontrast. + + + Gamma value: - + Wartość gamma: - + Window overlap - + Nakładanie się okien - + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - + Zwiększ, aby zapobiec pomijaniu szybkich przejść docierających w pobliże krawędzi okna FFT. Ostrzeżenie: wysokie użycie procesora. - - Each sample processed - + + Number of times each sample is processed: + Liczba przetworzenia każdego sampla: - - times - - - - + Zero padding - + Increase to get smoother-looking spectrum. Warning: high CPU usage. - + Zwiększ, aby uzyskać płynniej wyglądające widmo. Ostrzeżenie: wysokie użycie procesora. - + Processing buffer is - + Bufor przetwarzania jest - + steps larger than input block - + krokami większymi niż blok wejściowy - + Advanced settings Ustwawienia zaawansowane - + Access advanced settings - Dostęp do zaawansowanych ustawień - - - - - FFT block size - - - - - - FFT window type - + Dostęp do ustawień zaawansowanych - SampleBuffer + lmms::gui::SampleClipView - - Fail to open file - Nie udało się otworzyć pliku - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Pliki dźwiękowe mogą mieć rozmiar do %1 MB i trwać maks. %2 minut(y) - - - - Open audio file - Otwórz plik dźwiękowy - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Wszystkie pliki dźwiękowe (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Pliki Wave (*.wav) - - - - OGG-Files (*.ogg) - Pliki OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Pliki DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Pliki FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Pliki SPEEX (*.spx) - - - - VOC-Files (*.voc) - Pliki VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Pliki AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Pliki AU (*.au) - - - - RAW-Files (*.raw) - Pliki RAW (*.raw) - - - - SampleClipView - - + Double-click to open sample - + Kliknij dwukrotnie myszką, aby otworzyć próbkę - - Delete (middle mousebutton) - Usuń (środkowy przycisk myszy) - - - - Delete selection (middle mousebutton) - Usuń zaznaczone (środkowy przycisk myszy) - - - - Cut - Wytnij - - - - Cut selection - Wytnij zaznaczone - - - - Copy - Kopiuj - - - - Copy selection - Kopiuj zaznaczone - - - - Paste - Wklej - - - - Mute/unmute (<%1> + middle click) - Wycisz/cofnij wyciszenie (<%1> + środkowy przycisk myszy) - - - - Mute/unmute selection (<%1> + middle click) - - - - + Reverse sample Odwróć próbkę - - Set clip color + + Set as ghost in automation editor - - - Use track color - Użyj koloru ścieżki - - SampleTrack + lmms::gui::SampleTrackView - - Volume - Głośność - - - - Panning - Panoramowanie - - - + Mixer channel - Kanał FX + Kanał miksera - - - Sample track - Ścieżka audio - - - - SampleTrackView - - + Track volume Głośność ścieżki - + Channel volume: Głośność kanału: - + VOL - VOL + - + Panning Panoramowanie - + Panning: Panoramowanie: - + PAN PAN - - Channel %1: %2 - FX %1: %2 + + %1: %2 + %1: %2 - SampleTrackWindow + lmms::gui::SampleTrackWindow - - GENERAL SETTINGS - GŁÓWNE USTAWIENIA - - - + Sample volume - + Głośność próbki - + Volume: Głośność: - + VOL - VOL + - + Panning Panoramowanie - + Panning: Panoramowanie: - + PAN PAN - + Mixer channel - Kanał FX + Kanał miksera - + CHANNEL - FX + KANAŁ - SaveOptionsWidget + lmms::gui::SaveOptionsWidget - + Discard MIDI connections - + Odrzuć połączenia MIDI - + Save As Project Bundle (with resources) - + Zapisz jako pakiet projektu (z zasobami) - SetupDialog + lmms::gui::SetupDialog - - Reset to default value - - - - - Use built-in NaN handler - - - - + Settings Ustawienia - - + + General - + Ogólne - + Graphical user interface (GUI) - + Graficzny interfejs użytkownika (GUI) - + Display volume as dBFS Wyświetlaj głośność jako dBFS - + Enable tooltips Włącz podpowiedzi - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - Włącz etykiety wszystkich nut w edytorze pianowym. - + Enable master oscilloscope by default + Włącz domyślnie oscyloskop główny + + + + Enable all note labels in piano roll + Włącz etykiety wszystkich nut w edytorze pianolowym + + + Enable compact track buttons Włącz kompaktowe przyciski ścieżek - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - Let sample previews continue when mouse is released - + Enable one instrument-track-window mode + Włącz tryb jednego okna ścieżki instrumentu + Show sidebar on the right-hand side + Pokaż pasek boczny po prawej stronie + + + + Let sample previews continue when mouse is released + Pozwól na kontynuowanie podglądu próbki po zwolnieniu myszki + + + Mute automation tracks during solo - + Show warning when deleting tracks - + Pokaż ostrzeżenie podczas usuwania ścieżek - - Projects - + + Show warning when deleting a mixer channel that is in use + Pokaż ostrzeżenie podczas usuwania kanału miksera, który jest w użyciu + + + + Dual-button + Podwójny przycisk + + + + Grab closest + Złap najbliższy + Handles + Uchwyty + + + + Loop edit mode + Tryb edycji pętli + + + + Projects + Projekty + + + Compress project files by default Domyślnie kompresuj pliki projektu - + Create a backup file when saving a project - + Utwórz plik kopii zapasowej podczas zapisywania projektu - + Reopen last project on startup - Ponownie otwórz ostatni projekt przy uruchomieniu + Otwórz ponownie ostatni projekt podczas uruchamiania - + Language - + Język - - + + Performance - + Wydajność - + Autosave - + Autozapisywanie - + Enable autosave - Włącz automatyczny zapis + Włącz autozapisywanie - + Allow autosave while playing - + Zezwalaj na autozapisywanie podczas odtwarzania - + User interface (UI) effects vs. performance - + Efekty interfejsu użytkownika (UI) a wydajność - + Smooth scroll in song editor - Płynne przewijanie w edytorze kompozycji + Płynne przewijanie w edytorze utworu - + Display playback cursor in AudioFileProcessor - + Wyświetlaj wskaźnik odtwarzania w AudioFileProcessorze - + Plugins Wtyczki - + VST plugins embedding: - - - - - No embedding - Nie osadzaj - - - - Embed using Qt API - Osadź używając API Qt - - - - Embed using native Win32 API - Osadź używając natywnego API Win32 - - - - Embed using XEmbed protocol - Osądź używając protokołu XEmbed + Osadzanie wtyczek VST: - Keep plugin windows on top when not embedded - + No embedding + Brak osadzania + + + + Embed using Qt API + Osadź za pomocą API Qt - Sync VST plugins to host playback - Synchronizuj wtyczki VST z hostem + Embed using native Win32 API + Osadź za pomocą API Win32 - + + Embed using XEmbed protocol + Osadź za pomocą protokołu XEmbed + + + + Keep plugin windows on top when not embedded + Trzymaj okna wtyczek na wierzchu, gdy nie są osadzone + + + Keep effects running even without input - Pozostaw efekty włączone, nawet bez wejścia + Trzymaj efekty włączone, nawet bez wyjścia - - + + Audio - Audio + Dźwięk - + Audio interface - + Interfejs dźwięku - - HQ mode for output audio device - - - - + Buffer size - + Rozmiar bufora + + + + Reset to default value + Resetuj do wartości domyślnej - + MIDI MIDI - + MIDI interface - + Interfejs MIDI - + Automatically assign MIDI controller to selected track - + Automatyczne przypisywanie kontrolera MIDI do zaznaczonej ścieżki - - LMMS working directory - Katalog roboczy LMMS + + Behavior when recording + Zachowanie podczas nagrywania - - VST plugins directory - Katalog wtyczek VST + + Auto-quantize notes in Piano Roll + Autokwantyzacja nut w edytorze pianolowym - - LADSPA plugins directories - Katalog wtyczek LADSPA + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + Jeśli włączone, nuty będą automatycznie kwantyzowane podczas nagrywania ich z kontrolera MIDI. Jeśli wyłączone, są zawsze nagrywane w najwyższej możliwej rozdzielczości. - - SF2 directory - Katalog SF2 - - - - Default SF2 - Domyślne SF2 - - - - GIG directory - Katalog GIG - - - - Theme directory - Katalog motywu - - - - Background artwork - Grafika w tle - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - + + Paths Ścieżki - + + LMMS working directory + Katalog roboczy LMMS + + + + VST plugins directory + Katalog wtyczek VST + + + + LADSPA plugins directories + Katalog wtyczek LADSPA + + + + SF2 directory + Katalog SF2 + + + + Default SF2 + Domyślny plik SF2 + + + + GIG directory + Katalog GIG + + + + Theme directory + Katalog motywów + + + + Background artwork + Grafika w tle + + + + Some changes require restarting. + Niektóre zmiany wymagają ponownego uruchomienia. + + + OK OK - + Cancel Anuluj - + + minutes + minuty + + + + minute + minuta + + + + Disabled + Wyłączono + + + + Autosave interval: %1 + Częstotliwość autozpisywnia: %1 + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + Aktualnie wybrana wartość nie jest potęgą 2 (32, 64, 128, 256). Niektóre wtyczki mogą być niedostępne. + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + Aktualnie wybrana wartość jest mniejsza lub równa 32. Niektóre wtyczki mogą być niedostępne. + + + Frames: %1 Latency: %2 ms Ramki: %1 Opóźnienie: %2 ms - - Choose your GIG directory - Wybierz katalog GIG + + Choose the LMMS working directory + Wybierz katalog roboczy LMMS - + + Choose your VST plugins directory + Wybierz swój katalog wtyczek VST + + + + Choose your LADSPA plugins directory + Wybierz swój katalog wtyczek LADSPA + + + Choose your SF2 directory Wybierz swój katalog z SF2 - - minutes - minuty + + Choose your default SF2 + Wybierz swój domyślny plik SF2 - - minute - minuta + + Choose your GIG directory + Wybierz swój katalog z plikami GIG - - Disabled - Wyłączono + + Choose your theme directory + Wybierz swój katalog motywów + + + + Choose your background picture + Wybierz swój obraz tła - SidInstrument + lmms::gui::Sf2InstrumentView - - Cutoff frequency - Częstotliwość graniczna + + + Open SoundFont file + Otwórz plik SoundFont - - Resonance - Zafalowanie charakterystyki + + Choose patch + Wybierz próbkę - - Filter type - Rodzaj filtru + + Gain: + Wzmocnienie: - - Voice 3 off - Wyłącz głos 3 + + Apply reverb (if supported) + Zastosuj pogłos (jeśli obsługiwany) - - Volume - Głośność + + Room size: + Rozmiar pokoju: - - Chip model - Rodzaj scalaka + + Damping: + Tłumienie: + + + + Width: + Szerokość: + + + + + Level: + Poziom: + + + + Apply chorus (if supported) + Zastosuj chorus (jeśli obsługiwany) + + + + Voices: + Głosy: + + + + Speed: + Prędkość: + + + + Depth: + Głębia: + + + + SoundFont Files (*.sf2 *.sf3) + Pliki SoundFont (*.sf2 *.sf3) - SidInstrumentView + lmms::gui::SidInstrumentView - + Volume: Głośność: - + Resonance: - Zafalowanie charakterystyki: + Rezonans: - - + + Cutoff frequency: Częstotliwość graniczna: - + High-pass filter - + Band-pass filter - + Low-pass filter - + Voice 3 off - + Wyłącz głos 3 - + MOS6581 SID MOS6581 SID - + MOS8580 SID MOS8580 SID - - + + Attack: - Atak: + Narastanie: - - + + Decay: - Zanikanie: + - + Sustain: - Podtrzymanie: + - - + + Release: - Zwolnienie: + Opadanie: - + Pulse Width: Współczynnik wypełnienia impulsu: - + Coarse: - Zgrubne odstrojenie: - - - - Pulse wave - + + Pulse wave + Fala pulsująca + + + Triangle wave Fala trójkątna - + Saw wave Fala piłokształtna - + Noise Szum - + Sync - Synchronizacja + Zsynchronizuj - + Ring modulation - + Modulacja pierścieniowa - + Filtered Filtrowany - + Test Test - + Pulse width: - + Współczynnik wypełnienia impulsu: - SideBarWidget + lmms::gui::SideBarWidget - + Close - Zamkni + Zamknij - Song + lmms::gui::SlicerTView - - Tempo - Tempo - - - - Master volume - Głośność główna - - - - Master pitch - Odstrojenie główne - - - - Aborting project load + + Slice snap - - Project file contains local paths to plugins, which could be used to run malicious code. + + Set slice snapping for detection - - Can't load project: Project file contains local paths to plugins. + + Sync sample - - LMMS Error report - Zgłoszenie błędu LMMS + + Enable BPM sync + Włącz synchr. BPM - - (repeated %1 times) - (powtórzone %1 razy) + + Original sample BPM + Oryginalna próbka BPM - - The following errors occurred while loading: + + Threshold used for slicing + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + Próg + + + + Fade Out + Ściszenie + + + + Reset + Resetuj + + + + Midi + MIDI + + + + BPM + BPM + + + + Snap + Przyciągaj + - SongEditor + lmms::gui::SlicerTWaveform - + + Click to load sample + Kliknij, aby załadować próbkę + + + + lmms::gui::SongEditor + + Could not open file Nie można otworzyć pliku - + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - Nie da się otworzyć pliku %1. Prawdopodobnie nie posiadasz uprawnień do odczytu tego pliku. -Upewnij się, że masz przynajmniej uprawnienia odczytu tego pliku a następnie spróbuj ponownie. + Nie można otworzyć pliku %1. Prawdopodobnie nie masz uprawnień do odczytu tego pliku. +Upewnij się, że masz przynajmniej uprawnienia do odczytu pliku i spróbuj ponownie. - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - Error - BłądBłą - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - + Operation denied + Operacja odrzucona - Failed to copy resources. - - - - - Could not write file - Nie można zapisać pliku + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + Folder pakietu o tej nazwie już istnieje w wybranej ścieżce. Nie można zastąpić pakietu projektu. Wybierz inną nazwę. - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. + + + Error + Błąd + + + + Couldn't create bundle folder. + Nie można utworzyć folderu pakietu. + + + + Couldn't create resources folder. + Nie można utworzyć folderu zasobów. + + + + Failed to copy resources. + Nie można skopiować zasobów. + + + + + Could not write file + Nie można zapisać pliku. + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + Nie można otworzyć %1 do zapisu. Prawdopodobnie nie masz uprawnień do zapisu do tego pliku. Upewnij się, że masz uprawnienia do zapisu do pliku i spróbuj ponownie. + + + + An unknown error has occurred and the file could not be saved. - - This %1 was created with LMMS %2 - - - - + Error in file Błąd w pliku - + The file %1 seems to contain errors and therefore can't be loaded. Wygląda na to, że plik %1 zawiera błędy i nie może zostać załadowany. - - Version difference - Różnica wersji - - - + template szablon - + project projekt - + + Version difference + Różnica wersji + + + + This %1 was created with LMMS %2 + %1 został utworzony w LMMS %2. + + + + Zoom + Powiększenie + + + Tempo Tempo - + TEMPO - + TEMPO - + Tempo in BPM - + Tempo w BPM - - High quality mode - Tryb wysokiej jakości - - - - - + + + Master volume Głośność główna - - - - Master pitch - Odstrojenie główne + + + + Global transposition + Transpozycja ogólna - + + 1/%1 Bar + 1/%1 takt + + + + %1 Bars + %1 takty + + + Value: %1% Wartość: %1% - - Value: %1 semitones - Wartość: %1 półtonów + + Value: %1 keys + Wartość: %1 keys - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - Edytor kompozycji + Edytor utworu + + + + Play song (Space) + Odtwarzaj utwór (Spacja) + + + + Record samples from Audio-device + Nagrywaj próbki z urządzenia dźwiękowego - Play song (Space) - Odtwórz (Spacja) + Record samples from Audio-device while playing song or pattern track + Nagrywaj próbki z urządzenia dźwiękowego podczas odtwarzania utworu lub ścieżki szablonu - Record samples from Audio-device - Nagraj próbki z urządzenia audio - - - - Record samples from Audio-device while playing song or BB track - Nagrywa próbki z urządzenia audio podczas odtwarzania kompozycji lub ścieżki perkusji/basu - - - Stop song (Space) - Zatrzymaj odtwarzanie (Spacja) + Zatrzymaj utwór (Spacja) - + Track actions - Operacje na ścieżce + Czynności ścieżki - - Add beat/bassline - Dodaj linię perkusyjną/basową + + Add pattern-track + Dodaj ścieżkę-szablon - + Add sample-track - Dodaj próbkę + Dodaj ścieżkę-próbkę - + Add automation-track Dodaj ścieżkę automatyki - + Edit actions - Edytuj akcje + Edytuj czynności - + Draw mode Tryb rysowania - + Knife mode (split sample clips) + Tryb noża (podziel klipy próbek) + + + + Edit mode (select and move) + Tryb edycji (zaznacz i przesuń) + + + + Timeline controls - - Edit mode (select and move) - Tryb edycji (zaznacz i przenieś) - - - - Timeline controls - Kontrola osi czasu - - - + Bar insert controls - + Insert bar - + Wstaw takt - + Remove bar + Usuń takt + + + + Zoom controls - - Zoom controls - Kontrola powiększenia - - + - Horizontal zooming - Powiększenie poziome + Zoom + Powiększenie - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - Wskazówka + Podpowiedź - + Move recording curser using <Left/Right> arrows + Przesuń kursor nagrywania za pomocą strzałek <lewo/prawo> + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + SZEROKOŚĆ + + + + Width: + Szerokość: + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: - SubWindow + lmms::gui::SubWindow - + Close - Zamkni + Zamknij - + Maximize - Minimalizuj + Maksymalizuj - + Restore Przywróć - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - Ustawienia %1 + + 0 + 0 + + + + + Precision + Precyzja + + + + Display in high precision + Wyświetlaj z wysoką precyzją + + + + 0.0 ms + 0,0 ms + + + + Mute metronome + Wycisz metronom + + + + Mute + Cisza + + + + BPM in milliseconds + BPM w milisekundach + + + + 0 ms + 0 ms + + + + Frequency of BPM + Częstotliwość BPM + + + + 0.0000 hz + 0,0000 hz + + + + Reset + Resetuj + + + + Reset counter and sidebar information + Resetuj licznik i informacje na pasku bocznym + + + + Sync + Zsynchronizuj + + + + Sync with project tempo + Zsynchronizuj z tempem projektu + + + + %1 ms + %1 ms + + + + %1 hz + %1 hz - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template Nowy z szablonu - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync Synchronizacja tempa - + No Sync Brak synchronizacji - + Eight beats Osiem uderzeń - + Whole note Cała nuta - + Half note Półnuta - + Quarter note Ćwierćnuta - + 8th note Ósemka - + 16th note Szesnastka - + 32nd note - Trzydziestka dwójka + Trzydziestodwójka - + Custom... - Własne... + Niestandardowy... - + Custom - Własne + Niestandardowy - + Synced to Eight Beats Zsynchronizowane do ośmiu uderzeń - + Synced to Whole Note Zsynchronizowane do całej nuty - + Synced to Half Note Zsynchronizowane do półnuty - + Synced to Quarter Note Zsynchronizowane do ćwierćnuty - + Synced to 8th Note Zsynchronizowane do ósemki - + Synced to 16th Note Zsynchronizowane do szesnastki - + Synced to 32nd Note - Zsynchronizowane do trzydziestki dwójki + Zsynchronizowane do trzydziestodwójki - TimeDisplayWidget + lmms::gui::TempoSyncKnob - - Time units - + + + Tempo Sync + Synchronizacja tempa - + + No Sync + Brak synchronizacji + + + + Eight beats + Osiem uderzeń + + + + Whole note + Cała nuta + + + + Half note + Półnuta + + + + Quarter note + Ćwierćnuta + + + + 8th note + Ósemka + + + + 16th note + Szesnastka + + + + 32nd note + Trzydziestodwójka + + + + Custom... + Niestandardowy... + + + + Custom + Niestandardowy + + + + Synced to Eight Beats + Zsynchronizowane do ośmiu uderzeń + + + + Synced to Whole Note + Zsynchronizowane do całej nuty + + + + Synced to Half Note + Zsynchronizowane do półnuty + + + + Synced to Quarter Note + Zsynchronizowane do ćwierćnuty + + + + Synced to 8th Note + Zsynchronizowane do ósemki + + + + Synced to 16th Note + Zsynchronizowane do szesnastki + + + + Synced to 32nd Note + Zsynchronizowane do trzydziestodwójki + + + + lmms::gui::TimeDisplayWidget + + + Time units + Jednostki czasu + + + MIN MIN - + SEC SEK - + MSEC - MILISEK + MSEK - + BAR TAKT - + BEAT - RYTM + MIARA - + TICK - TICK + TYK - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + Autoprzewijanie - + + Stepped auto scrolling + Autoprzewijanie stopniowe + + + + Continuous auto scrolling + Autoprzewijanie ciągłe + + + + Auto scrolling disabled + Autoprzewijanie wyłączone + + + Loop points - + Znaczniki zapętlania - + After stopping go back to beginning - + Po zatrzymaniu wróć do początku - + After stopping go back to position at which playing was started - Po zatrzymaniu powróć do pozycji z której rozpoczęto odtwarzanie + Po zatrzymaniu wróć do pozycji, z której rozpoczęto odtwarzanie - + After stopping keep position Po zatrzymaniu zapamiętaj pozycję - + Hint - Wskazówka + Podpowiedź - + Press <%1> to disable magnetic loop points. - Naciśnij <%1> aby wyłączyć magnetyczne punkty pętli. + Naciśnij <%1>, aby wyłączyć punkty pętli magnetycznej. + + + + Set loop begin here + Ustaw początek pętli tutaj + + + + Set loop end here + Ustaw koniec pętli tutaj + + + + Loop edit mode (hold shift) + Tryb edycji pętli (przytrzymaj Shift) + + + + Dual-button + Podwójny przycisk + + + + Grab closest + Złap najbliższy + + + + Handles + Uchwyty - Track + lmms::gui::TrackContentWidget - - Mute - Wycisz - - - - Solo - Solo - - - - TrackContainer - - - Couldn't import file - Nie udało się zaimportować pliku - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Nie można odnaleźć filtra do zaimportowania pliku %1. -Powinienieś przekonwertować ten plik do formatu wspieranego przez LMMS za pomocą zewnętrznego oprogramowania. - - - - Couldn't open file - Nie udało się otworzyć pliku - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Nie da się otworzyć pliku %1 do odczytu. -Upewnij się, że masz uprawnienia do odczytu tego pliku i katalogu zawierającego plik a następnie spróbuj ponownie! - - - - Loading project... - Ładowanie projektu… - - - - - Cancel - Anuluj - - - - - Please wait... - Proszę czekać… - - - - Loading cancelled - Anulowano ładowanie - - - - Project loading was cancelled. - Ładowanie projektu zostało anulowane - - - - Loading Track %1 (%2/Total %3) - Ładowanie utworu %1 (%2/Łącznie %3) - - - - Importing MIDI-file... - Importowanie pliku MIDI… - - - - Clip - - - Mute - Wycisz - - - - ClipView - - - Current position - Obecne położenie - - - - Current length - Obecna dlugość - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (od %3:%4 do 5:%6) - - - - Press <%1> and drag to make a copy. - Przytrzymaj <%1> i przeciągnij, aby skopiować. - - - - Press <%1> for free resizing. - Przytrzymaj <%1> aby dowolnie zmieniać rozmiar. - - - - Hint - Wskazówka - - - - Delete (middle mousebutton) - Usuń (środkowy przycisk myszy) - - - - Delete selection (middle mousebutton) - Usuń zaznaczone (środkowy przycisk myszy) - - - - Cut - Wytnij - - - - Cut selection - Wytnij zaznaczone - - - - Merge Selection - - - - - Copy - Kopiuj - - - - Copy selection - Kopiuj zaznaczone - - - - Paste - Wklej - - - - Mute/unmute (<%1> + middle click) - Wycisz/cofnij wyciszenie (<%1> + środkowy przycisk myszy) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - Użyj koloru ścieżki - - - - TrackContentWidget - - + Paste Wklej - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - + Naciśnij <%1>, klikając jednocześnie na uchwycie przesuwania, aby rozpocząć nową czynność przeciągania i upuszczania. Actions - + Czynności Mute - Wycisz + Cisza @@ -13749,2874 +18042,1030 @@ Upewnij się, że masz uprawnienia do odczytu tego pliku i katalogu zawierające Solo - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Ścieżki nie można odzyskać po jej usunięciu. Na pewno chcesz usunąć ścieżkę „%1”? - + Confirm removal - + Potwierdź usunięcie - + Don't ask again - + Nie pytaj ponownie - + Clone this track - Sklonuj tą ścieżkę + Klonuj tę ścieżkę - + Remove this track - Usuń tą ścieżkę + Usuń tę ścieżkę + + + + Clear this track + Wyczyść tę ścieżkę - Clear this track - Wyczyść tą ścieżkę - - - Channel %1: %2 - FX %1: %2 + Kanał %1: %2 - - Assign to new mixer Channel - Przypisz do nowego kanału efektów + + Assign to new Mixer Channel + Przypisz do nowego kanału miksera - + Turn all recording on - + Włącz wszystkie nagrania - + Turn all recording off - + Wyłącz wszystkie nagrania + + + + Track color + Kolor ścieżki - Change color - Zmień kolor + Change + Zmień + + + + Reset + Resetuj - Reset color to default - Ustaw kolor domyślny + Pick random + Wybierz losowe - Set random color - Ustaw losowy kolor - - - - Clear clip colors - + Reset clip colors + Resetuj kolory klipu - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Moduluj fazę oscylatora 1 z oscylatorem 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - - - - - Mix output of oscillators 1 & 2 - - - - - Synchronize oscillator 1 with oscillator 2 - Synchronizuj oscylator 1 z oscylatorem 2 + Moduluj amplitudę oscylatora 1 z oscylatorem 2 - Modulate frequency of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 + Miksuj wyjścia oscylatorów 1 i 2 + + + + Synchronize oscillator 1 with oscillator 2 + Zsynchronizuj oscylator 1 z oscylatorem 2 + Modulate frequency of oscillator 1 by oscillator 2 + Moduluj częstotliwość oscylatora 1 z oscylatorem 2 + + + Modulate phase of oscillator 2 by oscillator 3 - + Moduluj fazę oscylatora 2 z oscylatorem 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Moduluj amplitudę oscylatora 2 z oscylatorem 3 - + Mix output of oscillators 2 & 3 - + Miksuj wyjścia oscylatorów 2 i 3 - + Synchronize oscillator 2 with oscillator 3 - Synchronizuj oscylator 2 z oscylatorem 3 + Zsynchronizuj oscylator 2 z oscylatorem 3 - + Modulate frequency of oscillator 2 by oscillator 3 + Moduluj częstotliwość oscylatora 2 z oscylatorem 3 + + + + Osc %1 volume: + Głośność osc %1: + + + + Osc %1 panning: + Panoramowanie osc %1: + + + + Osc %1 coarse detuning: - - Osc %1 volume: - Osc %1 - głośność: - - - - Osc %1 panning: - Osc %1 - panoramowanie: - - - - Osc %1 coarse detuning: - Osc %1 - zgrubne odstrojenie: - - - + semitones - półtony + półtonów - + Osc %1 fine detuning left: - Osc %1 - dokładne odstrojenie w lewo: + - - + + cents - centy + centów - + Osc %1 fine detuning right: - Osc %1 - dokładne odstrojenie w prawo: + - + Osc %1 phase-offset: - Osc %1 - przesunięcie fazowe: + Przesunięcie fazowe osc %1: - - + + degrees stopni - + Osc %1 stereo phase-detuning: - Osc %1 - odstrojenie fazy stereo: + Odstrojenie fazy stereo osc %1: - + Sine wave Fala sinusoidalna - + Triangle wave Fala trójkątna - + Saw wave Fala piłokształtna - + Square wave Fala prostokątna - + Moog-like saw wave - + Fala piłokształtna Mooga - + Exponential wave Fala wykładnicza - + White noise - Biały szum + Szum biały - + User-defined wave - + Fala zdefiniowana przez użytkownika + + + + Use alias-free wavetable oscillators. + Użyj oscylatorów tablicowych wolnych od aliasów. - VecControls - - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality - - - - - VecControlsDialog - - - HQ - - + lmms::gui::VecControlsDialog + HQ + HQ + + + Double the resolution and simulate continuous analog-like trace. Log. scale - + Skala log. Display amplitude on logarithmic scale to better see small values. - + Wyświetlaj amplitudę w skali logarytmicznej, aby lepiej widzieć małe wartości. - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog + lmms::gui::VersionedSaveDialog - + Increment version number Zwiększ numer wersji o jeden - + Decrement version number Zminiejsz numer wersji o jeden - + Save Options - + Zapisz opcje - + already exists. Do you want to replace it? - już istnieje. Czy chcesz go zastąpić? + już istnieje. Chcesz go zastąpić? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin Otwórz wtyczkę VST - + Control VST plugin from LMMS host - + Kontroluj wtyczkę VST z hosta LMMS - + Open VST plugin preset - + Otwórz preset wtyczki VST - + Previous (-) Poprzedni (-) - + Save preset Zapisz preset - + Next (+) Następny (+) - + Show/hide GUI - Pokaż/ukryj GUI + Pokaż/ukryj graficzny interfejs użytkownika - + Turn off all notes Wycisz wszystkie nuty - + DLL-files (*.dll) Pliki DLL (*.dll) - + EXE-files (*.exe) Pliki EXE (*.exe) - - No VST plugin loaded - + + SO-files (*.so) + Pliki SO (*.so) - + + No VST plugin loaded + Nie załadowano wtyczki VST + + + Preset Preset - + by autorstwa - + - VST plugin control - kontrola wtyczki VST - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + Włącz kształt fali + + + + + Smooth waveform + Gładki kształt fali + + + + + Normalize waveform + Normalizuj kształt fali + + + + + Sine wave + Fala sinusoidalna + + + + + Triangle wave + Fala trójkątna + + + + + Saw wave + Fala piłokształtna + + + + + Square wave + Fala prostokątna + + + + + White noise + Szum biały + + + + + User-defined wave + Fala zdefiniowana przez użytkownika + + + + String volume: + Głośność struny: + + + + String stiffness: + Sztywność struny: + + + + Pick position: + Wybierz pozycję: + + + + Pickup position: + + + + + String panning: + Panoramowanie struny: + + + + String detune: + Odstrojenie struny: + + + + String fuzziness: + Rozmycie struny: + + + + String length: + Długość struny: + + + + Impulse Editor + Edytor impulsów + + + + Impulse + Impuls + + + + Enable/disable string + Włącz/wyłącz strunę + + + + Octave + Oktawa + + + + String + Struna + + + + lmms::gui::VstEffectControlDialog + + Show/hide Pokaż/ukryj - + Control VST plugin from LMMS host - + Kontroluj wtyczkę VST z hosta LMMS - + Open VST plugin preset - + Otwórz preset wtyczki VST - + Previous (-) Poprzedni (-) - + Next (+) Następny (+) - + Save preset Zapisz preset - - + + Effect by: - Efekt autorstwa: + Efekt autorstwa: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - Wtyczka VST %1 nie może zostać załadowana. - - - - Open Preset - Otwórz Preset - - - - - Vst Plugin Preset (*.fxp *.fxb) - Preset wtyczki VST (*.fxp *.fxb) - - - - : default - : domyślne - - - - Save Preset - Zapisz Preset - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Ładowanie wtyczki - - - - Please wait while loading VST plugin... - Poczekaj, trwa ładowanie wtyczki VST… - - - - WatsynInstrument - - - Volume A1 - Głośność A1 - - - - Volume A2 - Głośność A2 - - - - Volume B1 - Głośność B1 - - - - Volume B2 - Głośność B2 - - - - Panning A1 - Panoramowanie A1 - - - - Panning A2 - Panoramowanie A2 - - - - Panning B1 - Panoramowanie B1 - - - - Panning B2 - Panoramowanie B2 - - - - Freq. multiplier A1 - Mnożnik częst. A1 - - - - Freq. multiplier A2 - Mnożnik częst. A2 - - - - Freq. multiplier B1 - Mnożnik częst. B1 - - - - Freq. multiplier B2 - Mnożnik częst. B2 - - - - Left detune A1 - Odstrojenie w lewo A1 - - - - Left detune A2 - Odstrojenie w lewo A2 - - - - Left detune B1 - Odstrojenie w lewo B1 - - - - Left detune B2 - Odstrojenie w lewo B2 - - - - Right detune A1 - Odstrojenie w prawo A1 - - - - Right detune A2 - Odstrojenie w prawo A2 - - - - Right detune B1 - Odstrojenie w prawo B1 - - - - Right detune B2 - Odstrojenie w prawo B2 - - - - A-B Mix - Miks A-B - - - - A-B Mix envelope amount - A-B Mix ilość obwiedni - - - - A-B Mix envelope attack - A-B Mix atak obwiedni - - - - A-B Mix envelope hold - A-B Mix przetrzymywanie obwiedni - - - - A-B Mix envelope decay - A-B Mix zanikanie obwiedni - - - - A1-B2 Crosstalk - A1-B2 Przesłuch - - - - A2-A1 modulation - A2-A1 Modulacja - - - - B2-B1 modulation - B2-B1 Modulacja - - - - Selected graph - Zaznaczony graf - - - - WatsynView - - - - - + + + + Volume Głośność - - - - + + + + Panning Panoramowanie - - - - + + + + Freq. multiplier Mnożnik częst. - - - - + + + + Left detune Odstrojenie w lewo + + + + + + - - - - - - cents - centy + centów - - - - + + + + Right detune Odstrojenie w prawo - + A-B Mix - Miks A-B + Miksuj A-B - + Mix envelope amount - + Miksuj wartość obwiedni - + Mix envelope attack - + Miksuj narastanie obwiedni - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Przesłuch - + Select oscillator A1 Wybierz oscylator A1 - + Select oscillator A2 Wybierz oscylator A2 - + Select oscillator B1 Wybierz oscylator B1 - + Select oscillator B2 Wybierz oscylator B2 - + Mix output of A2 to A1 - + Miksuj wyjście A2 do A1 - + Modulate amplitude of A1 by output of A2 - + Moduluj amplitudę A1 z wyjściem A2 - + Ring modulate A1 and A2 - + Modulacja pierścieniowa A1 i A2 - + Modulate phase of A1 by output of A2 - + Moduluj fazę A1 z wyjściem A2 - + Mix output of B2 to B1 - + Miksuj wyjście B2 do B1 - + Modulate amplitude of B1 by output of B2 - + Moduluj amplitudę B1 z wyjściem B2 - + Ring modulate B1 and B2 - + Modulacja pierścieniowa B1 i B2 - + Modulate phase of B1 by output of B2 - + Moduluj fazę B1 z wyjściem B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Narysuj swój własny przebieg przeciągając kursorem po tym wykresie. + Narysuj swój własny przebieg fali, przeciągając kursorem po tym wykresie. - + Load waveform Załaduj kształt fali - + Load a waveform from a sample file - + Załaduj kształt fali z przykładowego pliku - + Phase left - + Faza w lewo - + Shift phase by -15 degrees - + Przesuń fazę o -15 stopni - + Phase right - + Faza w prawo - + Shift phase by +15 degrees - + Przesuń fazę o +15 stopni + + + + + Normalize + Normalizuj - Normalize - Normalizacja - - - - Invert Odwróć - - + + Smooth - Wygładzanie + Wygładź - - + + Sine wave Fala sinusoidalna - - - + + + Triangle wave Fala trójkątna - + Saw wave Fala piłokształtna - - + + Square wave Fala prostokątna - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - Zaznaczony graf - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - Wygładzanie W1 - - - - W2 smoothing - Wygładzanie W2 - - - - W3 smoothing - Wygładzanie W3 - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - Narysuj swój własny przebieg przeciągając kursorem po tym wykresie. - - - - Select oscillator W1 - Wybierz oscylator W1 - - - - Select oscillator W2 - Wybierz oscylator W2 - - - - Select oscillator W3 - Wybierz oscylator W3 - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - Otwórz okno pomocy - - - - - Sine wave - Fala sinusoidalna - - - - - Moog-saw wave - - - - - - Exponential wave - Fala wykładnicza - - - - - Saw wave - Fala piłokształtna - - - - - User-defined wave - - - - - - Triangle wave - Fala trójkątna - - - - - Square wave - Fala prostokątna - - - - - White noise - Biały szum - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - Ogólnego zastosowania 1: - - - - General purpose 2: - Ogólnego zastosowania 2: - - - - General purpose 3: - Ogólnego zastosowania 3: - - - - O1 panning: - Panoramowanie O1: - - - - O2 panning: - Panoramowanie O2: - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Szerokość Pasma - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - - - - - FREQ - FREQ - - - - Filter resonance: - - - - - RES - RES - - - - Bandwidth: - Szerokość Pasma: - - - - BW - BW - - - - FM gain: - - - - - FM GAIN - FM GAIN - - - - Resonance center frequency: - Częstotliwość środkowa zafalowania: - - - - RES CF - RES-CF - - - - Resonance bandwidth: - Szerokość pasma zafalowania: - - - - RES BW - RES BW - - - - Forward MIDI control changes - - - - - Show GUI - Pokaż GUI - - - - AudioFileProcessor - - - Amplify - Wzmacniaj - - - - Start of sample - Początek sampla - - - - End of sample - Koniec sampla - - - - Loopback point - Znacznik zapętlenia: - - - - Reverse sample - Odwróć próbkę - - - - Loop mode - Tryb zapętlenia - - - - Stutter - - - - - Interpolation mode - Tryb interpolacji - - - - None - Brak - - - - Linear - Liniowa - - - - Sinc - - - - - Sample not found: %1 - Nie odnaleziono sampla: %1 - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - Narysuj swój własny przebieg przeciągając kursorem po tym wykresie. - - - - - Sine wave - Fala sinusoidalna - - - - - Triangle wave - Fala trójkątna - - - - - Saw wave - Fala piłokształtna - - - - - Square wave - Fala prostokątna - - - - - White noise - Biały szum - - - - - User-defined wave - - - - - - Smooth waveform - Gładki kształt przebiegu - - - - Interpolation - Interpolacja - - - - Normalize - Normalizacja - - - - DynProcControlDialog - - + INPUT WEJŚCIE - + Input gain: Wzmocnienie wejścia: - + OUTPUT WYJŚCIE - - - Output gain: - Wzmocnienie wyjścia: - - - - ATTACK - NARASTANIE - - - - Peak attack time: - - - - - RELEASE - WYBRZMIEWANIE - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - Płynny wykres falowy - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - - - - DynProcControls - - - Input gain - Wzmocnienie wejścia - - - - Output gain - Wzmocnienie wyścia - - - - Attack time - Czas narastania - - - - Release time - Czas wybrzmiewania - - - - Stereo mode - Tryb stereo - - - - graphModel - - - Graph - Wykres - - - - KickerInstrument - - - Start frequency - Częstotliwość początkowa - - - - End frequency - Częstotliwość końcowa - - - - Length - Długość - - - - Start distortion - - - - - End distortion - - - - - Gain - Wzmocnienie - - - - Envelope slope - - - - - Noise - Szum - - - - Click - Kliknięcie - - - - Frequency slope - - - - - Start from note - Zacznij od nuty - - - - End to note - Zakończ nutą - - - - KickerInstrumentView - - - Start frequency: - Częstotliwość początkowa: - - - - End frequency: - Częstotliwość końcowa: - - - - Frequency slope: - - - - - Gain: - Wzmocnienie: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Kliknięcie: - - - - Noise: - Szum: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Dostępne Efekty - - - - - Unavailable Effects - Niedostępne Efekty - - - - - Instruments - Instrumenty - - - - - Analysis Tools - Narzędzia Analizujące - - - - - Don't know - Nieznane - - - - Type: - Rodzaj: - - - - LadspaDescription - - - Plugins - Wtyczki - - - - Description - Opis - - - - LadspaPortDialog - - - Ports - Porty - - - - Name - Nazwa - - - - Rate - Tempo - - - - Direction - Kierunek - - - - Type - Rodzaj - - - - Min < Default < Max - Min < Domyślne < Max - - - - Logarithmic - Logarytmiczny - - - - SR Dependent - Zależny od SR - - - - Audio - Audio - - - - Control - Regulator - - - - Input - Wejście - - - - Output - Wyjście - - - - Toggled - Przełączalne - - - - Integer - Całkowite - - - - Float - Zmiennoprzecinkowe - - - - - Yes - Tak - - - - Lb302Synth - - - VCF Cutoff Frequency - Częstotliwość Odcięcia VCF - - - - VCF Resonance - Rezonans VCF - - - - VCF Envelope Mod - Modyfikacja Obwiedni VCF - - - - VCF Envelope Decay - Zanikanie Obwiedni VCF - - - - Distortion - Zniekształcenie - - - - Waveform - Kształt Przebiegu - - - - Slide Decay - Ślizgające Zanikanie - - - - Slide - Ślizganie - - - - Accent - Akcent - - - - Dead - Martwy - - - - 24dB/oct Filter - Filtr 24dB/okt - - - - Lb302SynthView - - - Cutoff Freq: - Częst. Odc.: - - - - Resonance: - Rezonans: - - - - Env Mod: - Mod. Obw.: - - - - Decay: - Zanikanie: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-es-que, 24dB/oktawę, filtr III rzędu - - - - Slide Decay: - Zanikanie z poślizgiem: - - - - DIST: - DIST: - - - - Saw wave - Fala piłokształtna - - - - Click here for a saw-wave. - Kliknij tutaj, aby przełączyć na przebieg piłokształtny. - - - - Triangle wave - Fala trójkątna - - - - Click here for a triangle-wave. - Kliknij tutaj, aby przełączyć na przebieg trójkątny. - - - - Square wave - Fala prostokątna - - - - Click here for a square-wave. - Kliknij tutaj, aby przełączyć na przebieg prostokątny. - - - - Rounded square wave - Fala prostokątna, zaokrąglona - - - - Click here for a square-wave with a rounded end. - Kliknij tutaj, aby przełączyć na przebieg prostokątny z zaokrąglonymi narożami. - - - - Moog wave - Fala Mooga - - - - Click here for a moog-like wave. - Kliknij tutaj, aby przełączyć na przebieg Mooga. - - - - Sine wave - Fala sinusoidalna - - - - Click for a sine-wave. - Kliknij tutaj, aby przełączyć na przebieg sinusoidalny. - - - - - White noise wave - Biały szum - - - - Click here for an exponential wave. - Kliknij tutaj, aby przełączyć na przebieg wykładniczy. - - - - Click here for white-noise. - Kliknij tutaj, aby przełączyć na przebieg stochastyczny. - - - - Bandlimited saw wave - Fala piłokształtna pasmowo ograniczona - - - - Click here for bandlimited saw wave. - Kliknij tutaj, aby przełączyć na pasmowo ograniczoną falę piłokształtną. - - - - Bandlimited square wave - Fala kwadratowa pasmowo ograniczona - - - - Click here for bandlimited square wave. - Kliknij tutaj, aby przełączyć na pasmowo ograniczoną falę kwadratową. - - - - Bandlimited triangle wave - Fala trójkątna pasmowo ograniczona - - - - Click here for bandlimited triangle wave. - Kliknij tutaj, aby przełączyć na pasmowo ograniczoną falę trójkątną. - - - - Bandlimited moog saw wave - Fala piłokształtna Mooga pasmowo ograniczona - - - - Click here for bandlimited moog saw wave. - Kliknij tutaj, aby przełączyć na pasmowo ograniczoną falę piłokształtną Mooga. - - - - MalletsInstrument - - - Hardness - Twardość - - - - Position - Pozycja - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Modulator - - - - Crossfade - Crossfade - - - - LFO speed - Szybkość LFO - - - - LFO depth - Głębia LFO - - - - ADSR - ADSR - - - - Pressure - Ciśnienie - - - - Motion - Ruch - - - - Speed - Prędkość - - - - Bowed - Pochylenie - - - - Spread - Rozstrzał - - - - Marimba - Marimba - - - - Vibraphone - Wibrafon - - - - Agogo - Agogo - - - - Wood 1 - - - - - Reso - Rezonans - - - - Wood 2 - - - - - Beats - Uderzenia - - - - Two fixed - - - - - Clump - Stąpnięcie - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - Harfa Szklana - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Instrument - - - - Spread - Rozstrzał - - - - Spread: - Rozstrzał: - - - - Missing files - Brakujące pliki - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Instalacja STK wygląda na niekompletną. Upewnij się, że pełny pakiet Stk został zainstalowany. - - - - Hardness - Twardość - - - - Hardness: - Twardość: - - - - Position - Pozycja - - - - Position: - Pozycja: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Modulator - - - - Modulator: - Modulator: - - - - Crossfade - Crossfade - - - - Crossfade: - Crossfade: - - - - LFO speed - Szybkość LFO - - - - LFO speed: - Szybkość LFO: - - - - LFO depth - Głębia LFO - - - - LFO depth: - Głębia LFO: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Ciśnienie - - - - Pressure: - Ciśnienie: - - - - Speed - Prędkość - - - - Speed: - Prędkość: - - - - ManageVSTEffectView - - - - VST parameter control - - kontrola parametrów VST - - - - VST sync - Synchronizacja VST - - - - - Automated - Automatyzowane - - - - Close - Zamknij - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - kontrola wtyczki VST - - - - VST Sync - Synchronizacja VST - - - - - Automated - Automatyzowane - - - - Close - Zamknij - - - - OrganicInstrument - - - Distortion - Zniekształcenie - - - - Volume - Głośność - - - - OrganicInstrumentView - - - Distortion: - Zniekształcenie: - - - - Volume: - Głośność: - - - - Randomise - Randomizuj - - - - - Osc %1 waveform: - Osc %1 przebieg: - - - - Osc %1 volume: - Osc %1 głośność: - - - - Osc %1 panning: - Osc %1 panoramowanie: - - - - Osc %1 stereo detuning - Osc %1 odstrojenie stereo - - - - cents - cent(y) - - - - Osc %1 harmonic: - Osc %1 harmoniczne: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: Preset kanału - - - - Bank selector - Selektor banku - - - - Bank - Bank - - - - Program selector - Selektor programu - - - - Patch - Próbka - - - - Name - Nazwa - - - - OK - OK - - - - Cancel - Anuluj - - - - Sf2Instrument - - - Bank - Bank - - - - Patch - Próbka - - - - Gain - Wzmocnienie - - - - Reverb - Pogłos - - - - Reverb room size - Rozmiar pomieszczenia - - - - Reverb damping - Tłumienie pogłosu - - - - Reverb width - Rozpiętość pogłosu - - - - Reverb level - Poziom pogłosu - - - - Chorus - Chorus - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - Soundfont %1 nie może zostać załadowany. - - - - Sf2InstrumentView - - - - Open SoundFont file - Otwórz plik SoundFont - - - - Choose patch - Wybierz próbkę - - - - Gain: - Wzmocnienie: - - - - Apply reverb (if supported) - Nałóż pogłos (jeśli wspierane) - - - - Room size: - Rozmiar pokoju: - - - - Damping: - Tłumienie - - - - Width: - Szerokość: - - - - - Level: - Poziom: - - - - Apply chorus (if supported) - Nałóż chorus (jeśli wspierane) - - - - Voices: - Głosy: - - - - Speed: - Prędkość: - - - - Depth: - Rozdzielczość bitowa: - - - - SoundFont Files (*.sf2 *.sf3) - Pliki SoundFont (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Fala - - - - StereoEnhancerControlDialog - - - WIDTH - SZEROKOŚĆ - - - - Width: - Szerokość: - - - - StereoEnhancerControls - - - Width - Szerokość - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Głośność Lewy IN Lewy OUT: - - - - Left to Right Vol: - Głośność Lewy IN Prawy OUT: - - - - Right to Left Vol: - Głośność Prawy IN Lewy OUT: - - - - Right to Right Vol: - Głośność Prawy IN Prawy OUT: - - - - StereoMatrixControls - - - Left to Left - Lewy IN >> Lewy OUT - - - - Left to Right - Lewy IN >> Prawy OUT - - - - Right to Left - Prawy IN >> Lewy OUT - - - - Right to Right - Prawy IN >> Prawy OUT - - - - VestigeInstrument - - - Loading plugin - Ładowanie wtyczki - - - - Please wait while loading the VST plugin... - Proszę poczekać, trwa ładowanie wtyczki VST… - - - - Vibed - - - String %1 volume - String %1 - głośność - - - - String %1 stiffness - String %1 - sztywność - - - - Pick %1 position - Punkt Wymuszenia %1 - - - - Pickup %1 position - Punkt Monitorowania %1 - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - Impuls %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - Sztywność struny: - - - - Pick position: - Punkt Wymuszenia: - - - - Pickup position: - Punkt Monitorowania: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - Impuls - - - - Octave - Oktawa - - - - Impulse Editor - Edytor Impulsu - - - - Enable waveform - Włącz przebieg - - - - Enable/disable string - - - - - String - Struna - - - - - Sine wave - Przebieg Sinusoidalny - - - - - Triangle wave - Przebieg Trójkątny - - - - - Saw wave - Przebieg Piłokształtny - - - - - Square wave - Przebieg Prostokątny - - - - - White noise - Biały szum - - - - - User-defined wave - - - - - - Smooth waveform - Gładki kształt przebiegu - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - Współczynnik wypełnienia impulsu głosu %1 - - - - Voice %1 attack - Atak głosu %1 - - - - Voice %1 decay - Zanikanie głosu %1 - - - - Voice %1 sustain - Podtrzymanie głosu %1 - - - - Voice %1 release - Wybrzmiewanie głosu %1 - - - - Voice %1 coarse detuning - Zgrubne odstrojenie głosu %1 - - - - Voice %1 wave shape - Kształt fali głosu %1 - - - - Voice %1 sync - Synchronizacja głosu %1 - - - - Voice %1 ring modulate - Modulacja pierścieniowa głosu %1 - - - - Voice %1 filtered - Filtrowanie głosu %1 - - - - Voice %1 test - Test głosu %1 - - - - WaveShaperControlDialog - - - INPUT - WEJŚCIE - - - - Input gain: - Wzmocnienie wejścia: - - - - OUTPUT - WYJŚCIE - - - - Output gain: - Wzmocnienie wyjścia: - - - Reset wavegraph - + Output gain: + Wzmocnienie wyjścia: + - + Reset wavegraph + Resetuj wykres falowy + + + + Smooth wavegraph Płynny wykres falowy - - - Increase wavegraph amplitude by 1 dB - - - + - - Decrease wavegraph amplitude by 1 dB - + Increase wavegraph amplitude by 1 dB + Zwiększ amplitudę wykresu falowego o 1 dB - + + + Decrease wavegraph amplitude by 1 dB + Zmniejsz amplitudę wykresu falowego o 1 dB + + + Clip input Przytnij wejście - + Clip input signal to 0 dB - + Przytnij sygnał wejścia do 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Wzmocnienie wejścia + + Draw your own waveform here by dragging your mouse on this graph. + Narysuj swój własny przebieg fali, przeciągając kursorem po tym wykresie. - - Output gain - Wzmocnienie wyścia + + Select oscillator W1 + Wybierz oscylator W1 + + + + Select oscillator W2 + Wybierz oscylator W2 + + + + Select oscillator W3 + Wybierz oscylator W3 + + + + Select output O1 + Wybierz wyjście O1 + + + + Select output O2 + Wybierz wyjście O2 + + + + Open help window + Otwórz okno pomocy + + + + + Sine wave + Fala sinusoidalna + + + + + Moog-saw wave + Fala piłokształtna Mooga + + + + + Exponential wave + Fala wykładnicza + + + + + Saw wave + Fala piłokształtna + + + + + User-defined wave + Fala zdefiniowana przez użytkownika + + + + + Triangle wave + Fala trójkątna + + + + + Square wave + Fala prostokątna + + + + + White noise + Szum biały + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + Ogólnego zastosowania 1: + + + + General purpose 2: + Ogólnego zastosowania 2: + + + + General purpose 3: + Ogólnego zastosowania 3: + + + + O1 panning: + Panoramowanie O1: + + + + O2 panning: + Panoramowanie O2: + + + + Release transition: + Przejście do opadania: + + + + Smoothness + Gładkość - + + lmms::gui::ZynAddSubFxView + + + Portamento: + Portamento: + + + + PORT + PORT + + + + Filter frequency: + Częstotliwość filtra: + + + + FREQ + CZĘST + + + + Filter resonance: + Rezonans filtra: + + + + RES + REZ + + + + Bandwidth: + Szerokość pasma: + + + + BW + SP + + + + FM gain: + Wzmocnienie FM: + + + + FM GAIN + WZMOC FM + + + + Resonance center frequency: + Częstotliwość środkowa rezonansu: + + + + RES CF + CŚ REZ + + + + Resonance bandwidth: + Szerokość pasma rezonansu: + + + + RES BW + SP REZ + + + + Forward MIDI control changes + Przekaż zmiany sterowania MIDI + + + + Show GUI + Pokaż graficzny interfejs użytkownika + + + \ No newline at end of file diff --git a/data/locale/pt.ts b/data/locale/pt.ts index d88d0fa24..fe3c1c192 100644 --- a/data/locale/pt.ts +++ b/data/locale/pt.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -24,12 +24,12 @@ LMMS - easy music production for everyone. - LMMS-produção de música fácil para todos. + LMMS - produção de música fácil para todos. Copyright © %1. - + Copyright © %1. @@ -49,7 +49,7 @@ Contributors ordered by number of commits: - Contribuidores ordenados por número de contribuição: + Contribuidores por número de contribuições: @@ -70,811 +70,48 @@ Se você estiver interessado em traduzir LMMS para outro idioma ou quer melhorar - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL + + About JUCE + Sobre o JUCE - - Volume: - Volume: + + <b>About JUCE</b> + <b>Sobre o JUCE</b> - - PAN - PAN + + This program uses JUCE version 3.x.x. + Este programa usa o JUCE versão 3.x.x. - - Panning: - Panorâmico: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + JUCE é uma framework de aplicativos C++ multiplataforma de código aberto para a criação de aplicativos desktop e móveis de alta qualidade + +Os módulos principais do JUCE (juce_audio_basics, juce_audio_devices, juce_core e juce_events) são permissivamente licenciados sob os termos da licença ISC. +Outros módulos são cobertos por uma licença GNU GPL 3.0. + +Copyright (C) 2022 Raw Material Software Limited. - - LEFT - ESQUERDA - - - - Left gain: - Ganho na esquerda: - - - - RIGHT - DIREITA - - - - Right gain: - Ganho na Direita: + + This program uses JUCE version + Este programa usa o JUCE versão - AmplifierControls + AudioDeviceSetupWidget - - Volume - Volume - - - - Panning - Panorâmico - - - - Left gain - Ganho na Esquerda - - - - Right gain - Ganho na Direita - - - - AudioAlsaSetupWidget - - - DEVICE - DISPOSITIVO - - - - CHANNELS - CANAIS - - - - AudioFileProcessorView - - - Open sample - Abrir amostra - - - - Reverse sample - Inverter amostra - - - - Disable loop - Desabilitar loop - - - - Enable loop - Habilitar Loop - - - - Enable ping-pong loop - Habilitar loop ping-pong - - - - Continue sample playback across notes - Continua a tocar a amostra entre as notas - - - - Amplify: - Amplificar: - - - - Start point: - Ponto de início: - - - - End point: - Ponto de fim: - - - - Loopback point: - Ponto de auto-retorno: - - - - AudioFileProcessorWaveView - - - Sample length: - Tamanho da amostra: - - - - AudioJack - - - JACK client restarted - Cliente JACK reiniciado - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS foi chutado pelo JACK por alguma razão. Logo que o JACK restaure a comunicação com o LMMS você poderá precisar fazer as conexões manualmente. - - - - JACK server down - O servidor JACK caiu - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - O servidor de áudio JACK parece ter caído e ao reiniciar uma nova instância falhou. De qualquer maneira LMMS é capaz de prosseguir. Certifique-se de salvar seu projeto e reiniciar primeiro o JACK depois o LMMS. - - - - Client name - Nome do cliente - - - - Channels - Canais - - - - AudioOss - - - Device - Dispositivo - - - - Channels - Canais - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - Dispositivo - - - - AudioPulseAudio - - - Device - Dispositivo - - - - Channels - Canais - - - - AudioSdl::setupWidget - - - Device - Dispositivo - - - - AudioSndio - - - Device - Dispositivo - - - - Channels - Canais - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - Dispositivo - - - - AutomatableModel - - - &Reset (%1%2) - &Resetar (%1%2) - - - - &Copy value (%1%2) - &Copiar valor (%1%2) - - - - &Paste value (%1%2) - C&olar valor (%1%2) - - - - &Paste value - &Colar valor - - - - Edit song-global automation - Editar automação global da música - - - - Remove song-global automation - Apagar automação global da música - - - - Remove all linked controls - Apagar todos os controles linkados - - - - Connected to %1 - Conectado a %1 - - - - Connected to controller - Conectado ao controlador - - - - Edit connection... - Editar conexão... - - - - Remove connection - Apagar conexão - - - - Connect to controller... - Conectado ao controlador... - - - - AutomationEditor - - - Edit Value - Editar Valor - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - Por favor, abra o sequenciador de automação com o menu de contexto do controle! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Tocar/Parar padrão atual (Espaço) - - - - Stop playing of current clip (Space) - Parar de tocar a sequência atual (Espaço) - - - - Edit actions - Editar ações - - - - Draw mode (Shift+D) - Modo desenhar (Shift+D) - - - - Erase mode (Shift+E) - Modo apagar (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Virar verticalmente - - - - Flip horizontally - Virar horizontalmente - - - - Interpolation controls - Controles de interpolação - - - - Discrete progression - Progressão discreta - - - - Linear progression - Progressão linear - - - - Cubic Hermite progression - Progressão Cúbica de Hermite - - - - Tension value for spline - Valor de tensão para a curva - - - - Tension: - Tensão: - - - - Zoom controls - Controles de zoom - - - - Horizontal zooming - Zoom horizontal - - - - Vertical zooming - Zoom vertical - - - - Quantization controls - Controles de quantização - - - - Quantization - Quantização - - - - - Automation Editor - no clip - Editor de Automação - sem padrão - - - - - Automation Editor - %1 - Editor de Automação - %1 - - - - Model is already connected to this clip. - O modelo já está conectado para este padrão. - - - - AutomationClip - - - Drag a control while pressing <%1> - Arraste o controle enquanto pressiona a tecla <%1> - - - - AutomationClipView - - - Open in Automation editor - Abra dentro do Editor de Automação - - - - Clear - Limpar - - - - Reset name - Restaurar nome - - - - Change name - Mudar nome - - - - Set/clear record - Selecionar/limpar gravação - - - - Flip Vertically (Visible) - Virar Verticalmente (Visível) - - - - Flip Horizontally (Visible) - Virar Horizontalmente (Visível) - - - - %1 Connections - %1 Conexões - - - - Disconnect "%1" - Desconectar "%1" - - - - Model is already connected to this clip. - O modelo já está conectado para este padrão. - - - - AutomationTrack - - - Automation track - Pista de Automação - - - - PatternEditor - - - Beat+Bassline Editor - Mostrar/esconder Editor de Bases - - - - Play/pause current beat/bassline (Space) - Tocar/Parar base atual (Espaço) - - - - Stop playback of current beat/bassline (Space) - Parar playback da base atual (Espaço) - - - - Beat selector - Seletor de batida - - - - Track and step actions - Faixa e ações da etapa - - - - Add beat/bassline - Add linha de base - - - - Clone beat/bassline clip - - - - - Add sample-track - Adicionar faixa de amostra - - - - Add automation-track - Add automação de faixa - - - - Remove steps - Remover passo - - - - Add steps - Adicionar passo - - - - Clone Steps - Clonar Etapas - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Abrir Editor de Bases - - - - Reset name - Restaurar nome - - - - Change name - Mudar nome - - - - PatternTrack - - - Beat/Bassline %1 - Batida/Linha de Baixo %1 - - - - Clone of %1 - Clone de %1 - - - - BassBoosterControlDialog - - - FREQ - FREQ - - - - Frequency: - Frequência: - - - - GAIN - GANHO - - - - Gain: - Ganho: - - - - RATIO - RELAÇÃO - - - - Ratio: - Relação: - - - - BassBoosterControls - - - Frequency - Frequência - - - - Gain - Ganho - - - - Ratio - Relação - - - - BitcrushControlDialog - - - IN - DENTRO - - - - OUT - FORA - - - - - GAIN - GANHO - - - - Input gain: - Ganho de entrada: - - - - NOISE - RUÍDO - - - - Input noise: - - - - - Output gain: - Ganho de saída: - - - - CLIP - - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - FREQ - - - - Sample rate: - Taxa de amostragem: - - - - STEREO - ESTÉREO - - - - Stereo difference: - Diferença de Stereo: - - - - QUANT - - - - - Levels: - Níveis: - - - - BitcrushControls - - - Input gain - Ganho de entrada - - - - Input noise - - - - - Output gain - Ganho de saída - - - - Output clip - clipe de saída - - - - - Sample rate - - - - - Stereo difference - - - - - Levels - Níveis - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -893,132 +130,132 @@ Se você estiver interessado em traduzir LMMS para outro idioma ou quer melhorar About text here - + Texto sobre aqui Extended licensing here - + Licença extendida aqui - + Artwork Arte - + Using KDE Oxygen icon set, designed by Oxygen Team. Usando o conjunto de ícones KDE Oxygen, projetado pelo Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. Contém alguns botões, fundos e outras pequenas artes dos projetos Calf Studio Gear, OpenAV e OpenOctave. - + VST is a trademark of Steinberg Media Technologies GmbH. VST é uma marca comercial de Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! Agradecimento especial para António Saraiva por alguns ícones e arte extra! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. O logo de LV2 foi projetado por Thorsten Wilms, baseado no conceito de Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. Teclado MIDI projetado por Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. Ícones de Carla, Carla-Control e Patchbay projetados por DoosC. - + Features Recursos - + AU/AudioUnit: - + AU/UnidadeAudio - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + Texto - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: Comandos válidos: - + valid osc commands here comandos osc válidos aqui - + Example: Exemplo: - + License Licença - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1303,50 +540,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Versão da Ponte OSC - + Plugin Version - + Versão do Plugin - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - + <br>Versão %1<br>Carla é um servidor de plugin de áudio cheio de funcionalidades%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + (Engine não executada) - + Everything! (Including LRDF) - + Tudo! (Incluindo LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1356,12 +593,12 @@ POSSIBILITY OF SUCH DAMAGES. MainWindow - + JanelaPrincipal Rack - + Rack @@ -1376,565 +613,602 @@ POSSIBILITY OF SUCH DAMAGES. Loading... + Carregando... + + + + Save - + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File &Arquivo - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help Aj&uda - - toolBar + + Tool Bar - + Disk - + Disco - - + + Home Início - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Tempo: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Opções - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &Novo - + Ctrl+N - + &Open... &Abrir... - - + + Open... - + Abrir... - + Ctrl+O - + &Save &Salvar - + Ctrl+S - + Save &As... Salvar &como... - - + + Save As... - + Ctrl+Shift+S - + &Quit Sai&r - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + Balanço Central - + &Play &Reproduzir - + Ctrl+Shift+P - + &Stop &Parar - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In Aumentar Zoom - + Ctrl++ - + Zoom Out Reduzir Zoom - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla &Configurar Carla - + &About &Sobre - + About &JUCE Sobre &JUCE - + About &Qt Sobre &QT - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic + Pânico + + + + Open custom driver panel... + Abrir painel de drivers personalizados... + + + + Save Image... (2x zoom) - - Open custom driver panel... + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + Copiar como Imagem para a Área de Transferência + + + + Ctrl+Shift+C CarlaHostWindow - + Export as... Exportar como... - - - - + + + + Error Erro - + Failed to load project - + Falha ao carregar projeto - + Failed to save project - + Falha ao salvar projeto - + Quit Fechar - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning Aviso - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? Ainda existem alguns plugins carregados, você precisa removê-los para interromper o motor. Você quer fazer isso agora? - - CarlaInstrumentView - - - Show GUI - Mostrar GUI - - CarlaSettingsW @@ -1989,19 +1263,19 @@ Você quer fazer isso agora? - + Main - + Canvas - + Engine @@ -2022,1487 +1296,589 @@ Você quer fazer isso agora? - + Experimental Experimental - + <b>Main</b> <b>Principal</b> - + Paths Caminhos - + Default project folder: Pasta padrão do projeto: - + Interface Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Intervalo de atualização da interface: - - + + ms ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme Tema - + Use Carla "PRO" theme (needs restart) Usar tema "PRO" da Carla (precisa reiniciar) - + Color scheme: Esquema de cores: - + Black Preto - + System Sistema - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines Linhas de Bezier - + Theme: Tema: - + Size: Tamanho: - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + + + + Options Opções - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Áudio - + MIDI MIDI - + Used for the "audiofile" plugin - + Usado para o plugin "audiofile" - + Used for the "midifile" plugin - + Usado para o plugin "midifile" - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Detectar automaticamente o prefixo Wine baseado no nome de arquivo do plugin - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + Usar OpenGL para renderização (requer reinicialização) - + High Quality Anti-Aliasing (OpenGL only) - + Antisserrilhamento de Alta Qualidade (apenas OpenGL) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Relação: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Ataque: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Relaxamento: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Duração: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Ganho de saída - - - - - Gain - Ganho - - - - Output volume - - - - - Input gain - Ganho de entrada - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Relação - - - - Attack - Ataque - - - - Release - Relaxamento - - - - Knee - - - - - Hold - Espera - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - Modo de Pico - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - - - - - Input Gain - - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Retorno - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Misturar - - - - Controller - - - Controller %1 - Controlador %1 - - - - ControllerConnectionDialog - - - Connection Settings - Configuração das Conexões - - - - MIDI CONTROLLER - CONTROLADOR MIDI - - - - Input channel - Canal de entrada - - - - CHANNEL - CANAL - - - - Input controller - Entrada do controlador - - - - CONTROLLER - CONTROLADOR - - - - - Auto Detect - Auto detectar - - - - MIDI-devices to receive MIDI-events from - Dispositivos MIDI para receber eventos MIDI de - - - - USER CONTROLLER - CONTROLADOR DO USUÁRIO - - - - MAPPING FUNCTION - MAPEAR FUNÇÃO - - - - OK - OK - - - - Cancel - Cancelar - - - - LMMS - LMMS - - - - Cycle Detected. - Ciclo Detectado. - - - - ControllerRackView - - - Controller Rack - Estante de Controladores - - - - Add - Adicionar - - - - Confirm Delete - Confirmação para Apagar - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Confirmar apagar? Há conexão existente(s) associada a este controlador. Não há maneira de desfazer. - - - - ControllerView - - - Controls - Controles - - - - Rename controller - Renomear controlador - - - - Enter the new name for this controller - Adicione um novo nome para este controlador - - - - LFO - LFO - - - - &Remove this controller - &Remover este controlador - - - - Re&name this controller - Re&nomear este controlador - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - Retorno - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - Ganho de saída - - - - DelayControlsDialog - - - DELAY - ATRASO - - - - Delay time - - - - - FDBK - RTRN - - - - Feedback amount - - - - - RATE - TAXA - - - - LFO frequency - - - - - AMNT - QNTD - - - - LFO amount - - - - - Out gain - - - - - Gain - Ganho - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Nenhum - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3528,27 +1904,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3575,7 +1930,7 @@ If you are unsure, leave it as 'Automatic'. Device: - + Dispositivo: @@ -3603,948 +1958,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - FREQ - - - - - Cutoff frequency - Frequência de corte - - - - - RESO - RESS - - - - - Resonance - Ressonância - - - - - GAIN - GANHO - - - - - Gain - Ganho - - - - MIX - MISTURAR - - - - Mix - Misturar - - - - Filter 1 enabled - Filtro 1 habilitado - - - - Filter 2 enabled - Filtro 2 habilitado - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Filtro 1 habilitado - - - - Filter 1 type - Filtro 1 Tipo - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Q/Ressonância 1 - - - - Gain 1 - Ganho 1 - - - - Mix - Misturar - - - - Filter 2 enabled - Filtro 2 habilitado - - - - Filter 2 type - Filtro 2 Tipo - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Q/Ressonância 2 - - - - Gain 2 - Ganho 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - Vale - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - - - - - - Fast Formant - Formato Rápido - - - - - Tripole - - - - - Editor - - - Transport controls - Controles de transporte - - - - Play (Space) - Tocar (Espaço) - - - - Stop (Space) - Parar (Espaço) - - - - Record - Gravar - - - - Record while playing - Gravar enquanto toca - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Efeito ativado - - - - Wet/Dry mix - Mix Processada/Limpa - - - - Gate - Portal - - - - Decay - Decaimento - - - - EffectChain - - - Effects enabled - Efeitos ativados - - - - EffectRackView - - - EFFECTS CHAIN - CADEIA DE EFEITOS - - - - Add effect - Adicionar Efeito - - - - EffectSelectDialog - - - Add effect - Adicionar Efeito - - - - - Name - Nome - - - - Type - Tipo - - - - Description - Descrição - - - - Author - Autor - - - - EffectView - - - On/Off - Liga/Desliga - - - - W/D - P/L - - - - Wet Level: - Nível de Processamento: - - - - DECAY - DEC - - - - Time: - Tempo: - - - - GATE - PORTAL - - - - Gate: - Portal: - - - - Controls - Controles - - - - Move &up - Para &Cima - - - - Move &down - Para &Baixo - - - - &Remove this plugin - &Remover este plugin - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - ATRASO - - - - - Pre-delay: - - - - - - ATT - ATQ - - - - - Attack: - Ataque: - - - - HOLD - DURAR - - - - Hold: - Duração: - - - - DEC - DEC - - - - Decay: - Decaimento: - - - - SUST - SUST - - - - Sustain: - Sustentação: - - - - REL - REL - - - - Release: - Relaxamento: - - - - - AMT - QNT - - - - - Modulation amount: - Quantidade de modulação: - - - - SPD - VEL - - - - Frequency: - Frequência: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO: - - - - Hint - Sugestão - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Ganho de entrada - - - - Output gain - Ganho de saída - - - - Low-shelf gain - - - - - Peak 1 gain - Ganho 1 pico - - - - Peak 2 gain - Ganho 2 pico - - - - Peak 3 gain - Ganho 3 pico - - - - Peak 4 gain - Ganho 4 pico - - - - High-shelf gain - - - - - HP res - - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - - - - - HP freq - - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - - - - - Peak 2 active - - - - - Peak 3 active - - - - - Peak 4 active - - - - - High-shelf active - - - - - LP active - LP ativo - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - - - - - Analyse OUT - - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - - - - - Peak 1 - - - - - Peak 2 - - - - - Peak 3 - - - - - Peak 4 - - - - - High-shelf - - - - - LP - LP - - - - Input gain - Ganho de entrada - - - - - - Gain - Ganho - - - - Output gain - Ganho de saída - - - - Bandwidth: - Largura de Banda: - - - - Octave - Oitava - - - - Resonance : - Ressonância: - - - - Frequency: - Frequência: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Reso: - - - - BW: - BW: - - - - - Freq: - Freq: - - ExportProjectDialog @@ -4555,7 +1968,7 @@ If you are unsure, leave it as 'Automatic'. Export as loop (remove extra bar) - + Exportar como loop (remove o compasso extra) @@ -4565,17 +1978,17 @@ If you are unsure, leave it as 'Automatic'. Render Looped Section: - + Renderizar Sessão de Loop time(s) - + vez(es) File format settings - + Ajuste no formato do arquivo @@ -4585,7 +1998,7 @@ If you are unsure, leave it as 'Automatic'. Sampling rate: - + Taxa de amostragem @@ -4615,22 +2028,22 @@ If you are unsure, leave it as 'Automatic'. Bit depth: - + Profundidade de Bits 16 Bit integer - + Inteiro 16 Bits 24 Bit integer - + Inteiro 24 Bits 32 Bit float - + Flutuante 32 Bits @@ -4650,12 +2063,12 @@ If you are unsure, leave it as 'Automatic'. Joint stereo - + Joint stereo Compression level: - + Nível de compressão @@ -4695,7 +2108,7 @@ If you are unsure, leave it as 'Automatic'. Use variable bitrate - + Usar taxa de bits variável @@ -4710,2143 +2123,670 @@ If you are unsure, leave it as 'Automatic'. Zero order hold - + Retentor de Ordem Zero Sinc worst (fastest) - + Sinc pior (mais rápida) Sinc medium (recommended) - + Sinc média (recomendada) Sinc best (slowest) - + Sinc melhor (mais lenta) - - Oversampling: - - - - - 1x (None) - 1x (Nada) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Começar - + Cancel Cancelar - - - Could not open file - Não é possível abrir o arquivo - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - - - - - Export project to %1 - Exportar projeto para %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - Erro - - - - Error while determining file-encoder device. Please try to choose a different output format. - Erro ao determinar o aparelho codificador de arquivos. Por favor, tente escolher um formato de saída diferente. - - - - Rendering: %1% - Renderizando: %1% - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - Por favor coloque com um novo valor entre %1 e %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Navegador - - - - Search - - - - - Refresh list - - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Enviar para a faixa de instrumento ativa - - - - Open containing folder - - - - - Song Editor - Mostrar/esconder Editor de Arranjo - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Carregando amostra - - - - Please wait, loading sample for preview... - Por favor aguarde, carregando amostra para visualização... - - - - Error - Erro - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Arquivos de fábrica --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - - - - - Seconds - Segundos - - - - Stereo phase - - - - - Regen - - - - - Noise - Ruído - - - - Invert - Inverter - - - - FlangerControlsDialog - - - DELAY - ATRASO - - - - Delay time: - - - - - RATE - TAXA - - - - Period: - - - - - AMNT - QNTD - - - - Amount: - Quantidade: - - - - PHASE - - - - - Phase: - - - - - FDBK - RTRN - - - - Feedback amount: - - - - - NOISE - RUÍDO - - - - White noise amount: - - - - - Invert - Inverter - - - - FreeBoyInstrument - - - Sweep time - Varredura temporal - - - - Sweep direction - Direção da varredura - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Canal 1 volume - - - - - - Volume sweep direction - Direção da varredura de volume - - - - - - Length of each step in sweep - Tamanho de cada passo na varredura - - - - Channel 2 volume - Canal 2 volume - - - - Channel 3 volume - Canal 3 volume - - - - Channel 4 volume - Canal 4 volume - - - - Shift Register width - Desconsiderar Tamanho do registro - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - Canal 1 para SO2 (Esquerda) - - - - Channel 2 to SO2 (Left) - Canal 2 para SO2 (Esquerda) - - - - Channel 3 to SO2 (Left) - Canal 3 para SO2 (Esquerda) - - - - Channel 4 to SO2 (Left) - Canal 4 para SO2 (Esquerda) - - - - Channel 1 to SO1 (Right) - Canal 1 para SO1 (Direita) - - - - Channel 2 to SO1 (Right) - Canal 2 para SO1 (Direita) - - - - Channel 3 to SO1 (Right) - Canal 3 para SO1 (Direita) - - - - Channel 4 to SO1 (Right) - Canal 4 para SO1 (Direita) - - - - Treble - Agudo - - - - Bass - Grave - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - Varredura temporal - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - Tamanho de cada passo na varredura: - - - - - - Length of each step in sweep - Tamanho de cada passo na varredura - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Agudo: - - - - Treble - Agudo - - - - Bass: - Grave: - - - - Bass - Grave - - - - Sweep direction - Direção da varredura - - - - - - - - Volume sweep direction - Direção da varredura de volume - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Canal 1 para SO1 (Direita) - - - - Channel 2 to SO1 (Right) - Canal 2 para SO1 (Direita) - - - - Channel 3 to SO1 (Right) - Canal 3 para SO1 (Direita) - - - - Channel 4 to SO1 (Right) - Canal 4 para SO1 (Direita) - - - - Channel 1 to SO2 (Left) - Canal 1 para SO2 (Esquerda) - - - - Channel 2 to SO2 (Left) - Canal 2 para SO2 (Esquerda) - - - - Channel 3 to SO2 (Left) - Canal 3 para SO2 (Esquerda) - - - - Channel 4 to SO2 (Left) - Canal 4 para SO2 (Esquerda) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Quantidade de envio de canal - - - - Move &left - - - - - Move &right - - - - - Rename &channel - Renomear canal - - - - R&emove channel - Remover canal - - - - Remove &unused channels - Remover canais não utilizados - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Atribuir a: - - - - New mixer Channel - Novo Canal FX - - - - Mixer - - - Master - Mestre - - - - - - Channel %1 - FX %1 - - - - Volume - Volume - - - - Mute - Mudo - - - - Solo - Solo - - - - MixerView - - - Mixer - Mixer de Efeitos - - - - Fader %1 - FX Fader %1 - - - - Mute - Mudo - - - - Mute this mixer channel - Este canal FX mudo - - - - Solo - Solo - - - - Solo mixer channel - Canal FX solo - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Quantidade para enviar do canal %1 para o canal %2 - - - - GigInstrument - - - Bank - Banco - - - - Patch - Programação - - - - Gain - Ganho - - - - GigInstrumentView - - - - Open GIG file - Abrir arquivo GIG - - - - Choose patch - - - - - Gain: - Ganho: - - - - GIG Files (*.gig) - Arquivos GIG (*.gig) - - - - GuiApplication - - - Working directory - Diretório de trabalho - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - - - - - Preparing UI - Preparando UI - - - - Preparing song editor - Preparando o editor de som - - - - Preparing mixer - Preparando o misturador - - - - Preparing controller rack - - - - - Preparing project notes - Preparando notas do projeto - - - - Preparing beat/bassline editor - Preparando editor de batida/base - - - - Preparing piano roll - - - - - Preparing automation editor - Preparando editor de automação - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpegio - - - - Arpeggio type - Tipo de Arpegio - - - - Arpeggio range - Escala de Arpejo - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - Tempo de Arpejo - - - - Arpeggio gate - Portal de Arpejo - - - - Arpeggio direction - Direção do Arpejo - - - - Arpeggio mode - Modo de Arpejo - - - - Up - Para Cima - - - - Down - Para Baixo - - - - Up and down - Para cima e para baixo - - - - Down and up - Para baixo e para cima - - - - Random - Aleatório - - - - Free - Livre - - - - Sort - Tipo - - - - Sync - Sincronização - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGIO - - - - RANGE - EXTENSÃO - - - - Arpeggio range: - Extensão do arpejo: - - - - octave(s) - oitava(s) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - nota(s) - - - - SKIP - - - - - Skip rate: - - - - - - - % - % - - - - MISS - - - - - Miss rate: - - - - - TIME - TEMPO - - - - Arpeggio time: - Tempo de arpejo: - - - - ms - ms - - - - GATE - PORTAL - - - - Arpeggio gate: - Portal de arpejo: - - - - Chord: - Acorde: - - - - Direction: - Direção: - - - - Mode: - Modo: - InstrumentFunctionNoteStacking - + octave oitava - - + + Major Maior - + Majb5 Maior b5 - + minor menor - + minb5 menor b5 - + sus2 sus2 - + sus4 sus4 - + aug aum - + augsus4 aum sus4 - + tri tríade - + 6 6 - + 6sus4 6sus4 - + 6add9 6(9) - + m6 m6 - + m6add9 m6(9) - + 7 7 - + 7sus4 7 sus4 - + 7#5 7(#5) - + 7b5 7(b5) - + 7#9 7(#9) - + 7b9 7(b9) - + 7#5#9 7(#5, #9) - + 7#5b9 7(#5, b9) - + 7b5b9 7(b5, b9) - + 7add11 7(11) - + 7add13 7(13) - + 7#11 7(#11) - + Maj7 7M - + Maj7b5 7M(b5) - + Maj7#5 7M(#5) - + Maj7#11 7M(#11) - + Maj7add13 7M(13) - + m7 m7 - + m7b5 m7(b5) - + m7b9 m7(b9) - + m7add11 m7(11) - + m7add13 m7(13) - + m-Maj7 m-7M - + m-Maj7add11 m-7M(11) - + m-Maj7add13 m-7M(13) - + 9 9 - + 9sus4 9 sus4 - + add9 (9) - + 9#5 (9, #5) - + 9b5 (9, b5) - + 9#11 (9, #11) - + 9b13 (b9, 13) - + Maj9 9M - + Maj9sus4 9M sus4 - + Maj9#5 9M(#5) - + Maj9#11 9M(#11) - + m9 m9 - + madd9 m(9) - + m9b5 m(9, b5) - + m9-Maj7 m(9,7M) - + 11 11 - + 11b9 11(b9) - + Maj11 Acorde de 11 - + m11 m(11) - + m-Maj11 m (11M) - + 13 13 - + 13#9 13(#9) - + 13b9 13(b9) - + 13b5b9 13(b5, b9) - + Maj13 13M - + m13 m(13) - + m-Maj13 m (13M) - + Harmonic minor Menor Harmônica - + Melodic minor Menor Melódica - + Whole tone Tons inteiros - + Diminished Diminuta - + Major pentatonic Pentatônica maior - + Minor pentatonic Pentatônica menor - + Jap in sen Insen Japonesa - + Major bebop Bebop maior - + Dominant bebop Bebop dominante - + Blues Blues - + Arabic Árabe - + Enigmatic Enigmática - + Neopolitan Napolitana - + Neopolitan minor Neopolitana menor - + Hungarian minor Húngara menor - + Dorian Dório - + Phrygian - + Frígio - + Lydian Lídio - + Mixolydian Mixolídio - + Aeolian Eólio - + Locrian Lócrio - + Minor Menor - + Chromatic Cromático - + Half-Whole Diminished - + Mínima-Diminuída - + 5 5 - + Phrygian dominant - + Frígio dominante - + Persian Persa - - - Chords - Acordes - - - - Chord type - Tipo de acorde - - - - Chord range - Extensão do acorde - - - - InstrumentFunctionNoteStackingView - - - STACKING - EMPILHAMENTO - - - - Chord: - Acorde: - - - - RANGE - EXTENSÃO - - - - Chord range: - Extensão do acorde: - - - - octave(s) - oitava(s) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - HABILITAR ENTRADA MIDI - - - - ENABLE MIDI OUTPUT - HABILITAR SAÍDA MIDI - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTA - - - - MIDI devices to receive MIDI events from - Dispositivos MIDI para receber eventos MIDI de - - - - MIDI devices to send MIDI events to - Dispositivos MIDI para mandar eventos MIDI para - - - - CUSTOM BASE VELOCITY - - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - - - - - InstrumentTuningView - - - MASTER PITCH - - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME VOLUME - + Volume Volume - + CUTOFF CORTE - - + Cutoff frequency Frequência de corte - + RESO RESS - + Resonance Ressonância - - - Envelopes/LFOs - Envelopes/LFOs - - - - Filter type - Tipo de filtro - - - - Q/Resonance - Q/Ressonância - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - Vale - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - - - - - Fast Formant - Formato Rápido - - - - Tripole - - - InstrumentSoundShapingView + JackAppDialog - - TARGET - OBJETO - - - - FILTER - FILTRO - - - - FREQ - FREQ - - - - Cutoff frequency: - Frequência de corte: - - - - Hz - Hz - - - - Q/RESO + + Add JACK Application - - Q/Resonance: + + Note: Features not implemented yet are greyed out - - Envelopes, LFOs and filters are not supported by the current instrument. - - - - - InstrumentTrack - - - - unnamed_track - pista_sem_nome - - - - Base note - Nota base - - - - First note + + Application - - Last note - Última nota - - - - Volume - Volume - - - - Panning - Panorâmico - - - - Pitch - Altura - - - - Pitch range - Extensão - - - - Mixer channel - Canal de Efeitos - - - - Master pitch - Altura Final - - - - Enable/Disable MIDI CC + + Name: - - CC Controller %1 + + Application: - - - Default preset - Pré configuração padrão - - - - InstrumentTrackView - - - Volume - Volume - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Panorâmico - - - - Panning: - Panorâmico: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Entradas - - - - Output - Saídas - - - - Open/Close MIDI CC Rack + + From template - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - AJUSTES GERAIS - - - - Volume - Volume - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Panorâmico - - - - Panning: - Panorâmico: - - - - PAN - PAN - - - - Pitch - Altura - - - - Pitch: - Altura: - - - - cents - centésimos - - - - PITCH - ALTURA - - - - Pitch range (semitones) - Extensão (semitons) - - - - RANGE - EXTENSÃO - - - - Mixer channel - Canal de Efeitos - - - - CHANNEL - EFEITOS - - - - Save current instrument track settings in a preset file + + Custom - - SAVE - SALVAR - - - - Envelope, filter & LFO + + Template: - - Chord stacking & arpeggio + + Command: - - Effects - Efeitos - - - - MIDI - MIDI - - - - Miscellaneous - Miscelânea - - - - Save preset - Salvar pré definição - - - - XML preset file (*.xpf) - Arquivo de pré definições XML (*.xpf) - - - - Plugin + + Setup - - - JackApplicationW - + + Session Manager: + + + + + None + + + + + Audio inputs: + + + + + MIDI inputs: + Entradas MIDI: + + + + Audio outputs: + + + + + MIDI outputs: + Saídas MIDI: + + + + Take control of main application window + + + + + Workarounds + Gambiarras + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + Capturar apenas a primeira Janela X11 + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + Erro aqui + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6854,957 +2794,22 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Definir linear - - - - Set logarithmic - Definir logarítmico - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - - - - - Please enter a new value between %1 and %2: - Por favor coloque um novo valor entre %1 e %2: - - - - LadspaControl - - - Link channels - Conectar canais - - - - LadspaControlDialog - - - Link Channels - Conectar Canais - - - - Channel - Canal - - - - LadspaControlView - - - Link channels - Conectar canais - - - - Value: - Valor: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Plugin LADSPA %1 desconhecido requisitado. - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Por favor coloque um novo valor entre %1 e %2: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Por favor coloque um novo valor entre %1 e %2: - - - - LeftRightNav - - - - - Previous - Anterior - - - - - - Next - Próximo - - - - Previous (%1) - Anterior (%1) - - - - Next (%1) - Próximo (%1) - - - - LfoController - - - LFO Controller - Controlador de LFO - - - - Base value - Valor base - - - - Oscillator speed - Velocidade do oscilador - - - - Oscillator amount - Quantidade do oscilador - - - - Oscillator phase - Fase do oscilador - - - - Oscillator waveform - Forma de onda do oscilador - - - - Frequency Multiplier - Multiplicador de frequência - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - CENTRO - - - - Base: - - - - - FREQ - FREQ - - - - LFO frequency: - - - - - AMNT - QNTD - - - - Modulation amount: - Quantidade de modulação: - - - - PHS - DFS - - - - Phase offset: - Defasamento: - - - - degrees - - - - - Sine wave - Onda senoidal - - - - Triangle wave - Onda triangular - - - - Saw wave - Onda dente de serra - - - - Square wave - Onda quadrada - - - - Moog saw wave - - - - - Exponential wave - Onda exponencial - - - - White noise - - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - - - - - Initializing data structures - Inicializando estruturas de dados - - - - Opening audio and midi devices - Abrindo dispositivos áudio e midi - - - - Launching mixer threads - Lançando threads do misturador - - - - MainWindow - - - Configuration file - Arquivo de configuração - - - - Error while parsing configuration file at line %1:%2: %3 - Erro ao analisar arquivo de configuração na linha %1:%2: %3 - - - - Could not open file - Não é possível abrir o arquivo - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - - - - - Project recovery - Recuperação de projeto - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - - - - - Recover - Recuperar - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - - - - - - Discard - Descartar - - - - Launch a default session and delete the restored files. This is not reversible. - - - - - Version %1 - Versão %1 - - - - Preparing plugin browser - Preparando navegador de plugin - - - - Preparing file browsers - Preparando navegadores de arquivos - - - - My Projects - Meus Projetos - - - - My Samples - Minhas Amostras - - - - My Presets - Minhas predefinições - - - - My Home - Meu Início - - - - Root directory - Diretório raiz - - - - Volumes - Volumes - - - - My Computer - Meu Computador - - - - &File - &Arquivo - - - - &New - &Novo - - - - &Open... - &Abrir... - - - - Loading background picture - - - - - &Save - &Salvar - - - - Save &As... - Salvar &como... - - - - Save as New &Version - Salvar como Nova &Versão - - - - Save as default template - Salvar como modelo padrão - - - - Import... - Importar... - - - - E&xport... - &Renderizar... - - - - E&xport Tracks... - Exportar Faixas... - - - - Export &MIDI... - Exportar &MIDI... - - - - &Quit - Sai&r - - - - &Edit - &Editar - - - - Undo - Desfazer - - - - Redo - Refazer - - - - Settings - Opções - - - - &View - &Ver - - - - &Tools - &Ferramentas - - - - &Help - Aj&uda - - - - Online Help - Ajuda Online - - - - Help - Ajuda - - - - About - Sobre - - - - Create new project - Criar novo projeto - - - - Create new project from template - Criar novo projeto a partir de um modelo - - - - Open existing project - Abrir projeto existente - - - - Recently opened projects - Projetos usados recentemente - - - - Save current project - Salvar projeto atual - - - - Export current project - Exportar projeto atual - - - - Metronome - Metrônomo - - - - - Song Editor - Mostrar/esconder Editor de Arranjo - - - - - Beat+Bassline Editor - Mostrar/esconder Editor de Bases - - - - - Piano Roll - Mostrar/esconder Editor de Notas MIDI - - - - - Automation Editor - Mostrar/esconder Editor de Automação - - - - - Mixer - Mostrar/esconder Mixer de Efeitos - - - - Show/hide controller rack - - - - - Show/hide project notes - Mostrar/ocultar notas do projeto - - - - Untitled - Sem_nome - - - - Recover session. Please save your work! - - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - - - - - Project not saved - Projeto não salvo - - - - The current project was modified since last saving. Do you want to save it now? - O projeto atual foi modificado. Quer salvá-lo agora? - - - - Open Project - Abrir Projeto - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Salvar Projeto - - - - LMMS Project - Projeto LMMS - - - - LMMS Project Template - Modelo de Projeto LMMS - - - - Save project template - Salvar modelo do projeto - - - - Overwrite default template? - - - - - This will overwrite your current default template. - - - - - Help not available - Ajuda não disponível - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Atualmente não há ajuda disponível no LMMS. -Por favor visite http://lmms.sf.net/wiki para ter acesso a mais infromações sobre LMMS. - - - - Controller Rack - Mostrar/esconder a Estante de Controladorer - - - - Project Notes - Mostrar/esconder comentários do projeto - - - - Fullscreen - - - - - Volume as dBFS - Volume como dBFS - - - - Smooth scroll - Rolagem suave - - - - Enable note labels in piano roll - - - - - MIDI File (*.mid) - Arquivo MIDI (*.mid) - - - - - untitled - sem título - - - - - Select file for project-export... - - - - - Select directory for writing exported tracks... - - - - - Save project - Guardar projeto - - - - Project saved - Projeto salvo - - - - The project %1 is now saved. - O projeto %1 está salvo. - - - - Project NOT saved. - Projeto NÃO salvo. - - - - The project %1 was not saved! - O projeto %1 não foi salvo! - - - - Import file - Importar arquivo - - - - MIDI sequences - Sequências MIDI - - - - Hydrogen projects - Projetos Hydrogen - - - - All file types - Todos os tipos de arquivos - - - - MeterDialog - - - - Meter Numerator - Numerador Métrico - - - - Meter numerator - - - - - - Meter Denominator - Denominador Métrico - - - - Meter denominator - - - - - TIME SIG - COMPASSO - - - - MeterModel - - - Numerator - Numerador - - - - Denominator - Denominador - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Controlador MIDI - - - - unnamed_midi_controller - controlador-midi-sem-nome - - - - MidiImport - - - - Setup incomplete - Configuração incompleta - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Você não compilou o LMMS com suporte a SoundFont2 player, que é usado para adicionar sons por padrão a arquivos MIDI importados. Desta maneira nenhum som será executado depois de importar arquivos MIDI. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Numerador - - - - Denominator - Denominador - - - - Track - Faixa - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - O servidor JACK caiu - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - O servidor JACK parece estar encerrado. - - MidiPatternW MIDI Pattern - + Padrão MIDI Time Signature: - + Fórmula de Compasso: @@ -7841,7 +2846,7 @@ Por favor visite http://lmms.sf.net/wiki para ter acesso a mais infromações so Measures: - + Medidas: @@ -7928,7 +2933,7 @@ Por favor visite http://lmms.sf.net/wiki para ter acesso a mais infromações so Default Length: - + Tamanho Padrão: @@ -7981,7 +2986,7 @@ Por favor visite http://lmms.sf.net/wiki para ter acesso a mais infromações so Quantize: - + Quantizar: @@ -7999,2731 +3004,370 @@ Por favor visite http://lmms.sf.net/wiki para ter acesso a mais infromações so Sai&r - - &Insert Mode + + Esc + &Insert Mode + &Modo de Inserção + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Canal de entrada - - - - Output channel - Canal de saída - - - - Input controller - Entrada do controlador - - - - Output controller - Saída do controlador - - - - Fixed input velocity - Intensidade fixa de entrada - - - - Fixed output velocity - Intensidade fixa de saída - - - - Fixed output note - Nota fixa na saída - - - - Output MIDI program - Saída do programa MIDI - - - - Base velocity - Velocidade base - - - - Receive MIDI-events - Receber eventos MIDI - - - - Send MIDI-events - Enviar eventos MIDI - - - - MidiSetupWidget - - - Device - Dispositivo - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Vista selecionada - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - Onda senoidal - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - Onda exponencial - - - - White noise - - - - - Digital Triangle wave - - - - - Digital Saw wave - - - - - Digital Ramp wave - - - - - Digital Square wave - - - - - Digital Moog saw wave - - - - - Triangle wave - Onda triangular - - - - Saw wave - Onda dente de serra - - - - Ramp wave - Onda de rampa - - - - Square wave - Onda quadrada - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - Aleatório - - - - Random smooth - - - - - MonstroView - - - Operators view - Visão do operador - - - - Matrix view - Ver matriz - - - - - - Volume - Volume - - - - - - Panning - Panorâmico - - - - - - Coarse detune - - - - - - - semitones - semitons - - - - - Fine tune left - - - - - - - - cents - - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - - - - - Pulse width - - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - Ataque - - - - - Rate - Taxa - - - - - Phase - Fase - - - - - Pre-delay - - - - - - Hold - Espera - - - - - Decay - Decaimento - - - - - Sustain - Sustentação - - - - - Release - Relaxamento - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Quantidade de modulação - - - - MultitapEchoControlDialog - - - Length - Comprimento - - - - Step length: - - - - - Dry - Seco - - - - Dry gain: - - - - - Stages - Estágios - - - - Low-pass stages: - - - - - Swap inputs - - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - Canal 1 volume - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - Canal 2 Volume - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Canal 3 volume - - - - Channel 4 volume - Canal 4 volume - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Volume Final - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Volume - - - - - - Coarse detune - - - - - - - Envelope length - - - - - Enable channel 1 - Ativar canal 1 - - - - Enable envelope 1 - - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - - - - - - 25% Duty cycle - - - - - - 50% Duty cycle - - - - - - 75% Duty cycle - - - - - Enable channel 2 - Ativar canal 2 - - - - Enable envelope 2 - - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - Ativar canal 3 - - - - Noise Frequency - Ruído de Frequência - - - - Frequency sweep - - - - - Enable channel 4 - Ativar canal 4 - - - - Enable envelope 4 - - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - Usar frequência de nota para ruído - - - - Noise mode - Modo de ruído - - - - Master volume - Volume Final - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Programação - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - Ataque - - - - - Decay - Decaimento - - - - - Release - Relaxamento - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - Forma de Onda Osc %1 - - - - Osc %1 harmonic - - - - - - Osc %1 volume - Volume Osc %1 - - - - - Osc %1 panning - Panorâmico Osc %1 - - - - - Osc %1 fine detuning left - Ajuste fino esquerdo Osc %1 - - - - Osc %1 coarse detuning - Ajuste bruto Osc %1 - - - - Osc %1 fine detuning right - Ajuste fino direito %1 - - - - Osc %1 phase-offset - Defasamento Osc %1 - - - - Osc %1 stereo phase-detuning - Ajuste de fase estéreo Osc %1 - - - - Osc %1 wave shape - Formato de onda Osc %1 - - - - Modulation type %1 - Tipo de modulação %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - Clique para habilitar - - PatchesDialog + Qsynth: Channel Preset + Bank selector - + Selecionar banco + Bank Banco + Program selector - + Selecionar programa + Patch Programação + Name Nome + OK OK + Cancel Cancelar - - PatmanView - - - Open patch - - - - - Loop - Loop - - - - Loop mode - Modo de loop - - - - Tune - Afinar - - - - Tune mode - Modo de afinação - - - - No file selected - Nenhum arquivo selecionado - - - - Open patch file - Abrir arquivo de patch - - - - Patch-Files (*.pat) - Arquivos de Patch (*.pat) - - - - MidiClipView - - - Open in piano-roll - Abrir no Editor de Notas MIDI - - - - Set as ghost in piano-roll - - - - - Clear all notes - Limpar todas as notas - - - - Reset name - Restaurar nome - - - - Change name - Mudar nome - - - - Add steps - Adicionar passo - - - - Remove steps - Remover passo - - - - Clone Steps - Clonar Etapas - - - - PeakController - - - Peak Controller - Controlador de Picos - - - - Peak Controller Bug - Problema no Controlador de Picos - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Devido a um problema na versão mais antiga do LMMS, os controladores de pico não pode se conectar corretamente. Certifique-se de que os controladores de pico estão conectados corretamente e volte a salvar este arquivo. Desculpe por qualquer inconveniente causado. - - - - PeakControllerDialog - - - PEAK - Pico - - - - LFO Controller - Controlador de LFO - - - - PeakControllerEffectControlDialog - - - BASE - BASE - - - - Base: - - - - - AMNT - QNTD - - - - Modulation amount: - Quantidade de modulação: - - - - MULT - MULT - - - - Amount multiplicator: - - - - - ATCK - ATQU - - - - Attack: - Ataque: - - - - DCAY - DCAI - - - - Release: - Relaxamento: - - - - TRSH - - - - - Treshold: - - - - - Mute output - Deixar saída muda - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Valor base - - - - Modulation amount - Quantidade de modulação - - - - Attack - Ataque - - - - Release - Relaxamento - - - - Treshold - - - - - Mute output - Deixar saída muda - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - Volume da nota - - - - Note Panning - Panorâmico da nota - - - - Mark/unmark current semitone - Marcar/desmarcar o semitom atual - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - Marcar a escala atual - - - - Mark current chord - Marcar o acorde atual - - - - Unmark all - Desmarcar tudo - - - - Select all notes on this key - Selecionar todas as notas desta chave - - - - Note lock - Travar nota - - - - Last note - Última nota - - - - No key - - - - - No scale - Sem escala - - - - No chord - Sem acorde - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Velocidade: %1% - - - - Panning: %1% left - Panorâmico: %1% Esquerda - - - - Panning: %1% right - Panorâmico: %1% Direita - - - - Panning: center - Panorâmico: Centro - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Por favor abra um a sequência com um duplo clique sobre ela! - - - - - Please enter a new value between %1 and %2: - Por favor coloque um valor entre %1 e %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Tocar/Parar padrão atual (Espaço) - - - - Record notes from MIDI-device/channel-piano - Grave notas do dispositivo MIDI / Canal de piano - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Grave notas do dispositivo MIDI / Canal de piano enquanto toca sons ou faixas de batida da linha de baixo - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Parar de tocar a sequência atual (Espaço) - - - - Edit actions - Editar ações - - - - Draw mode (Shift+D) - Desenhar modo (Shift+D) - - - - Erase mode (Shift+E) - Apagar modo (Shift+E) - - - - Select mode (Shift+S) - Modo de seleção (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - Quantizar - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Controles de cronograma - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Controles de Zoom e nota - - - - Horizontal zooming - Zoom horizontal - - - - Vertical zooming - Zoom vertical - - - - Quantization - Quantização - - - - Note length - - - - - Key - - - - - Scale - Escala - - - - Chord - Acorde - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - - - - - - Piano-Roll - no clip - - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Nota base - - - - First note - - - - - Last note - Última nota - - - - Plugin - - - Plugin not found - Plugin não encontrado - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - O plugin "%1" não pode ser carregado! -Motivo: "%2" - - - - Error while loading plugin - Erro ao carregar plugin - - - - Failed to load plugin "%1"! - Falha ao carregar o plugin "%1"! - - PluginBrowser - - Instrument Plugins - - - - - Instrument browser - Navegador de Instrumento - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - - - - + no description sem descrição - + A native amplifier plugin - + Um plugin amplificador nativo - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - + Amostrador simples com várias configurações para usar amostras (ex. Percussão) em uma trilha de instrumento - + Boost your bass the fast and simple way - + Aumente os graves de forma rápida e simples - + Customizable wavetable synthesizer Sintetizador de formas de onda customizáveis - + An oversampling bitcrusher - + Carla Patchbay Instrument - + Instrumento do Carla Patchbay - + Carla Rack Instrument - Instrumento do Rack Carla + Instrumento do Carla Rack - + A dynamic range compressor. - + A 4-band Crossover Equalizer - + Um Equalizador Crossover de 4 bandas - + A native delay plugin - + Plugin de delay nativo - + A Dual filter plugin - + Plugin de filtro duplo - + plugin for processing dynamics in a flexible way - + plugin para processamento dinâmico de um jeito flexível - + A native eq plugin - + Um plugin equalizador nativo - + A native flanger plugin - + Emulation of GameBoy (TM) APU Emulação do GameBoy (TM) APU - + Player for GIG files Tocador para arquivos GIG - + Filter for importing Hydrogen files into LMMS Filtro para importação de arquivos do Hydrogen para o LMMS - + Versatile drum synthesizer - + Sintetizador de Bateria Versátil - + List installed LADSPA plugins Lista dos plugins LADSPA instalados - + plugin for using arbitrary LADSPA-effects inside LMMS. plugin para uso de efeitos LADSPA arbitrários dentro do LMMS. - + Incomplete monophonic imitation TB-303 - Imitação monofônica incompleta de TB-303 + Imitação monofônica incompleta do TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin para usar efeitos LV2 arbitrários no LMMS - + plugin for using arbitrary LV2 instruments inside LMMS. - + plugin para usar instrumentos LV2 arbitrários no LMMS - + Filter for exporting MIDI-files from LMMS - + Filtro para exportar arquivos MIDI do LMMS - + Filter for importing MIDI-files into LMMS Filtro para importação de arquivos MIDI para o LMMS - + Monstrous 3-oscillator synth with modulation matrix - + Sintetizador monstruoso de 3 osciladores com matriz de modulação - + A multitap echo delay plugin - + Um plugin de delay multi ecos - + A NES-like synthesizer - + Um sintetizador como o Nintendinho - + 2-operator FM Synth Dois Operadores de Síntese FM - + Additive Synthesizer for organ-like sounds Síntetizador de Síntese Aditiva para sons tipo de órgão - + GUS-compatible patch instrument Pré definição de instrumento compatível com GUS (Gravis Ultrasound) - + Plugin for controlling knobs with sound peaks Plugin para controlar botões com os picos sonoros - + Reverb algorithm by Sean Costello - + Algoritmo de reverberação por Sean Costello - + Player for SoundFont files - Tocador de arquivos de SounFont + Tocador para arquivos SoundFont - + LMMS port of sfxr sfxr para LMMS - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulação do MOS6581 e do MOS8580 SID. Este chip foi utilizado no computador Commodore 64. - + A graphical spectrum analyzer. - + Um analisador gráfico de espectro - + Plugin for enhancing stereo separation of a stereo input file Plugin para melhorar a separação estéreo de um arquivo de entrada estéreo - + Plugin for freely manipulating stereo output Plugin para livre manipulação das saídas estéreo - + Tuneful things to bang on Instrumentos percussivos com afinação para você usar - + Three powerful oscillators you can modulate in several ways - + Três osciladores poderosos que você pode modular em diversas formas - + A stereo field visualizer. - + Um visualizador do campo estéreo - + VST-host for using VST(i)-plugins within LMMS Servidor (host) VST para usar plugins VST(i) com o LMMS - + Vibrating string modeler Modelador de Cordas vibrantes - + plugin for using arbitrary VST effects inside LMMS. - + plugin para uso de efeitos VST arbitrários no LMMS - + 4-oscillator modulatable wavetable synth - + Sintetizador de tabela ondulatória com 4 osciladores moduláveis - + plugin for waveshaping - + plugin para formas de ondas - + Mathematical expression parser - + Analisador de expressões matemáticas - + Embedded ZynAddSubFX Poderoso sintetizador ZynAddSubFx embutido no LMMS - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Tipo - - - - Effects - Efeitos - - - - Instruments - Instrumentos - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Cancelar - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Tipo: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Nome - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F - + + Tap to the beat + Toque no ritmo @@ -10731,7 +3375,7 @@ Este chip foi utilizado no computador Commodore 64. Plugin Editor - + Editor de Plugin @@ -10821,93 +3465,98 @@ Este chip foi utilizado no computador Commodore 64. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Programa MIDI: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Tipo: - + Maker: - + Copyright: - + Unique ID: @@ -10915,16 +3564,457 @@ Plugin Name PluginFactory - + Plugin not found. Plugin não achado. - + LMMS plugin %1 does not have a plugin descriptor named %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + Apenas estéreo + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + Atualizar + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + Plugins MIDI + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + Descobrindo kits SF2 + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10939,157 +4029,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Fechar + @@ -11104,50 +4098,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off Liga/Desliga - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11162,2285 +4156,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Mostrar/esconder comentários do projeto - - - - Enter project notes here - - - - - Edit Actions - Editar ações - - - - &Undo - &Desfazer - - - - %1+Z - %1+Z - - - - &Redo - &Refazer - - - - %1+Y - %1+Y - - - - &Copy - &Copiar - - - - %1+C - %1+C - - - - Cu&t - &Cortar - - - - %1+X - %1+X - - - - &Paste - &Colar - - - - %1+V - %1+V - - - - Format Actions - - - - - &Bold - &Negrito - - - - %1+B - %1+B - - - - &Italic - &Itálico - - - - %1+I - %1+I - - - - &Underline - &Underline - - - - %1+U - %1+U - - - - &Left - &Esquerda - - - - %1+L - %1+L - - - - C&enter - &Centro - - - - %1+E - %1+E - - - - &Right - &Direita - - - - %1+R - %1+R - - - - &Justify - &Justificar - - - - %1+J - %1+J - - - - &Color... - &Cor... - - ProjectRenderer - + WAV (*.wav) - + FLAC (*.flac) - + OGG (*.ogg) - + MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Recarregar Plugin - + Show GUI Mostrar GUI - + Help Ajuda + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + Abrir arquivo de áudio + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Nome: - - URI: - - - - - - + Maker: Marcador: - - - + Copyright: Direitos autorais: - - + Requires Real Time: Requer Processamento em Tempo Real: - - - - - - + + + Yes Sim - - - - - - + + + No Não - - + Real Time Capable: Capacitado para Processamento em Tempo Real: - - + In Place Broken: Com Local Quebrado: - - + Channels In: Canais de Entrada: - - + Channels Out: Canais de Saída: - + File: %1 Arquivo: %1 - + File: Arquivo: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Projetos Abertos Recentes - - - - RenameDialog - - - Rename... - Renomear... - - - - ReverbSCControlDialog - - - Input - Entradas - - - - Input gain: - Ganho de entrada: - - - - Size - Tamanho - - - - Size: - Tamanho: - - - - Color - Cor - - - - Color: - Cor: - - - - Output - Saídas - - - - Output gain: - Ganho de saída: - - - - ReverbSCControls - - - Input gain - Ganho de entrada - - - - Size - Tamanho - - - - Color - Cor - - - - Output gain - Ganho de saída - - - - SaControls - - - Pause - Pausar - - - - Reference freeze + + XY Controller + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + &Arquivo + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + + + + + lmms::AmplifierControls + + + Volume + Volume + + + + Panning + Panorâmico + + + + Left gain + Ganho esquerdo + + + + Right gain + Ganho direito + + + + lmms::AudioFileProcessor + + + Amplify + Amplificar + + + + Start of sample + Início da amostra + + + + End of sample + Fim da amostra + + + + Loopback point + Ponto de retorno + + + + Reverse sample + Inverter amostra + + + + Loop mode + Modo de loop + + + + Stutter + + + + + Interpolation mode + Modo de interpolação + + + + None + Nenhum + + + + Linear + Linear + + + + Sinc + Sinc + + + + Sample not found + Amostra não encontrada + + + + lmms::AudioJack + + + JACK client restarted + Cliente JACK reiniciou + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + Nome do cliente + + + + Channels + Canais + + + + lmms::AudioOss + + + Device + Dispositivos + + + + Channels + Canais + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Backend + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + Editar automação global da música + + + + Remove song-global automation + Apagar automação global da música + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + Trilha de Automação + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + Interpolação + + + + Normalize + Normalizar + + + + lmms::BitcrushControls + + + Input gain + + + + + Input noise + + + + + Output gain + + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + Quantidade + + + + Frequency + Frequência + + + + Resonance + Ressonância + + + + Feedback + Retorno + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + Abrindo áudio e dispositivos midi + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + Ruído + + + + Invert + Inverter + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + Ativar/Desativar MIDI CC + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + Ruído + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + Vidro + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + Numerador + + + + Denominator + Denominador + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + Controlador MIDI + + + + unnamed_midi_controller + controlador_midi_sem_nome + + + + lmms::MidiImport + + + + Setup incomplete + Configuração incompleta + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Você não definiu um soundfont padrão no diálogo de configurações (Editar->Configurações). Portanto nenhum som irá tocar após importar este arquivo MIDI. Você deve baixar um soundfont MIDI Geral, especifique-o no diálogo de configurações e tente novamente. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + Você não compilou o LMMS com suporte para o tocador SoundFont2, que é usado para adicionar som padrão aos arquivos MIDI importados. Portanto nenhum som irá tocar após importar este arquivo MIDI. + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + Programa de saída MIDI + + + + Base velocity + + + + + Receive MIDI-events + Receber eventos MIDI + + + + Send MIDI-events + Enviar eventos MIDI + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + Ruído branco + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + + + + + Color + + + + + Output gain + + + + + lmms::SaControls - Waterfall + Pause + Reference freeze + + + + + Waterfall + + + + Averaging - - - Stereo - Estéreo - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - Grave + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - Pausar - - - - Pause data acquisition - Pausar aquisição de dados - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Estéreo - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - Manter - - - - lines - linhas - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - Valor gama: - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - - - - - Open audio file - Abrir arquivo de áudio - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Todos Arquivos de Áudio (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Arquivos Wave (*.wav) - - - - OGG-Files (*.ogg) - Arquivos OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Arquivos DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Arquivos FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Arquivos SPEEX (*.spx) - - - - VOC-Files (*.voc) - Arquivos VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Arquivos AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Arquivos AU (*.au) - - - - RAW-Files (*.raw) - Arquivos RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - Excluir (botão do meio do mouse) - - - - Delete selection (middle mousebutton) - - - - - Cut - Recortar - - - - Cut selection - - - - - Copy - Copiar - - - - Copy selection - - - - - Paste - Colar - - - - Mute/unmute (<%1> + middle click) - Mudo/Não Mudo (<%1> + middle click) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Amostra reversa - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - Volume + - + Panning - Panorâmico + - + Mixer channel - Canal de Efeitos + - - + + Sample track - Áudio Amostras + Trilha de Amostras - SampleTrackView + lmms::Scale - - Track volume - Volume da pista - - - - Channel volume: - Volume do canal: - - - - VOL - VOL - - - - Panning - Panorâmico - - - - Panning: - Panorâmico: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - AJUSTES GERAIS - - - - Sample volume - - - - - Volume: - Volume: - - - - VOL - VOL - - - - Panning - Panorâmico - - - - Panning: - Panorâmico: - - - - PAN - PAN - - - - Mixer channel - Canal de Efeitos - - - - CHANNEL - EFEITOS - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) + + empty - SetupDialog + lmms::Sf2Instrument - - Reset to default value + + Bank - - Use built-in NaN handler + + Patch - - Settings - Opções - - - - - General + + Gain - - Graphical user interface (GUI) + + Reverb - - Display volume as dBFS + + Reverb room size - - Enable tooltips - Ativar Dicas - - - - Enable master oscilloscope by default + + Reverb damping - - Enable all note labels in piano roll + + Reverb width - - Enable compact track buttons + + Reverb level - - Enable one instrument-track-window mode + + Chorus - - Show sidebar on the right-hand side + + Chorus voices - - Let sample previews continue when mouse is released + + Chorus level - - Mute automation tracks during solo + + Chorus speed - - Show warning when deleting tracks + + Chorus depth - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Plugins - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - - - - - Embed using native Win32 API - - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - - - - - Keep effects running even without input - - - - - - Audio - Áudio - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Diretório de trabalho LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Diretório SF2 - - - - Default SF2 - - - - - GIG directory - Diretório GIG - - - - Theme directory - - - - - Background artwork - - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - Caminhos - - - - OK - OK - - - - Cancel - Cancelar - - - - Frames: %1 -Latency: %2 ms - - - - - Choose your GIG directory - Escolha seu diretório GIG - - - - Choose your SF2 directory - Escolha seu diretório SF2 - - - - minutes - minutos - - - - minute - minuto - - - - Disabled - Desativado + + A soundfont %1 could not be loaded. + Um soundfont %1 não pôde ser carregado. - SidInstrument + lmms::SfxrInstrument - + + Wave + Onda + + + + lmms::SidInstrument + + Cutoff frequency Frequência de corte - + Resonance Ressonância - + Filter type Tipo de filtro - + Voice 3 off - Voz 3 desligada + - + Volume - Volume + - + Chip model - Modelo do chip - - - - SidInstrumentView - - - Volume: - Volume: - - - - Resonance: - Ressonância: - - - - - Cutoff frequency: - Frequência de corte: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - - - - - MOS8580 SID - - - - - - Attack: - Ataque: - - - - - Decay: - Decaimento: - - - - Sustain: - Sustentação: - - - - - Release: - Relaxamento: - - - - Pulse Width: - Tamanho do Pulso: - - - - Coarse: - Ajuste Bruto: - - - - Pulse wave - - - - - Triangle wave - Onda triangular - - - - Saw wave - Onda dente de serra - - - - Noise - Ruído - - - - Sync - Sincronização - - - - Ring modulation - - - - - Filtered - Filtrado - - - - Test - Teste - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - Fechar + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - Andamento + - + Master volume - Volume Final + - + Master pitch - Altura Final - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - Reportar erro LMMS + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Não é possível abrir o arquivo + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + - + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + Não foi possível importar o arquivo + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + Não foi possível abrir o arquivo + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + Carregando projeto + + + + + Cancel + Cancelar + + + + + Please wait... + Por favor espere... + + + + Loading cancelled + Carregamento cancelado + + + + Project loading was cancelled. + Carregamento do projeto foi cancelado + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + Importando arquivo MIDI + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + Escala logarítmica + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + Carregando plugin + + + + Please wait while loading the VST plugin... + Por favor espere enquanto o plugin VST carrega... + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + Abrir Predefinição + + + + + VST Plugin Preset (*.fxp *.fxb) + Predefinição de Plugin VST (*.fxp *.fxb) + + + + : default + + + + + Save Preset + Salvar Predefinição + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + Por favor espere enquanto o plugin VST carrega... + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + Abrir amostra + + + + Reverse sample + Inverter amostra + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + Amplificar: + + + + Start point: + Ponto inicial: + + + + End point: + Ponto final: + + + + Loopback point: + Ponto de retorno: + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + Tamanho da amostra + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + Abrir no editor de Automação + + + + Clear + + + + + Reset name + Restaurar nome + + + + Change name + Mudar nome + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + Modo desenho (Shift+D) + + + + Erase mode (Shift+E) + Modo Apagar (Shift+E) + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + Editor de Automação - %1 + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + Ruído branco + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + RUÍDO + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + CONTROLADOR MIDI + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + Dispositivos MIDI recebem eventos MIDI de + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + QNT + + + + Number of all-pass filters + Números de filtros all-pass + + + + FREQ + + + + + Frequency: + Frequência: + + + + RESO + RESS + + + + Resonance: + Ressonância: + + + + FEED + RTRN + + + + Feedback: + Retorno: + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + Não foi possível abrir o arquivo + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + Abrir pasta contendo + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + --- Arquivos de fábrica --- + + + + lmms::gui::FileDialog + + + %1 files + %1 arquivos + + + + All audio files + + + + + Other files + Outros arquivos + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + RUÍDO + + + + White noise amount: + Quantidade de ruído branco: + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + Abrir arquivo GIG + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + Preparando o editor de automação + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + ATIVAR ENTRADA MIDI + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + ATIVAR SAÍDA MIDI + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + Dispositivos MIDI recebem eventos MIDI de + + + + MIDI devices to send MIDI events to + Dispositivos MIDI enviam eventos MIDI para + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + Abrir/Fechar Rack MIDI CC + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + Arquivo de predefinição XML (*.xpf) + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + Ruído: + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + Clique aqui para ruído-branco + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + Ruído branco + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + Arquivo de configuração + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + Não foi possível abrir o arquivo + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + Há um arquivo de recuperação presente. Parece que a última sessão não terminou devidamente ou outra instância do LMMS está em execução. Você quer recuperar o projeto desta sessão? + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + Recuperar o arquivo. Por favor não execute múltiplas instâncias do LMMS quando fizer isto. + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + Abrir uma sessão padrão e apagar os arquivos restaurados. Isto não é reversível. + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + Preparando exploradores de arquivo + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + &Arquivo + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + Abrir projeto existente + + + + Recently opened projects + Projetos abertos recentemente + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + Editor de Automação + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + O projeto atual foi modificado desde o último salvamento. Gostaria de salvar agora? + + + + Open Project + Abrir Projeto + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + Arquivo MIDI (*.mid) + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + Limpar todas as notas + + + + Reset name + + + + + Change name + Mudar nome + + + + Add steps + Adicionar passos + + + + Remove steps + Remover passos + + + + Clone Steps + Clonar Passos + + + + lmms::gui::MidiSetupWidget + + + Device + Dispositivo + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + Cor + + + + Change + Mudar + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + Não perguntar novamente + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + Taxa + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + Frequência de Ruído + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + Modo de ruído + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + Nenhum arquivo selecionado + + + + Open patch file + + + + + Patch-Files (*.pat) + Arquivos-Patch (*.pat) + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + Adicionar trilha de automação + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + Grava notas de um dispositivo MIDI/canal de piano + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + Gravar notas de um dispositivo MIDI/canal de piano enquanto toca a música ou Base + + + + Record notes from MIDI-device/channel-piano, one step at the time + Gravar notas de um dispositivo MIDI/canal de piano um passo por vez + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + Lâmina + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + Enviar para uma nova trilha de instrumento + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + &Projetos Abertos Recentemente + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + Duplo clique para abrir amostra + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + Silenciar trilhas de automação durante solo + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + Mostrar aviso ao deletar um canal mixer que está em uso + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + Interface MIDI + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + Diretório SF2 + + + + Default SF2 + SF2 padrão + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + Escolha seu diretório SF2 + + + + Choose your default SF2 + Escolha seu SF2 padrão + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + Abrir arquivo SoundFont + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + Arquivos SoundFont (*.sf2 *.sf3) + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + Ruído + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + Não foi possível abrir o arquivo + + + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - Não foi possível abrir o arquivo %1. Provavelmente você não tem permissão para ler este arquivo. - Por favor certifique-se que você tenha permissão de leitura para o arquivo e tente novamente. + - + Operation denied - + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - + + + Error - Erro + - + Couldn't create bundle folder. - + Couldn't create resources folder. - + Failed to copy resources. - + + Could not write file - Não é possivel salvar o arquivo - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - This %1 was created with LMMS %2 + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - + + An unknown error has occurred and the file could not be saved. + + + + Error in file Erro no arquivo - + The file %1 seems to contain errors and therefore can't be loaded. - O arquivo %1 parece conter erros e por isso não pode ser carregado. + - + + template + + + + + project + + + + Version difference - - template - modelo + + This %1 was created with LMMS %2 + - - project - projeto + + Zoom + - + Tempo - Andamento + - + TEMPO - + Tempo in BPM - - High quality mode - Modo de alta qualidade - - - - - + + + Master volume - Volume Final + - - - - Master pitch - Altura Final + + + + Global transposition + - + + 1/%1 Bar + + + + + %1 Bars + + + + Value: %1% - Valor: %1% + - - Value: %1 semitones - Valor: %1 semitons + + Value: %1 keys + - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - Editor de Som + + + + + Play song (Space) + + + + + Record samples from Audio-device + Gravar amostras de um dispositivo de áudio - Play song (Space) - Tocar som (Espaço) + Record samples from Audio-device while playing song or pattern track + Gravar amostras de um dispositivo enquanto toca a música ou uma Base - Record samples from Audio-device - - - - - Record samples from Audio-device while playing song or BB track - - - - Stop song (Space) - Parar som (Espaço) + - + Track actions - - Add beat/bassline - Add linha de base + + Add pattern-track + - + Add sample-track - Adicionar faixa de amostra + - + Add automation-track - Add automação de faixa + Adicionar trilha de automação - + Edit actions - Editar ações + + + + + Draw mode + + + + + Knife mode (split sample clips) + Modo lâmina (cortar clipes de amostra) - Draw mode - Modo de desenho - - - - Knife mode (split sample clips) - Modo faca (separar clipes de sample) - - - Edit mode (select and move) - Editar modo (selecionar e mover) + - + Timeline controls - Controles de cronograma + - + Bar insert controls - + Insert bar - + Remove bar - + Zoom controls - Controles de zoom + + - Horizontal zooming - Zoom horizontal + Zoom + - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - Sugestão + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - Fechar + - + Maximize - Maximizar + - + Restore - Restaurar + - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - Opções para %1 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + Silenciar metrônomo + + + + Mute + Silenciar + + + + BPM in milliseconds + BPM em milissegundos + + + + 0 ms + + + + + Frequency of BPM + Frequência do BPM + + + + 0.0000 hz + + + + + Reset + Resetar + + + + Reset counter and sidebar information + Resetar contador e informação da barra lateral + + + + Sync + Sincronizar + + + + Sync with project tempo + Sincronizar com o andamento do projeto + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - Novo modelo + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - Sincronia + - + No Sync - Sem Sincronia + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + No Sync + + + + Eight beats - Oito batidas + - + Whole note - Nota inteira + - + Half note - Meia nota + - + Quarter note - 1/4 de nota + - + 8th note - 8ª nota - - - - 16th note - 16ª nota + + 16th note + + + + 32nd note - 32ª nota + - + Custom... - Personalizado... + - + Custom - Personalizado - - - - Synced to Eight Beats - Sincronizado com Oito Batidas + - Synced to Whole Note - Sincronizado com a Nota Inteira + Synced to Eight Beats + - Synced to Half Note - Sincronizado com Meia Nota + Synced to Whole Note + - Synced to Quarter Note - Sincronizado com 1/4 de Nota + Synced to Half Note + - Synced to 8th Note - Sincronizado com a 8ª Nota + Synced to Quarter Note + - Synced to 16th Note - Sincronizado com a 16ª Nota + Synced to 8th Note + + Synced to 16th Note + + + + Synced to 32nd Note - Sincronizado com a 32ª Nota + - TimeDisplayWidget + lmms::gui::TimeDisplayWidget - + Time units - - - MIN - MIN - - SEC - SEC + MIN + + SEC + + + + MSEC - + BAR - + BEAT - + TICK - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - + After stopping keep position - + Hint - Sugestão + - + Press <%1> to disable magnetic loop points. - - - Track - - Mute - Mudo + + Set loop begin here + - - Solo - Solo + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + - TrackContainer + lmms::gui::TrackContentWidget - - Couldn't import file - não foi possivel importar arquivo - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Não foi possível encontrar um filtro para inportar o arquivo %1. -Você poderia converter este arquivo em um formato suportado pelo LMMS usando outro aplicativo. - - - - Couldn't open file - Não é possível abrir o arquivo - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Não foi possível abrir o arquivo %1 para leitura. -Por favor certifique-se que você tem permissões de leitura para o arquivo e para a pasta e tente novamente! - - - - Loading project... - Carregando projeto... - - - - - Cancel - Cancelar - - - - - Please wait... - Por favor aguarde... - - - - Loading cancelled - - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - - - - - Importing MIDI-file... - Importando arquivo MIDI... - - - - Clip - - - Mute - Mudo - - - - ClipView - - - Current position - Posição atual - - - - Current length - - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 to %5:%6) - - - - Press <%1> and drag to make a copy. - - - - - Press <%1> for free resizing. - - - - - Hint - Sugestão - - - - Delete (middle mousebutton) - Excluir (botão do meio do mouse) - - - - Delete selection (middle mousebutton) - - - - - Cut - Recortar - - - - Cut selection - - - - - Merge Selection - - - - - Copy - Copiar - - - - Copy selection - - - - + Paste - Colar - - - - Mute/unmute (<%1> + middle click) - Mudo/Não Mudo (<%1> + middle click) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - Colar - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13453,257 +17723,249 @@ Por favor certifique-se que você tem permissões de leitura para o arquivo e pa Mute - Mudo + Solo - Solo + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Clonar esta faixa + - + Remove this track - Remover esta faixa + + + + + Clear this track + - Clear this track - Desmarcar esta faixa - - - Channel %1: %2 - FX %1: %2 + - - Assign to new mixer Channel - Atribuir novo Canal FX + + Assign to new Mixer Channel + - + Turn all recording on - + Turn all recording off - - Change color - Mudar cor - - - - Reset color to default - Reiniciar para a cor padrão - - - - Set random color + + Track color - - Clear clip colors + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - Sincronize o oscilador 1 com o oscilador 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - Sincronize o oscilador 2 com o oscilador 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Volume Osc %1: + - + Osc %1 panning: - Panorâmico Osc %1: + - - Osc %1 coarse detuning: - Ajuste bruto Osc %1: - - - - semitones - semitons - - - - Osc %1 fine detuning left: - Ajuste fino esquerdo Osc %1: - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - centésimos + - + Osc %1 fine detuning right: - Ajuste fino direito %1: + - + Osc %1 phase-offset: - Defasamento Osc %1: + - - + + degrees - graus + - + Osc %1 stereo phase-detuning: - Defasamento estéreo Osc %1: + - + Sine wave - Onda senoidal + - + Triangle wave - Onda triangular + - + Saw wave - Onda dente de serra + - + Square wave - Onda quadrada + - + Moog-like saw wave - + Exponential wave - Onda exponencial - - - - White noise - + + White noise + Ruído branco + + + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13718,2618 +17980,782 @@ Por favor certifique-se que você tem permissões de leitura para o arquivo e pa - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Incrementar número da versão - + lmms::gui::VersionedSaveDialog - Decrement version number - Decrementar número da versão + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Abrir plugin VST - + Control VST plugin from LMMS host - + Open VST plugin preset + Abrir predefinição de plugin VST + + + + Previous (-) - - Previous (-) - Anterior (-) - - - + Save preset - Salvar pré definição + - + Next (+) - Próximo (+) + - + Show/hide GUI - Mostrar/esconder GUI + - + Turn off all notes - Desligar todas as notas + - + DLL-files (*.dll) - Arquivos DLL (*.dll) + - + EXE-files (*.exe) - Arquivos EXE (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - Pré definição + - + by - por + - + - VST plugin control - - Controle de plugins VST + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - Mostrar/esconder + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + Ruído branco + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Abrir predefinição de plugin VST - + Previous (-) - Anterior (-) + - + Next (+) - Próximo (+) + - + Save preset - Salvar pré definição + - - + + Effect by: - Efeito por: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - - - - VstPlugin - - - - The VST plugin %1 could not be loaded. - - - - - Open Preset - Abrir pré definição - - - - - Vst Plugin Preset (*.fxp *.fxb) - Pré definição de Plugin VST (*.fxp *.fxb) - - - - : default - : padrão - - - - Save Preset - Salvar pré definição - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Carregando plugin - - - - Please wait while loading VST plugin... - Por favor aguarde enquanto carrega o plugin VST... - - - - WatsynInstrument - - - Volume A1 - Volume A1 - - - - Volume A2 - Volume A2 - - - - Volume B1 - Volume B1 - - - - Volume B2 - Volume B2 - - - - Panning A1 - Panorâmico A1 - - - - Panning A2 - Panorâmico A2 - - - - Panning B1 - Panorâmico B1 - - - - Panning B2 - Panorâmico B2 - - - - Freq. multiplier A1 - Multiplicador de freq. A1 - - - - Freq. multiplier A2 - Multiplicador de freq. A2 - - - - Freq. multiplier B1 - Multiplicador de freq. B1 - - - - Freq. multiplier B2 - Multiplicador de freq. B2 - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - WatsynView + lmms::gui::WatsynView + + + + + Volume + + + + + - - - Volume - Volume + Panning + + + - - - Panning - Panorâmico - - - - - - Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - - - - + + + + Right detune - + A-B Mix - + Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - + Select oscillator A2 - + Select oscillator B1 - + Select oscillator B2 - + Mix output of A2 to A1 - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Desenhe sua própria forma de onda aqui utilizando seu mouse no gráfico. + - + Load waveform - + Load a waveform from a sample file - + Phase left - Fase esquerda + - + Shift phase by -15 degrees - + Phase right - Fase direita + - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - Normalização - - - - Invert - Inverter + - - + + Smooth - Suave + - - + + Sine wave - Onda senoidal + - - - + + + Triangle wave - Onda triangular + - + Saw wave - Onda dente de serra + - - + + Square wave - Onda quadrada - - - - Xpressive - - - Selected graph - - - - - A1 - - - - - A2 - - - - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - - Draw your own waveform here by dragging your mouse on this graph. - Desenhe sua própria forma de onda aqui utilizando seu mouse no gráfico. - - - - Select oscillator W1 - - - - - Select oscillator W2 - - - - - Select oscillator W3 - - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - - - - - - Sine wave - Onda senoidal - - - - - Moog-saw wave - - - - - - Exponential wave - Onda exponencial - - - - - Saw wave - Onda dente de serra - - - - - User-defined wave - - - - - - Triangle wave - Onda triangular - - - - - Square wave - Onda quadrada - - - - - White noise - - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Largura da Banda - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - - - - - PORT - - - - - Filter frequency: - - - - - FREQ - FREQ - - - - Filter resonance: - - - - - RES - - - - - Bandwidth: - Largura da Banda: - - - - BW - LBnd - - - - FM gain: - - - - - FM GAIN - GANHO FM - - - - Resonance center frequency: - Frequência Central de Ressonância: - - - - RES CF - RES FC - - - - Resonance bandwidth: - Banda de Ressonância: - - - - RES BW - RES Bnd - - - - Forward MIDI control changes - - - - - Show GUI - Mostrar GUI - - - - AudioFileProcessor - - - Amplify - Amplificar - - - - Start of sample - Início da amostra - - - - End of sample - Fim da amostra - - - - Loopback point - - - - - Reverse sample - Amostra reversa - - - - Loop mode - Modo de loop - - - - Stutter - Gaguejar - - - - Interpolation mode - Modo de interpolação - - - - None - Nenhum - - - - Linear - Linear - - - - Sinc - - - - - Sample not found: %1 - - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - Desenhe sua própria forma de onda aqui utilizando seu mouse no gráfico. - - - - - Sine wave - Onda senoidal - - - - - Triangle wave - Onda triangular - - - - - Saw wave - Onda dente de serra - - - - - Square wave - Onda quadrada - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - Interpolation - Interpolação - - - - Normalize - Normalização - - - - DynProcControlDialog - - + INPUT - ENTRADA + - + Input gain: - Ganho de entrada: + - + OUTPUT - SAÍDA - - - - Output gain: - Ganho de saída: - - - - ATTACK - ATAQUE - - - - Peak attack time: - - - RELEASE - LANÇAMENTO - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - Modo estéreo: máximo - - - - Process based on the maximum of both stereo channels - Processo baseado no máximo de ambos canais estéreo - - - - Stereo mode: average - Modo estéreo: médio - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - Modo estéreo: desvinculado - - - - Process each stereo channel independently - Processo de cada canal estéreo independentemente - - - - DynProcControls - - - Input gain - Ganho de entrada - - - - Output gain - Ganho de saída - - - - Attack time - Tempo de ataque - - - - Release time - Tempo de lançamento - - - - Stereo mode - Modo Estéreo - - - - graphModel - - - Graph - Gráfico - - - - KickerInstrument - - - Start frequency - Frequência de partida - - - - End frequency - Frequência final - - - - Length - Comprimento - - - - Start distortion - - - - - End distortion - - - - - Gain - Ganho - - - - Envelope slope - - - - - Noise - Ruído - - - - Click - Clique - - - - Frequency slope - - - - - Start from note - - - - - End to note - - - - - KickerInstrumentView - - - Start frequency: - Frequência de partida: - - - - End frequency: - Frequência final: - - - - Frequency slope: - - - - - Gain: - Ganho: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Clique: - - - - Noise: - Ruído: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Efeitos Disponíveis - - - - - Unavailable Effects - Efeitos Indisponíveis - - - - - Instruments - Instrumentos - - - - - Analysis Tools - Ferramentas de Análise - - - - - Don't know - Sei lá.. - - - - Type: - Tipo: - - - - LadspaDescription - - - Plugins - Plugins - - - - Description - Descrição - - - - LadspaPortDialog - - - Ports - Portas - - - - Name - Nome - - - - Rate - Taxa - - - - Direction - Direção - - - - Type - Tipo - - - - Min < Default < Max - Min < Padrão < Máx - - - - Logarithmic - Logarítmico - - - - SR Dependent - Dependente de SR - - - - Audio - Áudio - - - - Control - Controle - - - - Input - Entradas - - - - Output - Saídas - - - - Toggled - Alternado - - - - Integer - Inteiro - - - - Float - Decimal - - - - - Yes - Sim - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF - Frequência de corte - - - - VCF Resonance - VCF - Ressonância - - - - VCF Envelope Mod - VCF - Modulação do Envelope - - - - VCF Envelope Decay - VCF - Decaimento do Envelope - - - - Distortion - Distorção - - - - Waveform - Forma de onda - - - - Slide Decay - Decaimento gradual - - - - Slide - Gradual - - - - Accent - Realce - - - - Dead - Morto - - - - 24dB/oct Filter - Filtro 24dB/oct - - - - Lb302SynthView - - - Cutoff Freq: - Freq Corte: - - - - Resonance: - Ressonância: - - - - Env Mod: - Mod Env: - - - - Decay: - Decaimento: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-es-que, 24dB/octave, filtro 3 pole - - - - Slide Decay: - Decaimento gradual: - - - - DIST: - - - - - Saw wave - Onda dente de serra - - - - Click here for a saw-wave. - Clique aqui para usar uma onda dente de serra. - - - - Triangle wave - Onda triangular - - - - Click here for a triangle-wave. - Clique aqui para usar uma onda triangular. - - - - Square wave - Onda quadrada - - - - Click here for a square-wave. - Clique aqui para usar uma onda quadrada. - - - - Rounded square wave - Onda quadrada arredondada - - - - Click here for a square-wave with a rounded end. - Clique aqui para usar uma onda quadrada arredondada. - - - - Moog wave - Onda Moog - - - - Click here for a moog-like wave. - Clique aqui para usar uma onda tipo moog. - - - - Sine wave - Onda senoidal - - - - Click for a sine-wave. - Clique aqui para usar uma onda senoidal. - - - - - White noise wave - Ruído branco - - - - Click here for an exponential wave. - Clique aqui para usar uma onda exponencial. - - - - Click here for white-noise. - Clique aqui para usar um ruído branco. - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - Dificuldade - - - - Position - Posição - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Modulador - - - - Crossfade - Transição - - - - LFO speed - LFO - Velocidade - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - Pressão - - - - Motion - Movimento - - - - Speed - Velocidade - - - - Bowed - De Arco - - - - Spread - Propagação - - - - Marimba - Marimba - - - - Vibraphone - Vibrafone - - - - Agogo - Agogo - - - - Wood 1 - - - - - Reso - Resso - - - - Wood 2 - - - - - Beats - Batidas - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - Taça - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Instrumento - - - - Spread - Propagação - - - - Spread: - Propagação: - - - - Missing files - Arquivos ausentes - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - - Hardness - Dificuldade - - - - Hardness: - Dificuldade: - - - - Position - Posição - - - - Position: - Posição: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Modulador - - - - Modulator: - Modulador: - - - - Crossfade - Transição - - - - Crossfade: - Transição: - - - - LFO speed - LFO - Velocidade - - - - LFO speed: - Velocidade do LFO: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - - - - - Pressure - Pressão - - - - Pressure: - Pressão: - - - - Speed - Velocidade - - - - Speed: - Velocidade: - - - - ManageVSTEffectView - - - - VST parameter control - - Controle de parâmetros de VST's - - - - VST sync - - - - - - Automated - Automatizado - - - - Close - Fechar - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - Controle de plugins VST - - - - VST Sync - Sincronização VST - - - - - Automated - Automatizado - - - - Close - Fechar - - - - OrganicInstrument - - - Distortion - Distorção - - - - Volume - Volume - - - - OrganicInstrumentView - - - Distortion: - Distorção: - - - - Volume: - Volume: - - - - Randomise - Aleatorizar - - - - - Osc %1 waveform: - Forma de Onda Osc %1: - - - - Osc %1 volume: - Volume Osc %1: - - - - Osc %1 panning: - Panorâmico Osc %1: - - - - Osc %1 stereo detuning - - - - - cents - centésimos - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - - - - - Bank selector - - - - - Bank - Banco - - - - Program selector - - - - - Patch - Programação - - - - Name - Nome - - - - OK - OK - - - - Cancel - Cancelar - - - - Sf2Instrument - - - Bank - Banco - - - - Patch - Programação - - - - Gain - Ganho - - - - Reverb - Reverberação - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - Chorus - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - - - - - Sf2InstrumentView - - - - Open SoundFont file - Abrir o arquivo SoundFont - - - - Choose patch - - - - - Gain: - Ganho: - - - - Apply reverb (if supported) - Aplicar reverberação (se suportado) - - - - Room size: - - - - - Damping: - - - - - Width: - Largura: - - - - - Level: - - - - - Apply chorus (if supported) - Aplicar chorus (se suportado) - - - - Voices: - - - - - Speed: - Velocidade: - - - - Depth: - Precisão: - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Largura: - - - - StereoEnhancerControls - - - Width - Largura - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Esq para Esq Vol: - - - - Left to Right Vol: - Esq para Dir Vol: - - - - Right to Left Vol: - Dir para Esq Vol: - - - - Right to Right Vol: - Dir para Dir Vol: - - - - StereoMatrixControls - - - Left to Left - Esq para Esq - - - - Left to Right - Esq para Dir - - - - Right to Left - Dir para Esq - - - - Right to Right - Dir para Dir - - - - VestigeInstrument - - - Loading plugin - Carregando plugin - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - Cordas %1 volume - - - - String %1 stiffness - Cordas %1 dureza - - - - Pick %1 position - Pegada %1 posição - - - - Pickup %1 position - Super Pegada %1 posição - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - Impulso %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - Dureza da corda: - - - - Pick position: - Escolher pinçada: - - - - Pickup position: - Posição do captador: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - Oitava - - - - Impulse Editor - Editor de Impulso - - - - Enable waveform - Habilitar forma de onda - - - - Enable/disable string - - - - - String - Corda - - - - - Sine wave - Onda senoidal - - - - - Triangle wave - Onda triangular - - - - - Saw wave - Onda dente de serra - - - - - Square wave - Onda quadrada - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - Voz %1 tamanho do pulso - - - - Voice %1 attack - Voz %1 ataque - - - - Voice %1 decay - Voz %1 decaimento - - - - Voice %1 sustain - Voz %1 sustentação - - - - Voice %1 release - Voz %1 relaxamento - - - - Voice %1 coarse detuning - Voz %1 ajuste bruto - - - - Voice %1 wave shape - Voz %1 forma da onda - - - - Voice %1 sync - Voz %1 sincronizada - - - - Voice %1 ring modulate - Voz %1 modulada em anel - - - - Voice %1 filtered - Voz %1 filtrada - - - - Voice %1 test - Voz %1 teste - - - - WaveShaperControlDialog - - - INPUT - ENTRADA - - - - Input gain: - Ganho de entrada: - - - - OUTPUT - SAÍDA - - - - Output gain: - Ganho de saída: - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Ganho de entrada + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Ganho de saída + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + Abrir janela de ajuda + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + Ruído branco + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/ru.ts b/data/locale/ru.ts index dee2b8482..5c3af4e83 100644 --- a/data/locale/ru.ts +++ b/data/locale/ru.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -63,8 +63,7 @@ If you're interested in translating LMMS in another language or want to imp Хотите перевести LMMS на другой язык или улучшить существующий перевод — всегда пожалуйста! Свяжитесь с командой переводчиков: https://www.transifex.com/lmms/teams/61632/ru/ https://matrix.to/#/#lmms.ru.team:matrix.org - -На русский язык переводили : +На русский язык переводили: Алексей Кузнецов (2006) Symbiants / OeAi (2014) @@ -82,811 +81,44 @@ Simple88 (2016) - AmplifierControlDialog + AboutJuceDialog - - VOL - ГРОМ - - - - Volume: - Громкость: - - - - PAN - БАЛАНС - - - - Panning: - Баланс: - - - - LEFT - СЛЕВА - - - - Left gain: - Усиление левого канала: - - - - RIGHT - СПРАВА - - - - Right gain: - Усиление правого канала: - - - - AmplifierControls - - - Volume - Громкость - - - - Panning - Баланс - - - - Left gain - Усиление (Л) - - - - Right gain - Усиление (П) - - - - AudioAlsaSetupWidget - - - DEVICE - УСТРОЙСТВО - - - - CHANNELS - КАНАЛЫ - - - - AudioFileProcessorView - - - Open sample - Открыть сэмпл - - - - Reverse sample - Развернуть сэмпл - - - - Disable loop - Отключить петлю - - - - Enable loop - Включить петлю - - - - Enable ping-pong loop - Включить петлю «вперёд-назад» - - - - Continue sample playback across notes - Продолжить воспроизведение сэмпла по нотам - - - - Amplify: - Усиление: - - - - Start point: - Начальная точка: - - - - End point: - Конечная точка: - - - - Loopback point: - Точка возврата петли: - - - - AudioFileProcessorWaveView - - - Sample length: - Длительность сэмпла: - - - - AudioJack - - - JACK client restarted - JACK-клиент перезапущен - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS не был подключен к JACK по какой-то причине, поэтому подключение LMMS к JACK было перезапущено. Вам придётся заново вручную создать соединения. - - - - JACK server down - JACK-сервер недоступен - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Возможно JACK-сервер был выключен и запуск нового процесса не удался, поэтому LMMS не может продолжить работу. Вам следует сохранить проект и перезапустить JACK и LMMS. - - - - Client name - Имя клиента - - - - Channels - Каналы - - - - AudioOss - - - Device - Устройство - - - - Channels - Каналы - - - - AudioPortAudio::setupWidget - - - Backend - Интерфейс - - - - Device - Устройство - - - - AudioPulseAudio - - - Device - Устройство - - - - Channels - Каналы - - - - AudioSdl::setupWidget - - - Device - Устройство - - - - AudioSndio - - - Device - Устройство - - - - Channels - Каналы - - - - AudioSoundIo::setupWidget - - - Backend - Интерфейс - - - - Device - Устройство - - - - AutomatableModel - - - &Reset (%1%2) - &Сбросить (%1%2) - - - - &Copy value (%1%2) - &Копировать значение (%1%2) - - - - &Paste value (%1%2) - &Вставить значение (%1%2) - - - - &Paste value - &Вставить значение - - - - Edit song-global automation - Изменить глобальную автоматизацию - - - - Remove song-global automation - Убрать глобальную автоматизацию - - - - Remove all linked controls - Убрать всё присоединенное управление - - - - Connected to %1 - Соединено с «%1» - - - - Connected to controller - Соединено с контроллером - - - - Edit connection... - Изменить соединение… - - - - Remove connection - Удалить соединение - - - - Connect to controller... - Соединить с контроллером... - - - - AutomationEditor - - - Edit Value + + About JUCE - - New outValue + + <b>About JUCE</b> - - New inValue + + This program uses JUCE version 3.x.x. - - Please open an automation clip with the context menu of a control! - Откройте редактор автоматизации через контекстное меню регулятора! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Игра/пауза текущей мелодии (Пробел) - - - - Stop playing of current clip (Space) - Остановить воспроизведение текущего паттерна (пробел) - - - - Edit actions - Панель правки - - - - Draw mode (Shift+D) - Режим рисования (Shift+D) - - - - Erase mode (Shift+E) - Режим стирания (Shift+E) - - - - Draw outValues mode (Shift+C) + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Flip vertically - Перевернуть вертикально - - - - Flip horizontally - Перевернуть горизонтально - - - - Interpolation controls - Управление интерполяцией - - - - Discrete progression - Дискретная прогрессия - - - - Linear progression - Линейная прогрессия - - - - Cubic Hermite progression - Кубическая Эрмитова прогрессия - - - - Tension value for spline - Жёсткость на изгибе - - - - Tension: - Жёсткость: - - - - Zoom controls - Управление приближением - - - - Horizontal zooming - Горизонтальное приближение - - - - Vertical zooming - Вертикальное приближение - - - - Quantization controls - Управление квантованием - - - - Quantization - Квантование - - - - - Automation Editor - no clip - Редактор автоматизации — без паттерна - - - - - Automation Editor - %1 - Редактор автоматизации — %1 - - - - Model is already connected to this clip. - Модель уже подключена к этому паттерну. - - - - AutomationClip - - - Drag a control while pressing <%1> - Перетащите элемент управления, удерживая <%1> - - - - AutomationClipView - - - Open in Automation editor - Открыть в редакторе автоматизации - - - - Clear - Очистить - - - - Reset name - Сбросить название - - - - Change name - Переименовать - - - - Set/clear record - Установить/очистить запись - - - - Flip Vertically (Visible) - Перевернуть вертикально (Видимое) - - - - Flip Horizontally (Visible) - Перевернуть горизонтально (Видимое) - - - - %1 Connections - Соединения %1 - - - - Disconnect "%1" - Отсоединить «%1» - - - - Model is already connected to this clip. - Модель уже подключена к этому паттерну. - - - - AutomationTrack - - - Automation track - Дорожка автоматизации - - - - PatternEditor - - - Beat+Bassline Editor - Ритм+Бас Композитор - - - - Play/pause current beat/bassline (Space) - Игра/пауза текущей линии ритма/баса (пробел) - - - - Stop playback of current beat/bassline (Space) - Остановить воспроизведение текущей линии ритм-баса (ПРОБЕЛ) - - - - Beat selector - Выбор бита - - - - Track and step actions - Действия для дорожки или такта - - - - Add beat/bassline - Добавить ритм/бас - - - - Clone beat/bassline clip + + This program uses JUCE version - - - Add sample-track - Добавить дорожку записи - - - - Add automation-track - Добавить дорожку автоматизации - - - - Remove steps - Убрать такты - - - - Add steps - Добавить такты - - - - Clone Steps - Клонировать такты - - PatternClipView + AudioDeviceSetupWidget - - Open in Beat+Bassline-Editor - Открыть в Композиторе-Ритм+Баса - - - - Reset name - Сбросить название - - - - Change name - Переименовать - - - - PatternTrack - - - Beat/Bassline %1 - Ритм/Бас Линия %1 - - - - Clone of %1 - Копия %1 - - - - BassBoosterControlDialog - - - FREQ - ЧАСТ - - - - Frequency: - Частота: - - - - GAIN - УСИЛ - - - - Gain: - Усиление: - - - - RATIO - ОТНОШ - - - - Ratio: - Отношение: - - - - BassBoosterControls - - - Frequency - Частота - - - - Gain - Усиление - - - - Ratio - Отношение - - - - BitcrushControlDialog - - - IN - ВХ - - - - OUT - ВЫХ - - - - - GAIN - УСИЛ - - - - Input gain: - Входная мощность: - - - - NOISE - ШУМ - - - - Input noise: - Входящий шум: - - - - Output gain: - Выходная мощность: - - - - CLIP - СРЕЗ - - - - Output clip: - Выходная обрезка: - - - - Rate enabled - Частота выборки включена - - - - Enable sample-rate crushing - Включить дробление частоты дискретизации - - - - Depth enabled - Глубина включена - - - - Enable bit-depth crushing - Включить дробление битовой глубины - - - - FREQ - ЧАСТ - - - - Sample rate: - Частота сэмплирования: - - - - STEREO - СТЕРЕО - - - - Stereo difference: - Стерео разница: - - - - QUANT - КВАНТ - - - - Levels: - Уровни: - - - - BitcrushControls - - - Input gain - Входная мощность - - - - Input noise - Входной шум - - - - Output gain - Выходная мощность - - - - Output clip - Выходная обрезка - - - - Sample rate - Частота сэмплирования - - - - Stereo difference - Разница стерео - - - - Levels - Уровни - - - - Rate enabled - Частота выборки включена - - - - Depth enabled - Глубина включена + + [System Default] + @@ -909,127 +141,127 @@ Simple88 (2016) Extended licensing here - + Расширенное лицензирование здесь - + Artwork Художественное оформление - + Using KDE Oxygen icon set, designed by Oxygen Team. Использует набор значков KDE Oxygen, созданный Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + Содержит некоторые регуляторы, фоны и другие небольшие иллюстрации из проектов Calf Studio Gear, OpenAV и OpenOctave. - + VST is a trademark of Steinberg Media Technologies GmbH. VST является торговой маркой Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + Отдельное спасибо Антониу Сараиве за несколько дополнительных иконок и иллюстраций! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + Логотип LV2 был разработан Торстеном Вильмсом на основе концепта Петера Шортозе. - + MIDI Keyboard designed by Thorsten Wilms. - - - - - Carla, Carla-Control and Patchbay icons designed by DoosC. - + MIDI-клавиатура, разработанная Торстеном Уилмсом. + Carla, Carla-Control and Patchbay icons designed by DoosC. + Иконки Carla, Carla-Control и Patchbay разработаны DoosC. + + + Features Возможности - + AU/AudioUnit: - + AU/AudioUnit: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel - + ТекстоваяМетка - + VST2: VST2: - + DSSI: DSSI: - + LV2: LV2: - + VST3: VST3: - - - OSC - - - - - Host URLs: - - - - - Valid commands: - - - valid osc commands here - + OSC + OSC - + + Host URLs: + Адреса хостов: + + + + Valid commands: + Допустимые команды: + + + + valid osc commands here + допустимые команды osc здесь + + + Example: Пример: - + License Лицензия - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1314,52 +546,52 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Версия OSC Bridge - + Plugin Version Версия плагина - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> <br>Версия %1<br>Carla — полнофункциональный хост аудио-плагинов%2.<br><br>Copyright © 2011–2019 falkTX<br> - - + + (Engine not running) (Движок не запущен) - + Everything! (Including LRDF) Всё! (Включая LRDF) - + Everything! (Including CustomData/Chunks) Всё! (Включая CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> Завершено около 110&#37; (с пользовательскими расширениями)<br/>Реализованные функции и расширения:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + Использование узла Juce - + About 85% complete (missing vst bank/presets and some minor stuff) - + Примерно на 85% (не хватает vst банка/пресетов и некоторых мелочей) @@ -1367,585 +599,622 @@ POSSIBILITY OF SUCH DAMAGES. MainWindow - + ГлавноеОкно Rack - + Стойка Patchbay - + Патчбэй Logs - + Журналы Loading... + Загрузка… + + + + Save - + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: Размер буфера: - + Sample Rate: - + Частота сэмплирования: - + ? Xruns - + DSP Load: %p% - + Загрузка DSP: %p% - + &File &Файл - + &Engine - + Движо&к - + &Plugin - + &Плагин - + Macros (all plugins) - + Макросы (все плагины) - + &Canvas - + &Холст - + Zoom - + Масштаб - + &Settings - + &Настройки - + &Help &Справка - - toolBar + + Tool Bar - + Disk - + Диск - - + + Home Home - + Transport - + Playback Controls - + Элементы управления воспроизведением - + Time Information - + Информации о времени - + Frame: - + Кадр: - + 000'000'000 - + 000'000'000 - + Time: Время: - + 00:00:00 00:00:00 - + BBT: - + 000|00|0000 000|00|0000 - + Settings Настройки - + BPM - + BPM - + Use JACK Transport - + Использовать транспорт JACK - + Use Ableton Link - + Использовать Ableton Link - + &New &Создать - + Ctrl+N Ctrl+N - + &Open... &Открыть... - - + + Open... Открыть… - + Ctrl+O Ctrl+O - + &Save Со&хранить - + Ctrl+S Ctrl+S - + Save &As... Сохранить &как... - - + + Save As... Сохранить как… - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit &Выход - + Ctrl+Q Ctrl+Q - + &Start - + &Начать - + F5 F5 - + St&op - + Ст&оп - + F6 F6 - + &Add Plugin... - + &Добавить плагин… - + Ctrl+A Ctrl+A - + &Remove All - + &Удалить все - + Enable Включить - + Disable Отключить - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) 0% громкости (приглушить) - + 100% Volume 100% громкости - + Center Balance - + Центрировать баланс - + &Play - + &Играть - + Ctrl+Shift+P Ctrl+Shift+P - + &Stop - + &Стоп - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards - + &Назад - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards - + &Вперёд - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange - + Ра&сположить - + Ctrl+G Ctrl+G - - + + &Refresh - + &Обновить - + Ctrl+R Ctrl+R - + Save &Image... - + Сохранить &изображение… - + Auto-Fit Вписать - + Zoom In Увеличить - + Ctrl++ Ctrl++ - + Zoom Out Уменьшить - + Ctrl+- Ctrl+- - + Zoom 100% Исходный размер - + Ctrl+1 Ctrl+1 - + Show &Toolbar - + Показать панель инструментов - + &Configure Carla - + &Настроить Carla - + &About &О программе - + About &JUCE О &JUCE - + About &Qt О &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Показать внутренний - + Show External - + Показать внешний - + Show Time Panel - + Показать панель времени - + Show &Side Panel + Показать боковую панель + + + + Ctrl+P - + &Connect... - + &Подключить… - + Compact Slots - + Компактные слоты - + Expand Slots - + Развернуть слоты - + Perform secret 1 - + Выполнить секрет 1 - + Perform secret 2 - + Выполнить секрет 2 - + Perform secret 3 - + Выполнить секрет 3 - + Perform secret 4 - + Выполнить секрет 4 - + Perform secret 5 - + Выполнить секрет 5 - + Add &JACK Application... - + Добавить приложение JACK - + &Configure driver... - + &Настроить драйвер... - + Panic + Паника + + + + Open custom driver panel... + Открыть панель пользовательского драйвера… + + + + Save Image... (2x zoom) - - Open custom driver panel... + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C CarlaHostWindow - + Export as... Экспортировать как… - - - - + + + + Error Ошибка - + Failed to load project Не удалось загрузить проект - + Failed to save project Не удалось сохранить проект - + Quit Покинуть - + Are you sure you want to quit Carla? Закрыть Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning Предупреждение - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? Имеются загруженные плагины. Нужно удалить их, чтобы остановить движок. Сделать это сейчас? - - CarlaInstrumentView - - - Show GUI - Показать интерфейс - - CarlaSettingsW @@ -1956,12 +1225,12 @@ Do you want to do this now? main - + главное canvas - + холст @@ -1976,55 +1245,55 @@ Do you want to do this now? file-paths - + пути-файлов plugin-paths - + пути-плагинов wine - + wine experimental - + экспериментально Widget - + Виджет - + Main - + Главное - + Canvas - + Холсты - + Engine Движок File Paths - + Пути файлов Plugin Paths - + Пути плагинов @@ -2033,1487 +1302,590 @@ Do you want to do this now? - + Experimental - + Экспериментально - + <b>Main</b> - + <b>Главное</b> - + Paths Пути - + Default project folder: - + Стандартная папка проекта: - + Interface Интерфейс - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Интервал обновления интерфейса: - - + + ms мс - + Show console output in Logs tab (needs engine restart) - + Показывать вывод консоли на вкладке "Журналы" (требуется перезапуск движка) - + Show a confirmation dialog before quitting - + Показать окно подтверждения перед выходом - - + + Theme Тема - + Use Carla "PRO" theme (needs restart) Использовать тему Carla “PRO” (требуется перезагрузка) - + Color scheme: Цветовая схема: - + Black Чёрная - + System Системная - + Enable experimental features Включить экспериментальные функции - + <b>Canvas</b> - + <b>Холст</b> - + Bezier Lines - + Кривые Безье - + Theme: Тема: - + Size: Размер: - + 775x600 775×600 - + 1550x1200 1550×1200 - + 3100x2400 3100×2400 - + 4650x3600 4650×3600 - + 6200x4800 6200×4800 - + + 12400x9600 + + + + Options Опции - + Auto-hide groups with no ports - + Автоматическое скрытие групп без портов - + Auto-select items on hover - + Автоматический выбор элементов при наведении - + Basic eye-candy (group shadows) - + Render Hints - + Подсказки по рендерингу - + Anti-Aliasing Сглаживание - + Full canvas repaints (slower, but prevents drawing issues) - + Полная перерисовка холста (медленно, но предотвращает проблемы с рисованием) - + <b>Engine</b> <b>Движок</b> - - + + Core Ядро - + Single Client - + Один клиент - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Патчбэй - + Audio driver: Звуковой драйвер: - + Process mode: Режим обработки: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Максимальное количество параметров, разрешенных во встроенном диалоге 'Редактировать' - + Max Parameters: - + Макс. параметров: - + ... - + Reset Xrun counter after project load - + Сбрасывать счётчик Xrun после загрузки проекта - + Plugin UIs - + Оболочки плагинов - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings Перезапустите движок, чтобы загрузить новые настройки - + <b>OSC</b> - + Enable OSC - + Включить OSC - + Enable TCP port Включить порт TCP - - + + Use specific port: Использовать указанный порт: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port Включить порт UDP - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + <b>Пути файлов</b> - + Audio Аудио - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... Добавить… - - + + Remove Удалить - - + + Change... Изменить… - + <b>Plugin Paths</b> - + <b>Пути плагинов</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins Перезапустите Carla, чтобы найти новые плагины - + <b>Wine</b> - + <b>Wine</b> - + Executable - + Исполняемый - + Path to 'wine' binary: - + Prefix - + Префикс - + Auto-detect Wine prefix based on plugin filename - + Автоматически определять префикс Wine на основе имени файла плагина - + Fallback: - + Запасной: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Приоритет в реальном времени - + Base priority: - + Базовый приоритет: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + <b>Экспериментально</b> - + Experimental options! Likely to be unstable! - + Экспериментальные возможности! Скорее всего, будут нестабильными! - + Enable plugin bridges - + Включить мосты для плагина - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 + Экспорт отдельных плагинов в LV2 + + + + Use system/desktop-theme icons (needs restart) - + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Модное (затухания/появления групп, светящиеся подключения) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Высококачественное сглаживание (только OpenGL) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Принудительное преобразование монофонических плагинов в стереофонические путем одновременного запуска двух экземпляров. +Этот режим недоступен для VST-плагинов. - + Force mono plugins as stereo + Принудительное преобразование моно плагинов в стерео + + + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Prevent plugins from doing bad stuff (needs restart) + + Prevent unsafe calls from plugins (needs restart) - - Whenever possible, run the plugins in bridge mode. + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. - + Run plugins in bridge mode when possible - + По возможности запускать плагины в режиме моста - - - - + + + + Add Path Добавить путь - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Отношение: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Атака: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Затухание: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Удержание: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Выходное усиление - - - - - Gain - Усиление - - - - Output volume - - - - - Input gain - Входное усиление - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Отношение - - - - Attack - Атака - - - - Release - Затухание - - - - Knee - - - - - Hold - Удержание - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Выходная мощность - - - - Input Gain - Входная мощность - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Возврат - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Микс - - - - Controller - - - Controller %1 - Контроллер %1 - - - - ControllerConnectionDialog - - - Connection Settings - Параметры соединения - - - - MIDI CONTROLLER - MIDI-КОНТРОЛЛЕР - - - - Input channel - Канал ввода - - - - CHANNEL - КАНАЛ - - - - Input controller - Контроллер ввода - - - - CONTROLLER - КОНТРОЛЛЕР - - - - - Auto Detect - Автоопределение - - - - MIDI-devices to receive MIDI-events from - Устройства MIDI для приёма событий - - - - USER CONTROLLER - ПОЛЬЗ. КОНТРОЛЛЕР - - - - MAPPING FUNCTION - ЗАДАТЬ ФУНКЦИЮ - - - - OK - ОК - - - - Cancel - Отмена - - - - LMMS - LMMS - - - - Cycle Detected. - Обнаружен цикл. - - - - ControllerRackView - - - Controller Rack - Стойка контроллеров - - - - Add - Добавить - - - - Confirm Delete - Подтвердить удаление - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Подтверждаете удаление? Есть возможные соединения с этим контроллером, возврата не будет. - - - - ControllerView - - - Controls - Контроль - - - - Rename controller - Переименовать контроллер - - - - Enter the new name for this controller - Введите новое название для контроллера - - - - LFO - LFO - - - - &Remove this controller - &Убрать этот контроллер - - - - Re&name this controller - Пере&именовать этот контроллер - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Пересечение 1/2 Полосы: - - - - Band 2/3 crossover: - Пересечение 2/3 Полосы: - - - - Band 3/4 crossover: - Пересечение 3/4 Полосы: - - - - Band 1 gain - Полоса 1 усиление - - - - Band 1 gain: - Полоса 1 усиление: - - - - Band 2 gain - Полоса 2 усиление - - - - Band 2 gain: - Полоса 2 усиление: - - - - Band 3 gain - Полоса 3 усиление - - - - Band 3 gain: - Полоса 3 усиление: - - - - Band 4 gain - Полоса 4 усиление - - - - Band 4 gain: - Полоса 4 усиление: - - - - Band 1 mute - Полоса 1 заглушена - - - - Mute band 1 - Заглушить полосу 1 - - - - Band 2 mute - Полоса 2 заглушена - - - - Mute band 2 - Заглушить полосу 2 - - - - Band 3 mute - Полоса 3 заглушена - - - - Mute band 3 - Заглушить полосу 3 - - - - Band 4 mute - Полоса 4 заглушена - - - - Mute band 4 - Заглушить полосу 4 - - - - DelayControls - - - Delay samples - Задержка сэмплов - - - - Feedback - Возврат - - - - LFO frequency - Частота LFO - - - - LFO amount - Объём LFO - - - - Output gain - Выходная мощность - - - - DelayControlsDialog - - - DELAY - ЗАДЕРЖ - - - - Delay time - Время задержки - - - - FDBK - ВОЗВ - - - - Feedback amount - Уровень возврата - - - - RATE - ЧАСТ - - - - LFO frequency - Частота LFO - - - - AMNT - ГЛУБ - - - - LFO amount - Объём LFO - - - - Out gain - Усиление на выходе - - - - Gain - Усиление - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - Не реализованные функции отмечены серым цветом - - - - Application - Приложение - - - - Name: - Название: - - - - Application: - Приложение: - - - - From template - Из шаблона - - - - Custom - Настраиваемый - - - - Template: - Шаблон: - - - - Command: - Команда: - - - - Setup - Настройка - - - - Session Manager: - - - - - None - Нет - - - - Audio inputs: - Звуковые входы: - - - - MIDI inputs: - Входы MIDI: - - - - Audio outputs: - Звуковые выходы: - - - - MIDI outputs: - Выходы MIDI: - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3522,7 +1894,7 @@ This mode is not available for VST plugins. Remote setup - + Удалённая настройка @@ -3539,28 +1911,6 @@ This mode is not available for VST plugins. TCP Port: Порт TCP: - - - Reported host - - - - - Automatic - Автоматически - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - В некоторых сетях (например, USB-соединения) удалённая система не может связаться с локальной сетью. Здесь можно указать, к какому хосту или IP подключать удалённую Carla. -Если не уверены, оставьте «Автоматически». - Set value @@ -3569,7 +1919,7 @@ If you are unsure, leave it as 'Automatic'. TextLabel - + ТекстоваяМетка @@ -3615,948 +1965,6 @@ If you are unsure, leave it as 'Automatic'. Перезапустите движок, чтобы загрузить новые настройки - - DualFilterControlDialog - - - - FREQ - ЧАСТ - - - - - Cutoff frequency - Частота среза - - - - - RESO - RESO - - - - - Resonance - Резонанс - - - - - GAIN - УСИЛ - - - - - Gain - Усиление - - - - MIX - МИКС - - - - Mix - Микс - - - - Filter 1 enabled - Фильтр 1 включен - - - - Filter 2 enabled - Фильтр 2 включен - - - - Enable/disable filter 1 - Вкл/Выкл фильтр 1 - - - - Enable/disable filter 2 - Вкл/Выкл фильтр 2 - - - - DualFilterControls - - - Filter 1 enabled - Фильтр 1 включен - - - - Filter 1 type - Фильтр 1 тип - - - - Cutoff frequency 1 - Частота среза 1 - - - - Q/Resonance 1 - Q/Резонанс 1 - - - - Gain 1 - Усиление 1 - - - - Mix - Микс - - - - Filter 2 enabled - Фильтр 2 включен - - - - Filter 2 type - Фильтр 2 тип - - - - Cutoff frequency 2 - Частота среза 2 - - - - Q/Resonance 2 - Q/Резонанс 2 - - - - Gain 2 - Усиление 2 - - - - - Low-pass - Пропуск низких - - - - - Hi-pass - Пропуск высоких - - - - - Band-pass csg - Полосовой csg - - - - - Band-pass czpg - Полосовой czpg - - - - - Notch - Полосно-заграждающий - - - - - All-pass - Фазовый - - - - - Moog - Муг - - - - - 2x Low-pass - 2x ФНЧ - - - - - RC Low-pass 12 dB/oct - RC ФНЧ 12дБ/окт - - - - - RC Band-pass 12 dB/oct - RC полосовой 12 дБ/окт - - - - - RC High-pass 12 dB/oct - RC ФВЧ 12 дБ/окт - - - - - RC Low-pass 24 dB/oct - RC ФНЧ 24 дБ/окт - - - - - RC Band-pass 24 dB/oct - RC полосовой 24 дБ/окт - - - - - RC High-pass 24 dB/oct - RC ФВЧ 24 дБ/окт - - - - - Vocal Formant - Формантный - - - - - 2x Moog - 2x Муг - - - - - SV Low-pass - SV нижних частот - - - - - SV Band-pass - SV полосовой - - - - - SV High-pass - SV верхних частот - - - - - SV Notch - SV режекторный (полосно-заграждающий) - - - - - Fast Formant - Быстрый формантный - - - - - Tripole - Трёхполюсный - - - - Editor - - - Transport controls - Управление транспортом - - - - Play (Space) - Игра (Пробел) - - - - Stop (Space) - Стоп (Пробел) - - - - Record - Запись - - - - Record while playing - Запись при игре - - - - Toggle Step Recording - Вкл пошаговую запись - - - - Effect - - - Effect enabled - Эффект включён - - - - Wet/Dry mix - Микс чистый/обраб звук - - - - Gate - Порог - - - - Decay - Спад - - - - EffectChain - - - Effects enabled - Эффекты включены - - - - EffectRackView - - - EFFECTS CHAIN - ЦЕПЬ ЭФФЕКТОВ - - - - Add effect - Добавить эффект - - - - EffectSelectDialog - - - Add effect - Добавить эффект - - - - - Name - Имя - - - - Type - Тип - - - - Description - Описание - - - - Author - Автор - - - - EffectView - - - On/Off - Вкл/Выкл - - - - W/D - МИКС - - - - Wet Level: - Уровень обработанного звука: - - - - DECAY - СПАД - - - - Time: - Время: - - - - GATE - ПОРОГ - - - - Gate: - Порог: - - - - Controls - Контроль - - - - Move &up - Переместить &выше - - - - Move &down - Переместить &ниже - - - - &Remove this plugin - &Убрать фильтр - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Огиб предзадержка - - - - Env attack - Атака огиб. - - - - Env hold - Удержание огиб. - - - - Env decay - Спад огиб. - - - - Env sustain - Выдержка огиб. - - - - Env release - Затухание огиб. - - - - Env mod amount - Объём мод огиба - - - - LFO pre-delay - LFO предзадержка - - - - LFO attack - Атака LFO - - - - LFO frequency - Частота LFO - - - - LFO mod amount - Глубина мод LFO - - - - LFO wave shape - Форма LFO волны - - - - LFO frequency x 100 - Частота x 100 LFO - - - - Modulate env amount - Модулировать уровень огибающей - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - Предзадержка: - - - - - ATT - ATT - - - - - Attack: - Атака: - - - - HOLD - УДЕРЖ - - - - Hold: - Удержание: - - - - DEC - DEC - - - - Decay: - Спад: - - - - SUST - SUST - - - - Sustain: - Выдержка: - - - - REL - REL - - - - Release: - Затухание: - - - - - AMT - AMT - - - - - Modulation amount: - Глубина модуляции: - - - - SPD - СКРСТ - - - - Frequency: - Частота: - - - - FREQ x 100 - ЧАСТ x 100 - - - - Multiply LFO frequency by 100 - Умножить частоту LFO на 100 - - - - MODULATE ENV AMOUNT - МОДУЛИР УР ОГИБАЮЩ - - - - Control envelope amount by this LFO - Управлять объёмом огибающей через этот LFO - - - - ms/LFO: - мс/LFO: - - - - Hint - Подсказка - - - - Drag and drop a sample into this window. - Перетащить сэмпл в это окно. - - - - EqControls - - - Input gain - Входная мощность - - - - Output gain - Выходная мощность - - - - Low-shelf gain - Усиление уровня низких - - - - Peak 1 gain - Пик 1 усиление - - - - Peak 2 gain - Пик 2 усиление - - - - Peak 3 gain - Пик 3 усиление - - - - Peak 4 gain - Пик 4 усиление - - - - High-shelf gain - Усиление уровня высоких - - - - HP res - ВЧ резон - - - - Low-shelf res - Резо уровня низких - - - - Peak 1 BW - Пик 1 ДИАП - - - - Peak 2 BW - Пик 2 ДИАП - - - - Peak 3 BW - Пик 3 ДИАП - - - - Peak 4 BW - Пик 4 ДИАП - - - - High-shelf res - Резо уровня высоких - - - - LP res - НЧ резо - - - - HP freq - ВЧ част - - - - Low-shelf freq - Уровень низких част - - - - Peak 1 freq - Пик 1 част - - - - Peak 2 freq - Пик 2 част - - - - Peak 3 freq - Пик 3 част - - - - Peak 4 freq - Пик 4 част - - - - High-shelf freq - Уровень высоких част - - - - LP freq - НЧ част - - - - HP active - ВЧ активна - - - - Low-shelf active - Уровень низких активен - - - - Peak 1 active - Пик 1 активен - - - - Peak 2 active - Пик 2 активен - - - - Peak 3 active - Пик 3 активен - - - - Peak 4 active - Пик 4 активен - - - - High-shelf active - Уровень высоких активен - - - - LP active - НЧ активна - - - - LP 12 - НЧ 12 - - - - LP 24 - НЧ 24 - - - - LP 48 - НЧ 48 - - - - HP 12 - ВЧ 12 - - - - HP 24 - ВЧ 24 - - - - HP 48 - ВЧ 48 - - - - Low-pass type - Тип прохождения низких (LP) - - - - High-pass type - Тип прохождения высоких (HP) - - - - Analyse IN - Анализировать ВХОД - - - - Analyse OUT - Анализировать ВЫХОД - - - - EqControlsDialog - - - HP - ВЧ - - - - Low-shelf - Уровень низких - - - - Peak 1 - Пик 1 - - - - Peak 2 - Пик 2 - - - - Peak 3 - Пик 3 - - - - Peak 4 - Пик 4 - - - - High-shelf - Уровень высоких - - - - LP - НЧ - - - - Input gain - Входная мощность - - - - - - Gain - Усиление - - - - Output gain - Выходная мощность - - - - Bandwidth: - Полоса пропускания: - - - - Octave - Октава - - - - Resonance : - Резонанс: - - - - Frequency: - Частота: - - - - LP group - Группа НЧ (LoPass) - - - - HP group - Группа ВЧ (HiPass) - - - - EqHandle - - - Reso: - Резон: - - - - BW: - ДИАП: - - - - - Freq: - Част: - - ExportProjectDialog @@ -4740,2125 +2148,652 @@ If you are unsure, leave it as 'Automatic'. Sinc лучший (медленно) - - Oversampling: - Сверхсэмплирование: - - - - 1x (None) - 1х (Нет) - - - - 2x - - - - - 4x - - - - - 8x - - - - + Start Начать - + Cancel Отмена - - - Could not open file - Не могу открыть файл - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Невозможно открыть файл %1 для записи. Пожалуйста, убедитесь, что у вас есть разрешение на запись в файл и содержащую его директорию, и попробуйте снова. - - - - Export project to %1 - Экспорт проекта в %1 - - - - ( Fastest - biggest ) - (Быстрее - больше) - - - - ( Slowest - smallest ) - (Медленнее - меньше) - - - - Error - Ошибка - - - - Error while determining file-encoder device. Please try to choose a different output format. - Ошибка при определении кодека файла. Попробуйте выбрать другой формат вывода. - - - - Rendering: %1% - Обработка: %1% - - - - Fader - - - Set value - Установить значение - - - - Please enter a new value between %1 and %2: - Введите новое значение от %1 до %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Обозреватель файлов - - - - Search - Поиск - - - - Refresh list - Обновить список - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Отправить на активную инструментальную-дорожку - - - - Open containing folder - - - - - Song Editor - Композитор - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Загрузка сэмпла - - - - Please wait, loading sample for preview... - Ждите, сэмпл загружается для просмотра... - - - - Error - Ошибка - - - - %1 does not appear to be a valid %2 file - %1 не похож на правильный %2 файл - - - - --- Factory files --- - --- Заводские файлы --- - - - - FlangerControls - - - Delay samples - Задержка сэмплов - - - - LFO frequency - Частота LFO - - - - Seconds - Секунды - - - - Stereo phase - - - - - Regen - Восстан - - - - Noise - Шум - - - - Invert - Инвертировать - - - - FlangerControlsDialog - - - DELAY - Задержка - - - - Delay time: - Время дилэя: - - - - RATE - ЧАСТ - - - - Period: - Период: - - - - AMNT - ГЛУБ - - - - Amount: - Величина: - - - - PHASE - - - - - Phase: - - - - - FDBK - ВОЗВ - - - - Feedback amount: - Уровень возврата: - - - - NOISE - ШУМ - - - - White noise amount: - Уровень белого шума: - - - - Invert - Инвертировать - - - - FreeBoyInstrument - - - Sweep time - Время колебаний - - - - Sweep direction - Направление колебаний - - - - Sweep rate shift amount - Величина сдвига частоты колебаний - - - - - Wave pattern duty cycle - Рабочий цикл волны - - - - Channel 1 volume - Громкость 1 канала - - - - - - Volume sweep direction - Объём направления колебаний - - - - - - Length of each step in sweep - Длина каждого такта колебаний - - - - Channel 2 volume - Громкость 2 канала - - - - Channel 3 volume - Громкость 3 канала - - - - Channel 4 volume - Громкость 4 канала - - - - Shift Register width - Сдвиг ширины регистра - - - - Right output level - Правый выходной уровень - - - - Left output level - Левый уровень выхода - - - - Channel 1 to SO2 (Left) - Канал 1 к SO2 (Слева) - - - - Channel 2 to SO2 (Left) - Канал 2 к SO2 (Слева) - - - - Channel 3 to SO2 (Left) - Канал 3 к SO2 (Слева) - - - - Channel 4 to SO2 (Left) - Канал 4 к SO2 (Слева) - - - - Channel 1 to SO1 (Right) - Канал 1 к SO1 (Справа) - - - - Channel 2 to SO1 (Right) - Канал 2 к SO1 (Справа) - - - - Channel 3 to SO1 (Right) - Канал 3 к SO1 (Справа) - - - - Channel 4 to SO1 (Right) - Канал 4 к SO1 (Справа) - - - - Treble - Верхние - - - - Bass - Нижние - - - - FreeBoyInstrumentView - - - Sweep time: - Время колебаний: - - - - Sweep time - Время колебаний - - - - Sweep rate shift amount: - Величина сдвига частоты колебаний: - - - - Sweep rate shift amount - Величина сдвига частоты колебаний - - - - - Wave pattern duty cycle: - Рабочий цикл волны: - - - - - Wave pattern duty cycle - Рабочий цикл волны - - - - Square channel 1 volume: - Квадрат канал 1 громкость: - - - - Square channel 1 volume - Квадрат канал 1 громкость - - - - - - Length of each step in sweep: - Длина каждого такта колебаний: - - - - - - Length of each step in sweep - Длина каждого такта колебаний - - - - Square channel 2 volume: - Квадрат канал 2 громкость: - - - - Square channel 2 volume - Квадрат канал 2 громкость - - - - Wave pattern channel volume: - Громкость канала шаблонной волны: - - - - Wave pattern channel volume - Громкость канала шаблонной волны - - - - Noise channel volume: - Громкость канала помех: - - - - Noise channel volume - Громкость канала помех - - - - SO1 volume (Right): - Громкость SO1 (Справа): - - - - SO1 volume (Right) - Громкость SO1 (Справа) - - - - SO2 volume (Left): - Громкость SO2 (Слева): - - - - SO2 volume (Left) - Громкость SO2 (Слева): - - - - Treble: - Верхние: - - - - Treble - Верхние - - - - Bass: - Нижние: - - - - Bass - Нижние - - - - Sweep direction - Направление колебаний - - - - - - - - Volume sweep direction - Объём направления колебаний - - - - Shift register width - Сместить ширину регистра - - - - Channel 1 to SO1 (Right) - Канал 1 к SO1 (Справа) - - - - Channel 2 to SO1 (Right) - Канал 2 к SO1 (Справа) - - - - Channel 3 to SO1 (Right) - Канал 3 к SO1 (Справа) - - - - Channel 4 to SO1 (Right) - Канал 4 к SO1 (Справа) - - - - Channel 1 to SO2 (Left) - Канал 1 к SO2 (Слева) - - - - Channel 2 to SO2 (Left) - Канал 2 к SO2 (Слева) - - - - Channel 3 to SO2 (Left) - Канал 3 к SO2 (Слева) - - - - Channel 4 to SO2 (Left) - Канал 4 к SO2 (Слева) - - - - Wave pattern graph - Рисунок волны - - - - MixerChannelView - - - Channel send amount - Величина отправки канала - - - - Move &left - Подвинуть в&лево - - - - Move &right - Подвинуть в&право - - - - Rename &channel - Пере&именовать канал - - - - R&emove channel - &Удалить канал - - - - Remove &unused channels - Удалить &неиспользуемые каналы - - - - Set channel color - Установить цвет канала - - - - Remove channel color - Удалить цвет канала - - - - Pick random channel color - Выбрать случайный цвет канала - - - - MixerChannelLcdSpinBox - - - Assign to: - Назначить на: - - - - New mixer Channel - Новый канал ЭФ - - - - Mixer - - - Master - Главный - - - - - - Channel %1 - ЭФ %1 - - - - Volume - Громкость - - - - Mute - Тихо - - - - Solo - Соло - - - - MixerView - - - Mixer - Микшер Эффектов - - - - Fader %1 - Регулятор ЭФ %1 - - - - Mute - Заглушить - - - - Mute this mixer channel - Заглушить этот канал ЭФ - - - - Solo - Соло - - - - Solo mixer channel - Соло канал ЭФ - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Величина отправки с канала %1 на канал %2 - - - - GigInstrument - - - Bank - Банк - - - - Patch - Патч - - - - Gain - Усиление - - - - GigInstrumentView - - - - Open GIG file - Открыть GIG файл - - - - Choose patch - Выбрать патч - - - - Gain: - Усиление: - - - - GIG Files (*.gig) - GIG Файлы (*.gig) - - - - GuiApplication - - - Working directory - Рабочий каталог - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Рабочий каталог LMMS (%1) не существует. Создать его? Позже вы сможете сменить его через Правка -> Параметры. - - - - Preparing UI - Подготовка UI - - - - Preparing song editor - Подготовка композитора - - - - Preparing mixer - Подготовка микшера - - - - Preparing controller rack - Подготовка стойки управления - - - - Preparing project notes - Подготовка заметок проекта - - - - Preparing beat/bassline editor - Подготовка Ритм+Бас композитора - - - - Preparing piano roll - Подготовка редактора нот - - - - Preparing automation editor - Подготовка редактора автоматизации - - - - InstrumentFunctionArpeggio - - - Arpeggio - Арпеджио - - - - Arpeggio type - Тип арпеджио - - - - Arpeggio range - Диапазон арпеджио - - - - Note repeats - - - - - Cycle steps - Шагов в цикле - - - - Skip rate - Частота пропуска - - - - Miss rate - Частость обхода - - - - Arpeggio time - Период арпеджио - - - - Arpeggio gate - Шлюз арпеджио - - - - Arpeggio direction - Направление арпеджио - - - - Arpeggio mode - Режим арпеджио - - - - Up - Вверх - - - - Down - Вниз - - - - Up and down - Вверх и вниз - - - - Down and up - Вниз и вверх - - - - Random - Случайно - - - - Free - Свободно - - - - Sort - Упорядочить - - - - Sync - Синхронизировать - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - RANGE - - - - Arpeggio range: - Диапазон арпеджио: - - - - octave(s) - Октав[а/ы] - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - ЦИКЛ - - - - Cycle notes: - Нот в цикле: - - - - note(s) - нота(ы) - - - - SKIP - ПРОПУСК - - - - Skip rate: - Частота пропуска: - - - - - - % - % - - - - MISS - MISS - - - - Miss rate: - Частость обхода: - - - - TIME - ВРЕМЯ - - - - Arpeggio time: - Период арпеджио: - - - - ms - мс - - - - GATE - GATE - - - - Arpeggio gate: - Шлюз арпеджио: - - - - Chord: - Аккорд: - - - - Direction: - Направление: - - - - Mode: - Режим: - InstrumentFunctionNoteStacking - + octave Октава - - + + Major Мажорный - + Majb5 Majb5 - + minor минорный - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Гармонический минор - + Melodic minor Мелодический минор - + Whole tone Целый тон - + Diminished Пониженный - + Major pentatonic Мажорная пентатоника - + Minor pentatonic Минорная пентатоника - + Jap in sen Японский лад Ин Сен - + Major bebop Мажор бибоп - + Dominant bebop Бибоп доминанта - + Blues Блюз - + Arabic Арабский - + Enigmatic Загадочный - + Neopolitan Неополитанский - + Neopolitan minor Неополитанский минор - + Hungarian minor Венгерский минор - + Dorian Дорийский лад - + Phrygian Фригийский лад - + Lydian Лидийский лад - + Mixolydian Миксолидийский лад - + Aeolian Эолийский лад - + Locrian Локрийский лад - + Minor Минор - + Chromatic Хроматический - + Half-Whole Diminished Вполовину уменьшенный - + 5 5 - + Phrygian dominant Фригийская доминанта - + Persian Персидский - - - Chords - Аккорды - - - - Chord type - Тип аккорда - - - - Chord range - Диапазон аккорда - - - - InstrumentFunctionNoteStackingView - - - STACKING - СКЛАДЫВ. - - - - Chord: - Аккорд: - - - - RANGE - ДИАП - - - - Chord range: - Диапазон аккорда: - - - - octave(s) - Октав[а/ы] - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - ВКЛ MIDI ВВОД - - - - ENABLE MIDI OUTPUT - ВКЛ MIDI ВЫВОД - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - НОТА - - - - MIDI devices to receive MIDI events from - MIDI-устройства — источники событий - - - - MIDI devices to send MIDI events to - MIDI-устройства для отправки событий на них - - - - CUSTOM BASE VELOCITY - ПРОИЗВОЛЬНАЯ БАЗОВАЯ СКОРОСТЬ - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Указать нормализацию базовой силы нажатия MIDI-инструментов на 100% силы нажатия. - - - - BASE VELOCITY - БАЗОВ. СКОРОСТЬ - - - - InstrumentTuningView - - - MASTER PITCH - ОСНОВНОЙ ТОН - - - - Enables the use of master pitch - Использовать основной тон - InstrumentSoundShaping - + VOLUME ГРОМКОСТЬ - + Volume Громкость - + CUTOFF CUTOFF - - + Cutoff frequency Срез частоты - + RESO РЕЗО - + Resonance Резонанс - - - Envelopes/LFOs - Огибание/LFO - - - - Filter type - Тип фильтра - - - - Q/Resonance - Ур/Резонанса - - - - Low-pass - Уровень низких - - - - Hi-pass - Уровень высоких - - - - Band-pass csg - Полосовой csg - - - - Band-pass czpg - Полосовой czpg - - - - Notch - Notch (вырез) - - - - All-pass - Пропускать все - - - - Moog - Муг - - - - 2x Low-pass - 2x ФНЧ - - - - RC Low-pass 12 dB/oct - RC ФНЧ 12дБ/окт - - - - RC Band-pass 12 dB/oct - RC полосовой 12 дБ/окт - - - - RC High-pass 12 dB/oct - RC ФВЧ 12 дБ/окт - - - - RC Low-pass 24 dB/oct - RC ФНЧ 24 дБ/окт - - - - RC Band-pass 24 dB/oct - RC полосовой 24 дБ/окт - - - - RC High-pass 24 dB/oct - RC ФВЧ 24 дБ/окт - - - - Vocal Formant - Формантный - - - - 2x Moog - 2x Муг - - - - SV Low-pass - SV нижних частот - - - - SV Band-pass - SV полосовой - - - - SV High-pass - SV верхних частот - - - - SV Notch - SV Notch (вырез) - - - - Fast Formant - Быстрый формантный - - - - Tripole - Трёхполюсный - - InstrumentSoundShapingView + JackAppDialog - - TARGET - РАЗМЕТКА - - - - FILTER - ФИЛЬТР - - - - FREQ - ЧАСТ - - - - Cutoff frequency: - Частота среза: - - - - Hz - Гц - - - - Q/RESO - УР/РЕЗО - - - - Q/Resonance: - УР/Резонанса: - - - - Envelopes, LFOs and filters are not supported by the current instrument. - Огибающие, LFO и фильтры не поддерживаются этим инструментом. - - - - InstrumentTrack - - - - unnamed_track - дорожка без имени - - - - Base note - Опорная нота - - - - First note + + Add JACK Application - - Last note - По посл. ноте - - - - Volume - Громкость - - - - Panning - Стерео - - - - Pitch - Тональность - - - - Pitch range - Диапазон тональности - - - - Mixer channel - Канал ЭФ - - - - Master pitch - Основной тон - - - - Enable/Disable MIDI CC + + Note: Features not implemented yet are greyed out - - CC Controller %1 + + Application - - - Default preset - Основная предустановка - - - - InstrumentTrackView - - - Volume - Громкость - - - - Volume: - Уровень громкости: - - - - VOL - УР - - - - Panning - Баланс - - - - Panning: - Баланс: - - - - PAN - БАЛ - - - - MIDI - MIDI - - - - Input - Вход - - - - Output - Выход - - - - Open/Close MIDI CC Rack + + Name: - - Channel %1: %2 - ЭФ %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - ОСНОВНЫЕ НАСТРОЙКИ + + Application: + - - Volume - Громкость + + From template + - - Volume: - Громкость: + + Custom + - - VOL - ГРОМ + + Template: + - - Panning - Баланс + + Command: + - - Panning: - Баланс: + + Setup + - - PAN - БАЛ + + Session Manager: + - - Pitch - Тональность + + None + - - Pitch: - Тональность: + + Audio inputs: + - - cents - сотые + + MIDI inputs: + - - PITCH - ТОН + + Audio outputs: + - - Pitch range (semitones) - Диапазон тональности (полутона) + + MIDI outputs: + - - RANGE - ДИАП + + Take control of main application window + - - Mixer channel - Канал ЭФ + + Workarounds + - - CHANNEL - ЭФ + + Wait for external application start (Advanced, for Debug only) + - - Save current instrument track settings in a preset file - Сохранить текущую инструментаьную дорожку в файл предустановок + + Capture only the first X11 Window + - - SAVE - Сохранить + + Use previous client output buffer as input for the next client + - - Envelope, filter & LFO - Огибающ., фильтр и LFO + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Chord stacking & arpeggio - Аккорды и арпеджио + + Error here + - - Effects - Эффекты - - - - MIDI - MIDI - - - - Miscellaneous - Разное - - - - Save preset - Сохранить предустановку - - - - XML preset file (*.xpf) - XML файл настроек (*.xpf) - - - - Plugin - Модуль - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6866,967 +2801,22 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - О JUCE - - - - <b>About JUCE</b> - <b>О JUCE</b> - - - - This program uses JUCE version 3.x.x. - Эта программа использует JUCE версии 3.*.*. - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - JUCE (Jules' Utility Class Extensions) — это всеобъемлющая библиотека классов C++ для разработки кроссплатформенного ПО. - -Она содержит практически всё, что может понадобиться для создания большинства приложений, и особенно хорошо подходит для настраиваемых графических интерфейсов, обработки графики и звука. - -JUCE лицензируется в соответствии с GNU Public License версии 2.0. -Один модуль (juce_core) лицензирован в соответствии с ISC. - -Copyright © 2017 ROLI Ltd. - - - + This program uses JUCE version %1. Эта программа использует JUCE версии %1. - - Knob - - - Set linear - Установить линейно - - - - Set logarithmic - Установить логарифмически - - - - - Set value - Установить величину - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Введите новое значение от –96,0 дБВ до 6,0 дБВ: - - - - Please enter a new value between %1 and %2: - Введите новое значение от %1 до %2: - - - - LadspaControl - - - Link channels - Связать каналы - - - - LadspaControlDialog - - - Link Channels - Связать каналы - - - - Channel - Канал - - - - LadspaControlView - - - Link channels - Связать каналы - - - - Value: - Значение: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Запрошен неизвестный модуль LADSPA «%1». - - - - LcdFloatSpinBox - - - Set value - Установить значение - - - - Please enter a new value between %1 and %2: - Новое значение от %1 до %2: - - - - LcdSpinBox - - - Set value - Установить величину - - - - Please enter a new value between %1 and %2: - Введите новое значение от %1 до %2: - - - - LeftRightNav - - - - - Previous - Предыдущий - - - - - - Next - Следующий - - - - Previous (%1) - Предыдущий (%1) - - - - Next (%1) - Следующий (%1) - - - - LfoController - - - LFO Controller - Контроллер LFO - - - - Base value - Основное значение - - - - Oscillator speed - Скорость волны - - - - Oscillator amount - Размер волны - - - - Oscillator phase - Фаза волны - - - - Oscillator waveform - Форма волны - - - - Frequency Multiplier - Множитель частоты - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BASE - - - - Base: - Основа: - - - - FREQ - FREQ - - - - LFO frequency: - Частота LFO: - - - - AMNT - ГЛУБ - - - - Modulation amount: - Глубина модуляции: - - - - PHS - ФАЗА - - - - Phase offset: - Сдвиг фазы: - - - - degrees - градусы - - - - Sine wave - Синусоида - - - - Triangle wave - Треугольная волна - - - - Saw wave - Пило-волна - - - - Square wave - Квадрат - - - - Moog saw wave - Муг пило-волна - - - - Exponential wave - Экспоненциальная волна - - - - White noise - Белый шум - - - - User-defined shape. -Double click to pick a file. - Пользовательская форма. -Выбрать файл двойным кликом. - - - - Mutliply modulation frequency by 1 - Умножить частоту модуляции на 1 - - - - Mutliply modulation frequency by 100 - Умножить частоту модуляции на 100 - - - - Divide modulation frequency by 100 - Разделить частоту модуляции на 100 - - - - Engine - - - Generating wavetables - Генерация волновых таблиц - - - - Initializing data structures - Инициализация структуры данных - - - - Opening audio and midi devices - Открываем аудио и MIDI-устройства - - - - Launching mixer threads - Запускаем потоки микшера - - - - MainWindow - - - Configuration file - Файл настроек - - - - Error while parsing configuration file at line %1:%2: %3 - Ошибка во время обработки файла настроек в строке %1:%2: %3 - - - - Could not open file - Не могу открыть файл - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Невозможно открыть файл %1 для записи. Пожалуйста, убедитесь, что у вас есть разрешение на запись в файл и содержащую его директорию, и попробуйте снова. - - - - Project recovery - Восстановление проекта - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Остался файл для восстановления. Похоже последняя сессия не была нормально завершена или запущен ещё один процесс LMMS. -Хотите восстановить проект из этой сессии? - - - - - Recover - Восстановить - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Восстановить файл. Пожалуйства, не запускайте несколько процессов ЛММС во время этого. - - - - - Discard - Отклонить - - - - Launch a default session and delete the restored files. This is not reversible. - Запустить обычную сессию и удалить восстановленные файлы. Это безвозвратно. - - - - Version %1 - Версия %1 - - - - Preparing plugin browser - Подготовка обзора плагинов - - - - Preparing file browsers - Подготовка обзора файлов - - - - My Projects - Мои проекты - - - - My Samples - Мои сэмплы - - - - My Presets - Мои предустановки - - - - My Home - Моя домашняя папка - - - - Root directory - Корневая директория - - - - Volumes - Громкости - - - - My Computer - Мой компьютер - - - - &File - &Файл - - - - &New - &Создать - - - - &Open... - &Открыть... - - - - Loading background picture - Загружается фоновая картинка - - - - &Save - Со&хранить - - - - Save &As... - Сохранить &как... - - - - Save as New &Version - Сохранить как новую &версию - - - - Save as default template - Сохранить как начальный шаблон - - - - Import... - Импорт... - - - - E&xport... - &Экспорт... - - - - E&xport Tracks... - Экспорт &дорожек... - - - - Export &MIDI... - Экс&порт MIDI... - - - - &Quit - В&ыход - - - - &Edit - &Правка - - - - Undo - Отменить действие - - - - Redo - Вернуть действие - - - - Settings - Параметры - - - - &View - &Вид - - - - &Tools - С&ервис - - - - &Help - &Справка - - - - Online Help - Помощь онлайн - - - - Help - Справка - - - - About - О программе - - - - Create new project - Создать новый проект - - - - Create new project from template - Создать новый проект по шаблону - - - - Open existing project - Открыть существующий проект - - - - Recently opened projects - Недавние проекты - - - - Save current project - Сохранить текущий проект - - - - Export current project - Экспорт проекта - - - - Metronome - Метроном - - - - - Song Editor - Композитор - - - - - Beat+Bassline Editor - Ритм+Бас Композитор - - - - - Piano Roll - Редактор нот - - - - - Automation Editor - Редактор автоматизации - - - - - Mixer - Микшер Эффектов - - - - Show/hide controller rack - Показать/скрыть стойку контроллеров - - - - Show/hide project notes - Показать/скрыть Заметки к проекту - - - - Untitled - Без названия - - - - Recover session. Please save your work! - Восстановление сессии. Пожалуйста, сохраните свою работу! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Восстановленный проект не сохранён. - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Проект был восстановлен из предыдущей сессии. Сейчас он не сохранён и будет потерян, если его не сохранить. -Хотите сохранить его сейчас? - - - - Project not saved - Проект не сохранён - - - - The current project was modified since last saving. Do you want to save it now? - Проект был изменён с момента последнего сохранения. Сохранить его сейчас? - - - - Open Project - Открыть проект - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Сохранить проект - - - - LMMS Project - ЛММС Проект - - - - LMMS Project Template - Шаблон ЛММС Проекта - - - - Save project template - Сохранить шаблон проекта - - - - Overwrite default template? - Перезаписать обычный шаблон? - - - - This will overwrite your current default template. - Это перезапишет текущий обычный шаблон. - - - - Help not available - Справка недоступна - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Пока что справка для LMMS не написана. -Вероятно, Вы сможете найти нужные материалы на http://lmms.sf.net/wiki . - - - - Controller Rack - Стойка контроллеров - - - - Project Notes - Заметки к проекту - - - - Fullscreen - На весь экран - - - - Volume as dBFS - Громкость в дБ - - - - Smooth scroll - Плавная прокрутка - - - - Enable note labels in piano roll - Включить обозначение нот в музыкальном редакторе - - - - MIDI File (*.mid) - MIDI-файл (*.mid) - - - - - untitled - без названия - - - - - Select file for project-export... - Выбор файла для экспорта проекта... - - - - Select directory for writing exported tracks... - Выберите папку для записи экспортированных дорожек... - - - - Save project - Сохранить проект - - - - Project saved - Проект сохранён - - - - The project %1 is now saved. - Проект %1 сохранён. - - - - Project NOT saved. - Проект НЕ СОХРАНЁН. - - - - The project %1 was not saved! - Проект %1 не был сохранён! - - - - Import file - Импорт файла - - - - MIDI sequences - MIDI-последовательности - - - - Hydrogen projects - Hydrogen проекты - - - - All file types - Все типы файлов - - - - MeterDialog - - - - Meter Numerator - Доли - - - - Meter numerator - Число долей - - - - - Meter Denominator - Длительность - - - - Meter denominator - Длительность доли - - - - TIME SIG - ТАКТ - - - - MeterModel - - - Numerator - Число долей - - - - Denominator - Длительность доли - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Контроллер MIDI - - - - unnamed_midi_controller - MIDI-контроллер без имени - - - - MidiImport - - - - Setup incomplete - Установка не завершена - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Вы не установили основной SoundFont в настройках (Правка -> Параметры). Поэтому звук не будет воспроизводиться после импортирования этого MIDI-файла. Вам следует загрузить General MIDI SoundFont, определить его в настройках и попробовать снова. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Вы не включили поддержку проигрывателя SoundFont2 при компиляции LMMS, он используется для добавления основного звука в импортируемые MIDI-файлы, поэтому звука не будет после импорта этого MIDI-файла. - - - - MIDI Time Signature Numerator - Число долей времени MIDI - - - - MIDI Time Signature Denominator - Длительность доли времени MIDI - - - - Numerator - Число долей - - - - Denominator - Длительность доли - - - - Track - Дорожка - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK-сервер не доступен - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - JACK-сервер, похоже, не запущен. - - MidiPatternW MIDI Pattern - + Шаблон MIDI Time Signature: - + Временная сигнатура: @@ -8003,7 +2993,7 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. Quantize: - + Квантовать: @@ -8021,2732 +3011,371 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. В&ыход - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D Ре-диез D - + Select All Выбрать всё - + A Ля диез A - - MidiPort - - - Input channel - Канал входа - - - - Output channel - Канал выхода - - - - Input controller - Контроллер входа - - - - Output controller - Контроллер выхода - - - - Fixed input velocity - Постоянная скорость ввода - - - - Fixed output velocity - Постоянная скорость вывода - - - - Fixed output note - Постоянный вывод нот - - - - Output MIDI program - Программа для вывода MIDI - - - - Base velocity - Базовая скорость - - - - Receive MIDI-events - Принимать события MIDI - - - - Send MIDI-events - Отправлять события MIDI - - - - MidiSetupWidget - - - Device - Устройство - - - - MonstroInstrument - - - Osc 1 volume - Ген 1 громкость - - - - Osc 1 panning - Ген 1 баланс - - - - Osc 1 coarse detune - Ген 1 грубая подстройка - - - - Osc 1 fine detune left - Ген 1 точная подстройка слева - - - - Osc 1 fine detune right - Ген 1 точная подстройка справа - - - - Osc 1 stereo phase offset - Ген 1 сдвиг стерео-фазы - - - - Osc 1 pulse width - Осц 1 длина импульса - - - - Osc 1 sync send on rise - Осц 1 посыл синхро на подъёме - - - - Osc 1 sync send on fall - Осц 1 посыл синхро на спаде - - - - Osc 2 volume - Ген 2 громкость - - - - Osc 2 panning - Ген 2 баланс - - - - Osc 2 coarse detune - Ген 2 грубая подстройка - - - - Osc 2 fine detune left - Ген 2 точная подстройка слева - - - - Osc 2 fine detune right - Ген 2 точная подстройка справа - - - - Osc 2 stereo phase offset - Ген 2 сдвиг стерео-фазы - - - - Osc 2 waveform - Осц 2 форма волны - - - - Osc 2 sync hard - Осц 2 синхро сильная - - - - Osc 2 sync reverse - Осц 2 синхро обратная - - - - Osc 3 volume - Ген 3 громкость - - - - Osc 3 panning - Ген 3 баланс - - - - Osc 3 coarse detune - Ген 3 грубая подстройка - - - - Osc 3 Stereo phase offset - Ген 3 сдвиг стерео-фазы - - - - Osc 3 sub-oscillator mix - Осц 3 доп-осциллятор микс - - - - Osc 3 waveform 1 - Осц 3 форма волны 1 - - - - Osc 3 waveform 2 - Осц 3 форма волны 2 - - - - Osc 3 sync hard - Осц 3 синхр сильная - - - - Osc 3 Sync reverse - Осц 3 синхр обратная - - - - LFO 1 waveform - Форма 1 LFO волны - - - - LFO 1 attack - LFO 1 атака - - - - LFO 1 rate - LFO 1 частота - - - - LFO 1 phase - LFO 1 фаза - - - - LFO 2 waveform - Форма 2 LFO волны - - - - LFO 2 attack - LFO 2 атака - - - - LFO 2 rate - LFO 2 частота - - - - LFO 2 phase - LFO 2 фаза - - - - Env 1 pre-delay - Огиб 1 предзадержка - - - - Env 1 attack - Огиб 1 атака - - - - Env 1 hold - Огиб. 1 удержание - - - - Env 1 decay - Огиб. 1 спад - - - - Env 1 sustain - Огиб. 1 выдержка - - - - Env 1 release - Огиб. 1 затухание - - - - Env 1 slope - Огиб 1 уклон - - - - Env 2 pre-delay - Огиб 2 предзадержка - - - - Env 2 attack - Огиб 2 атака - - - - Env 2 hold - Огиб. 2 удержание - - - - Env 2 decay - Огиб. 2 спад - - - - Env 2 sustain - Огиб. 2 выдержка - - - - Env 2 release - Огиб. 2 затухание - - - - Env 2 slope - Огиб 2 уклон - - - - Osc 2+3 modulation - Осц 2+3 модуляция - - - - Selected view - Выбранный вид - - - - Osc 1 - Vol env 1 - Ген 1 - Громк. огиб. 1 - - - - Osc 1 - Vol env 2 - Ген 1 - Громк. огиб. 2 - - - - Osc 1 - Vol LFO 1 - Ген 1 - Громк. LFO 1 - - - - Osc 1 - Vol LFO 2 - Ген 1 - Громк. LFO 2 - - - - Osc 2 - Vol env 1 - Ген 2 - Громк. огиб. 1 - - - - Osc 2 - Vol env 2 - Ген 2 - Громк. огиб. 2 - - - - Osc 2 - Vol LFO 1 - Ген 2 - Громк. LFO 1 - - - - Osc 2 - Vol LFO 2 - Ген 2 - Громк. LFO 2 - - - - Osc 3 - Vol env 1 - Ген 3 - Громк. огиб. 1 - - - - Osc 3 - Vol env 2 - Ген 3 - Громк. огиб. 2 - - - - Osc 3 - Vol LFO 1 - Ген 3 - Громк. LFO 1 - - - - Osc 3 - Vol LFO 2 - Ген 3 - Громк. LFO 2 - - - - Osc 1 - Phs env 1 - Ген 1 - Фаза огиб. 1 - - - - Osc 1 - Phs env 2 - Ген 1 - Фаза огиб. 2 - - - - Osc 1 - Phs LFO 1 - Ген 1 - Фаза LFO 1 - - - - Osc 1 - Phs LFO 2 - Ген 1 - Фаза LFO 2 - - - - Osc 2 - Phs env 1 - Ген 2 - Фаза огиб. 1 - - - - Osc 2 - Phs env 2 - Ген 2 - Фаза огиб. 2 - - - - Osc 2 - Phs LFO 1 - Ген 2 - Фаза LFO 1 - - - - Osc 2 - Phs LFO 2 - Ген 2 - Фаза LFO 2 - - - - Osc 3 - Phs env 1 - Ген 3 - Фаза огиб. 1 - - - - Osc 3 - Phs env 2 - Ген 3 - Фаза огиб. 2 - - - - Osc 3 - Phs LFO 1 - Ген 3 - Фаза LFO 1 - - - - Osc 3 - Phs LFO 2 - Ген 3 - Фаза LFO 2 - - - - Osc 1 - Pit env 1 - Осц 1 - Pit огиб 1 - - - - Osc 1 - Pit env 2 - Осц 1 - Pit огиб 2 - - - - Osc 1 - Pit LFO 1 - Осц 1 - Pit LFO 1 - - - - Osc 1 - Pit LFO 2 - Осц 1 - Pit LFO 2 - - - - Osc 2 - Pit env 1 - Осц 2 - Pit огиб 1 - - - - Osc 2 - Pit env 2 - Осц 2 - Pit огиб 2 - - - - Osc 2 - Pit LFO 1 - Осц 2 - Pit LFO 1 - - - - Osc 2 - Pit LFO 2 - Осц 2 - Pit LFO 2 - - - - Osc 3 - Pit env 1 - Осц 3 - Pit огиб 1 - - - - Osc 3 - Pit env 2 - Осц 3 - Pit огиб 2 - - - - Osc 3 - Pit LFO 1 - Осц 3 - Pit LFO 1 - - - - Osc 3 - Pit LFO 2 - Осц 3 - Pit LFO 2 - - - - Osc 1 - PW env 1 - Осц 1 - PW Огиб 1 - - - - Osc 1 - PW env 2 - Осц 1 - PW Огиб 2 - - - - Osc 1 - PW LFO 1 - Осц 1 - PW LFO 1 - - - - Osc 1 - PW LFO 2 - Осц 1 - PW LFO 2 - - - - Osc 3 - Sub env 1 - Осц 3 - Доп огиб 1 - - - - Osc 3 - Sub env 2 - Осц 3 - Доп огиб 2 - - - - Osc 3 - Sub LFO 1 - Осц 3 - Доп LFO 1 - - - - Osc 3 - Sub LFO 2 - Осц 3 - Доп LFO 2 - - - - - Sine wave - Синусоида - - - - Bandlimited Triangle wave - Тембр. треугольная волна - - - - Bandlimited Saw wave - Тембр. пило-волна - - - - Bandlimited Ramp wave - Тембр. пологая волна - - - - Bandlimited Square wave - Тембр. квадратная волна - - - - Bandlimited Moog saw wave - Тембр. Муг пило-волна - - - - - Soft square wave - Сглаженная квадратная волна - - - - Absolute sine wave - Идеальная синусоида - - - - - Exponential wave - Экспоненциальная волна - - - - White noise - Белый шум - - - - Digital Triangle wave - Цифровая треугольная волна - - - - Digital Saw wave - Цифровая пило-волна - - - - Digital Ramp wave - Цифровая пологая волна - - - - Digital Square wave - Цифровая квадратная волна - - - - Digital Moog saw wave - Цифровая Муг пило-волна - - - - Triangle wave - Треугольная волна - - - - Saw wave - Пило-волна - - - - Ramp wave - Пологая волна - - - - Square wave - Квадрат - - - - Moog saw wave - Муг пило-волна - - - - Abs. sine wave - Идеальная синусоида - - - - Random - Случайно - - - - Random smooth - Случайное сглаживание - - - - MonstroView - - - Operators view - Операторский вид - - - - Matrix view - Матричный вид - - - - - - Volume - Громкость - - - - - - Panning - Баланс - - - - - - Coarse detune - Грубая подстройка - - - - - - semitones - полутона - - - - - Fine tune left - Точная настройка слева - - - - - - - cents - Центы - - - - - Fine tune right - Точная настройка справа - - - - - - Stereo phase offset - Сдвиг стерео фазы - - - - - - - - deg - град - - - - Pulse width - Длительность импульса - - - - Send sync on pulse rise - Выдача синхронизации по нарастанию импульса - - - - Send sync on pulse fall - Выдача синхронизации по спаду импульса - - - - Hard sync oscillator 2 - Жёсткая синхр осциллятора 2 - - - - Reverse sync oscillator 2 - Обратная синхр осциллятора 2 - - - - Sub-osc mix - Микс доп-осц - - - - Hard sync oscillator 3 - Жёсткая синхр генератора 3 - - - - Reverse sync oscillator 3 - Обратная синхр генератора 3 - - - - - - - Attack - Атака - - - - - Rate - Частота выборки - - - - - Phase - Фаза - - - - - Pre-delay - Предзадержка - - - - - Hold - Удержание - - - - - Decay - Спад - - - - - Sustain - Выдержка - - - - - Release - Затухание - - - - - Slope - Фронт - - - - Mix osc 2 with osc 3 - Смешать осц. 2 с осц. 3 - - - - Modulate amplitude of osc 3 by osc 2 - Модулировать амплитуду осц. 3 сигналом с 2 - - - - Modulate frequency of osc 3 by osc 2 - Модулировать частоту осц. 3 сигналом с 2 - - - - Modulate phase of osc 3 by osc 2 - Модулировать фазу осц. 3 сигналом с 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Глубина модуляции - - - - MultitapEchoControlDialog - - - Length - Длина - - - - Step length: - Длина шага: - - - - Dry - Чистый - - - - Dry gain: - Чистый звук усиление: - - - - Stages - Уровни - - - - Low-pass stages: - Уровни прохода низких: - - - - Swap inputs - Переставить входы местами - - - - Swap left and right input channels for reflections - Поменять левый и правый каналы входа для отражений - - - - NesInstrument - - - Channel 1 coarse detune - Грубая подстройка канала 1 - - - - Channel 1 volume - Громкость канала 1 - - - - Channel 1 envelope length - Длительность огибающей канала 1 - - - - Channel 1 duty cycle - Рабочий цикл канала 1 - - - - Channel 1 sweep amount - Уровень колебаний канала 1 - - - - Channel 1 sweep rate - Частота колебаний канала 1 - - - - Channel 2 Coarse detune - Грубая подстройка канала 2 - - - - Channel 2 Volume - Громкость канала 2 - - - - Channel 2 envelope length - Длительность огибающей канала 2 - - - - Channel 2 duty cycle - Рабочий цикл канала 2 - - - - Channel 2 sweep amount - Уровень колебаний канала 2 - - - - Channel 2 sweep rate - Частота колебаний канала 2 - - - - Channel 3 coarse detune - Грубая подстройка канала 3 - - - - Channel 3 volume - Громкость канала 3 - - - - Channel 4 volume - Громкость канала 4 - - - - Channel 4 envelope length - Длительность огибающей канала 4 - - - - Channel 4 noise frequency - Частота шума канала 4 - - - - Channel 4 noise frequency sweep - Частота помех колебаний канала 4 - - - - Master volume - Главная громкость - - - - Vibrato - Вибрато - - - - NesInstrumentView - - - - - - Volume - Громкость - - - - - - Coarse detune - Грубая подстройка - - - - - - Envelope length - Длина огибающей - - - - Enable channel 1 - Включить канал 1 - - - - Enable envelope 1 - Включить огибающую 1 - - - - Enable envelope 1 loop - Включить петлю огибающей 1 - - - - Enable sweep 1 - Включить колебание 1 - - - - - Sweep amount - Амплитуда колебаний - - - - - Sweep rate - Частота колебаний - - - - - 12.5% Duty cycle - 12.5% Рабочий цикл - - - - - 25% Duty cycle - 25% Рабочий цикл - - - - - 50% Duty cycle - 50% Рабочий цикл - - - - - 75% Duty cycle - 75% Рабочий цикл - - - - Enable channel 2 - Включить канал 2 - - - - Enable envelope 2 - Включить огибающую 2 - - - - Enable envelope 2 loop - Включить петлю огибающей 2 - - - - Enable sweep 2 - Включить колебание 2 - - - - Enable channel 3 - Включить канал 3 - - - - Noise Frequency - Частота шума - - - - Frequency sweep - Частота колебаний - - - - Enable channel 4 - Включить канал 4 - - - - Enable envelope 4 - Включить огибающую 4 - - - - Enable envelope 4 loop - Включить петлю огибающей 4 - - - - Quantize noise frequency when using note frequency - Квантовать частоту шума при использовании частоты ноты - - - - Use note frequency for noise - Использовние частоты ноты для шума - - - - Noise mode - Режим шума - - - - Master volume - Главная громкость - - - - Vibrato - Вибрато - - - - OpulenzInstrument - - - Patch - Патч - - - - Op 1 attack - Оп 1 атака - - - - Op 1 decay - Оп 1 спад - - - - Op 1 sustain - Оп 1 выдержка - - - - Op 1 release - Оп 1 затухание - - - - Op 1 level - Оп 1 уровень - - - - Op 1 level scaling - Оп 1 увеличение уровня - - - - Op 1 frequency multiplier - Оп 1 множитель частоты - - - - Op 1 feedback - Оп 1 возврат - - - - Op 1 key scaling rate - Оп 1 скорость увеличения нот - - - - Op 1 percussive envelope - Оп 1 огибающая ударников - - - - Op 1 tremolo - Оп 1 тремоло - - - - Op 1 vibrato - Оп 1 вибрато - - - - Op 1 waveform - Оп 1 форма волны - - - - Op 2 attack - Оп 2 атака - - - - Op 2 decay - Оп 2 спад - - - - Op 2 sustain - Оп 2 выдержка - - - - Op 2 release - Оп 2 затухание - - - - Op 2 level - Оп 2 уровень - - - - Op 2 level scaling - Оп 2 увеличение уровня - - - - Op 2 frequency multiplier - Оп 2 множитель частоты - - - - Op 2 key scaling rate - Оп 2 скорость увеличения нот - - - - Op 2 percussive envelope - Оп 2 огибающая ударников - - - - Op 2 tremolo - Оп 2 Тремоло - - - - Op 2 vibrato - Оп 2 Вибрато - - - - Op 2 waveform - Оп 2 Волна - - - - FM - FM - - - - Vibrato depth - Глубина вибрато - - - - Tremolo depth - Глубина тремоло - - - - OpulenzInstrumentView - - - - Attack - Атака - - - - - Decay - Спад - - - - - Release - Затухание - - - - - Frequency multiplier - Множитель частоты - - - - OscillatorObject - - - Osc %1 waveform - Форма сигнала осциллятора %1 - - - - Osc %1 harmonic - Осц %1 гармонический - - - - - Osc %1 volume - Громкость осциллятора %1 - - - - - Osc %1 panning - Стереобаланс для осциллятора %1 - - - - - Osc %1 fine detuning left - Тонкая подстройка осц %1 слева - - - - Osc %1 coarse detuning - Подстройка осц %1 грубая - - - - Osc %1 fine detuning right - Тонкая подстройка осц %1 справа - - - - Osc %1 phase-offset - Сдвиг фазы для осц %1 - - - - Osc %1 stereo phase-detuning - Подстройка стерео-фазы осц %1 - - - - Osc %1 wave shape - Гладкость сигнала осц %1 - - - - Modulation type %1 - Тип модуляции %1 - - - - Oscilloscope - - - Oscilloscope - Осциллограф - - - - Click to enable - Включить мышью - - PatchesDialog + Qsynth: Channel Preset Qsynth: преднастройка канала + Bank selector Выбор банка + Bank Банк + Program selector Выбор программы + Patch Патч + Name Имя + OK ОК + Cancel Отмена - - PatmanView - - - Open patch - Открыть патч - - - - Loop - Петля - - - - Loop mode - Режим петли - - - - Tune - Подстроить - - - - Tune mode - Режим подстройки - - - - No file selected - Не выбран файл - - - - Open patch file - Открыть патч-файл - - - - Patch-Files (*.pat) - Патч-файлы (*.pat) - - - - MidiClipView - - - Open in piano-roll - Открыть в редакторе нот - - - - Set as ghost in piano-roll - Установить как призрак в пиано-ролл - - - - Clear all notes - Очистить все ноты - - - - Reset name - Сбросить название - - - - Change name - Переименовать - - - - Add steps - Добавить такты - - - - Remove steps - Удалить такты - - - - Clone Steps - Клонировать такты - - - - PeakController - - - Peak Controller - Пиковый контроллер - - - - Peak Controller Bug - Ошибка в пиковом контроллере - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Из-за ошибки в более старой версии LMMS пиковые контроллеры могут быть подключены неправильно. Убедитесь, что пиковые контроллеры подключены правильно, и повторно сохраните этот файл. Извините за причинённые неудобства. - - - - PeakControllerDialog - - - PEAK - ПИК - - - - LFO Controller - Контроллер LFO - - - - PeakControllerEffectControlDialog - - - BASE - БАЗА - - - - Base: - Основа: - - - - AMNT - ГЛУБ. - - - - Modulation amount: - Глубина модуляции: - - - - MULT - МНОЖ. - - - - Amount multiplicator: - Множитель: - - - - ATCK - АТК - - - - Attack: - Атака: - - - - DCAY - СПАД - - - - Release: - Затухание: - - - - TRSH - ПОРОГ - - - - Treshold: - Порог: - - - - Mute output - Заглушить вывод - - - - Absolute value - Абсолютное значение - - - - PeakControllerEffectControls - - - Base value - Опорное значение - - - - Modulation amount - Глубина модуляции - - - - Attack - Атака - - - - Release - Затухание - - - - Treshold - Порог - - - - Mute output - Заглушить вывод - - - - Absolute value - Абсолютное значение - - - - Amount multiplicator - Множитель - - - - PianoRoll - - - Note Velocity - Сила нажатия нот - - - - Note Panning - Стерео-баланс нот - - - - Mark/unmark current semitone - Поставить или снять отметку с этого полутона - - - - Mark/unmark all corresponding octave semitones - Поставить или снять отметку с этого полутона во всех октавах - - - - Mark current scale - Отметить выбранную гамму - - - - Mark current chord - Отметить выбранный аккорд - - - - Unmark all - Снять всё выделение - - - - Select all notes on this key - Выбрать все ноты на этой клавише - - - - Note lock - Фиксация нот - - - - Last note - По посл. ноте - - - - No key - - - - - No scale - Без гаммы - - - - No chord - Без аккорда - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Сила нажатия: %1% - - - - Panning: %1% left - Баланс: %1% слева - - - - Panning: %1% right - Баланс: %1% справа - - - - Panning: center - Баланс: центр - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Откройте паттерн двойным щелчком! - - - - - Please enter a new value between %1 and %2: - Новое значение от %1 до %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Игра/пауза текущей мелодии (пробел) - - - - Record notes from MIDI-device/channel-piano - Записать ноты с MIDI-устройства или с канала фортепиано - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Записать ноты с MIDI-устройства или с канала фортепиано во время воспроизведения композиции или дорожки Ритм-Баса - - - - Record notes from MIDI-device/channel-piano, one step at the time - Записать ноты с MIDI-устройства или с канала фортепиано, по одному шагу за раз - - - - Stop playing of current clip (Space) - Остановить воспроизведение текущей мелодии (пробел) - - - - Edit actions - Панель правки - - - - Draw mode (Shift+D) - Режим рисования (Shift+D) - - - - Erase mode (Shift+E) - Режим стирания (Shift+E) - - - - Select mode (Shift+S) - Режим выбора нот (Shift+S) - - - - Pitch Bend mode (Shift+T) - Режим изгиба высоты тона (Shift+T) - - - - Quantize - Квантовать - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Копировать-вставить управление - - - - Cut (%1+X) - Вырезать (%1+X) - - - - Copy (%1+C) - Копировать (%1+C) - - - - Paste (%1+V) - Вставить (%1+V) - - - - Timeline controls - Панель графика - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Панель масштабирования и нот - - - - Horizontal zooming - Горизонтальный масштаб - - - - Vertical zooming - Вертикальное приближение - - - - Quantization - Квантование - - - - Note length - Длительность ноты - - - - Key - - - - - Scale - Гамма - - - - Chord - Аккорд - - - - Snap mode - - - - - Clear ghost notes - Очистить призрачные ноты - - - - - Piano-Roll - %1 - Нотный редактор — %1 - - - - - Piano-Roll - no clip - Нотный редактор — нет паттерна - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Опорная нота - - - - First note - - - - - Last note - По посл. ноте - - - - Plugin - - - Plugin not found - Модуль не найден - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Модуль «%1» отсутствует либо не может быть загружен! -Причина: «%2» - - - - Error while loading plugin - Ошибка загрузки плагина - - - - Failed to load plugin "%1"! - Не удалось загрузить модуль «%1»! - - PluginBrowser - - Instrument Plugins - Плагины инструментов - - - - Instrument browser - Инструменты - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Вы можете переносить нужные вам инструменты из этой панели в Композитор, Ритм+Бас или в существующую дорожку инструмента. - - - + no description описание отсутствует - + A native amplifier plugin Родной плагин усилителя - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Простой сэмплер с разными установками по использованию сэмплов (как барабаны) в инструментальной дорожке - + Boost your bass the fast and simple way Накачай свой бас быстро и просто - + Customizable wavetable synthesizer Настраиваемый синтезатор звукозаписей (wavetable) - + An oversampling bitcrusher Бит-дробилка с передискретизацией - + Carla Patchbay Instrument Инструмент Carla Patchbay - + Carla Rack Instrument Инструментальная стойка Carla - + A dynamic range compressor. - + A 4-band Crossover Equalizer 4-полосный переходный эквалайзер - + A native delay plugin Встроенный плагин задержки - + A Dual filter plugin Плагин двойного фильтра - + plugin for processing dynamics in a flexible way Плагин для гибкой обработки динамики - + A native eq plugin Встроенный плагин эквалайзера - + A native flanger plugin Встроенный плагин фланжера - + Emulation of GameBoy (TM) APU Эмуляция GameBoy™ APU - + Player for GIG files Проигрыватель GIG-файлов - + Filter for importing Hydrogen files into LMMS Фильтр для импорта файлов Hydrogen в LMMS - + Versatile drum synthesizer Универсальный барабанный синтезатор - + List installed LADSPA plugins Показать установленные модули LADSPA - + plugin for using arbitrary LADSPA-effects inside LMMS. - Модуль, позволяющий использовать в LMMS любые эффекты LADSPA. + Плагин для использования произвольных LADSPA-эффектов внутри LMMS. - + Incomplete monophonic imitation TB-303 - Незавершённая монофоническая имитация TB-303 + - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS Фильтр для экспорта MIDI-файлов из LMMS - + Filter for importing MIDI-files into LMMS Фильтр для импорта MIDI-файлов в LMMS - + Monstrous 3-oscillator synth with modulation matrix Чудовищный 3-осциляторный синт с матрицей модуляции - + A multitap echo delay plugin Плагин многократной задержки эха - + A NES-like synthesizer Синтезатор типа NES - + 2-operator FM Synth 2-параметровый FM-синт - + Additive Synthesizer for organ-like sounds Синтезатор звуков вроде органа - + GUS-compatible patch instrument Патч-инструмент, совместимый с GUS - + Plugin for controlling knobs with sound peaks Модуль для установки значений регуляторов по пикам громкости - + Reverb algorithm by Sean Costello Алгоритм реверберации Шона Костелло - + Player for SoundFont files Проигрыватель файлов SoundFont - + LMMS port of sfxr LMMS-порт SFXR - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Эмуляция SID MOS6581 и MOS8580. Этот чип использовался в компьютере Commodore 64. - + A graphical spectrum analyzer. Графический анализатор спектра - + Plugin for enhancing stereo separation of a stereo input file Модуль, усиливающий разницу между каналами стереозаписи - + Plugin for freely manipulating stereo output Модуль для произвольного управления стереовыходом - + Tuneful things to bang on Мелодичные ударные - + Three powerful oscillators you can modulate in several ways Три мощных осциллятора, модулируемые несколькими способами - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS VST-хост для поддержки модулей VST(i) в LMMS - + Vibrating string modeler Моделирование вибрирующих струн - + plugin for using arbitrary VST effects inside LMMS. Плагин для использования любых VST-эффектов в LMMS - + 4-oscillator modulatable wavetable synth 4-осцилляторный модулируемый волновой синтезатор - + plugin for waveshaping Плагин для сглаживания волн - + Mathematical expression parser Анализатор математических выражений - + Embedded ZynAddSubFX Встроенный ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format - Формат - - - - Internal + + Granular pitch shifter - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - Sound Kits + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - Type - Тип - - - - Effects - Эффекты - - - - Instruments - Инструменты - - - - MIDI Plugins + + Basic Slicer - - Other/Misc + + Tap to the beat - - - Architecture - Архитектура - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - Требования - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Отмена - - - - Refresh - Обновить - - - - Reset filters - Сбросить фильтры - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - Формат: - - - - Architecture: - Архитектура: - - - - Type: - Тип: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - Информация - - - - Name - Имя - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F - Ctrl+F - PluginEdit @@ -10783,7 +3412,7 @@ This chip was used in the Commodore 64 computer. Output volume (100%) - + Выходная громкость (100 %) @@ -10819,12 +3448,12 @@ This chip was used in the Commodore 64 computer. Audio: - + Аудио: Fixed-Size Buffer - + Буфер фиксированного размера @@ -10843,36 +3472,41 @@ This chip was used in the Commodore 64 computer. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name @@ -10881,80 +3515,521 @@ Plugin Name - + Program: Программа: - + MIDI Program: - + Save State Сохранить состояние - + Load State Загрузить состояние - + Information Информация - + Label/URI: - + Метка/адрес: - + Name: Название: - + Type: Тип: - + Maker: - + Автор: - + Copyright: - + Авторское право: - + Unique ID: - + Уникальный ИД: PluginFactory - + Plugin not found. Плагин не найден. - + LMMS plugin %1 does not have a plugin descriptor named %2! Плагин LMMS «%1» не имеет дескриптора с именем «%2»! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter Form - + Форма @@ -10963,158 +4038,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh - Carla — обновление - - - - Search for new... + + Plugin Refresh - - LADSPA - LADSPA - - - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native + + Search for: - - POSIX 32bit - POSIX 32-бит + + All plugins, ignoring cache + - - POSIX 64bit - POSIX 64-бит + + Updated plugins only + - - Windows 32bit - Windows 32-бит + + Check previously invalid plugins + - - Windows 64bit - Windows 64-бит - - - - Available tools: - Доступные инструменты: - - - - python3-rdflib (LADSPA-RDF support) - python3-rdflib (поддержка LADSPA-RDF) - - - - carla-discovery-win64 - carla-discovery-win64 - - - - carla-discovery-native - carla-discovery-native - - - - carla-discovery-posix32 - carla-discovery-posix32 - - - - carla-discovery-posix64 - carla-discovery-posix64 - - - - carla-discovery-win32 - carla-discovery-win32 - - - - Options: - Опции: - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - Во время сканирования Carla будет проверять плагины (чтобы убедиться, что они не вылетят). -Чтобы ускорить сканирование, эти проверки можно отключить (на свой страх и риск). - - - - Run processing checks while scanning - Выполнять проверки во время сканирования - - - + Press 'Scan' to begin the search - Нажмите «Сканировать», чтобы начать поиск + - + Scan - Сканировать + - + >> Skip - >> Пропустить + - + Close - Закрыть + @@ -11126,53 +4104,53 @@ You can disable these checks to get a faster scanning time (at your own risk). Frame - + Кадр - + Enable Включить - + On/Off Вкл/Выкл - + - + PluginName - + ИмяПлагина - + MIDI MIDI - + AUDIO IN - + ВХОД ЗВУКА - + AUDIO OUT - + ВЫХОД ЗВУКА - + GUI - + Графический интерфейс - + Edit Правка - + Remove Удалить @@ -11187,2287 +4165,13561 @@ You can disable these checks to get a faster scanning time (at your own risk).Пресет: - - ProjectNotes - - - Project Notes - Заметки к проекту - - - - Enter project notes here - Напишите заметки, касающиеся проекта, здесь - - - - Edit Actions - Панель правки - - - - &Undo - &Отменить - - - - %1+Z - %1+Z - - - - &Redo - Ве&рнуть - - - - %1+Y - %1+Y - - - - &Copy - &Копировать - - - - %1+C - %1+C - - - - Cu&t - &Вырезать - - - - %1+X - %1+X - - - - &Paste - Вст&авить - - - - %1+V - %1+V - - - - Format Actions - Панель форматирования - - - - &Bold - &Жирный - - - - %1+B - %1+B - - - - &Italic - &Курсив - - - - %1+I - %1+I - - - - &Underline - Под&чёркнутый - - - - %1+U - %1+U - - - - &Left - По &левому краю - - - - %1+L - %1+L - - - - C&enter - По &центру - - - - %1+E - %1+E - - - - &Right - По &правому краю - - - - %1+R - %1+R - - - - &Justify - По &ширине - - - - %1+J - %1+J - - - - &Color... - Ц&вет... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI Показать интерфейс - + Help Справка + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Название: - - URI: - - - - - - + Maker: Автор: - - - + Copyright: Авторское право: - - + Requires Real Time: Требует работать в реальном времени: - - - - - - + + + Yes да - - - - - - + + + No нет - - + Real Time Capable: Работа в реальном времени: - - + In Place Broken: Неисправен: - - + Channels In: Каналов на входе: - - + Channels Out: Каналов на выходе: - + File: %1 Файл: %1 - + File: Файл: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Недавние проекты + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Переименовать... + + Volume + Громкость + + + + Panning + Баланс + + + + Left gain + Усиление (Л) + + + + Right gain + Усиление (П) - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Вход + + Amplify + Усиление - - Input gain: - Входное усиление: + + Start of sample + Начало сэмпла - - Size - Размер + + End of sample + Конец сэмпла - - Size: - Размер: + + Loopback point + Точка петли - - Color - Цвет + + Reverse sample + Перевернуть сэмпл - - Color: - Цвет: + + Loop mode + Режим повтора - - Output - Выход + + Stutter + Запинание - - Output gain: - Выходное усиление: + + Interpolation mode + Режим интерполяции + + + + None + Нет + + + + Linear + Линейный + + + + Sinc + Приёмник + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + Клиент JACK перезапущен + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + LMMS не был подключен к JACK по какой-то причине, поэтому подключение LMMS к JACK было перезапущено. Вам придётся заново вручную создать соединения. + + + + JACK server down + Cервер JACK выключен + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + Возможно JACK-сервер был выключен и запуск нового процесса не удался, поэтому LMMS не может продолжить работу. Вам следует сохранить проект и перезапустить JACK и LMMS. + + + + Client name + Имя клиента + + + + Channels + Каналы + + + + lmms::AudioOss + + + Device + Устройство + + + + Channels + Каналы + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Интерфейс + + + + Device + Устройство + + + + lmms::AudioPulseAudio + + + Device + Устройство + + + + Channels + Каналы + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + Устройство + + + + Channels + Каналы + + + + lmms::AudioSoundIo::setupWidget + + + Backend + Интерфейс + + + + Device + Устройство + + + + lmms::AutomatableModel + + + &Reset (%1%2) + &Сбросить (%1%2) + + + + &Copy value (%1%2) + &Копировать значение (%1%2) + + + + &Paste value (%1%2) + &Вставить значение (%1%2) + + + + &Paste value + &Вставить значение + + + + Edit song-global automation + Изменить глобальную автоматизацию + + + + Remove song-global automation + Убрать глобальную автоматизацию + + + + Remove all linked controls + Убрать всё присоединенное управление + + + + Connected to %1 + Подключено к %1 + + + + Connected to controller + Соединено с контроллером + + + + Edit connection... + Изменить соединение… + + + + Remove connection + Удалить соединение + + + + Connect to controller... + Соединить с контроллером... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + Перетащите элемент управления, удерживая <%1> + + + + lmms::AutomationTrack + + + Automation track + Дорожка автоматизации + + + + lmms::BassBoosterControls + + + Frequency + Частота + + + + Gain + Усиление + + + + Ratio + Соотношение + + + + lmms::BitInvader + + + Sample length + Длина сэмпла + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain Входное усиление - - Size - Размер + + Input noise + Входной шум - - Color - Цвет + + Output gain + Выходное усиление - + + Output clip + Выходная обрезка + + + + Sample rate + Частота сэмплирования + + + + Stereo difference + Разница стерео + + + + Levels + Уровни + + + + Rate enabled + Частота выборки включена + + + + Depth enabled + Глубина включена + + + + lmms::Clip + + + Mute + Заглушить + + + + lmms::CompressorControls + + + Threshold + Пороговый уровень + + + + Ratio + Соотношение + + + + Attack + Атака + + + + Release + Затухание + + + + Knee + + + + + Hold + Удержание + + + + Range + Диапазон + + + + RMS Size + + + + + Mid/Side + Середина/стороны + + + + Peak Mode + Держать пик + + + + Lookahead Length + + + + + Input Balance + Входной баланс: + + + + Output Balance + Выходной баланс + + + + Limiter + Лимитер + + + + Output Gain + Выходная мощность + + + + Input Gain + Входная мощность + + + + Blend + Смешать + + + + Stereo Balance + Баланс стерео + + + + Auto Makeup Gain + + + + + Audition + Прослушивание + + + + Feedback + Обратная связь + + + + Auto Attack + Автоатака + + + + Auto Release + Убывание + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + Фильтр Частот + + + + Stereo Link + + + + + Mix + Микс + + + + lmms::Controller + + + Controller %1 + Контроллер %1 + + + + lmms::DelayControls + + + Delay samples + Задержка сэмплов + + + + Feedback + Обратная связь + + + + LFO frequency + Частота LFO + + + + LFO amount + Объём LFO + + + Output gain Выходное усиление - SaControls + lmms::DispersionControls - - Pause - Пауза + + Amount + Величина - - Reference freeze - Заморозить эталон + + Frequency + Частота - - Waterfall - Спад - - - - Averaging - Усреднение - - - - Stereo - Стерео - - - - Peak hold - Держать пик - - - - Logarithmic frequency - Логарифмическая частота - - - - Logarithmic amplitude - Логарифмическая амплитуда - - - - Frequency range - Диапазон частот - - - - Amplitude range - Диапазон амплитуд - - - - FFT block size - Размер блока FFT - - - - FFT window type - Тип окна FFT - - - - Peak envelope resolution - Разрешение огибающей пика - - - - Spectrum display resolution - Разрешение отображения спектра - - - - Peak decay multiplier - Множитель спада пика - - - - Averaging weight - Средний вес - - - - Waterfall history size - Размер истории спада - - - - Waterfall gamma correction - Гамма-коррекция спада - - - - FFT window overlap - Перекрытие окон FFT - - - - FFT zero padding - FFT нулевой отступ - - - - - Full (auto) - Полностью (авто) - - - - - - Audible - Слышимые - - - - Bass - Басы - - - - Mids - Средние - - - - High - Высокие - - - - Extended - Расширенно - - - - Loud - Громкие - - - - Silent - Тихие - - - - (High time res.) - (Высокое разрешение по времени) - - - - (High freq. res.) - (Высокое разрешение по частоте) - - - - Rectangular (Off) - Прямоугольный (откл.) - - - - - Blackman-Harris (Default) - Блэкман-Харрис (по умолчанию) - - - - Hamming - Хэмминг (Сглажив) - - - - Hanning - Хэннинга (Сглажив) - - - - SaControlsDialog - - - Pause - Пауза - - - - Pause data acquisition - Приостановить сбор данных - - - - Reference freeze - Заморозить эталон - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - Заморозить текущий входной сигнал в качестве эталона; отключить спад в режиме удержания пика. - - - - Waterfall - Спад - - - - Display real-time spectrogram - Показать спектрограмму в реальном времени - - - - Averaging - Усреднение - - - - Enable exponential moving average - Включить экспоненциальное скользящее среднее - - - - Stereo - Стерео - - - - Display stereo channels separately - Отображать стерео-каналы раздельно - - - - Peak hold - Держать пик - - - - Display envelope of peak values - Показать огибающую пиковых значений - - - - Logarithmic frequency - Логарифмическая частота - - - - Switch between logarithmic and linear frequency scale - Переключиться между логарифмической и линейной шкалой частоты - - - - - Frequency range - Диапазон частот - - - - Logarithmic amplitude - Логарифмическая амплитуда - - - - Switch between logarithmic and linear amplitude scale - Переключить между логарифмическим и линейным усилением амплитуды - - - - - Amplitude range - Диапазон амплитуд - - - - Envelope res. - Разрешение огибающей - - - - Increase envelope resolution for better details, decrease for better GUI performance. - Увеличьте разрешение огибающей, чтобы улучшить детализацию, или уменьшите, чтобы улучшить производительность графического интерфейса. - - - - - Draw at most - Максимально точек на пиксель в спектре : - - - - envelope points per pixel - точки огибающей на пиксель - - - - Spectrum res. - Разрешение спектра - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - Увеличьте разрешение спектра, чтобы улучшить детализацию, или уменьшите, чтобы улучшить производительность графического интерфейса. - - - - spectrum points per pixel - точки спектра на пиксель - - - - Falloff factor - Коэффициент спада - - - - Decrease to make peaks fall faster. - Снизьте, чтобы пики спадали быстрее - - - - Multiply buffered value by - Умножить значение буфера на - - - - Averaging weight - Средний вес - - - - Decrease to make averaging slower and smoother. - Уменьшите, чтобы усреднение было медленнее и плавнее. - - - - New sample contributes - Вхождения нового сэмпла - - - - Waterfall height - Высота спада - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - Увеличьте, чтобы получить более плавные движения, и уменьшите, чтобы лучше видеть быстрые переходы. Внимание: средняя загрузка ЦП. - - - - Keep - Оставить - - - - lines - линии - - - - Waterfall gamma - Гамма спада - - - - Decrease to see very weak signals, increase to get better contrast. - Снизьте, чтобы увидеть очень слабые сигналы, и увеличьте, чтобы получить лучший контраст. - - - - Gamma value: - Гамма значение: - - - - Window overlap - Перекрытие окна - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - Увеличьте, чтобы не пропускать быстрые переходы, которые приближаются к краям окна FFT. Внимание: сильно нагружает процессор! - - - - Each sample processed - Количество раз обработки сэмпла: - - - - times - раз - - - - Zero padding - Нулевой отступ - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - Увеличьте, чтобы получить более плавный спектр. Внимание: сильно нагружает процессор. - - - - Processing buffer is - Буфер обработки - - - - steps larger than input block - Шагов больше, чем в блоке ввода - - - - Advanced settings - Расширенные настройки - - - - Access advanced settings - Доступ к расширенным настройкам - - - - - FFT block size - Размер блока FFT - - - - - FFT window type - Тип окна FFT - - - - SampleBuffer - - - Fail to open file - Не удается открыть файл - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Звуковые файлы ограничены размером %1 МБ и длительностью %2 мин. - - - - Open audio file - Открыть звуковой файл - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Все звуковые файлы (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Файлы Wave (*.wav) - - - - OGG-Files (*.ogg) - Файлы OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Файлы DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Файлы FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Файлы SPEEX (*.spx) - - - - VOC-Files (*.voc) - Файлы VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Файлы AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Файлы AU (*.au) - - - - RAW-Files (*.raw) - Файлы RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - Дважды щелкните, чтобы открыть сэмпл - - - - Delete (middle mousebutton) - Удалить (средняя кнопка мыши) - - - - Delete selection (middle mousebutton) - Удалить выделенное (средняя кнопка мыши) - - - - Cut - Вырезать - - - - Cut selection - Вырезать выделенное - - - - Copy - Копировать - - - - Copy selection - Копировать выделенное - - - - Paste - Вставить - - - - Mute/unmute (<%1> + middle click) - Тихо/громко (<%1> + щелчок средней кнопкой) - - - - Mute/unmute selection (<%1> + middle click) - Отключить или включить звук для выделенного (<%1> + средняя кнопка мыши) - - - - Reverse sample - Перевернуть сэмпл - - - - Set clip color - Установить цвет клипа - - - - Use track color - Использовать цвет дорожки - - - - SampleTrack - - - Volume - Громкость - - - - Panning - Баланс - - - - Mixer channel - Канал ЭФ - - - - - Sample track - Дорожка записи - - - - SampleTrackView - - - Track volume - Громкость дорожки - - - - Channel volume: - Громкость канала: - - - - VOL - УР - - - - Panning - Баланс - - - - Panning: - Баланс: - - - - PAN - БАЛ - - - - Channel %1: %2 - ЭФ %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - ОСНОВНЫЕ НАСТРОЙКИ - - - - Sample volume - Громкость сэмпла - - - - Volume: - Громкость: - - - - VOL - ГРОМК - - - - Panning - Баланс - - - - Panning: - Баланс: - - - - PAN - БАЛ - - - - Mixer channel - Канал ЭФ - - - - CHANNEL - ЭФ - - - - SaveOptionsWidget - - - Discard MIDI connections - Отклонить MIDI-соединения - - - - Save As Project Bundle (with resources) - - - - - SetupDialog - - - Reset to default value - Сбросить до настроек по умолчанию - - - - Use built-in NaN handler - Использовать встроенный Nan-обработчик - - - - Settings - Настройки - - - - - General - Основные - - - - Graphical user interface (GUI) - Графический интерфейс пользователя (GUI) - - - - Display volume as dBFS - Отображать громкость в децибелах - - - - Enable tooltips - Включить подсказки - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - Показывать боковую панель справа - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - Отключать дорожки автоматизации во время соло - - - - Show warning when deleting tracks - - - - - Projects - Проекты - - - - Compress project files by default - По умолчанию сжимать файлы проекта - - - - Create a backup file when saving a project - Создавать резервные копии при сохранении проекта - - - - Reopen last project on startup - Открывать последний проект при запуске - - - - Language - Язык - - - - - Performance - Производительность - - - - Autosave - Автосохранение - - - - Enable autosave - Включить автоматическое сохранение - - - - Allow autosave while playing - Разрешить автосохранение во время воспроизведения. - - - - User interface (UI) effects vs. performance - Эффекты интерфейса и производительность - - - - Smooth scroll in song editor - Плавная прокрутка в редакторе композиции - - - - Display playback cursor in AudioFileProcessor - Показывать указатель воспроизведения в процессоре звуковых файлов - - - - Plugins - Модули - - - - VST plugins embedding: - Встраивание VST-плагинов: - - - - No embedding - Не встраивать - - - - Embed using Qt API - Встроить с использованием Qt API - - - - Embed using native Win32 API - Встроить с использованием Win32 API - - - - Embed using XEmbed protocol - Встроить с использованием протокола XEmbed - - - - Keep plugin windows on top when not embedded - Держать окна плагинов поверху, если не встроены - - - - Sync VST plugins to host playback - Синхронизировать VST плагины с хостом воспроизведения - - - - Keep effects running even without input - Продолжать работу эффектов даже без входящего сигнала - - - - - Audio - Аудио - - - - Audio interface - Аудио-интерфейс - - - - HQ mode for output audio device - Высококачественный режим аудио-устройства - - - - Buffer size - Размер буфера - - - - - MIDI - MIDI - - - - MIDI interface - Интерфейс MIDI - - - - Automatically assign MIDI controller to selected track - Автоматически назначать MIDI-контроллер на выбранную дорожку - - - - LMMS working directory - Рабочий каталог LMMS - - - - VST plugins directory - Каталог модулей VST - - - - LADSPA plugins directories - Каталог модулей LADSPA - - - - SF2 directory - Папка SF2 - - - - Default SF2 - Файл SF2 по умолчанию - - - - GIG directory - Папка GIG - - - - Theme directory - Папка для тем - - - - Background artwork - Фоновое изображение - - - - Some changes require restarting. - Некоторые изменения требуют перезагрузки программы. - - - - Autosave interval: %1 - Интервал автосохранения: %1 - - - - Choose the LMMS working directory - Выбрать рабочий каталог LMMS - - - - Choose your VST plugins directory - Выбрать каталог плагинов VST - - - - Choose your LADSPA plugins directory - Выбрать каталог плагинов LADSPA - - - - Choose your default SF2 - Выберите основной SF2 - - - - Choose your theme directory - Выберите свою папку для тем - - - - Choose your background picture - Выберите свою картинку фона - - - - - Paths - Пути - - - - OK - ОК - - - - Cancel - Отмена - - - - Frames: %1 -Latency: %2 ms - Фрагментов: %1 -Отклик: %2 мс - - - - Choose your GIG directory - Выберите вашу папку GIG - - - - Choose your SF2 directory - Выберите вашу папку SF2 - - - - minutes - Минуты - - - - minute - Минута - - - - Disabled - Отключено - - - - SidInstrument - - - Cutoff frequency - Частота среза - - - + Resonance Резонанс - - Filter type - Тип фильтра + + Feedback + Обратная связь - - Voice 3 off - Голос 3 откл. - - - - Volume - Громкость - - - - Chip model - Модель чипа + + DC Offset Removal + - SidInstrumentView + lmms::DualFilterControls - - Volume: - Уровень громкости: + + Filter 1 enabled + Фильтр 1 включен - - Resonance: - Резонанс: + + Filter 1 type + Фильтр 1 тип - - - Cutoff frequency: - Частота среза: + + Cutoff frequency 1 + Частота среза 1 - - High-pass filter - Фильтр верхних частот + + Q/Resonance 1 + Q/Резонанс 1 - - Band-pass filter - Полосовой фильтр + + Gain 1 + Усиление 1 - - Low-pass filter - Фильтр нижних частот + + Mix + Микс - - Voice 3 off - Голос 3 откл. + + Filter 2 enabled + Фильтр 2 включен - - MOS6581 SID - MOS6581 SID + + Filter 2 type + Фильтр 2 тип - - MOS8580 SID - MOS8580 SID + + Cutoff frequency 2 + Частота среза 2 - - - Attack: - Атака: + + Q/Resonance 2 + Q/Резонанс 2 - - - Decay: - Спад: + + Gain 2 + Усиление 2 - - Sustain: - Выдержка: + + + Low-pass + Пропуск низких - - - Release: - Затухание: + + + Hi-pass + Пропуск высоких - - Pulse Width: - Длина импульса: + + + Band-pass csg + - - Coarse: - Грубо: + + + Band-pass czpg + - - Pulse wave - Пульсирующая волна + + + Notch + Вырез - - Triangle wave - Треугольная волна + + + All-pass + Пропускать все - - Saw wave - Пило-волна + + + Moog + Муг - + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + RC полосовой 12 дБ/окт + + + + + RC High-pass 12 dB/oct + RC ФВЧ 12 дБ/окт + + + + + RC Low-pass 24 dB/oct + RC ФНЧ 24 дБ/окт + + + + + RC Band-pass 24 dB/oct + RC полосовой 24 дБ/окт + + + + + RC High-pass 24 dB/oct + RC ФВЧ 24 дБ/окт + + + + + Vocal Formant + Формантный + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + Трёхполюсный + + + + lmms::DynProcControls + + + Input gain + Входное усиление + + + + Output gain + Выходное усиление + + + + Attack time + Время атаки + + + + Release time + Время затухания + + + + Stereo mode + Режим стерео + + + + lmms::Effect + + + Effect enabled + Эффект включён + + + + Wet/Dry mix + + + + + Gate + Порог + + + + Decay + Спад + + + + lmms::EffectChain + + + Effects enabled + Эффекты включены + + + + lmms::Engine + + + Generating wavetables + Генерация волновых таблиц + + + + Initializing data structures + Инициализация структуры данных + + + + Opening audio and midi devices + Открываем аудио и MIDI-устройства + + + + Launching audio engine threads + Запускаем потоки микшера + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Огиб предзадержка + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + LFO предзадержка + + + + LFO attack + Атака LFO + + + + LFO frequency + Частота LFO + + + + LFO mod amount + Глубина мод LFO + + + + LFO wave shape + Форма LFO волны + + + + LFO frequency x 100 + Частота x 100 LFO + + + + Modulate env amount + Модулировать уровень огибающей + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + Входное усиление + + + + Output gain + Выходное усиление + + + + Low-shelf gain + Усиление уровня низких + + + + Peak 1 gain + Пик 1 усиление + + + + Peak 2 gain + Пик 2 усиление + + + + Peak 3 gain + Пик 3 усиление + + + + Peak 4 gain + Пик 4 усиление + + + + High-shelf gain + Усиление уровня высоких + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + НЧ активна + + + + LP 12 + НЧ 12 + + + + LP 24 + НЧ 24 + + + + LP 48 + НЧ 48 + + + + HP 12 + ВЧ 12 + + + + HP 24 + ВЧ 24 + + + + HP 48 + ВЧ 48 + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + Фаза стерео + + + + Feedback + + + + Noise Шум - + + Invert + Инвертировать + + + + lmms::FreeBoyInstrument + + + Sweep time + Время колебаний + + + + Sweep direction + Направление колебаний + + + + Sweep rate shift amount + Величина сдвига частоты колебаний + + + + + Wave pattern duty cycle + Рабочий цикл волны + + + + Channel 1 volume + Громкость 1 канала + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + Громкость 2 канала + + + + Channel 3 volume + Громкость 3 канала + + + + Channel 4 volume + Громкость 4 канала + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + Верхние + + + + Bass + Басы + + + + lmms::GigInstrument + + + Bank + Банк + + + + Patch + Патч + + + + Gain + Усиление + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + Арпеджио + + + + Arpeggio type + Тип арпеджио + + + + Arpeggio range + Диапазон арпеджио + + + + Note repeats + + + + + Cycle steps + Шагов в цикле + + + + Skip rate + Частота пропуска + + + + Miss rate + Частость обхода + + + + Arpeggio time + Период арпеджио + + + + Arpeggio gate + Шлюз арпеджио + + + + Arpeggio direction + Направление арпеджио + + + + Arpeggio mode + Режим арпеджио + + + + Up + Вверх + + + + Down + Вниз + + + + Up and down + Вверх и вниз + + + + Down and up + Вниз и вверх + + + + Random + Случайно + + + + Free + Свободно + + + + Sort + Упорядочить + + + Sync Синхро + + + lmms::InstrumentFunctionNoteStacking - - Ring modulation - Круговая модуляция + + Chords + Аккорды - - Filtered - Фильтр. + + Chord type + Тип аккорда - - Test - Тест - - - - Pulse width: - Длина импульса + + Chord range + Диапазон аккорда - SideBarWidget + lmms::InstrumentSoundShaping - - Close - Закрыть + + Envelopes/LFOs + Огибание/LFO + + + + Filter type + Тип фильтра + + + + Cutoff frequency + Частота среза + + + + Q/Resonance + Q/Резонанс + + + + Low-pass + Пропуск низких + + + + Hi-pass + Пропуск высоких + + + + Band-pass csg + Полосовой csg + + + + Band-pass czpg + Полосовой czpg + + + + Notch + Вырез + + + + All-pass + Пропускать все + + + + Moog + Муг + + + + 2x Low-pass + 2x ФНЧ + + + + RC Low-pass 12 dB/oct + RC ФНЧ 12дБ/окт + + + + RC Band-pass 12 dB/oct + RC полосовой 12 дБ/окт + + + + RC High-pass 12 dB/oct + RC ФВЧ 12 дБ/окт + + + + RC Low-pass 24 dB/oct + RC ФНЧ 24 дБ/окт + + + + RC Band-pass 24 dB/oct + RC полосовой 24 дБ/окт + + + + RC High-pass 24 dB/oct + RC ФВЧ 24 дБ/окт + + + + Vocal Formant + Формантный + + + + 2x Moog + 2x Муг + + + + SV Low-pass + SV нижних частот + + + + SV Band-pass + SV полосовой + + + + SV High-pass + SV верхних частот + + + + SV Notch + SV Notch (вырез) + + + + Fast Formant + Быстрый формантный + + + + Tripole + Трёхполюсный - Song + lmms::InstrumentTrack - - Tempo - Темп + + + unnamed_track + дорожка без имени - - Master volume - Главная громкость + + Base note + Опорная нота - + + First note + Первая нота + + + + Last note + + + + + Volume + Громкость + + + + Panning + Баланс + + + + Pitch + Тональность + + + + Pitch range + Диапазон тональности + + + + Mixer channel + Канал микшера + + + Master pitch Основной тон - - Aborting project load + + Enable/Disable MIDI CC - - Project file contains local paths to plugins, which could be used to run malicious code. + + CC Controller %1 - - Can't load project: Project file contains local paths to plugins. - - - - - LMMS Error report - Отчет об ошибке LMMS - - - - (repeated %1 times) - - - - - The following errors occurred while loading: - Во время загрузки произошли следующие ошибки: + + + Default preset + Основная предустановка - SongEditor + lmms::Keymap - - Could not open file - Не удалось открыть файл + + empty + пусто + + + + lmms::KickerInstrument + + + Start frequency + Начальная частота - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Не удалось открыть файл %1. Вероятно, у вас нет прав на его чтение. -Проверьте, есть ли у вас права на чтение этого файла и попробуйте снова. + + End frequency + Конечная частота - - Operation denied + + Length + Длина + + + + Start distortion + Начало перегруза + + + + End distortion + Конец перегруза + + + + Gain + Усиление + + + + Envelope slope + Уклон огибающей + + + + Noise + Шум + + + + Click + Щелчок + + + + Frequency slope + Уклон частоты + + + + Start from note + Начать с ноты + + + + End to note + Закончить нотой + + + + lmms::LOMMControls + + + Depth - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + Time - - - - Error - Ошибка - - - - Couldn't create bundle folder. + + Input Volume - - Couldn't create resources folder. + + Output Volume - - Failed to copy resources. + + Upward Depth - - Could not write file - Не удалось записать файл - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. + + Downward Depth - - This %1 was created with LMMS %2 + + High/Mid Split - - Error in file - Ошибка в файле + + Mid/Low Split + - - The file %1 seems to contain errors and therefore can't be loaded. - Файл %1 возможно содержит ошибки, поэтому не может загрузиться. + + Enable High/Mid Split + - - Version difference - Различия версий + + Enable Mid/Low Split + - - template - шаблон + + Enable High Band + - - project - проект + + Enable Mid Band + - + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + Связать каналы + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + Запрошен неизвестный плагин LADSPA %1. + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + Частота среза VCF + + + + VCF Resonance + Резонанс VCF + + + + VCF Envelope Mod + Мод Огибающей VCF + + + + VCF Envelope Decay + Спад огибающей VCF + + + + Distortion + Перегруз + + + + Waveform + Форма волны + + + + Slide Decay + Сдвиг спада + + + + Slide + Сдвиг + + + + Accent + Акцент + + + + Dead + Глухо + + + + 24dB/oct Filter + 24дБ/окт фильтр + + + + lmms::LfoController + + + LFO Controller + Контроллер LFO + + + + Base value + Опорное значение + + + + Oscillator speed + Скорость волны + + + + Oscillator amount + Размер волны + + + + Oscillator phase + Фаза волны + + + + Oscillator waveform + Форма волны + + + + Frequency Multiplier + Множитель частоты + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + Жёсткость + + + + Position + Позиция + + + + Vibrato gain + Усиление вибрато + + + + Vibrato frequency + Частота вибрато + + + + Stick mix + + + + + Modulator + Модулятор + + + + Crossfade + Переход + + + + LFO speed + Скорость LFO + + + + LFO depth + Глубина LFO + + + + ADSR + ADSR + + + + Pressure + Давление + + + + Motion + Движение + + + + Speed + Скорость + + + + Bowed + Наклон + + + + Instrument + + + + + Spread + Разброс + + + + Randomness + + + + + Marimba + Маримба + + + + Vibraphone + Вибрафон + + + + Agogo + Агого + + + + Wood 1 + Дерево 1 + + + + Reso + Резо + + + + Wood 2 + Дерево 2 + + + + Beats + Удары + + + + Two fixed + Два постоянно + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + Стекло + + + + Tibetan bowl + Тибетская чаша + + + + lmms::MeterModel + + + Numerator + Число долей + + + + Denominator + Длительность доли + + + + lmms::Microtuner + + + Microtuner + Микротюнер + + + + Microtuner on / off + Микротюнер вкл/выкл + + + + Selected scale + Выбранный масштаб + + + + Selected keyboard mapping + Выбранная раскладка клавиатуры + + + + lmms::MidiController + + + MIDI Controller + Контроллер MIDI + + + + unnamed_midi_controller + MIDI-контроллер без имени + + + + lmms::MidiImport + + + + Setup incomplete + Установка не завершена + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Вы не установили основной SoundFont в настройках (Правка -> Параметры). Поэтому звук не будет воспроизводиться после импортирования этого MIDI-файла. Вам следует загрузить General MIDI SoundFont, определить его в настройках и попробовать снова. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + Вы не включили поддержку проигрывателя SoundFont2 при компиляции LMMS, он используется для добавления основного звука в импортируемые MIDI-файлы, поэтому звука не будет после импорта этого MIDI-файла. + + + + MIDI Time Signature Numerator + Число долей времени MIDI + + + + MIDI Time Signature Denominator + Длительность доли времени MIDI + + + + Numerator + Число долей + + + + Denominator + Длительность доли + + + + Tempo Темп - - TEMPO - ТЕМП - - - - Tempo in BPM - Темп в BPM - - - - High quality mode - Высокое качество - - - - - - Master volume - Главная громкость - - - - - - Master pitch - Основной тон - - - - Value: %1% - Значение: %1% - - - - Value: %1 semitones - Полутонов: %1 + + Track + Дорожка - SongEditorWindow + lmms::MidiJack - - Song-Editor - Композитор + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + Cервер JACK выключен - - Play song (Space) - Играть песню (пробел) - - - - Record samples from Audio-device - Записать сэмпл со звукового устройства - - - - Record samples from Audio-device while playing song or BB track - Записать сэмпл с аудио-устройства во время воспроизведения -в музыкальном или ритм/бас редакторе - - - - Stop song (Space) - Остановить песню (пробел) - - - - Track actions - Панель трека - - - - Add beat/bassline - Добавить ритм/бас - - - - Add sample-track - Добавить дорожку записи - - - - Add automation-track - Добавить дорожку автоматизации - - - - Edit actions - Панель правки - - - - Draw mode - Режим рисования - - - - Knife mode (split sample clips) - - - - - Edit mode (select and move) - Режим исправлений (выбирать и двигать) - - - - Timeline controls - Контроль таймлайна - - - - Bar insert controls - - - - - Insert bar - - - - - Remove bar - - - - - Zoom controls - Управление приближением. - - - - Horizontal zooming - Горизонтальное приближение - - - - Snap controls - Контроль выравнивания - - - - - Clip snapping size - Ограничить размер выравнивания - - - - Toggle proportional snap on/off - Вкл./выкл. пропорциональное выравнивание - - - - Base snapping size - Базовый размер выравнивания + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + JACK-сервер, похоже, не запущен. - StepRecorderWidget + lmms::MidiPort - - Hint - Подсказка + + Input channel + Канал входа - - Move recording curser using <Left/Right> arrows - Двигать курсор записи стрелками влево-вправо + + Output channel + Канал выхода + + + + Input controller + Контроллер входа + + + + Output controller + Контроллер выхода + + + + Fixed input velocity + Постоянная скорость ввода + + + + Fixed output velocity + Постоянная скорость вывода + + + + Fixed output note + Постоянный вывод нот + + + + Output MIDI program + Программа для вывода MIDI + + + + Base velocity + Базовая скорость + + + + Receive MIDI-events + Принимать события MIDI + + + + Send MIDI-events + Отправлять события MIDI - SubWindow + lmms::Mixer - - Close - Закрыть + + Master + Главный - - Maximize - Развернуть + + + + Channel %1 + Канал %1 - - Restore - Восстановить - - - - TabWidget - - - - Settings for %1 - Настройки для %1 - - - - TemplatesMenu - - - New from template - Создать на основе шаблона - - - - TempoSyncKnob - - - - Tempo Sync - Синхронизация темпа + + Volume + Громкость - - No Sync - Без синхронизации - - - - Eight beats - Восемь ударов - - - - Whole note - Целая нота - - - - Half note - Половинная нота - - - - Quarter note - Четвертная нота - - - - 8th note - Восьмая нота - - - - 16th note - 1/16 нота - - - - 32nd note - 1/32 нота - - - - Custom... - Своя... - - - - Custom - Своя - - - - Synced to Eight Beats - Синхро по 8 ударам - - - - Synced to Whole Note - Синхро по целой ноте - - - - Synced to Half Note - Синхро по половинной ноте - - - - Synced to Quarter Note - Синхро по четвертной ноте - - - - Synced to 8th Note - Синхро по 1/8 ноте - - - - Synced to 16th Note - Синхро по 1/16 ноте - - - - Synced to 32nd Note - Синхро по 1/32 ноте - - - - TimeDisplayWidget - - - Time units - Единицы времени - - - - MIN - МИН - - - - SEC - СЕК - - - - MSEC - мСЕК - - - - BAR - ДЕЛЕНИЕ - - - - BEAT - БИТ - - - - TICK - ТИК - - - - TimeLineWidget - - - Auto scrolling - Авто-перемотка - - - - Loop points - Точки петли - - - - After stopping go back to beginning - После остановки возвращаться в начало - - - - After stopping go back to position at which playing was started - После остановки переходить к месту, с которого началось воспроизведение - - - - After stopping keep position - Оставаться на месте остановки - - - - Hint - Подсказка - - - - Press <%1> to disable magnetic loop points. - Нажмите <%1>, чтобы убрать прилипание точек петли. - - - - Track - - + Mute Заглушить - + Solo Соло - TrackContainer + lmms::MixerRoute - - Couldn't import file - Не удалось импортировать файл + + + Amount to send from channel %1 to channel %2 + Величина отправки с канала %1 на канал %2 + + + + lmms::MonstroInstrument + + + Osc 1 volume + - + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + Синусоида + + + + Bandlimited Triangle wave + Тембр. треугольная волна + + + + Bandlimited Saw wave + Тембр. пило-волна + + + + Bandlimited Ramp wave + Тембр. пологая волна + + + + Bandlimited Square wave + Тембр. квадратная волна + + + + Bandlimited Moog saw wave + Тембр. Муг пило-волна + + + + + Soft square wave + Сглаженная квадратная волна + + + + Absolute sine wave + Идеальная синусоида + + + + + Exponential wave + Экспоненциальная волна + + + + White noise + Белый шум + + + + Digital Triangle wave + Цифровая треугольная волна + + + + Digital Saw wave + Цифровая пило-волна + + + + Digital Ramp wave + Цифровая пологая волна + + + + Digital Square wave + Цифровая квадратная волна + + + + Digital Moog saw wave + Цифровая Муг пило-волна + + + + Triangle wave + Треугольная волна + + + + Saw wave + Пилообразная волна + + + + Ramp wave + Пологая волна + + + + Square wave + Квадратная волна + + + + Moog saw wave + Муг пило-волна + + + + Abs. sine wave + Идеальная синусоида + + + + Random + Случайно + + + + Random smooth + Случайное сглаживание + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + Грубая подстройка канала 1 + + + + Channel 1 volume + Громкость 1 канала + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + Длительность огибающей канала 1 + + + + Channel 1 duty cycle + Рабочий цикл канала 1 + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + Уровень колебаний канала 1 + + + + Channel 1 sweep rate + Частота колебаний канала 1 + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + Длительность огибающей канала 2 + + + + Channel 2 duty cycle + Рабочий цикл канала 2 + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + Уровень колебаний канала 2 + + + + Channel 2 sweep rate + Частота колебаний канала 2 + + + + Channel 3 enable + + + + + Channel 3 coarse detune + Грубая подстройка канала 3 + + + + Channel 3 volume + Громкость 3 канала + + + + Channel 4 enable + + + + + Channel 4 volume + Громкость 4 канала + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + Длительность огибающей канала 4 + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + Частота шума канала 4 + + + + Channel 4 noise frequency sweep + Частота помех колебаний канала 4 + + + + Channel 4 quantize + + + + + Master volume + Главная громкость + + + + Vibrato + Вибрато + + + + lmms::OpulenzInstrument + + + Patch + Патч + + + + Op 1 attack + Оп 1 атака + + + + Op 1 decay + Оп 1 спад + + + + Op 1 sustain + Оп 1 выдержка + + + + Op 1 release + Оп 1 затухание + + + + Op 1 level + Оп 1 уровень + + + + Op 1 level scaling + Оп 1 увеличение уровня + + + + Op 1 frequency multiplier + Оп 1 множитель частоты + + + + Op 1 feedback + Оп 1 возврат + + + + Op 1 key scaling rate + Оп 1 скорость увеличения нот + + + + Op 1 percussive envelope + Оп 1 огибающая ударников + + + + Op 1 tremolo + Оп 1 тремоло + + + + Op 1 vibrato + Оп 1 вибрато + + + + Op 1 waveform + Оп 1 форма волны + + + + Op 2 attack + Оп 2 атака + + + + Op 2 decay + Оп 2 спад + + + + Op 2 sustain + Оп 2 выдержка + + + + Op 2 release + Оп 2 затухание + + + + Op 2 level + Оп 2 уровень + + + + Op 2 level scaling + Оп 2 увеличение уровня + + + + Op 2 frequency multiplier + Оп 2 множитель частоты + + + + Op 2 key scaling rate + Оп 2 скорость увеличения нот + + + + Op 2 percussive envelope + Оп 2 огибающая ударников + + + + Op 2 tremolo + Оп 2 Тремоло + + + + Op 2 vibrato + Оп 2 Вибрато + + + + Op 2 waveform + Оп 2 Волна + + + + FM + FM + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + Перегруз + + + + Volume + Громкость + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + Атака + + + + Release + Затухание + + + + Treshold + Порог + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + Размер + + + + Color + Цвет + + + + Output gain + + + + + lmms::SaControls + + + Pause + Пауза + + + + Reference freeze + + + + + Waterfall + Спад + + + + Averaging + Усреднение + + + + Stereo + Стерео + + + + Peak hold + + + + + Logarithmic frequency + + + + + Logarithmic amplitude + + + + + Frequency range + + + + + Amplitude range + + + + + FFT block size + + + + + FFT window type + + + + + Peak envelope resolution + + + + + Spectrum display resolution + + + + + Peak decay multiplier + + + + + Averaging weight + + + + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + + FFT zero padding + + + + + + Full (auto) + + + + + + + Audible + Слышимые + + + + Bass + Басы + + + + Mids + Средние + + + + High + Высокие + + + + Extended + Расширенно + + + + Loud + Громкие + + + + Silent + Тихие + + + + (High time res.) + + + + + (High freq. res.) + + + + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + Хэмминг (Сглажив) + + + + Hanning + Хэннинга (Сглажив) + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + Громкость + + + + Panning + Баланс + + + + Mixer channel + + + + + + Sample track + + + + + lmms::Scale + + + empty + пусто + + + + lmms::Sf2Instrument + + + Bank + Банк + + + + Patch + Патч + + + + Gain + Усиление + + + + Reverb + Реверберация + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + Хорус + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + Волна + + + + lmms::SidInstrument + + + Cutoff frequency + + + + + Resonance + Резонанс + + + + Filter type + + + + + Voice 3 off + + + + + Volume + Громкость + + + + Chip model + + + + + lmms::SlicerT + + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + Темп + + + + Master volume + + + + + Master pitch + + + + + Aborting project load + + + + + Project file contains local paths to plugins, which could be used to run malicious code. + + + + + Can't load project: Project file contains local paths to plugins. + + + + + LMMS Error report + + + + + (repeated %1 times) + + + + + The following errors occurred while loading: + + + + + lmms::StereoEnhancerControls + + + Width + Ширина + + + + lmms::StereoMatrixControls + + + Left to Left + + + + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + Заглушить + + + + Solo + Соло + + + + lmms::TrackContainer + + + Couldn't import file + + + + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - Не удалось найти фильтр для импорта файла %1. -Преобразуйте его в формат, поддерживаемый LMMS, используя стороннее ПО. + - + Couldn't open file - Не удалось открыть файл + - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - Не удалось открыть файл %1 для записи. -Проверьте, обладаете ли вы правами на чтение файла и содержащий его каталог и попробуйте снова! + - + Loading project... - Загрузка проекта... + - - + + Cancel Отмена - - + + Please wait... - Подождите, пожалуйста... + - + Loading cancelled - Загрузка отменена. + - + Project loading was cancelled. - Загрузка проекта была отменена. + - + Loading Track %1 (%2/Total %3) - Загружается дорожка %1 (%2 из %3) + - + Importing MIDI-file... - Импортирую файл MIDI... + - Clip + lmms::TripleOscillator - - Mute - Заглушить + + Sample not found + - ClipView + lmms::VecControls - + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + .fxp + + + + .FXP + .FXP + + + + .FXB + .FXB + + + + .fxb + .fxb + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + Портаменто + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + Полоса пропускания + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + Граф + + + + lmms::gui::AmplifierControlDialog + + + VOL + ГРОМК + + + + Volume: + Громкость: + + + + PAN + БАЛ + + + + Panning: + Баланс: + + + + LEFT + СЛЕВА + + + + Left gain: + + + + + RIGHT + СПРАВА + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + Усиление: + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + Очистить + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + Жёсткость: + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + Квантование + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + ЧАСТ + + + + Frequency: + Частота: + + + + GAIN + УСИЛ + + + + Gain: + Усиление: + + + + RATIO + ОТНОШ + + + + Ratio: + Отношение: + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + Интерполяция + + + + Normalize + Нормализовать + + + + lmms::gui::BitcrushControlDialog + + + IN + ВХ + + + + OUT + ВЫХ + + + + + GAIN + УСИЛ + + + + Input gain: + + + + + NOISE + ШУМ + + + + Input noise: + + + + + Output gain: + + + + + CLIP + СРЕЗ + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + ЧАСТ + + + + Sample rate: + + + + + STEREO + СТЕРЕО + + + + Stereo difference: + + + + + QUANT + КВАНТ + + + + Levels: + Уровни: + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + Поиск.. + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + Current position - Текущая позиция + - + Current length - Текущая длительность + - - + + %1:%2 (%3:%4 to %5:%6) - %1:%2 (от %3:%4 до %5:%6) + - + Press <%1> and drag to make a copy. - Удерживайте <%1> при перетаскивании, чтобы создать копию. + - + Press <%1> for free resizing. - Для свободного изменения размера нажмите <%1>. + - + Hint Подсказка - + Delete (middle mousebutton) - Удалить (средняя кнопка мыши) + - + Delete selection (middle mousebutton) - Удалить выделенное (средняя кнопка мыши) + - + Cut Вырезать - + Cut selection - Вырезать выделенное + - + Merge Selection - + Copy Копировать - + Copy selection - Копировать выделенное + - + Paste Вставить - + Mute/unmute (<%1> + middle click) - Тихо/громко (<%1> + щелчок средней кнопкой) + - + Mute/unmute selection (<%1> + middle click) - Отключить или включить звук для выделенного (<%1> + средняя кнопка мыши) + - - Set clip color - Установить цвет клипа + + Clip color + - - Use track color - Использовать цвет дорожки + + Change + Изменить + + + + Reset + Сброс + + + + Pick random + - TrackContentWidget + lmms::gui::CompressorControlDialog - + + Threshold: + Пороговый уровень: + + + + Volume at which the compression begins to take place + + + + + Ratio: + Отношение: + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + Атака: + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + Затухание: + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + Диапазон: + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + Удержание: + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + Микс: + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + Усиление + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + Пик + + + + Use absolute value of the input + + + + + Left/Right + Левый/правый + + + + Compress left and right audio + + + + + Mid/Side + Середина/стороны + + + + Compress mid and side audio + + + + + Compressor + Компрессор + + + + Compress the audio + + + + + Limiter + Лимитер + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + Максимум + + + + Compress based on the loudest channel + + + + + Average + Среднее + + + + Compress based on the averaged channel volume + + + + + Minimum + Минимум + + + + Compress based on the quietest channel + + + + + Blend + Смешать + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + КАНАЛ + + + + Input controller + + + + + CONTROLLER + КОНТРОЛЛЕР + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + ОК + + + + Cancel + Отмена + + + + LMMS + LMMS + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + Добавить + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + Контроль + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + ГНЧ + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + ЗАДЕРЖ + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + ЧАСТ + + + + LFO frequency + + + + + AMNT + ГЛУБ + + + + LFO amount + + + + + Out gain + + + + + Gain + Усиление + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + ЧАСТ + + + + + Cutoff frequency + + + + + + RESO + РЕЗО + + + + + Resonance + Резонанс + + + + + GAIN + УСИЛ + + + + + Gain + Усиление + + + + MIX + МИКС + + + + Mix + Микс + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + ВХОД + + + + Input gain: + + + + + OUTPUT + ВЫХОД + + + + Output gain: + + + + + ATTACK + АТАКА + + + + Peak attack time: + + + + + RELEASE + ЗАТУХАНИЕ + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + Запись + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + Имя + + + + Type + Тип + + + + All + + + + + Search + + + + + Description + Описание + + + + Author + Автор + + + + lmms::gui::EffectView + + + On/Off + Вкл/Выкл + + + + W/D + + + + + Wet Level: + + + + + DECAY + СПАД + + + + Time: + Время: + + + + GATE + ПОРОГ + + + + Gate: + Порог: + + + + Controls + Контроль + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + КОЛ + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + Предзадержка: + + + + + ATT + АТАК + + + + + Attack: + Атака: + + + + HOLD + УДЕРЖ + + + + Hold: + Удержание: + + + + DEC + СПАД + + + + Decay: + Спад: + + + + SUST + ВЫДЕРЖ + + + + Sustain: + Выдержка: + + + + REL + ЗАТУХ + + + + Release: + Затухание: + + + + SPD + СКРСТ + + + + Frequency: + Частота: + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + Подсказка + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + ВЧ + + + + Low-shelf + Уровень низких + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + Уровень высоких + + + + LP + НЧ + + + + Input gain + + + + + + + Gain + Усиление + + + + Output gain + + + + + Bandwidth: + Полоса пропускания: + + + + Octave + Октава + + + + Resonance: + + + + + Frequency: + Частота: + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + Резон: + + + + BW: + ДИАП: + + + + + Freq: + Част: + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + Ошибка + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + Проводник + + + + Search + Поиск + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + Ошибка + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + ЗАДЕРЖ + + + + Delay time: + + + + + RATE + ЧАСТ + + + + Period: + Период: + + + + AMNT + ВЕЛИЧ + + + + Amount: + Величина: + + + + PHASE + ФАЗА + + + + Phase: + Фаза: + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + ШУМ + + + + White noise amount: + + + + + Invert + Инвертировать + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + Верхние: + + + + Treble + Верхние + + + + Bass: + Нижние: + + + + Bass + Нижние + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + Усиление: + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + ARPEGGIO + + + + RANGE + ДИАП + + + + Arpeggio range: + + + + + octave(s) + октав(а/ы) + + + + REP + + + + + Note repeats: + + + + + time(s) + время + + + + CYCLE + ЦИКЛ + + + + Cycle notes: + + + + + note(s) + нота(ы) + + + + SKIP + ПРОПУСК + + + + Skip rate: + + + + + + + % + % + + + + MISS + + + + + Miss rate: + + + + + TIME + ВРЕМЯ + + + + Arpeggio time: + + + + + ms + мс + + + + GATE + ПОРОГ + + + + Arpeggio gate: + + + + + Chord: + Аккорд: + + + + Direction: + Направление: + + + + Mode: + Режим: + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + СКЛАДЫВ. + + + + Chord: + Аккорд: + + + + RANGE + ДИАП + + + + Chord range: + + + + + octave(s) + октав(а/ы) + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + УСКОР. + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + НОТА + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + РАЗМЕТКА + + + + FILTER + ФИЛЬТР + + + + FREQ + ЧАСТ + + + + Cutoff frequency: + + + + + Hz + Гц + + + + Q/RESO + УР/РЕЗО + + + + Q/Resonance: + УР/Резонанса: + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + Громкость + + + + Volume: + Громкость: + + + + VOL + ГРОМК + + + + Panning + Баланс + + + + Panning: + Баланс: + + + + PAN + БАЛ + + + + MIDI + MIDI + + + + Input + Вход + + + + Output + Выход + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + Громкость + + + + Volume: + Громкость: + + + + VOL + ГРОМК + + + + Panning + Баланс + + + + Panning: + Баланс: + + + + PAN + БАЛ + + + + Pitch + Тональность + + + + Pitch: + Тональность: + + + + cents + цент[а,ов] + + + + PITCH + ТОН + + + + Pitch range (semitones) + + + + + RANGE + ДИАП + + + + Mixer channel + + + + + CHANNEL + КАНАЛ + + + + Save current instrument track settings in a preset file + + + + + SAVE + СОХРАНИТЬ + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + Эффекты + + + + MIDI + MIDI + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + Плагин + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + Усиление: + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + Щелчок: + + + + Noise: + Шум: + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + Инструменты + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + Тип: + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + Канал + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + Значение: + + + + lmms::gui::LadspaDescription + + + Plugins + Плагины + + + + Description + Описание + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + Порты + + + + Name + Имя + + + + Rate + Частота + + + + Direction + Направление + + + + Type + Тип + + + + Min < Default < Max + + + + + Logarithmic + Логарифмический + + + + SR Dependent + + + + + Audio + Аудио + + + + Control + Контроль + + + + Input + Вход + + + + Output + Выход + + + + Toggled + Включено + + + + Integer + Целое + + + + Float + Дробное + + + + + Yes + Да + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + Резонанс: + + + + Env Mod: + + + + + Decay: + Спад: + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + Предыдущий + + + + + + Next + Следующий + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + ГНЧ + + + + BASE + БАЗА + + + + Base: + Основа: + + + + FREQ + ЧАСТ + + + + LFO frequency: + + + + + AMNT + ВЕЛИЧ + + + + Modulation amount: + + + + + PHS + ФАЗА + + + + Phase offset: + + + + + degrees + градусы + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + Восстановить + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + Отклонить + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + Громкости + + + + My Computer + + + + + Loading background picture + + + + + &File + &Файл + + + + &New + &Создать + + + + &Open... + &Открыть... + + + + &Save + &Сохранить + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + Импорт... + + + + E&xport... + &Экспорт... + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + &Выход + + + + &Edit + &Правка + + + + Undo + Отменить действие + + + + Redo + Вернуть действие + + + + Scales and keymaps + + + + + Settings + Настройки + + + + &View + &Вид + + + + &Tools + &Инструменты + + + + &Help + &Справка + + + + Online Help + + + + + Help + Справка + + + + About + О программе + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + Метроном + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + Громкость как dBFS + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + Позиция + + + + Position: + Позиция: + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + Модулятор + + + + Modulator: + Модулятор: + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + Устройство + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + Отправить на новую инструментальную дорожку + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + КАНАЛ + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + Настройки + + + + + General + Главное + + + + Graphical user interface (GUI) + Интерфейс + + + + Display volume as dBFS + Показывать громкость как dBFS + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + Показывать предупреждение при удалении используемого канала микшера + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + Проекты + + + + Compress project files by default + Сжимать файлы проекта по умолчанию + + + + Create a backup file when saving a project + Создать файл восстановления когда проект сохраняется + + + + Reopen last project on startup + + + + + Language + Язык + + + + + Performance + Производительность + + + + Autosave + Автосохранение + + + + Enable autosave + Включить автосохранение + + + + Allow autosave while playing + Разрешить автосохранение при воспроизведении + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + Плавная прокрутка в редакторе музыки + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + Плагины + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + Аудио + + + + Audio interface + Аудио-интерфейс + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + Каталоги плагинов LADSPA + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + ОК + + + + Cancel + Отмена + + + + minutes + минуты + + + + minute + минута + + + + Disabled + Отключено + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + Выберите каталог плагинов LADSPA + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + Выбрать фоновое изображение + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + Усиление: + + + + Apply reverb (if supported) + Применить реверберацию (если поддерживается) + + + + Room size: + Размер комнаты: + + + + Damping: + Приглушение: + + + + Width: + Ширина: + + + + + Level: + Уровень: + + + + Apply chorus (if supported) + Применить хорус (если поддерживается) + + + + Voices: + Голоса: + + + + Speed: + Скорость: + + + + Depth: + Глубина: + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + Громкость: + + + + Resonance: + Резонанс: + + + + + Cutoff frequency: + Частота среза: + + + + High-pass filter + Фильтр верхних частот + + + + Band-pass filter + Фильтр средних частот + + + + Low-pass filter + Фильтр нижних частот + + + + Voice 3 off + Голос 3 откл. + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + Атака: + + + + + Decay: + Спад: + + + + Sustain: + Выдержка: + + + + + Release: + Затухание: + + + + Pulse Width: + Длина импульса: + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + Шум + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + Тест + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + Закрыть + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + Ошибка + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + Ошибка в файле + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + Режим рисования + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + Режим исправлений (выбирать и двигать) + + + + Timeline controls + Контроль таймлайна + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + Управление приближением + + + + + Zoom + Масштаб + + + + Snap controls + Контроль выравнивания + + + + + Clip snapping size + Ограничить размер выравнивания + + + + Toggle proportional snap on/off + Вкл./выкл. пропорциональное выравнивание + + + + Base snapping size + Базовый размер выравнивания + + + + lmms::gui::StepRecorderWidget + + + Hint + Подсказка + + + + Move recording curser using <Left/Right> arrows + Двигать курсор записи стрелками влево-вправо + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + ШИРИНА + + + + Width: + Ширина: + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + От левого на левый: + + + + Left to Right Vol: + От левого на правый: + + + + Right to Left Vol: + От правого на левый: + + + + Right to Right Vol: + От правого на правый: + + + + lmms::gui::SubWindow + + + Close + Закрыть + + + + Maximize + Развернуть + + + + Restore + Восстановить + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + Точность + + + + Display in high precision + Отображение с высокой точностью + + + + 0.0 ms + + + + + Mute metronome + Выключить метроном + + + + Mute + Заглушить + + + + BPM in milliseconds + BPM в миллисекундах + + + + 0 ms + + + + + Frequency of BPM + Частота BPM + + + + 0.0000 hz + + + + + Reset + Сброс + + + + Reset counter and sidebar information + Сбросить счетчик и информацию на боковой панели + + + + Sync + + + + + Sync with project tempo + Синхронизация с темпом проекта + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + Своя... + + + + Custom + Своя + + + + Synced to Eight Beats + Синхро по 8 ударам + + + + Synced to Whole Note + Синхро по целой ноте + + + + Synced to Half Note + Синхро по половинной ноте + + + + Synced to Quarter Note + Синхро по четвертной ноте + + + + Synced to 8th Note + Синхро по 1/8 ноте + + + + Synced to 16th Note + Синхро по 1/16 ноте + + + + Synced to 32nd Note + Синхро по 1/32 ноте + + + + lmms::gui::TimeDisplayWidget + + + Time units + Единицы времени + + + + MIN + МИН + + + + SEC + СЕК + + + + MSEC + мСЕК + + + + BAR + ДЕЛЕНИЕ + + + + BEAT + БИТ + + + + TICK + ТИК + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + Авто-перемотка + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + Точки петли + + + + After stopping go back to beginning + После остановки возвращаться в начало + + + + After stopping go back to position at which playing was started + После остановки переходить к месту, с которого началось воспроизведение + + + + After stopping keep position + Оставаться на месте остановки + + + + Hint + Подсказка + + + + Press <%1> to disable magnetic loop points. + Нажмите <%1>, чтобы убрать прилипание точек петли. + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste Вставить - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. Удерживайте нажатой клавишу <%1> при щелчке по захвату перемещения, чтобы начать новое перетаскивание. @@ -13489,248 +17741,240 @@ Please make sure you have read-permission to the file and the directory containi Соло - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Удалённый трек будет невозможно восстановить. Удалить трек «%1»? - + Confirm removal - + Подтвердить удаление - + Don't ask again - + Больше не спрашивать - + Clone this track Клонировать дорожку - + Remove this track Удалить дорожку - + Clear this track Очистить эту дорожку - + Channel %1: %2 - ЭФ %1: %2 + Канал %1: %2 - - Assign to new mixer Channel - Назначить на другой канал ЭФфектов + + Assign to new Mixer Channel + Назначить на новый канал микшера - + Turn all recording on Включить всё на запись - + Turn all recording off Выключить всю запись + + + Track color + Цвет дорожки + - Change color - Изменить цвет + Change + Изменить + + + + Reset + Сброс - Reset color to default - Установить цвет по умолчанию + Pick random + Выбрать случайно - Set random color - Выбрать случайный цвет - - - - Clear clip colors - Очистить цвета клипа + Reset clip colors + Сбросить цвета клипа - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 Модулировать фазу осциллятора 1 сигналом с 2 - + Modulate amplitude of oscillator 1 by oscillator 2 Модулировать амплитуду осциллятора 1 сигналом с 2 - + Mix output of oscillators 1 & 2 Смешать выход осцилляторов 1 и 2 - + Synchronize oscillator 1 with oscillator 2 Синхронизировать осциллятор 1 с осц 2 - + Modulate frequency of oscillator 1 by oscillator 2 Модулировать частоту осциллятора 1 сигналом с 2 - + Modulate phase of oscillator 2 by oscillator 3 Модулировать фазу осциллятора 2 сигналом с 3 - + Modulate amplitude of oscillator 2 by oscillator 3 Модулировать амплитуду осциллятора 2 сигналом с 3 - + Mix output of oscillators 2 & 3 Смешать выход осцилляторов 2 и 3 - + Synchronize oscillator 2 with oscillator 3 Синхронизировать осциллятор 2 с осц 3 - + Modulate frequency of oscillator 2 by oscillator 3 Модулировать частоту осциллятора 2 сигналом с 3 - + Osc %1 volume: Громкость осц %1: - + Osc %1 panning: Баланс осц %1: - + Osc %1 coarse detuning: Грубая подстройка осц %1: - + semitones - полутон[а,ов] + полутона - + Osc %1 fine detuning left: Точная подстройка осц %1 слева: - - + + cents цент[а,ов] - + Osc %1 fine detuning right: Точная подстройка осц %1 справа: - + Osc %1 phase-offset: Сдвиг фазы осц %1: - - + + degrees ° - + Osc %1 stereo phase-detuning: Подстройка стерео-фазы осциллятора %1: - + Sine wave Синусоида - + Triangle wave Треугольная волна - + Saw wave - Пило-волна + Пилообразная волна - + Square wave - Квадрат-волна + Квадратная волна - + Moog-like saw wave Типа муг пило-волна - + Exponential wave Экспоненциальная волна - + White noise Белый шум - + User-defined wave - Своя волна + Пользовательская волна + + + + Use alias-free wavetable oscillators. + - VecControls - - - Display persistence amount - - - - - Logarithmic scale - Логарифмическая шкала - - - - High quality - Высокое качество - - - - VecControlsDialog - - - HQ - - + lmms::gui::VecControlsDialog + HQ + HQ + + + Double the resolution and simulate continuous analog-like trace. Удвоить разрешение и смоделировать непрерывное аналоговое отслеживание. @@ -13745,2618 +17989,782 @@ Please make sure you have read-permission to the file and the directory containi Отображать амплитуду на логарифмической шкале, чтобы лучше видеть маленькие значения. - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog + lmms::gui::VersionedSaveDialog - + Increment version number Увеличить номер версии - + Decrement version number Уменьшить номер версии - + Save Options Параметры сохранения - + already exists. Do you want to replace it? уже существует. Заменить? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin Открыть VST-плагин - + Control VST plugin from LMMS host Контроль VST-модуля из хоста LMMS - + Open VST plugin preset Открыть пресет VST-плагина - + Previous (-) Предыдущий (−) - + Save preset - Сохранить настройку + Сохранить пресет - + Next (+) Следующий (+) - + Show/hide GUI Показать/скрыть интерфейс - + Turn off all notes Выключить все ноты - + DLL-files (*.dll) Библиотеки DLL (*.dll) - + EXE-files (*.exe) Программы EXE (*.exe) - + + SO-files (*.so) + Файлы SO (*.so) + + + No VST plugin loaded Нет загруженного VST-модуля - + Preset Предустановка - + by от - + - VST plugin control - управление VST-плагином - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + Включить форму волны + + + + + Smooth waveform + Сгладить волну + + + + + Normalize waveform + Нормализовать форму волны + + + + + Sine wave + Синусоида + + + + + Triangle wave + Треугольная волна + + + + + Saw wave + Пилообразная волна + + + + + Square wave + Квадратная волна + + + + + White noise + Белый шум + + + + + User-defined wave + Пользовательская волна + + + + String volume: + Громкость струны: + + + + String stiffness: + Натяжение струны: + + + + Pick position: + Выберите позицию: + + + + Pickup position: + Положение звукоснимателя: + + + + String panning: + Стерео-баланс струны: + + + + String detune: + Подстройка струны: + + + + String fuzziness: + Расплывчатость струны: + + + + String length: + Длина струны: + + + + Impulse Editor + Редактор импульса + + + + Impulse + Импульс + + + + Enable/disable string + Включить/отключить струну + + + + Octave + Октава + + + + String + Струна + + + + lmms::gui::VstEffectControlDialog + + Show/hide Показать/скрыть - + Control VST plugin from LMMS host Контроль VST-модуля из хоста LMMS - + Open VST plugin preset Открыть пресет VST-плагина - + Previous (-) Предыдущий (−) - + Next (+) Следующий (+) - + Save preset - Сохранить настройку + Сохранить пресет - - + + Effect by: - Эффекты по: + Эффекты от: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VST-плагин %1 не загружается. - - - - Open Preset - Открыть предустановку - - - - - Vst Plugin Preset (*.fxp *.fxb) - Предустановка VST-плагина (*.fxp *.fxb) - - - - : default - : основные - - - - Save Preset - Сохранить настройку - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Загрузка плагина - - - - Please wait while loading VST plugin... - Пожалуйста, подождите пока грузится VST-плагин... - - - - WatsynInstrument - - - Volume A1 - Громкость А1 - - - - Volume A2 - Громкость А2 - - - - Volume B1 - Громкость B1 - - - - Volume B2 - Громкость B2 - - - - Panning A1 - Панорама А1 - - - - Panning A2 - Панорама А2 - - - - Panning B1 - Панорама В1 - - - - Panning B2 - Панорама В2 - - - - Freq. multiplier A1 - Множитель частоты А1 - - - - Freq. multiplier A2 - Множитель частоты А2 - - - - Freq. multiplier B1 - Множитель частоты B1 - - - - Freq. multiplier B2 - Множитель частоты B2 - - - - Left detune A1 - Подстройка левого А1 - - - - Left detune A2 - Подстройка левого A2 - - - - Left detune B1 - Подстройка левого B1 - - - - Left detune B2 - Подстройка левого B2 - - - - Right detune A1 - Подстройка правого A1 - - - - Right detune A2 - Подстройка правого A2 - - - - Right detune B1 - Подстройка правого B1 - - - - Right detune B2 - Подстройка правого B2 - - - - A-B Mix - Микс A-B - - - - A-B Mix envelope amount - Уровень A-B микса огибающей - - - - A-B Mix envelope attack - Атака A-B микса огибающей - - - - A-B Mix envelope hold - Удержание A-B микса огибающей - - - - A-B Mix envelope decay - Спад A-B микса огибающей - - - - A1-B2 Crosstalk - Смешивание A1-B2 - - - - A2-A1 modulation - A2-A1 Модуляция - - - - B2-B1 modulation - B2-B1 Модуляция - - - - Selected graph - Выбранный график - - - - WatsynView - - - - - + + + + Volume Громкость - - - - + + + + Panning Баланс - - - - + + + + Freq. multiplier Множитель частоты - - - - + + + + Left detune Подстройка слева + + + + + + - - - - - - cents центы - - - - + + + + Right detune Подстройка справа - + A-B Mix Микс A-B - + Mix envelope amount Уровень огибающей микса - + Mix envelope attack Атака огибающей микса - + Mix envelope hold Удержание огибающей микса - + Mix envelope decay Спад огибающей микса - + Crosstalk Смешивание - + Select oscillator A1 Выбрать генератор А1 - + Select oscillator A2 Выбрать генератор А2 - + Select oscillator B1 Выбрать генератор В1 - + Select oscillator B2 Выбрать генератор В2 - + Mix output of A2 to A1 Смешать выход А2 с А1 - + Modulate amplitude of A1 by output of A2 Модулировать амплитуду A1 выходом с A2 - + Ring modulate A1 and A2 Кольцевая модуляция A1 и A2 - + Modulate phase of A1 by output of A2 Модулировать фазу A1 выходом с A2 - + Mix output of B2 to B1 Смешать выход из B2 в B1 - + Modulate amplitude of B1 by output of B2 Модулировать амплитуду B1 выходом с B2 - + Ring modulate B1 and B2 Кольцевая модуляция B1 и B2 - + Modulate phase of B1 by output of B2 Модулировать фазу B1 выходом с B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Нарисуйте кривую сигнала, двигая зажатую мышь по этому графу. + Нарисуйте здесь свою собственную форму волны, перетащив мышь на этот график. - + Load waveform Загрузить форму волны - + Load a waveform from a sample file Загрузить форму волны из сэмпл-файла - + Phase left Фаза слева - + Shift phase by -15 degrees Сдвинуть фазу на -15° - + Phase right Фаза справа - + Shift phase by +15 degrees Сдвинуть фазу на +15° - - + + Normalize Нормализовать - - + + Invert Инвертировать - - + + Smooth Сгладить - - + + Sine wave Синусоида - - - + + + Triangle wave Треугольная волна - + Saw wave - Пило-волна + Пилообразная волна - - + + Square wave - Квадрат-волна + Квадратная волна - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - Выбранный график - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - Сглаживание W1 - - - - W2 smoothing - Сглаживание W2 - - - - W3 smoothing - Сглаживание W3 - - - - Panning 1 - Баланс 1 - - - - Panning 2 - Баланс 2 - - - - Rel trans - Реле перехода - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - Нарисуйте свою форму волны двигая зажатой мышью по графу. - - - - Select oscillator W1 - Выбрать осциллятор W1 - - - - Select oscillator W2 - Выбрать осциллятор W2 - - - - Select oscillator W3 - Выбрать осциллятор W3 - - - - Select output O1 - Выбрать выход О1 - - - - Select output O2 - Выбрать выход О2 - - - - Open help window - Открыть окно справки - - - - - Sine wave - Синусоида - - - - - Moog-saw wave - Муг пило-волна - - - - - Exponential wave - Экспоненциальная волна - - - - - Saw wave - Пило-волна - - - - - User-defined wave - Своя волна - - - - - Triangle wave - Треугольная волна - - - - - Square wave - Квадрат-волна - - - - - White noise - Белый шум - - - - WaveInterpolate - Волн. интерполяция - - - - ExpressionValid - ВыражениеВерно - - - - General purpose 1: - Общего назначения 1: - - - - General purpose 2: - Общего назначения 2: - - - - General purpose 3: - Общего назначения 3: - - - - O1 panning: - O1 баланс: - - - - O2 panning: - О2 баланс: - - - - Release transition: - Переход затухания: - - - - Smoothness - Гладкость - - - - ZynAddSubFxInstrument - - - Portamento - Портаменто - - - - Filter frequency - Частота фильтра - - - - Filter resonance - Резонанс фильтра - - - - Bandwidth - Полоса пропускания - - - - FM gain - FM усиление - - - - Resonance center frequency - Частота центра резонанса - - - - Resonance bandwidth - Полоса пропуска резонанса - - - - Forward MIDI control change events - Передавать события изменений MIDI управления - - - - ZynAddSubFxView - - - Portamento: - Портаменто: - - - - PORT - PORT - - - - Filter frequency: - Частота фильтра: - - - - FREQ - FREQ - - - - Filter resonance: - Резонанс фильтра: - - - - RES - RES - - - - Bandwidth: - Полоса пропускания: - - - - BW - BW - - - - FM gain: - FM усиление: - - - - FM GAIN - FM УСИЛ - - - - Resonance center frequency: - Частоты центра резонанса: - - - - RES CF - RES CF - - - - Resonance bandwidth: - Полоса пропуска резонанса: - - - - RES BW - RES BW - - - - Forward MIDI control changes - Передавать изменения MIDI управления - - - - Show GUI - Показать интерфейс - - - - AudioFileProcessor - - - Amplify - Усиление - - - - Start of sample - Начало сэмпла - - - - End of sample - Конец сэмпла - - - - Loopback point - Точка петли - - - - Reverse sample - Перевернуть сэмпл - - - - Loop mode - Режим повтора - - - - Stutter - Запинание - - - - Interpolation mode - Режим интерполяции - - - - None - Нет - - - - Linear - Линейный - - - - Sinc - Sinc - - - - Sample not found: %1 - Сэмпл не найден: %1 - - - - BitInvader - - - Sample length - Длина сэмпла - - - - BitInvaderView - - - Sample length - Длина сэмпла - - - - Draw your own waveform here by dragging your mouse on this graph. - Здесь вы можете рисовать собственный сигнал. - - - - - Sine wave - Синусоида - - - - - Triangle wave - Треугольник - - - - - Saw wave - Пило-волна - - - - - Square wave - Квадрат (Меандр) - - - - - White noise - Белый шум - - - - - User-defined wave - Своя волна - - - - - Smooth waveform - Сгладить волну - - - - Interpolation - Интерполяция - - - - Normalize - Нормализовать - - - - DynProcControlDialog - - + INPUT ВХОД - + Input gain: Входное усиление: - + OUTPUT ВЫХОД - + Output gain: Выходное усиление: - - ATTACK - АТАКА - - - - Peak attack time: - Время пиковой атаки: - - - - RELEASE - ЗАТУХАНИЕ - - - - Peak release time: - Время затухания пика: - - - - - Reset wavegraph - Сбросить волновой график - - - - - Smooth wavegraph - Сгладить волновой график - - - - - Increase wavegraph amplitude by 1 dB - Увеличить амплитуду графика волны на 1 дБ - - - - - Decrease wavegraph amplitude by 1 dB - Уменьшить амплитуду графика волны на 1 дБ - - - - Stereo mode: maximum - Режим стерео: максимум - - - - Process based on the maximum of both stereo channels - Обработка по максимуму обоих стерео каналов - - - - Stereo mode: average - Режим стерео: средне - - - - Process based on the average of both stereo channels - Обработка по средней обоих стерео-каналов - - - - Stereo mode: unlinked - Режим стерео: раздельно - - - - Process each stereo channel independently - Обрабатывает каждый стерео-канал независимо - - - - DynProcControls - - - Input gain - Входная мощность - - - - Output gain - Выходная мощность - - - - Attack time - Время атаки - - - - Release time - Время затухания - - - - Stereo mode - Режим стерео - - - - graphModel - - - Graph - Граф - - - - KickerInstrument - - - Start frequency - Начальная частота - - - - End frequency - Конечная частота - - - - Length - Длина - - - - Start distortion - Начало перегруза - - - - End distortion - Конец перегруза - - - - Gain - Усиление - - - - Envelope slope - Уклон огибающей - - - - Noise - Шум - - - - Click - Щелчок - - - - Frequency slope - Уклон частоты - - - - Start from note - Начать с ноты - - - - End to note - Закончить нотой - - - - KickerInstrumentView - - - Start frequency: - Начальная частота: - - - - End frequency: - Конечная частота: - - - - Frequency slope: - Уклон частоты - - - - Gain: - Усиление: - - - - Envelope length: - Длина огибающей: - - - - Envelope slope: - Уклон огибающей: - - - - Click: - Щелчок: - - - - Noise: - Шум: - - - - Start distortion: - Начало перегруза: - - - - End distortion: - Конец перегруза: - - - - LadspaBrowserView - - - - Available Effects - Доступные эффекты - - - - - Unavailable Effects - Недоступные эффекты - - - - - Instruments - Инструменты - - - - - Analysis Tools - Анализаторы - - - - - Don't know - Неизвестные - - - - Type: - Тип: - - - - LadspaDescription - - - Plugins - Модули - - - - Description - Описание - - - - LadspaPortDialog - - - Ports - Порты - - - - Name - Название - - - - Rate - Частота выборки - - - - Direction - Направление - - - - Type - Тип - - - - Min < Default < Max - Меньше < Стандарт < Больше - - - - Logarithmic - Логарифмический - - - - SR Dependent - Зависимость от SR - - - - Audio - Аудио - - - - Control - Контроль - - - - Input - Ввод - - - - Output - Вывод - - - - Toggled - Включено - - - - Integer - Целое - - - - Float - Дробное - - - - - Yes - Да - - - - Lb302Synth - - - VCF Cutoff Frequency - Частота среза VCF - - - - VCF Resonance - Резонанс VCF - - - - VCF Envelope Mod - Модуляция огибающей VCF - - - - VCF Envelope Decay - Спад огибающей VCF - - - - Distortion - Перегруз - - - - Waveform - Форма сигнала - - - - Slide Decay - Сдвиг спада - - - - Slide - Сдвиг - - - - Accent - Акцент - - - - Dead - Глухо - - - - 24dB/oct Filter - 24дБ/окт фильтр - - - - Lb302SynthView - - - Cutoff Freq: - Частота среза: - - - - Resonance: - Резонанс: - - - - Env Mod: - Мод Огиб: - - - - Decay: - Спад: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-й, 24 дБ/окт., 3-полюсный фильтр - - - - Slide Decay: - Сдвиг спада: - - - - DIST: - DIST: - - - - Saw wave - Пило-волна - - - - Click here for a saw-wave. - Клик для пило волны - - - - Triangle wave - Треугольная волна - - - - Click here for a triangle-wave. - Нажать здесь для треугольной волны. - - - - Square wave - Квадрат-волна - - - - Click here for a square-wave. - Жми тут для квадрат волны. - - - - Rounded square wave - Волна скругленного квадрата - - - - Click here for a square-wave with a rounded end. - Жми тут для квадратной волны скруглённой в конце. - - - - Moog wave - Муг волна - - - - Click here for a moog-like wave. - Сгенерировать волну похожую на муг. - - - - Sine wave - Синусоида - - - - Click for a sine-wave. - Создать синусоиду. - - - - - White noise wave - Белый шум - - - - Click here for an exponential wave. - Создать экспоненциальный сигнал. - - - - Click here for white-noise. - Создать белый шум. - - - - Bandlimited saw wave - Тембр. пило-волна - - - - Click here for bandlimited saw wave. - Нажать здесь для тембр. пило-волны. - - - - Bandlimited square wave - Тембр. квадратная волна - - - - Click here for bandlimited square wave. - Нажать здесь для тембр. квадратной волны - - - - Bandlimited triangle wave - Тембр. треугольная волна - - - - Click here for bandlimited triangle wave. - Нажать здесь для тембр. треугольной волны. - - - - Bandlimited moog saw wave - Тембр. пило-волна - - - - Click here for bandlimited moog saw wave. - Нажать здесь для тембр. пило-муг (moog) волны. - - - - MalletsInstrument - - - Hardness - Жёсткость - - - - Position - Положение - - - - Vibrato gain - Усиление вибрато - - - - Vibrato frequency - Частота вибрато - - - - Stick mix - Уровень барабанных палочек - - - - Modulator - Модулятор - - - - Crossfade - Переход - - - - LFO speed - Скорость LFO - - - - LFO depth - Глубина LFO - - - - ADSR - ADSR - - - - Pressure - Давление - - - - Motion - Движение - - - - Speed - Скорость - - - - Bowed - Наклон - - - - Spread - Разброс - - - - Marimba - Маримба - - - - Vibraphone - Вибрафон - - - - Agogo - Агого - - - - Wood 1 - Дерево 1 - - - - Reso - Резо - - - - Wood 2 - Дерево 2 - - - - Beats - Удары - - - - Two fixed - Два постоянно - - - - Clump - Тяжёлая поступь - - - - Tubular bells - Трубчатые колокола - - - - Uniform bar - Одинаковый размер - - - - Tuned bar - Регулируемый размер - - - - Glass - Стекло - - - - Tibetan bowl - Тибетская чаша - - - - MalletsInstrumentView - - - Instrument - Инструмент - - - - Spread - Разброс - - - - Spread: - Разброс: - - - - Missing files - Файлы отсутствуют - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Похоже устновка Stk прошла не полностью. Пожалуйста, убедитесь, что пакет Stk полностью установлен! - - - - Hardness - Жёсткость - - - - Hardness: - Жёсткость: - - - - Position - Положение - - - - Position: - Положение: - - - - Vibrato gain - Усиление вибрато - - - - Vibrato gain: - Усиление вибрато: - - - - Vibrato frequency - Частота вибрато - - - - Vibrato frequency: - Частота вибрато: - - - - Stick mix - Уровень барабанных палочек - - - - Stick mix: - Уровень палочек: - - - - Modulator - Модулятор - - - - Modulator: - Модулятор: - - - - Crossfade - Переход - - - - Crossfade: - Переход: - - - - LFO speed - Скорость LFO - - - - LFO speed: - Скорость LFO: - - - - LFO depth - Глубина LFO - - - - LFO depth: - Глубина LFO: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Давление - - - - Pressure: - Давление: - - - - Speed - Скорость - - - - Speed: - Скорость: - - - - ManageVSTEffectView - - - - VST parameter control - Управление VST параметрами - - - - VST sync - Синхронизация VST - - - - - Automated - Автоматизировано - - - - Close - Закрыть - - - - ManageVestigeInstrumentView - - - - - VST plugin control - Управление VST плагином - - - - VST Sync - VST синхронизация - - - - - Automated - Автоматизировано - - - - Close - Закрыть - - - - OrganicInstrument - - - Distortion - Перегруз - - - - Volume - Громкость - - - - OrganicInstrumentView - - - Distortion: - Перегруз: - - - - Volume: - Громкость: - - - - Randomise - Случайно - - - - - Osc %1 waveform: - Форма сигнала для осциллятора %1: - - - - Osc %1 volume: - Громкость осциллятора %1: - - - - Osc %1 panning: - Баланс для осциллятора %1: - - - - Osc %1 stereo detuning - Осц %1 стерео подстройка - - - - cents - сотые - - - - Osc %1 harmonic: - Осц %1 гармоника: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth : предустановка канала - - - - Bank selector - Выбор банка - - - - Bank - Банк - - - - Program selector - Выбор программы - - - - Patch - Патч - - - - Name - Имя - - - - OK - ОК - - - - Cancel - Отмена - - - - Sf2Instrument - - - Bank - Банк - - - - Patch - Патч - - - - Gain - Усиление - - - - Reverb - Реверберация - - - - Reverb room size - Размер помещения реверберации - - - - Reverb damping - Затухание реверберации - - - - Reverb width - Ширина реверберации - - - - Reverb level - Уровень реверберации - - - - Chorus - Хорус - - - - Chorus voices - Голоса хоруса - - - - Chorus level - Уровень хоруса - - - - Chorus speed - Скорость хоруса - - - - Chorus depth - Глубина хоруса - - - - A soundfont %1 could not be loaded. - SoundFont %1 не удаётся загрузить. - - - - Sf2InstrumentView - - - - Open SoundFont file - Открыть файл SoundFront - - - - Choose patch - Выбрать патч - - - - Gain: - Усиление: - - - - Apply reverb (if supported) - Применить эффект реверберации (если поддерживается) - - - - Room size: - Размер помещения: - - - - Damping: - Приглушение: - - - - Width: - Ширина: - - - - - Level: - Уровни: - - - - Apply chorus (if supported) - Применить эффект хорус (если поддерживается) - - - - Voices: - Голоса: - - - - Speed: - Скорость: - - - - Depth: - Емкость: - - - - SoundFont Files (*.sf2 *.sf3) - Файлы SoundFont (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Волна - - - - StereoEnhancerControlDialog - - - WIDTH - ШИРИНА - - - - Width: - Ширина: - - - - StereoEnhancerControls - - - Width - Ширина - - - - StereoMatrixControlDialog - - - Left to Left Vol: - От левого на левый: - - - - Left to Right Vol: - От левого на правый: - - - - Right to Left Vol: - От правого на левый: - - - - Right to Right Vol: - От правого на правый: - - - - StereoMatrixControls - - - Left to Left - От левого на левый - - - - Left to Right - От левого на правый - - - - Right to Left - От правого на левый - - - - Right to Right - От правого на правый - - - - VestigeInstrument - - - Loading plugin - Загрузка модуля - - - - Please wait while loading the VST plugin... - Подождите, пока грузится VST-плагин… - - - - Vibed - - - String %1 volume - Громкость %1 струны - - - - String %1 stiffness - Жёсткость %1 струны - - - - Pick %1 position - Лад %1 - - - - Pickup %1 position - Положение %1 звукоснимателя - - - - String %1 panning - Стерео-баланс струны %1 - - - - String %1 detune - Подстройка струны %1 - - - - String %1 fuzziness - Плавание струны: - - - - String %1 length - Длина струны %1 - - - - Impulse %1 - Импульс %1 - - - - String %1 - Струна %1 - - - - VibedView - - - String volume: - Громкость струны: - - - - String stiffness: - Натяжение струны: - - - - Pick position: - Лад: - - - - Pickup position: - Положение звукоснимателя: - - - - String panning: - Стерео-баланс струны: - - - - String detune: - Подстройка струны: - - - - String fuzziness: - Расплывчатость струны: - - - - String length: - Длина струны: - - - - Impulse - Импульс - - - - Octave - Октава - - - - Impulse Editor - Редактор сигнала - - - - Enable waveform - Включить - - - - Enable/disable string - Включить/отключить струну - - - - String - Струна - - - - - Sine wave - Синусоида - - - - - Triangle wave - Треугольник - - - - - Saw wave - Пило-волна - - - - - Square wave - Квадратная волна - - - - - White noise - Белый шум - - - - - User-defined wave - Своя волна - - - - - Smooth waveform - Сгладить волну - - - - - Normalize waveform - Нормализовать форму волны - - - - VoiceObject - - - Voice %1 pulse width - Голос %1 длина сигнала - - - - Voice %1 attack - Атака %1 голоса - - - - Voice %1 decay - Спад %1 голоса - - - - Voice %1 sustain - Выдержка %1 голоса - - - - Voice %1 release - Затухание голоса %1 - - - - Voice %1 coarse detuning - Подстройка %1 голоса (грубо) - - - - Voice %1 wave shape - Форма сигнала для %1 голоса - - - - Voice %1 sync - Синхронизация %1 голоса - - - - Voice %1 ring modulate - Голос %1 кольцевой модулятор - - - - Voice %1 filtered - Фильтрованный %1 голос - - - - Voice %1 test - Голос %1 тест - - - - WaveShaperControlDialog - - - INPUT - ВХОД - - - - Input gain: - Входная мощность: - - - - OUTPUT - ВЫХОД - - - - Output gain: - Выходная мощность: - - - - - Reset wavegraph - Сбросить волновой график - - + - + Reset wavegraph + Сбросить волновой график + + + + Smooth wavegraph Сгладить волновой график - - + + Increase wavegraph amplitude by 1 dB Увеличить амплитуду графика волны на 1 дБ - - + + Decrease wavegraph amplitude by 1 dB Уменьшить амплитуду графика волны на 1 дБ - + Clip input Срезать входной сигнал - + Clip input signal to 0 dB Обрезать входной сигнал на 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Входная мощность + + Draw your own waveform here by dragging your mouse on this graph. + Нарисуйте здесь свою собственную форму волны, перетащив мышь на этот график. - - Output gain - Выходная мощность + + Select oscillator W1 + Выбрать осциллятор W1 + + + + Select oscillator W2 + Выбрать осциллятор W2 + + + + Select oscillator W3 + Выбрать осциллятор W3 + + + + Select output O1 + Выбрать выход О1 + + + + Select output O2 + Выбрать выход О2 + + + + Open help window + Открыть окно справки + + + + + Sine wave + Синусоида + + + + + Moog-saw wave + Муг пило-волна + + + + + Exponential wave + Экспоненциальная волна + + + + + Saw wave + Пилообразная волна + + + + + User-defined wave + Пользовательская волна + + + + + Triangle wave + Треугольная волна + + + + + Square wave + Квадратная волна + + + + + White noise + Белый шум + + + + WaveInterpolate + Волн. интерполяция + + + + ExpressionValid + ВыражениеВерно + + + + General purpose 1: + Общего назначения 1: + + + + General purpose 2: + Общего назначения 2: + + + + General purpose 3: + Общего назначения 3: + + + + O1 panning: + O1 баланс: + + + + O2 panning: + О2 баланс: + + + + Release transition: + Переход затухания: + + + + Smoothness + Гладкость - + + lmms::gui::ZynAddSubFxView + + + Portamento: + Портаменто: + + + + PORT + + + + + Filter frequency: + Частота фильтра: + + + + FREQ + ЧАСТ + + + + Filter resonance: + Резонанс фильтра: + + + + RES + РЕЗ + + + + Bandwidth: + Полоса пропускания: + + + + BW + + + + + FM gain: + FM усиление: + + + + FM GAIN + FM УСИЛ + + + + Resonance center frequency: + Частоты центра резонанса: + + + + RES CF + + + + + Resonance bandwidth: + Полоса пропуска резонанса: + + + + RES BW + + + + + Forward MIDI control changes + Передавать изменения MIDI управления + + + + Show GUI + Показать интерфейс + + + \ No newline at end of file diff --git a/data/locale/sl.ts b/data/locale/sl.ts index 1aa67d54d..77586e6e9 100644 --- a/data/locale/sl.ts +++ b/data/locale/sl.ts @@ -1,10 +1,10 @@ - + AboutDialog About LMMS - Opis LMMS + O programu LMMS @@ -14,27 +14,27 @@ Version %1 (%2/%3, Qt %4, %5). - + Različica %1 (%2/%3, Qt %4, %5). About - Vizitka + O programu LMMS - easy music production for everyone. - + Enostavno produciranje glasbe za vsakogar. Copyright © %1. - + Avtorstvo © %1. <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> - + <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> @@ -44,12 +44,12 @@ Involved - + Vpleteni Contributors ordered by number of commits: - + Sodelujoči razporejeni po številu prispevkov: @@ -60,7 +60,8 @@ Current language not translated (or native English). If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! - + Trenutni jezik ni preveden (ali izvorna angleščina). +Če vas zanima prevajanje LMMS v nek drug jezik ali če želite izboljšati obstoječe prevode, ste dobrodošli! Zgolj stopite v stik z vzdrževalcem! @@ -69,810 +70,43 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - GLS - - - - Volume: - Glasnost: - - - - PAN - PAN - - - - Panning: + + About JUCE - - LEFT - LEVO - - - - Left gain: - Leva glasnost - - - - RIGHT - DESNO - - - - Right gain: - Desna glasnost - - - - AmplifierControls - - - Volume - Glasnost - - - - Panning + + <b>About JUCE</b> - - Left gain - Leva glasnost - - - - Right gain - Desan glasnost - - - - AudioAlsaSetupWidget - - - DEVICE - NAPRAVA - - - - CHANNELS - KANALI - - - - AudioFileProcessorView - - - Open sample + + This program uses JUCE version 3.x.x. - - Reverse sample + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Disable loop - - - - - Enable loop - - - - - Enable ping-pong loop - - - - - Continue sample playback across notes - - - - - Amplify: - - - - - Start point: - - - - - End point: - - - - - Loopback point: + + This program uses JUCE version - AudioFileProcessorWaveView + AudioDeviceSetupWidget - - Sample length: - - - - - AudioJack - - - JACK client restarted - - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - - - - - JACK server down - - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - - - - - Client name - - - - - Channels - - - - - AudioOss - - - Device - - - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - - - - - &Copy value (%1%2) - - - - - &Paste value (%1%2) - - - - - &Paste value - - - - - Edit song-global automation - - - - - Remove song-global automation - - - - - Remove all linked controls - - - - - Connected to %1 - - - - - Connected to controller - - - - - Edit connection... - - - - - Remove connection - - - - - Connect to controller... - - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - - - - - Stop playing of current clip (Space) - - - - - Edit actions - - - - - Draw mode (Shift+D) - - - - - Erase mode (Shift+E) - - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - - - - - Flip horizontally - - - - - Interpolation controls - - - - - Discrete progression - - - - - Linear progression - - - - - Cubic Hermite progression - - - - - Tension value for spline - - - - - Tension: - - - - - Zoom controls - - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization controls - - - - - Quantization - - - - - - Automation Editor - no clip - - - - - - Automation Editor - %1 - - - - - Model is already connected to this clip. - - - - - AutomationClip - - - Drag a control while pressing <%1> - - - - - AutomationClipView - - - Open in Automation editor - - - - - Clear - - - - - Reset name - - - - - Change name - - - - - Set/clear record - - - - - Flip Vertically (Visible) - - - - - Flip Horizontally (Visible) - - - - - %1 Connections - - - - - Disconnect "%1" - - - - - Model is already connected to this clip. - - - - - AutomationTrack - - - Automation track - - - - - PatternEditor - - - Beat+Bassline Editor - Ritem+bas urejevalnik - - - - Play/pause current beat/bassline (Space) - - - - - Stop playback of current beat/bassline (Space) - - - - - Beat selector - - - - - Track and step actions - - - - - Add beat/bassline - - - - - Clone beat/bassline clip - - - - - Add sample-track - - - - - Add automation-track - - - - - Remove steps - - - - - Add steps - - - - - Clone Steps - - - - - PatternClipView - - - Open in Beat+Bassline-Editor - - - - - Reset name - - - - - Change name - - - - - PatternTrack - - - Beat/Bassline %1 - - - - - Clone of %1 - - - - - BassBoosterControlDialog - - - FREQ - - - - - Frequency: - - - - - GAIN - - - - - Gain: - - - - - RATIO - - - - - Ratio: - - - - - BassBoosterControls - - - Frequency - Pogostost - - - - Gain - - - - - Ratio - razmerje - - - - BitcrushControlDialog - - - IN - - - - - OUT - - - - - - GAIN - - - - - Input gain: - - - - - NOISE - - - - - Input noise: - - - - - Output gain: - - - - - CLIP - - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - - - - - Sample rate: - - - - - STEREO - - - - - Stereo difference: - - - - - QUANT - - - - - Levels: - - - - - BitcrushControls - - - Input gain - - - - - Input noise - - - - - Output gain - - - - - Output clip - - - - - Sample rate - - - - - Stereo difference - - - - - Levels - - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -881,142 +115,142 @@ If you're interested in translating LMMS in another language or want to imp About Carla - + O programu Carla About - Vizitka + O programu About text here - + Tu se zapiše besedilo o programu Extended licensing here - + Sem pride razširjena licenca - + Artwork - + Grafično oblikovanje - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Uporablja nabor ikon KDE Oxygen, ki ga je oblikoval Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + Vsebuje nekatere vrtljive gumbe, ozadja in druge grafične dodatke iz Calf Studio Gear, OpenAV in OpenOctave projektov. - + VST is a trademark of Steinberg Media Technologies GmbH. - + VST je začitena znamka podjetja Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + Posebna zahvala Antóniu Saraivii za nekaj posebnih ikon in grafičnih elementov! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + LV2 logo je oblikoval Thorsten Wilms po zasnovi Peter Shorthose-a. - + MIDI Keyboard designed by Thorsten Wilms. - - - - - Carla, Carla-Control and Patchbay icons designed by DoosC. - + MIDI tipkovnico je oblikoval Thorsten Wilms. + Carla, Carla-Control and Patchbay icons designed by DoosC. + Carla, Carla-Control in Patchbay ikone je oblikoval DoosC. + + + Features - + Zmožnosti - + AU/AudioUnit: - + AU/AudioUnit: - + LADSPA: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + TekstovnaOznaka - + VST2: - + VST2: - + DSSI: - + DSSI: - + LV2: - + LV2: - + VST3: - - - - - OSC - - - - - Host URLs: - - - - - Valid commands: - + VST3: + OSC + OSC + + + + Host URLs: + URL gostitelja: + + + + Valid commands: + Veljavni ukazi: + + + valid osc commands here - + tu je prostor za veljavne osc ukaze - + Example: - + Primer: - + License Licenca - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1298,55 +532,155 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + SPLOŠNO DOVOLJENJE GNU + Različica št. 2, junij 1991 +Pravice razširjanja © 1989, 1991 Free Software Foundation, Inc. +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +Vsakdo sme razmnoževati in razširjati dobesedne kopije tega licenčnega +dokumenta, ni pa ga dovoljeno spreminjati. +Predgovor +Licenčne pogodbe večine programja so zasnovane tako, da vam preprečujejo njegovo svobodno razdeljevanje in spreminjanje. Za razliko od teh vam namerava Splošno dovoljenje GNU (angl. GNU General Public License, GPL) zajamčiti svobodo pri razdeljevanju in spreminjanju prostega programja ter s tem zagotoviti, da ostane programje prosto za vse njegove uporabnike. Ta GPL se nanaša na večino programske opreme ustanove Free Software Foundation in na vse druge programe, katerih avtorji so se zavezali k njeni uporabi. (Nekatero drugo programje ustanove Free Software Foundation je namesto tega pokrito s Splošnim dovoljenjem GNU za knjižnice, angl. GNU Library General Public License.) Uporabite jo lahko tudi za vaše programe. + +Ko govorimo o prostem programju, imamo s tem v mislih svobodo, ne cene. Naša splošna dovoljenja GNU vam zagotavljajo, da imate pravico razširjati kopije prostega programja (in zaračunavati za to storitev, če tako želite); da dobite izvorno kodo ali jo lahko dobite, če tako želite; da lahko spreminjate programje ali uporabljate njegove dele v novih prostih programih; in da veste, da lahko počnete vse te stvari. + +Zaradi zavarovanja vaših pravic moramo uvesti omejitve, ki prepovedujejo vsakomur, da bi vam te pravice kratil ali od vas zahteval predajo teh pravic. Te omejitve se preslikajo v določene odgovornosti za vas, če razširjate kopije programja ali ga spreminjate. + +Na primer, če razširjate kopije takega programa, bodisi zastonj ali za plačilo, morate dati prejemnikom vse pravice, ki jih imate vi. Prepričati se morate, da bodo tudi oni prejeli ali imeli dostop do izvorne kode. In morate jim pokazati te pogoje (pravzaprav izvirnik, opomba prevajalca), da bodo poznali svoje pravice. + +Vaše pravice varujemo z dvema korakoma: (1) s pravno zaščito programja in (2) ponujamo vam to licenco, ki vam daje pravno dovoljenje za razmnoževanje, razširjanje in/ali spreminjanje programja. + +Zaradi zaščite vsakega avtorja in zaradi naše zaščite želimo zagotoviti, da vsakdo razume, da za to prosto programje ni nobenega jamstva. Če je programje spremenil nekdo drug in ga posredoval naprej, želimo, da njegovi prejemniki vedo, da to, kar imajo, ni izvirnik, zato da se problemi, ki jih povzročijo drugi, ne bodo odražali na ugledu izvornega avtorja. + +Končno, vsakemu prostemu programu nenehno grozijo programski patenti. Želimo se izogniti nevarnosti, da bi razširjevalci prostega programa posamično dobivali patentne licence in s tem naredili program lastniški (angl. proprietary). Za preprečitev tega jasno zahtevamo da mora biti vsak patent licenciran tako, da ga lahko vsakdo prosto uporablja, ali pa sploh ne sme biti licenciran. + +Sledijo natančne določitve in pogoji za razmnoževanje, razširjanje in spreminjanje. + +DOLOČITVE IN POGOJI ZA RAZMNOŽEVANJE, RAZŠIRJANJE IN SPREMINJANJE +0. +Licenca se nanaša na vsak program ali drugo delo, ki vsebuje obvestilo lastnika avtorskih pravic (angl. copyright holder) z izjavo, da se lahko distribuira pod pogoji Splošnega dovoljenja GNU (angl. General Public License). „Program“ se v nadaljevanju nanaša na vsak tak program ali delo, in „delo, ki temelji na programu“ pomeni bodisi program ali pa katerokoli izvedeno delo po zakonu o avtorskih pravicah (angl. copyright law): se pravi delo, ki vsebuje program ali njegov del, bodisi dobesedno ali s spremembami in/ali prevedeno v drug jezik. (Tukaj in povsod v nadaljevanju je prevod vključen brez omejitev v pojem „spremembe“.) Vsaka licenca je naslovljena na „vas“. +Ta licenca ne pokriva nobenih drugih aktivnosti razen razmnoževanja, razširjanja in sprememb; ostale so izven njenega dometa. Dejanje poganjanja programa ni omejeno in izhod programa je zajet le, če njegova vsebina sestavlja delo, iz katerega je izpeljan program (ne glede na to, da je bil narejen s poganjanjem programa). Ali je to res ali ne, je odvisno od tega, kaj počne program. + +1. +Razmnožujete in razširjate lahko dobesedne izvode izvorne kode programa v enaki obliki, kot jo dobite, preko kateregakoli medija, če le na vsakem izvodu razločno in primerno objavite obvestilo o pravicah razširjanja in zanikanje jamstva; vsa obvestila, ki se nanašajo na to licenco in odsotnost vsakršnega jamstva pustite nedotaknjena; in daste vsem drugim prejemnikom programa poleg programa še izvod te licence. +Za fizično dejanje prenosa kopije lahko zaračunavate in po vaši presoji lahko ponudite garancijsko zaščito v zameno za plačilo. + +2. +Spreminjati smete vaš izvod ali izvode programa ali katerikoli njegov del, in tako narediti delo, ki temelji na programu, ter razmnoževati in razširjati takšne spremembe ali dela pod pogoji zgornjega razdelka 1, če zadostite tudi vsem naslednjim pogojem: + +a. +Zagotoviti morate, da spremenjene datoteke nosijo vidna obvestila o tem, da ste jih spremenili in datum vsake spremembe. + +b. +Zagotoviti morate, da je vsako delo, ki ga razširjate ali izdajate in ki v celoti ali deloma vsebuje program ali katerikoli njegov del ali pa je iz njega izpeljano, licencirano pod pogoji te licence kot celota brez plačila katerikoli tretji osebi. + +c. +Če spremenjeni program ob zagonu navadno bere ukaze interaktivno, morate zagotoviti, da se ob najbolj običajnem zagonu za takšno interaktivno uporabo izpiše ali prikaže najava, ki vključuje primerno sporočilo o pravicah razširjanja in sporočilo, da jamstvo ni zagotovljeno (ali pa sporočilo, da ponujate jamstvo) in da lahko uporabniki razširjajo program pod temi pogoji, in pove uporabniku, kako pogledati izvod te licence. (Izjema: če je sam program interaktiven, a navadno ne izpiše takšne najave, tudi za vaše delo, ki temelji na programu, ni nujno, da jo.) +Te zahteve se nanašajo na spremenjeno delo kot celoto. Če kosi tega dela, ki jih je lahko prepoznati, niso izpeljani iz programa in se jih lahko ima za neodvisna in ločena dela sama po sebi, potem ta licenca in njeni pogoji ne veljajo zanje, kadar jih razširjate ločeno. Vendar, kadar te iste kose razširjate kot del celote, ki je delo, ki temelji na programu, mora biti razširjanje celote izvedeno pod pogoji te licence, katere dovoljenja za druge licence se razširjajo na vso celoto in torej na vsak njen del, ne glede na to, kdo ga je napisal. + +Torej, namen tega razdelka ni, da bi zanikal ali spodbijal vaše pravice do dela, ki ste ga v celoti napisali sami; namesto tega je namen razširiti pravico do nadzora razširjanja na izpeljana ali zbrana dela, ki temeljijo na programu. + +Poleg tega, če gre za zgolj kopičenje drugega dela, ki ne temelji na programu, s programom (ali z delom, ki temelji na programu) na mediju za shranjevanje ali distribucijskem mediju, se licenca na to drugo delo ne nanaša. + +3. +Program (ali delo, ki temelji na njem, pod razdelkom 2) lahko razmnožujete in razširjate v objektni kodi ali izvedljivi obliki pod pogoji zgornjih razdelkov 1 in 2, če izpolnite tudi kaj od tega: + +a. +Opremite ga s popolno in ustrezno izvorno kodo v strojno berljivi obliki, ki mora biti razširjana pod pogoji zgornjih razdelkov 1 in 2 na mediju, ki se navadno uporablja za izmenjavo programja; ali, + +b. +Opremite ga z napisano ponudbo, veljavno vsaj tri leta, da boste katerikoli tretji osebi, za plačilo, ki ne bo presegalo vaših stroškov fizičnega izvajanja izvorne distribucije, dali popoln izvod ustrezne izvorne kode v strojno berljivi obliki, ki bo razširjana pod pogoji zgornjih razdelkov 1 in 2 na mediju, ki se običajno uporablja za izmenjavo programja; ali, + +c. +Opremite ga z informacijo, ki ste jo dobili vi, kot ponudbo distribucije ustrezne izvorne kode. (Ta alternativa je dovoljena le za nekomercialne distribucije in le, če ste dobili program v obliki izvorne kode ali izvedljivi obliki s takšno ponudbo, glede na podrazdelek b, zgoraj.) +Izvorna koda pri delih pomeni obliko dela, najprimernejšo za izdelavo sprememb. Pri izvedljivem delu pomeni izvorna koda vso izvorno kodo za vse module, ki jih vsebuje, poleg tega pa še morebitne datoteke z definicijami vmesnika, povezane s tem delom in skripte, uporabljane za nadzor prevajanja in namestitev izvedljive datoteke. Vendar - kot posebna izjema - ni nujno, da razširjana izvorna koda vključuje vse, kar se navadno razširja (v izvorni ali binarni obliki) z večjimi komponentami (prevajalnik, jedro, in tako naprej) operacijskega sistema, na katerem teče izvedljiva datoteka, razen če ta komponenta spremlja izvedljivo datoteko. + +Če se razširjanje izvedljive datoteke ali objektne kode izvede s ponujenim dostopom za prepisovanje z za to namenjenega mesta, potem ponujanje ekvivalentnega dostopa za razmnoževanje izvorne kode z istega mesta šteje kot razširjanje izvorne kode, čeprav tretje osebe niso prisiljene razmnoževati izvorne kode poleg objektne kode. + +4. +Ne smete razmnoževati, spreminjati, podlicencirati ali razširjati programa drugače, kot to izrecno določa pričujoča licenca. Vsak poskus siceršnjega kopiranja, spreminjanja, podlicenciranja ali razširjanja programa je ničen in bo samodejno prekinil vaše pravice pod to licenco. Vendar pa se osebam, ki so svoj izvod ali pravice dobile od vas pod to licenco, licenca ne prekine, dokler se ji popolnoma podrejajo. + +5. +Ni vam treba sprejeti te licence, saj je niste podpisali. Vendar vam razen nje nič ne dovoljuje spreminjanja ali razširjanja programa ali iz njega izpeljanih del. Če ne sprejmete te licence, ta dejanja prepoveduje zakon. Torej, s spremembo ali razširjanjem programa (ali kateregakoli dela, ki temelji na programu), pokažete svoje strinjanje s to licenco in z vsemi njenimi določitvami in pogoji za razmnoževanje, razširjanje ali spreminjanje programa ali del, ki temeljijo na njem. + +6. +Vsakič, ko razširjate program (ali katerokoli delo, ki temelji na programu), prejemnik samodejno prejme licenco od izvornega izdajatelja licence (angl. original licensor) za razmnoževanje, razširjanje ali spreminjanje programa glede na ta določila in pogoje. Ne smete vsiljevati nobenih nadaljnjih omejitev izvajanja prejemnikovih pravic, podeljenih tukaj. Niste odgovorni za vsiljevanje strinjanja tretjih oseb s to licenco. + +7. +Če so vam, kot posledica presoje sodišča ali suma kršitve patenta ali zaradi kateregakoli drugega razloga (ne omejenega zgolj na patentna vprašanja), vsiljeni pogoji (bodisi z odlokom sodišča, sporazumom ali drugače), ki nasprotujejo pogojem te licence, vas ne odvezujejo pogojev te licence. Če programa ne morete razširjati tako, da hkrati zadostite svojim obvezam pod to licenco in katerimkoli drugim pristojnim obvezam, potem posledično sploh ne smete razširjati programa. Na primer, če patentna licenca ne dovoli razširjanja programa brez plačevanja avtorskega honorarja vseh, ki prejmejo kopije neposredno ali posredno od vas, potem je edina možna pot, da zadostite temu pogoju in tej licenci ta, da se v celoti vzdržite razširjanja programa. +Če se za katerikoli del tega razdelka ugotovi, da je neveljaven ali da se ga ne da izvajati pod kateremkoli določenim pogojem, je mišljeno, da velja usmeritev tega razdelka (angl. balance of the section) in razdelek kot celota velja v drugih primerih. + +Namen tega razdelka ni, da bi vas napeljeval h kršitvi patentov ali drugih trditev lastništva pravic ali izpodbijal veljavnost katerihkoli takšnih trditev; edini namen tega razdelka je ščitenje integritete sistema distribucije prostega programja, ki je izveden s prakso javnih licenc. Mnogi ljudje so radodarno prispevali k širokemu naboru programja, razširjanega skozi ta sistem, v upanju na njegovo dosledno izvajanje; od avtorja/dajalca je odvisno, če je pripravljen razširjati programje skozi katerikoli drug sistem, in izdajatelj licence ne more vsiljevati te izbire. + +Ta razdelek namerava temeljito pojasniti, kaj so predvidene posledice nadaljevanja licence. + +8. +Če sta razširjanje in/ali uporaba programa omejena v določenih državah, bodisi zaradi patentov ali vmesnikov s posebno pravico razširjanja (angl. copyrighted interfaces), lahko izvorni lastnik ali lastnica pravic razširjanja, ki postavlja program pod to licenco, doda eksplicitno zemljepisno omejitev razširjanja, ki izključuje te države, tako da je razširjanje dovoljeno le v in med državami, ki niso na tak način izključene. V takem primeru ta licenca vključuje omejitve, kot da so napisane v telesu te licence. + +9. +Ustanova Free Software Foundation lahko od časa do časa izdaja preurejene in/ali nove različice Splošne javne licence (angl. General Public License). Nove različice bodo pisane v duhu trenutne različice, vendar se lahko razlikujejo v podrobnostih, ki bodo obdelovale nove težave ali poglede. +Vsaki različici je prirejena razločevalna številka različice. Če program določa številko različice te licence, ki se nanaša na njo in „na katerekoli poznejše različice“, imate izbiro upoštevanja pogojev in določil bodisi te različice ali katerekoli poznejše različice, ki jo je izdala ustanova Free Software Foundation. Če program ne določa številke različice te licence, lahko izberete katerokoli različico, ki jo je kdajkoli izdala ustanova Free Software Foundation. + +10. +Če želite vključiti dele programa v druge proste programe, katerih pogoji razširjanja so drugačni, pišite avtorju in ga prosite za dovoljenje. Za programje, katerega pravice razširjanja ima Free Software Foundation, pišite na Free Software Foundation; včasih naredimo izjemo pri tem. Našo odločitev bosta vodila dva cilja: ohranitev prostega statusa vseh izvedenih del iz našega prostega programja in spodbujanje razdeljevanja in ponovne uporabe programja na splošno. + +BREZ JAMSTVA + +11. +KER JE PROGRAM LICENCIRAN KOT BREZPLAČEN, NI NOBENEGA JAMSTVA ZA PROGRAM DO MEJE, KI JO DOLOČA PRISTOJNI ZAKON. RAZEN, ČE NI DRUGAČE NAPISANO, IMETNIKI PRAVIC RAZŠIRJANJA IN/ALI DRUGE OSEBE PONUJAJO PROGRAM „TAK, KOT JE“, BREZ ZAGOTOVILA KAKRŠNEKOLI VRSTE, NEPOSREDNEGA ALI POSREDNEGA, KAR VKLJUČUJE, A NI OMEJENO NA POSREDNA JAMSTVA CENOVNE VREDNOSTI IN PRIMERNOSTI ZA DOLOČENO UPORABO. CELOTNO TVEGANJE GLEDE KAKOVOSTI IN DELOVANJA PROGRAMA PREVZAMETE SAMI. ČE SE PROGRAM IZKAŽE ZA OKVARJENEGA, SAMI NOSITE STROŠKE VSEH POTREBNIH STORITEV, POPRAVIL ALI POPRAVKOV. + +12. +V NOBENEM PRIMERU, RAZEN ČE TAKO PRAVI VELJAVNI ZAKON ALI JE PISNO DOGOVORJENO, NE BO LASTNIK PRAVIC RAZŠIRJANJA ALI KATERAKOLI DRUGA OSEBA, KI LAHKO SPREMENI IN/ALI PONOVNO RAZŠIRJA PROGRAM, KOT JE DOVOLJENO ZGORAJ, PREVZEL ODGOVORNOSTI ZARADI ŠKODE, NAJSI GRE ZA SPLOŠNO, POSEBNO, NENAMERNO ŠKODO ALI ŠKODO, IZHAJAJOČO IZ UPORABE ALI NEZMOŽNOSTI UPORABE PROGRAMA (VKLJUČNO Z, A NE OMEJENO NA, IZGUBO PODATKOV ALI NENATANČNO OBDELAVO PODATKOV ALI IZGUBO, POVZROČENO VAM ALI TRETJIM OSEBAM ALI NEZMOŽNOST PROGRAMA, DA BI DELOVAL S KAKIM DRUGIM PROGRAMOM), ČETUDI JE BIL TAK LASTNIK ALI DRUGA OSEBA OBVEŠČEN O MOŽNOSTI NASTANKA TAKŠNE ŠKODE. + +KONEC DOLOČB IN POGOJEV - + OSC Bridge Version - + Različica OSC Bridge - + Plugin Version - + Različica vtičnika - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - + <br>Različica %1<br>Carla je polno zmogljiv gostitelj zvočnih vtičnikov.<br><br>Avtorstvo (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + (pogon ni zagnan) - + Everything! (Including LRDF) - + Vse (vključno z LRDF) - + Everything! (Including CustomData/Chunks) - + Vse! (vključno z lastnimi podatki/kosi) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - + O programu 110&#37; celota (z uporabo lastnih razširitev)<br/>Implementirane funkcije/razširitve:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + Uporaba Juce gostitelja - + About 85% complete (missing vst bank/presets and some minor stuff) - + Približno 85% končano (manjkajo vst tabele/predloge in nekaj manjših zadev) @@ -1354,582 +688,621 @@ POSSIBILITY OF SUCH DAMAGES. MainWindow - + GlavnoOkno Rack - + Regal Patchbay - + Patchbay Logs - + Dnevniki Loading... + Nalagam... + + + + Save - + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - - - - - Sample Rate: - - - - - ? Xruns - - - - - DSP Load: %p% - - - - - &File - - - - - &Engine - - - - - &Plugin - - - - - Macros (all plugins) - - - - - &Canvas - + Velikost medpomnilnika: + Sample Rate: + Frekvenca vzorčenja: + + + + ? Xruns + ? Xruns + + + + DSP Load: %p% + DSP obremenitev: %p% + + + + &File + &Datoteka + + + + &Engine + &Pogon + + + + &Plugin + &Vtičnik + + + + Macros (all plugins) + Makroji (ali vtičniki) + + + + &Canvas + &Platno + + + Zoom - + Povečava - + &Settings - + &Nastavitve - + &Help + &Pomoč + + + + Tool Bar - - toolBar - - - - + Disk - + Disk - - + + Home - + Domov - + Transport - + Transport - + Playback Controls - + Kontrole predvajanja - + Time Information - + Podatki o času - + Frame: - + Okvir: - + 000'000'000 - + 000'000'000 - + Time: - + Čas: - + 00:00:00 - + 00:00:00 - + BBT: - + BBT: - + 000|00|0000 - + 000|00|0000 - + Settings Nastavitve - + BPM - + BPM - + Use JACK Transport - + Uporabi JACK Transport - + Use Ableton Link - + Uporabi Ableton Link - + &New &Novo - + Ctrl+N - + Ctrl+N - + &Open... &Odpri... - - + + Open... - + Odpri... - + Ctrl+O - + Ctrl+O - + &Save &Shrani - + Ctrl+S - + Ctrl+S - + Save &As... Shr%Ani kot... - - + + Save As... - + Shrani kot... - + Ctrl+Shift+S - + Ctrl+Shift+S - + &Quit Izhod - + Ctrl+Q - + Ctrl+Q - + &Start - + &Zaženi - + F5 - - - - - St&op - - - - - F6 - - - - - &Add Plugin... - - - - - Ctrl+A - - - - - &Remove All - - - - - Enable - - - - - Disable - - - - - 0% Wet (Bypass) - - - - - 100% Wet - - - - - 0% Volume (Mute) - - - - - 100% Volume - - - - - Center Balance - - - - - &Play - - - - - Ctrl+Shift+P - - - - - &Stop - - - - - Ctrl+Shift+X - - - - - &Backwards - - - - - Ctrl+Shift+B - - - - - &Forwards - - - - - Ctrl+Shift+F - - - - - &Arrange - - - - - Ctrl+G - - - - - - &Refresh - - - - - Ctrl+R - - - - - Save &Image... - + F5 - Auto-Fit - + St&op + &Ustavi - - Zoom In - + + F6 + F6 - Ctrl++ - + &Add Plugin... + Dod&aj vtičnik... - - Zoom Out - + + Ctrl+A + Ctrl+A - - Ctrl+- - + + &Remove All + Odst&rani vse - - Zoom 100% - + + Enable + Vklopi - - Ctrl+1 - + + Disable + Izklopi - - Show &Toolbar - + + 0% Wet (Bypass) + 0% obogateno (obvod) - - &Configure Carla - + + 100% Wet + 100% obogateno - - &About - + + 0% Volume (Mute) + 0% glasnost (tiho) - - About &JUCE - + + 100% Volume + 100% glasnost - - About &Qt - + + Center Balance + Središčno ravnovesje - - Show Canvas &Meters - + + &Play + &Predvajaj - - Show Canvas &Keyboard - + + Ctrl+Shift+P + Ctrl+Shift+P - - Show Internal - + + &Stop + U&stavi - - Show External - + + Ctrl+Shift+X + Ctrl+Shift+X - - Show Time Panel - - - - - Show &Side Panel - + + &Backwards + &Nazaj - &Connect... - + Ctrl+Shift+B + Ctrl+Shift+B - - Compact Slots - + + &Forwards + Na&prej - - Expand Slots - + + Ctrl+Shift+F + Ctrl+Shift+F + + + + &Arrange + &Razporedi - Perform secret 1 - + Ctrl+G + Ctrl+G - - Perform secret 2 - - - - - Perform secret 3 - + + + &Refresh + &Osveži + Ctrl+R + Ctrl+R + + + + Save &Image... + Shrani sl&iko... + + + + Auto-Fit + Samodejno prilagajanje + + + + Zoom In + Približaj + + + + Ctrl++ + Ctrl++ + + + + Zoom Out + Oddalji + + + + Ctrl+- + Ctrl+- + + + + Zoom 100% + 100% velikost + + + + Ctrl+1 + Ctrl+1 + + + + Show &Toolbar + Prikaži &orodno vrstico + + + + &Configure Carla + &Carla nastavitve + + + + &About + O progr&amu + + + + About &JUCE + O &JUCE + + + + About &Qt + O &Qt + + + + Show Canvas &Meters + Prikaži &merila platna + + + + Show Canvas &Keyboard + Prikaži tip&kovnico platna + + + + Show Internal + Prikaži notranje + + + + Show External + Prikaži zunanje + + + + Show Time Panel + Prikaži časovni pano + + + + Show &Side Panel + Prikaži &stranski pano + + + + Ctrl+P + + + + + &Connect... + Po&veži... + + + + Compact Slots + Skrči reže + + + + Expand Slots + Razširi reže + + + + Perform secret 1 + Izvedi skrivnost 1 + + + + Perform secret 2 + Izvedi skrivnost 2 + + + + Perform secret 3 + Izvedi skrivnost 3 + + + Perform secret 4 - + Izvedi skrivnost 4 - + Perform secret 5 - + Izvedi skrivnost 5 - + Add &JACK Application... - + Dodaj &JACK aplikacijo - + &Configure driver... - + &Nastavi gonilnik... - + Panic + Panika + + + + Open custom driver panel... + Odpri prilagojeni pano gonilnika... + + + + Save Image... (2x zoom) - - Open custom driver panel... + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C CarlaHostWindow - + Export as... - + Izvozi kot... - - - - + + + + Error - + Napaka - + Failed to load project - + Napaka pri nalaganju projekta - + Failed to save project - + Napaka pri shranjevanju projekta - + Quit - + Končaj - + Are you sure you want to quit Carla? - + Želite res zapreti Carlo? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Povezave z zvočnim zaledjem '%1' ni bilo mogoče vzpostaviti. Možni razlogi: +%2 - + Could not connect to Audio backend '%1' - + Povezave z zvočnim zaledjem '%1' ni bilo mogoče vzpostaviti. - + Warning - + Opozorilo - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - - - - CarlaInstrumentView - - - Show GUI - + Nekateri vtičniki so še naloženi in jih je potrebno odstraniti, da bi zaustavili pogon. +Želite to storiti? @@ -1942,1624 +1315,706 @@ Do you want to do this now? main - + glavno canvas - + platno engine - + pogon osc - + osc file-paths - + poti-datotek plugin-paths - + poti-vtičnikov wine - + wine experimental - + eksperimentalno Widget - + Gradnik - + Main - + Glavno - + Canvas - + Platno - + Engine - + Pogon File Paths - + Poti do datotek Plugin Paths - + Poti do vtičnikov Wine - + Wine - + Experimental - + Eksperimentalno - + <b>Main</b> - + <b>Glavno</b> - + Paths - + Poti - + Default project folder: - + Priveta projektna mapa: - + Interface + Vmesnik + + + + Use "Classic" as default rack skin - + Interface refresh interval: - - - - - - ms - + Interval osveževanja vmesnika: + + ms + ms + + + Show console output in Logs tab (needs engine restart) - - - - - Show a confirmation dialog before quitting - - - - - - Theme - + Prikaži izpis konzole v zavikhu Dnevniki (zahteva ponovni zagon pogona) - Use Carla "PRO" theme (needs restart) - + Show a confirmation dialog before quitting + Pred zapiranjem prikaži potrditveno okno + + Theme + Tema + + + + Use Carla "PRO" theme (needs restart) + Uporabi temo Carla "PRO" (zahteva ponovni zagon) + + + Color scheme: - + Barvna shema: - + Black - + Črna - + System - + Sistemska - + Enable experimental features - + Vklopi eksperimentalne funkcije - + <b>Canvas</b> - + <b>Platno</b> - + Bezier Lines - + Bezierjeve krivulje - + Theme: - + Tema: - + Size: - + Velikost - + 775x600 - + 775x600 - + 1550x1200 - - - - - 3100x2400 - - - - - 4650x3600 - - - - - 6200x4800 - + 1550x1200 + 3100x2400 + 3100x2400 + + + + 4650x3600 + 4650x3600 + + + + 6200x4800 + 6200x4800 + + + + 12400x9600 + + + + Options - + Možnosti - + Auto-hide groups with no ports - + Samodejuno skrij skupine brez vrat - + Auto-select items on hover - + Samodejno izberi predmete ob prehodu - + Basic eye-candy (group shadows) - + Osnovna paša za oči (skupinske sence) - + Render Hints - + Namigi za izrisovanje - + Anti-Aliasing - + Glajenje robov - + Full canvas repaints (slower, but prevents drawing issues) - + Izris celotnega okvirja (počasneje, a prepreči težave pri izrisovanju) - + <b>Engine</b> - + <b>Pogon</b> - - + + Core - + Jedro - + Single Client - + En odjemalec - + Multiple Clients - + Več odjemalcev - - + + Continuous Rack - + Neskončni regal - - + + Patchbay - + Patchbay - + Audio driver: - + Gonilnik za zvok: - + Process mode: - + Način obdelovanja: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Največje število parametrov, ki so dovoljeni v dialogu 'Uredi' - + Max Parameters: - + Maks. parametrov: - + ... - + ... - + Reset Xrun counter after project load - + Ko je projekt naložen, ponastavi Xrun števec - + Plugin UIs - - - - - - How much time to wait for OSC GUIs to ping back the host - - - - - UI Bridge Timeout: - - - - - Use OSC-GUI bridges when possible, this way separating the UI from DSP code - - - - - Use UI bridges instead of direct handling when possible - - - - - Make plugin UIs always-on-top - - - - - Make plugin UIs appear on top of Carla (needs restart) - + Vmesniki vtičnikov + + How much time to wait for OSC GUIs to ping back the host + Koliko časa naj se čaka na povratni ping OSC GUI gostitelju + + + + UI Bridge Timeout: + Časovna omejitev za mos uporabniškega vmesnika: + + + + Use OSC-GUI bridges when possible, this way separating the UI from DSP code + Kadar je možno, uporabite OSC-GUI premostitve in na ta način ločite vmesnik od DSP kode + + + + Use UI bridges instead of direct handling when possible + Uporabite mostove uporabniškega vmesnika namesto nesporedne rabe, kadar je to mogoče + + + + Make plugin UIs always-on-top + Vmesniki vtičnikov naj bodo vedno na vrhu + + + + Make plugin UIs appear on top of Carla (needs restart) + Vmesniki vtičnikov naj se vedno pojavijo nad Carlo (zahteva ponoven zagon) + + + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - + OPOMBA: Mostov grafičnih vmesnikov vtičnikov Carla v macOS ne more urejati - - + + Restart the engine to load the new settings - + Ponovno zaženite pogon, da naložite nove nastavitve - + <b>OSC</b> - + <b>OSC</b> - + Enable OSC - + Vklopi OSC - + Enable TCP port - + Omogoči TCP vrata - - + + Use specific port: - + Uporabi določena vrata - + Overridden by CARLA_OSC_TCP_PORT env var - + Prepisano s spremenljivko okolja CARLA_OSC_TCP_PORT - - + + Use randomly assigned port - + Uporabi naključno določena vrata - + Enable UDP port - + Omogoči UDP vrata - + Overridden by CARLA_OSC_UDP_PORT env var - + Prepisano s spremenljivko okolja CARLA_OSC_UDP_PORT - + DSSI UIs require OSC UDP port enabled - + DSSI vmesniki morajo imeti omogočena OSC UDP vrata - + <b>File Paths</b> - + <b>Poti do datotek</b> - + Audio - + Zvok - + MIDI - + MIDI - + Used for the "audiofile" plugin - + Uporabljeno za vtičnik "audiofile" - + Used for the "midifile" plugin - + Uporabljeno za vtičnik "midifile" - - + + Add... - + Dodaj... - - + + Remove - + Odstrani - - + + Change... - + premeni... - + <b>Plugin Paths</b> - + <b>Poti do vtičnikov</b> - + LADSPA - + LADSPA - + DSSI - + DSSI - + LV2 - + LV2 - + VST2 - + VST2 - + VST3 - + VST3 - + SF2/3 - + SF2/3 - + SFZ + SFZ + + + + JSFX - + + CLAP + + + + Restart Carla to find new plugins - + Ponovno zaženi Carlo, da poišče nove vtičnike - + <b>Wine</b> - + <b>Wine</b> - + Executable - + Izvedljivo - + Path to 'wine' binary: - + Pot do 'wine' sistemskih: - + Prefix - + Predpona - + Auto-detect Wine prefix based on plugin filename - + Samodejno zaznaj Wine predpono glede na ime datoteke vtičnika - + Fallback: - + Povratek različice: - + Note: WINEPREFIX env var is preferred over this fallback - + Opomba: Boljša je raba spremenljivke okolja WINEPREFIX, kot ta povratek različice - + Realtime Priority - + Prednost v realnem času - + Base priority: - + Osnovna prednost: - + WineServer priority: - + Prednost WinServer strežnika: - + These options are not available for Carla as plugin - + Te možnosti niso na voljo, kadar je Carla vtičnik - + <b>Experimental</b> - + <b>Eksperimentalno</b> - + Experimental options! Likely to be unstable! - + Eksperimentalne možnosti! Lahko so nestabilne! - + Enable plugin bridges - + Omogoči premostitve vtičnikov - + Enable Wine bridges - + Omogoči Wine mostove - + Enable jack applications - + Omogoči jack aplikacije - + Export single plugins to LV2 + Izvozi posamezne vtičnike v LV2 + + + + Use system/desktop-theme icons (needs restart) - + Load Carla backend in global namespace (NOT RECOMMENDED) - + Naloži zaledje Carle v globalnem imenskem prostoru (NI PRIPOROČENO) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Všečna paša za oči (skupine za pojemanje/večanje, svetleče povezave) - + Use OpenGL for rendering (needs restart) - + Za izrisovanje uporabi OpenGL (zahteva ponoven zagon) - + High Quality Anti-Aliasing (OpenGL only) - + Visoko-kakovostno glajenje robov (le OpenGL) - + Render Ardour-style "Inline Displays" - + Izrisovanje "Vrstnih prikazovalnikov" v Ardour slogu - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Prisili mono vtičnike v stereo, tako da sta naenkrat zagnani dve instanci. +Ta način za VST vtičnike ni na voljo. - + Force mono plugins as stereo + Prisili mono vitičnike v stereo + + + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Prevent plugins from doing bad stuff (needs restart) + + Prevent unsafe calls from plugins (needs restart) - - Whenever possible, run the plugins in bridge mode. + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. - + Run plugins in bridge mode when possible - + Zaženi vtičnike z mostom, če je to mogoče - - - - + + + + Add Path - - - - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - - - - - - Gain - - - - - Output volume - - - - - Input gain - - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - razmerje - - - - Attack - - - - - Release - Prepustitev - - - - Knee - - - - - Hold - - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - - - - - Input Gain - - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - - - - - Controller - - - Controller %1 - - - - - ControllerConnectionDialog - - - Connection Settings - - - - - MIDI CONTROLLER - - - - - Input channel - - - - - CHANNEL - - - - - Input controller - - - - - CONTROLLER - - - - - - Auto Detect - - - - - MIDI-devices to receive MIDI-events from - - - - - USER CONTROLLER - - - - - MAPPING FUNCTION - - - - - OK - V redu - - - - Cancel - Preklic - - - - LMMS - LMMS - - - - Cycle Detected. - - - - - ControllerRackView - - - Controller Rack - - - - - Add - - - - - Confirm Delete - - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Naj res izbrišem? Obstaja(-jo) povezava(-e) v zvezi s tem krmilnikom. Razveljavitve ni. - - - - ControllerView - - - Controls - - - - - Rename controller - - - - - Enter the new name for this controller - - - - - LFO - - - - - &Remove this controller - - - - - Re&name this controller - - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - - - - - DelayControlsDialog - - - DELAY - - - - - Delay time - - - - - FDBK - - - - - Feedback amount - - - - - RATE - - - - - LFO frequency - - - - - AMNT - - - - - LFO amount - - - - - Out gain - - - - - Gain - + Dodaj pot Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect - + Carla Control - povezava Remote setup - + Nastavitev oddaljenega dostopa UDP Port: - + UDP vrata: Remote host: - + Oddaljeni gostitelj: TCP Port: - - - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - + TCP vrata: Set value - + Določi vrednost TextLabel - + TekstovnaOznaka Scale Points - + Točke povečave @@ -3567,979 +2022,37 @@ If you are unsure, leave it as 'Automatic'. Driver Settings - + Nastavitve gonilnika Device: - + Naprava: Buffer size: - + Velikost medpomnilnika: Sample rate: - + Frekvenca vzorčenja Triple buffer - + Trojni medpomnilnik Show Driver Control Panel - + Prikaži upravljalno ploščo gonilnika Restart the engine to load the new settings - - - - - DualFilterControlDialog - - - - FREQ - - - - - - Cutoff frequency - - - - - - RESO - - - - - - Resonance - - - - - - GAIN - - - - - - Gain - - - - - MIX - - - - - Mix - - - - - Filter 1 enabled - - - - - Filter 2 enabled - - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - - - - - Filter 1 type - - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - - - - - Gain 1 - - - - - Mix - - - - - Filter 2 enabled - - - - - Filter 2 type - - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - - - - - Gain 2 - - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - - - - - - All-pass - - - - - - Moog - - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - - - - - - Fast Formant - - - - - - Tripole - - - - - Editor - - - Transport controls - - - - - Play (Space) - - - - - Stop (Space) - - - - - Record - - - - - Record while playing - - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - - - - - Wet/Dry mix - Mokro/Suho - - - - Gate - - - - - Decay - - - - - EffectChain - - - Effects enabled - - - - - EffectRackView - - - EFFECTS CHAIN - - - - - Add effect - - - - - EffectSelectDialog - - - Add effect - - - - - - Name - Ime - - - - Type - - - - - Description - - - - - Author - - - - - EffectView - - - On/Off - - - - - W/D - - - - - Wet Level: - - - - - DECAY - - - - - Time: - - - - - GATE - - - - - Gate: - - - - - Controls - - - - - Move &up - - - - - Move &down - - - - - &Remove this plugin - - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - - - - - - Pre-delay: - - - - - - ATT - - - - - - Attack: - - - - - HOLD - - - - - Hold: - - - - - DEC - - - - - Decay: - - - - - SUST - - - - - Sustain: - - - - - REL - - - - - Release: - - - - - - AMT - - - - - - Modulation amount: - - - - - SPD - - - - - Frequency: - - - - - FREQ x 100 - - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - - - - - Hint - - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - - - - - Output gain - - - - - Low-shelf gain - - - - - Peak 1 gain - - - - - Peak 2 gain - - - - - Peak 3 gain - - - - - Peak 4 gain - - - - - High-shelf gain - - - - - HP res - - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - - - - - HP freq - - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - - - - - Peak 2 active - - - - - Peak 3 active - - - - - Peak 4 active - - - - - High-shelf active - - - - - LP active - - - - - LP 12 - - - - - LP 24 - - - - - LP 48 - - - - - HP 12 - - - - - HP 24 - - - - - HP 48 - - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - - - - - Analyse OUT - - - - - EqControlsDialog - - - HP - - - - - Low-shelf - - - - - Peak 1 - - - - - Peak 2 - - - - - Peak 3 - - - - - Peak 4 - - - - - High-shelf - - - - - LP - - - - - Input gain - - - - - - - Gain - - - - - Output gain - - - - - Bandwidth: - - - - - Octave - - - - - Resonance : - - - - - Frequency: - - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - - - - - BW: - - - - - - Freq: - + Ponovno zaženite pogon, da naložite nove nastavitve @@ -4552,2298 +2065,825 @@ If you are unsure, leave it as 'Automatic'. Export as loop (remove extra bar) - + Izvozi kot zanko (odstrani odvečni takt) Export between loop markers - + Izvoz med dvema oznakama Render Looped Section: - + Oblikuj ponavljajoči se razdelek: time(s) - + krat File format settings - + Nastavitve formata datoteke File format: - + Format datoteke: Sampling rate: - + Frekvenca vzorčenja: 44100 Hz - + 44100 Hz 48000 Hz - + 48000 Hz 88200 Hz - + 88200 Hz 96000 Hz - + 96000 Hz 192000 Hz - + 192000 Hz Bit depth: - + Bitna globina 16 Bit integer - + 16 bitni integer 24 Bit integer - + 24 bitni integer 32 Bit float - + 32 bitni float Stereo mode: - + Stero način: Mono - + Mono Stereo - + Stereo Joint stereo - + Združeni stereo Compression level: - + Stopnja stiskanja: Bitrate: - + Bitna hitrost: 64 KBit/s - + 64 kbit/s 128 KBit/s - + 128 kbit/s 160 KBit/s - + 160 kbit/s 192 KBit/s - + 192 kbit/s 256 KBit/s - + 256 kbit/s 320 KBit/s - + 320 kbit/s Use variable bitrate - + Uporabi variabilno bitno hitrost Quality settings - + Nastavitve kakovosti Interpolation: - + Prepletanje: Zero order hold - + Zadrževalnik ničtega reda (ZOH) Sinc worst (fastest) - + Sinh. slabo (hitro) Sinc medium (recommended) - + Sinh srednje (priporočeno) Sinc best (slowest) - + Sinh odlično (počasi) - - Oversampling: - - - - - 1x (None) - - - - - 2x - - - - - 4x - - - - - 8x - - - - + Start - + Zaženi - + Cancel Preklic - - - Could not open file - - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - - - - - Export project to %1 - Izvozi projekt v %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - - - - - Error while determining file-encoder device. Please try to choose a different output format. - - - - - Rendering: %1% - - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - Prosim vpišite novo vrednost med %1 in %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Brskalnik - - - - Search - - - - - Refresh list - - - - - FileBrowserTreeWidget - - - Send to active instrument-track - - - - - Open containing folder - - - - - Song Editor - Urejevalnik skladbe - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - - - - - Please wait, loading sample for preview... - - - - - Error - - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - - - - - Seconds - - - - - Stereo phase - - - - - Regen - - - - - Noise - - - - - Invert - - - - - FlangerControlsDialog - - - DELAY - - - - - Delay time: - - - - - RATE - - - - - Period: - - - - - AMNT - - - - - Amount: - - - - - PHASE - - - - - Phase: - - - - - FDBK - - - - - Feedback amount: - - - - - NOISE - - - - - White noise amount: - - - - - Invert - - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - - - - - Bass - - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - - - - - Treble - - - - - Bass: - - - - - Bass - - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - - - - - Move &left - - - - - Move &right - - - - - Rename &channel - - - - - R&emove channel - - - - - Remove &unused channels - - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - - - - - New mixer Channel - - - - - Mixer - - - Master - - - - - - - Channel %1 - - - - - Volume - Glasnost - - - - Mute - Mute - - - - Solo - Solist - - - - MixerView - - - Mixer - - - - - Fader %1 - - - - - Mute - Mute - - - - Mute this mixer channel - - - - - Solo - Solist - - - - Solo mixer channel - - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - - - - - GigInstrument - - - Bank - - - - - Patch - - - - - Gain - - - - - GigInstrumentView - - - - Open GIG file - - - - - Choose patch - - - - - Gain: - - - - - GIG Files (*.gig) - - - - - GuiApplication - - - Working directory - - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - - - - - Preparing UI - - - - - Preparing song editor - Pripravljam Urejevalnik skladbe - - - - Preparing mixer - - - - - Preparing controller rack - - - - - Preparing project notes - - - - - Preparing beat/bassline editor - - - - - Preparing piano roll - Pripravljam Klavirčrtovje - - - - Preparing automation editor - - - - - InstrumentFunctionArpeggio - - - Arpeggio - - - - - Arpeggio type - - - - - Arpeggio range - - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - - - - - Arpeggio gate - - - - - Arpeggio direction - - - - - Arpeggio mode - - - - - Up - - - - - Down - - - - - Up and down - - - - - Down and up - - - - - Random - - - - - Free - - - - - Sort - - - - - Sync - - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - - - - - RANGE - - - - - Arpeggio range: - - - - - octave(s) - - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - - - - - SKIP - - - - - Skip rate: - - - - - - - % - - - - - MISS - - - - - Miss rate: - - - - - TIME - - - - - Arpeggio time: - - - - - ms - - - - - GATE - - - - - Arpeggio gate: - - - - - Chord: - - - - - Direction: - - - - - Mode: - - InstrumentFunctionNoteStacking - - - octave - - - - - - Major - - - - - Majb5 - - - - - minor - - - - - minb5 - - - - - sus2 - - - - - sus4 - - - aug - + octave + oktava - augsus4 - + + Major + durova - tri - + Majb5 + H5-dur + + + + minor + molova - 6 - + minb5 + H5-mol - 6sus4 - + sus2 + sus2 - 6add9 - + sus4 + sus4 - m6 - + aug + aug - m6add9 - + augsus4 + augsus4 - - 7 - + + tri + tri - 7sus4 - + 6 + 6 - 7#5 - + 6sus4 + 6sus4 - 7b5 - + 6add9 + 6add9 - 7#9 - + m6 + mol6 - 7b9 - - - - - 7#5#9 - + m6add9 + m6add9 - 7#5b9 - + 7 + 7 - 7b5b9 - + 7sus4 + 7sus4 - 7add11 - + 7#5 + 7#5 - 7add13 - + 7b5 + 7b5 - 7#11 - + 7#9 + 7#9 - Maj7 - + 7b9 + 7b9 - Maj7b5 - + 7#5#9 + 7#5#9 - Maj7#5 - + 7#5b9 + 7#5b9 - Maj7#11 - + 7b5b9 + 7b5b9 - Maj7add13 - + 7add11 + 7add11 - m7 - + 7add13 + 7add13 - m7b5 - + 7#11 + 7#11 - m7b9 - + Maj7 + dur7 - m7add11 - + Maj7b5 + dur7h5 - m7add13 - + Maj7#5 + dur7#5 - m-Maj7 - + Maj7#11 + dur7#11 - m-Maj7add11 - + Maj7add13 + dur7add13 - m-Maj7add13 - + m7 + mol7 + + + + m7b5 + mol7b5 - 9 - + m7b9 + mol7b9 - 9sus4 - + m7add11 + mol7add11 - add9 - + m7add13 + mol7add13 - 9#5 - + m-Maj7 + mol-Maj7 - 9b5 - + m-Maj7add11 + mol-Maj7add11 - 9#11 - - - - - 9b13 - + m-Maj7add13 + mol-Maj7add13 - Maj9 - + 9 + 9 - Maj9sus4 - + 9sus4 + 9sus4 - Maj9#5 - + add9 + add9 - Maj9#11 - + 9#5 + 9#5 - m9 - + 9b5 + 9b5 - madd9 - + 9#11 + 9#11 - m9b5 - + 9b13 + 9b13 - m9-Maj7 - + Maj9 + dur9 + + + + Maj9sus4 + dur9sus4 - 11 - + Maj9#5 + dur9#5 - 11b9 - + Maj9#11 + dur9#11 - Maj11 - + m9 + mol9 - m11 - + madd9 + mol-add9 - m-Maj11 - + m9b5 + mol9b5 - - 13 - + + m9-Maj7 + mol9-Maj7 - 13#9 - + 11 + 11 - 13b9 - + 11b9 + 11b9 - 13b5b9 - + Maj11 + dur11 - Maj13 - + m11 + mol11 - m13 - + m-Maj11 + mol-Maj11 - - m-Maj13 - + + 13 + 13 + + + + 13#9 + 13#9 - Harmonic minor - + 13b9 + 13b9 - Melodic minor - + 13b5b9 + 13b5b9 - Whole tone - + Maj13 + dur13 - Diminished - + m13 + mol13 - Major pentatonic - - - - - Minor pentatonic - - - - - Jap in sen - + m-Maj13 + mol-Maj13 - Major bebop - + Harmonic minor + Harmonična molova - Dominant bebop - + Melodic minor + Melodična molova - Blues - + Whole tone + Cel ton - Arabic - + Diminished + zmanjšan - Enigmatic - + Major pentatonic + Durova pentatonika - Neopolitan - + Minor pentatonic + Molova pentatonika - Neopolitan minor - + Jap in sen + japonska in sen - Hungarian minor - + Major bebop + Durova bepop - Dorian - + Dominant bebop + Dominantna bepop - Phrygian - + Blues + Blues - Lydian - + Arabic + Arabska - Mixolydian - + Enigmatic + Enigmatična - Aeolian - + Neopolitan + Neopolitanska - Locrian - + Neopolitan minor + Neopolitanska molova - Minor - + Hungarian minor + Madžarska molova - Chromatic - + Dorian + Dorijanska - Half-Whole Diminished - + Phrygian + Frigijska + + + + Lydian + Lidijanska + Mixolydian + Miksolidijska + + + + Aeolian + Eolska + + + + Locrian + Lokrijska + + + + Minor + Molovska + + + + Chromatic + Kromatična + + + + Half-Whole Diminished + Pol-cele znižano + + + 5 5 - + Phrygian dominant - + Frigijska dominantna - + Persian - - - - - Chords - - - - - Chord type - - - - - Chord range - - - - - InstrumentFunctionNoteStackingView - - - STACKING - - - - - Chord: - - - - - RANGE - - - - - Chord range: - - - - - octave(s) - - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - - - - - ENABLE MIDI OUTPUT - - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - MIDI devices to receive MIDI events from - - - - - MIDI devices to send MIDI events to - - - - - CUSTOM BASE VELOCITY - - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - - - - - InstrumentTuningView - - - MASTER PITCH - - - - - Enables the use of master pitch - + Perzijsko InstrumentSoundShaping - - - VOLUME - - - - - Volume - Obseg - - - - CUTOFF - - - - Cutoff frequency - + VOLUME + GLASNOST - RESO - - - - - Resonance - - - - - Envelopes/LFOs - - - - - Filter type - - - - - Q/Resonance - - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - - - - - All-pass - - - - - Moog - - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - - - - - Fast Formant - - - - - Tripole - - - - - InstrumentSoundShapingView - - - TARGET - - - - - FILTER - - - - - FREQ - - - - - Cutoff frequency: - - - - - Hz - - - - - Q/RESO - - - - - Q/Resonance: - - - - - Envelopes, LFOs and filters are not supported by the current instrument. - - - - - InstrumentTrack - - - - unnamed_track - - - - - Base note - - - - - First note - - - - - Last note - - - - - Volume - Obseg - - - - Panning - - - - - Pitch - - - - - Pitch range - - - - - Mixer channel - - - - - Master pitch - Poveljnik ladje - - - - Enable/Disable MIDI CC - - - - - CC Controller %1 - - - - - - Default preset - - - - - InstrumentTrackView - - - Volume - Obseg - - - - Volume: - Glasnost: - - - - VOL - GLS - - - - Panning - - - - - Panning: - - - - - PAN - PAN - - - - MIDI - - - - - Input - - - - - Output - - - - - Open/Close MIDI CC Rack - - - - - Channel %1: %2 - - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - - - - Volume Glasnost - - Volume: - Glasnost: + + CUTOFF + ODREZ - - VOL - GLS + + Cutoff frequency + Frekvenca rezanja - - Panning - + + RESO + RESO - - Panning: - - - - - PAN - PAN - - - - Pitch - - - - - Pitch: - - - - - cents - - - - - PITCH - - - - - Pitch range (semitones) - - - - - RANGE - - - - - Mixer channel - - - - - CHANNEL - - - - - Save current instrument track settings in a preset file - - - - - SAVE - SHRANI - - - - Envelope, filter & LFO - - - - - Chord stacking & arpeggio - - - - - Effects - - - - - MIDI - - - - - Miscellaneous - - - - - Save preset - Shrani glasbilce - - - - XML preset file (*.xpf) - - - - - Plugin - + + Resonance + Resnonanca - JackApplicationW + JackAppDialog - + + Add JACK Application + + + + + Note: Features not implemented yet are greyed out + + + + + Application + + + + + Name: + + + + + Application: + + + + + From template + + + + + Custom + + + + + Template: + + + + + Command: + + + + + Setup + + + + + Session Manager: + + + + + None + + + + + Audio inputs: + + + + + MIDI inputs: + + + + + Audio outputs: + + + + + MIDI outputs: + + + + + Take control of main application window + + + + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6851,943 +2891,9 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - - - - Knob - - - Set linear - - - - - Set logarithmic - - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - - - - - Please enter a new value between %1 and %2: - Prosim vpišite novo vrednost med %1 in %2: - - - - LadspaControl - - - Link channels - - - - - LadspaControlDialog - - - Link Channels - - - - - Channel - - - - - LadspaControlView - - - Link channels - - - - - Value: - - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Prosim vpišite novo vrednost med %1 in %2: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Prosim vpišite novo vrednost med %1 in %2: - - - - LeftRightNav - - - - - Previous - - - - - - - Next - - - - - Previous (%1) - - - - - Next (%1) - - - - - LfoController - - - LFO Controller - - - - - Base value - - - - - Oscillator speed - - - - - Oscillator amount - - - - - Oscillator phase - - - - - Oscillator waveform - - - - - Frequency Multiplier - - - - - LfoControllerDialog - - - LFO - - - - - BASE - - - - - Base: - - - - - FREQ - - - - - LFO frequency: - - - - - AMNT - - - - - Modulation amount: - - - - - PHS - - - - - Phase offset: - - - - - degrees - - - - - Sine wave - - - - - Triangle wave - - - - - Saw wave - - - - - Square wave - - - - - Moog saw wave - - - - - Exponential wave - - - - - White noise - - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - - - - - Initializing data structures - - - - - Opening audio and midi devices - - - - - Launching mixer threads - - - - - MainWindow - - - Configuration file - - - - - Error while parsing configuration file at line %1:%2: %3 - - - - - Could not open file - - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - - - - - Project recovery - - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - - - - - Recover - - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - - - - - - Discard - - - - - Launch a default session and delete the restored files. This is not reversible. - - - - - Version %1 - - - - - Preparing plugin browser - - - - - Preparing file browsers - - - - - My Projects - Moji projekti - - - - My Samples - - - - - My Presets - - - - - My Home - - - - - Root directory - - - - - Volumes - - - - - My Computer - - - - - &File - - - - - &New - &Novo - - - - &Open... - &Odpri... - - - - Loading background picture - - - - - &Save - &Shrani - - - - Save &As... - Shr%Ani kot... - - - - Save as New &Version - Shrani kot no&Vo različico - - - - Save as default template - Shrani kot privzeto predlogo - - - - Import... - Uvozi... - - - - E&xport... - - - - - E&xport Tracks... - - - - - Export &MIDI... - Izvoz &MIDI... - - - - &Quit - Izhod - - - - &Edit - Ur&Edi - - - - Undo - Razveljavi - - - - Redo - Uveljavi - - - - Settings - Nastavitve - - - - &View - - - - - &Tools - - - - - &Help - - - - - Online Help - - - - - Help - - - - - About - Vizitka - - - - Create new project - Ustvari nov projekt - - - - Create new project from template - Ustvari nov projekt iz predloge - - - - Open existing project - Odpri obstoječi projekt - - - - Recently opened projects - Nedavno odprti projekti - - - - Save current project - Shrani trenutni projekt - - - - Export current project - Izvozi trenutni projekt - - - - Metronome - - - - - - Song Editor - Urejevalnik skladbe - - - - - Beat+Bassline Editor - Ritem+bas urejevalnik - - - - - Piano Roll - Klavirčrtovje - - - - - Automation Editor - Samodejnik - - - - - Mixer - - - - - Show/hide controller rack - - - - - Show/hide project notes - - - - - Untitled - - - - - Recover session. Please save your work! - - - - - LMMS %1 - - - - - Recovered project not saved - - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - - - - - Project not saved - Projekt ni shranjen - - - - The current project was modified since last saving. Do you want to save it now? - - - - - Open Project - Odpri projekt - - - - LMMS (*.mmp *.mmpz) - - - - - Save Project - Shrani projekt - - - - LMMS Project - LMMS projekt - - - - LMMS Project Template - Predloga za LMMS projekt - - - - Save project template - - - - - Overwrite default template? - - - - - This will overwrite your current default template. - - - - - Help not available - - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - - - - - Controller Rack - - - - - Project Notes - Zabeležke o projektu - - - - Fullscreen - - - - - Volume as dBFS - - - - - Smooth scroll - - - - - Enable note labels in piano roll - - - - - MIDI File (*.mid) - - - - - - untitled - Neimenovan - - - - - Select file for project-export... - Izberi datoteko za izvoz projekta... - - - - Select directory for writing exported tracks... - - - - - Save project - - - - - Project saved - Projekt je shranjen - - - - The project %1 is now saved. - Projekt %1 je zdaj shranjen - - - - Project NOT saved. - Projekt NI shranjen - - - - The project %1 was not saved! - Projekt %1 ni bil shranjen - - - - Import file - Uvozi datoteko - - - - MIDI sequences - - - - - Hydrogen projects - Hydrogen projekti - - - - All file types - Dovoljene vrste datotek - - - - MeterDialog - - - - Meter Numerator - - - - - Meter numerator - - - - - - Meter Denominator - - - - - Meter denominator - - - - - TIME SIG - - - - - MeterModel - - - Numerator - - - - - Denominator - - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - - - - - unnamed_midi_controller - - - - - MidiImport - - - - Setup incomplete - - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - - - - - Denominator - - - - - Track - - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - + Ta program uporablja JUCE različice %1 @@ -7795,71 +2901,71 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. MIDI Pattern - + MIDI matrika Time Signature: - + Časovna oznaka: 1/4 - + 1/4 2/4 - + 2/4 3/4 - + 3/4 4/4 - + 4/4 5/4 - + 5/4 6/4 - + 6/4 Measures: - + Merila: 1 - + 1 2 - + 2 3 - + 3 4 - + 4 @@ -7869,120 +2975,120 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 6 - + 6 7 - + 7 8 - + 8 9 - + 9 10 - + 10 11 - + 11 12 - + 12 13 - + 13 14 - + 14 15 - + 15 16 - + 16 Default Length: - + Privzeta dolžina: 1/16 - + 1/16 1/15 - + 1/15 1/12 - + 1/12 1/9 - + 1/9 1/8 - + 1/8 1/6 - + 1/6 1/3 - + 1/3 1/2 - + 1/2 Quantize: - + Kvantizacija: &File - + %Datoteka @@ -7995,2729 +3101,370 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. Izhod - - &Insert Mode + + Esc - F - + &Insert Mode + Način vstavljanja - - &Velocity Mode - + + F + F - D - + &Velocity Mode + Način &hitrosti - - Select All - + + D + D + Select All + Izberi vse + + + A - - - - - MidiPort - - - Input channel - - - - - Output channel - - - - - Input controller - - - - - Output controller - - - - - Fixed input velocity - - - - - Fixed output velocity - - - - - Fixed output note - - - - - Output MIDI program - - - - - Base velocity - - - - - Receive MIDI-events - - - - - Send MIDI-events - - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - - - - - White noise - - - - - Digital Triangle wave - - - - - Digital Saw wave - - - - - Digital Ramp wave - - - - - Digital Square wave - - - - - Digital Moog saw wave - - - - - Triangle wave - - - - - Saw wave - - - - - Ramp wave - - - - - Square wave - - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - - - - - Random smooth - - - - - MonstroView - - - Operators view - - - - - Matrix view - - - - - - - Volume - Obseg - - - - - - Panning - - - - - - - Coarse detune - - - - - - - semitones - - - - - - Fine tune left - - - - - - - - cents - - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - - - - - Pulse width - - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - - - - - - Rate - - - - - - Phase - - - - - - Pre-delay - - - - - - Hold - - - - - - Decay - - - - - - Sustain - - - - - - Release - Prepustitev - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - - - - - MultitapEchoControlDialog - - - Length - - - - - Step length: - - - - - Dry - - - - - Dry gain: - - - - - Stages - - - - - Low-pass stages: - - - - - Swap inputs - - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Poveljnik ladje - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Obseg - - - - - - Coarse detune - - - - - - - Envelope length - - - - - Enable channel 1 - - - - - Enable envelope 1 - - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - - - - - - 25% Duty cycle - - - - - - 50% Duty cycle - - - - - - 75% Duty cycle - - - - - Enable channel 2 - - - - - Enable envelope 2 - - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - - - - - Noise Frequency - - - - - Frequency sweep - - - - - Enable channel 4 - - - - - Enable envelope 4 - - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - - - - - Master volume - Poveljnik ladje - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - - - - - - Decay - - - - - - Release - Prepustitev - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - - - - - Osc %1 harmonic - - - - - - Osc %1 volume - - - - - - Osc %1 panning - - - - - - Osc %1 fine detuning left - - - - - Osc %1 coarse detuning - - - - - Osc %1 fine detuning right - - - - - Osc %1 phase-offset - - - - - Osc %1 stereo phase-detuning - - - - - Osc %1 wave shape - - - - - Modulation type %1 - - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - + A PatchesDialog + Qsynth: Channel Preset - + QSynth: Predloga kanala + Bank selector - + Izbirnik tabele + Bank - + Tabela + Program selector - + Izbirnik programa + Patch - + Program + Name Ime + OK V redu + Cancel Preklic - - PatmanView - - - Open patch - - - - - Loop - - - - - Loop mode - - - - - Tune - - - - - Tune mode - - - - - No file selected - - - - - Open patch file - - - - - Patch-Files (*.pat) - - - - - MidiClipView - - - Open in piano-roll - Odpri v Klavirčrtovju - - - - Set as ghost in piano-roll - - - - - Clear all notes - - - - - Reset name - - - - - Change name - - - - - Add steps - - - - - Remove steps - - - - - Clone Steps - - - - - PeakController - - - Peak Controller - - - - - Peak Controller Bug - - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - - - - - PeakControllerDialog - - - PEAK - - - - - LFO Controller - - - - - PeakControllerEffectControlDialog - - - BASE - - - - - Base: - - - - - AMNT - - - - - Modulation amount: - - - - - MULT - - - - - Amount multiplicator: - - - - - ATCK - - - - - Attack: - - - - - DCAY - - - - - Release: - - - - - TRSH - - - - - Treshold: - - - - - Mute output - - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - - - - - Modulation amount - - - - - Attack - - - - - Release - Prepustitev - - - - Treshold - Treshold - - - - Mute output - - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - - - - - Note Panning - - - - - Mark/unmark current semitone - - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - - - - - Select all notes on this key - - - - - Note lock - - - - - Last note - - - - - No key - - - - - No scale - - - - - No chord - - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - - - - - Panning: %1% left - - - - - Panning: %1% right - - - - - Panning: center - - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - - - - - - Please enter a new value between %1 and %2: - Prosim vpišite novo vrednost med %1 in %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - - - - - Record notes from MIDI-device/channel-piano - - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - - - - - Edit actions - - - - - Draw mode (Shift+D) - - - - - Erase mode (Shift+E) - - - - - Select mode (Shift+S) - - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization - - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - Klavirčrtovje - %1 - - - - - Piano-Roll - no clip - Klavirčrtovje - ni šablone - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - - - - - First note - - - - - Last note - - - - - Plugin - - - Plugin not found - - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - - - - - Error while loading plugin - - - - - Failed to load plugin "%1"! - - - PluginBrowser - - Instrument Plugins - - - - - Instrument browser - - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - - - - + no description - + ni opisa - + A native amplifier plugin - + Lastni vtičnik ojačevalca - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - + Prepsot vzorčevalnik z različnimi nastavitvami za rabo vzorcev (npr. bobnov) na instrumentalni stezi - + Boost your bass the fast and simple way - + Poudarite bas na hiter in enostaven način - + Customizable wavetable synthesizer - + Prilagodljiv sintetizator s tabelami valovnih oblik - + An oversampling bitcrusher - + Prevzorčevalni lomilec bitov - + Carla Patchbay Instrument - + Carla Patchbay Instrument - + Carla Rack Instrument - + Carla regal instrumenti - + A dynamic range compressor. - + Kompresor z dinamičnim razponom - + A 4-band Crossover Equalizer - + 4 pasovni navzkrižni izravnalnik - + A native delay plugin - + lastni vtičnik za zamik - + A Dual filter plugin - + Dvojni filter vtičnik - + plugin for processing dynamics in a flexible way - + vtičnik za procesiranje dinamike na fleksibilen način - + A native eq plugin - + Lastni eq vtičnik - + A native flanger plugin - + Lastni flanger vtičnik - + Emulation of GameBoy (TM) APU - + Emulacija GameBoy (tm) APU - + Player for GIG files - + Predvajalnik za GIG datoteke - + Filter for importing Hydrogen files into LMMS Sito za uvažanje Hydrogen datotek v LMMS - + Versatile drum synthesizer - + Vsestranski sintetizator bobnov - + List installed LADSPA plugins - + Seznam nameščenih LADSPA vtičnikov - + plugin for using arbitrary LADSPA-effects inside LMMS. - + vtičnik za rabo poljubnih LADSPA instrumentov v LMMS. - + Incomplete monophonic imitation TB-303 - + Nepopolna monofonična imitacija tv303 - + plugin for using arbitrary LV2-effects inside LMMS. - + vtičnik za rabo poljubnih LV2 učinkov v LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + vtičnik za rabo poljubnih LV2 instrumentov v LMMS. - + Filter for exporting MIDI-files from LMMS Sito za izvažanje MIDI datotek iz LMMS - + Filter for importing MIDI-files into LMMS Sito za uvažanje MIDI datotek v LMMS - + Monstrous 3-oscillator synth with modulation matrix - + Pošasten 3-oscilatorski sintetizator z modulacijsko matriko - + A multitap echo delay plugin - + Vtičnik za multitap eho zamik - + A NES-like synthesizer - + NES-u podoben sintetizator - + 2-operator FM Synth - + Fm sintetizator z dvema operatorjema - + Additive Synthesizer for organ-like sounds - + Aditivni sintetizator za orglasto zveneče zvoke - + GUS-compatible patch instrument - + GUS-združljiv programski instrument - + Plugin for controlling knobs with sound peaks - + Vtičnik za nadzor vrtljivih regulatorjev z vrhovi zvoka - + Reverb algorithm by Sean Costello - + Algoritem odjeka je ustvaril Sean Costello - + Player for SoundFont files - + Predvajalnik za SoundFont datoteke - + LMMS port of sfxr - + LMMS vrata za sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. - + Emulacija za MOS6581 in MOS8580 SID. +Ta čipa sta bila uporabljane v računalniku Commodore 64. - + A graphical spectrum analyzer. - + Grafični spektralni analizator. - + Plugin for enhancing stereo separation of a stereo input file - + Vtičnik za poudarjanje ločenosti kanalov stereo vhodne datoteke - + Plugin for freely manipulating stereo output - + Vtičnik za prosto manipulacijo stereo izhoda - + Tuneful things to bang on - + Nastavljive zadeve za uporabo - + Three powerful oscillators you can modulate in several ways - + Trije zmogljivi oscilatorji, ki jih lahko modulirate na številne načine - + A stereo field visualizer. - + Vizualizacija stereo polja. - + VST-host for using VST(i)-plugins within LMMS - + VST-gostitelj za rabo VST(i)-vtičnikov z LMMS - + Vibrating string modeler - + Oblikovalec vibrirajočih strun - + plugin for using arbitrary VST effects inside LMMS. - + vtičnik za rabo poljubnih VST učinkov v LMMS. - + 4-oscillator modulatable wavetable synth - + 4-oscilatorski modulirajoči sintetizator s tabelami valovnih oblik - + plugin for waveshaping - + vtičnik za oblikovanje valov - + Mathematical expression parser - + Razčlenjevalnik matematičnih izrazov - + Embedded ZynAddSubFX - + Vdelan ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. + Filter vseh pasov za ekstremno visoke rede + + + + Granular pitch shifter - - Format + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - Internal + + Basic Slicer - - LADSPA - - - - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - - - - - Effects - - - - - Instruments - - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Preklic - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - Ime - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F - + + Tap to the beat + Tapkajte v ritmu @@ -10725,58 +3472,58 @@ This chip was used in the Commodore 64 computer. Plugin Editor - + Urejevalnik vtičnikov Edit - + Uredi Control - + Kontrola MIDI Control Channel: - + Kanal MIDI kontrola: N - + N Output dry/wet (100%) - + Izhod surovo/obogateno (100%) Output volume (100%) - + Izhodna glasnost (100%) Balance Left (0%) - + Ravnovesje levo (0%) Balance Right (0%) - + Ravnovesje desno (0%) Use Balance - + Uporabi ravnovesje Use Panning - + Uporabi panoramo @@ -10786,136 +3533,584 @@ This chip was used in the Commodore 64 computer. Use Chunks - + Uporabi kose Audio: - + Zvok: Fixed-Size Buffer - + Stalna velikost medpomnilnika Force Stereo (needs reload) - + Prisili stereo (zahteva ponovni zagon) MIDI: - + MIDI: Map Program Changes - + Mapiraj spremembe programa - Send Bank/Program Changes + Send Notes - Send Control Changes - + Send Bank/Program Changes + Pošlji spremembe tabele/programa - Send Channel Pressure - + Send Control Changes + Pošlji sprembe kontrole - Send Note Aftertouch - + Send Channel Pressure + Pošlji pritisk kanala - Send Pitchbend - + Send Note Aftertouch + Pošlji po-dotik note - Send All Sound/Notes Off - + Send Pitchbend + Pošlji pregib višine - + + Send All Sound/Notes Off + Pošlji vse note/izklopi note + + + Plugin Name - + +Ime vtičnika + - + Program: - + Program: - + MIDI Program: - + MIDI Program: - + Save State - + Shrani stanje - + Load State - + Naloži stanje - + Information - + Informacije - + Label/URI: - + Oznaka/URI: - + Name: - + Ime: - + Type: - + Vrsta: - + Maker: - + Ustvaril: - + Copyright: - + Avtorstvo: - + Unique ID: - + Edinstven ID: PluginFactory - + Plugin not found. + Vtičnik ni najden. + + + + LMMS plugin %1 does not have a plugin descriptor named %2! + LMMS vtičnik %1 nima označevalca vtičnika z imenom %2! + + + + PluginListDialog + + + Carla - Add New - - LMMS plugin %1 does not have a plugin descriptor named %2! + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No @@ -10924,166 +4119,70 @@ Plugin Name Form - + Oblika Parameter Name - + Ime parametra - ... + TextLabel + + + ... + ... + - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Zapri + @@ -11095,5232 +4194,14682 @@ You can disable these checks to get a faster scanning time (at your own risk). Frame - + Okvir - + Enable - + Vklopi - + On/Off - + Vklopi/izklopi - + - + PluginName - + ImeVtičnika - + MIDI - + MIDI - + AUDIO IN - + ZVOČNI VHOD - + AUDIO OUT - + ZVOČNI IZHOD - + GUI - + GUI - + Edit - + Uredi - + Remove - + Odstrani Plugin Name - + Ime vtičnika Preset: - - - - - ProjectNotes - - - Project Notes - Zabeležke o projektu - - - - Enter project notes here - - - - - Edit Actions - - - - - &Undo - Razveljavi - - - - %1+Z - - - - - &Redo - Uveljavi - - - - %1+Y - - - - - &Copy - - - - - %1+C - - - - - Cu&t - - - - - %1+X - - - - - &Paste - - - - - %1+V - - - - - Format Actions - - - - - &Bold - - - - - %1+B - - - - - &Italic - - - - - %1+I - - - - - &Underline - - - - - %1+U - - - - - &Left - - - - - %1+L - - - - - C&enter - - - - - %1+E - - - - - &Right - - - - - %1+R - - - - - &Justify - - - - - %1+J - - - - - &Color... - + Predloga: ProjectRenderer - + WAV (*.wav) - + WAV (*.wav) - + FLAC (*.flac) - + FLAC (*.flac) - + OGG (*.ogg) - + OGG (*.ogg) - + MP3 (*.mp3) + MP3 (*.mp3) + + + + QGroupBox + + + + Settings for %1 QObject - + Reload Plugin - + Ponovno naloži vtičnik - + Show GUI + Prikaži grafični vmesnik + + + + Help + Pomoč + + + + LADSPA plugins - - Help + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) QWidget - - - - - - Name: - - - - - URI: - - - - - - - Maker: - - - - - - - Copyright: - - - - - - Requires Real Time: - - - - - - - - - - Yes - - - - - - - - - - No - - - - - - Real Time Capable: - - - - - - In Place Broken: - - - - - - Channels In: - - - - - - Channels Out: - - + + Name: + Ime: + + + + Maker: + Ustvaril: + + + + Copyright: + Avtorstvo: + + + + Requires Real Time: + Zahteva realni čas: + + + + + + Yes + Da + + + + + + No + Ne + + + + Real Time Capable: + Zmore realni čas: + + + + In Place Broken: + Namesto okvarjenega: + + + + Channels In: + Kanali v: + + + + Channels Out: + Kanali iz: + + + File: %1 - + Datoteka: %1 - + File: - + Datoteka: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - Nedavno odp&Rti projekti - - - - RenameDialog - - - Rename... - - - - - ReverbSCControlDialog - - - Input - - - - - Input gain: - - - - - Size - - - - - Size: - - - - - Color - - - - - Color: - - - - - Output - - - - - Output gain: - - - - - ReverbSCControls - - - Input gain - - - - - Size - - - - - Color - - - - - Output gain - - - - - SaControls - - - Pause - - - - - Reference freeze - - - - - Waterfall - - - - - Averaging - - - - - Stereo - - - - - Peak hold - - - - - Logarithmic frequency - - - - - Logarithmic amplitude - - - - - Frequency range - - - - - Amplitude range - - - - - FFT block size - - - - - FFT window type - - - - - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier - - - - - Averaging weight - - - - - Waterfall history size - - - - - Waterfall gamma correction - - - - - FFT window overlap - - - - - FFT zero padding - - - - - - Full (auto) - - - - - - - Audible - - - - - Bass - - - - - Mids - - - - - High - - - - - Extended - - - - - Loud - - - - - Silent - - - - - (High time res.) - - - - - (High freq. res.) - - - - - Rectangular (Off) - - - - - - Blackman-Harris (Default) - - - - - Hamming - - - - - Hanning - - - - - SaControlsDialog - - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type - - - - - SampleBuffer - - - Fail to open file - - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - - - - - Open audio file - Odpri avdio datoteko - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - - Wave-Files (*.wav) - - - - - OGG-Files (*.ogg) - - - - - DrumSynth-Files (*.ds) - - - - - FLAC-Files (*.flac) - - - - - SPEEX-Files (*.spx) - - - - - VOC-Files (*.voc) - - - - - AIFF-Files (*.aif *.aiff) - - - - - AU-Files (*.au) - - - - - RAW-Files (*.raw) - - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - - - - - Delete selection (middle mousebutton) - - - - - Cut - - - - - Cut selection - - - - - Copy - - - - - Copy selection - - - - - Paste - - - - - Mute/unmute (<%1> + middle click) - - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - - Volume - Obseg - - - - Panning - - - - - Mixer channel - - - - - - Sample track - - - - - SampleTrackView - - - Track volume - - - - - Channel volume: - - - - - VOL - GLS - - - - Panning - - - - - Panning: - - - - - PAN - PAN - - - - Channel %1: %2 - - - - - SampleTrackWindow - - - GENERAL SETTINGS - - - - - Sample volume - - - - - Volume: - Glasnost: - - - - VOL - GLS - - - - Panning - - - - - Panning: - - - - - PAN - PAN - - - - Mixer channel - - - - - CHANNEL - - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - - - - - SetupDialog - - - Reset to default value - - - - - Use built-in NaN handler - - - - - Settings - Nastavitve - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - - - - - Enable tooltips - - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - - - - - Embed using native Win32 API - - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - - - - - Keep effects running even without input - - - - - - Audio - - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - - - - - Default SF2 - - - - - GIG directory - - - - - Theme directory - - - - - Background artwork - - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - - - - - OK - V redu - - - - Cancel - Preklic - - - - Frames: %1 -Latency: %2 ms - - - - - Choose your GIG directory - - - - - Choose your SF2 directory - - - - - minutes - minute - - - - minute - minuta - - - - Disabled - - - - - SidInstrument - - - Cutoff frequency - - - - - Resonance - - - - - Filter type - - - - - Voice 3 off - - - - - Volume - Glasnost - - - - Chip model - - - - - SidInstrumentView - - - Volume: - Glasnost: - - - - Resonance: - - - - - - Cutoff frequency: - - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - - - - - MOS8580 SID - - - - - - Attack: - - - - - - Decay: - - - - - Sustain: - - - - - - Release: - - - - - Pulse Width: - - - - - Coarse: - - - - - Pulse wave - - - - - Triangle wave - - - - - Saw wave - - - - - Noise - - - - - Sync - - - - - Ring modulation - - - - - Filtered - - - - - Test - - - - - Pulse width: - - - - - SideBarWidget - - - Close - Zapri - - - - Song - - - Tempo - Tempo - - - - Master volume - Poveljnik ladje - - - - Master pitch - Poveljnik ladje - - - - Aborting project load - - - - - Project file contains local paths to plugins, which could be used to run malicious code. - - - - - Can't load project: Project file contains local paths to plugins. - - - - - LMMS Error report - - - - - (repeated %1 times) - - - - - The following errors occurred while loading: - - - - - SongEditor - - - Could not open file - - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - - - - - Operation denied - - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - - - - - The file %1 seems to contain errors and therefore can't be loaded. - - - - - Version difference - - - - - template - - - - - project - projekt - - - - Tempo - Tempo - - - - TEMPO - - - - - Tempo in BPM - - - - - High quality mode - - - - - - - Master volume - Poveljnik ladje - - - - - - Master pitch - Poveljnik ladje - - - - Value: %1% - - - - - Value: %1 semitones - - - - - SongEditorWindow - - - Song-Editor - Urejevalnik skladbe - - - - Play song (Space) - - - - - Record samples from Audio-device - - - - - Record samples from Audio-device while playing song or BB track - - - - - Stop song (Space) - - - - - Track actions - - - - - Add beat/bassline - - - - - Add sample-track - - - - - Add automation-track - - - - - Edit actions - - - - - Draw mode - - - - - Knife mode (split sample clips) - - - - - Edit mode (select and move) - - - - - Timeline controls - - - - - Bar insert controls - - - - - Insert bar - - - - - Remove bar - - - - - Zoom controls - - - - - Horizontal zooming - - - - - Snap controls - - - - - - Clip snapping size - - - - - Toggle proportional snap on/off - - - - - Base snapping size - - - - - StepRecorderWidget - - - Hint - - - - - Move recording curser using <Left/Right> arrows - - - - - SubWindow - - - Close - Zapri - - - - Maximize - Maksimiraj - - - - Restore - Obnovi - - - - TabWidget - - - - Settings for %1 - - - - - TemplatesMenu - - - New from template - - - - - TempoSyncKnob - - - - Tempo Sync - - - - - No Sync - - - - - Eight beats - - - - - Whole note - - - - - Half note - - - - - Quarter note - - - - - 8th note - - - - - 16th note - - - - - 32nd note - - - - - Custom... - - - - - Custom - - - - - Synced to Eight Beats - - - - - Synced to Whole Note - - - - - Synced to Half Note - - - - - Synced to Quarter Note - - - - - Synced to 8th Note - - - - - Synced to 16th Note - - - - - Synced to 32nd Note - - - - - TimeDisplayWidget - - - Time units - - - - - MIN - - - - - SEC - - - - - MSEC - - - - - BAR - - - - - BEAT - - - - - TICK - - - - - TimeLineWidget - - - Auto scrolling - - - - - Loop points - - - - - After stopping go back to beginning - - - - - After stopping go back to position at which playing was started - - - - - After stopping keep position - - - - - Hint - - - - - Press <%1> to disable magnetic loop points. - - - - - Track - - - Mute - Mute - - - - Solo - Solist - - - - TrackContainer - - - Couldn't import file - - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - - - - - Couldn't open file - - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - - - - - Loading project... - Nalagam projekt... - - - - - Cancel - Preklic - - - - - Please wait... - - - - - Loading cancelled - - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - - - - - Importing MIDI-file... - Uvažam MIDI datoteko... - - - - Clip - - - Mute - Mute - - - - ClipView - - - Current position - - - - - Current length - - - - - - %1:%2 (%3:%4 to %5:%6) - - - - - Press <%1> and drag to make a copy. - - - - - Press <%1> for free resizing. - - - - - Hint - - - - - Delete (middle mousebutton) - - - - - Delete selection (middle mousebutton) - - - - - Cut - - - - - Cut selection - - - - - Merge Selection - - - - - Copy - - - - - Copy selection - - - - - Paste - - - - - Mute/unmute (<%1> + middle click) - - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - - - - - TrackContentWidget - - - Paste - - - - - TrackOperationsWidget - - - Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - - - - - Actions - - - - - - Mute - Mute - - - - - Solo - Solist - - - - After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - - - - - Confirm removal - - - - - Don't ask again - - - - - Clone this track - - - - - Remove this track - - - - - Clear this track - - - - - Channel %1: %2 - - - - - Assign to new mixer Channel - - - - - Turn all recording on - - - - - Turn all recording off - - - - - Change color - - - - - Reset color to default - - - - - Set random color - - - - - Clear clip colors - - - - - TripleOscillatorView - - - Modulate phase of oscillator 1 by oscillator 2 - - - - - Modulate amplitude of oscillator 1 by oscillator 2 - - - - - Mix output of oscillators 1 & 2 - - - - - Synchronize oscillator 1 with oscillator 2 - - - - - Modulate frequency of oscillator 1 by oscillator 2 - - - - - Modulate phase of oscillator 2 by oscillator 3 - - - - - Modulate amplitude of oscillator 2 by oscillator 3 - - - - - Mix output of oscillators 2 & 3 - - - - - Synchronize oscillator 2 with oscillator 3 - - - - - Modulate frequency of oscillator 2 by oscillator 3 - - - - - Osc %1 volume: - - - - - Osc %1 panning: - - - - - Osc %1 coarse detuning: - - - - - semitones - - - - - Osc %1 fine detuning left: - - - - - - cents - - - - - Osc %1 fine detuning right: - - - - - Osc %1 phase-offset: - - - - - - degrees - - - - - Osc %1 stereo phase-detuning: - - - - - Sine wave - - - - - Triangle wave - - - - - Saw wave - - - - - Square wave - - - - - Moog-like saw wave - - - - - Exponential wave - - - - - White noise - - - - - User-defined wave - - - - - VecControls - - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality - - - - - VecControlsDialog - - - HQ - - - - - Double the resolution and simulate continuous analog-like trace. - - - - - Log. scale - - - - - Display amplitude on logarithmic scale to better see small values. - - - - - Persist. - - - - - Trace persistence: higher amount means the trace will stay bright for longer time. - - - - - Trace persistence - - - - - VersionedSaveDialog - - - Increment version number - - - - - Decrement version number - - - - - Save Options - - - - - already exists. Do you want to replace it? - - - - - VestigeInstrumentView - - - - Open VST plugin - - - - - Control VST plugin from LMMS host - - - - - Open VST plugin preset - - - - - Previous (-) - - - - - Save preset - Shrani glasbilce - - - - Next (+) - - - - - Show/hide GUI - - - - - Turn off all notes - - - - - DLL-files (*.dll) - - - - - EXE-files (*.exe) - - - - - No VST plugin loaded - - - - - Preset - - - - - by - - - - - - VST plugin control - - - - - VstEffectControlDialog - - - Show/hide - - - - - Control VST plugin from LMMS host - - - - - Open VST plugin preset - - - - - Previous (-) - - - - - Next (+) - - - - - Save preset - Shrani glasbilce - - - - - Effect by: - - - - - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - - - - - VstPlugin - - - - The VST plugin %1 could not be loaded. - - - - - Open Preset - - - - - - Vst Plugin Preset (*.fxp *.fxb) - - - - - : default - - - - - Save Preset - Shrani glasbilce - - - - .fxp - - - - - .FXP - - - - - .FXB - - - - - .fxb - - - - - Loading plugin - - - - - Please wait while loading VST plugin... - - - - - WatsynInstrument - - - Volume A1 - - - - - Volume A2 - - - - - Volume B1 - - - - - Volume B2 - - - - - Panning A1 - - - - - Panning A2 - - - - - Panning B1 - - - - - Panning B2 - - - - - Freq. multiplier A1 - - - - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - - - - - WatsynView - - - - - - Volume - Obseg - - - - - - - Panning - - - - - - - - Freq. multiplier - - - - - - - - Left detune - - - - - - - - - - - - cents - - - - - - - - Right detune - - - - - A-B Mix - - - - - Mix envelope amount - - - - - Mix envelope attack - - - - - Mix envelope hold - - - - - Mix envelope decay - - - - - Crosstalk - - - - - Select oscillator A1 - - - - - Select oscillator A2 - - - - - Select oscillator B1 - - - - - Select oscillator B2 - - - - - Mix output of A2 to A1 - - - - - Modulate amplitude of A1 by output of A2 - - - - - Ring modulate A1 and A2 - - - - - Modulate phase of A1 by output of A2 - - - - - Mix output of B2 to B1 - - - - - Modulate amplitude of B1 by output of B2 - - - - - Ring modulate B1 and B2 - - - - - Modulate phase of B1 by output of B2 - - - - - - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Load waveform - - - - - Load a waveform from a sample file - - - - - Phase left - - - - - Shift phase by -15 degrees - - - - - Phase right - - - - - Shift phase by +15 degrees + + XY Controller - - - Normalize + + X Controls: - - - Invert + + Y Controls: - - + Smooth - - - Sine wave + + &Settings - - - - Triangle wave + + Channels - - Saw wave + + &File - - - Square wave + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) - Xpressive + lmms::AmplifierControls - - Selected graph - + + Volume + Glasnost - - A1 - + + Panning + Panorama - - A2 - + + Left gain + Leva jakost - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - + + Right gain + Desna jakost - XpressiveView + lmms::AudioFileProcessor - - Draw your own waveform here by dragging your mouse on this graph. - + + Amplify + Ojačenje - - Select oscillator W1 - + + Start of sample + Začetek vzorca - - Select oscillator W2 - + + End of sample + Konec vzorca - - Select oscillator W3 - + + Loopback point + Točka povratka zanke - - Select output O1 - + + Reverse sample + Obrni vzorec - - Select output O2 - + + Loop mode + Način zanke - - Open help window - + + Stutter + Jecljanje - - - - Sine wave - - - - - - Moog-saw wave - - - - - - Exponential wave - - - - - - Saw wave - - - - - - User-defined wave - - - - - - Triangle wave - - - - - - Square wave - - - - - - White noise - - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Pasovna širina - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - - - - - PORT - - - - - Filter frequency: - - - - - FREQ - - - - - Filter resonance: - - - - - RES - - - - - Bandwidth: - - - - - BW - - - - - FM gain: - - - - - FM GAIN - - - - - Resonance center frequency: - - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - - - - - Forward MIDI control changes - - - - - Show GUI - - - - - AudioFileProcessor - Amplify - - - - - Start of sample - - - - - End of sample - - - - - Loopback point - - - - - Reverse sample - - - - - Loop mode - - - - - Stutter - - - - Interpolation mode - + Način prepletanja - + None - + brez - + Linear - + linearno - + Sinc + Sinhronizacija + + + + Sample not found + + + + + lmms::AudioJack + + + JACK client restarted + JACK odjemalec je bil ponovno zagnan + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + JACK je iz neznanega razloga odslovil LMMS. Zato je bil potreben ponoven zagon JACK zaledja za LMMS. Povezave je potrebno na novo vzpostaviti ročno. + + + + JACK server down + JACK strežnik ne deluje + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + Videti je, da se je JACK strežnik zaprl ter da zagon nove instance ni bil uspešen. Zato LMMS ne more nadaljevati. Shranite projekt ter nato ponovno zaženite JACK in LMMS. + + + + Client name + Ime odjemalca + + + + Channels + Kanali + + + + lmms::AudioOss + + + Device + Naprava + + + + Channels + Kanali + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Zaledje + + + + Device + Naprava + + + + lmms::AudioPulseAudio + + + Device + Naprava + + + + Channels + Kanali + + + + lmms::AudioSdl::setupWidget + + + Playback device - + + Input device + + + + + lmms::AudioSndio + + + Device + Naprava + + + + Channels + Kanali + + + + lmms::AudioSoundIo::setupWidget + + + Backend + Zaledje + + + + Device + Naprava + + + + lmms::AutomatableModel + + + &Reset (%1%2) + &Ponastavitev (%1%2) + + + + &Copy value (%1%2) + &Kopiraj vrednost (%1%2) + + + + &Paste value (%1%2) + &Prilepi vrednost (%1%2) + + + + &Paste value + &Prilepi vrednost + + + + Edit song-global automation + Uredi globalno avtomatizacijo skladbe + + + + Remove song-global automation + Odstrani globalno avtomatizacijo skladbe + + + + Remove all linked controls + Odstrani vse povezane kontrole + + + + Connected to %1 + Povezan na %1 + + + + Connected to controller + Povezan s kontrolerjem + + + + Edit connection... + Uredi povezavo... + + + + Remove connection + Odstrani povezavo + + + + Connect to controller... + Poveži se s kontrolerjem... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + Povlecite kontrolo in zraven držite <%1> + + + + lmms::AutomationTrack + + + Automation track + Steza z avtomatizacijo + + + + lmms::BassBoosterControls + + + Frequency + Frekvenca + + + + Gain + Jakost + + + + Ratio + Razmerje + + + + lmms::BitInvader + + + Sample length + Dolžina vzorca + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + + Input gain + Vhodna jakost + + + + Input noise + Vhodni šum + + + + Output gain + Izhodna jakost + + + + Output clip + Izhodno rezanje + + + + Sample rate + Frekvenca vzorčenja + + + + Stereo difference + Stereo razlika + + + + Levels + Nivoji + + + + Rate enabled + Frrekvenca vklopljena + + + + Depth enabled + Globina vklopljena + + + + lmms::Clip + + + Mute + Utišaj + + + + lmms::CompressorControls + + + Threshold + Prag + + + + Ratio + Razmerje + + + + Attack + Napad + + + + Release + Spust + + + + Knee + Koleno + + + + Hold + Zadrži + + + + Range + Razpon + + + + RMS Size + RMS velikost + + + + Mid/Side + Sredina/Stransko + + + + Peak Mode + Vrh način + + + + Lookahead Length + Dolžina pogleda vnaprej + + + + Input Balance + Vhodno ravnovesje + + + + Output Balance + Izhodno ravnovesje + + + + Limiter + Omejevalnik + + + + Output Gain + Izhodna jakost + + + + Input Gain + Vhodna jakost + + + + Blend + Zlivanje + + + + Stereo Balance + Stereo ravnovesje + + + + Auto Makeup Gain + Samodejno večanje jakosti + + + + Audition + Avdicija + + + + Feedback + Povratna zanka + + + + Auto Attack + Samodejni napad + + + + Auto Release + Samodejni spust + + + + Lookahead + Pogled vnaprej + + + + Tilt + Nagib + + + + Tilt Frequency + Frekvenca nagiba + + + + Stereo Link + Stereo združevanje + + + + Mix + Miks + + + + lmms::Controller + + + Controller %1 + Kontoler %1 + + + + lmms::DelayControls + + + Delay samples + Zamik vzorcev + + + + Feedback + Povratna zanka + + + + LFO frequency + NFO frekvenca + + + + LFO amount + NFO količina + + + + Output gain + Izhodna jakost + + + + lmms::DispersionControls + + + Amount + Količina + + + + Frequency + Frekvenca + + + + Resonance + Resnonanca + + + + Feedback + Povratna zanka + + + + DC Offset Removal + DC odmik odstranitve + + + + lmms::DualFilterControls + + + Filter 1 enabled + Filter 1 vklopljen + + + + Filter 1 type + Filter 1 vrsta + + + + Cutoff frequency 1 + Frekvenca za odrez 1 + + + + Q/Resonance 1 + Q/resonanca 1 + + + + Gain 1 + Jakost 1 + + + + Mix + Miks + + + + Filter 2 enabled + Filter 2 vklopljen + + + + Filter 2 type + Filter 2 vrsta + + + + Cutoff frequency 2 + Frekvenca za odrez 2 + + + + Q/Resonance 2 + Q/resonanca 2 + + + + Gain 2 + Jakost 2 + + + + + Low-pass + Nizkoprepustni + + + + + Hi-pass + Visokoprepustni + + + + + Band-pass csg + Pasovno-prepustni csg + + + + + Band-pass czpg + Pasovno-prepustni czpg + + + + + Notch + Zareza + + + + + All-pass + Vse-prepustni + + + + + Moog + Moog + + + + + 2x Low-pass + 2×nizkoprepustni + + + + + RC Low-pass 12 dB/oct + RC nizkoprepustni 12dB/okt + + + + + RC Band-pass 12 dB/oct + RC pasovno-prepustni 12dB/okt + + + + + RC High-pass 12 dB/oct + RC visokoprepustni 12dB/okt + + + + + RC Low-pass 24 dB/oct + RC nizkoprepustni 24dB/okt + + + + + RC Band-pass 24 dB/oct + RC nizkoprepustni 24dB/okt + + + + + RC High-pass 24 dB/oct + RC nizkoprepustni 24dB/okt + + + + + Vocal Formant + Formant vokala + + + + + 2x Moog + 2x Moog + + + + + SV Low-pass + SV nizkoprepustni + + + + + SV Band-pass + SV pasovnoprepustni + + + + + SV High-pass + SV visokoprepustni + + + + + SV Notch + SV zareza + + + + + Fast Formant + Hitro obrazilo + + + + + Tripole + Tripolarno + + + + lmms::DynProcControls + + + Input gain + Vhodna jakost + + + + Output gain + Izhodna jakost + + + + Attack time + Čas napada + + + + Release time + Čas spusta + + + + Stereo mode + Stereo način + + + + lmms::Effect + + + Effect enabled + Učinek vključen + + + + Wet/Dry mix + Surov/obogaten miks + + + + Gate + Vrata + + + + Decay + Upad + + + + lmms::EffectChain + + + Effects enabled + Učinki vklopljeni + + + + lmms::Engine + + + Generating wavetables + Ustvarjanje tabel valovnih oblik + + + + Initializing data structures + Vzpostavljanje podatkovnih struktur + + + + Opening audio and midi devices + Odpiranje zvočnih in midi naprav + + + + Launching audio engine threads + Zagoni niti zvočnega pogona + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Ovoj pred-zamik + + + + Env attack + Ovoj napad + + + + Env hold + Ovoj zadrži + + + + Env decay + Ovoj upad + + + + Env sustain + Ovoj zadrži + + + + Env release + Ovoj spust + + + + Env mod amount + Ovoj mod količina + + + + LFO pre-delay + NFO + + + + LFO attack + NFO napad + + + + LFO frequency + NFO frekvenca + + + + LFO mod amount + NFO mod količina + + + + LFO wave shape + NFO valovna oblika + + + + LFO frequency x 100 + NFO frekvenca × 100 + + + + Modulate env amount + Modulacija ovoja količina + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + Vhodna jakost + + + + Output gain + Izhodna jakost + + + + Low-shelf gain + Spodnja ojačitev + + + + Peak 1 gain + Vrh 1 jakost + + + + Peak 2 gain + Vrh 2 jakost + + + + Peak 3 gain + Vrh 3 jakost + + + + Peak 4 gain + Vrh 4 jakost + + + + High-shelf gain + Zgornja ojačitev + + + + HP res + HP loč + + + + Low-shelf res + Spodnja loč + + + + Peak 1 BW + Vrh 1 PŠ + + + + Peak 2 BW + Vrh 2 PŠ + + + + Peak 3 BW + Vrh 3 PŠ + + + + Peak 4 BW + Vrh 4 PŠ + + + + High-shelf res + Zgornja loč + + + + LP res + NP loč + + + + HP freq + VP frek + + + + Low-shelf freq + Spodnja frek + + + + Peak 1 freq + Vrh 1 frek + + + + Peak 2 freq + Vrh 2 frek + + + + Peak 3 freq + Vrh 3 frek + + + + Peak 4 freq + Vrh 4 frek + + + + High-shelf freq + Zgornja frek + + + + LP freq + NP frek + + + + HP active + VP aktiven + + + + Low-shelf active + Spodnji aktiven + + + + Peak 1 active + Vrh 1 aktiven + + + + Peak 2 active + Vrh 2 aktiven + + + + Peak 3 active + Vrh 3 aktiven + + + + Peak 4 active + Vrh 4 aktiven + + + + High-shelf active + Zgornji aktiven + + + + LP active + NP aktiven + + + + LP 12 + NP 12 + + + + LP 24 + NP 24 + + + + LP 48 + NP 48 + + + + HP 12 + VP 12 + + + + HP 24 + VP 24 + + + + HP 48 + VP 48 + + + + Low-pass type + Vrsta nizkoprepustnega + + + + High-pass type + Vrsta visokoprepustnega + + + + Analyse IN + Analiza v + + + + Analyse OUT + Analiza iz + + + + lmms::FlangerControls + + + Delay samples + Zamik vzorcev + + + + LFO frequency + NFO frekvenca + + + + Amount + + + + + Stereo phase + Stereo faza + + + + Feedback + + + + + Noise + Šum + + + + Invert + Inverzno + + + + lmms::FreeBoyInstrument + + + Sweep time + Čas preleta + + + + Sweep direction + Smer preleta + + + + Sweep rate shift amount + Stopnja premika preleta + + + + + Wave pattern duty cycle + Cikelj izvajanja valovne matrike + + + + Channel 1 volume + Kanal 1 glasnost + + + + + + Volume sweep direction + Smer preleta glasnosti + + + + + + Length of each step in sweep + Dolžina vsakega koraka preleta + + + + Channel 2 volume + Kanal 2 glasnost + + + + Channel 3 volume + Kanal 3 glasnost + + + + Channel 4 volume + Kanal 4 glasnost + + + + Shift Register width + Pomik širine registra + + + + Right output level + Desni izhodni nivo + + + + Left output level + Levi izhodni nivo + + + + Channel 1 to SO2 (Left) + Kanal 1 na SO2 (levi) + + + + Channel 2 to SO2 (Left) + Kanal 2 na SO2 (levi) + + + + Channel 3 to SO2 (Left) + Kanal 3 na SO2 (levi) + + + + Channel 4 to SO2 (Left) + Kanal 4 na SO2 (levi) + + + + Channel 1 to SO1 (Right) + Kanal 1 na SO1 (desni) + + + + Channel 2 to SO1 (Right) + Kanal 2 na SO1 (desni) + + + + Channel 3 to SO1 (Right) + Kanal 3 na SO1 (desni) + + + + Channel 4 to SO1 (Right) + Kanal 4 na SO1 (desni) + + + + Treble + Visoki + + + + Bass + Bas + + + + lmms::GigInstrument + + + Bank + Tabela + + + + Patch + Program + + + + Gain + Jakost + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + Arpeggio + + + + Arpeggio type + Vrsta arpeggia + + + + Arpeggio range + Razpon arpeggia + + + + Note repeats + Ponavljanja not + + + + Cycle steps + Krožni koraki + + + + Skip rate + Stopnja preskoka + + + + Miss rate + Stopnja zgrešitev + + + + Arpeggio time + Čas arpeggia + + + + Arpeggio gate + Vrata arpeggia + + + + Arpeggio direction + Smer arpeggia + + + + Arpeggio mode + Način arpeggia + + + + Up + Gor + + + + Down + Dol + + + + Up and down + Gor in dol + + + + Down and up + Dol in gor + + + + Random + Naključno + + + + Free + Prosto + + + + Sort + Razvrsti + + + + Sync + Sinhroniziraj + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + Akordi + + + + Chord type + Vrsta akorda + + + + Chord range + Razpon akorda + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + Oblika krivulje/NFOji + + + + Filter type + Vrsta filtra + + + + Cutoff frequency + Frekvenca rezanja + + + + Q/Resonance + Q/resonanca + + + + Low-pass + Nizkoprepustni + + + + Hi-pass + Visokoprepustni + + + + Band-pass csg + Pasovno-prepustni csg + + + + Band-pass czpg + Pasovno-prepustni czpg + + + + Notch + Zareza + + + + All-pass + Vse-prepustni + + + + Moog + Moog + + + + 2x Low-pass + 2×nizkoprepustni + + + + RC Low-pass 12 dB/oct + RC nizkoprepustni 12dB/okt + + + + RC Band-pass 12 dB/oct + RC pasovno-prepustni 12dB/okt + + + + RC High-pass 12 dB/oct + RC visokoprepustni 12dB/okt + + + + RC Low-pass 24 dB/oct + RC nizkoprepustni 24dB/okt + + + + RC Band-pass 24 dB/oct + RC nizkoprepustni 24dB/okt + + + + RC High-pass 24 dB/oct + RC nizkoprepustni 24dB/okt + + + + Vocal Formant + Formant vokala + + + + 2x Moog + 2x Moog + + + + SV Low-pass + SV nizkoprepustni + + + + SV Band-pass + SV pasovnoprepustni + + + + SV High-pass + SV visokoprepustni + + + + SV Notch + SV zareza + + + + Fast Formant + Hitro obrazilo + + + + Tripole + Tripolarno + + + + lmms::InstrumentTrack + + + + unnamed_track + neimenovana_steza + + + + Base note + Osnovna nota + + + + First note + Prva nota + + + + Last note + Zadnja nota + + + + Volume + Glasnost + + + + Panning + Panorama + + + + Pitch + Višina + + + + Pitch range + Razpon višine + + + + Mixer channel + Mešalni kanal + + + + Master pitch + Glavna višina + + + + Enable/Disable MIDI CC + Vklopi/Izklopi MIDI CC + + + + CC Controller %1 + CC kontroler %1 + + + + + Default preset + Privzeta predloga + + + + lmms::Keymap + + + empty + prazno + + + + lmms::KickerInstrument + + + Start frequency + Začetna frekvenca + + + + End frequency + Končna frekvenca + + + + Length + Dolžina + + + + Start distortion + Začetno popačenje + + + + End distortion + Končno popačenje + + + + Gain + Jakost + + + + Envelope slope + Nagib ovoja + + + + Noise + Šum + + + + Click + Klik + + + + Frequency slope + Nagib frekvence + + + + Start from note + Začni z note + + + + End to note + Končaj na noti + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + Združi kanale + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + Zahtevan je neznan vtičnik LADSPA %1 + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + VCF frekvenca rezanja + + + + VCF Resonance + VCF resonanca + + + + VCF Envelope Mod + VCF ovoj mod + + + + VCF Envelope Decay + VCF ovoj upad + + + + Distortion + Popačenje + + + + Waveform + Valovna oblika + + + + Slide Decay + Drseči upad + + + + Slide + Drsenje + + + + Accent + Poudarek + + + + Dead + Mrtvo + + + + 24dB/oct Filter + 24dB/okt filter + + + + lmms::LfoController + + + LFO Controller + NFO kontroler + + + + Base value + Osnovna vrednost + + + + Oscillator speed + Hitrost oscilatorja + + + + Oscillator amount + Količina oscilatorja + + + + Oscillator phase + Faza oscilatorja + + + + Oscillator waveform + Valovna oblika oscilatorja + + + + Frequency Multiplier + Množilnik frekvence + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + Trdota + + + + Position + Položaj + + + + Vibrato gain + Jakost vibrata + + + + Vibrato frequency + Frekvenca vibrata + + + + Stick mix + Palični miks + + + + Modulator + Modulator + + + + Crossfade + Navzkrižno + + + + LFO speed + NFO hitrost + + + + LFO depth + NFO globina + + + + ADSR + ADSR + + + + Pressure + Pritisk + + + + Motion + Gibanje + + + + Speed + Hitrost + + + + Bowed + Godalo + + + + Instrument + + + + + Spread + Razpršeno + + + + Randomness + + + + + Marimba + Marimba + + + + Vibraphone + Vibrafon + + + + Agogo + Agogo + + + + Wood 1 + Les 1 + + + + Reso + Reso + + + + Wood 2 + Les 2 + + + + Beats + Dobe + + + + Two fixed + Dva fiksirana + + + + Clump + Teptanje + + + + Tubular bells + Cevasti zvonovi + + + + Uniform bar + Uniformni takt + + + + Tuned bar + Uglašen takt + + + + Glass + Steklo + + + + Tibetan bowl + Tibetanska skleda + + + + lmms::MeterModel + + + Numerator + Števec + + + + Denominator + Imenovalec + + + + lmms::Microtuner + + + Microtuner + Mikro-uglaševalec + + + + Microtuner on / off + Mikro-uglaševalec vklop / izklop + + + + Selected scale + Izbrana lestvica + + + + Selected keyboard mapping + Izbrano mapiranje tipkovnice + + + + lmms::MidiController + + + MIDI Controller + MIDI kontroler + + + + unnamed_midi_controller + neimenovan_midi_kontroler + + + + lmms::MidiImport + + + + Setup incomplete + Namestitev ni končana + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + V nastavitvenem dialogu niste nastavili privzetega soundfonta (Uredi->Nastavitve). Zato uvozžene MIDI datoteke ne bodo predvajane. Prenesite General MIDI soundfont in ga izberite v nastavitvah, nato pa znova poskusite. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + LMMS ni bil preveden s podporo za SoundFont2 predvajalnik, ki je privzet za določanje zvoka uvoženih MIDI datotek. Zato uvožene MIDi datoteke ne bodo imele zvoka ob predvajanju. + + + + MIDI Time Signature Numerator + Števec MIDI časovne oznake + + + + MIDI Time Signature Denominator + Imenovalec MIDI časovne oznake + + + + Numerator + Števec + + + + Denominator + Imenovalec + + + + + Tempo + Tempo + + + + Track + Steza + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + JACK strežnik ne deluje + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + JACK server je izklopljen. + + + + lmms::MidiPort + + + Input channel + Vhodni kanal + + + + Output channel + Izhodni kanal + + + + Input controller + Vhodni kontroler + + + + Output controller + Izhodni kontroler + + + + Fixed input velocity + Stalna vhodna hitrost + + + + Fixed output velocity + Stalna izhodna hitrost + + + + Fixed output note + Stalna izhodna nota + + + + Output MIDI program + Izhodni MIDI program + + + + Base velocity + Osnovna hitrost + + + + Receive MIDI-events + Prejemanje MIDI-dogodkov + + + + Send MIDI-events + Pošiljanje MIDI-dogodkov + + + + lmms::Mixer + + + Master + Glavni master + + + + + + Channel %1 + Kanal %1 + + + + Volume + Glasnost + + + + Mute + Utišaj + + + + Solo + Solo + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + Količina, ki na bo poslana s kanala %1 na kanal %2 + + + + lmms::MonstroInstrument + + + Osc 1 volume + OSC 1 glasnost + + + + Osc 1 panning + Osc 1 panorama + + + + Osc 1 coarse detune + Osc 1 groba razglasitev + + + + Osc 1 fine detune left + Osc 1 fina razglasitev levo + + + + Osc 1 fine detune right + Osc 1 fina razglasitev desno + + + + Osc 1 stereo phase offset + Osc 1 odmik stereo faze + + + + Osc 1 pulse width + Osc 1 širina pulza + + + + Osc 1 sync send on rise + Osc 1 pošlji sinh ob rasti + + + + Osc 1 sync send on fall + Osc 1 pošlji sinh ob padcu + + + + Osc 2 volume + OSC 2 glasnost + + + + Osc 2 panning + Osc 2 panorama + + + + Osc 2 coarse detune + Osc 2 groba razglasitev + + + + Osc 2 fine detune left + Osc 2 fina razglasitev levo + + + + Osc 2 fine detune right + Osc 2 fina razglasitev desno + + + + Osc 2 stereo phase offset + Osc 2 odmik stereo faze + + + + Osc 2 waveform + OSC 2 valovna oblika + + + + Osc 2 sync hard + Osc 2 trda sinhr + + + + Osc 2 sync reverse + Osc 2 obratna sinhr + + + + Osc 3 volume + OSC 3 glasnost + + + + Osc 3 panning + Osc 3 panorama + + + + Osc 3 coarse detune + Osc 3 groba razglasitev + + + + Osc 3 Stereo phase offset + Osc 3 odmik stereo faze + + + + Osc 3 sub-oscillator mix + Osc3 miks sub-oscilatorja + + + + Osc 3 waveform 1 + Osc 3 valovna oblika 1 + + + + Osc 3 waveform 2 + Osc 3 valovna oblika 2 + + + + Osc 3 sync hard + Osc 3 trda sinhr + + + + Osc 3 Sync reverse + Osc 3 obratna sinhr + + + + LFO 1 waveform + NFO 1 valovna oblika + + + + LFO 1 attack + NFO 1 napad + + + + LFO 1 rate + LFO 1 stopnja + + + + LFO 1 phase + NFO 1 faza + + + + LFO 2 waveform + NFO 2 valovna oblika + + + + LFO 2 attack + NFO 2 napad + + + + LFO 2 rate + LFO 2 stopnja + + + + LFO 2 phase + NFO 2 faza + + + + Env 1 pre-delay + Ovoj 1 pred-zamik + + + + Env 1 attack + Ovoj 1 napad + + + + Env 1 hold + Ovoj 1 zadrži + + + + Env 1 decay + Env 1 upad + + + + Env 1 sustain + Ovoj 1 zadrži + + + + Env 1 release + Ovoj 1 spust + + + + Env 1 slope + Ovoj 1 nagib + + + + Env 2 pre-delay + Ovoj 2 pred-zamik + + + + Env 2 attack + Ovoj 2 napad + + + + Env 2 hold + Ovoj 2 zadrži + + + + Env 2 decay + Env 2 upad + + + + Env 2 sustain + Ovoj 2 zadrži + + + + Env 2 release + Ovoj 2 spust + + + + Env 2 slope + Ovoj 2 nagib + + + + Osc 2+3 modulation + Osc 2+3 modulacija + + + + Selected view + Izbrani prikaz + + + + Osc 1 - Vol env 1 + Osc 1 - glsn ovoj 1 + + + + Osc 1 - Vol env 2 + Osc 1 - glsn ovoj 2 + + + + Osc 1 - Vol LFO 1 + Osc 1 - glsn NFO 1 + + + + Osc 1 - Vol LFO 2 + Osc 1 - glsn NFO 2 + + + + Osc 2 - Vol env 1 + Osc 2 - glsn ovoj 1 + + + + Osc 2 - Vol env 2 + Osc 2 - glsn ovoj 2 + + + + Osc 2 - Vol LFO 1 + Osc 2 - glsn NFO 1 + + + + Osc 2 - Vol LFO 2 + Osc 2 - glsn NFO 2 + + + + Osc 3 - Vol env 1 + Osc 3 - glsn ovoj 1 + + + + Osc 3 - Vol env 2 + Osc 3 - glsn ovoj 2 + + + + Osc 3 - Vol LFO 1 + Osc 3 - glsn NFO 1 + + + + Osc 3 - Vol LFO 2 + Osc 3 - glsn NFO 2 + + + + Osc 1 - Phs env 1 + Osc 1 - faz ovoj 1 + + + + Osc 1 - Phs env 2 + Osc 1 - faz ovoj 2 + + + + Osc 1 - Phs LFO 1 + Osc 1 - faz NFO 1 + + + + Osc 1 - Phs LFO 2 + Osc 1 - faz NFO 2 + + + + Osc 2 - Phs env 1 + Osc 2 - faz ovoj 1 + + + + Osc 2 - Phs env 2 + Osc 2 - faz ovoj 2 + + + + Osc 2 - Phs LFO 1 + Osc 2 - faz LFO 1 + + + + Osc 2 - Phs LFO 2 + Osc 2 - faz LFO 2 + + + + Osc 3 - Phs env 1 + Osc 3 - faz ovoj 1 + + + + Osc 3 - Phs env 2 + Osc 3 - faz ovoj 2 + + + + Osc 3 - Phs LFO 1 + Osc 3 - faz NFO 1 + + + + Osc 3 - Phs LFO 2 + Osc 3 - faz NFO 2 + + + + Osc 1 - Pit env 1 + Osc 1 - viš ovoj 1 + + + + Osc 1 - Pit env 2 + Osc 1 - viš ovoj 2 + + + + Osc 1 - Pit LFO 1 + OSC 1 - viš NFO 1 + + + + Osc 1 - Pit LFO 2 + Osc 1 - viš LFO 2 + + + + Osc 2 - Pit env 1 + Osc 2 - viš ovoj 1 + + + + Osc 2 - Pit env 2 + Osc 2 - viš ovoj 2 + + + + Osc 2 - Pit LFO 1 + Osc 2 - viš NFO 1 + + + + Osc 2 - Pit LFO 2 + Osc 2 - viš NFO 2 + + + + Osc 3 - Pit env 1 + Osc 3 - viš ovoj 1 + + + + Osc 3 - Pit env 2 + Osc 3 - viš ovoj 2 + + + + Osc 3 - Pit LFO 1 + Osc 3 - viš NFO 1 + + + + Osc 3 - Pit LFO 2 + Osc 3 - viš LFO 2 + + + + Osc 1 - PW env 1 + Osc 1 - PW ovoj 1 + + + + Osc 1 - PW env 2 + Osc 1 - PW ovoj 2 + + + + Osc 1 - PW LFO 1 + Osc 1 - PW NFO 1 + + + + Osc 1 - PW LFO 2 + Osc 1 - PW NFO 2 + + + + Osc 3 - Sub env 1 + Osc 3 - sub ovoj 1 + + + + Osc 3 - Sub env 2 + Osc 3 - sub ovoj 2 + + + + Osc 3 - Sub LFO 1 + Osc 3 - sub NFO 1 + + + + Osc 3 - Sub LFO 2 + Osc 3 - sub NFO 2 + + + + + Sine wave + Sinusna oblika + + + + Bandlimited Triangle wave + Pasovno omejen trikotni val + + + + Bandlimited Saw wave + Pasovno omejen žagasti val + + + + Bandlimited Ramp wave + Pasovno omejen rampasti val + + + + Bandlimited Square wave + Pasovno omejen pravokotni val + + + + Bandlimited Moog saw wave + Pasovno omejen Moog žagasti val + + + + + Soft square wave + Mehak pravokotni val + + + + Absolute sine wave + Absolutni sinusni val + + + + + Exponential wave + Eksponentni val + + + + White noise + Beli šum + + + + Digital Triangle wave + Digitalni trikotni val + + + + Digital Saw wave + Digitalni žagasti val + + + + Digital Ramp wave + Digitalni rampasti val + + + + Digital Square wave + Digitalni pravokotni val + + + + Digital Moog saw wave + Digitalni Moog žagasti val + + + + Triangle wave + Trikotna oblika + + + + Saw wave + Žagasta oblika + + + + Ramp wave + Rampasti val + + + + Square wave + Pravokotna oblika + + + + Moog saw wave + Moog pravokotni val + + + + Abs. sine wave + Abs. sinusni val + + + + Random + Naključno + + + + Random smooth + Naključno glajenje + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + Kanal 1 groba razglasitev + + + + Channel 1 volume + Kanal 1 glasnost + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + Kanal 1 dolžina ovoja + + + + Channel 1 duty cycle + Kanal 1 cikelj izvajanja + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + Kanal 1 količina preleta + + + + Channel 1 sweep rate + Kanal 1 stopnja preleta + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + Kanal 2 dolžina ovoja + + + + Channel 2 duty cycle + Kanal 2 cikelj izvajanja + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + Kanal 2 količina preleta + + + + Channel 2 sweep rate + Kanal 2 stopnja preleta + + + + Channel 3 enable + + + + + Channel 3 coarse detune + Kanal 3 groba razglasitev + + + + Channel 3 volume + Kanal 3 glasnost + + + + Channel 4 enable + + + + + Channel 4 volume + Kanal 4 glasnost + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + Kanal 4 dolžina ovoja + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + Kanal 4 frekvenca šuma + + + + Channel 4 noise frequency sweep + Kanal 4 šum preleta frekvence + + + + Channel 4 quantize + + + + + Master volume + Glavna glasnost + + + + Vibrato + Vibrato + + + + lmms::OpulenzInstrument + + + Patch + Program + + + + Op 1 attack + Op 1 napad + + + + Op 1 decay + Op 1 upad + + + + Op 1 sustain + Op 1 zadrži + + + + Op 1 release + Op 1 spust + + + + Op 1 level + Op 1 nivo + + + + Op 1 level scaling + Op1 povečava nivoja + + + + Op 1 frequency multiplier + Op 2 množilnik frekvence + + + + Op 1 feedback + Op 1 povratna zanka + + + + Op 1 key scaling rate + OP 1 stopnja povečanja ključa + + + + Op 1 percussive envelope + Op 1 tolkalski ovoj + + + + Op 1 tremolo + Op 1 tremolo + + + + Op 1 vibrato + Op 1 vibrato + + + + Op 1 waveform + OP1 valovna oblika + + + + Op 2 attack + Op 2 napad + + + + Op 2 decay + Op 2 upad + + + + Op 2 sustain + Op 2 zadrži + + + + Op 2 release + Op 2 spust + + + + Op 2 level + Op 2 nivo + + + + Op 2 level scaling + Op 2 povečava nivoja + + + + Op 2 frequency multiplier + Op 2 množilnik frekvence + + + + Op 2 key scaling rate + OP 2 stopnja povečanja ključa + + + + Op 2 percussive envelope + Op 2 tolkalski ovoj + + + + Op 2 tremolo + Op 2 tremolo + + + + Op 2 vibrato + Op 2 vibrato + + + + Op 2 waveform + Op 2 valovna oblika + + + + FM + FM + + + + Vibrato depth + Globina vibrata + + + + Tremolo depth + Globina tremola + + + + lmms::OrganicInstrument + + + Distortion + Popačenje + + + + Volume + Glasnost + + + + lmms::OscillatorObject + + + Osc %1 waveform + Osc %1 valovna oblika + + + + Osc %1 harmonic + Osc %1 harmonično + + + + + Osc %1 volume + Osc %1 glasnost + + + + + Osc %1 panning + Osc %1 panorama + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + Osc %1 groba razglasitev + + + + Osc %1 fine detuning left + Osc %1 fina razglasitev levo + + + + Osc %1 fine detuning right + Osc %1 fina razglasitev desno + + + + Osc %1 phase-offset + Osc %1 fazni zamik + + + + Osc %1 stereo phase-detuning + Osc %1 stereo fazna razglasitev + + + + Osc %1 wave shape + Osc %1 oblika signala + + + + Modulation type %1 + Vrsta modulacije %1 + + + + lmms::PatternTrack + + + Pattern %1 + Matrika %1 + + + + Clone of %1 + Dvojnik od %1 + + + + lmms::PeakController + + + Peak Controller + Kontroler vrha + + + + Peak Controller Bug + Hrošč kontrolerja vrha + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + Zaradi hrošča v starejši različici LMMS se kontrolerji vrha morda ne bodo pravilno povezali. Prepričajte se, da so kontrolerji vrha pravilno povezani in ponovno shranite datoteko. Opravičujemo se za nevšečnosti. + + + + lmms::PeakControllerEffectControls + + + Base value + Osnovna vrednost + + + + Modulation amount + Količina modulacije + + + + Attack + Napad + + + + Release + Spust + + + + Treshold + Prag + + + + Mute output + Uitšaj izhod + + + + Absolute value + Absolutna vrednost + + + + Amount multiplicator + Množilnik količine + + + + lmms::Plugin + + + Plugin not found + Vtičnik ni najden + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + Vtičnika "%1" ni bilo mogoče najti oziroma naložiti! +Razlog: "%2" + + + + Error while loading plugin + Napaka pri nalaganju vtičnika + + + + Failed to load plugin "%1"! + Napaka pri nalaganju vtičnika "%1"! + + + + lmms::ReverbSCControls + + + Input gain + Vhodna jakost + + + + Size + Velikost + + + + Color + Barva + + + + Output gain + Izhodna jakost + + + + lmms::SaControls + + + Pause + Premor + + + + Reference freeze + Zamrznitev reference + + + + Waterfall + Vodni slap + + + + Averaging + Določanje povprečja + + + + Stereo + Stereo + + + + Peak hold + Zadrži vrh + + + + Logarithmic frequency + Logaritmična frekvenca + + + + Logarithmic amplitude + Logaritmična amplituda + + + + Frequency range + Frekvenčni razpon + + + + Amplitude range + Razpon amplitude + + + + FFT block size + FFT velikost bloka + + + + FFT window type + FFT vrsta okna + + + + Peak envelope resolution + Ločljivost ovoja vrha + + + + Spectrum display resolution + Ločljivost prikaza spektra + + + + Peak decay multiplier + Večkratnik upada vrha + + + + Averaging weight + Povprečje teže + + + + Waterfall history size + Velikost zgodovine Vodnega slapa + + + + Waterfall gamma correction + Gamma korekcija Vodnega slapa + + + + FFT window overlap + FFT okno prekrivanje + + + + FFT zero padding + FFT nič odmika + + + + + Full (auto) + Polno (samodejno) + + + + + + Audible + Slišno + + + + Bass + Bas + + + + Mids + Srednji + + + + High + Visoka + + + + Extended + Razširjeno + + + + Loud + Glasno + + + + Silent + Tiho + + + + (High time res.) + (Visoka loč. časa) + + + + (High freq. res.) + (Visoka loč. frekv.) + + + + Rectangular (Off) + Pravokotno (izklopljeno) + + + + + Blackman-Harris (Default) + Blackman-Harris (privzeto) + + + + Hamming + Pretiravanje + + + + Hanning + Hanning + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + Glasnost + + + + Panning + Panorama + + + + Mixer channel + Mešalni kanal + + + + + Sample track + Steza vzorca + + + + lmms::Scale + + + empty + prazno + + + + lmms::Sf2Instrument + + + Bank + Tabela + + + + Patch + Program + + + + Gain + Jakost + + + + Reverb + Odjek + + + + Reverb room size + Velikost prostora odjeka + + + + Reverb damping + Dušenje odjeka + + + + Reverb width + Širina odjeka + + + + Reverb level + Nivo odjeka + + + + Chorus + Kor + + + + Chorus voices + Glasovi kora + + + + Chorus level + Nivo kora + + + + Chorus speed + Hitrost kora + + + + Chorus depth + Globina kora + + + + A soundfont %1 could not be loaded. + Soundfont %1 ni bilo mogoče naložiti + + + + lmms::SfxrInstrument + + + Wave + Val + + + + lmms::SidInstrument + + + Cutoff frequency + Frekvenca rezanja + + + + Resonance + Resnonanca + + + + Filter type + Vrsta filtra + + + + Voice 3 off + Glas 3 izklop + + + + Volume + Glasnost + + + + Chip model + Model čipa + + + + lmms::SlicerT + + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + Sample not found: %1 - BitInvader + lmms::Song - - Sample length + + Tempo + Tempo + + + + Master volume + Glavna glasnost + + + + Master pitch + Glavna višina + + + + Aborting project load + Prekinjam nalaganje projekta + + + + Project file contains local paths to plugins, which could be used to run malicious code. + Projektna datoteka vsebuje lokalne poti do vtičnkkov, ki bi lahko vsebovale škodljivo kodo. + + + + Can't load project: Project file contains local paths to plugins. + Projekta ni mogoče naložiti: Projektna datoteka vsebuje lokalne poti do vtičnikov. + + + + LMMS Error report + Poročilo o LMMS napaki + + + + (repeated %1 times) + (ponovljeno %1 krat) + + + + The following errors occurred while loading: + Pri nalaganju je prišlo do naslednjih napak: + + + + lmms::StereoEnhancerControls + + + Width + Širina + + + + lmms::StereoMatrixControls + + + Left to Left + Levo na levo + + + + Left to Right + Levo na desno + + + + Right to Left + Desno na levo + + + + Right to Right + Desno na desno + + + + lmms::Track + + + Mute + Utišaj + + + + Solo + Solo + + + + lmms::TrackContainer + + + Couldn't import file + Datoeke ni bilo mogoče uvoziti + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + Filtra za uvoz %1 ni mogoče najti. +Pretvorite to datoteko v format, ki ga podpira LMMS s pomočjo nekega drugega programa. + + + + Couldn't open file + Ne morem odpreti datoteke + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + Datoteke %1 ni bilo mogoče odpreti za branje. +Prepričajte se, da imate pravico za branje te datoteke in njeno mapo ter poskusite znova! + + + + Loading project... + Nalagam projekt... + + + + + Cancel + Prekini + + + + + Please wait... + Počakajte... + + + + Loading cancelled + Nalaganje prekinjeno + + + + Project loading was cancelled. + Nalaganje projekta je bilo prekinjeno. + + + + Loading Track %1 (%2/Total %3) + Nalaganje steze %1 (%2/Skupaj %3) + + + + Importing MIDI-file... + Uvažam MIDI datoteko... + + + + lmms::TripleOscillator + + + Sample not found - BitInvaderView + lmms::VecControls - - Sample length - + + Display persistence amount + Prikaži količino persistence - - Draw your own waveform here by dragging your mouse on this graph. - + + Logarithmic scale + Logaritmična skala - - - Sine wave - - - - - - Triangle wave - - - - - - Saw wave - - - - - - Square wave - - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - - - - - Interpolation - - - - - Normalize - + + High quality + Visoka kakovost - DynProcControlDialog + lmms::VestigeInstrument - - INPUT - + + Loading plugin + Nalaganje vtičnika - - Input gain: - - - - - OUTPUT - - - - - Output gain: - - - - - ATTACK - - - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - + + Please wait while loading the VST plugin... + Počakajte, da se naloži VST vtičnik... - DynProcControls + lmms::Vibed - + + String %1 volume + Struna %1 glasnost + + + + String %1 stiffness + Struna %1 togost + + + + Pick %1 position + Odjem %1 položaj + + + + Pickup %1 position + Odjemalec %1 položaj + + + + String %1 panning + Struna %1 panorama + + + + String %1 detune + Struna %1 razglašenost + + + + String %1 fuzziness + Struna %1 popačenost + + + + String %1 length + Struna %1 dolžina + + + + Impulse %1 + Impulz %1 + + + + String %1 + Struna %1 + + + + lmms::VoiceObject + + + Voice %1 pulse width + Glas %1 širina utripa + + + + Voice %1 attack + Glas %1 napad + + + + Voice %1 decay + Glas %1 upad + + + + Voice %1 sustain + Glas %1 zadrži + + + + Voice %1 release + Glas %1 spust + + + + Voice %1 coarse detuning + Glas %1 groba razglasitev + + + + Voice %1 wave shape + Glas %1 oblika vala + + + + Voice %1 sync + Glas %1 sinhr + + + + Voice %1 ring modulate + Voice %1 modulacija zvonjenja + + + + Voice %1 filtered + Glas %1 filtriran + + + + Voice %1 test + Glas %1 test + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + VST vtičnika %1 ni bilo mogoče naložiti + + + + Open Preset + Odpri predlogo + + + + + VST Plugin Preset (*.fxp *.fxb) + Predloga Vst vtičnika (*.fxp *.fxb) + + + + : default + : privzeto + + + + Save Preset + Shrani predlogo + + + + .fxp + .fxp + + + + .FXP + .FXP + + + + .FXB + .FXB + + + + .fxb + .fxb + + + + Loading plugin + Nalaganje vtičnika + + + + Please wait while loading VST plugin... + Počakajte, da naložim VST vtičnik + + + + lmms::WatsynInstrument + + + Volume A1 + Galsnost A1 + + + + Volume A2 + Galsnost A2 + + + + Volume B1 + Galsnost B1 + + + + Volume B2 + Galsnost B2 + + + + Panning A1 + Panorama A1 + + + + Panning A2 + Panorama A2 + + + + Panning B1 + Panorama B1 + + + + Panning B2 + Panorama B2 + + + + Freq. multiplier A1 + Množilnik frekv. A1 + + + + Freq. multiplier A2 + Množilnik frekv. A2 + + + + Freq. multiplier B1 + Množilnik frekv. B1 + + + + Freq. multiplier B2 + Množilnik frekv. B2 + + + + Left detune A1 + Razglasi levo A1 + + + + Left detune A2 + Razglasi levo A2 + + + + Left detune B1 + Razglasi levo B1 + + + + Left detune B2 + Razglasi levo B2 + + + + Right detune A1 + Razglasi desno A1 + + + + Right detune A2 + Razglasi desno A2 + + + + Right detune B1 + Razglasi desno B1 + + + + Right detune B2 + Razglasi desno B2 + + + + A-B Mix + A-B Miks + + + + A-B Mix envelope amount + A-B miks ovoj količina + + + + A-B Mix envelope attack + A-B miks ovoj napad + + + + A-B Mix envelope hold + A-B miks ovoj zadrži + + + + A-B Mix envelope decay + A-B miks ovoj upad + + + + A1-B2 Crosstalk + A1-B2 navzkrižno + + + + A2-A1 modulation + A2-A1 modulacija + + + + B2-B1 modulation + B2-B1 modulacija + + + + Selected graph + Izbrani graf + + + + lmms::WaveShaperControls + + Input gain - + Vhodna jakost - + Output gain - - - - - Attack time - - - - - Release time - - - - - Stereo mode - + Izhodna jakost - graphModel + lmms::Xpressive - + + Selected graph + Izbrani graf + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + W1 smoothing + W1 glajenje + + + + W2 smoothing + W2 glajenje + + + + W3 smoothing + W3 glajenje + + + + Panning 1 + Panorama 1 + + + + Panning 2 + Panorama 2 + + + + Rel trans + Rel trans + + + + lmms::ZynAddSubFxInstrument + + + Portamento + Portamento + + + + Filter frequency + Frekvenca filtra + + + + Filter resonance + Filter resonance + + + + Bandwidth + Pasovna širina + + + + FM gain + FM jakost + + + + Resonance center frequency + Središčna frekvenca resonance + + + + Resonance bandwidth + Pasnovna širina resonance + + + + Forward MIDI control change events + Posreduj dogodke za MIDI spremembo kontrole + + + + lmms::graphModel + + Graph graf - KickerInstrument + lmms::gui::AmplifierControlDialog - - Start frequency - + + VOL + GLASN - - End frequency - - - - - Length - - - - - Start distortion - - - - - End distortion - - - - - Gain - - - - - Envelope slope - - - - - Noise - - - - - Click - - - - - Frequency slope - - - - - Start from note - - - - - End to note - - - - - KickerInstrumentView - - - Start frequency: - - - - - End frequency: - - - - - Frequency slope: - - - - - Gain: - - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - - - - - Noise: - - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - - - - - - Unavailable Effects - - - - - - Instruments - - - - - - Analysis Tools - - - - - - Don't know - - - - - Type: - - - - - LadspaDescription - - - Plugins - - - - - Description - - - - - LadspaPortDialog - - - Ports - - - - - Name - Ime - - - - Rate - - - - - Direction - - - - - Type - - - - - Min < Default < Max - - - - - Logarithmic - - - - - SR Dependent - - - - - Audio - - - - - Control - - - - - Input - - - - - Output - - - - - Toggled - - - - - Integer - - - - - Float - - - - - - Yes - - - - - Lb302Synth - - - VCF Cutoff Frequency - - - - - VCF Resonance - - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - izkrivljanje - - - - Waveform - - - - - Slide Decay - - - - - Slide - - - - - Accent - Barva akcentov - - - - Dead - Odmrlo - - - - 24dB/oct Filter - - - - - Lb302SynthView - - - Cutoff Freq: - - - - - Resonance: - - - - - Env Mod: - - - - - Decay: - - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - - - - - Click here for a saw-wave. - - - - - Triangle wave - - - - - Click here for a triangle-wave. - - - - - Square wave - - - - - Click here for a square-wave. - - - - - Rounded square wave - - - - - Click here for a square-wave with a rounded end. - - - - - Moog wave - - - - - Click here for a moog-like wave. - - - - - Sine wave - - - - - Click for a sine-wave. - - - - - - White noise wave - - - - - Click here for an exponential wave. - - - - - Click here for white-noise. - - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - - - - - Position - - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - - - - - Crossfade - - - - - LFO speed - - - - - LFO depth - - - - - ADSR - - - - - Pressure - - - - - Motion - - - - - Speed - - - - - Bowed - - - - - Spread - - - - - Marimba - - - - - Vibraphone - - - - - Agogo - - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - - - - - Spread - - - - - Spread: - - - - - Missing files - - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - - Hardness - - - - - Hardness: - - - - - Position - - - - - Position: - - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - - - - - Modulator: - - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - - - - - LFO speed: - - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - - - - - ADSR: - - - - - Pressure - - - - - Pressure: - - - - - Speed - - - - - Speed: - - - - - ManageVSTEffectView - - - - VST parameter control - - - - - VST sync - - - - - - Automated - - - - - Close - - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - - - - VST Sync - - - - - - Automated - - - - - Close - - - - - OrganicInstrument - - - Distortion - izkrivljanje - - - - Volume - Obseg - - - - OrganicInstrumentView - - - Distortion: - - - - + Volume: Glasnost: - - Randomise + + PAN + PAN + + + + Panning: + Panorama: + + + + LEFT + LEVO + + + + Left gain: + Leva jakost: + + + + RIGHT + DESNO + + + + Right gain: + Desna jakost: + + + + lmms::gui::AudioAlsaSetupWidget + + + Device - - - Osc %1 waveform: - - - - - Osc %1 volume: - - - - - Osc %1 panning: - - - - - Osc %1 stereo detuning - - - - - cents - - - - - Osc %1 harmonic: + + Channels - PatchesDialog + lmms::gui::AudioFileProcessorView - - Qsynth: Channel Preset + + Open sample + Odpri vzorec + + + + Reverse sample + Obrni vzorec + + + + Disable loop + Izklopi zanko + + + + Enable loop + Vklopi zanko + + + + Enable ping-pong loop + Vklopi ping-pong zanko + + + + Continue sample playback across notes + Nadaljuj s predvajanjem vzorca po notah + + + + Amplify: + Ojačitev: + + + + Start point: + Začetna točka: + + + + End point: + Končna točka: + + + + Loopback point: + Povratna točka zanke: + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + Dolžina vzorca: + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + Odpri v urejevalniku avtomatizacije + + + + Clear + Počisti + + + + Reset name + Ponastavi ime + + + + Change name + Spremeni ime + + + + Set/clear record + Nastavi/počisti snemanje + + + + Flip Vertically (Visible) + Zrcali navpično (vidno) + + + + Flip Horizontally (Visible) + Zrcali vodoravno (vidno) + + + + %1 Connections + %1 povezav + + + + Disconnect "%1" + Odklopi "%1" + + + + Model is already connected to this clip. + Model je že povezan s tem izsekom + + + + lmms::gui::AutomationEditor + + + Edit Value + Uredi vrednost + + + + New outValue + Nova izhodna outValue vrednost + + + + New inValue + Nova vhodna inValue vrednost + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + Predvajanje/premor trenutnega izseka (preslednica) + + + + Stop playing of current clip (Space) + Zaustavi predvajanje trenutnega izseka (preslednica) + + + + Edit actions + Urejanje dejanj + + + + Draw mode (Shift+D) + Način risanja (Sshift+D) + + + + Erase mode (Shift+E) + Način brisanja (Shift+E) + + + + Draw outValues mode (Shift+C) + Način risanja izhodnih outValues vrednosti (Shift+C) + + + + Edit tangents mode (Shift+T) - - Bank selector + + Flip vertically + Zrcali navpično + + + + Flip horizontally + Zrcali vodoravno + + + + Interpolation controls + Nadzor nad interpolacijo + + + + Discrete progression + Diskretno napredovanje + + + + Linear progression + Linearno napredovanje + + + + Cubic Hermite progression + Kubični Hermit napredovanje + + + + Tension value for spline + Vrednost napetosti za zlepek + + + + Tension: + Napetost: + + + + Zoom controls + Nadzor povečave + + + + Horizontal zooming + Vodoravna povečava + + + + Vertical zooming + NAvpična povečava + + + + Quantization controls + Nadzor nad kvantizacijo + + + + Quantization + Kvantizacija + + + + Clear ghost notes - - Bank + + + Automation Editor - no clip + Urejevalnik avtomatizacije - brez izseka + + + + + Automation Editor - %1 + Urejevalnik avtomatizacije - %1 + + + + Model is already connected to this clip. + Model je že povezan s tem izsekom + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + FREKV + + + + Frequency: + Frekvenca: + + + + GAIN + JAK + + + + Gain: + Jakost: + + + + RATIO + RAZMR + + + + Ratio: + Razmerje: + + + + lmms::gui::BitInvaderView + + + Sample length + Dolžina vzorca + + + + Draw your own waveform here by dragging your mouse on this graph. + Tu narišite svojo valovno obliko s vlečenjem miške po tem grafu. + + + + + Sine wave + Sinusna oblika + + + + + Triangle wave + Trikotna oblika + + + + + Saw wave + Žagasta oblika + + + + + Square wave + Pravokotna oblika + + + + + White noise + Beli šum + + + + + User-defined wave + Uporabniško določena oblika + + + + + Smooth waveform + Glajenje oblike vala + + + + Interpolation + Prepletanje + + + + Normalize + Normalizacija + + + + lmms::gui::BitcrushControlDialog + + + IN + V + + + + OUT + IZ + + + + + GAIN + JAK + + + + Input gain: + Vhodna jakost: + + + + NOISE + ŠUM + + + + Input noise: + Vhodni šum: + + + + Output gain: + Izhodna jakost: + + + + CLIP + REZANJE + + + + Output clip: + Izhodno rezanje: + + + + Rate enabled + Frrekvenca vklopljena + + + + Enable sample-rate crushing + Vklopi lomljenje frekvence vzorčenja + + + + Depth enabled + Globina vklopljena + + + + Enable bit-depth crushing + Vklopi lomljenje bitne globine + + + + FREQ + FREKV + + + + Sample rate: + Frekvenca vzorčenja: + + + + STEREO + STEREO + + + + Stereo difference: + Stereo razlika: + + + + QUANT + KVANT + + + + Levels: + Nivoji: + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% - - Program selector + + - Notes and setup: %1% - - Patch + + - Instruments: %1% - - Name - Ime + + - Effects: %1% + - + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + Prikaži grafični vmesnik + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + Kliknite, če želite prikazati ali skriti grafični vmesnik (GUI) Carle. + + + + Params + Param + + + + Available from Carla version 2.1 and up. + Na voljo od Carla različice 2.1 naprej. + + + + lmms::gui::CarlaParamsView + + + Search.. + Iskanje.. + + + + Clear filter text + Počisti besedilo filtra + + + + Only show knobs with a connection. + Prikaži le vrtljive gumbe s povezavo. + + + + - Parameters + - Parametri + + + + lmms::gui::ClipView + + + Current position + Trenutni položaj + + + + Current length + Trenutna dolžina + + + + + %1:%2 (%3:%4 to %5:%6) + %1:%2 (%3:%4 do %5:%6) + + + + Press <%1> and drag to make a copy. + Pritisnite <%1> in vlečite, da ustvarite kopijo. + + + + Press <%1> for free resizing. + Pritisnite <%1> za prosto spreminjanje velikosti + + + + Hint + Namig + + + + Delete (middle mousebutton) + Izbriši (srednja tipka miške) + + + + Delete selection (middle mousebutton) + Izbriši označeno (srednja tipka miške) + + + + Cut + Izreži + + + + Cut selection + Izreži označeno + + + + Merge Selection + Združi označeno + + + + Copy + Kopiraj + + + + Copy selection + Kopiraj označeno + + + + Paste + Prilepi + + + + Mute/unmute (<%1> + middle click) + Utišaj/zvok (<%1>+ srednji klik) + + + + Mute/unmute selection (<%1> + middle click) + Utišaj/zvok označeno (<%1>+ srednji klik) + + + + Clip color + Barva matrike + + + + Change + Spremeni + + + + Reset + Ponastavi + + + + Pick random + Izberi naključno + + + + lmms::gui::CompressorControlDialog + + + Threshold: + Prag: + + + + Volume at which the compression begins to take place + Glasnost pri kateri se začne kompresirati + + + + Ratio: + Razmerje: + + + + How far the compressor must turn the volume down after crossing the threshold + Koliko naj kompresor stisne zvok, potem ko ta preseže prag + + + + Attack: + Napad: + + + + Speed at which the compressor starts to compress the audio + Hitrost s katero kompresor začne stiskati zvok + + + + Release: + Spust: + + + + Speed at which the compressor ceases to compress the audio + Hitrost s katero kompresor preneha stiskati zvok + + + + Knee: + Koleno: + + + + Smooth out the gain reduction curve around the threshold + Zmehčaj krivulje zmanjševanja jakosti v območju praga + + + + Range: + Obseg: + + + + Maximum gain reduction + Največje zmanjšanje jakosti + + + + Lookahead Length: + Dolžina pogleda naprej: + + + + How long the compressor has to react to the sidechain signal ahead of time + Koliko vnaprej naj se kompresor odziva na signal stranske verige + + + + Hold: + Zadrži: + + + + Delay between attack and release stages + Zamik med stopnjama napad in spust + + + + RMS Size: + RMS velikost: + + + + Size of the RMS buffer + Velikost RMS medpomnilnika + + + + Input Balance: + Vhodno ravnovesje: + + + + Bias the input audio to the left/right or mid/side + Postavi vhodni signal levo/desno ali sredina/stransko + + + + Output Balance: + Izhodno ravnovesje: + + + + Bias the output audio to the left/right or mid/side + Postavi izhodni signal levo/desno ali sredina/stransko + + + + Stereo Balance: + Stereo ravnovesje: + + + + Bias the sidechain signal to the left/right or mid/side + Postavi signal stranske verige levo/desno ali sredina/stransko + + + + Stereo Link Blend: + Prehajanje stereo združevanja: + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + Prehajanje med nepovezanim/maksimalnim/povprečnim/minimalnim načinom stereo združevanja + + + + Tilt Gain: + Nagib jakost: + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + Izpostavi nizke ali visoke frekvence signal stranske verige. -6dB je nizkoprepustni filter, 6 dB je visokoprepustni filter. + + + + Tilt Frequency: + Frekvenca nagiba: + + + + Center frequency of sidechain tilt filter + Osrednja frekvenca filtra nagiba stranske verige + + + + Mix: + Miks: + + + + Balance between wet and dry signals + Razmerje med surovim in obogatenim signalom + + + + Auto Attack: + Samodejni napad: + + + + Automatically control attack value depending on crest factor + Samodejno nadzoruj vrednost za napad glede na vrhove + + + + Auto Release: + Samodejni spust + + + + Automatically control release value depending on crest factor + Samodejno nadzoruj vrednost spusta glede na vrhove + + + + Output gain + Izhodna jakost + + + + + Gain + Jakost + + + + Output volume + Izhodna glasnost + + + + Input gain + Vhodna jakost + + + + Input volume + Vhodna glasnost + + + + Root Mean Square + Efektivna vrednost RMS + + + + Use RMS of the input + Uporabi RMS vhoda + + + + Peak + Vrh + + + + Use absolute value of the input + Uporabi absolutno vrednost vhoda + + + + Left/Right + Levo/Desno + + + + Compress left and right audio + Kompresiraj levi in desni zvok + + + + Mid/Side + Sredina/Stransko + + + + Compress mid and side audio + Kompresiraj sredinski in stranski zvok + + + + Compressor + Kompresor + + + + Compress the audio + Stiskanje zvoka + + + + Limiter + Omejevalnik + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + Nastavi razmerje na neskončno (ne zagotavlja omejevanja glasnosti zvoka) + + + + Unlinked + Nepovezano + + + + Compress each channel separately + Stiskaj vsak kanal posebej + + + + Maximum + Maksimum + + + + Compress based on the loudest channel + Stiskaj glede na glasnejši kanal + + + + Average + Povprečje + + + + Compress based on the averaged channel volume + Stiskaj glede na povprečno glasnost kanala + + + + Minimum + Minimum + + + + Compress based on the quietest channel + Stiskaj glede na tišji kanal + + + + Blend + Zlivanje + + + + Blend between stereo linking modes + Prehajanje med načini združevanja sterea + + + + Auto Makeup Gain + Samodejno večanje jakosti + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + Samodejno veča jakost glede na nastavljen prag, koleno in razmerje + + + + + Soft Clip + Mehko rezanje + + + + Play the delta signal + Predvajaj delta signal + + + + Use the compressor's output as the sidechain input + Uporabi izhod kompresorja kot vhod stranske verige + + + + Lookahead Enabled + Pogled vnaprej je vklopljen + + + + Enable Lookahead, which introduces 20 milliseconds of latency + Vklopi Pogled vnaprej, ki doda 20 milisekund latence + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + Nastavitve povezave + + + + MIDI CONTROLLER + MIDI KRMILNIK + + + + Input channel + Vhodni kanal + + + + CHANNEL + KANAL + + + + Input controller + Vhodni krmilnik + + + + CONTROLLER + KRMILNIK + + + + + Auto Detect + Samodejno zaznavanje + + + + MIDI-devices to receive MIDI-events from + MIDI-naprave, ki morajo prejeti MIDI-dogodke od + + + + USER CONTROLLER + UPORABNIŠKI KRMILNIK + + + + MAPPING FUNCTION + FUNKCIJA MAPIRANJA + + + OK V redu - + Cancel - Preklic + Prekini + + + + LMMS + LMMS + + + + Cycle Detected. + Zaznan cikelj. - Sf2Instrument + lmms::gui::ControllerRackView - - Bank + + Controller Rack + Regal krmilnikov + + + + Add + Dodaj + + + + Confirm Delete + Potrdi brisanje + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + Naj res izbrišem? Obstaja(-jo) povezava(-e), ki se nanašajo na ta krmilnik. Razveljavitev ni mogoča. + + + + lmms::gui::ControllerView + + + Controls + Kontrole + + + + Rename controller + Preimenuj krmilnik + + + + Enter the new name for this controller + Vnesite novo ime krmilnika + + + + LFO + NFO + + + + Move &up - - Patch + + Move &down - + + &Remove this controller + Odst&rani ta krmilnik + + + + Re&name this controller + Pr&eimenuj ta krmilnik + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + Pas 1/2 prekrižaj: + + + + Band 2/3 crossover: + Pas 2/3 prekrižaj: + + + + Band 3/4 crossover: + Pas 3/4 prekrižaj: + + + + Band 1 gain + Pas 1 jakost + + + + Band 1 gain: + Pas 1 jakost: + + + + Band 2 gain + Pas 2 jakost + + + + Band 2 gain: + Pas 2 jakost: + + + + Band 3 gain + Pas 3 jakost + + + + Band 3 gain: + Pas 3 jakost: + + + + Band 4 gain + Pas 4 jakost + + + + Band 4 gain: + Pas 4 jakost: + + + + Band 1 mute + Pas 1 utišaj + + + + Mute band 1 + Utišaj pas 1 + + + + Band 2 mute + Pas 2 utišaj + + + + Mute band 2 + Utišaj pas 2 + + + + Band 3 mute + Pas 3 utišaj + + + + Mute band 3 + Utišaj pas 3 + + + + Band 4 mute + Pas 4 utišaj + + + + Mute band 4 + Utišaj pas 4 + + + + lmms::gui::DelayControlsDialog + + + DELAY + ZAMIK + + + + Delay time + Čas zamika + + + + FDBK + POVR + + + + Feedback amount + Količina v povratno zanko + + + + RATE + STOPN + + + + LFO frequency + NFO frekvenca + + + + AMNT + KOLIČ + + + + LFO amount + NFO količina + + + + Out gain + Izhodna jakost + + + Gain + Jakost + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + KOLIČINA + + + + Number of all-pass filters + Število filtrov za vse pasove + + + + FREQ + FREKV + + + + Frequency: + Frekvenca: + + + + RESO + RESO + + + + Resonance: + Resnonanca: + + + + FEED + POVR + + + + Feedback: + Povratna zanka: + + + + DC Offset Removal + DC odmik odstranitve + + + + Remove DC Offset + Odstrani DC odmik + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + FREKV + + + + + Cutoff frequency + Frekvenca rezanja + + + + + RESO + RESO + + + + + Resonance + Resnonanca + + + + + GAIN + JAKOST + + + + + Gain + Jakost + + + + MIX + MIKS + + + + Mix + Miks + + + + Filter 1 enabled + Filter 1 vklopljen + + + + Filter 2 enabled + Filter 2 vklopljen + + + + Enable/disable filter 1 + Vklopi/izklopi filter 1 + + + + Enable/disable filter 2 + Vklopi/izklopi filter 2 + + + + lmms::gui::DynProcControlDialog + + + INPUT + VHOD + + + + Input gain: + Vhodna jakost: + + + + OUTPUT + IZHOD + + + + Output gain: + Izhodna jakost: + + + + ATTACK + NAPAD + + + + Peak attack time: + Čas do vrha napada: + + + + RELEASE + SPUST + + + + Peak release time: + Čas spuščanja od vrha: + + + + + Reset wavegraph + Ponastavi valovni graf + + + + + Smooth wavegraph + Glajenje valovnega grafa + + + + + Increase wavegraph amplitude by 1 dB + Povečaj amplitudo valovnega grafa za 1 dB + + + + + Decrease wavegraph amplitude by 1 dB + Zmanjšaj amplitudo valovnega grafa za 1 dB + + + + Stereo mode: maximum + Streo način: maksimalen + + + + Process based on the maximum of both stereo channels + Obdelava glede na maksimum stereo kanalov + + + + Stereo mode: average + Stereo način: povprečje + + + + Process based on the average of both stereo channels + Obdelava glede na povprečje stereo kanalov + + + + Stereo mode: unlinked + Stereo način: nepovezano + + + + Process each stereo channel independently + Ločena obdelava stereo kanalov + + + + lmms::gui::Editor + + + Transport controls + Kontrole + + + + Play (Space) + Predvajanje (preslednica) + + + + Stop (Space) + Ustavi (preslednica) + + + + Record + Snemaj + + + + Record while playing + Snemaj med predvajanjem + + + + Toggle Step Recording + Preklopi snemanje v korakih + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + VERIGA UČINKOV + + + + Add effect + Dodaj učinek + + + + lmms::gui::EffectSelectDialog + + + Add effect - - Reverb + + + Name + Ime + + + + Type + Vrsta + + + + All - - Reverb room size + + Search - - Reverb damping + + Description + Opis + + + + Author + Avtor + + + + lmms::gui::EffectView + + + On/Off + Vklopi/izklopi + + + + W/D + S/O + + + + Wet Level: + Nivo obogatenosti: + + + + DECAY + UPAD + + + + Time: + Čas: + + + + GATE + VRATA + + + + Gate: + Vrata: + + + + Controls + Kontrole + + + + Move &up + Premakni &gor + + + + Move &down + Premakni &dol + + + + &Remove this plugin + Odst&rani ta vtičnik + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + KMD + + + + + Modulation amount: + Količina modulacije: + + + + + DEL + BRIŠI + + + + + Pre-delay: + Pred-zamik: + + + + + ATT + NAPAD + + + + + Attack: + Napad: + + + + HOLD + DRŽI + + + + Hold: + Drži: + + + + DEC + RAZ + + + + Decay: + Upad: + + + + SUST + VZD + + + + Sustain: + Zadrži: + + + + REL + SPUST + + + + Release: + Spust: + + + + SPD + HIT + + + + Frequency: + Frekvenca: + + + + FREQ x 100 + FREKV × 100 + + + + Multiply LFO frequency by 100 + Zmnoži NFO frekvenco s 100 + + + + MOD ENV AMOUNT - - Reverb width + + Control envelope amount by this LFO + Količino ovoja nadzorujte s tem NFO + + + + Hint + Namig + + + + Drag and drop a sample into this window. + Povlecite in spustite vzorec v to okno + + + + lmms::gui::EnvelopeGraph + + + Scaling - - Reverb level + + Dynamic - - Chorus + + Uses absolute spacings but switches to relative spacing if it's running out of space - - Chorus voices + + Absolute - - Chorus level + + Provides enough potential space for each segment but does not scale - - Chorus speed + + Relative - - Chorus depth - - - - - A soundfont %1 could not be loaded. + + Always uses all of the available space to display the envelope graph - Sf2InstrumentView + lmms::gui::EqControlsDialog - - - Open SoundFont file - Odpri SoundFont datoteko + + HP + VP - + + Low-shelf + Spodnji + + + + Peak 1 + Vrh 1 + + + + Peak 2 + Vrh 2 + + + + Peak 3 + Vrh 3 + + + + Peak 4 + Vrh 4 + + + + High-shelf + Zgornji + + + + LP + NP + + + + Input gain + Vhodna jakost + + + + + + Gain + Jakost + + + + Output gain + Izhodna jakost + + + + Bandwidth: + Pasovna širina: + + + + Octave + Oktava + + + + Resonance: + + + + + Frequency: + Frekvenca: + + + + LP group + NP skupina + + + + HP group + VP skupina + + + + lmms::gui::EqHandle + + + Reso: + Reso: + + + + BW: + PŠ: + + + + + Freq: + Frek: + + + + lmms::gui::ExportProjectDialog + + + Could not open file + Ne morem odpreti datoteke + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + Datoteke %1 ni bilo mogoče odpreti za zapisovanje. +Prepričajte se, da imate pravico za zapisovanje v to datoteko in njeno mapo ter poskusite znova! + + + + Export project to %1 + Izvozi projekt v %1 + + + + ( Fastest - biggest ) + (Hitro - veliko) + + + + ( Slowest - smallest ) + (Počasi - majhno) + + + + Error + Napaka + + + + Error while determining file-encoder device. Please try to choose a different output format. + Napaka pri določanju naprave za kodiranje datoteke. Poskusite izbrati drug izhodni format. + + + + Rendering: %1% + Zapisovanje: %1% + + + + lmms::gui::Fader + + + Set value + Določi vrednost + + + + Please enter a new value between %1 and %2: + Prosim vpišite novo vrednost med %1 in %2: + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + Brskalnik + + + + Search + iskanje + + + + Refresh list + Osveži seznam + + + + User content + Uporabniška vsebina + + + + Factory content + Priložena vsebina + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + Pošlji na aktivno instrumentalno stezo + + + + Open containing folder + Odpri mapo datoteke + + + + Song Editor + Urejevalnik skladbe + + + + Pattern Editor + Urejevalnik matrik + + + + Send to new AudioFileProcessor instance + Pošlji kot novo AudioFileProcessor instanco + + + + Send to new instrument track + Pošlji na novo instrumentalno stezo + + + + (%2Enter) + (%2Enter) + + + + Send to new sample track (Shift + Enter) + Pošljii na novo stezo z vzorci (Shift + Enter) + + + + Loading sample + Nalaganje vzorca + + + + Please wait, loading sample for preview... + Počakajte, vzorec za predogled se nalaga... + + + + Error + Napaka + + + + %1 does not appear to be a valid %2 file + %1 niima pravilne oblike za %2 datoteko + + + + --- Factory files --- + --- Tovarniške datoteke --- + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + ZAMIK + + + + Delay time: + Čas zamika: + + + + RATE + STOPN + + + + Period: + Perioda: + + + + AMNT + KOLIČ + + + + Amount: + Količina: + + + + PHASE + FAZA + + + + Phase: + Faza: + + + + FDBK + POVR + + + + Feedback amount: + Količina povratne zanke: + + + + NOISE + ŠUM + + + + White noise amount: + Količina belega šuma: + + + + Invert + Inverzno + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + Čas preleta: + + + + Sweep time + Čas preleta + + + + Sweep rate shift amount: + Stopnja premika preleta: + + + + Sweep rate shift amount + Stopnja premika preleta + + + + + Wave pattern duty cycle: + Cikelj izvajanja valovne matrike: + + + + + Wave pattern duty cycle + Cikelj izvajanja valovne matrike + + + + Square channel 1 volume: + Pravokotni kanal 1 glasnost: + + + + Square channel 1 volume + Pravokotni kanal 1 glasnost + + + + + + Length of each step in sweep: + Dolžina vsakega koraka v preletu + + + + + + Length of each step in sweep + Dolžina vsakega koraka preleta + + + + Square channel 2 volume: + Pravokotni kanal 2 glasnost: + + + + Square channel 2 volume + Pravokotni kanal 2 glasnost + + + + Wave pattern channel volume: + Glasnost kanala valovne matrike: + + + + Wave pattern channel volume + Glasnost kanala valovne matrike + + + + Noise channel volume: + Glasnost kanala s šumom: + + + + Noise channel volume + Glasnost kanala s šumom + + + + SO1 volume (Right): + SO1 glasnost (desno): + + + + SO1 volume (Right) + SO1 glasnost (desno) + + + + SO2 volume (Left): + SO2 glasnost (levo) + + + + SO2 volume (Left) + SO2 glasnost (desno) + + + + Treble: + Visoki: + + + + Treble + Visoki + + + + Bass: + Bas: + + + + Bass + Bas + + + + Sweep direction + Smer preleta + + + + + + + + Volume sweep direction + Smer preleta glasnosti + + + + Shift register width + Pomik širine registra + + + + Channel 1 to SO1 (Right) + Kanal 1 na SO1 (desni) + + + + Channel 2 to SO1 (Right) + Kanal 2 na SO1 (desni) + + + + Channel 3 to SO1 (Right) + Kanal 3 na SO1 (desni) + + + + Channel 4 to SO1 (Right) + Kanal 4 na SO1 (desni) + + + + Channel 1 to SO2 (Left) + Kanal 1 na SO2 (levi) + + + + Channel 2 to SO2 (Left) + Kanal 2 na SO2 (levi) + + + + Channel 3 to SO2 (Left) + Kanal 3 na SO2 (levi) + + + + Channel 4 to SO2 (Left) + Kanal 4 na SO2 (levi) + + + + Wave pattern graph + Graf valovne matrike + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + Odpri GIG datoteko + + + Choose patch - + Izberi program - + Gain: + Jakost: + + + + GIG Files (*.gig) + GIG datoteke (*.gig) + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: - - Apply reverb (if supported) + + Spray: - - Room size: + + Jitter: - - Damping: + + Twitch: - - Width: + + Spray Stereo Spread: - - - Level: + + Grain Shape: - - Apply chorus (if supported) + + Fade Length: - - Voices: + + Feedback: - - Speed: + + Minimum Allowed Latency: - + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + Delovna mapa + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + LMMS delovna mapa %1 ne obstaja. Jo ustvarim? Mapo lahko spremenite preko Uredi -> Nastavitve. + + + + Preparing UI + Pripravljanje uporabniškega vmesnika + + + + Preparing song editor + Pripravljam Urejevalnik skladbe + + + + Preparing mixer + Pripravljanje mešalke + + + + Preparing controller rack + Pripravljanje regala kontrolerjev + + + + Preparing project notes + Pripravljanje zaznamkov projekta + + + + Preparing microtuner + Pripravljanje mikoruglaševalnika + + + + Preparing pattern editor + Pripravljanje urejevalnika matrik + + + + Preparing piano roll + Pripravljanje klavirskega črtovja + + + + Preparing automation editor + Pripravljanje urejevalnika avtomatizacije + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + ARPEGGIO + + + + RANGE + RAZPON + + + + Arpeggio range: + Razpon arpeggia: + + + + octave(s) + oktav(a) + + + + REP + REP + + + + Note repeats: + Ponovljanje not: + + + + time(s) + krat + + + + CYCLE + KROŽI + + + + Cycle notes: + Kroženje not: + + + + note(s) + not(a) + + + + SKIP + SKOK + + + + Skip rate: + Stopnja preskakovanja: + + + + + + % + % + + + + MISS + GREŠI + + + + Miss rate: + Stopnja zgrešitve + + + + TIME + ČAS + + + + Arpeggio time: + Čas arpeggia: + + + + ms + ms + + + + GATE + VRATA + + + + Arpeggio gate: + Vrata arpeggia: + + + + Chord: + Akord: + + + + Direction: + Smer: + + + + Mode: + Način: + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + KOPIČENJE + + + + Chord: + Akord: + + + + RANGE + RAZPON + + + + Chord range: + Razpon akorda: + + + + octave(s) + oktav(a) + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + VKLOPI MIDI VHOD + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + KANAL + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + HITR + + + + ENABLE MIDI OUTPUT + VKLOPI MIDI IZHOD + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + PROG + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + NOTA + + + + MIDI devices to receive MIDI events from + MIDI-naprave, ki morajo prejeti MIDI-dogodke od + + + + MIDI devices to send MIDI events to + MIDI-naprave, ki morajo poslati MIDI-dogodke do + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + CILJ + + + + FILTER + FILTER + + + + FREQ + FREKV + + + + Cutoff frequency: + Frekvenca rezanja: + + + + Hz + Hz + + + + Q/RESO + Q/RESO + + + + Q/Resonance: + Q/resonanca: + + + + Envelopes, LFOs and filters are not supported by the current instrument. + Oblike krivulj, LFOji in filtri niso podprti v trenutnem instrumentu. + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + Glasnost + + + + Volume: + Glasnost: + + + + VOL + GLASN + + + + Panning + Panorama + + + + Panning: + Panorama: + + + + PAN + PAN + + + + MIDI + MIDI + + + + Input + Vhod + + + + Output + Izhod + + + + Open/Close MIDI CC Rack + Odpri/Zapri MIDI CC regal + + + + %1: %2 + %1: %2 + + + + lmms::gui::InstrumentTrackWindow + + + Volume + Glasnost + + + + Volume: + Glasnost: + + + + VOL + GLASN + + + + Panning + Panorama + + + + Panning: + Panorama: + + + + PAN + PAN + + + + Pitch + Višina + + + + Pitch: + Višina: + + + + cents + stotinov + + + + PITCH + VIŠINA + + + + Pitch range (semitones) + Razpon višine (poltoni) + + + + RANGE + RAZPON + + + + Mixer channel + Mešalni kanal + + + + CHANNEL + KANAL + + + + Save current instrument track settings in a preset file + Shrani nastavitve trenutnega instrumenta v predlogo + + + + SAVE + SHRANI + + + + Envelope, filter & LFO + Ovoj, filter & NFO + + + + Chord stacking & arpeggio + Nalaganje akordov in arpeggio + + + + Effects + Učinki + + + + MIDI + MIDI + + + + Tuning and transposition + + + + + Save preset + Shrani predlogo + + + + XML preset file (*.xpf) + XML predloga (*.xpf) + + + + Plugin + Vtičnik + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + Začetna frekvenca: + + + + End frequency: + Končna frekvenca: + + + + Frequency slope: + Nagib frekvence: + + + + Gain: + Jakost: + + + + Envelope length: + Dolžina ovoja: + + + + Envelope slope: + Nagib ovoja: + + + + Click: + Klik: + + + + Noise: + Šum: + + + + Start distortion: + Začetno popačenje: + + + + End distortion: + Končno popačenje: + + + + lmms::gui::LOMMControlDialog + + Depth: - - SoundFont Files (*.sf2 *.sf3) + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters - SfxrInstrument + lmms::gui::LadspaBrowserView - - Wave + + + Available Effects + Učinki, ki so na voljo + + + + + Unavailable Effects + Učinki, ki niso na voljo + + + + + Instruments + Instrumenti + + + + + Analysis Tools + Analitična orodja + + + + + Don't know + Neznano + + + + Type: + Vrsta: + + + + lmms::gui::LadspaControlDialog + + + Link Channels + Združi kanale + + + + Channel + Kanal + + + + lmms::gui::LadspaControlView + + + Link channels + Združi kanale + + + + Value: + Vrednost: + + + + lmms::gui::LadspaDescription + + + Plugins + Vtičniki + + + + Description + Opis + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: - StereoEnhancerControlDialog + lmms::gui::LadspaMatrixControlDialog - - WIDTH + + Link Channels - - Width: + + Link + + + + + Channel %1 + + + + + Link channels - StereoEnhancerControls + lmms::gui::LadspaPortDialog - - Width - + + Ports + Vrata + + + + Name + Ime + + + + Rate + Stopnja + + + + Direction + Smer + + + + Type + Vrsta + + + + Min < Default < Max + Min < privzeto < maks + + + + Logarithmic + Logaritmično + + + + SR Dependent + SR odvisno + + + + Audio + Zvok + + + + Control + Kontrola + + + + Input + Vhod + + + + Output + Izhod + + + + Toggled + Preklopljeno + + + + Integer + Celoštevilčno + + + + Float + Decimalno + + + + + Yes + Da - StereoMatrixControlDialog + lmms::gui::Lb302SynthView - - Left to Left Vol: - + + Cutoff Freq: + Frekvenca rezanja: - - Left to Right Vol: - + + Resonance: + Resnonanca: - - Right to Left Vol: - + + Env Mod: + Ovoj mod: - - Right to Right Vol: - - - - - StereoMatrixControls - - - Left to Left - Od desne proti levi + + Decay: + Upad: - - Left to Right - Od leve proti desni + + 303-es-que, 24dB/octave, 3 pole filter + 303-karski, 24dB/oktavo, 3 polni filter - - Right to Left - Od desne proti levi + + Slide Decay: + Drseči upad: - - Right to Right - Od desne proti levi - - - - VestigeInstrument - - - Loading plugin - + + DIST: + POPAČ: - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - - - - - Impulse Editor - - - - - Enable waveform - - - - - Enable/disable string - - - - - String - - - - - - Sine wave - - - - - - Triangle wave - - - - - + Saw wave - + Žagasta oblika - - + + Click here for a saw-wave. + Kliknite sem za žagasti val. + + + + Triangle wave + Trikotna oblika + + + + Click here for a triangle-wave. + Kliknite sem za trikotni val. + + + Square wave - + Pravokotna oblika - - + + Click here for a square-wave. + Kliknite sem za pravokotni val. + + + + Rounded square wave + Zaokrožen pravokotni val + + + + Click here for a square-wave with a rounded end. + Kliknite sem za pravokotni val za zaobljenim koncem. + + + + Moog wave + Moog val + + + + Click here for a moog-like wave. + Kliknite sem za Moogu podoben val. + + + + Sine wave + Sinusna oblika + + + + Click for a sine-wave. + Kliknite sem za sinusni val. + + + + + White noise wave + Val belega šuma + + + + Click here for an exponential wave. + Kliknite sem za eksponentni val. + + + + Click here for white-noise. + Kliknite sem za beli šum. + + + + Bandlimited saw wave + Pasovno omejen žagasti val + + + + Click here for bandlimited saw wave. + Kliknite sem za pasovno omejen žagasti val. + + + + Bandlimited square wave + Pasovno omejen pravokotni val + + + + Click here for bandlimited square wave. + Kliknite sem za pasovno omejen pravokotni val. + + + + Bandlimited triangle wave + Pasovno omejen trikotni val. + + + + Click here for bandlimited triangle wave. + Kliknite sem za pasovno omejen trikotni val. + + + + Bandlimited moog saw wave + Pasovno omejen Moog žagasti val + + + + Click here for bandlimited moog saw wave. + Kliknite sem za pasovno omejen Moog žagasti val. + + + + lmms::gui::LcdFloatSpinBox + + + Set value + Določi vrednost + + + + Please enter a new value between %1 and %2: + Vnesite novo vrednost med %1 in %2: + + + + lmms::gui::LcdSpinBox + + + Set value + Določi vrednost + + + + Please enter a new value between %1 and %2: + Vnesite novo vrednost med %1 in %2: + + + + lmms::gui::LeftRightNav + + + + + Previous + Nazaj + + + + + + Next + Naprej + + + + Previous (%1) + Nazaj (%1) + + + + Next (%1) + Naprej (%1) + + + + lmms::gui::LfoControllerDialog + + + LFO + NFO + + + + BASE + OSNOVA + + + + Base: + Osnova: + + + + FREQ + FREKV + + + + LFO frequency: + NFO frekvenca: + + + + AMNT + KOLIČ + + + + Modulation amount: + Količina modulacije: + + + + PHS + FAZ + + + + Phase offset: + Premik faze: + + + + degrees + stopinj + + + + Sine wave + Sinusna oblika + + + + Triangle wave + Trikotna oblika + + + + Saw wave + Žagasta oblika + + + + Square wave + Pravokotna oblika + + + + Moog saw wave + Moog pravokotni val + + + + Exponential wave + Eksponentni val + + + White noise - + Beli šum - - - User-defined wave - + + User-defined shape. +Double click to pick a file. + Uporabniško določena oblika. +Dvojni klik za izbiro datoteke. - - - Smooth waveform - + + Multiply modulation frequency by 1 + Zmnoži frekvenco moduliranja z 1 - - - Normalize waveform + + Multiply modulation frequency by 100 + Zmnoži frekvenco moduliranja s 100 + + + + Divide modulation frequency by 100 + Deli frekvenco moduliranja s 100 + + + + lmms::gui::LfoGraph + + + %1 Hz - VoiceObject + lmms::gui::MainWindow - - Voice %1 pulse width + + Configuration file + Nastavitvena datoteka + + + + Error while parsing configuration file at line %1:%2: %3 + Napaka pri razčlenjevanju nastavitvene datoteke v vrstici %1:%2: %3 + + + + Could not open file + Ne morem odpreti datoteke + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + Datoteke %1 ni bilo mogoče odpreti za zapisovanje. +Prepričajte se, da imate pravico za zapisovanje v to datoteko in njeno mapo ter poskusite znova! + + + + Project recovery + Obnova projekta + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + Na voljo je obnovitvena datoteka. Videti je, da se zadnja seja ni pravilno končala ali da je hkrati zagnana še ena instanca LMMS. Ali želite obvnoviti projekt te seje? + + + + + Recover + Obnova + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + Obnova datoteke. Pri tem dejanju je potrebno paziti na to, da ni zagnanih več instanc LMMS. + + + + + Discard + Opusti + + + + Launch a default session and delete the restored files. This is not reversible. + Zaženi privzeto sejo in pobriši obnovljene datoteke. Tega ni mogoče preklicati. + + + + Version %1 + Različica %1 + + + + Preparing plugin browser + Pripravljam brskalnik za vtičnike + + + + Preparing file browsers + Prirpavljam datotečni brskalnik + + + + My Projects + Moji projekti + + + + My Samples + Moji vzorci + + + + My Presets + Moje predloge + + + + My Home + Moj dom + + + + Root Directory - - Voice %1 attack + + Volumes + Nosilci + + + + My Computer + Moj računalnik + + + + Loading background picture + Nalagam sliko ozadja + + + + &File + &Datoteka + + + + &New + &Novo + + + + &Open... + &Odpri... + + + + &Save + &Shrani + + + + Save &As... + Shr&ani kot... + + + + Save as New &Version + Shrani kot no&vo različico + + + + Save as default template + Shrani kot privzeto predlogo + + + + Import... + Uvozi... + + + + E&xport... + &Izvozi + + + + E&xport Tracks... + Iz&vozi steze... + + + + Export &MIDI... + Izvozi &MIDI... + + + + &Quit + I&zhod + + + + &Edit + &Uredi + + + + Undo + Razveljavi + + + + Redo + Uveljavi + + + + Scales and keymaps - - Voice %1 decay + + Settings + Nastavitve + + + + &View + &Prikaz + + + + &Tools + &Orodja + + + + &Help + &Pomoč + + + + Online Help + Spletna pomoč + + + + Help + Pomoč + + + + About + O programu + + + + Create new project + Ustvari nov projekt + + + + Create new project from template + Ustvari nov projekt iz predloge + + + + Open existing project + Odpri obstoječi projekt + + + + Recently opened projects + Nedavno odprti projekti + + + + Save current project + Shrani trenutni projekt + + + + Export current project + Izvozi trenutni projekt + + + + Metronome + Metronom + + + + + Song Editor + Urejevalnik skladbe + + + + + Pattern Editor + Urejevalnik matrik + + + + + Piano Roll + Klavirsko črtovje + + + + + Automation Editor + Urejevalnik avtomatizacije + + + + + Mixer + Mešalka + + + + Show/hide controller rack + Prikaži/skrij regal krmilnikov + + + + Show/hide project notes + Prikaži/skrij beležke projekta + + + + Untitled + neimenovano + + + + Recover session. Please save your work! + Obnovitvena seja. Shranite dokumente! + + + + LMMS %1 + LMMS %1 + + + + Recovered project not saved + Obnovljen projekt ni bil shranjen + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + Ta projekt je bil obnovljen s prejšnje seje. Trenutno ni shranjen in bo izgubljen, če ga ne shranite. Ali ga želite shraniti? + + + + Project not saved + Projekt ni shranjen + + + + The current project was modified since last saving. Do you want to save it now? + Trenutni projekt je bil po zadnjem shranjevanju spremenjen. Ali ga želite sedaj shraniti? + + + + Open Project + Odpri projekt + + + + LMMS (*.mmp *.mmpz) + LMMS (*.mmp *.mmpz) + + + + Save Project + Shrani projekt + + + + LMMS Project + LMMS projekt + + + + LMMS Project Template + Predloga za LMMS projekt + + + + Save project template + Shrani predlogo projekta + + + + Overwrite default template? + Prepišem privzeto predlogo? + + + + This will overwrite your current default template. + To bo prepisalo vašo trenutno privzeto predlogo. + + + + Help not available + Pomoč ni na voljo + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + Trenutno LMMS ne ponuja pomoči. +Obiščite http://lmms.sf.net/wiki za ogled LMMS dokumentacije. + + + + Controller Rack + Regal krmilnikov + + + + Project Notes + Projektne beležke + + + + Fullscreen + Celozaslonsko + + + + Volume as dBFS + Glasnost kot dBFS + + + + Smooth scroll + Mehko drsenje + + + + Enable note labels in piano roll + Na klavirskem črtovju prikaži oznake not + + + + MIDI File (*.mid) + MIDI datoteka (*.mid) + + + + + untitled + neimenovano + + + + + Select file for project-export... + Izberi datoteko za izvoz projekta... + + + + Select directory for writing exported tracks... + Izberite mapo za zapisovanje izvoženih datotek... + + + + Save project + Shrani projekt + + + + Project saved + Projekt je shranjen + + + + The project %1 is now saved. + Projekt %1 je zdaj shranjen + + + + Project NOT saved. + Projekt NI shranjen + + + + The project %1 was not saved! + Projekt %1 ni bil shranjen + + + + Import file + Uvozi datoteko + + + + MIDI sequences + MIDI sekvence + + + + Hydrogen projects + Hydrogen projekti + + + + All file types + Vse vrste datotek + + + + lmms::gui::MalletsInstrumentView + + + Instrument + Instrument + + + + Spread + Razpršeno + + + + Spread: + Razpršeno: + + + + Random - - Voice %1 sustain + + Random: - - Voice %1 release + + Missing files + Manjkajoče datoteke + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + Stk namestitev je nepopolna. Prepričajte sem da je nameščen celotni Stk paket. + + + + Hardness + Trdota + + + + Hardness: + Trdota: + + + + Position + Položaj + + + + Position: + Položaj: + + + + Vibrato gain + Jakost vibrata + + + + Vibrato gain: + Jakost vibrata: + + + + Vibrato frequency + Frekvenca vibrata + + + + Vibrato frequency: + Frekvenca vibrata: + + + + Stick mix + Palični miks + + + + Stick mix: + Palični miks: + + + + Modulator + Modulator + + + + Modulator: + Modulator: + + + + Crossfade + Navzkrižno + + + + Crossfade: + Navzkrižno: + + + + LFO speed + NFO hitrost + + + + LFO speed: + NFO hitrost: + + + + LFO depth + NFO globina + + + + LFO depth: + NFO globina: + + + + ADSR + ADSR + + + + ADSR: + ADSR: + + + + Pressure + Pritisk + + + + Pressure: + Pritisk: + + + + Speed + Hitrost + + + + Speed: + Hitrost: + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + - VST nadzor parametrov + + + + VST sync + VST sinhr + + + + + Automated + Samodejno + + + + Close + Zapri + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + - nadzor VST vtičnika + + + + VST Sync + VST sinhronizacija + + + + + Automated + Samodejno + + + + Close + Zapri + + + + lmms::gui::MeterDialog + + + + Meter Numerator + Števec metruma + + + + Meter numerator + Števec metruma + + + + + Meter Denominator + Imenovalec metruma + + + + Meter denominator + Imenovalec metruma + + + + TIME SIG + ČAS OZNAKA + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot - - Voice %1 coarse detuning + + Selected keymap slot - - Voice %1 wave shape + + + First key + Prvi ključ + + + + + Last key + Zadnji ključ + + + + + Middle key + Srednji ključ + + + + + Base key + Osnovni ključ + + + + + + Base note frequency + Frekvenca osnovne note + + + + Microtuner Configuration - - Voice %1 sync + + Scale slot to edit: - - Voice %1 ring modulate + + Scale description. Cannot start with "!" and cannot contain a newline character. + Opis lestvice. Ne more se začeti s "!" in ne sme vsebovati znaka za novo vrstico. + + + + + Load + Naloži + + + + + Save + Shrani + + + + Load scale definition from a file. - - Voice %1 filtered + + Save scale definition to a file. - - Voice %1 test + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + Vnesite intervale v ločene vrstice. Številke, ki vsebujejo decimalke, se obravnavajo kot stotinje. +Ostali vnosi se obravnavajo kot celoštevilska razmerja in morajo biti zapisani v obliki 'a/b' ali 'a'. +Enotnost (0.0 stotinj ali razmerje 1/1) je vedno prikazana koz skrita prva vrednost; ne vnašajte je ročno. + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + Opis mape tipk. Ne more se začeti s "!" in ne sme vsebovati znaka za novo vrstico. + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + Vnesite mapiranja tipkovnice v ločene vrstice. Vsaka vrstica pripiše neki MIDI tipki stopnjo na lestvivi, +začenši s srednjo tipko in nadaljujoč po zaporedju. +Vzorec se ponavlja za tipke, ki so izven navedenega razpona v mapi tipk. +Več tipk je mogoče pripisati isti stopnji lestvice. +Vnesite 'x', če želite pustiti tipko nedodeljeno/ nemapirano. + + + + FIRST + PRVA + + + + First MIDI key that will be mapped + Prva MIDI tipka, ki bo mapirana + + + + LAST + ZADNJA + + + + Last MIDI key that will be mapped + Zadnja MIDI tipka, ki bo mapirana + + + + MIDDLE + SREDNJA + + + + First line in the keymap refers to this MIDI key + Prva vrstica mape tipk se nanaša na to MIDI tipko + + + + BASE N. + OSN.NOTA + + + + Base note frequency will be assigned to this MIDI key + Frekvenca osnovne note bo pripisana tej MIDI tipki + + + + BASE NOTE FREQ + FREKV OSN NOTE + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + Napaka pri razčlenjevanju lestvice + + + + Scale name cannot start with an exclamation mark + Ime lestvice se ne more začeti s klicajem + + + + Scale name cannot contain a new-line character + Ime lestvice ne more vsebovati znaka za novo vrstico + + + + Interval defined in cents cannot be converted to a number + Interval definiran v stotnjah ne more biti pretovrjen v številko + + + + Numerator of an interval defined as a ratio cannot be converted to a number + Števec intervala, ki je definiran kot razmerje, ne more biti pretvorjen v številko + + + + Denominator of an interval defined as a ratio cannot be converted to a number + Imenovalec intervala, ki je definiran kot razmerje, ne more biti pretvorjen v številko + + + + Interval defined as a ratio cannot be negative + Interval, ki je definiran kot razmerje, ne more biti negativno + + + + Keymap parsing error + Napaka pri razčlenjevanju mape tipk + + + + Keymap name cannot start with an exclamation mark + Ime mape tipk se ne more začeti s klicajem + + + + Keymap name cannot contain a new-line character + Ime mape tipk ne more vsebovati znaka za novo vrstico + + + + Scale degree cannot be converted to a whole number + Stopnja lestvice ne more biti pretovrjena v celo število + + + + Scale degree cannot be negative + Stopnja lestvice ne more biti negativna + + + + Invalid keymap + Napačna mapa tipk + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + Osnovna tipka ni pripisana stopnji lestvice. Zvok ne bo ustvarjen, ker notam ni možno pripisati referenčne frekvence. + + + + Open scale + Odpri lestvico + + + + + Scala scale definition (*.scl) + Scala definicija lestvice (*.scl) + + + + Scale load failure + Napak pri nalaganju lestvice + + + + + Unable to open selected file. + Izbrane datoteke ni mogoče odpreti. + + + + Open keymap + Odpri mapo tipk + + + + + Scala keymap definition (*.kbm) + Scala definicija mape tipk (*.kbm) + + + + Keymap load failure + Napak pri nalaganju mape tipk + + + + Save scale + Shrani lestvico + + + + Scale save failure + Napaka pri shranjevanju lestvice + + + + + Unable to open selected file for writing. + Izbrane datoteke ni mogoče odpreti za zapisovanje. + + + + Save keymap + Shrani mapo tipk + + + + Keymap save failure + Napaka pri shranjevanju mape tipk + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + MIDI CC regal -%1 + + + + MIDI CC Knobs: + MIDI CC regulatorji: + + + + CC %1 + CC %1 + + + + lmms::gui::MidiClipView + + + + Transpose + Transponiraj + + + + Semitones to transpose by: + Transponiraj za poltonov: + + + + Open in piano-roll + Odpri na klavirskem črtvoju + + + + Set as ghost in piano-roll + Nastavi kot zakrite v klavirskem črtovju + + + + Set as ghost in automation editor + + + + + Clear all notes + Počisti vse note + + + + Reset name + Ponastavi ime + + + + Change name + Spremeni ime + + + + Add steps + Dodaj korake + + + + Remove steps + Odstrani korake + + + + Clone Steps + Kloniraj korake + + + + lmms::gui::MidiSetupWidget + + + Device + Naprava + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value - WaveShaperControlDialog + lmms::gui::MixerChannelView - - INPUT + + Channel send amount - + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + Mešalka + + + + lmms::gui::MonstroView + + + Operators view + Prikaz operatorjev + + + + Matrix view + Matrični prikaz + + + + + + Volume + Glasnost + + + + + + Panning + Panorama + + + + + + Coarse detune + Groba razglasitev + + + + + + semitones + poltoni + + + + + Fine tune left + Fina uglasitev levo + + + + + + + cents + stotini + + + + + Fine tune right + Fina uglasitev desno + + + + + + Stereo phase offset + Odmik stereo faze + + + + + + + + deg + stopinj + + + + Pulse width + Širina pulza + + + + Send sync on pulse rise + Pošlji sinh ko pulz narašča + + + + Send sync on pulse fall + Pošlji sinh ko pulz upada + + + + Hard sync oscillator 2 + Trdi sinh oscilator 2 + + + + Reverse sync oscillator 2 + Obrni sinh oscilator 2 + + + + Sub-osc mix + Pod-osc miks + + + + Hard sync oscillator 3 + Trdi sinh oscilator 3 + + + + Reverse sync oscillator 3 + Obrni sinh oscilator 3 + + + + + + + Attack + Napad + + + + + Rate + Stopnja + + + + + Phase + Faza + + + + + Pre-delay + Pred-zamik + + + + + Hold + Zadrži + + + + + Decay + Upad + + + + + Sustain + Zadrži + + + + + Release + Spust + + + + + Slope + Klanec + + + + Mix osc 2 with osc 3 + Miksaj osc2 z osc 3 + + + + Modulate amplitude of osc 3 by osc 2 + Moduliraj amplitudo osc 3 za osc 2 + + + + Modulate frequency of osc 3 by osc 2 + Moduliraj frekvenco osc 3 za osc 2 + + + + Modulate phase of osc 3 by osc 2 + Moduliraj fazo osc 3 za osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + Količina modulacije + + + + lmms::gui::MultitapEchoControlDialog + + + Length + Dolžina + + + + Step length: + Dolžina koraka: + + + + Dry + Surov + + + + Dry gain: + Surovo jakost: + + + + Stages + Stopnje + + + + Low-pass stages: + Nizkoprepustne stopnje: + + + + Swap inputs + Zamenjaj vhode + + + + Swap left and right input channels for reflections + Zamenjaj levi ibn desni vhodni kanal za odboje + + + + lmms::gui::NesInstrumentView + + + + + + Volume + Glasnost + + + + + + Coarse detune + Groba razglasitev + + + + + + Envelope length + Dolžina ovoja + + + + Enable channel 1 + Vklopi kanal 1 + + + + Enable envelope 1 + Vklopi ovoj 1 + + + + Enable envelope 1 loop + Vklopi ovoj 1 zanko + + + + Enable sweep 1 + Vklopi prelet 1 + + + + + Sweep amount + Količina preleta + + + + + Sweep rate + Stopnja preleta + + + + + 12.5% Duty cycle + 12,5% cikelj izvajanja + + + + + 25% Duty cycle + 25% cikelj izvajanja + + + + + 50% Duty cycle + 50% cikelj izvajanja + + + + + 75% Duty cycle + 75% cikelj izvajanja + + + + Enable channel 2 + Vklopi kanal 2 + + + + Enable envelope 2 + Vklopi ovoj 2 + + + + Enable envelope 2 loop + Vklopi ovoj 2 zanko + + + + Enable sweep 2 + Vklopi prelet 2 + + + + Enable channel 3 + Vklopi kanal 3 + + + + Noise Frequency + Frekvenca šuma + + + + Frequency sweep + Prelet frekvence + + + + Enable channel 4 + Vklopi kanal 4 + + + + Enable envelope 4 + Vklopi ovoj 4 + + + + Enable envelope 4 loop + Vklopi ovoj 4 zanko + + + + Quantize noise frequency when using note frequency + Kvantizacija frekvence šuma, kadar je uporabljena frekvenca note + + + + Use note frequency for noise + Za šum uporabi frekvenco note + + + + Noise mode + Način šuma + + + + Master volume + Glavna glasnost + + + + Vibrato + Vibrato + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + Napad + + + + + Decay + Upad + + + + + Release + Spust + + + + + Frequency multiplier + Množilnik frekvence + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + Popačenje: + + + + Volume: + Glasnost: + + + + Randomise + Naključno + + + + + Osc %1 waveform: + Osc %1 valovna oblika: + + + + Osc %1 volume: + Osc %1 glasnost: + + + + Osc %1 panning: + Osc %1 panorama: + + + + Osc %1 stereo detuning + Osc %1 stereo razglasitev + + + + cents + stotinov + + + + Osc %1 harmonic: + Osc %1 harmonično + + + + lmms::gui::Oscilloscope + + + Oscilloscope + Osciloskop + + + + Click to enable + Klikni za vklop + + + + lmms::gui::PatmanView + + + Open patch + Odpri program + + + + Loop + Zanka + + + + Loop mode + Način zanke + + + + Tune + Uglasitev + + + + Tune mode + Način uglaševanja + + + + No file selected + Nobena datoteka ni izbrana + + + + Open patch file + Odpri programsko datoteko + + + + Patch-Files (*.pat) + Programske datoteke (*.pat) + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + Odpri v urejevalniku matrik + + + + Reset name + Ponastavi ime + + + + Change name + Spremeni ime + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + Urejevalnik matrik + + + + Play/pause current pattern (Space) + Predvajanje/Premor trenutne matrike (presledek) + + + + Stop playback of current pattern (Space) + Zaustavi predvajanje trenutne matrike (presledek) + + + + Pattern selector + Izbirnik matrike + + + + Track and step actions + Dejanja za stezo in korak + + + + New pattern + Nova matrika + + + + Clone pattern + Kloniraj matriko + + + + Add sample-track + Dodaj stezo za vzorce + + + + Add automation-track + Dodaj stezo z avtomatizacijo + + + + Remove steps + Odstrani korake + + + + Add steps + Dodaj korake + + + + Clone Steps + Kloniraj korake + + + + lmms::gui::PeakControllerDialog + + + PEAK + VRH + + + + LFO Controller + NFO krmilnik + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + OSNOVA + + + + Base: + Osnova: + + + + AMNT + KOLIČ + + + + Modulation amount: + Količina modulacije: + + + + MULT + MNOŽ + + + + Amount multiplicator: + Množilnik količine: + + + + ATCK + NPAD + + + + Attack: + Napad: + + + + DCAY + UPAD + + + + Release: + Spust: + + + + TRSH + PRAG + + + + Treshold: + Prag: + + + + Mute output + Uitšaj izhod + + + + Absolute value + Absolutna vrednost + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + Hitrost note + + + + Note Panning + Panorama note + + + + Mark/unmark current semitone + Označi/odznači trenutni polton + + + + Mark/unmark all corresponding octave semitones + Označi/odznači vse pripadajoče poltone oktave + + + + Mark current scale + Označi trenutno lestvico + + + + Mark current chord + Označi trenutni akord + + + + Unmark all + Odznači vse + + + + Select all notes on this key + Izberi vse note tega ključa + + + + Note lock + Zaklep note + + + + Last note + Zadnja nota + + + + No key + Ni ključa + + + + No scale + Ni lestivce + + + + No chord + Ni akorda + + + + Nudge + Potisni + + + + Snap + Preskok + + + + Velocity: %1% + Hitrost: %1% + + + + Panning: %1% left + Panorama: %1% levo + + + + Panning: %1% right + Panorama: %1% desno + + + + Panning: center + Panorama: sredina + + + + Glue notes failed + Lepljenje not ni uspelo + + + + Please select notes to glue first. + Najprej izberite note za lepljenje. + + + + Please open a clip by double-clicking on it! + Odprite izsek z dvojnim klikom! + + + + + Please enter a new value between %1 and %2: + Vnesite novo vrednost med %1 in %2: + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + Predvajanje/premor trenutnega izseka (preslednica) + + + + Record notes from MIDI-device/channel-piano + Snemaj note z MIDI naprave/kanala-pianina + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + Snema note z MIDI naprave/kanala-pianina medtem ko predvaja skladbo ali stezo z matriko + + + + Record notes from MIDI-device/channel-piano, one step at the time + Snema note z MIDI naprave/kanala-pianina, korak po koraku + + + + Stop playing of current clip (Space) + Zaustavi predvajanje trenutnega izseka (preslednica) + + + + Edit actions + Uredi dejanja + + + + Draw mode (Shift+D) + Način risanja (shift+D) + + + + Erase mode (Shift+E) + Način brisanja (Shift+E) + + + + Select mode (Shift+S) + Način izbire (Shift+S) + + + + Pitch Bend mode (Shift+T) + Način pregibanja višine (Shift+T) + + + + Quantize + Kvantizacija + + + + Quantize positions + Kvantizacija položajev + + + + Quantize lengths + Kvantizacija dolžin + + + + File actions + Dejanja datoteke + + + + Import clip + Uvozi izsek + + + + + Export clip + Izvozi izsek + + + + Copy paste controls + Nadzor kopiranja/lepljenja + + + + Cut (%1+X) + Izreži (%1+X) + + + + Copy (%1+C) + Kopiraj (%1+C) + + + + Paste (%1+V) + Prilepi (%1+V) + + + + Timeline controls + Nadzor časovnice + + + + Glue + Lepljenje + + + + Knife + Nož + + + + Fill + Zapolni + + + + Cut overlaps + Izreži prekrito + + + + Min length as last + Minimalna dolžina vsaj + + + + Max length as last + Maksimalna dolžina vsaj + + + + Zoom and note controls + Nadzor povečave in not + + + + Horizontal zooming + Vodoravna povečava + + + + Vertical zooming + Navpična povečava + + + + Quantization + Kvantizacija + + + + Note length + Dolžina note + + + + Key + Ključ + + + + Scale + Skala + + + + Chord + Akord + + + + Snap mode + Način preskoka + + + + Clear ghost notes + Počisti zakrite note + + + + + Piano-Roll - %1 + Pianino-rolca - %1 + + + + + Piano-Roll - no clip + Pianino-rolca - brez izseka + + + + + XML clip file (*.xpt *.xptz) + XML izsek (*.xpt *.xptz) + + + + Export clip success + Uspešno izvožen izsek + + + + Clip saved to %1 + Izsek shranjen v %1 + + + + Import clip. + Uvozi izsek. + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + Uvozili boste izsek, kar bo prepisalo trenuten izsek. Želite nadaljevati? + + + + Open clip + Odpri izsek + + + + Import clip success + Uspešno uvožen izsek + + + + Imported clip %1! + Uvožen izsek %1! + + + + lmms::gui::PianoView + + + Base note + Osnovna nota + + + + First note + Prva nota + + + + Last note + Zadnja nota + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + Vtičniki instrumentov + + + + Instrument browser + Brskalnik instrumentov + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + Pošlji na novo instrumentalno stezo + + + + lmms::gui::ProjectNotes + + + Project Notes + Projektne beležke + + + + Enter project notes here + Sem vnesite zaznamke o projektu + + + + Edit Actions + Uredi dejanja + + + + &Undo + Razveljavi + + + + %1+Z + %1+Z + + + + &Redo + Uveljavi + + + + %1+Y + %1+Y + + + + &Copy + $Kopiraj + + + + %1+C + %1+C + + + + Cu&t + Iz&reži + + + + %1+X + %1+X + + + + &Paste + $Prilepi + + + + %1+V + %1+V + + + + Format Actions + Oblikuj dejanja + + + + &Bold + &Poudarjeno + + + + %1+B + %1+B + + + + &Italic + Po&ševno + + + + %1+I + %1+I + + + + &Underline + Pod&črtano + + + + %1+U + %1+U + + + + &Left + &Levo + + + + %1+L + %1+L + + + + C&enter + C&enter + + + + %1+E + %1+E + + + + &Right + &Desno + + + + %1+R + %1+R + + + + &Justify + Poravna&j + + + + %1+J + %1+J + + + + &Color... + &Barva... + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + Nedavno odp&Rti projekti + + + + lmms::gui::RenameDialog + + + Rename... + Preimenuj... + + + + lmms::gui::ReverbSCControlDialog + + + Input + Vhod + + + Input gain: - + Vhodna jakost: - - OUTPUT - + + Size + Velikost - + + Size: + Velikost: + + + + Color + Barva + + + + Color: + Barva: + + + + Output + Izhod + + + Output gain: + Izhodna jakost: + + + + lmms::gui::SaControlsDialog + + + Pause + Premor + + + + Pause data acquisition + Premor pri pridobivanju podatkov + + + + Reference freeze + Zamrznitev reference + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + Zamrzni trenutni vhod kot referenco / onemogoči padec v načinu zadrži-vrh + + + + Waterfall + Vodni slap + + + + Display real-time spectrogram + Prikaži ralno-časni spektrogram + + + + Averaging + Določanje povprečja + + + + Enable exponential moving average + Vklopi exponetno povprečje gibanja + + + + Stereo + Stereo + + + + Display stereo channels separately + Ločeno prikaži stereo kanala + + + + Peak hold + Zadrži vrh + + + + Display envelope of peak values + Prikaži ovoj vrednosti vrhov + + + + Logarithmic frequency + Logaritmična frekvenca + + + + Switch between logarithmic and linear frequency scale + Preklopi med logaritmično in linearno skalo frekvence + + + + + Frequency range + Frekvenčni razpon + + + + Logarithmic amplitude + Logaritmična amplituda + + + + Switch between logarithmic and linear amplitude scale + Preklopi med logaritmično in linearno skalo ampllitude + + + + + Amplitude range + Razpon amplitude + + + + + FFT block size + FFT velikost bloka + + + + + FFT window type + FFT vrsta okna + + + + Envelope res. + Ločljivost ovoja + + + + Increase envelope resolution for better details, decrease for better GUI performance. + Povečajte ločljivost spektra za več podrobnosti, zmanjšajte za boljšo odzivnost grafičnega vmesnika. + + + + Maximum number of envelope points drawn per pixel: + Največje število izrisanih pik ovoja na piksel: + + + + Spectrum res. + Loč. spektra + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + Povečajte ločljivost spektra za več podrobnosti, zmanjšajte za boljšo odzivnost grafičnega vmesnika. + + + + Maximum number of spectrum points drawn per pixel: + Največje število izrisanih pik spšektra na piksel: + + + + Falloff factor + Faktor upada + + + + Decrease to make peaks fall faster. + Zmanjšajte za hitrejši upad vrhov. + + + + Multiply buffered value by + Zmnoži medpomnjeno vrednost z + + + + Averaging weight + Povprečje teže + + + + Decrease to make averaging slower and smoother. + Zmanjšajte da upočasnite in zmehčate določanje povprečja. + + + + New sample contributes + Novi prispveki vzorcev + + + + Waterfall height + Višina vodnega slapa + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + Povečajte za počasnejše drsenje, zmanjšajte za boljši ogled hitrih prehodov. Opozorilo: srednja obremenitev procesorja. + + + + Number of lines to keep: + Število ohranjenih vrstic: + + + + Waterfall gamma + Gamma vodnega slapa + + + + Decrease to see very weak signals, increase to get better contrast. + Zmanjšajte za ogled zelo šibkih signalov, povečajte za boljši kontrast. + + + + Gamma value: + Vrednost gamma: + + + + Window overlap + Prekrivanje oken + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + Povečajte, da ne prezrete hitrih prehodov blizu robov FFT oken. Opozorilo: velika obremenitev procesorja. + + + + Number of times each sample is processed: + Število obdelav za vsak vzorec: + + + + Zero padding + Nič odmika + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + Povečaj za bolj spekter bolj gladkega videza. Pozor: obremenjuje procesor. + + + + Processing buffer is + Medpomnilnik za procesiranje je + + + + steps larger than input block + korakov večji od vhodnega bloka + + + + Advanced settings + Napredne nastavitve + + + + Access advanced settings + Dostop do naprednih nastavitev + + + + lmms::gui::SampleClipView + + + Double-click to open sample + Dvojni klik za odpiranje vzorca + + + + Reverse sample + Obrni vzorec + + + + Set as ghost in automation editor + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + Glasnost steze + + + + Channel volume: + Glasnost kanala: + + + + VOL + GLASN + + + + Panning + Panorama + + + + Panning: + Panorama: + + + + PAN + PAN + + + + %1: %2 + %1: %2 + + + + lmms::gui::SampleTrackWindow + + + Sample volume + Glasnost vzorca + + + + Volume: + Glasnost: + + + + VOL + GLASN + + + + Panning + Panorama + + + + Panning: + Panorama: + + + + PAN + PAN + + + + Mixer channel + Mešalni kanal + + + + CHANNEL + KANAL + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + Opusti MIDI povezave + + + + Save As Project Bundle (with resources) + Shrani kot paketni projekt (z viri) + + + + lmms::gui::SetupDialog + + + Settings + Nastavitve + + + + + General + Splošno + + + + Graphical user interface (GUI) + Grafični vmesnik (GUI) + + + + Display volume as dBFS + Prikaz glasnosti kot dBFS + + + + Enable tooltips + Vklopi namige za orodja + + + + Enable master oscilloscope by default + Privzeto vklopi glavni osciloskop + + + + Enable all note labels in piano roll + Vklopi vse oznake not v klavirskem črtovju + + + + Enable compact track buttons + Vklopi kompaktne gumbe orodne vrstice + + + + Enable one instrument-track-window mode + Vklopi okenski način ena instrumentalna steza + + + + Show sidebar on the right-hand side + Prikaži stranski pano na desni strani + + + + Let sample previews continue when mouse is released + Predogledi vzorcev naj se nadaljujejo, ko je miška spuščena + + + + Mute automation tracks during solo + Utišaj avotmatizacijske steze, ko je izbran solo + + + + Show warning when deleting tracks + Ob brisanju stez prikaži opozorilo + + + + Show warning when deleting a mixer channel that is in use + Prikaži opozorilo ob brisanju mešalnega kanala, ki je v rabi + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + Projekti + + + + Compress project files by default + Privzeto stiskanje projektnih datotek + + + + Create a backup file when saving a project + Ustvari varnostno kopijo ob shranjevanju projekta + + + + Reopen last project on startup + Ob zagonu odpri zadnji projekt + + + + Language + Jezik + + + + + Performance + Zmogljivost + + + + Autosave + Samodejno shranjevanje + + + + Enable autosave + Vklopi samodejno shranjevanje + + + + Allow autosave while playing + Dovoli samodejno shranjevanje med predvajanjem + + + + User interface (UI) effects vs. performance + Učinki uporabniškega vmesnika (UI) vs. zmogljivost + + + + Smooth scroll in song editor + Mehko drsenje v urejevalniku skladbe + + + + Display playback cursor in AudioFileProcessor + Prikaži predvajalni kurzor v AudioFileProcessor + + + + Plugins + Vtičniki + + + + VST plugins embedding: + Vdelava VST vtičnikov + + + + No embedding + Brez vdelave + + + + Embed using Qt API + Vdelaj z uporabo Qt API + + + + Embed using native Win32 API + Vdelaj z uporabo Win32 API + + + + Embed using XEmbed protocol + Vdelaj z uporabo XEmbed protokola + + + + Keep plugin windows on top when not embedded + Obdrži okna vtičnika na vrhu, kadar niso vgrajena + + + + Keep effects running even without input + Učinki naj se izvajajo, četudi ni vhoda + + + + + Audio + Zvok + + + + Audio interface + Zvočni vmesnik + + + + Buffer size + Velikost medpomnilnika + + + + Reset to default value + Ponastavi na privzeto vrednost + + + + + MIDI + MIDI + + + + MIDI interface + MIDI vmesnik + + + + Automatically assign MIDI controller to selected track + Samodejno določi MIDi kontroler izbrani stezi + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + Poti + + + + LMMS working directory + LMMS delovna mapa + + + + VST plugins directory + Mapa z VST vtičniki + + + + LADSPA plugins directories + Mape LADSPA vtičnikov + + + + SF2 directory + SF2 mapa + + + + Default SF2 + Privzeti SF2 + + + + GIG directory + GIG mapa + + + + Theme directory + Mapa s temami + + + + Background artwork + Grafike za ozadje + + + + Some changes require restarting. + Določene spremembe zahtevajo ponoven zagon. + + + + OK + V redu + + + + Cancel + Prekini + + + + minutes + minut + + + + minute + minuta + + + + Disabled + Onemogočeno + + + + Autosave interval: %1 + Interval samodejnega shranjevanja: %1 + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + Okvirjev: %1 +Latenca: %2 ms + + + + Choose the LMMS working directory + Izberite LMMS delovno mapo + + + + Choose your VST plugins directory + Izberite mapo z VST vtičniki + + + + Choose your LADSPA plugins directory + Izberite mapo z LADSPA vtičniki + + + + Choose your SF2 directory + Izberite SF2 mapo + + + + Choose your default SF2 + Izberite privzeti SF2 + + + + Choose your GIG directory + Izberite GIG mapo + + + + Choose your theme directory + Izberite mapo s temami + + + + Choose your background picture + Izberite sliko za ozadje + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + Odpri SoundFont datoteko + + + + Choose patch + Izberi program + + + + Gain: + Jakost: + + + + Apply reverb (if supported) + Uporabi odjek (če je podprt) + + + + Room size: + Velikost prostora: + + + + Damping: + Dušenje: + + + + Width: + Širina: + + + + + Level: + Nivo: + + + + Apply chorus (if supported) + Uporabi zbor (če je podprt) + + + + Voices: + Glasovi: + + + + Speed: + Hitrost: + + + + Depth: + Globina + + + + SoundFont Files (*.sf2 *.sf3) + SoundFont datoteke (*.sf2 *.sf3) + + + + lmms::gui::SidInstrumentView + + + Volume: + Glasnost: + + + + Resonance: + Resnonanca: + + + + + Cutoff frequency: + Frekvenca rezanja: + + + + High-pass filter + Visokoprepustni filter + + + + Band-pass filter + Pasovno-prepustni filter + + + + Low-pass filter + Nizkoprepustni filter + + + + Voice 3 off + Glas 3 izklop + + + + MOS6581 SID + MOS6581 SID + + + + MOS8580 SID + MOS8580 SID + + + + + Attack: + Napad: + + + + + Decay: + Upad: + + + + Sustain: + Zadrži: + + + + + Release: + Spust: + + + + Pulse Width: + Širina pulza: + + + + Coarse: + Grobo: + + + + Pulse wave + Pulzni val + + + + Triangle wave + Trikotna oblika + + + + Saw wave + Žagasta oblika + + + + Noise + Šum + + + + Sync + Sinhroniziraj + + + + Ring modulation + Modulacija zvonjenja + + + + Filtered + Filtrirano + + + + Test + Test + + + + Pulse width: + Širina pulza: + + + + lmms::gui::SideBarWidget + + + Close + Zapri + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + Ne morem odpreti datoteke + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + Datoteke %1 ni mogoče odpreti. Verjetno nimate pravic za branje te datoteke. +Poskrbite, da boste imeli vsaj bralne pravice in poskusite znova. + + + + Operation denied + Operacija zavrnjena + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + Paketna mapa z imenom, ki že obstaja v izbrani poti. Paktenega projekta ni mogoče prepisati. Izberite drugo ime. + + + + + + Error + Napaka + + + + Couldn't create bundle folder. + Paketne mape ni bilo mogoče ustvariti. + + + + Couldn't create resources folder. + Mape z viri ni bilo mogoče ustvariti. + + + + Failed to copy resources. + Neuspešno kopiranje virov + + + + + Could not write file + Datoteke ni bilo mogoče zapisati + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + Napaka v datoteki + + + + The file %1 seems to contain errors and therefore can't be loaded. + Datoteka %1 vsebuje napake in je ni mogoče naložiti. + + + + template + predloga + + + + project + projekt + + + + Version difference + Razlika različic + + + + This %1 was created with LMMS %2 + %1 je ustvarjen z LMMS %2 + + + + Zoom + Povečava + + + + Tempo + Tempo + + + + TEMPO + TEMPO + + + + Tempo in BPM + Tempo v BPM + + + + + + Master volume + Glavna glasnost + + + + + + Global transposition + Globalno transponiranje + + + + 1/%1 Bar + 1/%1 takt + + + + %1 Bars + %1 taktov + + + + Value: %1% + Vrednost: %1% + + + + Value: %1 keys + Vrednost: %1% ključev + + + + lmms::gui::SongEditorWindow + + + Song-Editor + Urejevalnik skladbe + + + + Play song (Space) + Predvajaj skladbo (preslednica) + + + + Record samples from Audio-device + Snemaj vzorce iz zvočne naprave + + + + Record samples from Audio-device while playing song or pattern track + Snemanje vzorcev iz zvočne naprave med predvajanjem skladbe ali steze z matriko + + + + Stop song (Space) + Zaustavi skladbo (preslednica) + + + + Track actions + Dejanja steze + + + + Add pattern-track + Dodaj stezo z matriko + + + + Add sample-track + Dodaj stezo za vzorce + + + + Add automation-track + Dodaj stezo za avtomatizacijo + + + + Edit actions + Uredi dejanja + + + + Draw mode + Način risanja + + + + Knife mode (split sample clips) + Način noža (razdeli izseke vzorcev) + + + + Edit mode (select and move) + Način urejanja (izberi in premakni) + + + + Timeline controls + Nadzor časovnice + + + + Bar insert controls + Kontrole za vstavljanje takta + + + + Insert bar + Vstavi takt + + + + Remove bar + Odstrani takt + + + + Zoom controls + Nadzor povečave + + + + + Zoom + Povečava + + + + Snap controls + Nadzor preskoka + + + + + Clip snapping size + Velikost preskoka izseka + + + + Toggle proportional snap on/off + Preklopi proporcionalni preskok + + + + Base snapping size + Osnovna velikost preskoka + + + + lmms::gui::StepRecorderWidget + + + Hint + Namig + + + + Move recording curser using <Left/Right> arrows + Premikaj snemalni kurzor s pomočjo smernih tipk <levo/desno> + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + ŠIRINA + + + + Width: + Širina: + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + Levo na levo glas.: + + + + Left to Right Vol: + Levo na desno glas.: + + + + Right to Left Vol: + Desno na levo glas.: + + + + Right to Right Vol: + Desno na desno glas.: + + + + lmms::gui::SubWindow + + + Close + Zapri + + + + Maximize + Najv.povečava + + + + Restore + Obnovi + + + + lmms::gui::TapTempoView + + + 0 + 0 + + + + + Precision + Natančnost + + + + Display in high precision + Prikaži z veliko natančnostjo + + + + 0.0 ms + 0.0 ms + + + + Mute metronome + Utišaj metronom + + + + Mute + Utišaj + + + + BPM in milliseconds + BPM v milisekundah + + + + 0 ms + 0 ms + + + + Frequency of BPM + Frekvenca BPM + + + + 0.0000 hz + 0.0000 hz + + + + Reset + Ponastavi + + + + Reset counter and sidebar information + Ponastavi števec in podatke v stranskem panoju + + + + Sync + Sinhroniziraj + + + + Sync with project tempo + Sinhroniziraj z hitrostjo projekta + + + + %1 ms + %1 ms + + + + %1 hz + %1 hz + + + + lmms::gui::TemplatesMenu + + + New from template + Novo iz predloge + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + Sinhronizacija tempa + + + + No Sync + Brez sinhronizacije + + + + Eight beats + Osem dob + + + + Whole note + Celinka + + + + Half note + Polovinka + + + + Quarter note + Četrtinka + + + + 8th note + Osminka + + + + 16th note + Šestnajstinka + + + + 32nd note + 32-inka + + + + Custom... + Po meri... + + + + Custom + Po meri + + + + Synced to Eight Beats + Sinhronizirano na osem dob + + + + Synced to Whole Note + Sinhronizirano na celinko + + + + Synced to Half Note + Sinhronizirano na polovinko + + + + Synced to Quarter Note + Sinhronizirano na četrtinko + + + + Synced to 8th Note + Sinhronizirano na osminko + + + + Synced to 16th Note + Sinhronizirano na šestnajstinko + + + + Synced to 32nd Note + Sinhronizirano na 32-inko + + + + lmms::gui::TimeDisplayWidget + + + Time units + Enote za čas + + + + MIN + MIN + + + + SEC + SEK + + + + MSEC + MSEK + + + + BAR + TAKT + + + + BEAT + DOB + + + + TICK + UTRIP + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + Samodejno drsenje + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + Točke povratka zanke: + + + + After stopping go back to beginning + Po zaustavitvi se vrni na začetek + + + + After stopping go back to position at which playing was started + Po zaustavitvi se vrni na začetno mesto predvajanja + + + + After stopping keep position + Po zaustavitvi ostani na položaju + + + + Hint + Namig + + + + Press <%1> to disable magnetic loop points. + Pritisni <%1> za izklop magnetnih točk zanke. + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + + Paste + Prilepi + + + + lmms::gui::TrackOperationsWidget + + + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. + Pritisnite <%1>, ko kliknete na oprijem za premikanje, da začnete postopek vleči in spusti. + + + + Actions + Dejanja + + + + + Mute + Utišaj + + + + + Solo + Solo + + + + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? + Če stezo odstranite, je ni mogoče povrniti. Ali res želite odstraniti stezo "%1"? + + + + Confirm removal + Potrdi odstranitev + + + + Don't ask again + Tega več ne sprašuj + + + + Clone this track + Kloniraj to stezo + + + + Remove this track + Odstrani to stezo + + + + Clear this track + Počisti to stezo + + + + Channel %1: %2 + Kanal %1: %2 + + + + Assign to new Mixer Channel + Dodeli novemu mešalnemu kanalu + + + + Turn all recording on + Vklopi snemanje vseh + + + + Turn all recording off + Izklopi snemanje vseh + + + + Track color + Barva steze + + + + Change + Spremeni + + + + Reset + Ponastavi + + + + Pick random + Izberi naključno + + + + Reset clip colors + Ponastavi barve izsekov + + + + lmms::gui::TripleOscillatorView + + + Modulate phase of oscillator 1 by oscillator 2 + Moduliraj fazo oscilatorja 1 za oscilator 2 + + + + Modulate amplitude of oscillator 1 by oscillator 2 + Moduliraj amplitudo oscilatorja 1 za oscilator 2 + + + + Mix output of oscillators 1 & 2 + Miksaj izhoda oscilatorjev 1 & 2 + + + + Synchronize oscillator 1 with oscillator 2 + Sinhroniziraj oscilator 1 z oscilatorjem 2 + + + + Modulate frequency of oscillator 1 by oscillator 2 + Moduliraj frekvenco oscilatorja 1 za oscilator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 + Moduliraj fazo oscilatorja 2 za oscilator 3 + + + + Modulate amplitude of oscillator 2 by oscillator 3 + Moduliraj amplitudo oscilatorja 2 za oscilator 3 + + + + Mix output of oscillators 2 & 3 + Miksaj izhoda oscilatorjev 2 & 3 + + + + Synchronize oscillator 2 with oscillator 3 + Sinhroniziraj oscilator 2 z oscilatorjem 3 + + + + Modulate frequency of oscillator 2 by oscillator 3 + Moduliraj frekvenco oscilatorja 2 za oscilator 3 + + + + Osc %1 volume: + Osc %1 glasnost: + + + + Osc %1 panning: + Osc %1 panorama: + + + + Osc %1 coarse detuning: + Osc %1 groba razglasitev: + + + + semitones + poltonov + + + + Osc %1 fine detuning left: + Osc %1 fina razglasitev levo: + + + + + cents + stotinov + + + + Osc %1 fine detuning right: + Osc %1 fina razglasitev desno: + + + + Osc %1 phase-offset: + Osc %1 fazni zamik: + + + + + degrees + stopinj + + + + Osc %1 stereo phase-detuning: + Osc %1 stereo fazna razglasitev: + + + + Sine wave + Sinusna oblika + + + + Triangle wave + Trikotna oblika + + + + Saw wave + Žagasta oblika + + + + Square wave + Pravokotna oblika + + + + Moog-like saw wave + Moogu podoben žagasti val + + + + Exponential wave + Eksponentni val + + + + White noise + Beli šum + + + + User-defined wave + Uporabniško določena oblika + + + + Use alias-free wavetable oscillators. + Uporabi oscilatorje tabel valovnih oblik brez nadimkov + + + + lmms::gui::VecControlsDialog + + + HQ + HQ + + + + Double the resolution and simulate continuous analog-like trace. + Podvoji ločljivosti in simulira kontinuirano sledenje podobno analogemu. + + + + Log. scale + Log. skala + + + + Display amplitude on logarithmic scale to better see small values. + Prikaži amplitudio na logaritmični skali, da se bolje vidijo majhne vrednosti. + + + + Persist. + Obstojn. + + + + Trace persistence: higher amount means the trace will stay bright for longer time. + Obstojnost sledi: večja količina pomeni, da bo sled ostala dalj časa vidna + + + + Trace persistence + Obstojnost sledi + + + + lmms::gui::VersionedSaveDialog + + + Increment version number + Povečanje številke različice + + + + Decrement version number + Zmanjšanje številke različice + + + + Save Options + Možnosti shranjevanja + + + + already exists. Do you want to replace it? + že obstaja. Želite nadomestiti? + + + + lmms::gui::VestigeInstrumentView + + + + Open VST plugin + Odpri VST vtičnik + + + + Control VST plugin from LMMS host + Nadzor VST vtičnika z LMMS gostitelja + + + + Open VST plugin preset + Oppri predlogo VST vtičnika + + + + Previous (-) + Nazaj (-) + + + + Save preset + Shrani predlogo + + + + Next (+) + Naprej (+) + + + + Show/hide GUI + Prikaži/skrij grafični vmesnik + + + + Turn off all notes + Izklopi vse note + + + + DLL-files (*.dll) + DLL-datoteke (*.dll) + + + + EXE-files (*.exe) + EXE-datoteke (*.exe) + + + + SO-files (*.so) + SO-datoteke (*.so) + + + + No VST plugin loaded + VS vtičnik ni naložen + + + + Preset + Predloga + + + + by + od + + + + - VST plugin control + - nadzor VST vtičnika + + + + lmms::gui::VibedView + + + Enable waveform + Vklopi valovno obliko + + + + + Smooth waveform + Glajenje valovne oblike + + + + + Normalize waveform + Normalizacija valovne oblike + + + + + Sine wave + Sinusna oblika + + + + + Triangle wave + Trikotna oblika + + + + + Saw wave + Žagasta oblika + + + + + Square wave + Pravokotna oblika + + + + + White noise + Beli šum + + + + + User-defined wave + Uporabniško določena oblika + + + + String volume: + Glasnost strune: + + + + String stiffness: + Togost strune: + + + + Pick position: + Položaj odjema: + + + + Pickup position: + Položaj odjemalca: + + + + String panning: + Panorama strune: + + + + String detune: + Razglašenost strune: + + + + String fuzziness: + Popačenost strune: + + + + String length: + Dolžina strune: + + + + Impulse Editor + Urejevalnik impulzov + + + + Impulse + Impulz + + + + Enable/disable string + Omogoči/onemogoči struno + + + + Octave + Oktava + + + + String + Struna + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + Prikaži/Skrij + + + + Control VST plugin from LMMS host + Nadzor VST vtičnika z LMMS gostitelja + + + + Open VST plugin preset + Oppri predlogo VST vtičnika + + + + Previous (-) + Nazaj (-) + + + + Next (+) + Naprej (+) + + + + Save preset + Shrani predlogo + + + + + Effect by: + Učinek od: + + + + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + + + + lmms::gui::WatsynView + + + + + + Volume + Glasnost + + + + + + + Panning + Panorama + + + + + + + Freq. multiplier + Množilnik frekv. + + + + + + + Left detune + Razglasi levo + + + + + + + + + + + cents + stotini + + + + + + + Right detune + Razglasi desno + + + + A-B Mix + A-B Miks + + + + Mix envelope amount + Miks ovoj količina + + + + Mix envelope attack + Miks ovoj napad + + + + Mix envelope hold + Miks ovoj zadrži + + + + Mix envelope decay + Miks ovoj upad + + + + Crosstalk + Navzkrižno + + + + Select oscillator A1 + Izberi oscilator A1 + + + + Select oscillator A2 + Izberi oscilator A2 + + + + Select oscillator B1 + Izberi oscilator B1 + + + + Select oscillator B2 + Izberi oscilator B2 + + + + Mix output of A2 to A1 + Miksaj izhod od A2 k A1 + + + + Modulate amplitude of A1 by output of A2 + Moduliraj amplitudo za A1 iz izhoda A2 + + + + Ring modulate A1 and A2 + Zvonjenje modulacija A1 in A2 + + + + Modulate phase of A1 by output of A2 + Moduliraj fazo za A1 iz izhoda A2 + + + + Mix output of B2 to B1 + Miksaj izhod od B2 k B1 + + + + Modulate amplitude of B1 by output of B2 + Moduliraj amplitudo za B1 iz izhoda B2 + + + + Ring modulate B1 and B2 + Zvonjenje modulacija B1 in B2 + + + + Modulate phase of B1 by output of B2 + Moduliraj fazo za B1 iz izhoda B2 + + + + + + + Draw your own waveform here by dragging your mouse on this graph. + Tu narišite svojo valovno obliko s vlečenjem miške po tem grafu. + + + + Load waveform + Naloži valovno obliko + + + + Load a waveform from a sample file + Naloži valovno obliko iz vzorčne datoteke + + + + Phase left + Faza levo + + + + Shift phase by -15 degrees + Premakni fazo za -15 stopinj + + + + Phase right + Faza desno + + + + Shift phase by +15 degrees + Premakni fazo za +15 stopinj + + + + + Normalize + Normalizacija + + + + + Invert + Inverzno + + + + + Smooth + Glajenje + + + + + Sine wave + Sinusna oblika + + + + + + Triangle wave + Trikotna oblika + + + + Saw wave + Žagasta oblika + + + + + Square wave + Pravokotna oblika + + + + lmms::gui::WaveShaperControlDialog + + + INPUT + VHOD + + + + Input gain: + Vhodna jakost: + + + + OUTPUT + IZHOD + - - Reset wavegraph - + Output gain: + Izhodna jakost: + - - Smooth wavegraph - + Reset wavegraph + Ponastavi valovni graf + - - Increase wavegraph amplitude by 1 dB - + Smooth wavegraph + Glajenje valovnega grafa + - + Increase wavegraph amplitude by 1 dB + Povečaj amplitudo valovnega grafa za 1 dB + + + + Decrease wavegraph amplitude by 1 dB - + Zmanjšaj amplitudo valovnega grafa za 1 dB - + Clip input - + Rezanje vhoda - + Clip input signal to 0 dB - + Rezanje vhodnega signala na 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - + + Draw your own waveform here by dragging your mouse on this graph. + Tu narišite svojo valovno obliko s vlečenjem miške po tem grafu. - - Output gain - + + Select oscillator W1 + Izberi oscilator W1 + + + + Select oscillator W2 + Izberi oscilator W2 + + + + Select oscillator W3 + Izberi oscilator W3 + + + + Select output O1 + Izberi izhod O1 + + + + Select output O2 + Izberi izhod O2 + + + + Open help window + Odpri okno s pomočjo + + + + + Sine wave + Sinusna oblika + + + + + Moog-saw wave + Moog-žagasti val + + + + + Exponential wave + Eksponentni val + + + + + Saw wave + Žagasta oblika + + + + + User-defined wave + Uporabniško oblikovan vala + + + + + Triangle wave + Trikotna oblika + + + + + Square wave + Pravokotna oblika + + + + + White noise + Beli šum + + + + WaveInterpolate + InterpolacijaVala + + + + ExpressionValid + IzrazVeljaven + + + + General purpose 1: + Splošni namen 1: + + + + General purpose 2: + Splošni namen 2: + + + + General purpose 3: + Splošni namen 3: + + + + O1 panning: + O1 panorama: + + + + O2 panning: + O2 panorama: + + + + Release transition: + Tranzicija spusta: + + + + Smoothness + Zglajenost - + + lmms::gui::ZynAddSubFxView + + + Portamento: + Portamento: + + + + PORT + PORT + + + + Filter frequency: + Frekvenca filtra: + + + + FREQ + FREKV + + + + Filter resonance: + Resonanca filtra: + + + + RES + LOČ + + + + Bandwidth: + Pasovna širina: + + + + BW + + + + + FM gain: + FM jakost: + + + + FM GAIN + FM JAKOST + + + + Resonance center frequency: + Središčna frekvenca resonance + + + + RES CF + LOČ SF + + + + Resonance bandwidth: + Pasovna širina resonance: + + + + RES BW + LOČ PŠ + + + + Forward MIDI control changes + Posreduj MIDI spremembe kontrole + + + + Show GUI + Prikaži grafični vmesnik + + + \ No newline at end of file diff --git a/data/locale/sv.ts b/data/locale/sv.ts index b40306cac..ec65769c5 100644 --- a/data/locale/sv.ts +++ b/data/locale/sv.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -29,7 +29,7 @@ Copyright © %1. - Copyright © %1. + Upphovsrätt © %1. @@ -70,811 +70,44 @@ Om du är intresserad av att översätta LMMS till ett annat språk eller vill f - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL - - - - Volume: - Volym: - - - - PAN - PAN - - - - Panning: - Panorering: - - - - LEFT - VÄNSTER - - - - Left gain: - Vänsterförstärkning: - - - - RIGHT - HÖGER - - - - Right gain: - Högerförstärkning: - - - - AmplifierControls - - - Volume - Volym - - - - Panning - Panorering - - - - Left gain - Vänsterförstärkning - - - - Right gain - Högerförstärkning - - - - AudioAlsaSetupWidget - - - DEVICE - ENHET - - - - CHANNELS - KANALER - - - - AudioFileProcessorView - - - Open sample - Öppna ljudfil - - - - Reverse sample - Spela baklänges - - - - Disable loop - Inaktivera slinga - - - - Enable loop - Aktivera slinga - - - - Enable ping-pong loop - Aktivera ping-pong loop - - - - Continue sample playback across notes - Fortsätt spela ljudfil över noter - - - - Amplify: - Förstärkning: - - - - Start point: - Startpunkt: - - - - End point: - Slutpunkt: - - - - Loopback point: - Slinga-tillbaka punkt: - - - - AudioFileProcessorWaveView - - - Sample length: - Ljudfilens längd: - - - - AudioJack - - - JACK client restarted - JACK-klienten omstartad - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS blev bortkopplat från JACK. LMMS JACK backend omstartades därfor. Du behöver koppla om manuellt. - - - - JACK server down - JACK-server nerstängd - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - JACK-servern stängdes ned och det gick inte starta en ny. LMMS kan inte fortsätta. Du bör spara ditt projekt och starta om både JACK och LMMS. - - - - Client name - Klientnamn - - - - Channels - Kanaler - - - - AudioOss - - - Device - Enhet - - - - Channels - Kanaler - - - - AudioPortAudio::setupWidget - - - Backend - Bakände - - - - Device - Enhet - - - - AudioPulseAudio - - - Device - Enhet - - - - Channels - Kanaler - - - - AudioSdl::setupWidget - - - Device - Enhet - - - - AudioSndio - - - Device - Enhet - - - - Channels - Kanaler - - - - AudioSoundIo::setupWidget - - - Backend - Bakände - - - - Device - Enhet - - - - AutomatableModel - - - &Reset (%1%2) - &Nollställ (%1%2) - - - - &Copy value (%1%2) - &Kopiera värde (%1%2) - - - - &Paste value (%1%2) - &Klistra in värde (%1%2) - - - - &Paste value - &Klistra in värde - - - - Edit song-global automation - Redigera låt-global automation - - - - Remove song-global automation - Ta bort global automation - - - - Remove all linked controls - Ta bort alla kopplade kontroller - - - - Connected to %1 - Kopplad till %1 - - - - Connected to controller - Kopplad till controller - - - - Edit connection... - Redigera koppling... - - - - Remove connection - Ta bort koppling - - - - Connect to controller... - Koppla till kontroller... - - - - AutomationEditor - - - Edit Value - Redigera värde - - - - New outValue - Ny outValue - - - - New inValue - Ny inValue - - - - Please open an automation clip with the context menu of a control! - Öppna ett automationsmönster från en kontrollers kontextmeny! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Spela/pausa aktuellt mönster (Mellanslag) - - - - Stop playing of current clip (Space) - Sluta spela aktuellt mönster (Mellanslag) - - - - Edit actions - Redigera åtgärder - - - - Draw mode (Shift+D) - Ritläge (Skift+D) - - - - Erase mode (Shift+E) - Suddläge (Skift+E) - - - - Draw outValues mode (Shift+C) + + About JUCE - - Flip vertically - Spegla vertikalt + + <b>About JUCE</b> + - - Flip horizontally - Spegla horizontellt + + This program uses JUCE version 3.x.x. + - - Interpolation controls - Interpoleringskontroller + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + - - Discrete progression - Diskret talföljd - - - - Linear progression - Linjär talföljd - - - - Cubic Hermite progression - Cubic Hermite talföljd - - - - Tension value for spline - Spänning i mönstrets spline - - - - Tension: - Spänning: - - - - Zoom controls - Zoomningskontroller - - - - Horizontal zooming - Horisontell zoomning - - - - Vertical zooming - Vertikal zoomning - - - - Quantization controls - Kvantiseringskontroller - - - - Quantization - Kvantisering - - - - - Automation Editor - no clip - Redigera Automation - inget automationsmönster - - - - - Automation Editor - %1 - Redigera Automation - %1 - - - - Model is already connected to this clip. - Modellen är redan ansluten till det här mönstret. + + This program uses JUCE version + - AutomationClip + AudioDeviceSetupWidget - - Drag a control while pressing <%1> - Dra en kontroll samtidigt som du håller <%1> - - - - AutomationClipView - - - Open in Automation editor - Redigera automationsmönster - - - - Clear - Rensa - - - - Reset name - Nollställ namn - - - - Change name - Byt namn - - - - Set/clear record - Ställ in/rensa inspelning - - - - Flip Vertically (Visible) - Spegla Vertikalt (Synligt) - - - - Flip Horizontally (Visible) - Spegla Horizontellt (Synligt) - - - - %1 Connections - %1 Kopplingar - - - - Disconnect "%1" - Koppla bort "%1" - - - - Model is already connected to this clip. - Modellen är redan ansluten till det här mönstret. - - - - AutomationTrack - - - Automation track - Automationsspår - - - - PatternEditor - - - Beat+Bassline Editor - Takt+Basgång-redigerare - - - - Play/pause current beat/bassline (Space) - Spela/pausa nuvarande takt/basgång (Mellanslag) - - - - Stop playback of current beat/bassline (Space) - Stoppa uppspelning av nuvarande takt/basgång (Mellanslag) - - - - Beat selector - Taktväljare - - - - Track and step actions - Spår och stegåtgärder - - - - Add beat/bassline - Lägg till takt/basgång - - - - Clone beat/bassline clip - Klona rytm-/basgångsmönster - - - - Add sample-track - Lägg till ljudspår - - - - Add automation-track - Lägg till automationsspår - - - - Remove steps - Ta bort steg - - - - Add steps - Lägg till steg - - - - Clone Steps - Klona steg - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Öppna i Takt+Basgång-redigeraren - - - - Reset name - Nollställ namn - - - - Change name - Byt namn - - - - PatternTrack - - - Beat/Bassline %1 - Takt/Basgång %1 - - - - Clone of %1 - Kopia av %1 - - - - BassBoosterControlDialog - - - FREQ - FREQ - - - - Frequency: - Frekvens: - - - - GAIN - FÖRSTÄRKNING - - - - Gain: - Förstärkning: - - - - RATIO - FÖRHÅLLANDE - - - - Ratio: - Förhållande: - - - - BassBoosterControls - - - Frequency - Frekvens - - - - Gain - Förstärkning - - - - Ratio - Förhållande - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - UT - - - - - GAIN - FÖRSTÄRKNING - - - - Input gain: - Ingångsförstärkning: - - - - NOISE - BRUS - - - - Input noise: - Ingångsbrus: - - - - Output gain: - Utgångsförstärkning: - - - - CLIP - KLIPP - - - - Output clip: - Utmatningsklipp: - - - - Rate enabled - Hastighet aktiverad - - - - Enable sample-rate crushing - Aktivera sampelhastighetskrossare - - - - Depth enabled - Djup aktiverat - - - - Enable bit-depth crushing - Aktivera bitdjupskrossare - - - - FREQ - FREKV. - - - - Sample rate: - Samplingsfrekvens: - - - - STEREO - STEREO - - - - Stereo difference: - Stereo skillnad: - - - - QUANT - KVANT - - - - Levels: - Nivåer: - - - - BitcrushControls - - - Input gain - Ingångsförstärkning - - - - Input noise - Ingångsbrus - - - - Output gain - Utgångsförstärkning - - - - Output clip - Utmatningsklipp - - - - Sample rate - Samplingsfrekvens - - - - Stereo difference - Stereo skillnad - - - - Levels - Nivåer - - - - Rate enabled - Hastighet aktiverad - - - - Depth enabled - Djup aktiverat + + [System Default] + @@ -900,124 +133,124 @@ Om du är intresserad av att översätta LMMS till ett annat språk eller vill f Utökad licensiering här - + Artwork Bilder - + Using KDE Oxygen icon set, designed by Oxygen Team. Använder KDE:s Oxygen ikonuppsättning, designad av Oxygen-gruppen. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. Innehåller vissa rattar, bakgrunder och andra små bilder från Calf Studio Gear-, OpenAV- och OpenOctave-projekten. - + VST is a trademark of Steinberg Media Technologies GmbH. VST är ett registrerat varumärke av Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! Speciellt tack till António Saraiva för ett antal extra ikoner och bilder! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. LV2-logotypen har designats av Thorsten Wilms, baserat på ett koncept från Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. MIDI-keyboard designad av Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. Ikoner för Carla, Carla-styrning och kopplingsplint designade av DoosC. - + Features Funktioner - + AU/AudioUnit: AU/AudioUnit: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel TextLabel - + VST2: VST2: - + DSSI: DSSI: - + LV2: LV2: - + VST3: VST3: - + OSC OSC - + Host URLs: Värd-URL:er: - + Valid commands: Giltiga kommandon: - + valid osc commands here giltiga osc-kommandon här - + Example: Exempel: - + License Licens - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1580,50 +813,50 @@ SLUT PÅ LICENSVILLKOR - + OSC Bridge Version OSC-bryggversion - + Plugin Version Tilläggsversion - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - <br>Version %1<br>Carla är en fullt utrustad ljudtilläggsvärd%2.<br><br>Copyright (C) 2011-2019 falkTX<br> + <br>Version %1<br>Carla är en fullt utrustad ljudtilläggsvärd%2.<br><br>Upphovsrätt (C) 2011-2019 falkTX<br> - - + + (Engine not running) - (Motor kör inte) + (Motorn inte igång) - + Everything! (Including LRDF) Allt! (Inklusive LRDF) - + Everything! (Including CustomData/Chunks) Allting! (Inklusive CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> Om 110&#37; komplett (med anpassade tillägg)<br/>Implementerad funktion/tillägg:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host Använder Juce-värd - + About 85% complete (missing vst bank/presets and some minor stuff) Omkring 85% färdigställt (saknar vst-bank/förinställningar och vissa mindre grejor) @@ -1656,563 +889,600 @@ SLUT PÅ LICENSVILLKOR Läser in... - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: Buffertstorlek: - + Sample Rate: Samplingsfrekvens: - + ? Xruns ? Överskridanden - + DSP Load: %p% DSP-belastning: %p% - + &File &Arkiv - + &Engine &Motor - + &Plugin &Tillägg - + Macros (all plugins) Makron (alla tillägg) - + &Canvas &Duk - + Zoom Zooma - + &Settings &Inställningar - + &Help &Hjälp - - toolBar - verktygsFält + + Tool Bar + - + Disk Disk - - + + Home Hem - + Transport Transport - + Playback Controls Uppspelningskontroller - + Time Information Tidinformation - + Frame: Bild: - + 000'000'000 000'000'000 - + Time: Tid: - + 00:00:00 00:00:00 - + BBT: BBT: - + 000|00|0000 000|00|0000 - + Settings Inställningar - + BPM BPM - + Use JACK Transport Använd JACK-transport - + Use Ableton Link Använd Ableton Link - + &New &Ny - + Ctrl+N Ctrl+N - + &Open... &Öppna... - - + + Open... Öppna... - + Ctrl+O Ctrl+O - + &Save &Spara - + Ctrl+S Ctrl+S - + Save &As... Spara &som... - - + + Save As... Spara som... - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit &Avsluta - + Ctrl+Q Ctrl+Q - + &Start &Starta - + F5 F5 - + St&op St&opp - + F6 F6 - + &Add Plugin... &Lägg till tillägg... - + Ctrl+A Ctrl+A - + &Remove All &Ta bort alla - + Enable Aktivera - + Disable Inaktivera - + 0% Wet (Bypass) 0% effekt (förbikoppla) - + 100% Wet 100% effekt - + 0% Volume (Mute) 0% volym (tyst) - + 100% Volume 100% volym - + Center Balance Centrumbalans - + &Play &Spela - + Ctrl+Shift+P Ctrl+Shift+P - + &Stop &Stopp - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards &Bakåt - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards &Framåt - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange &Arrangera - + Ctrl+G Ctrl+G - - + + &Refresh &Uppdatera - + Ctrl+R Ctrl+R - + Save &Image... Spara &bild... - + Auto-Fit Autoanpassa - + Zoom In Zooma in - + Ctrl++ Ctrl++ - + Zoom Out Zooma ut - + Ctrl+- Ctrl+- - + Zoom 100% Zooma 100% - + Ctrl+1 Ctrl+1 - + Show &Toolbar Visa &verktygsfält - + &Configure Carla &Konfigurera Carla - + &About &Om - + About &JUCE Om &JUCE - + About &Qt Om &Qt - + Show Canvas &Meters Visa Duk&mätare - + Show Canvas &Keyboard Visa Duk&tangentbord - + Show Internal Visa intern - + Show External Visa extern - + Show Time Panel Visa tidspanel - + Show &Side Panel Visa &sidopanel - + + Ctrl+P + + + + &Connect... &Anslut... - + Compact Slots Komprimera fack - + Expand Slots Expandera fack - + Perform secret 1 Utför hemlighet 1 - + Perform secret 2 Utför hemlighet 2 - + Perform secret 3 Utför hemlighet 3 - + Perform secret 4 Utför hemlighet 4 - + Perform secret 5 Utför hemlighet 5 - + Add &JACK Application... Lägg till &JACK-program… - + &Configure driver... &Konfigurera drivrutin... - + Panic Panik - + Open custom driver panel... Öppna anpassad drivrutinspanel… + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... Exportera som... - - - - + + + + Error Fel - + Failed to load project Det gick inte att läsa in projektet - + Failed to save project Det gick inte att spara projektet - + Quit Avsluta - + Are you sure you want to quit Carla? Är du säker på att du vill stänga Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 Kunde inte ansluta till Ljudbakände ”%1”, möjliga skäl: %2 - + Could not connect to Audio backend '%1' Kunde inte ansluta till Ljudbakände ”%1” - + Warning Varning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? Det finns fortfarande några tillägg inlästa, du måste ta bort dem för att stoppa motorn. Vill du göra det nu? - - CarlaInstrumentView - - - Show GUI - Visa användargränssnitt - - CarlaSettingsW @@ -2267,19 +1537,19 @@ Vill du göra det nu? - + Main Huvud - + Canvas Duk - + Engine Motor @@ -2300,1488 +1570,590 @@ Vill du göra det nu? - + Experimental Experimentell - + <b>Main</b> <b>Huvud</b> - + Paths Sökvägar - + Default project folder: Standardprojektmapp: - + Interface Gränssnitt - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Gränssnittets uppdateringsintervall: - - + + ms ms - + Show console output in Logs tab (needs engine restart) Visa konsolutmatning i Loggflik (kräver motoromstart) - + Show a confirmation dialog before quitting Visa en bekräftelsedialog innan avslut - - + + Theme Tema - + Use Carla "PRO" theme (needs restart) Använd Carla ”PRO”-tema (kräver omstart) - + Color scheme: Färgschema: - + Black Svart - + System System - + Enable experimental features Aktivera experimentella funktioner - + <b>Canvas</b> <b>Duk</b> - + Bezier Lines Bézierlinjer - + Theme: Tema: - + Size: Storlek: - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + + + + Options Alternativ - + Auto-hide groups with no ports Dölj grupper utan portar automatiskt - + Auto-select items on hover Automarkera objekt vid hovring - + Basic eye-candy (group shadows) Grundläggande ögongodis (gruppskuggor) - + Render Hints Renderingstips - + Anti-Aliasing Kantutjämning - + Full canvas repaints (slower, but prevents drawing issues) Fullständiga dukomritningar (långsammare, men förhindrar uppritningsproblem) - + <b>Engine</b> <b>Motor</b> - - + + Core Kärna - + Single Client Enkel klient - + Multiple Clients Flera klienter - - + + Continuous Rack Kontinuerligt rack - - + + Patchbay Kopplingsplint - + Audio driver: Ljuddrivrutin: - + Process mode: Hanteringsläge: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog Maximalt antal parametrar att tillåta i den inbyggda ”Redigera”-dialogen - + Max Parameters: Max parametrar: - + ... ... - + Reset Xrun counter after project load Återställ Överskridsräknaren efter projektinläsning - + Plugin UIs Tilläggsgränssnitt - - + + How much time to wait for OSC GUIs to ping back the host Hur lång tid att vänta för OSC-användargränssnitt att pinga tillbaka till värden - + UI Bridge Timeout: Tidsgräns för användargränssnittsbryggor: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code Använd OSC-GUI-bryggor när möjligt, för att på detta sätt separera användargränssnittet från DSP-koden. - + Use UI bridges instead of direct handling when possible Använd gränssnittsbryggor istället för direkthantering när möjligt - + Make plugin UIs always-on-top Placera alltid tilläggsgränssnitt överst - + Make plugin UIs appear on top of Carla (needs restart) Placera tilläggsgränssnitt ovanpå Carla (kräver omstart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS OBSERVERA: Tilläggsgränssnitt över bryggor kan inte hanteras av Carla på macOS - - + + Restart the engine to load the new settings Starta om motorn för att läsa in de nya inställningarna - + <b>OSC</b> <b>OSC</b> - + Enable OSC Aktivera OSC - + Enable TCP port Aktivera TCP-port - - + + Use specific port: Använd specifik port: - + Overridden by CARLA_OSC_TCP_PORT env var Åsidosatt av miljövariabeln CARLA_OSC_TCP_PORT - - + + Use randomly assigned port Använd slumpmässigt tilldelad port - + Enable UDP port Aktivera UDP-port - + Overridden by CARLA_OSC_UDP_PORT env var Åsidosatt av miljövariabeln CARLA_OSC_UDP_PORT - + DSSI UIs require OSC UDP port enabled DSSI-användargränssnit kräver att OSC UDP-port är aktiverad - + <b>File Paths</b> <b>Filsökvägar</b> - + Audio Ljud - + MIDI MIDI - + Used for the "audiofile" plugin Används för tillägget "audiofile" - + Used for the "midifile" plugin Används för tillägget "midifile" - - + + Add... Lägg till... - - + + Remove Ta bort - - + + Change... Ändra... - + <b>Plugin Paths</b> <b>Tilläggssökvägar</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins Starta om Carla för att hitta nya tillägg - + <b>Wine</b> <b>Wine</b> - + Executable Körbar - + Path to 'wine' binary: Sökväg till "wine"-binär: - + Prefix Prefix - + Auto-detect Wine prefix based on plugin filename Automatisk detektering av Wine-prefix baserat på filnamn för tillägg - + Fallback: Reservinställning: - + Note: WINEPREFIX env var is preferred over this fallback Notera: Miljövariabeln WINEPREFIX föredras framför denna reservinställning - + Realtime Priority Realtidsprioritet - + Base priority: Grundprioritet: - + WineServer priority: WineServer-prioritet: - + These options are not available for Carla as plugin Dessa alternativ finns inte tillgängliga för Carla som tillägg - + <b>Experimental</b> <b>Experimentell</b> - + Experimental options! Likely to be unstable! Experimentalla alternativ! Förmodligen instabila! - + Enable plugin bridges Aktivera tilläggsbryggor - + Enable Wine bridges Aktivera Wine-bryggor - + Enable jack applications Aktivera jack-program - + Export single plugins to LV2 Exportera enskilda tillägg till LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) Läs in Carla-bakände i global namnrymd (INTE REKOMMENDERAT) - + Fancy eye-candy (fade-in/out groups, glow connections) Snyggt ögongodisk (grupper tonas in/ut, glödande anslutningar) - + Use OpenGL for rendering (needs restart) Använd OpenGL för rendering (kräver omstart) - + High Quality Anti-Aliasing (OpenGL only) Högkvalitativ kantutjämning (endast OpenGL) - + Render Ardour-style "Inline Displays" Rendera Ardour-liknande ”inbyggda visningar” - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. Tvinga mono-tillägg att använda stereo genom att köra 2 instanser av det samtidigt. Detta läge är inte tillgängligt för VST-tillägg. - + Force mono plugins as stereo Tvinga mono-tillägg att vara stereo - - Prevent plugins from doing bad stuff (needs restart) - Förhindra tillägg från att göra dumheter (kräver omstart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. + - - Whenever possible, run the plugins in bridge mode. - När det är möjligt, kör tillägget i bryggat läge. + + Prevent unsafe calls from plugins (needs restart) + - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible Kör tillägg i bryggat läge när det är möjligt - - - - + + + + Add Path Lägg till sökväg - - CompressorControlDialog - - - Threshold: - Tröskel: - - - - Volume at which the compression begins to take place - Volym vid vilken komprimeringen börjar äga rum - - - - Ratio: - Förhållande: - - - - How far the compressor must turn the volume down after crossing the threshold - Hur långt kompressorn måste sänka volymen efter att tröskeln har passerat - - - - Attack: - Attack: - - - - Speed at which the compressor starts to compress the audio - Hastighet med vilken kompressorn börjar komprimera ljudet - - - - Release: - Release: - - - - Speed at which the compressor ceases to compress the audio - Hastighet med vilken kompressorn slutar komprimera ljudet - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - Hur länge kompressorn måste reagera på sidokedjesignalen i förväg - - - - Hold: - Hold: - - - - Delay between attack and release stages - - - - - RMS Size: - RMS-storlek: - - - - Size of the RMS buffer - Storlek på RMS-buffert - - - - Input Balance: - Ingångsbalans: - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - Utgångsbalans: - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - Stereobalans: - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - Balans mellan våta och torra signaler - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Utgångsförstärkning - - - - - Gain - Förstärkning - - - - Output volume - Utgångsvolym - - - - Input gain - Ingångsförstärkning - - - - Input volume - Ingångsvolym - - - - Root Mean Square - - - - - Use RMS of the input - Använd ingångens RMS - - - - Peak - - - - - Use absolute value of the input - Använd ingångens absoluta värde - - - - Left/Right - Vänster/Höger - - - - Compress left and right audio - Komprimera vänster och höger ljud - - - - Mid/Side - - - - - Compress mid and side audio - Komprimera mitt- och sidoljud - - - - Compressor - Kompressor - - - - Compress the audio - Komprimera ljudet - - - - Limiter - Begränsare - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - Ställ in förhållandet till oändlighet (garanteras inte att ljudvolymen begränsas) - - - - Unlinked - Olänkad - - - - Compress each channel separately - Komprimera varje kanal separat - - - - Maximum - - - - - Compress based on the loudest channel - Komprimera baserat på den mest högljudda kanalen - - - - Average - Medel - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - Komprimera baserat på den tystaste kanalen - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - Spela deltasignalen - - - - Use the compressor's output as the sidechain input - Använd kompressorns utgång som sidokedjeingång - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - Tröskel - - - - Ratio - Förhållande - - - - Attack - Attack - - - - Release - Release - - - - Knee - - - - - Hold - Hold - - - - Range - - - - - RMS Size - RMS-storlek - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - Ingångsbalans - - - - Output Balance - Utgångsbalans - - - - Limiter - Begränsare - - - - Output Gain - Utgångsförstärkning - - - - Input Gain - Ingångsförstärkning - - - - Blend - - - - - Stereo Balance - Stereobalans - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Återkoppling - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - Stereolänk - - - - Mix - Mix - - - - Controller - - - Controller %1 - Kontroller %1 - - - - ControllerConnectionDialog - - - Connection Settings - Kopplingsinställningar - - - - MIDI CONTROLLER - MIDI-KONTROLLER - - - - Input channel - Ingångskanal - - - - CHANNEL - KANAL - - - - Input controller - Ingångsregulator - - - - CONTROLLER - KONTROLLER - - - - - Auto Detect - Upptäck automatiskt - - - - MIDI-devices to receive MIDI-events from - MIDI-enheter för att ta emot MIDI-händelser från - - - - USER CONTROLLER - ANVÄNDARKONTROLLER - - - - MAPPING FUNCTION - KARTLÄGGNINGSFUNKTION - - - - OK - OK - - - - Cancel - Avbryt - - - - LMMS - LMMS - - - - Cycle Detected. - Cykel Identifierad. - - - - ControllerRackView - - - Controller Rack - Kontrollrack - - - - Add - Lägg till - - - - Confirm Delete - Bekräfta Borttagning - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Vill du verkligen ta bort? Det finns kopplingar till den här kontrollern, och operationen går inte ångra. - - - - ControllerView - - - Controls - Kontroller - - - - Rename controller - Byt namn på kontroller - - - - Enter the new name for this controller - Skriv nya namnet på kontrollern - - - - LFO - LFO - - - - &Remove this controller - &Ta bort den här kontrollen - - - - Re&name this controller - Döp& om den här kontrollern - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Band 1/2-korsningspunkt: - - - - Band 2/3 crossover: - Band 2/3-korsningspunkt: - - - - Band 3/4 crossover: - Band 3/4-korsningspunkt: - - - - Band 1 gain - Band 1-förstärkning - - - - Band 1 gain: - Band 1-förstärkning: - - - - Band 2 gain - Band 2-förstärkning - - - - Band 2 gain: - Band 2-förstärkning: - - - - Band 3 gain - Band 3-förstärkning - - - - Band 3 gain: - Band 3-förstärkning: - - - - Band 4 gain - Band 4-förstärkning - - - - Band 4 gain: - Band 4-förstärkning: - - - - Band 1 mute - Band 1-tystning - - - - Mute band 1 - Tysta band 1 - - - - Band 2 mute - Band 2-tystning - - - - Mute band 2 - Tysta band 2 - - - - Band 3 mute - Band 3-tystning - - - - Mute band 3 - Tysta band 3 - - - - Band 4 mute - Band 4-tystning - - - - Mute band 4 - Tysta band 4 - - - - DelayControls - - - Delay samples - Fördröj ljudfiler - - - - Feedback - Återkoppling - - - - LFO frequency - LFO-frekvens - - - - LFO amount - LFO-mängd - - - - Output gain - Utgångsförstärkning - - - - DelayControlsDialog - - - DELAY - FÖRDRÖJNING - - - - Delay time - Fördröjningstid - - - - FDBK - RNDG - - - - Feedback amount - Rundgångsbelopp - - - - RATE - HASTIGHET - - - - LFO frequency - LFO-frekvens - - - - AMNT - BELP - - - - LFO amount - LFO-mängd - - - - Out gain - Utgångsförstärkning - - - - Gain - Förstärkning - - Dialog - - - Add JACK Application - Lägga till JACK-program - - - - Note: Features not implemented yet are greyed out - Notera: Funktioner som inte är implementerade än är utgråade - - - - Application - Program - - - - Name: - Namn: - - - - Application: - Program: - - - - From template - Från mall - - - - Custom - Anpassad - - - - Template: - Mall: - - - - Command: - Kommando: - - - - Setup - Inställning - - - - Session Manager: - Sessionshanterare: - - - - None - Ingen - - - - Audio inputs: - Ljudingångar: - - - - MIDI inputs: - MIDI-ingångar: - - - - Audio outputs: - Ljudutgångar: - - - - MIDI outputs: - MIDI-utgångar: - - - - Take control of main application window - Ta kontroll över programmets huvudfönster - - - - Workarounds - Lösningar - - - - Wait for external application start (Advanced, for Debug only) - Vänta på att externt program startar (Avancerad, endast för felsökning) - - - - Capture only the first X11 Window - Fånga endast det första X11-fönstret - - - - Use previous client output buffer as input for the next client - Använd föregående klients utgångsbuffert som ingångsbuffert för nästa klient - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - Simulera 16 JACK MIDI-ingångar, med MIDI-kanal som portindex - - - - Error here - Fel här - Carla Control - Connect @@ -3807,28 +2179,6 @@ Detta läge är inte tillgängligt för VST-tillägg. TCP Port: TCP-port: - - - Reported host - Rapporterad värd - - - - Automatic - Automatisk - - - - Custom: - Anpassad: - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - På vissa nätverk (så som USB-anslutningar), kan fjärrsystemet inte nå det lokala nätverket. Du kan här ange vilket värdnamn eller IP som fjärr-Carla ska ansluta till. -Om du är osäker lämna värdet ”Automatisk”. - Set value @@ -3883,948 +2233,6 @@ Om du är osäker lämna värdet ”Automatisk”. Starta om motorn för att läsa in de nya inställningarna - - DualFilterControlDialog - - - - FREQ - FREKV. - - - - - Cutoff frequency - Cutoff frekvens - - - - - RESO - RESO - - - - - Resonance - Resonans - - - - - GAIN - FÖRST. - - - - - Gain - Förstärkning - - - - MIX - MIX - - - - Mix - Mix - - - - Filter 1 enabled - Filter 1 aktiverat - - - - Filter 2 enabled - Filter 2 aktiverat - - - - Enable/disable filter 1 - Aktivera/inaktivera filter 1 - - - - Enable/disable filter 2 - Aktivera/inaktivera filter 2 - - - - DualFilterControls - - - Filter 1 enabled - Filter 1 aktiverat - - - - Filter 1 type - Filter 1 typ - - - - Cutoff frequency 1 - Brytfrekvens 1 - - - - Q/Resonance 1 - Q/Resonans 1 - - - - Gain 1 - Förstärkning 1 - - - - Mix - Mix - - - - Filter 2 enabled - Filter 2 aktiverat - - - - Filter 2 type - Filter 2 typ - - - - Cutoff frequency 2 - Brytfrekvens 2 - - - - Q/Resonance 2 - Q/Resonans 2 - - - - Gain 2 - Förstärkning 2 - - - - - Low-pass - Lågpass - - - - - Hi-pass - Högpass - - - - - Band-pass csg - Bandpass csg - - - - - Band-pass czpg - Banspass czpg - - - - - Notch - Bandspärr - - - - - All-pass - Allpass - - - - - Moog - Moog - - - - - 2x Low-pass - 2x Lågpass - - - - - RC Low-pass 12 dB/oct - RC Lågpass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - RC Bandpass 12 dB/oct - - - - - RC High-pass 12 dB/oct - RC Högpass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - RC Lågpass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - RC Bandpass 24 dB/oct - - - - - RC High-pass 24 dB/oct - RC Högpass 24 dB/oct - - - - - Vocal Formant - Språkformant - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - SV Lågpass - - - - - SV Band-pass - SV Bandpass - - - - - SV High-pass - SV Högpass - - - - - SV Notch - SV Bandspärr - - - - - Fast Formant - Snabbformant - - - - - Tripole - Tripol - - - - Editor - - - Transport controls - Transportkontroller - - - - Play (Space) - Play (Mellanslag) - - - - Stop (Space) - Stop (Mellanslag) - - - - Record - Spela in - - - - Record while playing - Spela in under uppspelningen - - - - Toggle Step Recording - Växla steginspelning - - - - Effect - - - Effect enabled - Effekt aktiverad - - - - Wet/Dry mix - Effekt/original-mix - - - - Gate - Gate - - - - Decay - Decay - - - - EffectChain - - - Effects enabled - Effekter aktiverade - - - - EffectRackView - - - EFFECTS CHAIN - EFFEKTKEDJA - - - - Add effect - Lägg till effekt - - - - EffectSelectDialog - - - Add effect - Lägg till effekt - - - - - Name - Namn - - - - Type - Typ - - - - Description - Beskrivning - - - - Author - Författare - - - - EffectView - - - On/Off - På/Av - - - - W/D - B/T - - - - Wet Level: - Blöt Nivå: - - - - DECAY - DECAY - - - - Time: - Tid: - - - - GATE - GATE - - - - Gate: - Gate: - - - - Controls - Kontroller - - - - Move &up - Flytta &upp - - - - Move &down - Flytta &ner - - - - &Remove this plugin - &Ta bort det här tillägget - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Knt förfördröjning - - - - Env attack - Knt stegring - - - - Env hold - Knt håll - - - - Env decay - Knt sänkning - - - - Env sustain - Knt håll - - - - Env release - Knt avklingning - - - - Env mod amount - Knt mod-mängd - - - - LFO pre-delay - LFO förfördröjning - - - - LFO attack - LFO-attack - - - - LFO frequency - LFO-frekvens - - - - LFO mod amount - LFO mod-mängd - - - - LFO wave shape - LFO vågform - - - - LFO frequency x 100 - LFO-frekvens x 100 - - - - Modulate env amount - Modulera knt-mängd - - - - EnvelopeAndLfoView - - - - DEL - RAD - - - - - Pre-delay: - Förfördröjning: - - - - - ATT - ATT - - - - - Attack: - Attack: - - - - HOLD - HOLD - - - - Hold: - Hold: - - - - DEC - DEC - - - - Decay: - Decay: - - - - SUST - SUST - - - - Sustain: - Sustain: - - - - REL - REL - - - - Release: - Release: - - - - - AMT - MÄNGD - - - - - Modulation amount: - Moduleringsmängd: - - - - SPD - SPD - - - - Frequency: - Frekvens: - - - - FREQ x 100 - FREKV. x 100 - - - - Multiply LFO frequency by 100 - Multiplicera LFO-frekvens med 100 - - - - MODULATE ENV AMOUNT - MODULERA KNT-MÄNGD - - - - Control envelope amount by this LFO - Styr konturmängd via denna LFO - - - - ms/LFO: - ms/LFO: - - - - Hint - Ledtråd - - - - Drag and drop a sample into this window. - Drag och släpp en ljudfil hit. - - - - EqControls - - - Input gain - Ingångsförstärkning - - - - Output gain - Utgångsförstärkning - - - - Low-shelf gain - Lågsockel först. - - - - Peak 1 gain - Topp 1-förstärkning - - - - Peak 2 gain - Topp 2-förstärkning - - - - Peak 3 gain - Topp 3-förstärkning - - - - Peak 4 gain - Topp 4-förstärkning - - - - High-shelf gain - Högsockel först. - - - - HP res - HP uppl. - - - - Low-shelf res - Lågsockel uppl. - - - - Peak 1 BW - Topp 1 BW - - - - Peak 2 BW - Topp 2 BW - - - - Peak 3 BW - Topp 3 BW - - - - Peak 4 BW - Topp 4 BW - - - - High-shelf res - Högsockel uppl. - - - - LP res - LP uppl. - - - - HP freq - HP frekv. - - - - Low-shelf freq - Lågsockel frekv. - - - - Peak 1 freq - Topp 1 frekv. - - - - Peak 2 freq - Topp 2 frekv. - - - - Peak 3 freq - Topp 3 frekv. - - - - Peak 4 freq - Topp 4 frekv. - - - - High-shelf freq - Högsockel frekv. - - - - LP freq - LP-frekv. - - - - HP active - HP aktiv - - - - Low-shelf active - Lågsockel aktiv - - - - Peak 1 active - Topp 1 aktiv - - - - Peak 2 active - Topp 2 aktiv - - - - Peak 3 active - Topp 3 aktiv - - - - Peak 4 active - Topp 4 aktiv - - - - High-shelf active - Högsockel aktiv - - - - LP active - LP aktiv - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - Lågpasstyp - - - - High-pass type - Högpasstyp - - - - Analyse IN - Analysera IN - - - - Analyse OUT - Analysera UT - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - Lågsockel - - - - Peak 1 - Topp 1 - - - - Peak 2 - Topp 2 - - - - Peak 3 - Topp 3 - - - - Peak 4 - Topp 4 - - - - High-shelf - Högsockel - - - - LP - LP - - - - Input gain - Ingångsförstärkning - - - - - - Gain - Förstärkning - - - - Output gain - Utgångsförstärkning - - - - Bandwidth: - Bandbredd: - - - - Octave - Oktav - - - - Resonance : - Resonans: - - - - Frequency: - Frekvens: - - - - LP group - LP-grup - - - - HP group - HP-grupp - - - - EqHandle - - - Reso: - Reso.: - - - - BW: - BW: - - - - - Freq: - Frekv.: - - ExportProjectDialog @@ -5008,3082 +2416,664 @@ Om du är osäker lämna värdet ”Automatisk”. Sinc bäst (långsammast) - - Oversampling: - Översampling: - - - - 1x (None) - 1x (Ingen) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Starta - + Cancel Avbryt - - - Could not open file - Kunde inte öppna fil - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Det gick inte att öppna filen %1 för att skriva. -Se till att du har skrivbehörighet till filen och mappen som innehåller filen och försök igen! - - - - Export project to %1 - Exportera projekt till %1 - - - - ( Fastest - biggest ) - ( Snabbast - störst ) - - - - ( Slowest - smallest ) - ( Långsammast - minst ) - - - - Error - Fel - - - - Error while determining file-encoder device. Please try to choose a different output format. - Fel vid bestämning av filkodarenhet. Vänligen försök att välja ett annat utmatningsformat. - - - - Rendering: %1% - Renderar: %1% - - - - Fader - - - Set value - Ställ in värde - - - - Please enter a new value between %1 and %2: - Ange ett nytt värde mellan %1 och %2: - - - - FileBrowser - - - User content - Användarinnehåll - - - - Factory content - Fabriksinnehåll - - - - Browser - Bläddrare - - - - Search - Sök - - - - Refresh list - Uppdatera lista - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Skicka till aktivt instrumentspår - - - - Open containing folder - Öppna innehållande mapp - - - - Song Editor - Låtredigerare - - - - BB Editor - BB-redigerare - - - - Send to new AudioFileProcessor instance - Skicka till ny AudioFileProcessor-instans - - - - Send to new instrument track - Skicka till nytt instrumentspår - - - - (%2Enter) - (%2Retur) - - - - Send to new sample track (Shift + Enter) - Skicka till nytt samplingsspår (Skift + Retur) - - - - Loading sample - Läser in ljudfil - - - - Please wait, loading sample for preview... - Ljudfilen läses in för förhandslyssning... - - - - Error - Fel - - - - %1 does not appear to be a valid %2 file - %1 verkar inte vara en giltig %2-fil - - - - --- Factory files --- - --- Grundfiler --- - - - - FlangerControls - - - Delay samples - Fördröj ljudfiler - - - - LFO frequency - LFO-frekvens - - - - Seconds - Sekunder - - - - Stereo phase - Stereofas - - - - Regen - Regen - - - - Noise - Brus - - - - Invert - Invertera - - - - FlangerControlsDialog - - - DELAY - FÖRDRÖJNING - - - - Delay time: - Fördröjningstid: - - - - RATE - HASTIGHET - - - - Period: - Period: - - - - AMNT - BELP - - - - Amount: - Mängd: - - - - PHASE - FAS - - - - Phase: - Fas: - - - - FDBK - RNDG - - - - Feedback amount: - Mängd rundgång: - - - - NOISE - BRUS - - - - White noise amount: - Mängd vitt brus: - - - - Invert - Invertera - - - - FreeBoyInstrument - - - Sweep time - Sveptid - - - - Sweep direction - Svepriktning - - - - Sweep rate shift amount - Svephastighets skiftmängd - - - - - Wave pattern duty cycle - Vågmönster arbetscykel - - - - Channel 1 volume - Kanal 1 volym - - - - - - Volume sweep direction - Volym svepriktning - - - - - - Length of each step in sweep - Längd för varje steg i svep - - - - Channel 2 volume - Kanal 2 volym - - - - Channel 3 volume - Kanal 3 volym - - - - Channel 4 volume - Kanal 4 volym - - - - Shift Register width - Skiftregisterbredd - - - - Right output level - Höger utmatningsnivå - - - - Left output level - Vänster ugångsnivå - - - - Channel 1 to SO2 (Left) - Kanal 1 till SO2 (vänster) - - - - Channel 2 to SO2 (Left) - Kanal 2 till SO2 (vänster) - - - - Channel 3 to SO2 (Left) - Kanal 3 till SO2 (vänster) - - - - Channel 4 to SO2 (Left) - Kanal 4 till SO2 (Vänster) - - - - Channel 1 to SO1 (Right) - Kanal 1 till SO1 (Höger) - - - - Channel 2 to SO1 (Right) - Kanal 2 till SO1 (höger) - - - - Channel 3 to SO1 (Right) - Kanal 3 till SO1 (höger) - - - - Channel 4 to SO1 (Right) - Kanal 4 till SO1 (höger) - - - - Treble - Diskant - - - - Bass - Bas - - - - FreeBoyInstrumentView - - - Sweep time: - Sveptid: - - - - Sweep time - Sveptid - - - - Sweep rate shift amount: - Svephastighet skiftmängd: - - - - Sweep rate shift amount - Svephastighets skiftmängd - - - - - Wave pattern duty cycle: - Vågmönster arbetscykel: - - - - - Wave pattern duty cycle - Vågmönster arbetscykel - - - - Square channel 1 volume: - Volym för fyrkantsvåg kanal 1: - - - - Square channel 1 volume - Volym för fyrkantsvåg kanal 1 - - - - - - Length of each step in sweep: - Längd för varje steg i svep - - - - - - Length of each step in sweep - Längd för varje steg i svep - - - - Square channel 2 volume: - Volym för fyrkantsvåg kanal 2: - - - - Square channel 2 volume - Volym för fyrkantsvåg kanal 2 - - - - Wave pattern channel volume: - Volym för vågmönsterkanal: - - - - Wave pattern channel volume - Volym för vågmönsterkanal - - - - Noise channel volume: - Volym för bruskanal: - - - - Noise channel volume - Volym för bruskanal - - - - SO1 volume (Right): - SO1-volym (Höger): - - - - SO1 volume (Right) - SO1 volym (Höger) - - - - SO2 volume (Left): - SO2 volym (vänster): - - - - SO2 volume (Left) - SO2 volym (vänster): - - - - Treble: - Diskant: - - - - Treble - Diskant - - - - Bass: - Bas: - - - - Bass - Bas - - - - Sweep direction - Svepriktning - - - - - - - - Volume sweep direction - Volym svepriktning - - - - Shift register width - Skiftregisterbredd - - - - Channel 1 to SO1 (Right) - Kanal 1 till SO1 (Höger) - - - - Channel 2 to SO1 (Right) - Kanal 2 till SO1 (höger) - - - - Channel 3 to SO1 (Right) - Kanal 3 till SO1 (höger) - - - - Channel 4 to SO1 (Right) - Kanal 4 till SO1 (höger) - - - - Channel 1 to SO2 (Left) - Kanal 1 till SO2 (vänster) - - - - Channel 2 to SO2 (Left) - Kanal 2 till SO2 (vänster) - - - - Channel 3 to SO2 (Left) - Kanal 3 till SO2 (vänster) - - - - Channel 4 to SO2 (Left) - Kanal 4 till SO2 (Vänster) - - - - Wave pattern graph - Vågmönstergraf - - - - MixerChannelView - - - Channel send amount - Kanalsändningsbelopp - - - - Move &left - Flytta &vänster - - - - Move &right - Flytta &höger - - - - Rename &channel - Byt namn på &kanal - - - - R&emove channel - T&a bort kanal - - - - Remove &unused channels - Ta bort &oanvända kanaler - - - - Set channel color - Ställ in kanalfärg - - - - Remove channel color - Ta bort kanalfärg - - - - Pick random channel color - Välj slumpmässig kanalfärg - - - - MixerChannelLcdSpinBox - - - Assign to: - Tilldela till: - - - - New mixer Channel - Ny FX-kanal - - - - Mixer - - - Master - Master - - - - - - Channel %1 - FX %1 - - - - Volume - Volym - - - - Mute - Tysta - - - - Solo - Solo - - - - MixerView - - - Mixer - mixer - - - - Fader %1 - FX Fader %1 - - - - Mute - Tysta - - - - Mute this mixer channel - Tysta denna FX-kanal - - - - Solo - Solo - - - - Solo mixer channel - Solo FX-kanal - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Mängd att skicka från kanal %1 till kanal %2 - - - - GigInstrument - - - Bank - Bank - - - - Patch - Inställning - - - - Gain - Förstärkning - - - - GigInstrumentView - - - - Open GIG file - Öppna GIG-fil - - - - Choose patch - Välj inställning - - - - Gain: - Förstärkning: - - - - GIG Files (*.gig) - GIG-filer (*.gig) - - - - GuiApplication - - - Working directory - Arbetsmapp - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Arbetsmappen %1 för LMMS finns inte. Skapa den nu? Du kan ändra mappen senare via Redigera -> Inställningar. - - - - Preparing UI - Förbereder användargränssnitt - - - - Preparing song editor - Förbereder låtredigeraren - - - - Preparing mixer - Förbereder mixer - - - - Preparing controller rack - Förbereder kontrollrack - - - - Preparing project notes - Förbereder projektanteckningar - - - - Preparing beat/bassline editor - Förbereder takt/basgång-redigeraren - - - - Preparing piano roll - Förbereder pianorulle - - - - Preparing automation editor - Förbereder automationsredigeraren - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpeggio - - - - Arpeggio type - Arpeggio-typ - - - - Arpeggio range - Arpeggio-omfång - - - - Note repeats - - - - - Cycle steps - Cykelsteg - - - - Skip rate - Överhoppshastighet - - - - Miss rate - Misshastighet - - - - Arpeggio time - Arpeggio-tid - - - - Arpeggio gate - Arpeggiogrind - - - - Arpeggio direction - Arpeggio-riktning - - - - Arpeggio mode - Arpeggio-typ - - - - Up - Upp - - - - Down - Ner - - - - Up and down - Upp och ner - - - - Down and up - Ner och upp - - - - Random - Slumpmässig - - - - Free - Fritt - - - - Sort - Sortera - - - - Sync - Synkronisera - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - OMFÅNG - - - - Arpeggio range: - Arpeggio-omfång: - - - - octave(s) - oktav(er) - - - - REP - - - - - Note repeats: - - - - - time(s) - gång(er) - - - - CYCLE - CYKEL - - - - Cycle notes: - Cykelnoter: - - - - note(s) - not(er) - - - - SKIP - HOPP - - - - Skip rate: - Överhoppshastighet: - - - - - - % - % - - - - MISS - MISS - - - - Miss rate: - Misshastighet - - - - TIME - TID - - - - Arpeggio time: - Arpeggio-tid: - - - - ms - ms - - - - GATE - GATE - - - - Arpeggio gate: - Arpeggiogate: - - - - Chord: - Ackord: - - - - Direction: - Riktning: - - - - Mode: - Läge: - InstrumentFunctionNoteStacking - + octave oktav - - + + Major Dur - + Majb5 Majb5 - + minor moll - + minb5 mollb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tre - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Harmonisk moll - + Melodic minor Melodisk moll - + Whole tone Hela tonen - + Diminished Minskad - + Major pentatonic Dur pentatonisk - + Minor pentatonic Mollpentatonisk - + Jap in sen Jap in sen - + Major bebop Dur bebop - + Dominant bebop Dominant bebop - + Blues Blues - + Arabic Arabisk - + Enigmatic Gåtfull - + Neopolitan Napolitansk - + Neopolitan minor Napolitansk moll - + Hungarian minor Ungersk moll - + Dorian Dorisk - + Phrygian Frygisk - + Lydian Lydisk - + Mixolydian Mixolydisk - + Aeolian Aeolisk - + Locrian Lokrisk - + Minor Moll - + Chromatic Kromatisk - + Half-Whole Diminished Halv-hel förminskad - + 5 5 - + Phrygian dominant Frygisk dominant - + Persian Persisk - - - Chords - Ackord - - - - Chord type - Ackordtyp - - - - Chord range - Ackordomfång - - - - InstrumentFunctionNoteStackingView - - - STACKING - STAPLA - - - - Chord: - Ackord: - - - - RANGE - OMFÅNG - - - - Chord range: - Ackordomfång: - - - - octave(s) - oktav(er) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - AKTIVERA MIDI-INMATNING - - - - ENABLE MIDI OUTPUT - AKTIVERA MIDI-UTGÅNG - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - KANL - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - HAST. - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - PROG - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOT - - - - MIDI devices to receive MIDI events from - MIDI-enheter att ta emot MIDI-händelser från - - - - MIDI devices to send MIDI events to - MIDI-enheter att skicka MIDI-händelser till - - - - CUSTOM BASE VELOCITY - ANPASSAD BAS-VELOCITET - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - Ange hastigheten för normaliseringsbasen för MIDI-baserade instrument vid 100% nothastighet. - - - - BASE VELOCITY - BAS-VELOCITET - - - - InstrumentTuningView - - - MASTER PITCH - HUVUDTONHÖJD - - - - Enables the use of master pitch - Aktiverar användning av huvudtonhöjd - InstrumentSoundShaping - + VOLUME VOLYM - + Volume Volym - + CUTOFF BRYTFRKV - - + Cutoff frequency Cutoff frekvens - + RESO RESO - + Resonance Resonans - - - Envelopes/LFOs - Konturer/LFO:er - - - - Filter type - Filtertyp - - - - Q/Resonance - Q/Resonans - - - - Low-pass - Lågpass - - - - Hi-pass - Högpass - - - - Band-pass csg - Bandpass csg - - - - Band-pass czpg - Banspass czpg - - - - Notch - Bandspärr - - - - All-pass - Allpass - - - - Moog - Moog - - - - 2x Low-pass - 2x Lågpass - - - - RC Low-pass 12 dB/oct - RC Lågpass 12 dB/oct - - - - RC Band-pass 12 dB/oct - RC Bandpass 12 dB/oct - - - - RC High-pass 12 dB/oct - RC Högpass 12 dB/oct - - - - RC Low-pass 24 dB/oct - RC Lågpass 24 dB/oct - - - - RC Band-pass 24 dB/oct - RC Bandpass 24 dB/oct - - - - RC High-pass 24 dB/oct - RC Högpass 24 dB/oct - - - - Vocal Formant - Språkformant - - - - 2x Moog - 2x Moog - - - - SV Low-pass - SV Lågpass - - - - SV Band-pass - SV Bandpass - - - - SV High-pass - SV Högpass - - - - SV Notch - SV Bandspärr - - - - Fast Formant - Snabbformant - - - - Tripole - Tripol - - InstrumentSoundShapingView + JackAppDialog - - TARGET - MÅL - - - - FILTER - FILTER - - - - FREQ - FREKV. - - - - Cutoff frequency: - Brytfrekvens: - - - - Hz - Hz - - - - Q/RESO - Q/UPPL - - - - Q/Resonance: - Q/Resonans: - - - - Envelopes, LFOs and filters are not supported by the current instrument. - Konturer, LFO:er och filter stöds inte av det aktuella instrumentet. - - - - InstrumentTrack - - - - unnamed_track - namnlöst_spår - - - - Base note - Grundton - - - - First note + + Add JACK Application - - Last note - Senaste noten - - - - Volume - Volym - - - - Panning - Panorering - - - - Pitch - Tonhöjd - - - - Pitch range - Tonhöjdsomfång - - - - Mixer channel - FX-kanal - - - - Master pitch - Huvudtonhöjd - - - - Enable/Disable MIDI CC - Aktivera/inaktivera MIDI CC - - - - CC Controller %1 + + Note: Features not implemented yet are greyed out - - - Default preset - Standardinställning - - - - InstrumentTrackView - - - Volume - Volym - - - - Volume: - Volym: - - - - VOL - VOL - - - - Panning - Panorering - - - - Panning: - Panorering: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Ingång - - - - Output - Utgång - - - - Open/Close MIDI CC Rack + + Application - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - ÖVERGRIPANDE INSTÄLLNINGAR + + Name: + - - Volume - Volym + + Application: + - - Volume: - Volym: + + From template + - - VOL - VOL + + Custom + - - Panning - Panorering + + Template: + - - Panning: - Panorering: + + Command: + - - PAN - PAN + + Setup + - - Pitch - Tonhöjd + + Session Manager: + - - Pitch: - Tonhöjd: + + None + - - cents - hundradelar + + Audio inputs: + - - PITCH - TONDHÖJD + + MIDI inputs: + - - Pitch range (semitones) - Tonhöjdsomfång (halvtoner) + + Audio outputs: + - - RANGE - OMFÅNG + + MIDI outputs: + - - Mixer channel - FX-kanal + + Take control of main application window + - - CHANNEL - FX + + Workarounds + - - Save current instrument track settings in a preset file - Spara aktuella instrumentspårinställningar i en förinställd fil + + Wait for external application start (Advanced, for Debug only) + - - SAVE - SPARA + + Capture only the first X11 Window + - - Envelope, filter & LFO - Kontur, filter & LFO + + Use previous client output buffer as input for the next client + - - Chord stacking & arpeggio - Ackordstapling & apreggio + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Effects - Effekter + + Error here + - - MIDI - MIDI - - - - Miscellaneous - Diverse - - - - Save preset - Spara förinställning - - - - XML preset file (*.xpf) - XML förinställnings-fil (*.xpf) - - - - Plugin - Tillägg - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - NSM-program kan inte använda abstracta eller absoluta sökvägar + - + NSM applications cannot use CLI arguments - NSM-program kan inte använda kommandoradsargument + - + You need to save the current Carla project before NSM can be used - Du måste spara det aktuella Carla-projektet innan NSM kan avändas + JuceAboutW - - About JUCE - Om JUCE - - - - <b>About JUCE</b> - <b>Om JUCE</b> - - - - This program uses JUCE version 3.x.x. - Detta program använder JUCE version 3.x.x. - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - JUCE (Jules' Utility Class Extensions) är ett allomfattande C++-klassbibliotek för utveckling av programvara över plattformsgränser. - -Det innehåller i princip allting som du troligen kommer att använda för att skapa de flera program, och är speciellt väl lämpat för att bygga anpassningsbara användargränssnitt och för att hantera grafik och ljud. - -JUCE licensieras under GNU Public Licence version 2.0. -En modul (juce_core) licensierad under ISC. - -Copyright (C) 2017 ROLI Ltd. - - - + This program uses JUCE version %1. Detta program använder JUCE version %1. - - Knob - - - Set linear - Ställ in linjär - - - - Set logarithmic - Ställ in logaritmisk - - - - - Set value - Ställ in värde - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Vänligen ange ett nytt värde mellan -96.0 dBFS och 6.0 dBFS: - - - - Please enter a new value between %1 and %2: - Ange ett nytt värde mellan %1 och %2: - - - - LadspaControl - - - Link channels - Länka kanaler - - - - LadspaControlDialog - - - Link Channels - Länka Kanaler - - - - Channel - Kanal - - - - LadspaControlView - - - Link channels - Länka kanaler - - - - Value: - Värde: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Okänt LADSPA-tillägg %1 efterfrågad. - - - - LcdFloatSpinBox - - - Set value - Ställ in värde - - - - Please enter a new value between %1 and %2: - Ange ett nytt värde mellan %1 och %2: - - - - LcdSpinBox - - - Set value - Ställ in värde - - - - Please enter a new value between %1 and %2: - Ange ett nytt värde mellan %1 och %2: - - - - LeftRightNav - - - - - Previous - Tidigare - - - - - - Next - Nästa - - - - Previous (%1) - Tidigare (%1) - - - - Next (%1) - Nästa (%1) - - - - LfoController - - - LFO Controller - LFO-kontroller - - - - Base value - Basvärde - - - - Oscillator speed - Oscillatorhastighet - - - - Oscillator amount - Oscillatormängd - - - - Oscillator phase - Oscillatorfas - - - - Oscillator waveform - Oscillatorvågform - - - - Frequency Multiplier - Frekvens Multiplikator - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - BAS - - - - Base: - Bas: - - - - FREQ - FREKV. - - - - LFO frequency: - LFO-frekvens: - - - - AMNT - BELP - - - - Modulation amount: - Moduleringsmängd: - - - - PHS - FAS - - - - Phase offset: - Fasposition: - - - - degrees - grader - - - - Sine wave - Sinusvåg - - - - Triangle wave - Triangelvåg - - - - Saw wave - Sågtandsvåg - - - - Square wave - Fyrkantvåg - - - - Moog saw wave - Moog sågtandsvåg - - - - Exponential wave - Exponentiell våg - - - - White noise - Vitt brus - - - - User-defined shape. -Double click to pick a file. - Användardefinierad form. -Dubbelklicka för att välja en fil. - - - - Mutliply modulation frequency by 1 - Multiplicera moduleringsfrekvens med 1 - - - - Mutliply modulation frequency by 100 - Multiplicera moduleringsfrekvens med 100 - - - - Divide modulation frequency by 100 - Dividera moduleringsfrekevens med 100 - - - - Engine - - - Generating wavetables - Generera vågtabeller - - - - Initializing data structures - Initierar datastrukturer - - - - Opening audio and midi devices - Öppnar ljud- och midienheter - - - - Launching mixer threads - Start mixertrådar - - - - MainWindow - - - Configuration file - Konfigurationsfil - - - - Error while parsing configuration file at line %1:%2: %3 - Fel vid inläsning av konfigurationsfil på rad %1:%2: %3 - - - - Could not open file - Kunde inte öppna fil - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Det gick inte att öppna filen %1 för att skriva. -Se till att du har skrivbehörighet till filen och mappen som innehåller filen och försök igen! - - - - Project recovery - Projektåterställning - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Det finns en återställningsfil tillgänglig. Det verkar som om programmet inte avslutades korrekt senast, eller så körs redan LMMS. Vill du återställa detta projekt? - - - - - Recover - Återställ - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Återställ filen. Se till att du bara har en instans av LMMS igång när du gör detta. - - - - - Discard - Kasta bort - - - - Launch a default session and delete the restored files. This is not reversible. - Starta en standard-session och ta bort den återskapade filen. Detta går inte ångra. - - - - Version %1 - Version %1 - - - - Preparing plugin browser - Förbereder tilläggsbläddraren - - - - Preparing file browsers - Förbereder fil-browser - - - - My Projects - Mina projekt - - - - My Samples - Mina samplingar - - - - My Presets - Mina förinställningar - - - - My Home - Min hemmapp - - - - Root directory - Root-mapp - - - - Volumes - Volymer - - - - My Computer - Min dator - - - - &File - &Arkiv - - - - &New - &Ny - - - - &Open... - &Öppna... - - - - Loading background picture - Läser in bakgrundsbild - - - - &Save - &Spara - - - - Save &As... - Spara &som... - - - - Save as New &Version - Spara som ny &version - - - - Save as default template - Spara som standardmall - - - - Import... - Importera... - - - - E&xport... - E&xportera... - - - - E&xport Tracks... - E&xportera spår... - - - - Export &MIDI... - Exportera &MIDI... - - - - &Quit - &Avsluta - - - - &Edit - &Redigera - - - - Undo - Ångra - - - - Redo - Gör om - - - - Settings - Inställningar - - - - &View - &Visa - - - - &Tools - &Verktyg - - - - &Help - &Hjälp - - - - Online Help - Hjälp på nätet - - - - Help - Hjälp - - - - About - Om - - - - Create new project - Skapa nytt projekt - - - - Create new project from template - Skapa nytt projekt från mall - - - - Open existing project - Öppna befintligt projekt - - - - Recently opened projects - Nyligen öppnade projekt - - - - Save current project - Spara aktuellt projekt - - - - Export current project - Exportera aktuellt projekt - - - - Metronome - Metronom - - - - - Song Editor - Låtredigerare - - - - - Beat+Bassline Editor - Takt+Basgång-redigerare - - - - - Piano Roll - Pianorulle - - - - - Automation Editor - Automatiseringsredigerare - - - - - Mixer - mixer - - - - Show/hide controller rack - Visa/dölj kontrollrack - - - - Show/hide project notes - Visa/dölj projektanteckningar - - - - Untitled - Namnlös - - - - Recover session. Please save your work! - Återställnings-session. Spara ditt arbete! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Återställt projekt inte sparat - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Projektet återställdes från den senaste sessionen. Det kommer försvinna om du inte sparar det. Vill du spara projektet nu? - - - - Project not saved - Projektet inte sparat - - - - The current project was modified since last saving. Do you want to save it now? - Projektet har ändrats sedan det sparades senast. Vill du spara nu? - - - - Open Project - Öppna projekt - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Spara projekt - - - - LMMS Project - LMMS-Projekt - - - - LMMS Project Template - LMMS-Projektmall - - - - Save project template - Spara projektmall - - - - Overwrite default template? - Vill du skriva över standardmallen? - - - - This will overwrite your current default template. - Detta kommer skriva över din nuvarande standardmall. - - - - Help not available - Hjälp inte tillgänglig - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Just nu finns ingen hjälp tillgänglig i LMMS -Besök https://lmms.io/documentation/ för dokumentation (Engelska). - - - - Controller Rack - Kontrollrack - - - - Project Notes - Projektanteckningar - - - - Fullscreen - Helskärm - - - - Volume as dBFS - Volym som dBFS - - - - Smooth scroll - Jämn rullning - - - - Enable note labels in piano roll - Visa noter i pianorulle - - - - MIDI File (*.mid) - MIDI-fil (*.mid) - - - - - untitled - namnlös - - - - - Select file for project-export... - Välj fil för projekt-export... - - - - Select directory for writing exported tracks... - Välj mapp för att skriva exporterade spår... - - - - Save project - Spara projekt - - - - Project saved - Projekt sparat - - - - The project %1 is now saved. - Projektet %1 är nu sparat. - - - - Project NOT saved. - Projektet är INTE sparat. - - - - The project %1 was not saved! - Projektet %1 sparades inte! - - - - Import file - Importera fil - - - - MIDI sequences - MIDI-sekvenser - - - - Hydrogen projects - Hydrogen-projekt - - - - All file types - Alla filtyper - - - - MeterDialog - - - - Meter Numerator - Mätartäljare - - - - Meter numerator - Mätartäljare - - - - - Meter Denominator - Mätarnämnare - - - - Meter denominator - Mätarnämnare - - - - TIME SIG - TAKTART - - - - MeterModel - - - Numerator - Täljare - - - - Denominator - Nämnare - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - CC %1 - - - - MidiController - - - MIDI Controller - MIDI-styrenhet - - - - unnamed_midi_controller - unnamed_midi_controller - - - - MidiImport - - - - Setup incomplete - Installation ofullständig - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Du har inte ställt in en standard SoundFont i inställningsdialogrutan (Redigera->Inställningar). Därför spelas inget ljud upp efter att ha importerat denna MIDI-fil. Du bör hämta en allmän MIDI-soundfont, ange den i inställningsdialogrutan och försök igen. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Du kompilerade inte LMMS med stöd för SoundFont2-spelaren, som används för att lägga till standardljud till importerade MIDI-filer. Därför spelas inget ljud upp efter att ha importerat denna MIDI-fil. - - - - MIDI Time Signature Numerator - MIDI-taktartsangivelse täljare - - - - MIDI Time Signature Denominator - MIDI-taktartsangivelse nämnare - - - - Numerator - Täljare - - - - Denominator - Nämnare - - - - Track - Spår - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK-server nerstängd - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - JACK-servern verkar vara avstängd. - - MidiPatternW @@ -8289,2731 +3279,370 @@ Besök https://lmms.io/documentation/ för dokumentation (Engelska).&Avsluta - + + Esc + + + + &Insert Mode &Infogningsläge - + F F - + &Velocity Mode &Hastighetsläge - + D D - + Select All Välj alla - + A A - - MidiPort - - - Input channel - Ingångskanal - - - - Output channel - Utgångskanal - - - - Input controller - Ingångskontroller - - - - Output controller - Utgångskontroller - - - - Fixed input velocity - Fast ingångsvelocitet - - - - Fixed output velocity - Fast utgångsvelocitet - - - - Fixed output note - Fast utgångsnot - - - - Output MIDI program - Utgång MIDI-program - - - - Base velocity - Bas-velocitet - - - - Receive MIDI-events - Ta emot MIDI-event - - - - Send MIDI-events - Skicka MIDI-event - - - - MidiSetupWidget - - - Device - Enhet - - - - MonstroInstrument - - - Osc 1 volume - Osc. 1 volym - - - - Osc 1 panning - Osc 1 panorering - - - - Osc 1 coarse detune - Osc. 1 grovurstämning - - - - Osc 1 fine detune left - Osc. 1 finurstämning vänster - - - - Osc 1 fine detune right - Osc. 1 finurstämning höger - - - - Osc 1 stereo phase offset - Osc. 1 stereofasposition - - - - Osc 1 pulse width - Osc. 1 pulsbredd - - - - Osc 1 sync send on rise - Osc. 1 synksändning vid stigning - - - - Osc 1 sync send on fall - Osc. 1 synksändning vid fall - - - - Osc 2 volume - Osc. 2 volym - - - - Osc 2 panning - Osc 2 panorering - - - - Osc 2 coarse detune - Osc. 2 grovurstämning - - - - Osc 2 fine detune left - Osc. 2 finurstämning vänster - - - - Osc 2 fine detune right - Osc. 2 finurstämning höger - - - - Osc 2 stereo phase offset - Osc. 2 stereofasposition - - - - Osc 2 waveform - Osc. 2 vågform - - - - Osc 2 sync hard - Osc. 2 synk hård - - - - Osc 2 sync reverse - Osc. 2 synk omvänd - - - - Osc 3 volume - Osc. 3 volym - - - - Osc 3 panning - Osc 3 panorering - - - - Osc 3 coarse detune - Osc. 3 grovurstämning - - - - Osc 3 Stereo phase offset - Osc. 3 stereofastposition - - - - Osc 3 sub-oscillator mix - Osc. 3 underoscillatormix - - - - Osc 3 waveform 1 - Osc. 3 vågform 1 - - - - Osc 3 waveform 2 - Osc. 3 vågform 2 - - - - Osc 3 sync hard - Osc. 3 synk hård - - - - Osc 3 Sync reverse - Osc. 3 synk omvänd - - - - LFO 1 waveform - LFO 1 vågform - - - - LFO 1 attack - LFO 1. stegring - - - - LFO 1 rate - LFO 1 hastighet - - - - LFO 1 phase - LFO 1 fas - - - - LFO 2 waveform - LFO 2 vågform - - - - LFO 2 attack - LFO 2 stegring - - - - LFO 2 rate - LFO 2 hastighet - - - - LFO 2 phase - LFO 2 fas - - - - Env 1 pre-delay - Knt 1 förfördröjning - - - - Env 1 attack - Knt 1 stegring - - - - Env 1 hold - Knt 1 håll - - - - Env 1 decay - Knt 1 sänkning - - - - Env 1 sustain - Knt 1 hållnivå - - - - Env 1 release - Knt 1 avklingning - - - - Env 1 slope - Knt 1 kurva - - - - Env 2 pre-delay - Knt 2 förfördröjning - - - - Env 2 attack - Knt 2 stegring - - - - Env 2 hold - Knt 2 håll - - - - Env 2 decay - Knt 2 sänkning - - - - Env 2 sustain - Knt 2 hållnivå - - - - Env 2 release - Knt 2 avklingning - - - - Env 2 slope - Knt 2 kurva - - - - Osc 2+3 modulation - Osc. 2+3-modulering - - - - Selected view - Vald vy - - - - Osc 1 - Vol env 1 - Osc. 1 - Vol. knt 1 - - - - Osc 1 - Vol env 2 - Osc. 1 - Vol. knt 2 - - - - Osc 1 - Vol LFO 1 - Osc. 1 - Vol. LFO 1 - - - - Osc 1 - Vol LFO 2 - Osc. 1 - Vol. LFO 2 - - - - Osc 2 - Vol env 1 - Osc. 2 - Vol. knt 1 - - - - Osc 2 - Vol env 2 - Osc. 2 - Vol. knt 2 - - - - Osc 2 - Vol LFO 1 - Osc. 2 - Vol. LFO 1 - - - - Osc 2 - Vol LFO 2 - Osc. 2 - Vol. LFO 2 - - - - Osc 3 - Vol env 1 - Osc. 3 - Vol. knt 1 - - - - Osc 3 - Vol env 2 - Osc. 3 - Vol. knt 2 - - - - Osc 3 - Vol LFO 1 - Osc. 3 - Vol. LFO 1 - - - - Osc 3 - Vol LFO 2 - Osc. 3 - Vol. LFO 2 - - - - Osc 1 - Phs env 1 - Osc. 1 - Fas knt 1 - - - - Osc 1 - Phs env 2 - Osc. 1 - Fas knt 2 - - - - Osc 1 - Phs LFO 1 - Osc. 1 - Fas LFO 1 - - - - Osc 1 - Phs LFO 2 - Osc. 1 - Fas LFO 2 - - - - Osc 2 - Phs env 1 - Osc. 2 - Fas knt 1 - - - - Osc 2 - Phs env 2 - Osc. 2 - Fas knt 2 - - - - Osc 2 - Phs LFO 1 - Osc. 2 - Fas LFO 1 - - - - Osc 2 - Phs LFO 2 - Osc. 2 - Fas LFO 2 - - - - Osc 3 - Phs env 1 - Osc. 3 - Fas knt 1 - - - - Osc 3 - Phs env 2 - Osc. 3 - Fas knt 2 - - - - Osc 3 - Phs LFO 1 - Osc. 3 - Fas LFO 1 - - - - Osc 3 - Phs LFO 2 - Osc. 3 - Fas LFO 2 - - - - Osc 1 - Pit env 1 - Osc. 1 - Pit knt 1 - - - - Osc 1 - Pit env 2 - Osc. 1 - Pit knt 2 - - - - Osc 1 - Pit LFO 1 - Osc. 1 - Pit LFO 1 - - - - Osc 1 - Pit LFO 2 - Osc. 1 - Pit LFO 2 - - - - Osc 2 - Pit env 1 - Osc. 2 - Pit knt 1 - - - - Osc 2 - Pit env 2 - Osc. 2 - Pit knt 2 - - - - Osc 2 - Pit LFO 1 - Osc. 2 - Pit LFO 1 - - - - Osc 2 - Pit LFO 2 - Osc. 2 - Pit LFO 2 - - - - Osc 3 - Pit env 1 - Osc. 3 - Pit knt 1 - - - - Osc 3 - Pit env 2 - Osc. 3 - Pit knt 2 - - - - Osc 3 - Pit LFO 1 - Osc. 3 - Pit LFO 1 - - - - Osc 3 - Pit LFO 2 - Osc. 3 - Pit LFO 2 - - - - Osc 1 - PW env 1 - Osc. 1 - PW knt 1 - - - - Osc 1 - PW env 2 - Osc. 1 - PW knt 2 - - - - Osc 1 - PW LFO 1 - Osc. 1 - PW LFO 1 - - - - Osc 1 - PW LFO 2 - Osc. 1 - PW LFO 2 - - - - Osc 3 - Sub env 1 - Osc. 3 - Sub knt 1 - - - - Osc 3 - Sub env 2 - Osc. 3 - Sub knt 2 - - - - Osc 3 - Sub LFO 1 - Osc. 3 - Sub LFO 1 - - - - Osc 3 - Sub LFO 2 - Osc. 3 - Sub LFO 2 - - - - - Sine wave - Sinusvåg - - - - Bandlimited Triangle wave - Bandbegränsad triangelvåg - - - - Bandlimited Saw wave - Bandbegränsad sågtandsvåg - - - - Bandlimited Ramp wave - Bandbegränsad rampvåg - - - - Bandlimited Square wave - Bandbegränsad fyrkantsvåg - - - - Bandlimited Moog saw wave - Bandbegränsad Moog sågtandsvåg - - - - - Soft square wave - Jämn fyrkantvåg - - - - Absolute sine wave - Absolut sinusvåg - - - - - Exponential wave - Exponentiell våg - - - - White noise - Vitt brus - - - - Digital Triangle wave - Digital Triangelvåg - - - - Digital Saw wave - Digital Sågtandsvåg - - - - Digital Ramp wave - Digital rampvåg - - - - Digital Square wave - Digital fyrkantsvåg - - - - Digital Moog saw wave - Digital Moogsågtandsvåg - - - - Triangle wave - Triangelvåg - - - - Saw wave - Sågtandsvåg - - - - Ramp wave - Rampvåg - - - - Square wave - Fyrkantvåg - - - - Moog saw wave - Moog sågtandsvåg - - - - Abs. sine wave - Abs. sinusvåg - - - - Random - Slumpmässig - - - - Random smooth - Slumpmässigt jämn - - - - MonstroView - - - Operators view - Operatörernas vy - - - - Matrix view - Matrisvy - - - - - - Volume - Volym - - - - - - Panning - Panorering - - - - - - Coarse detune - Grovurstämning - - - - - - semitones - halvtoner - - - - - Fine tune left - Finurstämning vänster - - - - - - - cents - hundradelar - - - - - Fine tune right - Finurstämning höger - - - - - - Stereo phase offset - Stereofasposition - - - - - - - - deg - grd - - - - Pulse width - Pulsbredd - - - - Send sync on pulse rise - Skicka synk vid pulsstigning - - - - Send sync on pulse fall - Skicka synk vid pulsfall - - - - Hard sync oscillator 2 - Hård synk oscillator 2 - - - - Reverse sync oscillator 2 - Omvänd synk oscillator 2 - - - - Sub-osc mix - Underosc.-mix - - - - Hard sync oscillator 3 - Hård synk oscillator 3 - - - - Reverse sync oscillator 3 - Omvänd synk oscillator 3 - - - - - - - Attack - Attack - - - - - Rate - Värdera - - - - - Phase - Fas - - - - - Pre-delay - Förfördröjning - - - - - Hold - Håll - - - - - Decay - Decay - - - - - Sustain - Sustain - - - - - Release - Release - - - - - Slope - Lutning - - - - Mix osc 2 with osc 3 - Mixa osc. 2 med osc. 3 - - - - Modulate amplitude of osc 3 by osc 2 - Modulera amplituden för osc. 3 med osc. 2 - - - - Modulate frequency of osc 3 by osc 2 - Modulera frekvens för osc. 3 med osc. 2 - - - - Modulate phase of osc 3 by osc 2 - Modulera fasen för osc. 3 med osc. 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Moduleringsmängd - - - - MultitapEchoControlDialog - - - Length - Längd - - - - Step length: - Steglängd: - - - - Dry - Original - - - - Dry gain: - Originalförstärkning: - - - - Stages - Stadier - - - - Low-pass stages: - Lågpassteg: - - - - Swap inputs - Växla ingångar - - - - Swap left and right input channels for reflections - Växla vänster och höger ingångskanaler för speglingar - - - - NesInstrument - - - Channel 1 coarse detune - Kanal 1 grovurstämning - - - - Channel 1 volume - Kanal 1 volym - - - - Channel 1 envelope length - Kanal 1 konturlängd - - - - Channel 1 duty cycle - Kanal 1 arbetscykel - - - - Channel 1 sweep amount - Kanal 1 svepmängd - - - - Channel 1 sweep rate - Kanal 1 svephastighet - - - - Channel 2 Coarse detune - Kanal 2 grovurstämning - - - - Channel 2 Volume - Kanal 2 volym - - - - Channel 2 envelope length - Kanal 2 konturlängd - - - - Channel 2 duty cycle - Kanal 2 arbetscykel - - - - Channel 2 sweep amount - Kanal 2 svepmängd - - - - Channel 2 sweep rate - Kanal 2 svephastighet - - - - Channel 3 coarse detune - Kanal 3 grovurstämning - - - - Channel 3 volume - Kanal 3 volym - - - - Channel 4 volume - Kanal 4 volym - - - - Channel 4 envelope length - Kanal 4 konturlängd - - - - Channel 4 noise frequency - Kanal 4 brusfrekvens - - - - Channel 4 noise frequency sweep - Kanal 4 brusfrekvenssvep - - - - Master volume - Huvudvolym - - - - Vibrato - Vibrato - - - - NesInstrumentView - - - - - - Volume - Volym - - - - - - Coarse detune - Grovurstämning - - - - - - Envelope length - Konturlängd - - - - Enable channel 1 - Aktivera kanal 1 - - - - Enable envelope 1 - Aktivera kontur 1 - - - - Enable envelope 1 loop - Aktivera kontur 1-loop - - - - Enable sweep 1 - Aktivera svep 1 - - - - - Sweep amount - Svepmängd - - - - - Sweep rate - Svephastighet - - - - - 12.5% Duty cycle - 12.5% arbetscykel - - - - - 25% Duty cycle - 25% arbetscykel - - - - - 50% Duty cycle - 50% arbetscykel - - - - - 75% Duty cycle - 75% arbetscykel - - - - Enable channel 2 - Aktivera kanal 2 - - - - Enable envelope 2 - Aktivera kontur 2 - - - - Enable envelope 2 loop - Aktivera kontur 2-loop - - - - Enable sweep 2 - Aktivera svep 2 - - - - Enable channel 3 - Aktivera kanal 3 - - - - Noise Frequency - Brusfrekvens - - - - Frequency sweep - Frekvenssvep - - - - Enable channel 4 - Aktivera kanal 4 - - - - Enable envelope 4 - Aktivera kontur 4 - - - - Enable envelope 4 loop - Aktivera kontur 4-loop - - - - Quantize noise frequency when using note frequency - Kvantifiera brusfrekvens vid användning av notfrekvens - - - - Use note frequency for noise - Använd notfrekvens för brus - - - - Noise mode - Brusläge - - - - Master volume - Huvudvolym - - - - Vibrato - Vibrato - - - - OpulenzInstrument - - - Patch - Inställning - - - - Op 1 attack - Op. 1 stegring - - - - Op 1 decay - Op. 1 sänkning - - - - Op 1 sustain - Op. 1 hållnivå - - - - Op 1 release - Op. 1 avklingning - - - - Op 1 level - Op. 1 nivå - - - - Op 1 level scaling - Op. 1 nivåskalning - - - - Op 1 frequency multiplier - Op. 1 frekvensmultiplikator - - - - Op 1 feedback - Op. 1 rundgång - - - - Op 1 key scaling rate - Op. 1 skalskalningshastighet - - - - Op 1 percussive envelope - Op.1 slagverkskontur - - - - Op 1 tremolo - Op. 1 tremolo - - - - Op 1 vibrato - Op. 1 vibrato - - - - Op 1 waveform - Op. 1 vågform - - - - Op 2 attack - Op. 2 stegring - - - - Op 2 decay - Op. 2 sänkning - - - - Op 2 sustain - Op. 2 hållnivå - - - - Op 2 release - Op. 2 avklingning - - - - Op 2 level - Op. 2 nivå - - - - Op 2 level scaling - Op. 2 nivåskalning - - - - Op 2 frequency multiplier - Op. 2 frekvensmultiplikator - - - - Op 2 key scaling rate - Op. 2 skalskalningshastighet - - - - Op 2 percussive envelope - Op. 2 slagverkskontur - - - - Op 2 tremolo - Op. 2 tremolo - - - - Op 2 vibrato - Op. 2 vibrato - - - - Op 2 waveform - Op. 2 vågform - - - - FM - FM - - - - Vibrato depth - Vibrato djup - - - - Tremolo depth - Tremolodjup - - - - OpulenzInstrumentView - - - - Attack - Attack - - - - - Decay - Decay - - - - - Release - Release - - - - - Frequency multiplier - Frekvensmultiplikator - - - - OscillatorObject - - - Osc %1 waveform - Osc. %1 vågform - - - - Osc %1 harmonic - Osc. %1 harmoni - - - - - Osc %1 volume - Osc %1 volym - - - - - Osc %1 panning - Osc %1 panorering - - - - - Osc %1 fine detuning left - Osc. %1 finurstämning vänster - - - - Osc %1 coarse detuning - Osc. %1 grovurstämning - - - - Osc %1 fine detuning right - Osc. %1 finurstämning höger - - - - Osc %1 phase-offset - Osc. %1 fasposition - - - - Osc %1 stereo phase-detuning - Osc %1 stereofasurstämning - - - - Osc %1 wave shape - Osc %1 vågform - - - - Modulation type %1 - Moduleringstyp %1 - - - - Oscilloscope - - - Oscilloscope - Oscilloskop - - - - Click to enable - Klicka för att aktivera - - PatchesDialog + Qsynth: Channel Preset Qsynth: Kanal förinställd + Bank selector Bankväljare + Bank Bank + Program selector Programväljare + Patch Inställning + Name Namn + OK OK + Cancel Avbryt - - PatmanView - - - Open patch - Öppna inställning - - - - Loop - Slinga - - - - Loop mode - Slinga-läge - - - - Tune - Tune - - - - Tune mode - Tune-läge - - - - No file selected - Ingen fil vald - - - - Open patch file - Öppna patch-fil - - - - Patch-Files (*.pat) - Patch-filer (*.pat) - - - - MidiClipView - - - Open in piano-roll - Öppna i pianorulle - - - - Set as ghost in piano-roll - Ange som spöke i pianorulle - - - - Clear all notes - Rensa alla noter - - - - Reset name - Nollställ namn - - - - Change name - Byt namn - - - - Add steps - Lägg till steg - - - - Remove steps - Ta bort steg - - - - Clone Steps - Klona Steg - - - - PeakController - - - Peak Controller - Toppkontroller - - - - Peak Controller Bug - Toppkontrollerbugg - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - På grund av en bugg i äldre versioner av LMMS kan toppkontrollrarna kommat att inte anslutas korrekt. Försäkra dig om att toppkontrollrarna är anslutna korrekt och spara om denna fil. Eventuella olägeheter beklagas. - - - - PeakControllerDialog - - - PEAK - TOPP - - - - LFO Controller - LFO-kontroller - - - - PeakControllerEffectControlDialog - - - BASE - BAS - - - - Base: - Bas: - - - - AMNT - BELP - - - - Modulation amount: - Moduleringsmängd: - - - - MULT - MULT - - - - Amount multiplicator: - Mängdmultiplikator: - - - - ATCK - STGR - - - - Attack: - Attack: - - - - DCAY - SÄNK - - - - Release: - Release: - - - - TRSH - NIVÅ - - - - Treshold: - Tröskelvärde: - - - - Mute output - Tysta utgångs-ljud - - - - Absolute value - Absolut värde - - - - PeakControllerEffectControls - - - Base value - Basvärde - - - - Modulation amount - Moduleringsmängd - - - - Attack - Attack - - - - Release - Release - - - - Treshold - Tröskelvärde - - - - Mute output - Tysta utgångs-ljud - - - - Absolute value - Absolut värde - - - - Amount multiplicator - Mängdmultiplikator - - - - PianoRoll - - - Note Velocity - Not-velocitet - - - - Note Panning - Not-panorering - - - - Mark/unmark current semitone - Markera/avmarkera nuvarande halvton - - - - Mark/unmark all corresponding octave semitones - Markera/avmarkera alla motsvarande oktavhalvtoner - - - - Mark current scale - Markera nuvarande skala - - - - Mark current chord - Markera nuvarande ackord - - - - Unmark all - Avmarkera allt - - - - Select all notes on this key - Välj alla noter på denna tangent - - - - Note lock - Notlås - - - - Last note - Senaste noten - - - - No key - Ingen skala - - - - No scale - Ingen skala - - - - No chord - Inget ackord - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Velocitet: %1% - - - - Panning: %1% left - Panorering: %1% vänster - - - - Panning: %1% right - Panorering: %1% höger - - - - Panning: center - Panorering: center - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Dubbelklicka för att öppna ett mönster! - - - - - Please enter a new value between %1 and %2: - Ange ett nytt värde mellan %1 och %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Spela/pausa aktuellt mönster (mellanslag) - - - - Record notes from MIDI-device/channel-piano - Spela in noter från MIDI-enhet/kanal-piano - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Spela in noter från MIDI-enhet/kanal-piano medan låt eller BB-spår spelas - - - - Record notes from MIDI-device/channel-piano, one step at the time - Spela in noter från MIDI-enhet/kanal-piano, ett steg i taget - - - - Stop playing of current clip (Space) - Sluta spela aktuellt mönster (mellanslag) - - - - Edit actions - Redigera åtgärder - - - - Draw mode (Shift+D) - Ritläge (Skift+D) - - - - Erase mode (Shift+E) - Suddläge (Skift+E) - - - - Select mode (Shift+S) - Markeringsläge (Skift+S) - - - - Pitch Bend mode (Shift+T) - Tonhöjdsböjningsläge (Shift+T) - - - - Quantize - Kvantisera - - - - Quantize positions - Kvantisera positioner - - - - Quantize lengths - Kvantisera längder - - - - File actions - Filåtgärder - - - - Import clip - Importera mönster - - - - - Export clip - Exportera mönster - - - - Copy paste controls - Kopiera/klistra-kontroller - - - - Cut (%1+X) - Klipp ut (%1+X) - - - - Copy (%1+C) - Kopiera (%1+C) - - - - Paste (%1+V) - Klistra in (%1+V) - - - - Timeline controls - Tidslinjekontroller - - - - Glue - - - - - Knife - - - - - Fill - Fyll - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Zoom- och notkontroller - - - - Horizontal zooming - Horisontell zoomning - - - - Vertical zooming - Vertikal zoomning - - - - Quantization - Kvantisering - - - - Note length - Notlängd - - - - Key - Skala - - - - Scale - Skala - - - - Chord - Ackord - - - - Snap mode - - - - - Clear ghost notes - Rensa spöknoter - - - - - Piano-Roll - %1 - Pianorulle - %1 - - - - - Piano-Roll - no clip - Pianorulle - inget mönster - - - - - XML clip file (*.xpt *.xptz) - XML-mönsterfil (*.xpt *.xptz) - - - - Export clip success - Export av mönster lyckades - - - - Clip saved to %1 - Mönster sparat till %1 - - - - Import clip. - Importera mönster. - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - Du håller på att importera ett mönster, detta kommer att skriva över ditt nuvarande mönster. Vill du fortsätta? - - - - Open clip - Öppet mönster - - - - Import clip success - Import av mönster lyckades - - - - Imported clip %1! - Importerat mönstret %1! - - - - PianoView - - - Base note - Basnot - - - - First note - - - - - Last note - Senaste noten - - - - Plugin - - - Plugin not found - Tillägget hittades inte - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Tillägget "%1" hittades inte eller kunde inte läsas in! -Orsak: "%2" - - - - Error while loading plugin - Fel vid inläsning av tillägg - - - - Failed to load plugin "%1"! - Misslyckades att läsa in tillägget "%1"! - - PluginBrowser - - Instrument Plugins - Instrument-tillägg - - - - Instrument browser - Instrument bläddrare - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Dra ett instrument till antingen Låtredigeraren, Takt+Basgång-redigeraren eller till ett befintligt instrumentspår. - - - + no description ingen beskrivning - + A native amplifier plugin En inbyggd förstärkare-tillägg - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Enkel sampler med olika inställningar för att använda samplingar (t. ex. trummor) i ett instrumentspår - + Boost your bass the fast and simple way Öka din bas på snabbt och enkelt sätt - + Customizable wavetable synthesizer Anpassa vågtabellssynthesizer - + An oversampling bitcrusher En översamplande bitkrossare - + Carla Patchbay Instrument Instrument för Carla Kopplingsplint - + Carla Rack Instrument Carla Rack-instrument - + A dynamic range compressor. - + A 4-band Crossover Equalizer En 4-bands korsningspunkts frekvenskorrigerare - + A native delay plugin Ett inbyggt fördröjningstillägg - + A Dual filter plugin Ett Dual filter-tillägg - + plugin for processing dynamics in a flexible way tillägg för dynamisk bearbetning på ett flexibelt sätt - + A native eq plugin Ett inbyggt eq-tillägg - + A native flanger plugin Ett inbyggt flanger-tillägg - + Emulation of GameBoy (TM) APU Emulering av GameBoy (TM) APU - + Player for GIG files Spelare för GIG-filer - + Filter for importing Hydrogen files into LMMS Filter för att importera Hydrogen-filer till LMMS - + Versatile drum synthesizer Mångsidig trum-synth - + List installed LADSPA plugins Lista installerade LADSPA-tillägg - + plugin for using arbitrary LADSPA-effects inside LMMS. tillägg för att använda godtyckliga LADSPA-effekter inom LMMS. - + Incomplete monophonic imitation TB-303 - Ofullstädig monofonisk imitation av TB-303 + - + plugin for using arbitrary LV2-effects inside LMMS. tillägg för användning av godtyckliga LV2-effekter inuti LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. tillägg för användning av godtyckliga LV2-instrument inuti LMMS. - + Filter for exporting MIDI-files from LMMS Filter för att exportera MIDI-filer från LMMS - + Filter for importing MIDI-files into LMMS Filter för att importera MIDI-filer till LMMS - + Monstrous 3-oscillator synth with modulation matrix Monstruös 3-oscillatorsynth med moduleringsmix - + A multitap echo delay plugin Ett flertapps ekofördröjningstillägg - + A NES-like synthesizer En NES-lik synthesizer - + 2-operator FM Synth 2-operators FM-synth - + Additive Synthesizer for organ-like sounds Additiv synthesizer för orgellika ljud - + GUS-compatible patch instrument GUS-kompatibelt kopplingsinstrument - + Plugin for controlling knobs with sound peaks Tillägg för styrning av rattar med ljudtoppar - + Reverb algorithm by Sean Costello Reverb-algoritm av Sean Costello - + Player for SoundFont files Spelare för SoundFont-filer - + LMMS port of sfxr LMMS-port av sfxr - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Emulering av MOS6581 och MODS 8580 SID. Detta chip användes i datorn Commodore 64. - + A graphical spectrum analyzer. En grafisk spektrumanalysator - + Plugin for enhancing stereo separation of a stereo input file Tillägg för att förbättra stereoseparation av en stereoingångsfil - + Plugin for freely manipulating stereo output Tillägg för fritt manipulera stereoutgång - + Tuneful things to bang on Melodiska saker att slå på - + Three powerful oscillators you can modulate in several ways Tre kraftfulla oscillatorer du kan modulera på flera sätt - + A stereo field visualizer. Stereofältsvisualiserare. - + VST-host for using VST(i)-plugins within LMMS VST-värd för att använda VST(i)-tillägg inom LMMS - + Vibrating string modeler Modellerare för vibrerande strängar - + plugin for using arbitrary VST effects inside LMMS. tillägg för att använda godtyckliga VST-effekter inom LMMS. - + 4-oscillator modulatable wavetable synth 4-oscillators modulerbar vågtabellssynth - + plugin for waveshaping tillägg för vågformande - + Mathematical expression parser Tolk för matematiska uttryck - + Embedded ZynAddSubFX Inbäddad ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New - Carla - Lägg till ny + + An all-pass filter allowing for extremely high orders. + - - Format - Format + + Granular pitch shifter + - - Internal - Intern + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. + - - LADSPA - LADSPA + + Basic Slicer + - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - Sound Kits - Ljuduppsättning - - - - Type - Typ - - - - Effects - Effekter - - - - Instruments - Instrument - - - - MIDI Plugins - MIDI-tillägg - - - - Other/Misc - Annat/diverse - - - - Architecture - Arkitektur - - - - Native - Inbyggt - - - - Bridged - Bryggad - - - - Bridged (Wine) - Bryggad (Wine) - - - - Requirements - Krav - - - - With Custom GUI - Med anpassat användargränssnitt - - - - With CV Ports - Med CV-portar - - - - Real-time safe only - Endast realtidssäkert - - - - Stereo only - Endast stereo - - - - With Inline Display - Med inbyggd visning - - - - Favorites only - Endast favoriter - - - - (Number of Plugins go here) - (Antal tillägg placeras här) - - - - &Add Plugin - &Lägg till tillägg - - - - Cancel - Avbryt - - - - Refresh - Uppdatera - - - - Reset filters - Återställ filter - - - - - - - - - - - - - - - - - - - TextLabel - TextLabel - - - - Format: - Format: - - - - Architecture: - Arkitektur: - - - - Type: - Typ: - - - - MIDI Ins: - MIDI in: - - - - Audio Ins: - Ljudingångar: - - - - CV Outs: - CV-utgångar: - - - - MIDI Outs: - MIDI ut: - - - - Parameter Ins: - Parameteringångar: - - - - Parameter Outs: - Parameterutgångar: - - - - Audio Outs: - Ljudutgångar: - - - - CV Ins: - CV-ingångar: - - - - UniqueID: - UniqueID: - - - - Has Inline Display: - Har inbyggd visning: - - - - Has Custom GUI: - Has anpassat användargränssnitt: - - - - Is Synth: - Är en synth: - - - - Is Bridged: - Är bryggad: - - - - Information - Information - - - - Name - Namn - - - - Label/URI - Etikett/URI - - - - Maker - Tillverkare - - - - Binary/Filename - Binär/filnamn - - - - Focus Text Search - Fokusera på textsökning - - - - Ctrl+F - Ctrl+F + + Tap to the beat + @@ -11111,36 +3740,41 @@ Detta chip användes i datorn Commodore 64. + Send Notes + + + + Send Bank/Program Changes Skicka bank-/programändringar - + Send Control Changes Skicka kontrolländringar - + Send Channel Pressure Skicka kanaltryck - + Send Note Aftertouch Skicka efterberöring för noter - + Send Pitchbend Skicka tonhöjdsböjning - + Send All Sound/Notes Off Skicka alla ljud/noter av - + Plugin Name @@ -11149,57 +3783,57 @@ Tilläggsnamn - + Program: Program: - + MIDI Program: MIDI-program: - + Save State Spara tillstånd - + Load State Ladda tillstånd - + Information Information - + Label/URI: Etikett/URI: - + Name: Namn: - + Type: Typ: - + Maker: Tillverkare: - + Copyright: Upphovsrätt: - + Unique ID: Unikt ID: @@ -11207,16 +3841,457 @@ Tilläggsnamn PluginFactory - + Plugin not found. Tillägget hittades inte. - + LMMS plugin %1 does not have a plugin descriptor named %2! LMMS-tillägget %1 har ingen tilläggsbeskrivning med namnet %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -11231,158 +4306,61 @@ Tilläggsnamn + TextLabel + + + + ... ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh - Carla - Uppdatera + + Plugin Refresh + - - Search for new... - Sök efter nya... + + Search for: + - - LADSPA - LADSPA + + All plugins, ignoring cache + - - DSSI - DSSI + + Updated plugins only + - - LV2 - LV2 + + Check previously invalid plugins + - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native - Inbyggt - - - - POSIX 32bit - POSIX 32bit - - - - POSIX 64bit - POSIX 64bit - - - - Windows 32bit - Windows 32bit - - - - Windows 64bit - Windows 64bit - - - - Available tools: - Tillgängliga verktyg: - - - - python3-rdflib (LADSPA-RDF support) - python3-rdflib (LADSPA-RDF-stöd) - - - - carla-discovery-win64 - carla-discovery-win64 - - - - carla-discovery-native - carla-discovery-native - - - - carla-discovery-posix32 - carla-discovery-posix32 - - - - carla-discovery-posix64 - carla-discovery-posix64 - - - - carla-discovery-win32 - carla-discovery-win32 - - - - Options: - Alternativ: - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - Carla kommer att köra små bearbetningskontroller vid skanning av tillägg (för att se till att de inte kraschar). -Du kan inaktivera dessa kontroller för att få en snabbare skanningstid (på egen risk). - - - - Run processing checks while scanning - Kör processkontroller under detektering - - - + Press 'Scan' to begin the search - Tryck på 'Skanna' för att påbörja sökningen + - + Scan - Skanna + - + >> Skip - >> Hoppa + - + Close - Stäng + @@ -11397,50 +4375,50 @@ Du kan inaktivera dessa kontroller för att få en snabbare skanningstid (på eg Bild - + Enable Aktivera - + On/Off På/Av - + - + PluginName Tilläggsnamn - + MIDI MIDI - + AUDIO IN LJUDINGÅNG - + AUDIO OUT LJUDUTGÅNG - + GUI Användargränssnitt - + Edit Redigera - + Remove Ta bort @@ -11455,5175 +4433,14606 @@ Du kan inaktivera dessa kontroller för att få en snabbare skanningstid (på eg Förinställning: - - ProjectNotes - - - Project Notes - Projektanteckningar - - - - Enter project notes here - Ange projektnoteringar här - - - - Edit Actions - Redigera Åtgärder - - - - &Undo - &Ångra - - - - %1+Z - %1+Z - - - - &Redo - &Gör om - - - - %1+Y - %1+Y - - - - &Copy - &Kopiera - - - - %1+C - %1+C - - - - Cu&t - Klipp u&t - - - - %1+X - %1+X - - - - &Paste - &Klistra in - - - - %1+V - %1+V - - - - Format Actions - Formatåtgärder - - - - &Bold - &Fet - - - - %1+B - %1+B - - - - &Italic - &Kursiv - - - - %1+I - %1+I - - - - &Underline - &Understruken - - - - %1+U - %1+U - - - - &Left - &Vänster - - - - %1+L - %1+L - - - - C&enter - C&entrera - - - - %1+E - %1+E - - - - &Right - &Höger - - - - %1+R - %1+R - - - - &Justify - &Justera - - - - %1+J - %1+J - - - - &Color... - &Färg... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin Läs in tillägg igen - + Show GUI Visa användargränssnitt - + Help Hjälp + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: Namn: - - URI: - URI: - - - - - + Maker: Skapare: - - - + Copyright: Copyright: - - + Requires Real Time: Kräver realtid: - - - - - - + + + Yes Ja - - - - - - + + + No Nej - - + Real Time Capable: Klarar realtid: - - + In Place Broken: Trasig på plats: - - + Channels In: Kanaler in: - - + Channels Out: Kanaler ut: - + File: %1 Fil: %1 - + File: Fil: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Nyligen öppnade projekt + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Byt namn... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Ingång + + Amplify + - - Input gain: - Ingångsförstärkning: + + Start of sample + - - Size - Storlek + + End of sample + - - Size: - Storlek: + + Loopback point + - - Color - Färg + + Reverse sample + - - Color: - Färg: + + Loop mode + - - Output - Utgång + + Stutter + - - Output gain: - Utgångsförstärkning: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Ingångsförstärkning + - - Size - Storlek + + Input noise + - - Color - Färg + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Utgångsförstärkning + - SaControls - - - Pause - Pausa - - - - Reference freeze - Referensfrysning - + lmms::SaControls - Waterfall - Vattenfall + Pause + - Averaging - Medelvärdesbildning - - - - Stereo - Stereo + Reference freeze + - Peak hold - Topphållning + Waterfall + + + + + Averaging + - Logarithmic frequency - Logaritmisk frekvens + Stereo + - Logarithmic amplitude - Logaritmisk amplitud + Peak hold + + + + + Logarithmic frequency + - Frequency range - Frekvensområde - - - - Amplitude range - Amplitudomfång - - - - FFT block size - Blockstorlek för FFT + Logarithmic amplitude + - FFT window type - FFT-fönstertyp + Frequency range + + + + + Amplitude range + + + + + FFT block size + - Peak envelope resolution - Toppkonturupplösning - - - - Spectrum display resolution - Spektrumvisningsupplösning - - - - Peak decay multiplier - Toppavklingingsmultiplikator + FFT window type + - Averaging weight - Genomsnittsviktning + Peak envelope resolution + - Waterfall history size - Historikstorlek för vattenfall + Spectrum display resolution + - Waterfall gamma correction - Gammakorrigering för vattenfall + Peak decay multiplier + - FFT window overlap - Överlappning för FFT-fönster + Averaging weight + + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - Nollfyllnad för FFT - - - - - Full (auto) - Fullständig (automatisk) - - - - - - Audible - Hörbart - - - - Bass - Bas + - Mids - Mellanregister + + Full (auto) + - High - Hög + + + Audible + + + + + Bass + + + + + Mids + - Extended - Utökat - - - - Loud - Högljudd + High + + Extended + + + + + Loud + + + + Silent - Tyst + - + (High time res.) - (Hög tidsuppl.) + - + (High freq. res.) - (Hög frekv.uppl.) - - - - Rectangular (Off) - Rektangulär (Av) - - - - - Blackman-Harris (Default) - Blackman-Harris (Standard) - - - - Hamming - Hamming + + Rectangular (Off) + + + + + + Blackman-Harris (Default) + + + + + Hamming + + + + Hanning - Hanning - - - - SaControlsDialog - - - Pause - Pausa - - - - Pause data acquisition - Pausa datainsamling - - - - Reference freeze - Referensfrysning - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - Frys aktuella ingång som en referens / inaktivera fall i topphållningsläge. - - - - Waterfall - Vattenfall - - - - Display real-time spectrogram - Visa spektrogram i realtid - - - - Averaging - Medelvärdesbildning - - - - Enable exponential moving average - Aktivera exponentiellt glidande medelvärde - - - - Stereo - Stereo - - - - Display stereo channels separately - Visa stereokanaler separat - - - - Peak hold - Topphållning - - - - Display envelope of peak values - Visa kontur för toppvärden - - - - Logarithmic frequency - Logaritmisk frekvens - - - - Switch between logarithmic and linear frequency scale - Växla mellan logaritmisk och linjär frekvensskala - - - - - Frequency range - Frekvensområde - - - - Logarithmic amplitude - Logaritmisk amplitud - - - - Switch between logarithmic and linear amplitude scale - Växla mellan logaritmisk och linjär amplitudskala - - - - - Amplitude range - Amplitudomfång - - - - Envelope res. - Konturuppl. - - - - Increase envelope resolution for better details, decrease for better GUI performance. - Öka konturupplösning för fler detaljer, minska för bättre användargrässnittsprestanda. - - - - - Draw at most - Rita som mest - - - - envelope points per pixel - konturpunkter per pixel - - - - Spectrum res. - Spektrum uppl. - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - Öka spektrumupplösningen för bättre detaljer, minska för bättre användargränssnittsprestanda. - - - - spectrum points per pixel - spektrumpunkter per pixel - - - - Falloff factor - Fallfaktor - - - - Decrease to make peaks fall faster. - Minska för att topparna ska falla snabbare. - - - - Multiply buffered value by - Multiplera buffrat värde med - - - - Averaging weight - Genomsnittsviktning - - - - Decrease to make averaging slower and smoother. - Minska för att göra medelvädesbildning långsammare och mjukare. - - - - New sample contributes - Nytt sample bidrar - - - - Waterfall height - Vattenfallshöjd - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - Öka för att gå lånsammare rullning, minska för att se snabba övergångar bättre. Varning: medel CPU-användning. - - - - Keep - Behåll - - - - lines - linjer - - - - Waterfall gamma - Vattenfallsgamma - - - - Decrease to see very weak signals, increase to get better contrast. - Minska för att se väldigt svara signaler, öka för att få bättre kontrast. - - - - Gamma value: - Gammavärde: - - - - Window overlap - Fönster överlappning - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - Öka för att undvika att missa snabba övergångar som uppträder nära FFT-fönstrets kanter. Varning: hög CPU-användning. - - - - Each sample processed - Varje sampel hanterat - - - - times - gånger - - - - Zero padding - Nollfyllnad - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - Öka för att få ett spektrum som ser mjukare ut. Varning: hög CPU-använding. - - - - Processing buffer is - Hanteringsbuffert är - - - - steps larger than input block - steg större än ingångsblock - - - - Advanced settings - Avancerade inställningar - - - - Access advanced settings - Kom åt avancerade inställningar - - - - - FFT block size - Blockstorlek för FFT - - - - - FFT window type - FFT-fönstertyp - - - - SampleBuffer - - - Fail to open file - Misslyckas med att öppna filen - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Ljudfiler är begränsade till %1 MB i storlek och %2 minuters speltid - - - - Open audio file - Öppna ljudfil - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Alla ljudfiler (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave-filer (*.wav) - - - - OGG-Files (*.ogg) - OGG-filer (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth-filer (*.ds) - - - - FLAC-Files (*.flac) - FLAC-filer (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX-filer (*.spx) - - - - VOC-Files (*.voc) - VOC-filer (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF-filer (*.aif *.aiff) - - - - AU-Files (*.au) - AU-filer (*.au) - - - - RAW-Files (*.raw) - RAW-filer (*.raw) - - - - SampleClipView - - - Double-click to open sample - Dubbelklicka för att öppna sampel - - - - Delete (middle mousebutton) - Ta bort (musens mitt-knapp) - - - - Delete selection (middle mousebutton) - Ta bort markering (mittenmusknapp) - - - - Cut - Klipp ut - - - - Cut selection - Klipp ut markering - - - - Copy - Kopiera - - - - Copy selection - Kopiera markering - - - - Paste - Klistra in - - - - Mute/unmute (<%1> + middle click) - Tysta/avtysta (<%1> + mittenklick) - - - - Mute/unmute selection (<%1> + middle click) - Tysta/öppna markering (<%1> + mittenklick) - - - - Reverse sample - Spela baklänges - - - - Set clip color + + + lmms::SampleClip - - Use track color - Använd spårfärg + + Sample not found + - SampleTrack + lmms::SampleTrack - + Volume - Volym + - + Panning - Panorering + - + Mixer channel - FX-kanal + - - + + Sample track - Ljudspår + - SampleTrackView + lmms::Scale - - Track volume - Spårvolym - - - - Channel volume: - Kanalvolym: - - - - VOL - VOL - - - - Panning - Panorering - - - - Panning: - Panorering: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 + + empty + - SampleTrackWindow + lmms::Sf2Instrument - - GENERAL SETTINGS - ALLMÄNNA INSTÄLLNINGAR - - - - Sample volume - Sampelvolym - - - - Volume: - Volym: - - - - VOL - VOL - - - - Panning - Panorering - - - - Panning: - Panorering: - - - - PAN - PAN - - - - Mixer channel - FX-kanal - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - Kassera MIDI-anslutningar - - - - Save As Project Bundle (with resources) - Spara som projektpaket (med resurser) - - - - SetupDialog - - - Reset to default value - Återställ till standardvärde - - - - Use built-in NaN handler - Använd inbyggd NaN-hanterare - - - - Settings - Inställningar - - - - - General - Allmänt - - - - Graphical user interface (GUI) - Grafiskt användargränssnitt (GUI) - - - - Display volume as dBFS - Visa volym som dBFS - - - - Enable tooltips - Aktivera verktygstips - - - - Enable master oscilloscope by default - Aktivera huvudoscilloskop som standard - - - - Enable all note labels in piano roll - Aktivera alla notetiketter för pianorulle - - - - Enable compact track buttons - Aktivera kompakta spårknappar - - - - Enable one instrument-track-window mode - Aktivera ett-instrumentsspårfönsterläge - - - - Show sidebar on the right-hand side - Visa sidopanel på höger sida - - - - Let sample previews continue when mouse is released + + Bank - - Mute automation tracks during solo - Tysta automatiseringsspårk vid solo - - - - Show warning when deleting tracks + + Patch - - Projects - Projekt + + Gain + - - Compress project files by default - Komprimera projektfiler som standard + + Reverb + - - Create a backup file when saving a project - Skapa en säkerhetskopieringsfil vid sparning av projekt + + Reverb room size + - - Reopen last project on startup - Öppna det senaste projektet vid uppstart + + Reverb damping + - - Language - Språk + + Reverb width + - - - Performance - Prestanda + + Reverb level + - - Autosave - Spara automatiskt + + Chorus + - - Enable autosave - Aktivera spara automatiskt + + Chorus voices + - - Allow autosave while playing - Tillåt spara automatiskt medan du spelar + + Chorus level + - - User interface (UI) effects vs. performance - Användargränssnitts effekter versus prestanda + + Chorus speed + - - Smooth scroll in song editor - Mjuk rullning i låtredigeraren + + Chorus depth + - - Display playback cursor in AudioFileProcessor - Visa uppspelningsmarkör i AudioFileProcessor - - - - Plugins - Tillägg - - - - VST plugins embedding: - VST-tilläggsinbäddning: - - - - No embedding - Ingen inbäddning - - - - Embed using Qt API - Bädda in via Qt-API - - - - Embed using native Win32 API - Bädda in via inbyggt Win32-API - - - - Embed using XEmbed protocol - Bädda in via XEmbed-protokoll - - - - Keep plugin windows on top when not embedded - Håll tilläggsfönstren överst när de inte är inbäddade - - - - Sync VST plugins to host playback - Synkronisera VST-tillägg för att vara värd för uppspelning - - - - Keep effects running even without input - Håll effekter igång även utan ingång - - - - - Audio - Ljud - - - - Audio interface - Ljudgränssnitt - - - - HQ mode for output audio device - HQ-läget för ljudutgångsenhet - - - - Buffer size - Buffertstorlek - - - - - MIDI - MIDI - - - - MIDI interface - MIDI-gränssnitt - - - - Automatically assign MIDI controller to selected track - Tilldela automatiskt MIDI-kontroller till markerat spår - - - - LMMS working directory - LMMS-arbetsmapp - - - - VST plugins directory - VST-tilläggsmapp - - - - LADSPA plugins directories - Mappar för LADSPA-tillägg - - - - SF2 directory - Mapp för SF2-filer - - - - Default SF2 - Standard SF2 - - - - GIG directory - Mapp för GIG-filer - - - - Theme directory - Temamapp - - - - Background artwork - Bakgrundskonstverk - - - - Some changes require restarting. - Några ändringar kräver omstart. - - - - Autosave interval: %1 - Intervall för att spara automatisk: %1 - - - - Choose the LMMS working directory - Välj LMMS-arbetsmapp - - - - Choose your VST plugins directory - Välj din VST-tilläggsmapp - - - - Choose your LADSPA plugins directory - Välj din LADSPA-tilläggsmapp - - - - Choose your default SF2 - Välj din standard SF2 - - - - Choose your theme directory - Välj din temamapp - - - - Choose your background picture - Välj din bakgrundsbild - - - - - Paths - Sökvägar - - - - OK - OK - - - - Cancel - Avbryt - - - - Frames: %1 -Latency: %2 ms - Ramar: %1 -Latens: %2 ms - - - - Choose your GIG directory - Välj din GIG-mapp - - - - Choose your SF2 directory - Välj din SF2-mapp - - - - minutes - minuter - - - - minute - minut - - - - Disabled - Inaktiverad + + A soundfont %1 could not be loaded. + - SidInstrument + lmms::SfxrInstrument - + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Cutoff frekvens + - + Resonance - Resonans + + + + + Filter type + - Filter type - Filtertyp - - - Voice 3 off - Röst 3 av + - + Volume - Volym + - + Chip model - Chipmodell + - SidInstrumentView + lmms::SlicerT - - Volume: - Volym: + + Note threshold + - - Resonance: - Resonans: + + FadeOut + - - - Cutoff frequency: - Brytfrekvens: + + Original bpm + - - High-pass filter - Högpassfilter + + Slice snap + - - Band-pass filter - Bandpassfilter + + BPM sync + - - Low-pass filter - Lågpassfilter + + + slice_%1 + - - Voice 3 off - Röst 3 av - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Attack: - - - - - Decay: - Decay: - - - - Sustain: - Sustain: - - - - - Release: - Release: - - - - Pulse Width: - Pulsbredd: - - - - Coarse: - Grov: - - - - Pulse wave - Pulsvåg - - - - Triangle wave - Triangelvåg - - - - Saw wave - Sågtandsvåg - - - - Noise - Brus - - - - Sync - Synkronisera - - - - Ring modulation - Ringmodulering - - - - Filtered - Filtrerad - - - - Test - Testa - - - - Pulse width: - Pulsbredd: + + Sample not found: %1 + - SideBarWidget + lmms::Song - - Close - Stäng - - - - Song - - + Tempo - Tempo + - + Master volume - Huvudvolym + - + Master pitch - Huvudtonhöjd - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - Det går inte att läsa in projektet: Projektfilen innehåller lokala sökvägar till tillägg. + - + LMMS Error report - LMMS Felrapport + - + (repeated %1 times) - (repetera %1 gånger) + - + The following errors occurred while loading: - Följande fel inträffade under inläsning: + - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Kunde inte öppna fil + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + - + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - Det gick inte att öppna filen %1. Du har förmodligen inga behörigheter att läsa den här filen. - Se till att ha åtminstone läsbehörigheter till filen och försök igen. + - + Operation denied - Operation nekad + - + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - + + + Error - Fel + - + Couldn't create bundle folder. - + Couldn't create resources folder. - Det gick inte att skapa resursmappen. - - - - Failed to copy resources. - Det gick inte att kopiera resurser. - - - - Could not write file - Kunde inte skriva fil - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - This %1 was created with LMMS %2 - Denna %1 har skapats med LMMS %2 + + Failed to copy resources. + - + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + Error in file - Fel i filen + - + The file %1 seems to contain errors and therefore can't be loaded. - Filen %1 verkar innehålla fel och kan därför inte läsas in. + - - Version difference - Versions-skillnad - - - + template - mall + - + project - projekt + - + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + Tempo - Tempo + - + TEMPO - TEMPO + - + Tempo in BPM - Tempot i BPM + - - High quality mode - Hög kvalitet läge - - - - - + + + Master volume - Huvudvolym + - - - - Master pitch - Huvudtonhöjd + + + + Global transposition + - + + 1/%1 Bar + + + + + %1 Bars + + + + Value: %1% - Värde: %1% + - - Value: %1 semitones - Värde: %1 halvtoner + + Value: %1 keys + - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - Låtredigerare + + + + + Play song (Space) + + + + + Record samples from Audio-device + - Play song (Space) - Spela låt (Mellanslag) + Record samples from Audio-device while playing song or pattern track + - Record samples from Audio-device - Spela in samplingar från ljudenheten - - - - Record samples from Audio-device while playing song or BB track - Spela in samplingar från ljudenheten medan du spelar låten eller BB-spåret - - - Stop song (Space) - Stoppa låt (Mellanslag) + - + Track actions - Spåråtgärder + - - Add beat/bassline - Lägg till takt/basgång + + Add pattern-track + - + Add sample-track - Lägg till ljudspår + - + Add automation-track - Lägg till automationsspår + - + Edit actions - Redigera åtgärder + - + Draw mode - Ritläge + - + Knife mode (split sample clips) - + Edit mode (select and move) - Redigeringsläge (välj och flytta) - - - - Timeline controls - Tidslinjekontroller - - - - Bar insert controls - Infogningskontroller för takt - - - - Insert bar - Infoga takt - - - - Remove bar - Ta bort takt - - - - Zoom controls - Zoomningskontroller - - - - Horizontal zooming - Horisontell zoomning - - - - Snap controls - Fäst kontroller - - - - - Clip snapping size - Fäststorlek för klipp - - - - Toggle proportional snap on/off - Växla proportionell fästning av/på - - - - Base snapping size - Grundläggande fäststorlek - - - - StepRecorderWidget - - - Hint - Ledtråd - - - - Move recording curser using <Left/Right> arrows - Flytta inspelningsmarkör med <Vänster/Höger>-pilarna - - - - SubWindow - - - Close - Stäng - - - - Maximize - Maximera - - - - Restore - Återställ - - - - TabWidget - - - - Settings for %1 - Inställningar för %1 - - - - TemplatesMenu - - - New from template - Nytt från mall - - - - TempoSyncKnob - - - - Tempo Sync - Temposynkronisering - - - - No Sync - Ingen synkronisering - - - - Eight beats - Åtta takter - - - - Whole note - Hel-not - - - - Half note - Halvnot - - - - Quarter note - Fjärdedelsnot - - - - 8th note - 8:e noten - - - - 16th note - 16:e noten - - - - 32nd note - 32:e noten - - - - Custom... - Anpassad... - - - - Custom - Anpassad - - - - Synced to Eight Beats - Synkroniserad till Åtta Takter - - - - Synced to Whole Note - Synkroniserad till helnoten - - - - Synced to Half Note - Synkroniserad till halvnoten - - - - Synced to Quarter Note - Synkroniserad till fjärdedelsnoten - - - - Synced to 8th Note - Synkroniserad till 8:e noten - - - - Synced to 16th Note - Synkroniserad till 16:e noten - - - - Synced to 32nd Note - Synkroniserad till 32:e noten - - - - TimeDisplayWidget - - - Time units - Tidsenheter - - - - MIN - MIN - - - - SEC - SEK - - - - MSEC - MSEK - - - - BAR - TAKT - - - - BEAT - TAKT - - - - TICK - TICK - - - - TimeLineWidget - - - Auto scrolling - Automatisk rullning - - - - Loop points - Looppunkter - - - - After stopping go back to beginning - Efter at ha stannat, gå tillbaka till början - - - - After stopping go back to position at which playing was started - Efter att ha stoppat gå tillbaka till position där spelningen startades - - - - After stopping keep position - Efter stopp behåll positionen - - - - Hint - Ledtråd - - - - Press <%1> to disable magnetic loop points. - Tryck på <%1> för att inaktivera magnetiska slingpunkter. - - - - Track - - - Mute - Tysta - - - - Solo - Solo - - - - TrackContainer - - - Couldn't import file - Kunde inte importera filen - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Kunde inte hitta ett filter för att importera filen %1. -Du bör konvertera filen till ett format som stöds av LMMS genom att använda ett annat program. - - - - Couldn't open file - Kunde inte öppna filen - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Kunde inte öppna filen %1 för läsning. -Se till att du har läsrättigheter för filen och mappen som innehåller filen och försök igen! - - - - Loading project... - Läser in projekt... - - - - - Cancel - Avbryt - - - - - Please wait... - Vänligen vänta... - - - - Loading cancelled - Inläsningen avbruten - - - - Project loading was cancelled. - Projektinläsningen avbröts. - - - - Loading Track %1 (%2/Total %3) - Läser in spår %1 (%2/Totalt %3) - - - - Importing MIDI-file... - Importerar MIDI-fil... - - - - Clip - - - Mute - Tysta - - - - ClipView - - - Current position - Aktuell position - - - - Current length - Aktuell längd - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 till %5:%6) - - - - Press <%1> and drag to make a copy. - Håll nere <%1> och dra för att kopiera. - - - - Press <%1> for free resizing. - Tryck på <%1> för att ändra storleken. - - - - Hint - Ledtråd - - - - Delete (middle mousebutton) - Ta bort (musens mitt-knapp) - - - - Delete selection (middle mousebutton) - Ta bort markering (mittenmusknapp) - - - - Cut - Klipp ut - - - - Cut selection - Klipp ut markering - - - - Merge Selection - Sammanfoga merkering - - - - Copy - Kopiera - - - - Copy selection - Kopiera markering - - - - Paste - Klistra in - - - - Mute/unmute (<%1> + middle click) - Tysta/avtysta (<%1> + mittenklick) - - - - Mute/unmute selection (<%1> + middle click) - Tysta/öppna markering (<%1> + mittenklick) - - - - Set clip color - - Use track color - Använd spårfärg + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + + Snap controls + + + + + + Clip snapping size + + + + + Toggle proportional snap on/off + + + + + Base snapping size + - TrackContentWidget + lmms::gui::StepRecorderWidget - + + Hint + + + + + Move recording curser using <Left/Right> arrows + + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + + Close + + + + + Maximize + + + + + Restore + + + + + lmms::gui::TapTempoView + + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + + + + + lmms::gui::TemplatesMenu + + + New from template + + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + + + + + MIN + + + + + SEC + + + + + MSEC + + + + + BAR + + + + + BEAT + + + + + TICK + + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + + + + + After stopping go back to beginning + + + + + After stopping go back to position at which playing was started + + + + + After stopping keep position + + + + + Hint + + + + + Press <%1> to disable magnetic loop points. + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - Klistra in + - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - Tryck på <%1> medan du klickar på flytta-grepp för att börja en ny dra och släpp åtgärd. + Actions - Åtgärder + Mute - Tysta + Solo - Solo + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - Bekräfta borttagning + - + Don't ask again - Fråga inte igen + - + Clone this track - Klona detta spår + - + Remove this track - Ta bort detta spår + + + + + Clear this track + - Clear this track - Rensa detta spår - - - Channel %1: %2 - FX %1: %2 + - - Assign to new mixer Channel - Koppla till ny FX-kanal + + Assign to new Mixer Channel + - + Turn all recording on - Slå på all inspelning + - + Turn all recording off - Slå av all inspelning + + + + + Track color + - Change color - Byt färg + Change + + + + + Reset + - Reset color to default - Nollställ färg till standard + Pick random + - Set random color - Ställ in slumpmässig färg - - - - Clear clip colors + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - Modulera fasen för oscillator 1 med oscillator 2 + - + Modulate amplitude of oscillator 1 by oscillator 2 - Modulera amplitud för oscillator 1 med oscillator 2 - - - - Mix output of oscillators 1 & 2 - Mixa utgångarna från oscillatorerna 1 & 2 - - - - Synchronize oscillator 1 with oscillator 2 - Synkronisera oscillatorn 1 med oscillatorn 2 + - Modulate frequency of oscillator 1 by oscillator 2 - Modulera frekvensen för oscillator 1 med oscillator 2 + Mix output of oscillators 1 & 2 + + + + + Synchronize oscillator 1 with oscillator 2 + + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - Modulera fasen för oscillator 2 med oscillator 3 + - + Modulate amplitude of oscillator 2 by oscillator 3 - Modulera amplituden för oscillator 2 med oscillator 3 + - + Mix output of oscillators 2 & 3 - Mixa utgångarna från oscialltorerna 2 & 3 + - + Synchronize oscillator 2 with oscillator 3 - Synkronisera oscillatorn 2 med oscillatorn 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - Modulera frekvensen för oscillator 2 med oscillator 3 + - + Osc %1 volume: - Osc %1 volym: + - + Osc %1 panning: - Osc %1 panorering: + - - Osc %1 coarse detuning: - Osc %1 grov urstämning: - - - - semitones - halvtoner - - - - Osc %1 fine detuning left: - Osc %1 fin urstämning vänster: - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - hundradelar + - + Osc %1 fine detuning right: - Osc %1 fin urstämning höger: + - + Osc %1 phase-offset: - Osc %1 fasposition: + - - + + degrees - grader + - + Osc %1 stereo phase-detuning: - Osc %1 stereo fasurstämning: + - + Sine wave - Sinusvåg + - + Triangle wave - Triangelvåg + - + Saw wave - Sågtandsvåg + - + Square wave - Fyrkantvåg + - + Moog-like saw wave - Moogliknande sågtandsvåg + - + Exponential wave - Exponentiell våg + - + White noise - Vitt brus + - + User-defined wave - Användardefinierad våg + + + + + Use alias-free wavetable oscillators. + - VecControls - - - Display persistence amount - Visa avklingningsmängd - - - - Logarithmic scale - Logaritmisk skala - - - - High quality - Hög kvalitet - - - - VecControlsDialog - - - HQ - HQ - + lmms::gui::VecControlsDialog + HQ + + + + Double the resolution and simulate continuous analog-like trace. - Fördubbla upplösningen och simulera kontinuerligt analogliknande svep. + Log. scale - Log.-skala + Display amplitude on logarithmic scale to better see small values. - Visa amplitud på logaritmisk skala för att bättre se mindre värden. + + + + + Persist. + - Persist. - Avkling. + Trace persistence: higher amount means the trace will stay bright for longer time. + - Trace persistence: higher amount means the trace will stay bright for longer time. - Svepavklingning: högre mängd innebär att svepet kommer att förbli ljust under en längre tid. - - - Trace persistence - Svepavklingning + - VersionedSaveDialog - - - Increment version number - Ökning versionsnummer - + lmms::gui::VersionedSaveDialog + Increment version number + + + + Decrement version number - Minska versionsnummer + - + Save Options - Spara Alternativ + - + already exists. Do you want to replace it? - finns redan. Vill du ersätta den? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - Öppna VST-tillägg + - + Control VST plugin from LMMS host - Kontroll VST-tillägg från LMMS-värd + - + Open VST plugin preset - Öppna VST-tilläggsförinställning + - + Previous (-) - Tidigare (-) + - + Save preset - Spara förinställning + - + Next (+) - Nästa (+) + - + Show/hide GUI - Visa/dölj användargränssnitt + - + Turn off all notes - Stäng av alla noter + - + DLL-files (*.dll) - DLL-filer (*.dll) + - + EXE-files (*.exe) - EXE-filer (*.exe) + + + + + SO-files (*.so) + + + + + No VST plugin loaded + - No VST plugin loaded - Inget VST-tillägg inläst + Preset + - Preset - Förinställning - - - by - av + - + - VST plugin control - - VST tilläggskontroll + - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + + + + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + Show/hide - Visa/dölj + - + Control VST plugin from LMMS host - Kontroll VST-tillägg från LMMS-värd + - + Open VST plugin preset - Öppna VST-tilläggsförinställning + - + Previous (-) - Tidigare (-) + - + Next (+) - Nästa (+) + - + Save preset - Spara förinställning + - - + + Effect by: - Effekt skapad av: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VST-tillägget %1 kunde inte läsas in. + + + + + Volume + - - Open Preset - Öppna Förinställning - - - - - Vst Plugin Preset (*.fxp *.fxb) - Vst-tilläggsförinställning (*.fxp *.fxb) - - - - : default - : standard - - - - Save Preset - Spara Förinställning - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Läser in tillägget - - - - Please wait while loading VST plugin... - Vänligen vänta medan VST-tillägget läses in... - - - - WatsynInstrument - - - Volume A1 - Volym A1 - - - - Volume A2 - Volym A2 - - - - Volume B1 - Volym B2 - - - - Volume B2 - Volym B2 - - - - Panning A1 - Panorering A1 - - - - Panning A2 - Panorering A2 - - - - Panning B1 - Panorering B1 - - - - Panning B2 - Panorering B2 - - - - Freq. multiplier A1 - Frekv. multiplikator A1 - - - - Freq. multiplier A2 - Frekv. multiplikator A2 - - - - Freq. multiplier B1 - Frekv. multiplikator B1 - - - - Freq. multiplier B2 - Frekv. multiplikator B2 - - - - Left detune A1 - Vänster urstämning A1 - - - - Left detune A2 - Vänster urstämning A2 - - - - Left detune B1 - Vänster urstämning B1 - - - - Left detune B2 - Vänster urstämning B2 - - - - Right detune A1 - Höger urstämning A1 - - - - Right detune A2 - Höger urstämning A2 - - - - Right detune B1 - Höger urstämning B1 - - - - Right detune B2 - Höger urstämning B2 - - - - A-B Mix - A-B Mix - - - - A-B Mix envelope amount - A-B-mix konturmängd - - - - A-B Mix envelope attack - A-B-mix konturstegring - - - - A-B Mix envelope hold - A-B-mix konturhåll - - - - A-B Mix envelope decay - A-B-mix konturavklingning - - - - A1-B2 Crosstalk - A1-B2-överhörning - - - - A2-A1 modulation - A2-A1 modulering - - - - B2-B1 modulation - B2-B1 modulering - - - - Selected graph - Vald graf - - - - WatsynView - + + - - - Volume - Volym + Panning + + + - - - Panning - Panorering + Freq. multiplier + + + - - - Freq. multiplier - Frekv.-multiplikator - - - - - - Left detune - Vänster urstämning + + + + + + + - - - - - - cents - hundradelar + + + + + + + + Right detune + + + + + A-B Mix + - - - - Right detune - Höger urstämning - - - - A-B Mix - A-B Mix - - - Mix envelope amount - Mix konturmängd + - + Mix envelope attack - Mix konturstegring + - + Mix envelope hold - Mix konturhåll + - + Mix envelope decay - Mix konturavklingning + - + Crosstalk - Överhörning + - + Select oscillator A1 - Välj oscillator A1 + - + Select oscillator A2 - Välj oscillator A2 + - + Select oscillator B1 - Välj oscillator B1 + - + Select oscillator B2 - Välj oscillator B2 + - + Mix output of A2 to A1 - Mixa utgången från A2 till A1 + - + Modulate amplitude of A1 by output of A2 - Modulera amplituden av A1 med utgången från A2 + - + Ring modulate A1 and A2 - Ringmodulera A1 och A2 + - + Modulate phase of A1 by output of A2 - Modulera fasen av A1 med utången för A2 + - + Mix output of B2 to B1 - Blanda utgång B2 till B1 + - + Modulate amplitude of B1 by output of B2 - Modulera amplituden av B1 med utången från B2 + - + Ring modulate B1 and B2 - Ringmodulera B1 och B2 + - + Modulate phase of B1 by output of B2 - Modulera fasen av B1 med utgången från B2 + - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Rita din egen vågform här genom att dra musen på den här grafen. + - + Load waveform - Ladda vågform + - + Load a waveform from a sample file - Läs in en vågform från en sampelfil + - + Phase left - Fas vänster + - + Shift phase by -15 degrees - Skifta fasen -15 grader + - + Phase right - Fas höger + - + Shift phase by +15 degrees - Skifta fasen +15 grader + + + + + + Normalize + - Normalize - Normalisera - - - - Invert - Invertera + - - + + Smooth - Jämna ut + - - + + Sine wave - Sinusvåg + - - - + + + Triangle wave - Triangelvåg + - + Saw wave - Sågtandsvåg + - - + + Square wave - Fyrkantvåg + - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - Vald graf - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - W1-utmjukning - - - - W2 smoothing - W2-utmjukning - - - - W3 smoothing - W3-utmjukning - - - - Panning 1 - Panorering 1 - - - - Panning 2 - Panorering 2 - - - - Rel trans - Rel. trans. - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - Rita din egen vågform här genom att dra musen på den här grafen. - - - - Select oscillator W1 - Välj oscillator W1 - - - - Select oscillator W2 - Välj oscillator W2 - - - - Select oscillator W3 - Välj oscillator W3 - - - - Select output O1 - Välj utgång O1 - - - - Select output O2 - Välj utgång O2 - - - - Open help window - Öppna hjälpfönstret - - - - - Sine wave - Sinusvåg - - - - - Moog-saw wave - Moog-sågtandsvåg - - - - - Exponential wave - Exponentiell våg - - - - - Saw wave - Sågtandsvåg - - - - - User-defined wave - Användardefinierad våg - - - - - Triangle wave - Triangelvåg - - - - - Square wave - Fyrkantvåg - - - - - White noise - Vitt brus - - - - WaveInterpolate - VågInterpolering - - - - ExpressionValid - UttryckGiltig - - - - General purpose 1: - Allmän användning 1: - - - - General purpose 2: - Allmän användning 2: - - - - General purpose 3: - Allmän användning 3: - - - - O1 panning: - O1 panorering: - - - - O2 panning: - O2 panorering: - - - - Release transition: - Avklingningsövergång: - - - - Smoothness - Jämnhet - - - - ZynAddSubFxInstrument - - - Portamento - Portamento - - - - Filter frequency - Filterfrekvens - - - - Filter resonance - Filterresonans - - - - Bandwidth - Bandbredd - - - - FM gain - FM-förstärkning - - - - Resonance center frequency - Centerfrekvens för resonans - - - - Resonance bandwidth - Resonansbandbredd - - - - Forward MIDI control change events - Vidarebefordra MIDI-kontrollförändringshändelser - - - - ZynAddSubFxView - - - Portamento: - Portamento: - - - - PORT - PORT - - - - Filter frequency: - Filterfrekvens: - - - - FREQ - FREQ - - - - Filter resonance: - Filterresonans: - - - - RES - UPPL. - - - - Bandwidth: - Bandbredd: - - - - BW - BW - - - - FM gain: - FM-förstärkning: - - - - FM GAIN - FM FÖRSTÄRKNING - - - - Resonance center frequency: - Resonanscenterfrekvens: - - - - RES CF - UPPL. CF - - - - Resonance bandwidth: - Resonans bandbredd: - - - - RES BW - UPPL BW - - - - Forward MIDI control changes - Vidarebefordra MIDI-kontrollförändringar - - - - Show GUI - Visa användargränssnitt - - - - AudioFileProcessor - - - Amplify - Amplifiera - - - - Start of sample - Start på ljudfil - - - - End of sample - Slut på ljudfil - - - - Loopback point - Loopback punkt - - - - Reverse sample - Spela baklänges - - - - Loop mode - Slinga-läge - - - - Stutter - Stamning - - - - Interpolation mode - Interpoleringsläge - - - - None - Ingen - - - - Linear - Linjär - - - - Sinc - Sinc - - - - Sample not found: %1 - Ljudfil hittades inte: %1 - - - - BitInvader - - - Sample length - Ljudfilens längd - - - - BitInvaderView - - - Sample length - Ljudfilens längd - - - - Draw your own waveform here by dragging your mouse on this graph. - Rita din egen vågform här genom att dra musen på den här grafen. - - - - - Sine wave - Sinusvåg - - - - - Triangle wave - Triangelvåg - - - - - Saw wave - Sågtandsvåg - - - - - Square wave - Fyrkantvåg - - - - - White noise - Vitt brus - - - - - User-defined wave - Användardefinierad våg - - - - - Smooth waveform - Jämn vågform - - - - Interpolation - Interpolering - - - - Normalize - Normalisera - - - - DynProcControlDialog - - + INPUT - INGÅNG + - + Input gain: - Ingångsförstärkning: + - + OUTPUT - UTGÅNG - - - - Output gain: - Utgångsförstärkning: - - - - ATTACK - ATTACK - - - - Peak attack time: - Toppattacktid: - - - - RELEASE - AVKLINGNING - - - - Peak release time: - Toppavklingningstid: - - - - - Reset wavegraph - Återställ vågdiagram - - - - - Smooth wavegraph - Jämnt vågdiagram - - - - - Increase wavegraph amplitude by 1 dB - Öka vågdiagramamplituden med 1 dB - - - - - Decrease wavegraph amplitude by 1 dB - Minska vågformsamplitud med 1dB - - - - Stereo mode: maximum - Stereoläge: maximal - - - - Process based on the maximum of both stereo channels - Hantera baserad på max för båda stereokanalerna - - - - Stereo mode: average - Stereoläge: medelvärdesbildning - - - - Process based on the average of both stereo channels - Hantera baserat på genomsnittet av båda stereokanalerna - - - - Stereo mode: unlinked - Stereoläge: olänkat - - - - Process each stereo channel independently - Hantera varje stereokanal obereoende - - - - DynProcControls - - - Input gain - Ingångsförstärkning - - - - Output gain - Utgångsförstärkning - - - - Attack time - Attacktid - - - - Release time - Avklingningstid - - - - Stereo mode - Stereo-läge - - - - graphModel - - - Graph - Graf - - - - KickerInstrument - - - Start frequency - Startfrekvens - - - - End frequency - Slutfrekvens - - - - Length - Längd - - - - Start distortion - Start för distorsion - - - - End distortion - Slut för distorsion - - - - Gain - Förstärkning - - - - Envelope slope - Konturkurva - - - - Noise - Brus - - - - Click - Klick - - - - Frequency slope - Frekvenslutning - - - - Start from note - Starta från not - - - - End to note - Sluta på not - - - - KickerInstrumentView - - - Start frequency: - Startfrekvens: - - - - End frequency: - Slutfrekvens: - - - - Frequency slope: - Frekvenslutning: - - - - Gain: - Förstärkning: - - - - Envelope length: - Konturlängd: - - - - Envelope slope: - Konturkurva: - - - - Click: - Klick: - - - - Noise: - Brus: - - - - Start distortion: - Startförvrängning: - - - - End distortion: - Slut för distorsion: - - - - LadspaBrowserView - - - - Available Effects - Tillgängliga effekter - - - - - Unavailable Effects - Otillgängliga effekter - - - - - Instruments - Instrument - - - - - Analysis Tools - Analysverktyg - - - - - Don't know - Vet inte - - - - Type: - Typ: - - - - LadspaDescription - - - Plugins - Tillägg - - - - Description - Beskrivning - - - - LadspaPortDialog - - - Ports - Portar - - - - Name - Namn - - - - Rate - Värdera - - - - Direction - Riktning - - - - Type - Typ - - - - Min < Default < Max - Min < Standard < Max - - - - Logarithmic - Logaritmisk - - - - SR Dependent - SR-beroende - - - - Audio - Ljud - - - - Control - Kontroll - - - - Input - Ingång - - - - Output - Utgång - - - - Toggled - Växlad - - - - Integer - Heltal - - - - Float - Flyttal - - - - - Yes - Ja - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF Brytfrekvens - - - - VCF Resonance - VCF-resonans - - - - VCF Envelope Mod - VCF-konturmod. - - - - VCF Envelope Decay - VCF-konturavsänkning - - - - Distortion - Förvrängning - - - - Waveform - Vågform - - - - Slide Decay - Avklingning för glidning - - - - Slide - Glidning - - - - Accent - Betoning - - - - Dead - Död - - - - 24dB/oct Filter - 24db/oct-filter - - - - Lb302SynthView - - - Cutoff Freq: - Brytfrekv.: - - - - Resonance: - Resonans: - - - - Env Mod: - Knt.-mod.: - - - - Decay: - Decay: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-es-liknande 24dB/oktav, 3poligt filter - - - - Slide Decay: - Glidningsavklingning: - - - - DIST: - DIST: - - - - Saw wave - Sågtandsvåg - - - - Click here for a saw-wave. - Klicka här för sågtandsvåg - - - - Triangle wave - Triangelvåg - - - - Click here for a triangle-wave. - Klicka här för triangelvåg. - - - - Square wave - Fyrkantvåg - - - - Click here for a square-wave. - Klicka här för fyrkantvåg - - - - Rounded square wave - Avrundad fyrkantsvåg - - - - Click here for a square-wave with a rounded end. - Klicka här för en fyrkantsvåg med rundat slut. - - - - Moog wave - Moog-våg - - - - Click here for a moog-like wave. - Klicka här för en moog-liknande våg. - - - - Sine wave - Sinusvåg - - - - Click for a sine-wave. - Klicka för sinusvåg - - - - - White noise wave - Vitt brus-våg - - - - Click here for an exponential wave. - Klicka här för en exponentiell våg. - - - - Click here for white-noise. - Klicka här för vitt brus. - - - - Bandlimited saw wave - Bandbegränsad sågtandsvåg - - - - Click here for bandlimited saw wave. - Klicka här för bandbegränsad sågtandsvåg. - - - - Bandlimited square wave - Bandbegränsad fyrkantsvåg - - - - Click here for bandlimited square wave. - Klicka här för bandbegränsad fyrkantsvåg. - - - - Bandlimited triangle wave - Bandbegränsad triangelvåg - - - - Click here for bandlimited triangle wave. - Klicka här för bandbegränsad triangelvåg. - - - - Bandlimited moog saw wave - Bandbegränsad moog sågtandsvåg - - - - Click here for bandlimited moog saw wave. - Klicka här för bandbegränsad moog sågtandsvåg. - - - - MalletsInstrument - - - Hardness - Hårdhet - - - - Position - Position - - - - Vibrato gain - Vibratoförstärkning - - - - Vibrato frequency - Vibrato frekvens - - - - Stick mix - Kvistmix - - - - Modulator - Modulator - - - - Crossfade - Övertoning - - - - LFO speed - LFO-hastighet - - - - LFO depth - LFO-djup - - - - ADSR - ADSR - - - - Pressure - Tryck - - - - Motion - Rörelse - - - - Speed - Hastighet - - - - Bowed - Med stråke - - - - Spread - Spridning - - - - Marimba - Marimba - - - - Vibraphone - Vibrafon - - - - Agogo - Agogo - - - - Wood 1 - Trä 1 - - - - Reso - Uppl. - - - - Wood 2 - Trä 2 - - - - Beats - Takter - - - - Two fixed - Två fixa - - - - Clump - Klump - - - - Tubular bells - Tubklockor - - - - Uniform bar - Enhetlig takt - - - - Tuned bar - Stämt stycke - - - - Glass - Glas - - - - Tibetan bowl - Tibetansk skål - - - - MalletsInstrumentView - - - Instrument - Instrument - - - - Spread - Spridning - - - - Spread: - Spridning: - - - - Missing files - Saknade filer - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Din Stk-installation verkar vara ofullständig. Se till att hela Stk-paketet är installerat! - - - - Hardness - Hårdhet - - - - Hardness: - Hårdhet: - - - - Position - Position - - - - Position: - Position: - - - - Vibrato gain - Vibratoförstärkning - - - - Vibrato gain: - Vibratoförstärkning: - - - - Vibrato frequency - Vibrato frekvens - - - - Vibrato frequency: - Vibrato frekvens: - - - - Stick mix - Kvistmix - - - - Stick mix: - Kvistmix: - - - - Modulator - Modulator - - - - Modulator: - Modulator: - - - - Crossfade - Övertoning - - - - Crossfade: - Övertoning: - - - - LFO speed - LFO-hastighet - - - - LFO speed: - LFO-hastighet: - - - - LFO depth - LFO-djup - - - - LFO depth: - LFO-djup: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Tryck - - - - Pressure: - Tryck: - - - - Speed - Hastighet - - - - Speed: - Hastighet: - - - - ManageVSTEffectView - - - - VST parameter control - - VST-parameterkontroll - - - - VST sync - VST-synk - - - - - Automated - Automatiserad - - - - Close - Stäng - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST tilläggskontroll - - - - VST Sync - VST-synk - - - - - Automated - Automatiserad - - - - Close - Stäng - - - - OrganicInstrument - - - Distortion - Förvrängning - - - - Volume - Volym - - - - OrganicInstrumentView - - - Distortion: - Förvrängning: - - - - Volume: - Volym: - - - - Randomise - Slumpa - - - - - Osc %1 waveform: - Osc. %1 vågform: - - - - Osc %1 volume: - Osc %1 volym: - - - - Osc %1 panning: - Osc %1 panorering: - - - - Osc %1 stereo detuning - Osc. %1 stereourstämning - - - - cents - hundradelar - - - - Osc %1 harmonic: - Osc %1 harmonisk: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: Kanal förinställd - - - - Bank selector - Bankväljare - - - - Bank - Bank - - - - Program selector - Programväljare - - - - Patch - Inställning - - - - Name - Namn - - - - OK - OK - - - - Cancel - Avbryt - - - - Sf2Instrument - - - Bank - Bank - - - - Patch - Inställning - - - - Gain - Förstärkning - - - - Reverb - Reverb - - - - Reverb room size - Rumsstorlek för reverb - - - - Reverb damping - Dämpning för reverb - - - - Reverb width - Bredd för reverb - - - - Reverb level - Nivå för reverb - - - - Chorus - Korus - - - - Chorus voices - Korus-röster - - - - Chorus level - Korus-nivå - - - - Chorus speed - Korus-hastighet - - - - Chorus depth - Korus-djup - - - - A soundfont %1 could not be loaded. - En SoundFont %1 kunde inte läsas in. - - - - Sf2InstrumentView - - - - Open SoundFont file - Öppna SoundFont-fil - - - - Choose patch - Välj inställning - - - - Gain: - Förstärkning: - - - - Apply reverb (if supported) - Applicera reverb (om det stöds) - - - - Room size: - Rumstorlek: - - - - Damping: - Dämpning: - - - - Width: - Bredd: - - - - - Level: - Nivå: - - - - Apply chorus (if supported) - Tillämpa korus (om det stöds) - - - - Voices: - Röster: - - - - Speed: - Hastighet: - - - - Depth: - Djup: - - - - SoundFont Files (*.sf2 *.sf3) - SoundFont-filer (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Våg - - - - StereoEnhancerControlDialog - - - WIDTH - BREDD - - - - Width: - Bredd: - - - - StereoEnhancerControls - - - Width - Bredd - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Vänster till Vänster Vol.: - - - - Left to Right Vol: - Vänster till Höger Vol.: - - - - Right to Left Vol: - Höger till Vänster Vol.: - - - - Right to Right Vol: - Höger till Höger vol.: - - - - StereoMatrixControls - - - Left to Left - Vänster till Vänster - - - - Left to Right - Vänster till Höger - - - - Right to Left - Höger till Vänster - - - - Right to Right - Höger till Höger - - - - VestigeInstrument - - - Loading plugin - Läser in plugin - - - - Please wait while loading the VST plugin... - Vänligen vänta medan VST-tillägg läses in... - - - - Vibed - - - String %1 volume - Sträng %1 volym - - - - String %1 stiffness - Sträng %1 styvhet - - - - Pick %1 position - Välj %1 position - - - - Pickup %1 position - Mikrofon %1-position - - - - String %1 panning - Sträng %1 panorering - - - - String %1 detune - Sträng %1 urstämning - - - - String %1 fuzziness - Sträng %1-luddighet - - - - String %1 length - Sträng %1-längd - - - - Impulse %1 - Impuls %1 - - - - String %1 - Sträng %1 - - - - VibedView - - - String volume: - Strängvolym: - - - - String stiffness: - Strängstyvhet: - - - - Pick position: - Plektrumposition: - - - - Pickup position: - Mikrofonposition: - - - - String panning: - Strängpanorering: - - - - String detune: - Strängurstämning: - - - - String fuzziness: - Strängluddighet: - - - - String length: - Stränglängd: - - - - Impulse - Impuls - - - - Octave - Oktav - - - - Impulse Editor - Impulse Editor - - - - Enable waveform - Aktivera vågform - - - - Enable/disable string - Aktivera/inaktivera sträng - - - - String - Sträng - - - - - Sine wave - Sinusvåg - - - - - Triangle wave - Triangelvåg - - - - - Saw wave - Sågtandsvåg - - - - - Square wave - Fyrkantvåg - - - - - White noise - Vitt brus - - - - - User-defined wave - Användardefinierad våg - - - - - Smooth waveform - Jämn vågform - - - - - Normalize waveform - Normalisera vågform - - - - VoiceObject - - - Voice %1 pulse width - Röst %1 pulsbredd - - - - Voice %1 attack - Röst %1 attack - - - - Voice %1 decay - Röst %1 avklingning - - - - Voice %1 sustain - Röst %1 håll - - - - Voice %1 release - Röst %1 avklingning - - - - Voice %1 coarse detuning - Röst %1 grovurstämning - - - - Voice %1 wave shape - Röst %1 vågform - - - - Voice %1 sync - Röst %1 synk - - - - Voice %1 ring modulate - Röst %1 ringmodulering - - - - Voice %1 filtered - Röst %1 filtrerad - - - - Voice %1 test - Röst %1 test - - - - WaveShaperControlDialog - - - INPUT - INGÅNG - - - - Input gain: - Ingångsförstärkning: - - - - OUTPUT - UTGÅNG - - - - Output gain: - Utgångsförstärkning: + - - Reset wavegraph - Återställ vågdiagram + Output gain: + + - - Smooth wavegraph - Jämnt vågdiagram + Reset wavegraph + + - - Increase wavegraph amplitude by 1 dB - Öka vågdiagramamplituden med 1 dB + Smooth wavegraph + + - + Increase wavegraph amplitude by 1 dB + + + + + Decrease wavegraph amplitude by 1 dB - Minska vågformsamplitud med 1dB + - + Clip input - Klipp ingång + - + Clip input signal to 0 dB - Klipp ingångssignal till 0 dB + - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Ingångsförstärkning + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Utgångsförstärkning + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/tr.ts b/data/locale/tr.ts index bd469667f..0c49ea926 100644 --- a/data/locale/tr.ts +++ b/data/locale/tr.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -70,811 +70,44 @@ LMMS'yi başka bir dilde çevirmekle ilgileniyorsanız veya mevcut çeviril - AmplifierControlDialog + AboutJuceDialog - - VOL - SES + + About JUCE + - - Volume: - Ses Düzeyi: + + <b>About JUCE</b> + - - PAN - PAN + + This program uses JUCE version 3.x.x. + - - Panning: - Kaydırma: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + - - LEFT - SOL - - - - Left gain: - Sol kazanç: - - - - RIGHT - SAĞ - - - - Right gain: - Sağ kazanç: + + This program uses JUCE version + - AmplifierControls + AudioDeviceSetupWidget - - Volume - Ses Düzeyi - - - - Panning - Kaydırma - - - - Left gain - Sol kazanç - - - - Right gain - Sağ kazanç - - - - AudioAlsaSetupWidget - - - DEVICE - AYGIT - - - - CHANNELS - KANALLAR - - - - AudioFileProcessorView - - - Open sample - Örnek açın - - - - Reverse sample - Örneği ters çevir - - - - Disable loop - Döngüyü kapat - - - - Enable loop - Döngüyü aç - - - - Enable ping-pong loop - Ping-pong döngüsünü etkinleştir - - - - Continue sample playback across notes - Örneği notalar arasında oynatmaya devam et - - - - Amplify: - Güçlendirin: - - - - Start point: - Başlangıç noktası: - - - - End point: - Bitiş noktası: - - - - Loopback point: - Geri döngü noktası: - - - - AudioFileProcessorWaveView - - - Sample length: - Örnek uzunluğu: - - - - AudioJack - - - JACK client restarted - JACK istemcisi yeniden başlatıldı - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS bir nedenden ötürü JACK tarafından sistemden atıldı. Bundan dolayı LMMS'in JACK altyapısı yeniden başlatıldı. Bağlantıları yeniden elle yapmanız gerekecek. - - - - JACK server down - JACK sunucusu kapalı - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - JACK sunucusu kapanmış gibi görünüyor ve yeni bir örnek başlatılamadı. Bu nedenle LMMS devam edemiyor. Projenizi kaydetmeli, JACK ve LMMS'i yeniden başlatmalısınız. - - - - Client name - İstemci adı - - - - Channels - Kanallar - - - - AudioOss - - - Device - Aygıt - - - - Channels - Kanallar - - - - AudioPortAudio::setupWidget - - - Backend - Arka uç - - - - Device - Cihaz - - - - AudioPulseAudio - - - Device - Cihaz - - - - Channels - Kanallar - - - - AudioSdl::setupWidget - - - Device - Aygıt - - - - AudioSndio - - - Device - Aygıt - - - - Channels - Kanallar - - - - AudioSoundIo::setupWidget - - - Backend - Arka uç - - - - Device - Aygıt - - - - AutomatableModel - - - &Reset (%1%2) - &Sıfırla (%1%2) - - - - &Copy value (%1%2) - &Değeri kopyala (%1%2) - - - - &Paste value (%1%2) - &Değeri yapıştır (%1%2) - - - - &Paste value - &Değeri yapıştır - - - - Edit song-global automation - Global şarkı otomasyonunu düzenle - - - - Remove song-global automation - Global şarkı otomasyonunu kaldır - - - - Remove all linked controls - Tüm bağlantılı kontrolleri kaldır - - - - Connected to %1 - Şuna bağlı: %1 - - - - Connected to controller - Kontrolöre bağlı - - - - Edit connection... - Bağlantıyı düzenle... - - - - Remove connection - Bağlantıyı kaldır - - - - Connect to controller... - Kontrolöre bağla... - - - - AutomationEditor - - - Edit Value - Değeri Düzenleyin - - - - New outValue - Yeni çıkış değeri - - - - New inValue - Yeni giriş Değeri - - - - Please open an automation clip with the context menu of a control! - Lütfen bir kontrolün içerik menüsü ile bir otomasyon modeli açın! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Seçili bölümü oynat/durdur (Boşluk Tuşu) - - - - Stop playing of current clip (Space) - Seçili modeli oynatmayı durdur (Boşluk Tuşu) - - - - Edit actions - İşlemleri düzenle - - - - Draw mode (Shift+D) - Çizim modu (Shift+D) - - - - Erase mode (Shift+E) - Silgi modu (Shift+E) - - - - Draw outValues mode (Shift+C) - Değerleri çiz modu (Shift+C) - - - - Flip vertically - Dikey çevir - - - - Flip horizontally - Yatay çevir - - - - Interpolation controls - Enterpolasyon kontrolleri - - - - Discrete progression - Kesikli ilerleme - - - - Linear progression - Doğrusal ilerleme - - - - Cubic Hermite progression - Kübik Hermite ilerleme - - - - Tension value for spline - Sapma için gerilim değeri - - - - Tension: - Gerginlik: - - - - Zoom controls - Yakınlaştırma kontrolleri - - - - Horizontal zooming - Yatay yakınlaştırma - - - - Vertical zooming - Dikey yakınlaştırma - - - - Quantization controls - Niceleme kontrolleri - - - - Quantization - Niceleme - - - - - Automation Editor - no clip - Ayarkayıt Düzenleyici - oluşturulmuş bölüm yok - - - - - Automation Editor - %1 - Ayarkayıt Düzenleyici - %1 - - - - Model is already connected to this clip. - Model zaten bu desene bağlanmış. - - - - AutomationClip - - - Drag a control while pressing <%1> - Kontrollerden birini, <%1> tuşuna basılı tutuyorken kıpırdatın - - - - AutomationClipView - - - Open in Automation editor - Ayarkayıt Düzenleyici'de aç - - - - Clear - Temizle - - - - Reset name - İsmini sıfırla - - - - Change name - İsmini değiştir - - - - Set/clear record - Kayıdı başlat/durdur - - - - Flip Vertically (Visible) - Dikey Yönde Çevir (Görünür) - - - - Flip Horizontally (Visible) - Yatay Yönde Çevir (Görünür) - - - - %1 Connections - %1 Bağlantı - - - - Disconnect "%1" - Şunun bağlantısını kes: "%1" - - - - Model is already connected to this clip. - Model zaten bu desene bağlanmış. - - - - AutomationTrack - - - Automation track - Ayarkayıt parçası - - - - PatternEditor - - - Beat+Bassline Editor - Beat+Bassline Düzenleyici - - - - Play/pause current beat/bassline (Space) - Seçili beat/bassline'ı oynat/durdur (Boşluk Tuşu) - - - - Stop playback of current beat/bassline (Space) - Seçili beat/bassline'ı oynatmayı durdur (Boşluk Tuşu) - - - - Beat selector - Seçici vurgusu - - - - Track and step actions - Eylemleri izleyin ve adımlayın - - - - Add beat/bassline - Beat/bassline ekle - - - - Clone beat/bassline clip - Klon vuruşu / bas hattı deseni - - - - Add sample-track - Örnek parça ekle - - - - Add automation-track - Ayarkayıt parçası ekle - - - - Remove steps - Kısalt - - - - Add steps - Uzat - - - - Clone Steps - Klon Adımları - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Beat+Bassline Düzenleyici'de aç - - - - Reset name - İsmini sıfırla - - - - Change name - İsmini değiştir - - - - PatternTrack - - - Beat/Bassline %1 - Beat/Bassline %1 - - - - Clone of %1 - Kopya %1 - - - - BassBoosterControlDialog - - - FREQ - FREK - - - - Frequency: - Frekans: - - - - GAIN - GAIN - - - - Gain: - Kazanç: - - - - RATIO - ORAN - - - - Ratio: - Oran: - - - - BassBoosterControls - - - Frequency - Frekans - - - - Gain - Kazanç - - - - Ratio - Oran - - - - BitcrushControlDialog - - - IN - IN - - - - OUT - OUT - - - - - GAIN - GAIN - - - - Input gain: - Giriş kazancı: - - - - NOISE - PARAZİT - - - - Input noise: - Giriş gürültüsü: - - - - Output gain: - Çıkış kazancı: - - - - CLIP - KIRP - - - - Output clip: - Çıktı klibi: - - - - Rate enabled - Oran etkinleştirildi - - - - Enable sample-rate crushing - Örnek hızında ezmeyi etkinleştirin - - - - Depth enabled - Derinlik etkinleştirildi - - - - Enable bit-depth crushing - Bit derinliğinde ezmeyi etkinleştirin - - - - FREQ - FREK - - - - Sample rate: - Örnekleme oranı: - - - - STEREO - STEREO - - - - Stereo difference: - Stereo farklılığı: - - - - QUANT - MİKTAR - - - - Levels: - Düzey: - - - - BitcrushControls - - - Input gain - Giriş kazancı - - - - Input noise - Giriş gürültüsü - - - - Output gain - Çıkış kazancı - - - - Output clip - Çıktı klibi - - - - Sample rate - Örnekleme oranı - - - - Stereo difference - Stereo farkı - - - - Levels - Seviyeler - - - - Rate enabled - Oran etkinleştirildi - - - - Depth enabled - Derinlik etkinleştirildi + + [System Default] + @@ -900,124 +133,124 @@ LMMS'yi başka bir dilde çevirmekle ilgileniyorsanız veya mevcut çeviril Genişletilmiş lisans burada - + Artwork Yapıt - + Using KDE Oxygen icon set, designed by Oxygen Team. Oxygen Team tarafından tasarlanan KDE Oxygen simge setini kullanma. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. Calf Studio Gear, OpenAV ve OpenOctave projelerinden bazı düğmeler, arka planlar ve diğer küçük sanat eserleri içerir. - + VST is a trademark of Steinberg Media Technologies GmbH. VST, Steinberg Media Technologies GmbH'nin ticari markasıdır. - + Special thanks to António Saraiva for a few extra icons and artwork! Birkaç ekstra simge ve sanat eseri için António Saraiva'ya özel teşekkürler! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. LV2 logosu, Peter Shorthose'un bir konseptine dayalı olarak Thorsten Wilms tarafından tasarlanmıştır. - + MIDI Keyboard designed by Thorsten Wilms. Thorsten Wilms tarafından tasarlanan MIDI Klavye. - + Carla, Carla-Control and Patchbay icons designed by DoosC. DoosC tarafından tasarlanan Carla, Carla-Control ve Patchbay simgeleri. - + Features Özellikler - + AU/AudioUnit: AU/Ses Ünitesi: - + LADSPA: LADSPA: - - - - - - - - + + + + + + + + TextLabel YazıEtiketi - + VST2: VST2: - + DSSI: DSSI: - + LV2: LV2: - + VST3: VST3: - + OSC OSC - + Host URLs: Barındırma URL'leri: - + Valid commands: Geçerli komutlar: - + valid osc commands here burada geçerli osc komutları - + Example: Örnek: - + License Lisans - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1582,50 +815,50 @@ BU TÜR ZARARLARIN OLASILIĞI. - + OSC Bridge Version OSC Köprü Sürümü - + Plugin Version Eklenti Sürümü - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> <br>Sürüm %1<br>Carla, tam özellikli bir ses eklentisi barındırıcısıdır %2.<br><br>Telif Hakkı (C) 2011-2019 falkTX<br> - - + + (Engine not running) (Motor çalışmıyor) - + Everything! (Including LRDF) Herşey! (LRDF dahil) - + Everything! (Including CustomData/Chunks) Herşey! (Özel Veriler / Parçalar Dahil) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> Hakkında 110&#37; tamam (özel uzantılar kullanarak)<br/>Uygulanan Özellik/Uzantılar:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host Juce ana bilgisayarını kullanma - + About 85% complete (missing vst bank/presets and some minor stuff) Yaklaşık % 85 tamamlandı (eksik vst bankası / ön ayarları ve bazı küçük şeyler) @@ -1658,563 +891,600 @@ BU TÜR ZARARLARIN OLASILIĞI. Yükleniyor... - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: Arabellek Boyutu: - + Sample Rate: Örnekleme Oranı: - + ? Xruns ? Xruns - + DSP Load: %p% EKR Yükü: %p% - + &File &Dosya - + &Engine &Motor - + &Plugin &Eklenti - + Macros (all plugins) Makrolar (tüm eklentiler) - + &Canvas &Tuval - + Zoom Büyütme - + &Settings &Ayarlar - + &Help &Yardım - - toolBar - araç Çubuğu + + Tool Bar + - + Disk Disk - - + + Home Ana Sayfa - + Transport Aktarım - + Playback Controls Oynatma Kontrolleri - + Time Information Zaman Bilgileri - + Frame: Çerçeve: - + 000'000'000 000'000'000 - + Time: Zaman: - + 00:00:00 00:00:00 - + BBT: BBT: - + 000|00|0000 000|00|0000 - + Settings Ayarlar - + BPM BPM - + Use JACK Transport JACK Transport'u kullanın - + Use Ableton Link Ableton Bağlantısını kullanın - + &New &Yeni - + Ctrl+N Ctrl+N - + &Open... &Aç... - - + + Open... Aç... - + Ctrl+O Ctrl+O - + &Save &Kaydet - + Ctrl+S CTRL + S - + Save &As... &Farklı Kaydet... - - + + Save As... Farklı Kaydet... - + Ctrl+Shift+S Ctrl+Shift+S - + &Quit &Çıkış - + Ctrl+Q Ctrl+Q - + &Start &Başlat - + F5 F5 - + St&op Du&rdur - + F6 F6 - + &Add Plugin... &Eklenti Ekle... - + Ctrl+A Ctrl+A - + &Remove All Tümünü &Kaldır - + Enable Etkinleştir - + Disable Devre Dışı Bırak - + 0% Wet (Bypass) % 0 Islak (Baypas) - + 100% Wet % 100 Islak - + 0% Volume (Mute) % 0 Ses (Sessiz) - + 100% Volume % 100 Hacim - + Center Balance Merkez Dengesi - + &Play &Oynat - + Ctrl+Shift+P Ctrl+ÜstKrkt+P - + &Stop &Durdur - + Ctrl+Shift+X Ctrl+Shift+X - + &Backwards &Geriye doğru - + Ctrl+Shift+B Ctrl+Shift+B - + &Forwards &İleriye - + Ctrl+Shift+F Ctrl+Shift+F - + &Arrange &Düzenleme - + Ctrl+G Ctrl+G - - + + &Refresh &Yenile - + Ctrl+R Ctrl +R - + Save &Image... &Görüntüyü Kaydet... - + Auto-Fit Otomatik Sığdır - + Zoom In Yakınlaştır - + Ctrl++ Ctrl++ - + Zoom Out Uzaklaştır - + Ctrl+- Ctrl+- - + Zoom 100% % 100 Yakınlaştır - + Ctrl+1 Ctrl +1 - + Show &Toolbar &Araç Çubuğunu Göster - + &Configure Carla &Carla'yı yapılandır - + &About &Hakkında - + About &JUCE &JUCE Hakkında - + About &Qt &Qt Hakkında - + Show Canvas &Meters Tuval &Ölçerleri Göster - + Show Canvas &Keyboard Tuval &Klavyeyi Göster - + Show Internal Dahili Göster - + Show External Harici Göster - + Show Time Panel Zaman Panelini Göster - + Show &Side Panel &Yan Paneli Göster - + + Ctrl+P + + + + &Connect... &Bağlan... - + Compact Slots Kompakt Yuvalar - + Expand Slots Yuvaları Genişlet - + Perform secret 1 Gizli 1'i gerçekleştir - + Perform secret 2 Gizli 2'yi gerçekleştir - + Perform secret 3 Gizli 3'ü gerçekleştir - + Perform secret 4 Gizli 4'ü gerçekleştir - + Perform secret 5 Gizli 5'i gerçekleştir - + Add &JACK Application... &JACK Uygulaması Ekle... - + &Configure driver... Sürücüyü &yapılandırın... - + Panic Panik - + Open custom driver panel... Özel sürücü panelini aç... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... Farklı dışa aktar... - - - - + + + + Error Hata - + Failed to load project Proje yüklenemedi - + Failed to save project Proje kaydedilemedi - + Quit Çık - + Are you sure you want to quit Carla? Carla'yı bırakmak istediğinden emin misin? - + Could not connect to Audio backend '%1', possible reasons: %2 '%1' Ses arka ucuna bağlanılamadı, olası nedenler: %2 - + Could not connect to Audio backend '%1' Ses arka ucuna '%1' bağlanılamadı - + Warning Uyarı - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? Hala yüklü bazı eklentiler var, motoru durdurmak için bunları kaldırmanız gerekiyor. Bunu şimdi yapmak istiyor musun? - - CarlaInstrumentView - - - Show GUI - Görselli Arayüzü Göster - - CarlaSettingsW @@ -2269,19 +1539,19 @@ Bunu şimdi yapmak istiyor musun? - + Main Ana - + Canvas Tuval - + Engine Motor @@ -2302,1488 +1572,590 @@ Bunu şimdi yapmak istiyor musun? - + Experimental Deneysel - + <b>Main</b> <b>Ana</b> - + Paths Yollar - + Default project folder: Varsayılan proje klasörü: - + Interface Arayüz - + + Use "Classic" as default rack skin + + + + Interface refresh interval: Arayüz yenileme aralığı: - - + + ms ms - + Show console output in Logs tab (needs engine restart) Konsol çıktısını Günlükler sekmesinde göster (motorun yeniden başlatılması gerekir) - + Show a confirmation dialog before quitting Çıkmadan önce bir onay iletişim kutusu göster - - + + Theme Tema - + Use Carla "PRO" theme (needs restart) Carla "PRO" temasını kullanın (yeniden başlatılması gerekiyor) - + Color scheme: Renk düzeni: - + Black Siyah - + System Sistem - + Enable experimental features Deneysel özellikleri etkinleştirin - + <b>Canvas</b> <b>Tuval</b> - + Bezier Lines Bezier Hatları - + Theme: Tema: - + Size: Boyut: - + 775x600 775x600 - + 1550x1200 1550x1200 - + 3100x2400 3100x2400 - + 4650x3600 4650x3600 - + 6200x4800 6200x4800 - + + 12400x9600 + + + + Options Seçenekler - + Auto-hide groups with no ports Bağlantı noktası olmayan grupları otomatik gizle - + Auto-select items on hover Fareyle üzerine gelindiğinde öğeleri otomatik seç - + Basic eye-candy (group shadows) Temel göz şekeri (grup gölgeleri) - + Render Hints Oluşturma İpuçları - + Anti-Aliasing Kenar Yumuşatma - + Full canvas repaints (slower, but prevents drawing issues) Tuvali yeniden boyar (daha yavaştır, ancak çizim sorunlarını önler) - + <b>Engine</b> <b>Motor</b> - - + + Core Çekirdek - + Single Client Tek Alıcı - + Multiple Clients Çoklu Alıcı - - + + Continuous Rack Sürekli Raf - - + + Patchbay Yama yuvası - + Audio driver: Ses sürücüsü: - + Process mode: İşlem modeli: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog Yerleşik 'Düzenle' iletişim kutusunda izin verilecek maksimum parametre sayısı - + Max Parameters: Maksimum Parametreler: - + ... ... - + Reset Xrun counter after project load Proje yükünden sonra Xrun sayacını sıfırlayın - + Plugin UIs Eklenti kullanıcı arayüzleri - - + + How much time to wait for OSC GUIs to ping back the host OSC Arayüz'lerin ana bilgisayarı geri göndermesi için ne kadar beklemek gerekir - + UI Bridge Timeout: Arayüz Köprüsü Zaman Aşımı: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code Mümkün olduğunda OSC-Arayüz köprülerini kullanın, bu şekilde UI'yi DSP kodundan ayırın - + Use UI bridges instead of direct handling when possible Mümkün olduğunda doğrudan işlem yerine Arayüz köprülerini kullanın - + Make plugin UIs always-on-top Eklenti kullanıcı arayüzlerini her zaman en üstte yapın - + Make plugin UIs appear on top of Carla (needs restart) Eklenti kullanıcı arayüzlerinin Carla'nın üstünde görünmesini sağlayın (yeniden başlatılması gerekiyor) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS NOT: Eklenti köprüsü kullanıcı arayüzleri, macOS'ta Carla tarafından yönetilemez - - + + Restart the engine to load the new settings Yeni ayarları yüklemek için motoru yeniden başlatın - + <b>OSC</b> <b>OSC</b> - + Enable OSC OSC'yi etkinleştir - + Enable TCP port TCP bağlantı noktasını etkinleştir - - + + Use specific port: Belirli bir bağlantı noktası kullanın: - + Overridden by CARLA_OSC_TCP_PORT env var CARLA_OSC_TCP_PORT env var tarafından geçersiz kılındı - - + + Use randomly assigned port Rastgele atanan bağlantı noktasını kullan - + Enable UDP port UDP bağlantı noktasını etkinleştir - + Overridden by CARLA_OSC_UDP_PORT env var CARLA_OSC_UDP_PORT ortam değişkeni tarafından geçersiz kılındı - + DSSI UIs require OSC UDP port enabled DSSI kullanıcı arabirimleri, OSC UDP bağlantı noktasının etkinleştirilmesini gerektirir - + <b>File Paths</b> <b>Dosya Yolları</b> - + Audio Ses - + MIDI MIDI - + Used for the "audiofile" plugin "Ses dosyası" eklentisi için kullanılır - + Used for the "midifile" plugin "Midifile" eklentisi için kullanılır - - + + Add... Ekle... - - + + Remove Kaldır - - + + Change... Değiştir... - + <b>Plugin Paths</b> <b>Eklenti Yolları</b> - + LADSPA LADSPA - + DSSI DSSI - + LV2 LV2 - + VST2 VST2 - + VST3 VST3 - + SF2/3 SF2/3 - + SFZ SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins Yeni eklentiler bulmak için Carla'yı yeniden başlatın - + <b>Wine</b> <b>Wine</b> - + Executable Yürütülebilir - + Path to 'wine' binary: 'Wine' ikilisine giden yol: - + Prefix Önek - + Auto-detect Wine prefix based on plugin filename Eklenti dosya adına göre Wine önekini otomatik algıla - + Fallback: Geri çekilmek: - + Note: WINEPREFIX env var is preferred over this fallback Not: WINEPREFIX env var değişkeni bu yedek yerine tercih edilir - + Realtime Priority Gerçek Zamanlı Öncelik - + Base priority: Temel öncelik: - + WineServer priority: WineSunucusu önceliği: - + These options are not available for Carla as plugin Bu seçenekler, eklenti olarak Carla için mevcut değildir - + <b>Experimental</b> <b>Deneysel</b> - + Experimental options! Likely to be unstable! Deneysel seçenekler! Kararsız olması muhtemel! - + Enable plugin bridges Eklenti köprülerini etkinleştirin - + Enable Wine bridges Wine köprülerini etkinleştir - + Enable jack applications Jack uygulamalarını etkinleştirin - + Export single plugins to LV2 Tek eklentileri LV2'ye aktarın - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) Carla arka ucunu genel ad alanında yükle (ÖNERİLMEZ) - + Fancy eye-candy (fade-in/out groups, glow connections) Süslü göz alıcı (grupların açılması / kapanması, kızdırma bağlantıları) - + Use OpenGL for rendering (needs restart) Oluşturmak için OpenGL kullanın (yeniden başlatılması gerekir) - + High Quality Anti-Aliasing (OpenGL only) Yüksek Kaliteli Örtüşme Önleme (yalnızca OpenGL) - + Render Ardour-style "Inline Displays" Ardour tarzı "Satır İçi Ekranları" Oluştur - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. Aynı anda 2 örnek çalıştırarak mono eklentileri stereo olarak zorlayın. Bu mod, VST eklentileri için kullanılamaz. - + Force mono plugins as stereo Mono eklentileri stereo olarak zorla - - Prevent plugins from doing bad stuff (needs restart) - Eklentilerin kötü şeyler yapmasını önleyin (yeniden başlatılması gerekir) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. + - - Whenever possible, run the plugins in bridge mode. - Mümkün olduğunda eklentileri köprü modunda çalıştırın. + + Prevent unsafe calls from plugins (needs restart) + - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible Mümkün olduğunda eklentileri köprü modunda çalıştırın - - - - + + + + Add Path Yol Ekle - - CompressorControlDialog - - - Threshold: - Eşik: - - - - Volume at which the compression begins to take place - Sıkıştırmanın gerçekleşmeye başladığı düzey - - - - Ratio: - Oran: - - - - How far the compressor must turn the volume down after crossing the threshold - Eşiği geçtikten sonra kompresörün hacmi ne kadar azaltması gerekir - - - - Attack: - Saldırı: - - - - Speed at which the compressor starts to compress the audio - Kompresörün sesi sıkıştırmaya başladığı hız - - - - Release: - Yayınla: - - - - Speed at which the compressor ceases to compress the audio - Kompresörün sesi sıkıştırmayı bıraktığı hız - - - - Knee: - Diz: - - - - Smooth out the gain reduction curve around the threshold - Eşiğin etrafındaki kazanç azaltma eğrisini düzeltin - - - - Range: - Menzil: - - - - Maximum gain reduction - Maksimum kazanç azaltma - - - - Lookahead Length: - Önden Bakış Uzunluğu: - - - - How long the compressor has to react to the sidechain signal ahead of time - Kompresörün yan zincir sinyaline vaktinden önce ne kadar süre tepki vermesi gerekir - - - - Hold: - Ambar: - - - - Delay between attack and release stages - Saldırı ve serbest bırakma aşamaları arasındaki gecikme - - - - RMS Size: - RMS Boyutu: - - - - Size of the RMS buffer - RMS arabelleğinin boyutu - - - - Input Balance: - Giriş Dengesi: - - - - Bias the input audio to the left/right or mid/side - Giriş sesini sola / sağa veya ortaya / yana çevirin - - - - Output Balance: - Çıktı Dengesi: - - - - Bias the output audio to the left/right or mid/side - Çıkış sesini sola / sağa veya ortaya / tarafa çevirin - - - - Stereo Balance: - Çift kanal Dengesi: - - - - Bias the sidechain signal to the left/right or mid/side - Yan zincir sinyalini sola / sağa veya ortaya / yana çevirin - - - - Stereo Link Blend: - Çift kanal Bağlantı Karışımı: - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - Bağlantısız / maksimum / ortalama / minimum çift kanal bağlantı modları arasında uyum sağlayın - - - - Tilt Gain: - Eğim Kazancı: - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - Yan zincir sinyalini düşük veya yüksek frekanslara yönlendirin. -6 db alçak geçiş, 6 db yüksek geçiştir. - - - - Tilt Frequency: - Eğim Frekansı: - - - - Center frequency of sidechain tilt filter - Yan zincir eğim filtresinin merkez frekansı - - - - Mix: - Karıştır: - - - - Balance between wet and dry signals - Islak ve kuru sinyaller arasında denge - - - - Auto Attack: - Otomatik Saldırı: - - - - Automatically control attack value depending on crest factor - Crest faktörüne bağlı olarak saldırı değerini otomatik olarak kontrol edin - - - - Auto Release: - Otomatik Yayın: - - - - Automatically control release value depending on crest factor - Crest faktörüne bağlı olarak serbest bırakma değerini otomatik olarak kontrol edin - - - - Output gain - Çıkış kazancı - - - - - Gain - Kazanç - - - - Output volume - Çıkış Düzeyi - - - - Input gain - Giriş kazancı - - - - Input volume - Giriş Düzeyi - - - - Root Mean Square - Kök kare ortalama - - - - Use RMS of the input - Girişin RMS'sini kullanın - - - - Peak - Zirve - - - - Use absolute value of the input - Girişin mutlak değerini kullan - - - - Left/Right - Sol/Sağ - - - - Compress left and right audio - Sol ve sağ sesi sıkıştır - - - - Mid/Side - Orta / Yan - - - - Compress mid and side audio - Orta ve yan sesi sıkıştır - - - - Compressor - Sıkıştırıcı - - - - Compress the audio - Sesi sıkıştır - - - - Limiter - Sınırlayıcı - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - Oranı sonsuza ayarla (ses seviyesini sınırlaması garanti edilmez) - - - - Unlinked - Bağlantısız - - - - Compress each channel separately - Her kanalı ayrı ayrı sıkıştırın - - - - Maximum - En Çok - - - - Compress based on the loudest channel - En gürültülü kanala göre sıkıştır - - - - Average - Ortalama - - - - Compress based on the averaged channel volume - Ortalama kanal hacmine göre sıkıştır - - - - Minimum - En Az - - - - Compress based on the quietest channel - En sessiz kanala göre sıkıştırın - - - - Blend - Harman - - - - Blend between stereo linking modes - Stereo bağlantı modları arasında uyum sağlayın - - - - Auto Makeup Gain - Otomatik Makyaj Kazancı - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - Eşik, diz ve oran ayarlarına bağlı olarak makyaj kazancını otomatik olarak değiştirin - - - - - Soft Clip - Yumuşak Kırpılma - - - - Play the delta signal - Delta sinyalini çal - - - - Use the compressor's output as the sidechain input - Yan zincir girişi olarak kompresörün çıktısını kullanın - - - - Lookahead Enabled - İleri Bakış Etkinleştirildi - - - - Enable Lookahead, which introduces 20 milliseconds of latency - 20 milisaniyelik gecikme süresi sağlayan Lookahead'i etkinleştirin - - - - CompressorControls - - - Threshold - Eşik - - - - Ratio - Oran - - - - Attack - Saldırı - - - - Release - Yayınla - - - - Knee - Diz - - - - Hold - Tut - - - - Range - Aralık - - - - RMS Size - RMS Boyutu - - - - Mid/Side - Orta / Yan - - - - Peak Mode - Tepe Modu - - - - Lookahead Length - Önden Bakış Uzunluğu - - - - Input Balance - Giriş Dengesi - - - - Output Balance - Çıktı Dengesi - - - - Limiter - Sınırlayıcı - - - - Output Gain - Çıkış Kazancı - - - - Input Gain - Giriş Kazancı - - - - Blend - Harman - - - - Stereo Balance - Çift kanal Dengesi - - - - Auto Makeup Gain - Otomatik Makyaj Kazancı - - - - Audition - İşitme - - - - Feedback - Geri bildirim - - - - Auto Attack - Otomatik Saldırı - - - - Auto Release - Otomatik Yayın - - - - Lookahead - Önden Bakış - - - - Tilt - Eğim - - - - Tilt Frequency - Eğim Frekansı - - - - Stereo Link - Çift kanal Bağlantı - - - - Mix - Karıştır - - - - Controller - - - Controller %1 - Kontrolör %1 - - - - ControllerConnectionDialog - - - Connection Settings - Bağlantı Ayarları - - - - MIDI CONTROLLER - MIDI KONTROLÖR - - - - Input channel - Giriş kanalı - - - - CHANNEL - KANAL - - - - Input controller - Giriş kontrolörü - - - - CONTROLLER - KONTROLÖR - - - - - Auto Detect - Oto-Tespit - - - - MIDI-devices to receive MIDI-events from - MIDI olaylarını almak için MIDI cihazları - - - - USER CONTROLLER - KULLANICI KONTROLÖRÜ - - - - MAPPING FUNCTION - EŞLEŞTİRME FONKSİYONU - - - - OK - Tamam - - - - Cancel - İptal - - - - LMMS - LMMS - - - - Cycle Detected. - Döngü Algılandı. - - - - ControllerRackView - - - Controller Rack - Denetleyici Rafı - - - - Add - Ekle - - - - Confirm Delete - Silmeyi Onayla - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Silmeyi onaylıyor musunuz? Bu denetleyiciyle ilişkili mevcut bağlantılar var. Geri almanın bir yolu yok. - - - - ControllerView - - - Controls - Kontroller - - - - Rename controller - Denetleyiciyi yeniden adlandır - - - - Enter the new name for this controller - Bu denetleyicinin yeni adını girin - - - - LFO - LFO - - - - &Remove this controller - Bu denetleyiciyi &kaldırın - - - - Re&name this controller - Bu denetleyiciyi yeniden ad&landırın - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - Bant geçişi 1/2: - - - - Band 2/3 crossover: - Bant geçişi 2/3: - - - - Band 3/4 crossover: - Bant geçişi 3/4: - - - - Band 1 gain - Band kazancı 1 - - - - Band 1 gain: - Band kazancı 1: - - - - Band 2 gain - Band kazancı 2 - - - - Band 2 gain: - Band kazancı 2: - - - - Band 3 gain - Band kazancı 3 - - - - Band 3 gain: - Band kazancı 3: - - - - Band 4 gain - Band kazancı 4 - - - - Band 4 gain: - Band kazancı 4: - - - - Band 1 mute - Band 1 sesini kapatma - - - - Mute band 1 - Bant 1'in sesini kapat - - - - Band 2 mute - Band 2 sesini kapatma - - - - Mute band 2 - Band 2'yi sessize al - - - - Band 3 mute - Band 3 sesini kapatma - - - - Mute band 3 - Bant 3'ü sessize al - - - - Band 4 mute - Band 4 sesini kapatma - - - - Mute band 4 - Bant 4'ü sessize al - - - - DelayControls - - - Delay samples - Gecikme örnekleri - - - - Feedback - Geri bildirim - - - - LFO frequency - LFO frekansı - - - - LFO amount - LFO miktarı - - - - Output gain - Çıkış kazancı - - - - DelayControlsDialog - - - DELAY - GECİKME - - - - Delay time - Gecikme süresi - - - - FDBK - FDBK - - - - Feedback amount - Geri bildirim miktarı - - - - RATE - ORAN - - - - LFO frequency - LFO frekansı - - - - AMNT - AMNT - - - - LFO amount - LFO miktarı - - - - Out gain - Çıkış kazancı - - - - Gain - Kazanç - - Dialog - - - Add JACK Application - JACK Uygulaması Ekle - - - - Note: Features not implemented yet are greyed out - Not: Henüz uygulanmayan özellikler gri renkte görünür - - - - Application - Uygulama - - - - Name: - İsim: - - - - Application: - Uygulama: - - - - From template - Şablondan - - - - Custom - Özelleştirilmiş - - - - Template: - Şablon: - - - - Command: - Komut: - - - - Setup - Kurulum - - - - Session Manager: - Oturum Yöneticisi: - - - - None - Hiç - - - - Audio inputs: - Ses girişleri: - - - - MIDI inputs: - MIDI girişleri: - - - - Audio outputs: - Ses çıkışları: - - - - MIDI outputs: - MIDI çıkışları: - - - - Take control of main application window - Ana uygulama penceresinin kontrolünü elinize alın - - - - Workarounds - Çözümler - - - - Wait for external application start (Advanced, for Debug only) - Harici uygulamanın başlamasını bekleyin (Gelişmiş, yalnızca Hata Ayıklama için) - - - - Capture only the first X11 Window - Yalnızca ilk X11 Penceresini yakalayın - - - - Use previous client output buffer as input for the next client - Önceki istemci çıktı arabelleğini sonraki istemci için girdi olarak kullan - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - Port indeksi olarak MIDI kanalı ile 16 JACK MIDI çıkışını simüle edin - - - - Error here - Hata burada - Carla Control - Connect @@ -3809,28 +2181,6 @@ Bu mod, VST eklentileri için kullanılamaz. TCP Port: TCP Bağlantı Noktası: - - - Reported host - Bildirilen ana bilgisayar - - - - Automatic - Otomatik - - - - Custom: - Özel: - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - Bazı ağlarda (USB bağlantıları gibi), uzak sistem yerel ağa erişemez. Burada Carla'nın uzaktan bağlanacağı ana bilgisayar adını veya IP'yi belirtebilirsiniz. -Emin değilseniz, "Otomatik" olarak bırakın. - Set value @@ -3885,948 +2235,6 @@ Emin değilseniz, "Otomatik" olarak bırakın. Yeni ayarları yüklemek için motoru yeniden başlatın - - DualFilterControlDialog - - - - FREQ - FREK - - - - - Cutoff frequency - Kesme frekansı - - - - - RESO - RESO - - - - - Resonance - Çınlama - - - - - GAIN - KAZANÇ - - - - - Gain - Kazanç - - - - MIX - KARIŞIM - - - - Mix - Karıştır - - - - Filter 1 enabled - Filtre 1 etkinleştirildi - - - - Filter 2 enabled - Filtre 2 etkinleştirildi - - - - Enable/disable filter 1 - Filtre 1'i etkinleştir / devre dışı bırak - - - - Enable/disable filter 2 - Filtre 2'yi etkinleştir / devre dışı bırak - - - - DualFilterControls - - - Filter 1 enabled - Filtre 1 etkinleştirildi - - - - Filter 1 type - Filtre türü 1 - - - - Cutoff frequency 1 - Kesme frekansı 1 - - - - Q/Resonance 1 - Q/Rezonans 1 - - - - Gain 1 - Kazanç 1 - - - - Mix - Karıştır - - - - Filter 2 enabled - Filtre 2 etkinleştirildi - - - - Filter 2 type - Filtre türü 2 - - - - Cutoff frequency 2 - Kesme frekansı 2 - - - - Q/Resonance 2 - Q/Rezonans 2 - - - - Gain 2 - Kazanç 2 - - - - - Low-pass - Düşük geçiş - - - - - Hi-pass - Yüksek geçiş - - - - - Band-pass csg - Bant geçişli csg - - - - - Band-pass czpg - Bant geçişli czpg - - - - - Notch - Çentik - - - - - All-pass - Tamamı bitti - - - - - Moog - Moog - - - - - 2x Low-pass - 2x Düşük geçiş - - - - - RC Low-pass 12 dB/oct - RC Düşük geçişli 12 dB / oct - - - - - RC Band-pass 12 dB/oct - RC Bant geçişi 12 dB / oct - - - - - RC High-pass 12 dB/oct - RC Yüksek Geçişli 12 dB / oct - - - - - RC Low-pass 24 dB/oct - RC Düşük geçişli 24 dB / oct - - - - - RC Band-pass 24 dB/oct - RC Bant geçişi 24 dB / oct - - - - - RC High-pass 24 dB/oct - RC Yüksek Geçişli 24 dB / oct - - - - - Vocal Formant - Vokal Biçimlendirici - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - SV Düşük geçiş - - - - - SV Band-pass - SV Bant geçişi - - - - - SV High-pass - SV Yüksek geçiş - - - - - SV Notch - SV Notch - - - - - Fast Formant - Hızlı Biçimlendirici - - - - - Tripole - Üçlü - - - - Editor - - - Transport controls - Aktarım kontrolleri - - - - Play (Space) - Oynat (Boşluk) - - - - Stop (Space) - Durdur ( Boşluk) - - - - Record - Kayıt - - - - Record while playing - Çalarken kayıt - - - - Toggle Step Recording - Adım Kaydı Değiştir - - - - Effect - - - Effect enabled - Efekt etkinleştirildi - - - - Wet/Dry mix - Islak / Kuru karışım - - - - Gate - Geçit - - - - Decay - Bozunma - - - - EffectChain - - - Effects enabled - Efektler etkinleştirildi - - - - EffectRackView - - - EFFECTS CHAIN - ETKİ ZİNCİRİ - - - - Add effect - Efekt ekleyin - - - - EffectSelectDialog - - - Add effect - Efekt ekleyin - - - - - Name - İsim - - - - Type - Tip - - - - Description - Açıklama - - - - Author - Yazar - - - - EffectView - - - On/Off - Aç/Kapat - - - - W/D - I/K - - - - Wet Level: - Islak düzey: - - - - DECAY - BOZULMA - - - - Time: - Zaman: - - - - GATE - PORTAL - - - - Gate: - Portal: - - - - Controls - Kontroller - - - - Move &up - Y&ukarı taşı - - - - Move &down - &Aşağı taşı - - - - &Remove this plugin - Bu eklentiyi &kaldır - - - - EnvelopeAndLfoParameters - - - Env pre-delay - Env ön gecikme - - - - Env attack - Env saldırısı - - - - Env hold - Env tutma - - - - Env decay - Env bozunma - - - - Env sustain - Env sürdürmek - - - - Env release - Env yayınlama - - - - Env mod amount - Env mod miktarı - - - - LFO pre-delay - LFO ön gecikmesi - - - - LFO attack - LFO saldırısı - - - - LFO frequency - LFO frekansı - - - - LFO mod amount - LFO mod miktarı - - - - LFO wave shape - LFO dalga şekli - - - - LFO frequency x 100 - LFO frekansı x 100 - - - - Modulate env amount - Ortam miktarını değiştir - - - - EnvelopeAndLfoView - - - - DEL - SİL - - - - - Pre-delay: - Ön gecikme: - - - - - ATT - ATT - - - - - Attack: - Saldırı: - - - - HOLD - TUT - - - - Hold: - Ambar: - - - - DEC - DEC - - - - Decay: - Bozunma: - - - - SUST - SUST - - - - Sustain: - Sürdürmek: - - - - REL - REL - - - - Release: - Yayınla: - - - - - AMT - AMT - - - - - Modulation amount: - Modülasyon miktarı: - - - - SPD - SPD - - - - Frequency: - Frekans: - - - - FREQ x 100 - FREQ x 100 - - - - Multiply LFO frequency by 100 - LFO frekansını 100 ile çarpın - - - - MODULATE ENV AMOUNT - ENV MİKTARINI MODÜLE EDİN - - - - Control envelope amount by this LFO - Bu LFO ile kontrol zarfı miktarı - - - - ms/LFO: - ms/LFO: - - - - Hint - İpucu - - - - Drag and drop a sample into this window. - Bu pencereye bir numune sürükleyip bırakın. - - - - EqControls - - - Input gain - Giriş kazancı - - - - Output gain - Çıkış kazancı - - - - Low-shelf gain - Düşük raf kazancı - - - - Peak 1 gain - Tepe kazancı 1 - - - - Peak 2 gain - Tepe kazancı 2 - - - - Peak 3 gain - Tepe kazancı 3 - - - - Peak 4 gain - Tepe kazancı 4 - - - - High-shelf gain - Yüksek raf kazancı - - - - HP res - HP res - - - - Low-shelf res - Düşük raflı res - - - - Peak 1 BW - Tepe 1 BW - - - - Peak 2 BW - Tepe 2 BW - - - - Peak 3 BW - Tepe 3 BW - - - - Peak 4 BW - Tepe 4 BW - - - - High-shelf res - Yüksek raf çözünürlüğü - - - - LP res - LP res - - - - HP freq - HP frekansı - - - - Low-shelf freq - Düşük raf frekansı - - - - Peak 1 freq - Tepe frekansı 1 - - - - Peak 2 freq - Tepe frekansı 2 - - - - Peak 3 freq - Tepe frekansı 3 - - - - Peak 4 freq - Tepe frekansı 4 - - - - High-shelf freq - Yüksek raf frekansı - - - - LP freq - LP frekansı - - - - HP active - HP etkin - - - - Low-shelf active - Düşük raf etkin - - - - Peak 1 active - Aktif tepe 1 - - - - Peak 2 active - Aktif tepe 2 - - - - Peak 3 active - Aktif tepe 3 - - - - Peak 4 active - Aktif tepe 4 - - - - High-shelf active - Yüksek raf etkin - - - - LP active - LP etkin - - - - LP 12 - LP 12 - - - - LP 24 - LP 24 - - - - LP 48 - LP 48 - - - - HP 12 - HP 12 - - - - HP 24 - HP 24 - - - - HP 48 - HP 48 - - - - Low-pass type - Düşük geçişli tip - - - - High-pass type - Yüksek geçişli tip - - - - Analyse IN - Analiz GİRİŞİ - - - - Analyse OUT - Analiz ÇIKIŞI - - - - EqControlsDialog - - - HP - HP - - - - Low-shelf - Düşük raf - - - - Peak 1 - Tepe 1 - - - - Peak 2 - Tepe 2 - - - - Peak 3 - Tepe 3 - - - - Peak 4 - Tepe 4 - - - - High-shelf - Yüksek raf - - - - LP - LP - - - - Input gain - Giriş kazancı - - - - - - Gain - Kazanç - - - - Output gain - Çıkış kazancı - - - - Bandwidth: - Bant genişliği: - - - - Octave - Octave - - - - Resonance : - Rezonans : - - - - Frequency: - Frekans: - - - - LP group - LP grubu - - - - HP group - HP grubu - - - - EqHandle - - - Reso: - Reso: - - - - BW: - BW: - - - - - Freq: - Freq: - - ExportProjectDialog @@ -4852,7 +2260,7 @@ Emin değilseniz, "Otomatik" olarak bırakın. time(s) - zamanlar) + zaman(lar) @@ -5010,3082 +2418,664 @@ Emin değilseniz, "Otomatik" olarak bırakın. En iyi (en yavaş) - - Oversampling: - Yüksek hızda örnekleme: - - - - 1x (None) - 1x (Hiçbiri) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start Başlat - + Cancel İptal - - - Could not open file - Dosya açılamadı - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - %1 dosyası yazmak için açılamadı. -Lütfen dosyaya ve dosyayı içeren dizine yazma izniniz olduğundan emin olun ve tekrar deneyin! - - - - Export project to %1 - %1 projesini dışa aktar - - - - ( Fastest - biggest ) - (En hızlı - en büyük) - - - - ( Slowest - smallest ) - (En yavaş - en küçük) - - - - Error - Hata - - - - Error while determining file-encoder device. Please try to choose a different output format. - Dosya kodlayıcı cihazı belirlenirken hata oluştu. Lütfen farklı bir çıktı biçimi seçmeyi deneyin. - - - - Rendering: %1% - Oluşturuluyor: %1% - - - - Fader - - - Set value - Değeri ayarla - - - - Please enter a new value between %1 and %2: - Lütfen %1 ile %2 arasında yeni bir değer girin: - - - - FileBrowser - - - User content - Kullanıcı içeriği - - - - Factory content - Fabrika içeriği - - - - Browser - Tarayıcı - - - - Search - Arama - - - - Refresh list - Listeyi yenile - - - - FileBrowserTreeWidget - - - Send to active instrument-track - Aktif alet izine gönder - - - - Open containing folder - Bulunduğu dizini aç - - - - Song Editor - Şarkı Düzenleyici - - - - BB Editor - BB Düzenleyici - - - - Send to new AudioFileProcessor instance - Yeni Ses Dosyası İşlemcisi örneğine gönder - - - - Send to new instrument track - Yeni enstrüman kanalına gönder - - - - (%2Enter) - (%2Enter) - - - - Send to new sample track (Shift + Enter) - Yeni örnek kanala gönder (Shift + Enter) - - - - Loading sample - Örnek yükleniyor - - - - Please wait, loading sample for preview... - Lütfen bekleyin, önizleme için örnek yükleniyor... - - - - Error - Hata - - - - %1 does not appear to be a valid %2 file - %1 geçerli bir %2 dosyası gibi görünmüyor - - - - --- Factory files --- - --- Fabrika dosyaları --- - - - - FlangerControls - - - Delay samples - Gecikme örnekleri - - - - LFO frequency - LFO frekansı - - - - Seconds - Saniye - - - - Stereo phase - Stereo faz - - - - Regen - Regen - - - - Noise - Parazit - - - - Invert - Tersine çevir - - - - FlangerControlsDialog - - - DELAY - GECİKME - - - - Delay time: - Gecikme süresi: - - - - RATE - ORAN - - - - Period: - Periyod: - - - - AMNT - AMNT - - - - Amount: - Miktar: - - - - PHASE - Evre - - - - Phase: - Evre: - - - - FDBK - FDBK - - - - Feedback amount: - Geri bildirim miktarı: - - - - NOISE - PARAZİT - - - - White noise amount: - Beyaz gürültü miktarı: - - - - Invert - Tersine çevir - - - - FreeBoyInstrument - - - Sweep time - Tarama zamanı - - - - Sweep direction - Tarama yönü - - - - Sweep rate shift amount - Tarama oranı kaydırma miktarı - - - - - Wave pattern duty cycle - Dalga deseni görev döngüsü - - - - Channel 1 volume - Kanal 1 düzeyi - - - - - - Volume sweep direction - Düzey tarama yönü - - - - - - Length of each step in sweep - Taramadaki her adımın uzunluğu - - - - Channel 2 volume - Kanal 2 düzeyi - - - - Channel 3 volume - Kanal 3 düzeyi - - - - Channel 4 volume - Kanal 4 düzeyi - - - - Shift Register width - Vardiya Kaydı genişliği - - - - Right output level - Sağ çıkış seviyesi - - - - Left output level - Sol çıkış seviyesi - - - - Channel 1 to SO2 (Left) - Kanal 1'den SO2'ye (Sol) - - - - Channel 2 to SO2 (Left) - Kanal 2'den SO2'ye (Sol) - - - - Channel 3 to SO2 (Left) - Kanal 3'den SO2'ye (Sol) - - - - Channel 4 to SO2 (Left) - Kanal 4'den SO2'ye (Sol) - - - - Channel 1 to SO1 (Right) - Kanal 1'den SO1'e (Sağ) - - - - Channel 2 to SO1 (Right) - Kanal 2'den SO1'e (Sağ) - - - - Channel 3 to SO1 (Right) - Kanal 3'den SO1'e (Sağ) - - - - Channel 4 to SO1 (Right) - Kanal 4'den SO1'e (Sağ) - - - - Treble - Tiz - - - - Bass - Bas - - - - FreeBoyInstrumentView - - - Sweep time: - Tarama zamanı: - - - - Sweep time - Tarama zamanı - - - - Sweep rate shift amount: - Tarama oranı kaydırma miktarı: - - - - Sweep rate shift amount - Tarama oranı kaydırma miktarı - - - - - Wave pattern duty cycle: - Dalga deseni görev döngüsü: - - - - - Wave pattern duty cycle - Dalga deseni görev döngüsü - - - - Square channel 1 volume: - Kare kanal 1 düzeyi: - - - - Square channel 1 volume - Kare kanal 1 düzeyi - - - - - - Length of each step in sweep: - Taramadaki her adımın uzunluğu: - - - - - - Length of each step in sweep - Taramadaki her adımın uzunluğu - - - - Square channel 2 volume: - Kare kanal 2 düzeyi: - - - - Square channel 2 volume - Kare kanal 2 düzeyi - - - - Wave pattern channel volume: - Dalga deseni kanal düzeyi: - - - - Wave pattern channel volume - Dalga deseni kanal düzeyi - - - - Noise channel volume: - Gürültü kanalı düzeyi: - - - - Noise channel volume - Gürültü kanalı düzeyi - - - - SO1 volume (Right): - SO2 düzeyi (Sağ): - - - - SO1 volume (Right) - SO2 düzeyi (Sağ) - - - - SO2 volume (Left): - SO2 düzeyi (Sol): - - - - SO2 volume (Left) - SO2 düzeyi (Sol) - - - - Treble: - Tiz: - - - - Treble - Tiz - - - - Bass: - Bas: - - - - Bass - Bas - - - - Sweep direction - Tarama yönü - - - - - - - - Volume sweep direction - Düzey tarama yönü - - - - Shift register width - Vardiya kaydı genişliği - - - - Channel 1 to SO1 (Right) - Kanal 1'den SO1'e (Sağ) - - - - Channel 2 to SO1 (Right) - Kanal 2'den SO1'e (Sağ) - - - - Channel 3 to SO1 (Right) - Kanal 3'den SO1'e (Sağ) - - - - Channel 4 to SO1 (Right) - Kanal 4'den SO1'e (Sağ) - - - - Channel 1 to SO2 (Left) - Kanal 1'den SO2'ye (Sol) - - - - Channel 2 to SO2 (Left) - Kanal 2'den SO2'ye (Sol) - - - - Channel 3 to SO2 (Left) - Kanal 3'den SO2'ye (Sol) - - - - Channel 4 to SO2 (Left) - Kanal 4'den SO2'ye (Sol) - - - - Wave pattern graph - Dalga deseni grafiği - - - - MixerChannelView - - - Channel send amount - Kanal gönderme miktarı - - - - Move &left - Sol&a taşı - - - - Move &right - &Sağa taşı - - - - Rename &channel - &Kanalı yeniden adlandır - - - - R&emove channel - Kanalı k&aldır - - - - Remove &unused channels - &Kullanılmayan kanalları kaldırın - - - - Set channel color - Kanal rengini ayarla - - - - Remove channel color - Kanal rengini kaldır - - - - Pick random channel color - Rastgele kanal rengi seçin - - - - MixerChannelLcdSpinBox - - - Assign to: - Ata: - - - - New mixer Channel - Yeni FX Kanalı - - - - Mixer - - - Master - Usta - - - - - - Channel %1 - FX %1 - - - - Volume - Ses Düzeyi - - - - Mute - Sustur - - - - Solo - Tek - - - - MixerView - - - Mixer - FX-Karıştırıcısı - - - - Fader %1 - FX Fader %1 - - - - Mute - Sustur - - - - Mute this mixer channel - Bu FX kanalını sessize al - - - - Solo - Tek - - - - Solo mixer channel - Solo FX kanalı - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - %1 kanalından %2 kanalına gönderilecek miktar - - - - GigInstrument - - - Bank - Yuva - - - - Patch - Yama - - - - Gain - Kazanç - - - - GigInstrumentView - - - - Open GIG file - GIG dosyasını açın - - - - Choose patch - Yama seçin - - - - Gain: - Kazanç: - - - - GIG Files (*.gig) - GIG Dosyaları (*.gig) - - - - GuiApplication - - - Working directory - Çalışma dizini - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - %1 LMMS çalışma dizini yok. Şimdi oluşturulsun mu? Dizini daha sonra Düzenle -> Ayarlar üzerinden değiştirebilirsiniz. - - - - Preparing UI - Arayüz hazırlanıyor - - - - Preparing song editor - Şarkı düzenleyicinin hazırlanıyor - - - - Preparing mixer - Karıştırıcı hazırlanıyor - - - - Preparing controller rack - Denetleyici rafını hazırlanıyor - - - - Preparing project notes - Proje notlarının hazırlanıyor - - - - Preparing beat/bassline editor - Beat / bassline editörü hazırlanıyor - - - - Preparing piano roll - Piyano rulosunun hazırlanıyor - - - - Preparing automation editor - Otomasyon düzenleyicinin hazırlanıyor - - - - InstrumentFunctionArpeggio - - - Arpeggio - Arpej - - - - Arpeggio type - Arpej türü - - - - Arpeggio range - Arpej aralığı - - - - Note repeats - Nota tekrarları - - - - Cycle steps - Döngü adımları - - - - Skip rate - Atlama oranı - - - - Miss rate - Iskalama oranı - - - - Arpeggio time - Arpej zamanı - - - - Arpeggio gate - Arpej kapısı - - - - Arpeggio direction - Arpej yönü - - - - Arpeggio mode - Arpej modu - - - - Up - Üst - - - - Down - Aşağı - - - - Up and down - Yukarı ve aşağı - - - - Down and up - Aşağı ve yukarı - - - - Random - Rastgele - - - - Free - Özgür - - - - Sort - Çeşit - - - - Sync - Eşitleme - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEJ - - - - RANGE - ARALIK - - - - Arpeggio range: - Arpej aralığı: - - - - octave(s) - octave(s) - - - - REP - REP - - - - Note repeats: - Nota tekrarları: - - - - time(s) - zamanlar) - - - - CYCLE - DÖNGÜ - - - - Cycle notes: - Döngü notaları: - - - - note(s) - nota(lar) - - - - SKIP - ATLA - - - - Skip rate: - Atlama oranı: - - - - - - % - % - - - - MISS - KAÇIRMA - - - - Miss rate: - Kaçırma oranı: - - - - TIME - ZAMAN - - - - Arpeggio time: - Arpej zamanı: - - - - ms - ms - - - - GATE - PORTAL - - - - Arpeggio gate: - Arpej kapısı: - - - - Chord: - Akord: - - - - Direction: - Yön: - - - - Mode: - Kip: - InstrumentFunctionNoteStacking - + octave octave - - + + Major Önemli - + Majb5 Majb5 - + minor minor - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Harmonik minor - + Melodic minor Melodik minor - + Whole tone Bütün ton - + Diminished Azalma - + Major pentatonic Major pentatonik - + Minor pentatonic Minor pentatonik - + Jap in sen Sen de Jap - + Major bebop Başlıca bebop - + Dominant bebop Baskın bebop - + Blues Blues - + Arabic Arapça - + Enigmatic Esrarengiz - + Neopolitan Neopolitan - + Neopolitan minor Neopolitan minör - + Hungarian minor Macar minör - + Dorian Dorian - + Phrygian Frig - + Lydian Lidya DIli - + Mixolydian Miksolydiyen - + Aeolian Aeolian - + Locrian Locrian - + Minor Minor - + Chromatic Kromatik - + Half-Whole Diminished Yarım-Bütün Azaltılmış - + 5 5 - + Phrygian dominant Frig hakimiyeti - + Persian Farsça - - - Chords - Akordlar - - - - Chord type - Akord türü - - - - Chord range - Akord aralığı - - - - InstrumentFunctionNoteStackingView - - - STACKING - İSTİFLEME - - - - Chord: - Akord: - - - - RANGE - ARALIK - - - - Chord range: - Akord aralığı: - - - - octave(s) - octave(s) - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - MIDI GİRİŞİNİ ETKİNLEŞTİR - - - - ENABLE MIDI OUTPUT - MIDI ÇIKIŞINI ETKİNLEŞTİR - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - KANAL - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - VELOC - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - PROG - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTA - - - - MIDI devices to receive MIDI events from - MIDI olaylarının alınacağı MIDI cihazları - - - - MIDI devices to send MIDI events to - MIDI olaylarının gönderileceği MIDI cihazları - - - - CUSTOM BASE VELOCITY - ÖZEL BAZ HIZI - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - % 100 nota hızında MIDI tabanlı enstrümanlar için hız normalleştirme tabanını belirtin. - - - - BASE VELOCITY - TABAN HIZI - - - - InstrumentTuningView - - - MASTER PITCH - ANA PERDE - - - - Enables the use of master pitch - Ana adımın kullanılmasını sağlar - InstrumentSoundShaping - + VOLUME DÜZEY - + Volume Ses Düzeyi - + CUTOFF AYIRMAK - - + Cutoff frequency Kesme frekansı - + RESO RESO - + Resonance Çınlama - - - Envelopes/LFOs - Zarflar / LFO'lar - - - - Filter type - Filtre tipi - - - - Q/Resonance - Q/Rezonans - - - - Low-pass - Düşük geçiş - - - - Hi-pass - Yüksek geçiş - - - - Band-pass csg - Bant geçişli csg - - - - Band-pass czpg - Bant geçişli czpg - - - - Notch - Çentik - - - - All-pass - Tamamı bitti - - - - Moog - Moog - - - - 2x Low-pass - 2x Düşük geçiş - - - - RC Low-pass 12 dB/oct - RC Düşük geçişli 12 dB / oct - - - - RC Band-pass 12 dB/oct - RC Bant geçişi 12 dB / oct - - - - RC High-pass 12 dB/oct - RC Yüksek Geçişli 12 dB / oct - - - - RC Low-pass 24 dB/oct - RC Düşük geçişli 24 dB / oct - - - - RC Band-pass 24 dB/oct - RC Bant geçişi 24 dB / oct - - - - RC High-pass 24 dB/oct - RC Yüksek Geçişli 24 dB / oct - - - - Vocal Formant - Vokal Biçimlendirici - - - - 2x Moog - 2x Moog - - - - SV Low-pass - SV Düşük geçiş - - - - SV Band-pass - SV Bant geçişi - - - - SV High-pass - SV Yüksek geçiş - - - - SV Notch - SV Notch - - - - Fast Formant - Hızlı Biçimlendirici - - - - Tripole - Üçlü - - InstrumentSoundShapingView + JackAppDialog - - TARGET - HEDEF + + Add JACK Application + - - FILTER - FİLTRE + + Note: Features not implemented yet are greyed out + - - FREQ - FREK + + Application + - - Cutoff frequency: - Kesim frekansı: + + Name: + - - Hz - Hz + + Application: + - - Q/RESO - Q/RESO + + From template + - - Q/Resonance: - Q/Rezonans: + + Custom + - - Envelopes, LFOs and filters are not supported by the current instrument. - Zarflar, LFO'lar ve filtreler mevcut cihaz tarafından desteklenmemektedir. - - - - InstrumentTrack - - - - unnamed_track - adsız_parça + + Template: + - - Base note - Temel nota + + Command: + - - First note - İlk nota + + Setup + - - Last note - Son nota + + Session Manager: + - - Volume - Ses Düzeyi + + None + - - Panning - Panning + + Audio inputs: + - - Pitch - Zift + + MIDI inputs: + - - Pitch range - Eğim aralığı + + Audio outputs: + - - Mixer channel - FX kanalı + + MIDI outputs: + - - Master pitch - Ana sahne + + Take control of main application window + - - Enable/Disable MIDI CC - MIDI CC'yi Etkinleştir / Devre Dışı Bırak + + Workarounds + - - CC Controller %1 - CC Denetleyicisi %1 + + Wait for external application start (Advanced, for Debug only) + - - - Default preset - Varsayılan ön ayar - - - - InstrumentTrackView - - - Volume - Ses Düzeyi + + Capture only the first X11 Window + - - Volume: - Ses Düzeyi: + + Use previous client output buffer as input for the next client + - - VOL - SES + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - Panning - Panning + + Error here + - - Panning: - Panning: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - Giriş - - - - Output - Çıkış - - - - Open/Close MIDI CC Rack - MIDI CC Rafını Aç / Kapat - - - - Channel %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - GENEL AYARLAR - - - - Volume - Ses Düzeyi - - - - Volume: - Ses Düzeyi: - - - - VOL - SES - - - - Panning - Panning - - - - Panning: - Panning: - - - - PAN - PAN - - - - Pitch - Zift - - - - Pitch: - Hatve (Aralık): - - - - cents - sent - - - - PITCH - PERDE - - - - Pitch range (semitones) - Perde aralığı (yarım tonlar) - - - - RANGE - ARALIK - - - - Mixer channel - FX kanalı - - - - CHANNEL - FX - - - - Save current instrument track settings in a preset file - Mevcut enstrüman parça ayarlarını önceden ayarlanmış bir dosyaya kaydedin - - - - SAVE - KAYDET - - - - Envelope, filter & LFO - Zarf, filtre ve LFO - - - - Chord stacking & arpeggio - Akor istifleme & arpej - - - - Effects - Efektler - - - - MIDI - MIDI - - - - Miscellaneous - Çeşitli - - - - Save preset - Ön ayarı kaydet - - - - XML preset file (*.xpf) - XML hazır ayar dosyası (*.xpf) - - - - Plugin - Eklenti - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - NSM uygulamaları soyut veya mutlak yollar kullanamaz + - + NSM applications cannot use CLI arguments - NSM uygulamaları CLI bağımsız değişkenlerini kullanamaz + - + You need to save the current Carla project before NSM can be used - NSM kullanılmadan önce mevcut Carla projesini kaydetmeniz gerekir + JuceAboutW - - About JUCE - JUCE hakkında - - - - <b>About JUCE</b> - <b>JUCE hakkında</b> - - - - This program uses JUCE version 3.x.x. - Bu program JUCE 3.x.x sürümünü kullanır. - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - JUCE (Jules'un Yardımcı Sınıf Uzantıları), platformlar arası yazılım geliştirmek için her şeyi kapsayan bir C++ sınıf kitaplığıdır. - -Çoğu uygulamayı oluşturmak için ihtiyaç duyacağınız hemen hemen her şeyi içerir ve özellikle son derece özelleştirilmiş Kullanıcı arayüzleri oluşturmak ve grafik ve sesle çalışmak için çok uygundur. - -JUCE, GNU Kamu Lisansı 2.0 sürümü altında lisanslanmıştır. -Bir modül (juce_core) ISC altında izinli olarak lisanslanmıştır. - -Telif Hakkı (C) 2017 ROLI Ltd. - - - + This program uses JUCE version %1. Bu program JUCE %1 sürümünü kullanıyor. - - Knob - - - Set linear - Doğrusal ayarla - - - - Set logarithmic - Logaritmik ayarla - - - - - Set value - Değeri ayarla - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Lütfen -96.0 dBFS ve 6.0 dBFS arasında yeni bir değer girin: - - - - Please enter a new value between %1 and %2: - Lütfen %1 ile %2 arasında yeni bir değer girin: - - - - LadspaControl - - - Link channels - Kanalları bağla - - - - LadspaControlDialog - - - Link Channels - Kanalları Bağla - - - - Channel - Kanallar - - - - LadspaControlView - - - Link channels - Kanalları bağla - - - - Value: - Değer: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Bilinmeyen LADSPA eklentisi %1 istendi. - - - - LcdFloatSpinBox - - - Set value - Değeri ayarla - - - - Please enter a new value between %1 and %2: - Lütfen %1 ile %2 arasında yeni bir değer girin: - - - - LcdSpinBox - - - Set value - Değeri ayarla - - - - Please enter a new value between %1 and %2: - Lütfen %1 ile %2 arasında yeni bir değer girin: - - - - LeftRightNav - - - - - Previous - Önceki - - - - - - Next - Sonraki - - - - Previous (%1) - Önceki (%1) - - - - Next (%1) - Sonraki (%1) - - - - LfoController - - - LFO Controller - LFO Denetleyicisi - - - - Base value - Temel değer - - - - Oscillator speed - Osilatör hızı - - - - Oscillator amount - Osilatör miktarı - - - - Oscillator phase - Osilatör fazı - - - - Oscillator waveform - Osilatör dalga formu - - - - Frequency Multiplier - Frekans Çarpanı - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - TEMEL - - - - Base: - Temel: - - - - FREQ - FREK - - - - LFO frequency: - LFO frekansı: - - - - AMNT - AMNT - - - - Modulation amount: - Modülasyon miktarı: - - - - PHS - PHS - - - - Phase offset: - Faz uzaklığı: - - - - degrees - derece - - - - Sine wave - Sinüs dalgası - - - - Triangle wave - Üçgen dalga - - - - Saw wave - Testere dalga - - - - Square wave - Kare dalgası - - - - Moog saw wave - Moog testere dalgası - - - - Exponential wave - Üstel dalga - - - - White noise - Beyaz gürültü - - - - User-defined shape. -Double click to pick a file. - Kullanıcı tanımlı şekil. -Bir dosya seçmek için çift tıklayın. - - - - Mutliply modulation frequency by 1 - Modülasyon frekansını 1 ile çarpın - - - - Mutliply modulation frequency by 100 - Modülasyon frekansını 100 ile çarpın - - - - Divide modulation frequency by 100 - Modülasyon frekansını 100'e bölün - - - - Engine - - - Generating wavetables - Dalgaboyu oluşturma - - - - Initializing data structures - Veri yapılarını başlatma - - - - Opening audio and midi devices - Ses ve midi cihazlarını açma - - - - Launching mixer threads - Karıştırıcı konularının başlatılması - - - - MainWindow - - - Configuration file - Yapılandırma dosyası - - - - Error while parsing configuration file at line %1:%2: %3 - %1:%2: %3 satırındaki yapılandırma dosyası ayrıştırılırken hata oluştu - - - - Could not open file - Dosya açılamadı - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - %1 dosyası yazmak için açılamadı. -Lütfen dosyaya ve dosyayı içeren dizine yazma izniniz olduğundan emin olun ve tekrar deneyin! - - - - Project recovery - Proje kurtarma - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Mevcut bir kurtarma dosyası var. Görünüşe göre son oturum düzgün şekilde sona ermemiş veya başka bir LMMS örneği zaten çalışıyor. Bu oturumun projesini kurtarmak istiyor musunuz? - - - - - Recover - Kurtar - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Dosyayı kurtarın. Lütfen bunu yaptığınızda birden fazla LMMS örneği çalıştırmayın. - - - - - Discard - Iskarta - - - - Launch a default session and delete the restored files. This is not reversible. - Varsayılan bir oturum başlatın ve geri yüklenen dosyaları silin. Bu geri alınamaz. - - - - Version %1 - Sürüm %1 - - - - Preparing plugin browser - Eklenti tarayıcısı hazırlanıyor - - - - Preparing file browsers - Dosya tarayıcıları hazırlanıyor - - - - My Projects - Projelerim - - - - My Samples - Örneklerim - - - - My Presets - Ön ayarlarım - - - - My Home - Ana sayfam - - - - Root directory - Kök dizini - - - - Volumes - Düzeyler - - - - My Computer - Bilgisayarım - - - - &File - &Dosya - - - - &New - &Yeni - - - - &Open... - &Aç... - - - - Loading background picture - Arka plan resmi yükleniyor - - - - &Save - &Kaydet - - - - Save &As... - &Farklı Kaydet... - - - - Save as New &Version - Yeni &Sürüm Olarak Kaydet - - - - Save as default template - Varsayılan şablon olarak kaydet - - - - Import... - İçe Aktar... - - - - E&xport... - D&ışa aktar... - - - - E&xport Tracks... - Parçaları D&ışa aktar... - - - - Export &MIDI... - &MIDI Dışa Aktar... - - - - &Quit - &Çıkış - - - - &Edit - &Düzenle - - - - Undo - Geri Al - - - - Redo - İleri Al - - - - Settings - Ayarlar - - - - &View - &Görünüm - - - - &Tools - &Araçlar - - - - &Help - &Yardım - - - - Online Help - Çevrimiçi Yardım - - - - Help - Yardım - - - - About - Hakkında - - - - Create new project - Yeni proje oluştur - - - - Create new project from template - Şablondan yeni proje oluştur - - - - Open existing project - Mevcut projeyi aç - - - - Recently opened projects - Yakın zamanda açılan projeler - - - - Save current project - Mevcut projeyi kaydet - - - - Export current project - Mevcut projeyi dışa aktar - - - - Metronome - Metronom - - - - - Song Editor - Şarkı Düzenleyici - - - - - Beat+Bassline Editor - Beat+Bassline Düzenleyici - - - - - Piano Roll - Piyano Rulosu - - - - - Automation Editor - Otomasyon Düzenleyicisi - - - - - Mixer - FX Karıştırıcısı - - - - Show/hide controller rack - Denetleyici rafını göster / gizle - - - - Show/hide project notes - Proje notlarını göster / gizle - - - - Untitled - Başlıksız - - - - Recover session. Please save your work! - Oturumu kurtarın. Lütfen çalışmanızı kaydedin! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Kurtarılan proje kaydedilmedi - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Bu proje önceki oturumdan kurtarıldı. Şu anda kaydedilmedi ve kaydetmezseniz kaybolacak. Şimdi kaydetmek ister misin? - - - - Project not saved - Proje kaydedilmedi - - - - The current project was modified since last saving. Do you want to save it now? - Mevcut proje, son kayıttan bu yana değiştirildi. Şimdi kaydetmek ister misin? - - - - Open Project - Projeyi Aç - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Projeyi Kaydet - - - - LMMS Project - LMMS Projesi - - - - LMMS Project Template - LMMS Proje Şablonu - - - - Save project template - Proje şablonunu kaydet - - - - Overwrite default template? - Varsayılan şablonun üzerine yazılsın mı? - - - - This will overwrite your current default template. - Bu, mevcut varsayılan şablonunuzun üzerine yazacaktır. - - - - Help not available - Yardım mevcut değil - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Şu anda LMMS'de yardım bulunmamaktadır. -LMMS ile ilgili belgeler için lütfen http://lmms.sf.net/wiki adresini ziyaret edin. - - - - Controller Rack - Denetleyici Rafı - - - - Project Notes - Proje Notları - - - - Fullscreen - Tam ekran - - - - Volume as dBFS - DBFS olarak düzey - - - - Smooth scroll - Düzgün kaydırma - - - - Enable note labels in piano roll - Piyano rulosunda not etiketlerini etkinleştirin - - - - MIDI File (*.mid) - MIDI Dosyası (*.mid) - - - - - untitled - başlıksız - - - - - Select file for project-export... - Proje dışa aktarımı için dosya seçin... - - - - Select directory for writing exported tracks... - Dışa aktarılan parkurları yazmak için dizin seçin... - - - - Save project - Projeyi kaydet - - - - Project saved - Proje kaydedildi - - - - The project %1 is now saved. - %1 projesi şimdi kaydedildi. - - - - Project NOT saved. - Proje kaydedilmedi. - - - - The project %1 was not saved! - %1 projesi kaydedilmedi! - - - - Import file - Dosyayı içe aktar - - - - MIDI sequences - MIDI dizileri - - - - Hydrogen projects - Hidrojen projeleri - - - - All file types - Tüm dosya türleri - - - - MeterDialog - - - - Meter Numerator - Sayaç Payı - - - - Meter numerator - Sayaç payı - - - - - Meter Denominator - Metre Paydası - - - - Meter denominator - Metre paydası - - - - TIME SIG - TIME SIG - - - - MeterModel - - - Numerator - Pay - - - - Denominator - Payda - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - MIDI CC Rack - %1 - - - - MIDI CC Knobs: - MIDI CC Düğmeleri: - - - - CC %1 - CC %1 - - - - MidiController - - - MIDI Controller - MIDI Denetleyicisi - - - - unnamed_midi_controller - adsız_midi_denetleyici - - - - MidiImport - - - - Setup incomplete - Kurulum tamamlanmadı - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Ayarlar iletişim kutusunda (Düzenle-> Ayarlar) varsayılan bir ses yazı tipi ayarlamadınız. Bu nedenle, bu MIDI dosyasını içe aktardıktan sonra hiçbir ses çalınmayacaktır. Bir Genel MIDI ses yazı tipi indirmeli, bunu ayarlar iletişim kutusunda belirtmeli ve tekrar denemelisiniz. - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - LMMS'yi içe aktarılan MIDI dosyalarına varsayılan ses eklemek için kullanılan SoundFont2 oynatıcı desteğiyle derlemediniz. Bu nedenle, bu MIDI dosyasını içe aktardıktan sonra hiçbir ses çalınmayacaktır. - - - - MIDI Time Signature Numerator - MIDI Zaman İmza Payı - - - - MIDI Time Signature Denominator - MIDI Zaman İmza Paydası - - - - Numerator - Pay - - - - Denominator - Payda - - - - Track - Parça - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK sunucusu kapalı - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - JACK sunucusu kapatılmış görünüyor. - - MidiPatternW @@ -8291,2731 +3281,370 @@ LMMS ile ilgili belgeler için lütfen http://lmms.sf.net/wiki adresini ziyaret &Çıkış - + + Esc + + + + &Insert Mode &Ekle Modu - + F F - + &Velocity Mode &Hız Modu - + D D - + Select All Tümünü seç - + A A - - MidiPort - - - Input channel - Giriş kanalı - - - - Output channel - Çıkış kanalı - - - - Input controller - Giriş kontrolörü - - - - Output controller - Çıkış denetleyicisi - - - - Fixed input velocity - Sabit giriş hızı - - - - Fixed output velocity - Sabit çıkış hızı - - - - Fixed output note - Sabit çıktı notu - - - - Output MIDI program - MIDI programı çıktısı - - - - Base velocity - Temel hız - - - - Receive MIDI-events - MIDI olaylarını alın - - - - Send MIDI-events - MIDI olayları gönder - - - - MidiSetupWidget - - - Device - Cihaz - - - - MonstroInstrument - - - Osc 1 volume - Osc 1 düzey - - - - Osc 1 panning - Osc 1 kaydırma - - - - Osc 1 coarse detune - Osc 1 kaba detay - - - - Osc 1 fine detune left - Osc 1 ince detay sol - - - - Osc 1 fine detune right - Osc 1 ince detay sağ - - - - Osc 1 stereo phase offset - Osc 1 çift kanal faz ofseti - - - - Osc 1 pulse width - Osc 1 darbe genişliği - - - - Osc 1 sync send on rise - Osc 1 nsenkronizasyonu yükselişte gönder - - - - Osc 1 sync send on fall - Osc 1 senkronizasyonu sonbaharda gönder - - - - Osc 2 volume - Osc 2 düzey - - - - Osc 2 panning - Osc 2 kaydırma - - - - Osc 2 coarse detune - Osc 2 kaba detay - - - - Osc 2 fine detune left - Osc 2 ince detay sol - - - - Osc 2 fine detune right - Osc 2 ince detay sağ - - - - Osc 2 stereo phase offset - Osc 2 çift kanal faz ofseti - - - - Osc 2 waveform - Osc 2 dalga formu - - - - Osc 2 sync hard - Osc 2 senkronizasyonu zor - - - - Osc 2 sync reverse - Osc 2 senkronizasyon ters - - - - Osc 3 volume - Osc 3 düzey - - - - Osc 3 panning - Osc 3 kaydırma - - - - Osc 3 coarse detune - Osc 3 kaba detay - - - - Osc 3 Stereo phase offset - Osc 3 çift kanal faz ofseti - - - - Osc 3 sub-oscillator mix - Osc 3 alt osilatör karışımı - - - - Osc 3 waveform 1 - Osc 3 dalga formu 1 - - - - Osc 3 waveform 2 - Osc 3 dalga formu 2 - - - - Osc 3 sync hard - Osc 3 senkronizasyonu zor - - - - Osc 3 Sync reverse - Osc 3 Senkronizasyon ters - - - - LFO 1 waveform - LFO 1 dalga formu - - - - LFO 1 attack - LFO 1 saldırısı - - - - LFO 1 rate - LFO 1 oran - - - - LFO 1 phase - LFO 1 aşaması - - - - LFO 2 waveform - LFO 2 dalga formu - - - - LFO 2 attack - LFO 2 saldırısı - - - - LFO 2 rate - LFO 2 oran - - - - LFO 2 phase - LFO 2 aşaması - - - - Env 1 pre-delay - Env 1 ön gecikme - - - - Env 1 attack - Env 1 saldırısı - - - - Env 1 hold - Env 1 tutma - - - - Env 1 decay - Env 1 bozunma - - - - Env 1 sustain - Env 1 sürdürmek - - - - Env 1 release - Env 1 yayını - - - - Env 1 slope - Env 1 eğimi - - - - Env 2 pre-delay - Env 2 ön gecikmesi - - - - Env 2 attack - Env 2 saldırısı - - - - Env 2 hold - Env 2 tutma - - - - Env 2 decay - Env 2 bozunma - - - - Env 2 sustain - Env 2 sürdürmek - - - - Env 2 release - Env 2 yayını - - - - Env 2 slope - Env 2 eğimi - - - - Osc 2+3 modulation - Osc 2+3 modülasyonu - - - - Selected view - Seçili görünüm - - - - Osc 1 - Vol env 1 - Osc 1 - Düzey env 1 - - - - Osc 1 - Vol env 2 - Osc 1 - Düzey env 2 - - - - Osc 1 - Vol LFO 1 - Osc 1 - Düzey LFO 1 - - - - Osc 1 - Vol LFO 2 - Osc 1 - Düzey LFO 2 - - - - Osc 2 - Vol env 1 - Osc 2 - Düzey env 1 - - - - Osc 2 - Vol env 2 - Osc 2 - Düzey env 2 - - - - Osc 2 - Vol LFO 1 - Osc 2 - Düzey LFO 1 - - - - Osc 2 - Vol LFO 2 - Osc 2 - Düzey LFO 2 - - - - Osc 3 - Vol env 1 - Osc 3 - Düzey env 1 - - - - Osc 3 - Vol env 2 - Osc 3 - Düzey env 2 - - - - Osc 3 - Vol LFO 1 - Osc 3 - Düzey LFO 1 - - - - Osc 3 - Vol LFO 2 - Osc 3 - Düzey LFO 2 - - - - Osc 1 - Phs env 1 - Osc 1 - Phs env 1 - - - - Osc 1 - Phs env 2 - Osc 1 - Phs env 2 - - - - Osc 1 - Phs LFO 1 - Osc 1 - Phs LFO 1 - - - - Osc 1 - Phs LFO 2 - Osc 1 - Phs LFO 2 - - - - Osc 2 - Phs env 1 - Osc 2 - Phs env 1 - - - - Osc 2 - Phs env 2 - Osc 2 - Phs env 2 - - - - Osc 2 - Phs LFO 1 - Osc 2 - Phs LFO 1 - - - - Osc 2 - Phs LFO 2 - Osc 2 - Phs LFO 2 - - - - Osc 3 - Phs env 1 - Osc 3 - Phs env 1 - - - - Osc 3 - Phs env 2 - Osc 3 - Phs env 2 - - - - Osc 3 - Phs LFO 1 - Osc 3 - Phs LFO 1 - - - - Osc 3 - Phs LFO 2 - Osc 3 - Phs LFO 2 - - - - Osc 1 - Pit env 1 - Osc 1 - Pit env 1 - - - - Osc 1 - Pit env 2 - Osc 1 - Pit env 2 - - - - Osc 1 - Pit LFO 1 - Osc 1 - Pit LFO 1 - - - - Osc 1 - Pit LFO 2 - Osc 1 - Pit LFO 2 - - - - Osc 2 - Pit env 1 - Osc 2 - Pit env 1 - - - - Osc 2 - Pit env 2 - Osc 2 - Pit env 2 - - - - Osc 2 - Pit LFO 1 - Osc 2 - Pit LFO 1 - - - - Osc 2 - Pit LFO 2 - Osc 2 - Pit LFO 2 - - - - Osc 3 - Pit env 1 - Osc 3 - Pit env 1 - - - - Osc 3 - Pit env 2 - Osc 3 - Pit env 2 - - - - Osc 3 - Pit LFO 1 - Osc 3 - Pit LFO 1 - - - - Osc 3 - Pit LFO 2 - Osc 3 - Pit LFO 2 - - - - Osc 1 - PW env 1 - Osc 1 - PW env 1 - - - - Osc 1 - PW env 2 - Osc 1 - PW env 2 - - - - Osc 1 - PW LFO 1 - Osc 1 - PW LFO 1 - - - - Osc 1 - PW LFO 2 - Osc 1 - PW LFO 2 - - - - Osc 3 - Sub env 1 - Osc 3 - Sub env 1 - - - - Osc 3 - Sub env 2 - Osc 3 - Sub env 2 - - - - Osc 3 - Sub LFO 1 - Osc 3 - Sub LFO 1 - - - - Osc 3 - Sub LFO 2 - Osc 3 - Sub LFO 2 - - - - - Sine wave - Sinüs dalgası - - - - Bandlimited Triangle wave - Band sınırlı Üçgen dalga - - - - Bandlimited Saw wave - Bant sınırı Testere dalgası - - - - Bandlimited Ramp wave - Bant sınırlı Rampa dalgası - - - - Bandlimited Square wave - Bant sınırı Kare dalga - - - - Bandlimited Moog saw wave - Band sınırlı Moog testere dalgası - - - - - Soft square wave - Yumuşak kare dalga - - - - Absolute sine wave - Mutlak sinüs dalgası - - - - - Exponential wave - Üstel dalga - - - - White noise - Beyaz gürültü - - - - Digital Triangle wave - Dijital Üçgen dalga - - - - Digital Saw wave - Dijital Testere dalgası - - - - Digital Ramp wave - Dijital Rampa dalgası - - - - Digital Square wave - Dijital Kare dalga - - - - Digital Moog saw wave - Digital Moog testere dalgası - - - - Triangle wave - Üçgen dalga - - - - Saw wave - Testere dalga - - - - Ramp wave - Rampa dalgası - - - - Square wave - Kare dalgası - - - - Moog saw wave - Moog testere dalgası - - - - Abs. sine wave - Abs. sinüs dalgası - - - - Random - Rastgele - - - - Random smooth - Rastgele pürüzsüz - - - - MonstroView - - - Operators view - Operatörler görünümü - - - - Matrix view - Matris görünümü - - - - - - Volume - Ses Düzeyi - - - - - - Panning - Panning - - - - - - Coarse detune - Kaba detune - - - - - - semitones - yarım tonlar - - - - - Fine tune left - Sola ince ayar - - - - - - - cents - sent - - - - - Fine tune right - Sağa ince ayar - - - - - - Stereo phase offset - Stereo faz kayması - - - - - - - - deg - deg - - - - Pulse width - Darbe genişliği - - - - Send sync on pulse rise - Nabız yükseldiğinde senkronizasyon gönder - - - - Send sync on pulse fall - Nabız düşüşünde senkronizasyon gönder - - - - Hard sync oscillator 2 - Sabit senkron osilatör 2 - - - - Reverse sync oscillator 2 - Ters senkron osilatör 2 - - - - Sub-osc mix - Alt osc karışımı - - - - Hard sync oscillator 3 - Sabit senkron osilatör 3 - - - - Reverse sync oscillator 3 - Ters senkron osilatör 3 - - - - - - - Attack - Saldırı - - - - - Rate - Oran - - - - - Phase - Evre - - - - - Pre-delay - Ön gecikme - - - - - Hold - Tut - - - - - Decay - Bozunma - - - - - Sustain - Sürdürmek - - - - - Release - Yayınla - - - - - Slope - Eğim - - - - Mix osc 2 with osc 3 - Osc 2'yi osc 3 ile karıştır - - - - Modulate amplitude of osc 3 by osc 2 - OSC 3'ün genliğini osc 2 ile modüle edin - - - - Modulate frequency of osc 3 by osc 2 - OSC 3'ün frekansını osc 2 ile modüle edin - - - - Modulate phase of osc 3 by osc 2 - OSC 3'ün fazını OSC 2 ile modüle edin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Modülasyon miktarı - - - - MultitapEchoControlDialog - - - Length - Süre - - - - Step length: - Adım uzunluğu: - - - - Dry - Kuru - - - - Dry gain: - Kuru kazanç: - - - - Stages - Aşamalar - - - - Low-pass stages: - Düşük geçiş aşamaları: - - - - Swap inputs - Girişleri değiştir - - - - Swap left and right input channels for reflections - Yansımalar için sol ve sağ giriş kanallarını değiştirin - - - - NesInstrument - - - Channel 1 coarse detune - Kanal 1 kaba detune - - - - Channel 1 volume - Kanal 1 düzeyi - - - - Channel 1 envelope length - Kanal 1 zarf uzunluğu - - - - Channel 1 duty cycle - Kanal 1 görev döngüsü - - - - Channel 1 sweep amount - Kanal 1 tarama miktarı - - - - Channel 1 sweep rate - Kanal 1 tarama hızı - - - - Channel 2 Coarse detune - Kanal 2 Kaba detune - - - - Channel 2 Volume - Kanal 2 Düzeyi - - - - Channel 2 envelope length - Kanal 2 zarf uzunluğu - - - - Channel 2 duty cycle - Kanal 2 görev döngüsü - - - - Channel 2 sweep amount - Kanal 2 tarama miktarı - - - - Channel 2 sweep rate - Kanal 2 tarama hızı - - - - Channel 3 coarse detune - Kanal 3 kaba detune - - - - Channel 3 volume - Kanal 3 düzeyi - - - - Channel 4 volume - Kanal 4 düzeyi - - - - Channel 4 envelope length - Kanal 4 zarf uzunluğu - - - - Channel 4 noise frequency - Kanal 4 gürültü frekansı - - - - Channel 4 noise frequency sweep - Kanal 4 gürültü frekansı taraması - - - - Master volume - Ana ses - - - - Vibrato - Titreşim - - - - NesInstrumentView - - - - - - Volume - Ses Düzeyi - - - - - - Coarse detune - Kaba detune - - - - - - Envelope length - Zarf uzunluğu - - - - Enable channel 1 - 1. kanalı etkinleştir - - - - Enable envelope 1 - Zarf 1'i etkinleştir - - - - Enable envelope 1 loop - Zarf 1 döngüsünü etkinleştir - - - - Enable sweep 1 - Tarama 1`i etkinleştir - - - - - Sweep amount - Tarama miktarı - - - - - Sweep rate - Tarama oranı - - - - - 12.5% Duty cycle - % 12,5 Görev döngüsü - - - - - 25% Duty cycle - % 25 Görev döngüsü - - - - - 50% Duty cycle - % 50 Görev döngüsü - - - - - 75% Duty cycle - % 75 Görev döngüsü - - - - Enable channel 2 - 2. kanalı etkinleştir - - - - Enable envelope 2 - Zarf 2'yi etkinleştir - - - - Enable envelope 2 loop - Zarf 2 döngüsünü etkinleştir - - - - Enable sweep 2 - Tarama 2 yi etkinleştir - - - - Enable channel 3 - 3. kanalı etkinleştir - - - - Noise Frequency - Gürültü Frekansı - - - - Frequency sweep - Frekans taraması - - - - Enable channel 4 - 4. kanalı etkinleştir - - - - Enable envelope 4 - Zarf 4'ü etkinleştir - - - - Enable envelope 4 loop - Zarf 4 döngüsünü etkinleştir - - - - Quantize noise frequency when using note frequency - Nota frekansını kullanırken gürültü frekansını nicelendirin - - - - Use note frequency for noise - Gürültü için nota frekansını kullanın - - - - Noise mode - Gürültü modu - - - - Master volume - Ana ses - - - - Vibrato - Titreşim - - - - OpulenzInstrument - - - Patch - Yama - - - - Op 1 attack - Op 1 saldırısı - - - - Op 1 decay - Op 1 bozunması - - - - Op 1 sustain - Op 1 sürdürme - - - - Op 1 release - Op 1 yayını - - - - Op 1 level - Op 1 seviyesi - - - - Op 1 level scaling - Op 1 seviye ölçeklendirme - - - - Op 1 frequency multiplier - Op 1 frekans çarpanı - - - - Op 1 feedback - Op 1 geribildirimi - - - - Op 1 key scaling rate - Op 1 anahtar ölçekleme oranı - - - - Op 1 percussive envelope - Op 1 vurmalı zarf - - - - Op 1 tremolo - Op 1 tremolo - - - - Op 1 vibrato - Op 1 titreşimi - - - - Op 1 waveform - Op 1 dalga formu - - - - Op 2 attack - Op 2 saldırısı - - - - Op 2 decay - Op 2 bozunması - - - - Op 2 sustain - Op 2 sürdürme - - - - Op 2 release - Op 2 yayını - - - - Op 2 level - Op 2 seviyesi - - - - Op 2 level scaling - Op 2 seviye ölçeklendirme - - - - Op 2 frequency multiplier - Op 2 frekans çarpanı - - - - Op 2 key scaling rate - Op 2 anahtar ölçekleme oranı - - - - Op 2 percussive envelope - Op 2 vurmalı zarf - - - - Op 2 tremolo - Op 2 tremolo - - - - Op 2 vibrato - Op 2 titreşimi - - - - Op 2 waveform - Op 2 dalga formu - - - - FM - FM - - - - Vibrato depth - Titreşim derinliği - - - - Tremolo depth - Tremolo derinliği - - - - OpulenzInstrumentView - - - - Attack - Saldırı - - - - - Decay - Bozunma - - - - - Release - Yayınla - - - - - Frequency multiplier - Frekans çarpanı - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 dalga biçimi - - - - Osc %1 harmonic - Osc %1 harmonik - - - - - Osc %1 volume - Osc %1 düzeyi - - - - - Osc %1 panning - Osc %1 kaydırma - - - - - Osc %1 fine detuning left - Osc %1 ince ayar sol - - - - Osc %1 coarse detuning - Osc %1 kaba ince ayar - - - - Osc %1 fine detuning right - Osc %1 ince ayar sağ - - - - Osc %1 phase-offset - Osc %1 faz kayması - - - - Osc %1 stereo phase-detuning - Osc %1 stereo faz ayarlama - - - - Osc %1 wave shape - Osc %1 dalga şekli - - - - Modulation type %1 - Modülasyon türü %1 - - - - Oscilloscope - - - Oscilloscope - Oscilloscope - - - - Click to enable - Etkinleştirmek için tıklayın - - PatchesDialog + Qsynth: Channel Preset Qsynth: Kanal Ön Ayarı + Bank selector Yuva seçici + Bank Yuva + Program selector Program seçici + Patch Yama + Name İsim + OK Tamam + Cancel İptal - - PatmanView - - - Open patch - Yama aç - - - - Loop - Döngü - - - - Loop mode - Döngü modu - - - - Tune - Ayarla - - - - Tune mode - Ayar modu - - - - No file selected - Dosya seçilmedi - - - - Open patch file - Yama dosyasını aç - - - - Patch-Files (*.pat) - Yama Dosyaları (*.pat) - - - - MidiClipView - - - Open in piano-roll - Piyano rulosunda aç - - - - Set as ghost in piano-roll - Piyano rulosunda hayalet olarak ayarla - - - - Clear all notes - Tüm notaları temizle - - - - Reset name - İsmini sıfırla - - - - Change name - İsmini değiştir - - - - Add steps - Uzat - - - - Remove steps - Kısalt - - - - Clone Steps - Klon Adımları - - - - PeakController - - - Peak Controller - Tepe Kontrolörü - - - - Peak Controller Bug - Tepe Kontrol Hatası - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - LMMS'nin eski sürümündeki bir hata nedeniyle, tepe denetleyicileri doğru şekilde bağlanamayabilir. Lütfen tepe denetleyicilerin doğru şekilde bağlandığından emin olun ve bu dosyayı yeniden kaydedin. Herhangi bir rahatsızlık verdiysem üzgünüm. - - - - PeakControllerDialog - - - PEAK - ZİRVE - - - - LFO Controller - LFO Denetleyicisi - - - - PeakControllerEffectControlDialog - - - BASE - TEMEL - - - - Base: - Temel: - - - - AMNT - AMNT - - - - Modulation amount: - Modülasyon miktarı: - - - - MULT - ÇOK - - - - Amount multiplicator: - Miktar çarpanı: - - - - ATCK - SALDIRI - - - - Attack: - Saldırı: - - - - DCAY - BOZUNMA - - - - Release: - Yayınla: - - - - TRSH - EŞİK - - - - Treshold: - Eşik: - - - - Mute output - Çıkış sessiz - - - - Absolute value - Mutlak değer - - - - PeakControllerEffectControls - - - Base value - Temel değer - - - - Modulation amount - Modülasyon miktarı - - - - Attack - Saldırı - - - - Release - Yayınla - - - - Treshold - Eşik - - - - Mute output - Çıkış sessiz - - - - Absolute value - Mutlak değer - - - - Amount multiplicator - Miktar çarpanı - - - - PianoRoll - - - Note Velocity - Nota Hızı - - - - Note Panning - Nota Kaydırma - - - - Mark/unmark current semitone - Geçerli yarım tonu işaretle / işareti kaldır - - - - Mark/unmark all corresponding octave semitones - İlgili tüm oktav yarı tonlarını işaretle / işareti kaldır - - - - Mark current scale - Mevcut ölçeği işaretle - - - - Mark current chord - Geçerli akoru işaretle - - - - Unmark all - Hepsinin işaretini kaldır - - - - Select all notes on this key - Bu anahtardaki tüm notaları seçin - - - - Note lock - Nota kilidi - - - - Last note - Son nota - - - - No key - Anahtar yok - - - - No scale - Ölçek yok - - - - No chord - Akord yok - - - - Nudge - Dürtme - - - - Snap - Yapış - - - - Velocity: %1% - Hız: %1% - - - - Panning: %1% left - Kaydırma: %1% sola - - - - Panning: %1% right - Kaydırma: %1% sağa - - - - Panning: center - Kaydırma: merkez - - - - Glue notes failed - Yapışkan notaları başarısız oldu - - - - Please select notes to glue first. - Lütfen önce yapıştırılacak notaları seçin. - - - - Please open a clip by double-clicking on it! - Lütfen üzerine çift tıklayarak bir desen açın! - - - - - Please enter a new value between %1 and %2: - Lütfen %1 ile %2 arasında yeni bir değer girin: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Seçili bölümü oynat/durdur (Boşluk Tuşu) - - - - Record notes from MIDI-device/channel-piano - MIDI aygıtında/kanal piyanodan notaları kaydedin - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Şarkı veya BB parçası çalarken MIDI aygıtından/kanal piyanodan notaları kaydedin - - - - Record notes from MIDI-device/channel-piano, one step at the time - MIDI aygıtından/kanal piyanodan notaları bir seferde bir adım kaydedin - - - - Stop playing of current clip (Space) - Seçili bölümü oynatmayı durdur (Boşluk Tuşu) - - - - Edit actions - İşlemleri düzenle - - - - Draw mode (Shift+D) - Çizim modu (Shift+D) - - - - Erase mode (Shift+E) - Silgi modu (Shift+E) - - - - Select mode (Shift+S) - Modu seçin (Shift + S) - - - - Pitch Bend mode (Shift+T) - Pitch Bend modu (Shift+T) - - - - Quantize - Niceleme - - - - Quantize positions - Niceleme pozisyonları - - - - Quantize lengths - Niceleme uzunlukları - - - - File actions - Dosya işlemleri - - - - Import clip - Deseni içe aktar - - - - - Export clip - Deseni dışa aktar - - - - Copy paste controls - Kopyala yapıştır kontrolleri - - - - Cut (%1+X) - Kes (%1+X) - - - - Copy (%1+C) - Kopyala (%1+C) - - - - Paste (%1+V) - Yapıştır (%1+V) - - - - Timeline controls - Zaman çizelgesi kontrolleri - - - - Glue - Yapıştırıcı - - - - Knife - Bıçak - - - - Fill - Doldur - - - - Cut overlaps - Örtüşmeleri kes - - - - Min length as last - Son olarak en düşük uzunluk - - - - Max length as last - Son olarak en yüksek uzunluk - - - - Zoom and note controls - Yakınlaştırma ve nota kontrolleri - - - - Horizontal zooming - Yatay yakınlaştırma - - - - Vertical zooming - Dikey yakınlaştırma - - - - Quantization - Niceleme - - - - Note length - Nota uzunluğu - - - - Key - Anahtar - - - - Scale - Ölçek - - - - Chord - Kiriş - - - - Snap mode - Anlık çekim modu - - - - Clear ghost notes - Hayalet notaları temizle - - - - - Piano-Roll - %1 - Piyano Rulosu -%1 - - - - - Piano-Roll - no clip - Piyano Rulosu - desen yok - - - - - XML clip file (*.xpt *.xptz) - XML desen dosyası (*.xpt *.xptz) - - - - Export clip success - Deseni dışa aktarma başarılı - - - - Clip saved to %1 - Desen %1'e kaydedildi - - - - Import clip. - Deseni içe aktar. - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - Bir kalıp almak üzeresiniz, bu mevcut kalıbınızın üzerine yazılacaktır. Devam etmek istiyor musun? - - - - Open clip - Desen aç - - - - Import clip success - Desen başarılı şekilde içe aktarıldı - - - - Imported clip %1! - %1 deseni içe aktarıldı! - - - - PianoView - - - Base note - Temel nota - - - - First note - İlk nota - - - - Last note - Son nota - - - - Plugin - - - Plugin not found - Eklenti bulunamadı - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - "%1" eklentisi bulunamadı veya yüklenemedi! -Nedeni: "%2" - - - - Error while loading plugin - Eklenti yüklenirken hata - - - - Failed to load plugin "%1"! - "%1" eklentisi yüklenemedi! - - PluginBrowser - - Instrument Plugins - Enstrüman Eklentileri - - - - Instrument browser - Enstrüman tarayıcısı - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Bir enstrümanı Şarkı Düzenleyici, Beat + Bassline Editor veya mevcut bir enstrüman parçasına sürükleyin. - - - + no description açıklama yok - + A native amplifier plugin Yerel bir amplifikatör eklentisi - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Bir enstrüman kanalında örnekleri (ör. Davullar) kullanmak için çeşitli ayarlara sahip basit örnekleyici - + Boost your bass the fast and simple way Basınızı hızlı ve basit bir şekilde güçlendirin - + Customizable wavetable synthesizer Özelleştirilebilir dalgalı sentezleyici - + An oversampling bitcrusher Bir yüksek hızda örnekleme bit kırıcı - + Carla Patchbay Instrument Carla Patchbay Enstrüman - + Carla Rack Instrument Carla Raf Enstrümanı - + A dynamic range compressor. Dinamik aralıklı kompresör. - + A 4-band Crossover Equalizer 4 bantlı Crossover Ekolayzer - + A native delay plugin Yerel bir gecikme eklentisi - + A Dual filter plugin Çift filtre eklentisi - + plugin for processing dynamics in a flexible way dinamikleri esnek bir şekilde işlemek için eklenti - + A native eq plugin Yerel bir eq eklentisi - + A native flanger plugin Yerel bir flanger eklentisi - + Emulation of GameBoy (TM) APU GameBoy (TM) APU Emülasyonu - + Player for GIG files GIG dosyaları için oynatıcı - + Filter for importing Hydrogen files into LMMS Hydrogen dosyalarını LMMS'ye aktarmak için filtre - + Versatile drum synthesizer Çok yönlü davul synthesizer - + List installed LADSPA plugins Yüklü LADSPA eklentilerini listeleyin - + plugin for using arbitrary LADSPA-effects inside LMMS. LMMS içinde rastgele LADSPA efektlerini kullanmak için eklenti. - + Incomplete monophonic imitation TB-303 Eksik monofonik taklit TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. LMMS içinde rastgele LV2 efektlerini kullanmak için eklenti. - + plugin for using arbitrary LV2 instruments inside LMMS. LMMS içinde rastgele LV2 araçlarını kullanmak için eklenti. - + Filter for exporting MIDI-files from LMMS MIDI dosyalarını LMMS'den dışa aktarmak için filtre - + Filter for importing MIDI-files into LMMS MIDI dosyalarını LMMS'ye aktarmak için filtre - + Monstrous 3-oscillator synth with modulation matrix Modülasyon matrisli devasa 3-osilatör sentezi - + A multitap echo delay plugin Çok noktalı yankı gecikmesi eklentisi - + A NES-like synthesizer NES benzeri bir sentezleyici - + 2-operator FM Synth 2 operatörlü FM Synth - + Additive Synthesizer for organ-like sounds Organ benzeri sesler için Additive Synthesizer - + GUS-compatible patch instrument GUS uyumlu yama aracı - + Plugin for controlling knobs with sound peaks Ses zirvelerine sahip düğmeleri kontrol etmek için eklenti - + Reverb algorithm by Sean Costello Sean Costello'dan yankı algoritması - + Player for SoundFont files Soundfont dosyaları için oynatıcı - + LMMS port of sfxr Sfxr'nin LMMS bağlantı noktası - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. MOS6581 ve MOS8580 SID'nin öykünmesi. Bu çip Commodore 64 bilgisayarında kullanıldı. - + A graphical spectrum analyzer. Bir grafik spektrum analizörü. - + Plugin for enhancing stereo separation of a stereo input file Bir stereo giriş dosyasının stereo ayrımını geliştirmek için eklenti - + Plugin for freely manipulating stereo output Stereo çıkışı serbestçe değiştirmek için eklenti - + Tuneful things to bang on Etkileyecek güzel şeyler - + Three powerful oscillators you can modulate in several ways Çeşitli şekillerde modüle edebileceğiniz üç güçlü osilatör - + A stereo field visualizer. Bir stereo alan görselleştiricisi. - + VST-host for using VST(i)-plugins within LMMS LMMS içinde VST (i) eklentilerini kullanmak için VST ana bilgisayarı - + Vibrating string modeler Titreşimli dizi modelleyici - + plugin for using arbitrary VST effects inside LMMS. LMMS içinde rastgele VST efektlerini kullanmak için eklenti. - + 4-oscillator modulatable wavetable synth 4-osilatör modüle edilebilir dalgalanabilir synth - + plugin for waveshaping dalgalı şekillendirme eklentisi - + Mathematical expression parser Matematiksel ifade ayrıştırıcı - + Embedded ZynAddSubFX Gömülü ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New - Carla - Yeni Ekle + + An all-pass filter allowing for extremely high orders. + Son derece yüksek siparişlere izin veren bir all-pass filtresi. - - Format - Biçim + + Granular pitch shifter + - - Internal - Dahili + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. + - - LADSPA - LADSPA + + Basic Slicer + - - DSSI - DSSI - - - - LV2 - LV2 - - - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - Sound Kits - Ses Kitleri - - - - Type - Tip - - - - Effects - Efektler - - - - Instruments - Enstrümanlar - - - - MIDI Plugins - MIDI Eklentileri - - - - Other/Misc - Diğer/Çeşitli - - - - Architecture - Mimari - - - - Native - Doğal - - - - Bridged - Köprülü - - - - Bridged (Wine) - Köprülü (Wine) - - - - Requirements - Gereksinimler - - - - With Custom GUI - Özel Arayüz ile - - - - With CV Ports - CV Portları ile - - - - Real-time safe only - Yalnızca gerçek zamanlı güvenli - - - - Stereo only - Yalnızca stereo - - - - With Inline Display - Satır İçi Ekranlı - - - - Favorites only - Yalnızca favoriler - - - - (Number of Plugins go here) - (Eklenti sayısı buraya gelir) - - - - &Add Plugin - &Eklenti Ekle - - - - Cancel - İptal - - - - Refresh - Tazeleme - - - - Reset filters - Filtreleri sıfırla - - - - - - - - - - - - - - - - - - - TextLabel - YazıEtiketi - - - - Format: - Biçim: - - - - Architecture: - Mimari: - - - - Type: - Türü: - - - - MIDI Ins: - MIDI Girişleri: - - - - Audio Ins: - Ses Girişleri: - - - - CV Outs: - CV Çıkışları: - - - - MIDI Outs: - MIDI Çıkışları: - - - - Parameter Ins: - Parametre Girişleri: - - - - Parameter Outs: - Parametre Çıkışları: - - - - Audio Outs: - Ses Çıkışları: - - - - CV Ins: - CV Girişleri: - - - - UniqueID: - Benzersiz Kimlik: - - - - Has Inline Display: - Satır İçi Ekrana Sahiptir: - - - - Has Custom GUI: - Özel Arayüz'e sahiptir: - - - - Is Synth: - Is Synth: - - - - Is Bridged: - Köprülü: - - - - Information - Bilgi - - - - Name - İsim - - - - Label/URI - Etiket/URI - - - - Maker - Yapıcı - - - - Binary/Filename - İkili/Dosya adı - - - - Focus Text Search - Metin Aramaya Odaklan - - - - Ctrl+F - Ctrl+F + + Tap to the beat + Ritim için dokunun @@ -11113,36 +3742,41 @@ Bu çip Commodore 64 bilgisayarında kullanıldı. + Send Notes + + + + Send Bank/Program Changes Yuva/Program Değişikliklerini Gönderin - + Send Control Changes Kontrol Değişikliklerini Gönder - + Send Channel Pressure Kanal Basıncını Gönder - + Send Note Aftertouch Sonra Dokunma Notası Gönder - + Send Pitchbend Perde eğimi Gönder - + Send All Sound/Notes Off Tüm Sesleri/Notaları Gönder Kapalı - + Plugin Name @@ -11151,57 +3785,57 @@ Eklenti İsmi - + Program: Program: - + MIDI Program: MIDI programı: - + Save State Kayıt Yeri - + Load State Yükleme durumu - + Information Bilgi - + Label/URI: Etiket/URI: - + Name: Ad: - + Type: Türü: - + Maker: Yapıcı: - + Copyright: Telif hakkı: - + Unique ID: Benzersiz Kimlik: @@ -11209,16 +3843,457 @@ Eklenti İsmi PluginFactory - + Plugin not found. Eklenti bulunamadı. - + LMMS plugin %1 does not have a plugin descriptor named %2! LMMS eklentisi %1,%2 adında bir eklenti tanımlayıcısına sahip değil! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -11233,158 +4308,61 @@ Eklenti İsmi + TextLabel + + + + ... ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh - Carla - Yenile + + Plugin Refresh + - - Search for new... - Yeni ara... + + Search for: + - - LADSPA - LADSPA + + All plugins, ignoring cache + - - DSSI - DSSI + + Updated plugins only + - - LV2 - LV2 + + Check previously invalid plugins + - - VST2 - VST2 - - - - VST3 - VST3 - - - - AU - AU - - - - SF2/3 - SF2/3 - - - - SFZ - SFZ - - - - Native - Doğal - - - - POSIX 32bit - POSIX 32bit - - - - POSIX 64bit - POSIX 64bit - - - - Windows 32bit - Windows 32bit - - - - Windows 64bit - Windows 64bit - - - - Available tools: - Mevcut araçlar: - - - - python3-rdflib (LADSPA-RDF support) - python3-rdflib (LADSPA-RDF desteği) - - - - carla-discovery-win64 - carla-keşif-win64 - - - - carla-discovery-native - carla-keşif-yerli - - - - carla-discovery-posix32 - carla-keşif-posix32 - - - - carla-discovery-posix64 - carla-keşif-posix64 - - - - carla-discovery-win32 - carla-keşif-win32 - - - - Options: - Seçenekler: - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - Carla, eklentileri tararken küçük işlem kontrolleri yapacak (çökmeyeceklerinden emin olmak için). -Daha hızlı bir tarama süresi elde etmek için bu kontrolleri devre dışı bırakabilirsiniz (kendi sorumluluğunuzdadır). - - - - Run processing checks while scanning - Tarama sırasında işleme kontrollerini çalıştırın - - - + Press 'Scan' to begin the search - Aramaya başlamak için 'Tara'ya basın + - + Scan - Tara + - + >> Skip - >> Atla + - + Close - Kapat + @@ -11399,50 +4377,50 @@ Daha hızlı bir tarama süresi elde etmek için bu kontrolleri devre dışı b Çerçeve - + Enable Etkinleştir - + On/Off Aç/Kapat - + - + PluginName Eklentiİsmi - + MIDI MIDI - + AUDIO IN SES GİRİŞİ - + AUDIO OUT SES ÇIKIŞI - + GUI Arayüz - + Edit Düzenle - + Remove Kaldır @@ -11457,2286 +4435,13576 @@ Daha hızlı bir tarama süresi elde etmek için bu kontrolleri devre dışı b Ön ayar: - - ProjectNotes - - - Project Notes - Proje Notları - - - - Enter project notes here - Buraya proje notlarını girin - - - - Edit Actions - İşlemleri Düzenle - - - - &Undo - Geri &Al - - - - %1+Z - %1+Z - - - - &Redo - &Yinele - - - - %1+Y - %1+Y - - - - &Copy - &Kopyala - - - - %1+C - %1+C - - - - Cu&t - Ke&s - - - - %1+X - %1+X - - - - &Paste - &Yapıştır - - - - %1+V - %1+V - - - - Format Actions - Eylemleri Biçimlendir - - - - &Bold - &Kalın - - - - %1+B - %1+B - - - - &Italic - &İtalik - - - - %1+I - %1+I - - - - &Underline - &Altı Çizili - - - - %1+U - %1+U - - - - &Left - &Sol - - - - %1+L - %1+L - - - - C&enter - M&erkez - - - - %1+E - %1+E - - - - &Right - &Sağ - - - - %1+R - %1+R - - - - &Justify - &Yasla - - - - %1+J - %1+J - - - - &Color... - &Renk... - - ProjectRenderer - + WAV (*.wav) WAV (*.wav) - + FLAC (*.flac) FLAC (*.flac) - + OGG (*.ogg) OGG (*.ogg) - + MP3 (*.mp3) MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin Eklentiyi Yeniden Yükle - + Show GUI Görselli Arayüzü Göster - + Help Yardım + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: İsim: - - URI: - URI: - - - - - + Maker: Yapıcı: - - - + Copyright: Telif Hakkı: - - + Requires Real Time: Gerçek Zaman Gerektirir: - - - - - - + + + Yes Evet - - - - - - + + + No Hayır - - + Real Time Capable: Gerçek Zamanlı Yetenekli: - - + In Place Broken: Yerinde Kırık: - - + Channels In: Giriş Kanalları: - - + Channels Out: Çıkış Kanalları: - + File: %1 Dosya: %1 - + File: Dosya: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Yeni Açılan Projeler + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Yeniden adlandır... + + Volume + Düzey + + + + Panning + Kaydırma + + + + Left gain + Sol kazanç + + + + Right gain + Sağ kazanç - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Giriş + + Amplify + Yükseltici - - Input gain: - Giriş kazancı: + + Start of sample + Örnek başlangıcı - - Size - Boyut + + End of sample + Örneğin sonu - - Size: - Boyut: + + Loopback point + Geri döngü noktası - - Color - Renk + + Reverse sample + Ters örnek - - Color: - Renk: + + Loop mode + Döngü modu - - Output - Çıkış + + Stutter + Kekemelik - - Output gain: - Çıkış kazancı: + + Interpolation mode + Ara değerlendirme modu + + + + None + Hiçbiri + + + + Linear + Doğrusal + + + + Sinc + Sinc + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + JACK istemcisi yeniden başlatıldı + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + LMMS bir nedenden ötürü JACK tarafından sistemden atıldı. Bundan dolayı LMMS'in JACK altyapısı yeniden başlatıldı. Bağlantıları yeniden elle yapmanız gerekecek. + + + + JACK server down + JACK sunucusu kapalı + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + JACK sunucusu kapanmış gibi görünüyor ve yeni bir örnek başlatılamadı. Bu nedenle LMMS devam edemiyor. Projenizi kaydetmeli, JACK ve LMMS'i yeniden başlatmalısınız. + + + + Client name + İstemci adı + + + + Channels + Kanallar + + + + lmms::AudioOss + + + Device + Aygıt + + + + Channels + Kanallar + + + + lmms::AudioPortAudio::setupWidget + + + Backend + Arka uç + + + + Device + Aygıt + + + + lmms::AudioPulseAudio + + + Device + Aygıt + + + + Channels + Kanallar + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + Aygıt + + + + Channels + Kanallar + + + + lmms::AudioSoundIo::setupWidget + + + Backend + Arka uç + + + + Device + Aygıt + + + + lmms::AutomatableModel + + + &Reset (%1%2) + &Sıfırla (%1%2) + + + + &Copy value (%1%2) + &Değeri kopyala (%1%2) + + + + &Paste value (%1%2) + &Değeri yapıştır (%1%2) + + + + &Paste value + &Değeri yapıştır + + + + Edit song-global automation + Global şarkı otomasyonunu düzenle + + + + Remove song-global automation + Global şarkı otomasyonunu kaldır + + + + Remove all linked controls + Tüm bağlantılı kontrolleri kaldır + + + + Connected to %1 + Şuna bağlı: %1 + + + + Connected to controller + Kontrolöre bağlı + + + + Edit connection... + Bağlantıyı düzenle... + + + + Remove connection + Bağlantıyı kaldır + + + + Connect to controller... + Kontrolöre bağla... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + <%1> tuşuna basarken bir kontrolü sürükleyin + + + + lmms::AutomationTrack + + + Automation track + Parça otomasyonu + + + + lmms::BassBoosterControls + + + Frequency + Frekans + + + + Gain + Kazanç + + + + Ratio + Oran + + + + lmms::BitInvader + + + Sample length + Örnek uzunluğu + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain Giriş kazancı - - Size - Boyut + + Input noise + Giriş gürültüsü - - Color - Renk + + Output gain + Çıkış kazancı - + + Output clip + Çıktı klibi + + + + Sample rate + Örnekleme oranı + + + + Stereo difference + Stereo farkı + + + + Levels + Seviyeler + + + + Rate enabled + Oran etkinleştirildi + + + + Depth enabled + Derinlik etkinleştirildi + + + + lmms::Clip + + + Mute + Sustur + + + + lmms::CompressorControls + + + Threshold + Eşik + + + + Ratio + Oran + + + + Attack + Saldırı + + + + Release + Yayınla + + + + Knee + Diz + + + + Hold + Tut + + + + Range + Aralık + + + + RMS Size + RMS Boyutu + + + + Mid/Side + Orta/Yan + + + + Peak Mode + Tepe Modu + + + + Lookahead Length + Önden Bakış Uzunluğu + + + + Input Balance + Giriş Dengesi + + + + Output Balance + Çıktı Dengesi + + + + Limiter + Sınırlayıcı + + + + Output Gain + Çıkış Kazancı + + + + Input Gain + Giriş Kazancı + + + + Blend + Harman + + + + Stereo Balance + Çift kanal Dengesi + + + + Auto Makeup Gain + Otomatik Makyaj Kazancı + + + + Audition + İşitme + + + + Feedback + Geri bildirim + + + + Auto Attack + Otomatik Saldırı + + + + Auto Release + Otomatik Yayın + + + + Lookahead + Önden Bakış + + + + Tilt + Eğim + + + + Tilt Frequency + Eğim Frekansı + + + + Stereo Link + Çift kanal Bağlantı + + + + Mix + Karıştır + + + + lmms::Controller + + + Controller %1 + Kontrolör %1 + + + + lmms::DelayControls + + + Delay samples + Gecikme örnekleri + + + + Feedback + Geri bildirim + + + + LFO frequency + LFO frekansı + + + + LFO amount + LFO miktarı + + + Output gain Çıkış kazancı - SaControls + lmms::DispersionControls - - Pause - Duraklat + + Amount + Miktar - - Reference freeze - Referans dondurma + + Frequency + Frekans - - Waterfall - Şelale + + Resonance + Rezonans - - Averaging - Ortalama + + Feedback + Geri bildirim - - Stereo - Stereo + + DC Offset Removal + DC Ofset Kaldırma + + + + lmms::DualFilterControls + + + Filter 1 enabled + Filtre 1 etkinleştirildi - - Peak hold - Tepe tutma + + Filter 1 type + Filtre türü 1 - - Logarithmic frequency - Logaritmik frekans + + Cutoff frequency 1 + Kesme frekansı 1 - - Logarithmic amplitude - Logaritmik genlik + + Q/Resonance 1 + Q/Rezonans 1 - - Frequency range - Frekans aralığı + + Gain 1 + Kazanç 1 - - Amplitude range - Genlik aralığı + + Mix + Karıştır - - FFT block size - FFT blok boyutu + + Filter 2 enabled + Filtre 2 etkinleştirildi - - FFT window type - FFT pencere türü + + Filter 2 type + Filtre türü 2 - - Peak envelope resolution - En yüksek zarf çözünürlüğü + + Cutoff frequency 2 + Kesme frekansı 2 - - Spectrum display resolution - Spektrum ekran çözünürlüğü + + Q/Resonance 2 + Q/Rezonans 2 - - Peak decay multiplier - Tepe bozunma çarpanı + + Gain 2 + Kazanç 2 - - Averaging weight - Ortalama ağırlık + + + Low-pass + Düşük geçiş - - Waterfall history size - Şelale geçmişi boyutu + + + Hi-pass + Yüksek geçiş - - Waterfall gamma correction - Şelale gama düzeltmesi + + + Band-pass csg + Bant geçişli csg - - FFT window overlap - FFT penceresi çakışması + + + Band-pass czpg + Bant geçişli czpg - - FFT zero padding - FFT sıfır dolgusu + + + Notch + Çentik - - - Full (auto) - Tam (otomatik) + + + All-pass + Tamamı bitti - - - - Audible - Sesli + + + Moog + Moog - + + + 2x Low-pass + 2x Düşük geçiş + + + + + RC Low-pass 12 dB/oct + RC Düşük geçişli 12 dB/oct + + + + + RC Band-pass 12 dB/oct + RC Bant geçişi 12 dB/oct + + + + + RC High-pass 12 dB/oct + RC Yüksek Geçişli 12 dB/oct + + + + + RC Low-pass 24 dB/oct + RC Düşük geçişli 24 dB/oct + + + + + RC Band-pass 24 dB/oct + RC Bant geçişi 24 dB/oct + + + + + RC High-pass 24 dB/oct + RC Yüksek Geçişli 24 dB/oct + + + + + Vocal Formant + Vokal Biçimlendirici + + + + + 2x Moog + 2x Moog + + + + + SV Low-pass + SV Düşük geçiş + + + + + SV Band-pass + SV Bant geçişi + + + + + SV High-pass + SV Yüksek geçiş + + + + + SV Notch + SV Çentiği + + + + + Fast Formant + Hızlı Biçimlendirici + + + + + Tripole + Üçlü + + + + lmms::DynProcControls + + + Input gain + Giriş kazancı + + + + Output gain + Çıkış kazancı + + + + Attack time + Kalkma zamanı + + + + Release time + Yayımlama zamanı + + + + Stereo mode + Çift kanal modu + + + + lmms::Effect + + + Effect enabled + Efekt etkinleştirildi + + + + Wet/Dry mix + Islak/Kuru karışım + + + + Gate + Geçit + + + + Decay + Bozunma + + + + lmms::EffectChain + + + Effects enabled + Efektler etkinleştirildi + + + + lmms::Engine + + + Generating wavetables + Dalgaboyu oluşturma + + + + Initializing data structures + Veri yapılarını başlatma + + + + Opening audio and midi devices + Ses ve midi cihazlarını açma + + + + Launching audio engine threads + Ses motoru dizileri başlatılıyor + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + Ortam ön gecikme + + + + Env attack + Ortam saldırısı + + + + Env hold + Ortam tutma + + + + Env decay + Ortam bozunma + + + + Env sustain + Ortam sürdürme + + + + Env release + Ortam yayınlama + + + + Env mod amount + Ortam mod miktarı + + + + LFO pre-delay + LFO ön gecikmesi + + + + LFO attack + LFO saldırısı + + + + LFO frequency + LFO frekansı + + + + LFO mod amount + LFO mod miktarı + + + + LFO wave shape + LFO dalga şekli + + + + LFO frequency x 100 + LFO frekansı x 100 + + + + Modulate env amount + Ortam miktarını değiştir + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + Giriş kazancı + + + + Output gain + Çıkış kazancı + + + + Low-shelf gain + Düşük raf kazancı + + + + Peak 1 gain + Tepe kazancı 1 + + + + Peak 2 gain + Tepe kazancı 2 + + + + Peak 3 gain + Tepe kazancı 3 + + + + Peak 4 gain + Tepe kazancı 4 + + + + High-shelf gain + Yüksek raf kazancı + + + + HP res + HP res + + + + Low-shelf res + Düşük raflı res + + + + Peak 1 BW + Tepe 1 BW + + + + Peak 2 BW + Tepe 2 BW + + + + Peak 3 BW + Tepe 3 BW + + + + Peak 4 BW + Tepe 4 BW + + + + High-shelf res + Yüksek raf çözünürlüğü + + + + LP res + LP res + + + + HP freq + HP frekansı + + + + Low-shelf freq + Düşük raf frekansı + + + + Peak 1 freq + Tepe frekansı 1 + + + + Peak 2 freq + Tepe frekansı 2 + + + + Peak 3 freq + Tepe frekansı 3 + + + + Peak 4 freq + Tepe frekansı 4 + + + + High-shelf freq + Yüksek raf frekansı + + + + LP freq + LP frekansı + + + + HP active + HP etkin + + + + Low-shelf active + Düşük raf etkin + + + + Peak 1 active + Aktif tepe 1 + + + + Peak 2 active + Aktif tepe 2 + + + + Peak 3 active + Aktif tepe 3 + + + + Peak 4 active + Aktif tepe 4 + + + + High-shelf active + Yüksek raf etkin + + + + LP active + LP etkin + + + + LP 12 + LP 12 + + + + LP 24 + LP 24 + + + + LP 48 + LP 48 + + + + HP 12 + HP 12 + + + + HP 24 + HP 24 + + + + HP 48 + HP 48 + + + + Low-pass type + Düşük geçişli tip + + + + High-pass type + Yüksek geçişli tip + + + + Analyse IN + GİRİŞ'i analiz et + + + + Analyse OUT + ÇIKIŞ'ı analiz et + + + + lmms::FlangerControls + + + Delay samples + Gecikme örnekleri + + + + LFO frequency + LFO frekansı + + + + Amount + + + + + Stereo phase + Stereo faz + + + + Feedback + + + + + Noise + Gürültü + + + + Invert + Tersine çevir + + + + lmms::FreeBoyInstrument + + + Sweep time + Tarama zamanı + + + + Sweep direction + Tarama yönü + + + + Sweep rate shift amount + Tarama oranı kaydırma miktarı + + + + + Wave pattern duty cycle + Dalga deseni görev döngüsü + + + + Channel 1 volume + Kanal 1 düzeyi + + + + + + Volume sweep direction + Düzey tarama yönü + + + + + + Length of each step in sweep + Taramadaki her adımın uzunluğu + + + + Channel 2 volume + Kanal 2 düzeyi + + + + Channel 3 volume + Kanal 3 düzeyi + + + + Channel 4 volume + Kanal 4 düzeyi + + + + Shift Register width + Kayıt genişliğini kaydır + + + + Right output level + Sağ çıkış seviyesi + + + + Left output level + Sol çıkış seviyesi + + + + Channel 1 to SO2 (Left) + Kanal 1'den SO2'ye (Sol) + + + + Channel 2 to SO2 (Left) + Kanal 2'den SO2'ye (Sol) + + + + Channel 3 to SO2 (Left) + Kanal 3'den SO2'ye (Sol) + + + + Channel 4 to SO2 (Left) + Kanal 4'den SO2'ye (Sol) + + + + Channel 1 to SO1 (Right) + Kanal 1'den SO1'e (Sağ) + + + + Channel 2 to SO1 (Right) + Kanal 2'den SO1'e (Sağ) + + + + Channel 3 to SO1 (Right) + Kanal 3'den SO1'e (Sağ) + + + + Channel 4 to SO1 (Right) + Kanal 4'den SO1'e (Sağ) + + + + Treble + Tiz + + + Bass Bas + + + lmms::GigInstrument - - Mids - Ortalar + + Bank + Yuva - - High - Yüksek + + Patch + Yama - - Extended - Genişletilmiş - - - - Loud - Yüksek - - - - Silent - Sessiz - - - - (High time res.) - (Yüksek zaman çözünürlüğü) - - - - (High freq. res.) - (Yüksek frekans çözünürlüğü) - - - - Rectangular (Off) - Dikdörtgen (Kapalı) - - - - - Blackman-Harris (Default) - Blackman-Harris (Varsayılan) - - - - Hamming - Hamming - - - - Hanning - Hanning + + Gain + Kazanç - SaControlsDialog + lmms::GranularPitchShifterControls - - Pause - Duraklat + + Pitch + - - Pause data acquisition - Veri edinmeyi duraklatın + + Grain Size + - - Reference freeze - Referans dondurma + + Spray + - - Freeze current input as a reference / disable falloff in peak-hold mode. - Pik tutma modunda akım girişini referans olarak dondurun / düşüşü devre dışı bırakın. + + Jitter + - - Waterfall - Şelale + + Twitch + - - Display real-time spectrogram - Gerçek zamanlı spektrogramı göster + + Pitch Stereo Spread + - - Averaging - Ortalama + + Spray Stereo + - - Enable exponential moving average - Üstel hareketli ortalamayı etkinleştir + + Shape + - - Stereo - Stereo + + Fade Length + - - Display stereo channels separately - Stereo kanalları ayrı olarak görüntüleyin + + Feedback + - - Peak hold - Tepe tutma + + Minimum Allowed Latency + - - Display envelope of peak values - Tepe değerlerin zarfını görüntüle + + Prefilter + - - Logarithmic frequency - Logaritmik frekans + + Density + - - Switch between logarithmic and linear frequency scale - Logaritmik ve doğrusal frekans ölçeği arasında geçiş yapın + + Glide + - - - Frequency range - Frekans aralığı + + Ring Buffer Length + - - Logarithmic amplitude - Logaritmik genlik + + 5 Seconds + - - Switch between logarithmic and linear amplitude scale - Logaritmik ve doğrusal genlik ölçeği arasında geçiş yapın + + 10 Seconds (Size) + - - - Amplitude range - Genlik aralığı + + 40 Seconds (Size and Pitch) + - - Envelope res. - Zarf çözümü. + + 40 Seconds (Size and Spray and Jitter) + - - Increase envelope resolution for better details, decrease for better GUI performance. - Daha iyi ayrıntılar için zarf çözünürlüğünü artırın, daha iyi Arayüz performansı için azaltın. - - - - - Draw at most - En fazla çekiliş - - - - envelope points per pixel - piksel başına zarf noktaları - - - - Spectrum res. - Spectrum res. - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - Daha iyi ayrıntılar için spektrum çözünürlüğünü artırın, daha iyi Arayüz performansı için azaltın. - - - - spectrum points per pixel - piksel başına spektrum noktaları - - - - Falloff factor - Düşüş faktörü - - - - Decrease to make peaks fall faster. - Zirvelerin daha hızlı düşmesi için azaltın. - - - - Multiply buffered value by - Arabelleğe alınan değeri şununla çarp - - - - Averaging weight - Ortalama ağırlık - - - - Decrease to make averaging slower and smoother. - Ortalama almayı daha yavaş ve pürüzsüz hale getirmek için azaltın. - - - - New sample contributes - Yeni örnek katkıda bulunur - - - - Waterfall height - Şelale yüksekliği - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - Daha yavaş kaydırmak için artırın, hızlı geçişleri daha iyi görmek için azaltın. Uyarı: orta CPU kullanımı. - - - - Keep - Tut - - - - lines - çizgiler - - - - Waterfall gamma - Şelale gama - - - - Decrease to see very weak signals, increase to get better contrast. - Çok zayıf sinyalleri görmeyi azaltın, daha iyi kontrast elde etmek için artırın. - - - - Gamma value: - Gama değeri: - - - - Window overlap - Pencere örtüşmesi - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - FFT pencere kenarlarının yakınına gelen eksik hızlı geçişleri önlemek için artırın. Uyarı: yüksek CPU kullanımı. - - - - Each sample processed - Her numune işlendi - - - - times - defa - - - - Zero padding - Sıfır dolgu - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - Daha pürüzsüz görünen spektrum elde etmek için artırın. Uyarı: yüksek CPU kullanımı. - - - - Processing buffer is - İşleme tamponu - - - - steps larger than input block - giriş bloğundan daha büyük adımlar - - - - Advanced settings - Gelişmiş ayarlar - - - - Access advanced settings - Gelişmiş ayarlara erişin - - - - - FFT block size - FFT blok boyutu - - - - - FFT window type - FFT pencere türü + + 120 Seconds (All of the above) + - SampleBuffer + lmms::InstrumentFunctionArpeggio - - Fail to open file - Dosya açılamadı + + Arpeggio + Arpej - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Ses dosyalarının boyutu %1 MB ve %2 dakika oynatma süresiyle sınırlıdır + + Arpeggio type + Arpej türü - - Open audio file - Ses dosyasını aç + + Arpeggio range + Arpej aralığı - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Tüm Ses Dosyaları (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) + + Note repeats + Nota tekrarları - - Wave-Files (*.wav) - Wave Dosyaları (*.wav) + + Cycle steps + Döngü adımları - - OGG-Files (*.ogg) - OGG Dosyaları (*.ogg) + + Skip rate + Atlama oranı - - DrumSynth-Files (*.ds) - DrumSynth Dosyaları (*.ds) + + Miss rate + Iskalama oranı - - FLAC-Files (*.flac) - FLAC Dosyaları (*.flac) + + Arpeggio time + Arpej zamanı - - SPEEX-Files (*.spx) - SPEEX Dosyaları (*.spx) + + Arpeggio gate + Arpej kapısı - - VOC-Files (*.voc) - VOC Dosyaları (*.voc) + + Arpeggio direction + Arpej yönü - - AIFF-Files (*.aif *.aiff) - AIFF Dosyaları (*.aif *.aiff) + + Arpeggio mode + Arpej modu - - AU-Files (*.au) - AU Dosyaları (*.au) + + Up + Üst - - RAW-Files (*.raw) - RAW Dosyaları (*.raw) + + Down + Aşağı + + + + Up and down + Yukarı ve aşağı + + + + Down and up + Aşağı ve yukarı + + + + Random + Rastgele + + + + Free + Boş + + + + Sort + Sırala + + + + Sync + Eşitle - SampleClipView + lmms::InstrumentFunctionNoteStacking - - Double-click to open sample - Örneği açmak için çift tıklayın + + Chords + Akordlar - - Delete (middle mousebutton) - Sil (orta klik) + + Chord type + Akord türü - - Delete selection (middle mousebutton) - Seçimi sil (orta fare düğmesi) - - - - Cut - Kes - - - - Cut selection - Seçimi Kes - - - - Copy - Kopyala - - - - Copy selection - Seçimi Kopyala - - - - Paste - Yapıştır - - - - Mute/unmute (<%1> + middle click) - Sesi kapat/sesi aç (<%1> + orta tıklama) - - - - Mute/unmute selection (<%1> + middle click) - Seçimin sesini kapat/aç (<%1> + orta tıklama) - - - - Reverse sample - Örneği ters çevir - - - - Set clip color - Klip rengini ayarla - - - - Use track color - Parça rengini kullan + + Chord range + Akord aralığı - SampleTrack + lmms::InstrumentSoundShaping - - Volume - Ses Düzeyi + + Envelopes/LFOs + Zarflar / LFO'lar - - Panning - Panning - - - - Mixer channel - FX kanalı - - - - - Sample track - Örnek parça - - - - SampleTrackView - - - Track volume - Parça ses düzeyi - - - - Channel volume: - Kanal ses düzeyi: - - - - VOL - SES - - - - Panning - Panning - - - - Panning: - Panning: - - - - PAN - PAN - - - - Channel %1: %2 - FX %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - GENEL AYARLAR - - - - Sample volume - Örnek düzey - - - - Volume: - Ses Düzeyi: - - - - VOL - SES - - - - Panning - Panning - - - - Panning: - Panning: - - - - PAN - PAN - - - - Mixer channel - FX kanalı - - - - CHANNEL - FX - - - - SaveOptionsWidget - - - Discard MIDI connections - MIDI bağlantılarını atın - - - - Save As Project Bundle (with resources) - Proje Paketi Olarak Kaydet (kaynaklarla) - - - - SetupDialog - - - Reset to default value - Varsayılan değere sıfırla - - - - Use built-in NaN handler - Yerleşik NaN işleyicisini kullanın - - - - Settings - Ayarlar - - - - - General - Genel - - - - Graphical user interface (GUI) - Grafik kullanıcı arayüzü (GUI) - - - - Display volume as dBFS - Ses seviyesini dBFS olarak görüntüle - - - - Enable tooltips - Araç ipuçlarını etkinleştirin - - - - Enable master oscilloscope by default - Ana osiloskopu varsayılan olarak etkinleştirin - - - - Enable all note labels in piano roll - Piyano rulosundaki tüm nota etiketlerini etkinleştirin - - - - Enable compact track buttons - Kompakt parça düğmelerini etkinleştirin - - - - Enable one instrument-track-window mode - Bir enstrüman izleme penceresi modunu etkinleştirin - - - - Show sidebar on the right-hand side - Sağ tarafta kenar çubuğunu göster - - - - Let sample previews continue when mouse is released - Fare bırakıldığında örnek önizlemelerin devam etmesine izin verin - - - - Mute automation tracks during solo - Solo sırasında otomasyon izlerini sessize alma - - - - Show warning when deleting tracks - Parçaları silerken uyarı göster - - - - Projects - Projeler - - - - Compress project files by default - Proje dosyalarını varsayılan olarak sıkıştır - - - - Create a backup file when saving a project - Bir projeyi kaydederken bir yedek dosya oluşturun - - - - Reopen last project on startup - Başlangıçta son projeyi yeniden aç - - - - Language - Dil - - - - - Performance - Başarım - - - - Autosave - Otomatik kaydet - - - - Enable autosave - Otomatik kaydetmeyi etkinleştir - - - - Allow autosave while playing - Oynatırken otomatik kaydetmeye izin ver - - - - User interface (UI) effects vs. performance - Kullanıcı arayüzü (UI) efektleri ile performans karşılaştırması - - - - Smooth scroll in song editor - Şarkı düzenleyicide yumuşak kaydırma - - - - Display playback cursor in AudioFileProcessor - Ses Dosyası İşlemcisindeki oynatma imlecini görüntüle - - - - Plugins - Eklentiler - - - - VST plugins embedding: - Gömülü VST eklentileri: - - - - No embedding - Yerleştirme yok - - - - Embed using Qt API - Qt API kullanarak yerleştirin - - - - Embed using native Win32 API - Yerel Win32 API kullanarak yerleştirme - - - - Embed using XEmbed protocol - XEmbed protokolünü kullanarak gömün - - - - Keep plugin windows on top when not embedded - Gömülü değilken eklenti pencerelerini üstte tutun - - - - Sync VST plugins to host playback - Oynatma barındırmak için VST eklentilerini senkronize edin - - - - Keep effects running even without input - Efektlerin girdi olmasa bile çalışmaya devam etmesini sağlayın - - - - - Audio - Ses - - - - Audio interface - Ses arayüzü - - - - HQ mode for output audio device - Ses çıkışı cihazı için HQ modu - - - - Buffer size - Arabellek boyutu - - - - - MIDI - MIDI - - - - MIDI interface - MIDI arayüzü - - - - Automatically assign MIDI controller to selected track - MIDI denetleyicisini seçilen parçaya otomatik olarak atayın - - - - LMMS working directory - LMMS çalışma dizini - - - - VST plugins directory - VST eklentileri dizini - - - - LADSPA plugins directories - LADSPA eklenti dizinleri - - - - SF2 directory - SF2 dizini - - - - Default SF2 - Varsayılan SF2 - - - - GIG directory - GIG dizini - - - - Theme directory - Tema dizini - - - - Background artwork - Arka plan resmi - - - - Some changes require restarting. - Bazı değişiklikler yeniden başlatmayı gerektirir. - - - - Autosave interval: %1 - Otomatik kaydetme aralığı: %1 - - - - Choose the LMMS working directory - LMMS çalışma dizinini seçin - - - - Choose your VST plugins directory - VST eklentileri dizininizi seçin - - - - Choose your LADSPA plugins directory - LADSPA eklentileri dizininizi seçin - - - - Choose your default SF2 - Varsayılan SF2'nizi seçin - - - - Choose your theme directory - Tema dizininizi seçin - - - - Choose your background picture - Arka plan resminizi seçin - - - - - Paths - Yollar - - - - OK - Tamam - - - - Cancel - İptal - - - - Frames: %1 -Latency: %2 ms - Çerçeveler: %1 -Gecikme: %2 ms - - - - Choose your GIG directory - GIG dizininizi seçin - - - - Choose your SF2 directory - SF2 dizininizi seçin - - - - minutes - dakika - - - - minute - dakika - - - - Disabled - Devre dışı - - - - SidInstrument - - - Cutoff frequency - Kesme frekansı - - - - Resonance - Çınlama - - - + Filter type Filtre tipi - - Voice 3 off - Ses 3 kapalı + + Cutoff frequency + Kesme frekansı - + + Q/Resonance + Q/Rezonans + + + + Low-pass + Düşük geçiş + + + + Hi-pass + Yüksek geçiş + + + + Band-pass csg + Bant geçişli csg + + + + Band-pass czpg + Bant geçişli czpg + + + + Notch + Çentik + + + + All-pass + Tamamı bitti + + + + Moog + Moog + + + + 2x Low-pass + 2x Düşük geçiş + + + + RC Low-pass 12 dB/oct + RC Düşük geçişli 12 dB/oct + + + + RC Band-pass 12 dB/oct + RC Bant geçişi 12 dB/oct + + + + RC High-pass 12 dB/oct + RC Yüksek Geçişli 12 dB/oct + + + + RC Low-pass 24 dB/oct + RC Düşük geçişli 24 dB/oct + + + + RC Band-pass 24 dB/oct + RC Bant geçişi 24 dB/oct + + + + RC High-pass 24 dB/oct + RC Yüksek Geçişli 24 dB/oct + + + + Vocal Formant + Vokal Biçimlendirici + + + + 2x Moog + 2x Moog + + + + SV Low-pass + SV Düşük geçiş + + + + SV Band-pass + SV Bant geçişi + + + + SV High-pass + SV Yüksek geçiş + + + + SV Notch + SV Çentiği + + + + Fast Formant + Hızlı Biçimlendirici + + + + Tripole + Üçlü + + + + lmms::InstrumentTrack + + + + unnamed_track + adsız_parça + + + + Base note + Temel nota + + + + First note + İlk nota + + + + Last note + Son nota + + + + Volume + Düzey + + + + Panning + Kaydırma + + + + Pitch + Saha + + + + Pitch range + Eğim aralığı + + + + Mixer channel + FX kanalı + + + + Master pitch + Ana sahne + + + + Enable/Disable MIDI CC + MIDI CC'yi Etkinleştir / Devre Dışı Bırak + + + + CC Controller %1 + CC Denetleyicisi %1 + + + + + Default preset + Varsayılan ön ayar + + + + lmms::Keymap + + + empty + boş + + + + lmms::KickerInstrument + + + Start frequency + Başlangıç frekansı + + + + End frequency + Bitiş frekansı + + + + Length + Süre + + + + Start distortion + Bozulmayı başlat + + + + End distortion + Bozulmayı bitir + + + + Gain + Kazanç + + + + Envelope slope + Zarf eğimi + + + + Noise + Gürültü + + + + Click + Tıkla + + + + Frequency slope + Frekans eğimi + + + + Start from note + Notadan başla + + + + End to note + Notanın sonu + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + Kanalları bağla + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + Bilinmeyen LADSPA eklentisi %1 istendi. + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + VCF Kesme Frekansı + + + + VCF Resonance + VCF Rezonansı + + + + VCF Envelope Mod + VCF Zarf Modu + + + + VCF Envelope Decay + VCF Zarf Bozulması + + + + Distortion + Bozma + + + + Waveform + Dalga şekli + + + + Slide Decay + Bozulma Kaydırma + + + + Slide + Kaydır + + + + Accent + Vurgu + + + + Dead + Ölü + + + + 24dB/oct Filter + 24dB/oct FiltRESİ + + + + lmms::LfoController + + + LFO Controller + LFO Denetleyicisi + + + + Base value + Temel değer + + + + Oscillator speed + Osilatör hızı + + + + Oscillator amount + Osilatör miktarı + + + + Oscillator phase + Osilatör fazı + + + + Oscillator waveform + Osilatör dalga formu + + + + Frequency Multiplier + Frekans Çarpanı + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + Sertlik + + + + Position + Konum + + + + Vibrato gain + Titreşim kazancı + + + + Vibrato frequency + Titreşim frekansı + + + + Stick mix + Çubuk karıştırıcı + + + + Modulator + Modülatör + + + + Crossfade + Çapraz geçiş + + + + LFO speed + LFO hızı + + + + LFO depth + LFO derinliği + + + + ADSR + ADSR + + + + Pressure + Basınç + + + + Motion + Hareket + + + + Speed + Hız + + + + Bowed + Eğilmiş + + + + Instrument + + + + + Spread + Etrafa Saç + + + + Randomness + + + + + Marimba + Marimba + + + + Vibraphone + Vibrafon + + + + Agogo + Agogo + + + + Wood 1 + Ahşap 1 + + + + Reso + Reso + + + + Wood 2 + Ahşap 2 + + + + Beats + Vuruşlar + + + + Two fixed + İki sabit + + + + Clump + Tortu + + + + Tubular bells + Borulu çanlar + + + + Uniform bar + Üniforma çubuğu + + + + Tuned bar + Ayarlanmış çubuk + + + + Glass + Cam + + + + Tibetan bowl + Tibet kase + + + + lmms::MeterModel + + + Numerator + Pay + + + + Denominator + Payda + + + + lmms::Microtuner + + + Microtuner + Mikro ayarlayıcı + + + + Microtuner on / off + Mikro ayarlayıcı açık / kapalı + + + + Selected scale + Seçili ölçek + + + + Selected keyboard mapping + Seçilen klavye eşlemesi + + + + lmms::MidiController + + + MIDI Controller + MIDI Denetleyicisi + + + + unnamed_midi_controller + adsız_midi_denetleyici + + + + lmms::MidiImport + + + + Setup incomplete + Kurulum tamamlanmadı + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Ayarlar iletişim kutusunda (Düzenle-> Ayarlar) varsayılan bir ses yazı tipi ayarlamadınız. Bu nedenle, bu MIDI dosyasını içe aktardıktan sonra hiçbir ses çalınmayacaktır. Bir Genel MIDI ses yazı tipi indirmeli, bunu ayarlar iletişim kutusunda belirtmeli ve tekrar denemelisiniz. + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + LMMS'yi içe aktarılan MIDI dosyalarına varsayılan ses eklemek için kullanılan SoundFont2 oynatıcı desteğiyle derlemediniz. Bu nedenle, bu MIDI dosyasını içe aktardıktan sonra hiçbir ses çalınmayacaktır. + + + + MIDI Time Signature Numerator + MIDI Zaman İmza Payı + + + + MIDI Time Signature Denominator + MIDI Zaman İmza Paydası + + + + Numerator + Pay + + + + Denominator + Payda + + + + + Tempo + Tempo + + + + Track + Parça + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + JACK sunucusu kapalı + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + JACK sunucusu kapatılmış görünüyor. + + + + lmms::MidiPort + + + Input channel + Giriş kanalı + + + + Output channel + Çıkış kanalı + + + + Input controller + Giriş kontrolörü + + + + Output controller + Çıkış denetleyicisi + + + + Fixed input velocity + Sabit giriş hızı + + + + Fixed output velocity + Sabit çıkış hızı + + + + Fixed output note + Sabit çıktı notu + + + + Output MIDI program + MIDI programı çıktısı + + + + Base velocity + Temel hız + + + + Receive MIDI-events + MIDI olaylarını alın + + + + Send MIDI-events + MIDI olayları gönder + + + + lmms::Mixer + + + Master + Usta + + + + + + Channel %1 + FX %1 + + + Volume Ses Düzeyi - - Chip model - Yonga modeli - - - - SidInstrumentView - - - Volume: - Ses Düzeyi: - - - - Resonance: - Rezonans: - - - - - Cutoff frequency: - Kesim frekansı: - - - - High-pass filter - Yüksek geçişli filtre - - - - Band-pass filter - Bant geçişli filtre - - - - Low-pass filter - Düşük geçişli filtre - - - - Voice 3 off - Ses 3 kapalı - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Saldırı: - - - - - Decay: - Bozunma: - - - - Sustain: - Sürdürmek: - - - - - Release: - Yayınla: - - - - Pulse Width: - Darbe genişliği: - - - - Coarse: - Kaba: - - - - Pulse wave - Nabız dalgası - - - - Triangle wave - Üçgen dalga - - - - Saw wave - Testere dalga - - - - Noise - Parazit - - - - Sync - Eşitleme - - - - Ring modulation - Halka modülasyonu - - - - Filtered - Filtrelenmiş - - - - Test - Dene - - - - Pulse width: - Darbe genişliği: - - - - SideBarWidget - - - Close - Kapat - - - - Song - - - Tempo - Tempo - - - - Master volume - Ana ses - - - - Master pitch - Ana sahne - - - - Aborting project load - Proje yüklemesi iptal ediliyor - - - - Project file contains local paths to plugins, which could be used to run malicious code. - Proje dosyası, kötü amaçlı kod çalıştırmak için kullanılabilecek eklentilere giden yerel yolları içerir. - - - - Can't load project: Project file contains local paths to plugins. - Proje yüklenemiyor: Proje dosyası, eklentilere giden yerel yolları içerir. - - - - LMMS Error report - LMMS Hata raporu - - - - (repeated %1 times) - (%1 kez tekrarlandı) - - - - The following errors occurred while loading: - Yükleme sırasında aşağıdaki hatalar oluştu: - - - - SongEditor - - - Could not open file - Dosya açılamadı - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - %1 dosyası açılamadı. Muhtemelen bu dosyayı okuma izniniz yok. - Lütfen dosya için en azından okuma izninizin olduğundan emin olun ve tekrar deneyin. - - - - Operation denied - İşlem reddedildi - - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - Bu ada sahip bir paket klasörü zaten seçili yolda bulunuyor. Proje paketinin üzerine yazılamaz. Lütfen farklı bir isim seçin. - - - - - - Error - Hata - - - - Couldn't create bundle folder. - Paket klasörü oluşturulamadı. - - - - Couldn't create resources folder. - Kaynaklar klasörü oluşturulamadı. - - - - Failed to copy resources. - Kaynaklar kopyalanamadı. - - - - Could not write file - Dosya yazılamadı - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - %1 yazmak için açılamadı. Muhtemelen bu dosyaya yazma izniniz yok. Lütfen dosyaya yazma erişiminiz olduğundan emin olun ve tekrar deneyin. - - - - This %1 was created with LMMS %2 - Bu %1, %2 LMMS ile oluşturuldu - - - - Error in file - Dosyada hata - - - - The file %1 seems to contain errors and therefore can't be loaded. - Görünüşe göre %1 dosyası hatalar içeriyor ve bu nedenle yüklenemiyor. - - - - Version difference - Sürüm farkı - - - - template - şablon - - - - project - proje - - - - Tempo - Tempo - - - - TEMPO - TEMPO - - - - Tempo in BPM - BPM'de Tempo - - - - High quality mode - Yüksek kalite modu - - - - - - Master volume - Ana ses - - - - - - Master pitch - Ana sahne - - - - Value: %1% - Değer: %1% - - - - Value: %1 semitones - Değer: %1 yarım ton - - - - SongEditorWindow - - - Song-Editor - Şarkı-Düzenleyici - - - - Play song (Space) - Şarkıyı başlat (Space) - - - - Record samples from Audio-device - Ses cihazından örnekleri kaydedin - - - - Record samples from Audio-device while playing song or BB track - Şarkı veya BB parçası çalarken Ses cihazından örnekleri kaydedin - - - - Stop song (Space) - Şarkıyı durdur (Space) - - - - Track actions - Parça eylemleri - - - - Add beat/bassline - Beat/bassline ekle - - - - Add sample-track - Örnek parça ekle - - - - Add automation-track - Ayarkayıt parçası ekle - - - - Edit actions - İşlemleri düzenle - - - - Draw mode - Çizim kipi - - - - Knife mode (split sample clips) - Bıçak modu (örnek klipleri ayır) - - - - Edit mode (select and move) - Düzenleme modu (seç ve taşı) - - - - Timeline controls - Zaman çizelgesi kontrolleri - - - - Bar insert controls - Çubuk ekleme kontrolleri - - - - Insert bar - Çubuk ekle - - - - Remove bar - Çubuğu kaldır - - - - Zoom controls - Yakınlaştırma ayarı - - - - Horizontal zooming - Yatay yakınlaştırma - - - - Snap controls - Yapış denetimleri - - - - - Clip snapping size - Klip yapışma boyutu - - - - Toggle proportional snap on/off - Orantılı tutturmayı aç/kapat - - - - Base snapping size - Taban yapışma boyutu - - - - StepRecorderWidget - - - Hint - İpucu - - - - Move recording curser using <Left/Right> arrows - <Sol/Sağ> oklarını kullanarak kayıt imlecini hareket ettirin - - - - SubWindow - - - Close - Kapat - - - - Maximize - Büyütme - - - - Restore - Onar - - - - TabWidget - - - - Settings for %1 - %1 ayarları - - - - TemplatesMenu - - - New from template - Şablondan yeni - - - - TempoSyncKnob - - - - Tempo Sync - Tempo Senkronizasyonu - - - - No Sync - Senkronizasyon yok - - - - Eight beats - Sekiz vuruş - - - - Whole note - Tam nota - - - - Half note - Yarım nota - - - - Quarter note - Çeyrek nota - - - - 8th note - 8'lik nota - - - - 16th note - 16'lık nota - - - - 32nd note - 32'lik nota - - - - Custom... - Özel... - - - - Custom - Özel - - - - Synced to Eight Beats - Sekiz Vuruşla Senkronize Edildi - - - - Synced to Whole Note - Tüm Nota Senkronize Edildi - - - - Synced to Half Note - Yarım Nota Senkronize Edildi - - - - Synced to Quarter Note - Çeyrek Nota Senkronize Edildi - - - - Synced to 8th Note - 8. Nota senkronize edildi - - - - Synced to 16th Note - 16. Nota senkronize edildi - - - - Synced to 32nd Note - 32. Nota senkronize edildi - - - - TimeDisplayWidget - - - Time units - Zaman birimleri - - - - MIN - DAK - - - - SEC - SAN - - - - MSEC - MSEC - - - - BAR - ÇUBUK - - - - BEAT - VURUŞ - - - - TICK - TIK - - - - TimeLineWidget - - - Auto scrolling - Otomatik kaydırma - - - - Loop points - Döngü noktaları - - - - After stopping go back to beginning - Durduktan sonra başa dön - - - - After stopping go back to position at which playing was started - Durduktan sonra oyunun başladığı konuma geri dönün - - - - After stopping keep position - Durduktan sonra pozisyonunuzu koruyun - - - - Hint - İpucu - - - - Press <%1> to disable magnetic loop points. - Manyetik döngü noktalarını devre dışı bırakmak için <%1> tuşuna basın. - - - - Track - - + Mute - Ses kapatma + Sustur - + Solo Tek - TrackContainer + lmms::MixerRoute - + + + Amount to send from channel %1 to channel %2 + %1 kanalından %2 kanalına gönderilecek miktar + + + + lmms::MonstroInstrument + + + Osc 1 volume + Osc 1 düzey + + + + Osc 1 panning + Osc 1 kaydırma + + + + Osc 1 coarse detune + Osc 1 kaba detay + + + + Osc 1 fine detune left + Osc 1 ince detay sol + + + + Osc 1 fine detune right + Osc 1 ince detay sağ + + + + Osc 1 stereo phase offset + Osc 1 çift kanal faz ofseti + + + + Osc 1 pulse width + Osc 1 darbe genişliği + + + + Osc 1 sync send on rise + Osc 1 nsenkronizasyonu yükselişte gönder + + + + Osc 1 sync send on fall + Osc 1 senkronizasyonu sonbaharda gönder + + + + Osc 2 volume + Osc 2 düzey + + + + Osc 2 panning + Osc 2 kaydırma + + + + Osc 2 coarse detune + Osc 2 kaba detay + + + + Osc 2 fine detune left + Osc 2 ince detay sol + + + + Osc 2 fine detune right + Osc 2 ince detay sağ + + + + Osc 2 stereo phase offset + Osc 2 çift kanal faz ofseti + + + + Osc 2 waveform + Osc 2 dalga formu + + + + Osc 2 sync hard + Osc 2 senkronizasyonu zor + + + + Osc 2 sync reverse + Osc 2 senkronizasyon ters + + + + Osc 3 volume + Osc 3 düzey + + + + Osc 3 panning + Osc 3 kaydırma + + + + Osc 3 coarse detune + Osc 3 kaba detay + + + + Osc 3 Stereo phase offset + Osc 3 çift kanal faz ofseti + + + + Osc 3 sub-oscillator mix + Osc 3 alt osilatör karışımı + + + + Osc 3 waveform 1 + Osc 3 dalga formu 1 + + + + Osc 3 waveform 2 + Osc 3 dalga formu 2 + + + + Osc 3 sync hard + Osc 3 senkronizasyonu zor + + + + Osc 3 Sync reverse + Osc 3 Senkronizasyon ters + + + + LFO 1 waveform + LFO 1 dalga formu + + + + LFO 1 attack + LFO 1 saldırısı + + + + LFO 1 rate + LFO 1 oran + + + + LFO 1 phase + LFO 1 aşaması + + + + LFO 2 waveform + LFO 2 dalga formu + + + + LFO 2 attack + LFO 2 saldırısı + + + + LFO 2 rate + LFO 2 oran + + + + LFO 2 phase + LFO 2 aşaması + + + + Env 1 pre-delay + Env 1 ön gecikme + + + + Env 1 attack + Env 1 saldırısı + + + + Env 1 hold + Env 1 tutma + + + + Env 1 decay + Env 1 bozunma + + + + Env 1 sustain + Env 1 sürdürmek + + + + Env 1 release + Env 1 yayını + + + + Env 1 slope + Env 1 eğimi + + + + Env 2 pre-delay + Env 2 ön gecikmesi + + + + Env 2 attack + Env 2 saldırısı + + + + Env 2 hold + Env 2 tutma + + + + Env 2 decay + Env 2 bozunma + + + + Env 2 sustain + Env 2 sürdürmek + + + + Env 2 release + Env 2 yayını + + + + Env 2 slope + Env 2 eğimi + + + + Osc 2+3 modulation + Osc 2+3 modülasyonu + + + + Selected view + Seçili görünüm + + + + Osc 1 - Vol env 1 + Osc 1 - Düzey env 1 + + + + Osc 1 - Vol env 2 + Osc 1 - Düzey env 2 + + + + Osc 1 - Vol LFO 1 + Osc 1 - Düzey LFO 1 + + + + Osc 1 - Vol LFO 2 + Osc 1 - Düzey LFO 2 + + + + Osc 2 - Vol env 1 + Osc 2 - Düzey env 1 + + + + Osc 2 - Vol env 2 + Osc 2 - Düzey env 2 + + + + Osc 2 - Vol LFO 1 + Osc 2 - Düzey LFO 1 + + + + Osc 2 - Vol LFO 2 + Osc 2 - Düzey LFO 2 + + + + Osc 3 - Vol env 1 + Osc 3 - Düzey env 1 + + + + Osc 3 - Vol env 2 + Osc 3 - Düzey env 2 + + + + Osc 3 - Vol LFO 1 + Osc 3 - Düzey LFO 1 + + + + Osc 3 - Vol LFO 2 + Osc 3 - Düzey LFO 2 + + + + Osc 1 - Phs env 1 + Osc 1 - Phs env 1 + + + + Osc 1 - Phs env 2 + Osc 1 - Phs env 2 + + + + Osc 1 - Phs LFO 1 + Osc 1 - Phs LFO 1 + + + + Osc 1 - Phs LFO 2 + Osc 1 - Phs LFO 2 + + + + Osc 2 - Phs env 1 + Osc 2 - Phs env 1 + + + + Osc 2 - Phs env 2 + Osc 2 - Phs env 2 + + + + Osc 2 - Phs LFO 1 + Osc 2 - Phs LFO 1 + + + + Osc 2 - Phs LFO 2 + Osc 2 - Phs LFO 2 + + + + Osc 3 - Phs env 1 + Osc 3 - Phs env 1 + + + + Osc 3 - Phs env 2 + Osc 3 - Phs env 2 + + + + Osc 3 - Phs LFO 1 + Osc 3 - Phs LFO 1 + + + + Osc 3 - Phs LFO 2 + Osc 3 - Phs LFO 2 + + + + Osc 1 - Pit env 1 + Osc 1 - Pit env 1 + + + + Osc 1 - Pit env 2 + Osc 1 - Pit env 2 + + + + Osc 1 - Pit LFO 1 + Osc 1 - Pit LFO 1 + + + + Osc 1 - Pit LFO 2 + Osc 1 - Pit LFO 2 + + + + Osc 2 - Pit env 1 + Osc 2 - Pit env 1 + + + + Osc 2 - Pit env 2 + Osc 2 - Pit env 2 + + + + Osc 2 - Pit LFO 1 + Osc 2 - Pit LFO 1 + + + + Osc 2 - Pit LFO 2 + Osc 2 - Pit LFO 2 + + + + Osc 3 - Pit env 1 + Osc 3 - Pit env 1 + + + + Osc 3 - Pit env 2 + Osc 3 - Pit env 2 + + + + Osc 3 - Pit LFO 1 + Osc 3 - Pit LFO 1 + + + + Osc 3 - Pit LFO 2 + Osc 3 - Pit LFO 2 + + + + Osc 1 - PW env 1 + Osc 1 - PW env 1 + + + + Osc 1 - PW env 2 + Osc 1 - PW env 2 + + + + Osc 1 - PW LFO 1 + Osc 1 - PW LFO 1 + + + + Osc 1 - PW LFO 2 + Osc 1 - PW LFO 2 + + + + Osc 3 - Sub env 1 + Osc 3 - Sub env 1 + + + + Osc 3 - Sub env 2 + Osc 3 - Sub env 2 + + + + Osc 3 - Sub LFO 1 + Osc 3 - Sub LFO 1 + + + + Osc 3 - Sub LFO 2 + Osc 3 - Sub LFO 2 + + + + + Sine wave + Sinüs dalgası + + + + Bandlimited Triangle wave + Band sınırlı Üçgen dalga + + + + Bandlimited Saw wave + Bant sınırı Testere dalgası + + + + Bandlimited Ramp wave + Bant sınırlı Rampa dalgası + + + + Bandlimited Square wave + Bant sınırı Kare dalga + + + + Bandlimited Moog saw wave + Band sınırlı Moog testere dalgası + + + + + Soft square wave + Yumuşak kare dalga + + + + Absolute sine wave + Mutlak sinüs dalgası + + + + + Exponential wave + Üstel dalga + + + + White noise + Beyaz gürültü + + + + Digital Triangle wave + Dijital Üçgen dalga + + + + Digital Saw wave + Dijital Testere dalgası + + + + Digital Ramp wave + Dijital Rampa dalgası + + + + Digital Square wave + Dijital Kare dalga + + + + Digital Moog saw wave + Digital Moog testere dalgası + + + + Triangle wave + Üçgen dalga + + + + Saw wave + Testere dalga + + + + Ramp wave + Rampa dalgası + + + + Square wave + Kare dalgası + + + + Moog saw wave + Moog testere dalgası + + + + Abs. sine wave + Abs. sinüs dalgası + + + + Random + Rastgele + + + + Random smooth + Rastgele pürüzsüz + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + Kanal 1 kaba detune + + + + Channel 1 volume + Kanal 1 düzeyi + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + Kanal 1 zarf uzunluğu + + + + Channel 1 duty cycle + Kanal 1 görev döngüsü + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + Kanal 1 tarama miktarı + + + + Channel 1 sweep rate + Kanal 1 tarama hızı + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + Kanal 2 zarf uzunluğu + + + + Channel 2 duty cycle + Kanal 2 görev döngüsü + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + Kanal 2 tarama miktarı + + + + Channel 2 sweep rate + Kanal 2 tarama hızı + + + + Channel 3 enable + + + + + Channel 3 coarse detune + Kanal 3 kaba detune + + + + Channel 3 volume + Kanal 3 düzeyi + + + + Channel 4 enable + + + + + Channel 4 volume + Kanal 4 düzeyi + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + Kanal 4 zarf uzunluğu + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + Kanal 4 gürültü frekansı + + + + Channel 4 noise frequency sweep + Kanal 4 gürültü frekansı taraması + + + + Channel 4 quantize + + + + + Master volume + Ana ses + + + + Vibrato + Titreşim + + + + lmms::OpulenzInstrument + + + Patch + Yama + + + + Op 1 attack + Op 1 saldırısı + + + + Op 1 decay + Op 1 bozunması + + + + Op 1 sustain + Op 1 sürdürme + + + + Op 1 release + Op 1 yayını + + + + Op 1 level + Op 1 seviyesi + + + + Op 1 level scaling + Op 1 seviye ölçeklendirme + + + + Op 1 frequency multiplier + Op 1 frekans çarpanı + + + + Op 1 feedback + Op 1 geribildirimi + + + + Op 1 key scaling rate + Op 1 anahtar ölçekleme oranı + + + + Op 1 percussive envelope + Op 1 vurmalı zarf + + + + Op 1 tremolo + Op 1 tremolo + + + + Op 1 vibrato + Op 1 titreşimi + + + + Op 1 waveform + Op 1 dalga formu + + + + Op 2 attack + Op 2 saldırısı + + + + Op 2 decay + Op 2 bozunması + + + + Op 2 sustain + Op 2 sürdürme + + + + Op 2 release + Op 2 yayını + + + + Op 2 level + Op 2 seviyesi + + + + Op 2 level scaling + Op 2 seviye ölçeklendirme + + + + Op 2 frequency multiplier + Op 2 frekans çarpanı + + + + Op 2 key scaling rate + Op 2 anahtar ölçekleme oranı + + + + Op 2 percussive envelope + Op 2 vurmalı zarf + + + + Op 2 tremolo + Op 2 tremolo + + + + Op 2 vibrato + Op 2 titreşimi + + + + Op 2 waveform + Op 2 dalga formu + + + + FM + FM + + + + Vibrato depth + Titreşim derinliği + + + + Tremolo depth + Tremolo derinliği + + + + lmms::OrganicInstrument + + + Distortion + Bozma + + + + Volume + Ses Düzeyi + + + + lmms::OscillatorObject + + + Osc %1 waveform + Osc %1 dalga biçimi + + + + Osc %1 harmonic + Osc %1 harmonik + + + + + Osc %1 volume + Osc %1 düzeyi + + + + + Osc %1 panning + Osc %1 kaydırma + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + Osc %1 kaba ince ayar + + + + Osc %1 fine detuning left + Osc %1 ince ayar sol + + + + Osc %1 fine detuning right + Osc %1 ince ayar sağ + + + + Osc %1 phase-offset + Osc %1 faz kayması + + + + Osc %1 stereo phase-detuning + Osc %1 stereo faz ayarlama + + + + Osc %1 wave shape + Osc %1 dalga şekli + + + + Modulation type %1 + Modülasyon türü %1 + + + + lmms::PatternTrack + + + Pattern %1 + %1 Kalıbı + + + + Clone of %1 + Kopya %1 + + + + lmms::PeakController + + + Peak Controller + Tepe Kontrolörü + + + + Peak Controller Bug + Tepe Kontrol Hatası + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + LMMS'nin eski sürümündeki bir hata nedeniyle, tepe denetleyicileri doğru şekilde bağlanamayabilir. Lütfen tepe denetleyicilerin doğru şekilde bağlandığından emin olun ve bu dosyayı yeniden kaydedin. Herhangi bir rahatsızlık verdiysem üzgünüm. + + + + lmms::PeakControllerEffectControls + + + Base value + Temel değer + + + + Modulation amount + Modülasyon miktarı + + + + Attack + Saldırı + + + + Release + Yayınla + + + + Treshold + Eşik + + + + Mute output + Çıkış sessiz + + + + Absolute value + Mutlak değer + + + + Amount multiplicator + Miktar çarpanı + + + + lmms::Plugin + + + Plugin not found + Eklenti bulunamadı + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + "%1" eklentisi bulunamadı veya yüklenemedi! +Nedeni: "%2" + + + + Error while loading plugin + Eklenti yüklenirken hata + + + + Failed to load plugin "%1"! + "%1" eklentisi yüklenemedi! + + + + lmms::ReverbSCControls + + + Input gain + Giriş kazancı + + + + Size + Boy + + + + Color + Renk + + + + Output gain + Çıkış kazancı + + + + lmms::SaControls + + + Pause + Duraklat + + + + Reference freeze + Referans dondurma + + + + Waterfall + Şelale + + + + Averaging + Ortalama + + + + Stereo + Stereo + + + + Peak hold + Tepe tutma + + + + Logarithmic frequency + Logaritmik frekans + + + + Logarithmic amplitude + Logaritmik genlik + + + + Frequency range + Frekans aralığı + + + + Amplitude range + Genlik aralığı + + + + FFT block size + FFT blok boyutu + + + + FFT window type + FFT pencere türü + + + + Peak envelope resolution + En yüksek zarf çözünürlüğü + + + + Spectrum display resolution + Spektrum ekran çözünürlüğü + + + + Peak decay multiplier + Tepe bozunma çarpanı + + + + Averaging weight + Ortalama ağırlık + + + + Waterfall history size + Şelale geçmişi boyutu + + + + Waterfall gamma correction + Şelale gama düzeltmesi + + + + FFT window overlap + FFT penceresi çakışması + + + + FFT zero padding + FFT sıfır dolgusu + + + + + Full (auto) + Tam (otomatik) + + + + + + Audible + Sesli + + + + Bass + Bas + + + + Mids + Ortalar + + + + High + Yüksek + + + + Extended + Genişletilmiş + + + + Loud + Yüksek + + + + Silent + Sessiz + + + + (High time res.) + (Yüksek zaman çözünürlüğü) + + + + (High freq. res.) + (Yüksek frekans çözünürlüğü) + + + + Rectangular (Off) + Dikdörtgen (Kapalı) + + + + + Blackman-Harris (Default) + Blackman-Harris (Varsayılan) + + + + Hamming + Hamming + + + + Hanning + Hanning + + + + lmms::SampleClip + + + Sample not found + + + + + lmms::SampleTrack + + + Volume + Ses Düzeyi + + + + Panning + Kaydırma + + + + Mixer channel + FX kanalı + + + + + Sample track + Örnek parça + + + + lmms::Scale + + + empty + boş + + + + lmms::Sf2Instrument + + + Bank + Yuva + + + + Patch + Yama + + + + Gain + Kazanç + + + + Reverb + Yankı + + + + Reverb room size + Yankı odası boyutu + + + + Reverb damping + Yankı sönümleme + + + + Reverb width + Yankı genişliği + + + + Reverb level + Yankı seviyesi + + + + Chorus + Koro + + + + Chorus voices + Koro sesleri + + + + Chorus level + Koro seviyesi + + + + Chorus speed + Koro hızı + + + + Chorus depth + Koro derinliği + + + + A soundfont %1 could not be loaded. + %1 ses yazı tipi yüklenemedi. + + + + lmms::SfxrInstrument + + + Wave + Dalga + + + + lmms::SidInstrument + + + Cutoff frequency + Kesme frekansı + + + + Resonance + Çınlama + + + + Filter type + Filtre tipi + + + + Voice 3 off + Ses 3 kapalı + + + + Volume + Ses Düzeyi + + + + Chip model + Yonga modeli + + + + lmms::SlicerT + + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + + + + + lmms::Song + + + Tempo + Tempo + + + + Master volume + Ana ses + + + + Master pitch + Ana sahne + + + + Aborting project load + Proje yüklemesi iptal ediliyor + + + + Project file contains local paths to plugins, which could be used to run malicious code. + Proje dosyası, kötü amaçlı kod çalıştırmak için kullanılabilecek eklentilere giden yerel yolları içerir. + + + + Can't load project: Project file contains local paths to plugins. + Proje yüklenemiyor: Proje dosyası, eklentilere giden yerel yolları içerir. + + + + LMMS Error report + LMMS Hata raporu + + + + (repeated %1 times) + (%1 kez tekrarlandı) + + + + The following errors occurred while loading: + Yükleme sırasında aşağıdaki hatalar oluştu: + + + + lmms::StereoEnhancerControls + + + Width + Genişlik + + + + lmms::StereoMatrixControls + + + Left to Left + Soldan Sola + + + + Left to Right + Soldan sağa + + + + Right to Left + Sağdan sola + + + + Right to Right + Sağa Doğru + + + + lmms::Track + + + Mute + Sustur + + + + Solo + Tek + + + + lmms::TrackContainer + + Couldn't import file Dosya içe aktarılamadı - + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. %1 dosyasını içe aktarmak için bir filtre bulunamadı. Bu dosyayı başka bir yazılım kullanarak LMMS tarafından desteklenen bir biçime dönüştürmelisiniz. - + Couldn't open file Dosya açılamadı - + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! %1 dosyası okumak için açılamadı. Lütfen dosyayı ve dosyayı içeren dizini okuma iznine sahip olduğunuzdan emin olun ve tekrar deneyin! - + Loading project... Proje yükleniyor... - - + + Cancel - İptal + Çıkış - - + + Please wait... Lütfen bekleyin... - + Loading cancelled Yükleme iptal edildi - + Project loading was cancelled. Proje yüklemesi iptal edildi. - + Loading Track %1 (%2/Total %3) %1 Parça Yükleniyor (%2/Toplam %3) - + Importing MIDI-file... MIDI dosyası içe aktarılıyor... - Clip + lmms::TripleOscillator - - Mute - Ses kapatma + + Sample not found + - ClipView + lmms::VecControls - + + Display persistence amount + Kalıcılık miktarını göster + + + + Logarithmic scale + Logaritmik ölçek + + + + High quality + Yüksek kalite + + + + lmms::VestigeInstrument + + + Loading plugin + Eklenti yükleniyor + + + + Please wait while loading the VST plugin... + VST eklentisini yüklerken lütfen bekleyin... + + + + lmms::Vibed + + + String %1 volume + Dize %1 hacmi + + + + String %1 stiffness + Dize %1 sertliği + + + + Pick %1 position + %1 pozisyon seçin + + + + Pickup %1 position + Alım %1 pozisyon + + + + String %1 panning + %1 dize kaydırma + + + + String %1 detune + %1 dize detune + + + + String %1 fuzziness + Dize %1 belirsizliği + + + + String %1 length + Dize %1 uzunluğu + + + + Impulse %1 + Dürtü %1 + + + + String %1 + Dize %1 + + + + lmms::VoiceObject + + + Voice %1 pulse width + Ses %1 darbe genişliği + + + + Voice %1 attack + Ses %1 saldırısı + + + + Voice %1 decay + Ses %1 zayıflaması + + + + Voice %1 sustain + Ses %1 sürdür + + + + Voice %1 release + Ses %1 sürümü + + + + Voice %1 coarse detuning + Ses %1 kaba ince ayar + + + + Voice %1 wave shape + Ses %1 dalga şekli + + + + Voice %1 sync + Ses %1 senkronizasyonu + + + + Voice %1 ring modulate + Ses %1 zil sesi modülasyonu + + + + Voice %1 filtered + Ses %1 filtrelendi + + + + Voice %1 test + Ses %1 testi + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + %1 VST eklentisi yüklenemedi. + + + + Open Preset + Ön Ayarı Aç + + + + + VST Plugin Preset (*.fxp *.fxb) + VST Eklenti Ön Ayarı (*.fxp *.fxb) + + + + : default + : öntanımlı + + + + Save Preset + Önayarı Kaydet + + + + .fxp + .fxp + + + + .FXP + .FXP + + + + .FXB + .FXB + + + + .fxb + .fxb + + + + Loading plugin + Eklenti yükleniyor + + + + Please wait while loading VST plugin... + VST eklentisi yüklenirken lütfen bekleyin... + + + + lmms::WatsynInstrument + + + Volume A1 + Düzey A1 + + + + Volume A2 + Düzey A2 + + + + Volume B1 + Düzey B1 + + + + Volume B2 + Düzey B2 + + + + Panning A1 + Kaydırma A1 + + + + Panning A2 + Kaydırma A2 + + + + Panning B1 + Kaydırma B1 + + + + Panning B2 + Kaydırma B2 + + + + Freq. multiplier A1 + Frekans. çarpan A1 + + + + Freq. multiplier A2 + Frekans. çarpan A2 + + + + Freq. multiplier B1 + Frekans. çarpan B1 + + + + Freq. multiplier B2 + Frekans. çarpan B2 + + + + Left detune A1 + Sol detune A1 + + + + Left detune A2 + Sol detune A2 + + + + Left detune B1 + Sol detune B1 + + + + Left detune B2 + Sol detune B2 + + + + Right detune A1 + Sağ detune A1 + + + + Right detune A2 + Sağ detune A2 + + + + Right detune B1 + Sağ detune B1 + + + + Right detune B2 + Sağ detune B2 + + + + A-B Mix + A-B Karışımı + + + + A-B Mix envelope amount + A-B Karışık zarf miktarı + + + + A-B Mix envelope attack + A-B Karışık zarf saldırısı + + + + A-B Mix envelope hold + A-B Karışık zarf tutma + + + + A-B Mix envelope decay + A-B Karışım zarf bozunması + + + + A1-B2 Crosstalk + A1-B2 Çapraz Karışma + + + + A2-A1 modulation + A2-A1 modülasyonu + + + + B2-B1 modulation + B2-B1 modülasyonu + + + + Selected graph + Seçili grafik + + + + lmms::WaveShaperControls + + + Input gain + Giriş kazancı + + + + Output gain + Çıkış kazancı + + + + lmms::Xpressive + + + Selected graph + Seçili grafik + + + + A1 + A1 + + + + A2 + A2 + + + + A3 + A3 + + + + W1 smoothing + W1 yumuşatma + + + + W2 smoothing + W2 yumuşatma + + + + W3 smoothing + W3 yumuşatma + + + + Panning 1 + Kaydırma 1 + + + + Panning 2 + Kaydırma 2 + + + + Rel trans + Rel trans + + + + lmms::ZynAddSubFxInstrument + + + Portamento + Kaydırma + + + + Filter frequency + Frekans filtresi + + + + Filter resonance + Rezonans filtresi + + + + Bandwidth + Bant genişliği + + + + FM gain + FM kazancı + + + + Resonance center frequency + Rezonans merkez frekansı + + + + Resonance bandwidth + Rezonans bant genişliği + + + + Forward MIDI control change events + MIDI kontrol değişikliği olaylarını iletme + + + + lmms::graphModel + + + Graph + Grafik + + + + lmms::gui::AmplifierControlDialog + + + VOL + SES + + + + Volume: + Ses Düzeyi: + + + + PAN + PAN + + + + Panning: + Kaydırma: + + + + LEFT + SOL + + + + Left gain: + Sol kazanç: + + + + RIGHT + SAĞ + + + + Right gain: + Sağ kazanç: + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + Örnek açın + + + + Reverse sample + Ters örnek + + + + Disable loop + Döngüyü kapat + + + + Enable loop + Döngüyü aç + + + + Enable ping-pong loop + Ping-pong döngüsünü etkinleştir + + + + Continue sample playback across notes + Örneği notalar arasında oynatmaya devam et + + + + Amplify: + Güçlendirin: + + + + Start point: + Başlangıç noktası: + + + + End point: + Bitiş noktası: + + + + Loopback point: + Geri döngü noktası: + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + Örnek uzunluğu: + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + Ayarkayıt Düzenleyici'de aç + + + + Clear + Temizle + + + + Reset name + İsmini sıfırla + + + + Change name + İsmini değiştir + + + + Set/clear record + Kayıdı başlat/durdur + + + + Flip Vertically (Visible) + Dikey Yönde Çevir (Görünür) + + + + Flip Horizontally (Visible) + Yatay Yönde Çevir (Görünür) + + + + %1 Connections + %1 Bağlantı + + + + Disconnect "%1" + Şunun bağlantısını kes: "%1" + + + + Model is already connected to this clip. + Model zaten bu desene bağlanmış. + + + + lmms::gui::AutomationEditor + + + Edit Value + Değeri Düzenleyin + + + + New outValue + Yeni çıkış değeri + + + + New inValue + Yeni giriş Değeri + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + Seçili bölümü oynat/durdur (Boşluk Tuşu) + + + + Stop playing of current clip (Space) + Seçili modeli oynatmayı durdur (Boşluk Tuşu) + + + + Edit actions + İşlemleri düzenle + + + + Draw mode (Shift+D) + Çizim modu (Shift+D) + + + + Erase mode (Shift+E) + Silgi modu (Shift+E) + + + + Draw outValues mode (Shift+C) + Değerleri çiz modu (Shift+C) + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + Dikey çevir + + + + Flip horizontally + Yatay çevir + + + + Interpolation controls + Enterpolasyon kontrolleri + + + + Discrete progression + Kesikli ilerleme + + + + Linear progression + Doğrusal ilerleme + + + + Cubic Hermite progression + Kübik Hermite ilerleme + + + + Tension value for spline + Sapma için gerilim değeri + + + + Tension: + Gerginlik: + + + + Zoom controls + Yakınlaştırma kontrolleri + + + + Horizontal zooming + Yatay yakınlaştırma + + + + Vertical zooming + Dikey yakınlaştırma + + + + Quantization controls + Niceleme kontrolleri + + + + Quantization + Niceleme + + + + Clear ghost notes + + + + + + Automation Editor - no clip + Ayarkayıt Düzenleyici - oluşturulmuş bölüm yok + + + + + Automation Editor - %1 + Ayarkayıt Düzenleyici - %1 + + + + Model is already connected to this clip. + Model zaten bu desene bağlanmış. + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + FREK + + + + Frequency: + Frekans: + + + + GAIN + GAIN + + + + Gain: + Kazanç: + + + + RATIO + ORAN + + + + Ratio: + Oran: + + + + lmms::gui::BitInvaderView + + + Sample length + Örnek uzunluğu + + + + Draw your own waveform here by dragging your mouse on this graph. + Farenizi bu grafiğin üzerine sürükleyerek buraya kendi dalga formunuzu çizin. + + + + + Sine wave + Sinüs dalgası + + + + + Triangle wave + Üçgen dalga + + + + + Saw wave + Testere dalga + + + + + Square wave + Kare dalgası + + + + + White noise + Beyaz gürültü + + + + + User-defined wave + Kullanıcı tanımlı dalga + + + + + Smooth waveform + Düzgün dalga formu + + + + Interpolation + Aradeğerleme + + + + Normalize + Normalleştir + + + + lmms::gui::BitcrushControlDialog + + + IN + İÇİNDE + + + + OUT + OUT + + + + + GAIN + GAIN + + + + Input gain: + Giriş kazancı: + + + + NOISE + PARAZİT + + + + Input noise: + Giriş gürültüsü: + + + + Output gain: + Çıkış kazancı: + + + + CLIP + KIRP + + + + Output clip: + Çıktı klibi: + + + + Rate enabled + Oran etkinleştirildi + + + + Enable sample-rate crushing + Örnek hızında ezmeyi etkinleştirin + + + + Depth enabled + Derinlik etkinleştirildi + + + + Enable bit-depth crushing + Bit derinliğinde ezmeyi etkinleştirin + + + + FREQ + FREK + + + + Sample rate: + Örnekleme oranı: + + + + STEREO + STEREO + + + + Stereo difference: + Stereo farklılığı: + + + + QUANT + MİKTAR + + + + Levels: + Düzey: + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + Görselli Arayüzü Göster + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + Carla'nın grafiksel kullanıcı arayüzünü (GUI) göstermek veya gizlemek için buraya tıklayın. + + + + Params + Parametreler + + + + Available from Carla version 2.1 and up. + Carla sürüm 2.1 ve üzeri sürümlerde mevcuttur. + + + + lmms::gui::CarlaParamsView + + + Search.. + Ara.. + + + + Clear filter text + Filtre metnini temizle + + + + Only show knobs with a connection. + Yalnızca bağlantılı düğmeleri gösterin. + + + + - Parameters + - Parametreler + + + + lmms::gui::ClipView + + Current position Şu anki pozisyon - + Current length Mevcut uzunluk - - + + %1:%2 (%3:%4 to %5:%6) %1:%2 (%3:%4 to %5:%6) - + Press <%1> and drag to make a copy. Bir kopya oluşturmak için <%1> tuşuna basın ve sürükleyin. - + Press <%1> for free resizing. Serbest yeniden boyutlandırma için <%1> seçeneğine basın. - + Hint İpucu - + Delete (middle mousebutton) Sil (orta klik) - + Delete selection (middle mousebutton) Seçimi sil (orta fare düğmesi) - + Cut Kes - + Cut selection Seçimi Kes - + Merge Selection Seçimi Birleştir - + Copy - Kopyala + Kopya - + Copy selection Seçimi Kopyala - + Paste Yapıştır - + Mute/unmute (<%1> + middle click) Sesi kapat/sesi aç (<%1> + orta tıklama) - + Mute/unmute selection (<%1> + middle click) Seçimin sesini kapat/aç (<%1> + orta tıklama) - - Set clip color - Klip rengini ayarla + + Clip color + Klip rengi - - Use track color - Parça rengini kullan + + Change + Değiştir + + + + Reset + Sıfırla + + + + Pick random + Rastgele seç - TrackContentWidget + lmms::gui::CompressorControlDialog - + + Threshold: + Eşik: + + + + Volume at which the compression begins to take place + Sıkıştırmanın gerçekleşmeye başladığı düzey + + + + Ratio: + Oran: + + + + How far the compressor must turn the volume down after crossing the threshold + Eşiği geçtikten sonra kompresörün hacmi ne kadar azaltması gerekir + + + + Attack: + Saldırı: + + + + Speed at which the compressor starts to compress the audio + Kompresörün sesi sıkıştırmaya başladığı hız + + + + Release: + Yayınla: + + + + Speed at which the compressor ceases to compress the audio + Kompresörün sesi sıkıştırmayı bıraktığı hız + + + + Knee: + Diz: + + + + Smooth out the gain reduction curve around the threshold + Eşiğin etrafındaki kazanç azaltma eğrisini düzeltin + + + + Range: + Menzil: + + + + Maximum gain reduction + Maksimum kazanç azaltma + + + + Lookahead Length: + Önden Bakış Uzunluğu: + + + + How long the compressor has to react to the sidechain signal ahead of time + Kompresörün yan zincir sinyaline vaktinden önce ne kadar süre tepki vermesi gerekir + + + + Hold: + Ambar: + + + + Delay between attack and release stages + Saldırı ve serbest bırakma aşamaları arasındaki gecikme + + + + RMS Size: + RMS Boyutu: + + + + Size of the RMS buffer + RMS arabelleğinin boyutu + + + + Input Balance: + Giriş Dengesi: + + + + Bias the input audio to the left/right or mid/side + Giriş sesini sola / sağa veya ortaya / yana çevirin + + + + Output Balance: + Çıktı Dengesi: + + + + Bias the output audio to the left/right or mid/side + Çıkış sesini sola / sağa veya ortaya / tarafa çevirin + + + + Stereo Balance: + Çift kanal Dengesi: + + + + Bias the sidechain signal to the left/right or mid/side + Yan zincir sinyalini sola / sağa veya ortaya / yana çevirin + + + + Stereo Link Blend: + Çift kanal Bağlantı Karışımı: + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + Bağlantısız / maksimum / ortalama / minimum çift kanal bağlantı modları arasında uyum sağlayın + + + + Tilt Gain: + Eğim Kazancı: + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + Yan zincir sinyalini düşük veya yüksek frekanslara yönlendirin. -6 db alçak geçiş, 6 db yüksek geçiştir. + + + + Tilt Frequency: + Eğim Frekansı: + + + + Center frequency of sidechain tilt filter + Yan zincir eğim filtresinin merkez frekansı + + + + Mix: + Karıştır: + + + + Balance between wet and dry signals + Islak ve kuru sinyaller arasında denge + + + + Auto Attack: + Otomatik Saldırı: + + + + Automatically control attack value depending on crest factor + Crest faktörüne bağlı olarak saldırı değerini otomatik olarak kontrol edin + + + + Auto Release: + Otomatik Yayın: + + + + Automatically control release value depending on crest factor + Crest faktörüne bağlı olarak serbest bırakma değerini otomatik olarak kontrol edin + + + + Output gain + Çıkış kazancı + + + + + Gain + Kazanç + + + + Output volume + Çıkış Düzeyi + + + + Input gain + Giriş kazancı + + + + Input volume + Giriş Düzeyi + + + + Root Mean Square + Kök kare ortalama + + + + Use RMS of the input + Girişin RMS'sini kullanın + + + + Peak + Zirve + + + + Use absolute value of the input + Girişin mutlak değerini kullan + + + + Left/Right + Sol/Sağ + + + + Compress left and right audio + Sol ve sağ sesi sıkıştır + + + + Mid/Side + Orta/Yan + + + + Compress mid and side audio + Orta ve yan sesi sıkıştır + + + + Compressor + Sıkıştırıcı + + + + Compress the audio + Sesi sıkıştır + + + + Limiter + Sınırlayıcı + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + Oranı sonsuza ayarla (ses seviyesini sınırlaması garanti edilmez) + + + + Unlinked + Bağlantısız + + + + Compress each channel separately + Her kanalı ayrı ayrı sıkıştırın + + + + Maximum + En Çok + + + + Compress based on the loudest channel + En gürültülü kanala göre sıkıştır + + + + Average + Ortalama + + + + Compress based on the averaged channel volume + Ortalama kanal hacmine göre sıkıştır + + + + Minimum + En Az + + + + Compress based on the quietest channel + En sessiz kanala göre sıkıştırın + + + + Blend + Harman + + + + Blend between stereo linking modes + Stereo bağlantı modları arasında uyum sağlayın + + + + Auto Makeup Gain + Otomatik Makyaj Kazancı + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + Eşik, diz ve oran ayarlarına bağlı olarak makyaj kazancını otomatik olarak değiştirin + + + + + Soft Clip + Yumuşak Kırpılma + + + + Play the delta signal + Delta sinyalini çal + + + + Use the compressor's output as the sidechain input + Yan zincir girişi olarak kompresörün çıktısını kullanın + + + + Lookahead Enabled + İleri Bakış Etkinleştirildi + + + + Enable Lookahead, which introduces 20 milliseconds of latency + 20 milisaniyelik gecikme süresi sağlayan Lookahead'i etkinleştirin + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + Bağlantı Ayarları + + + + MIDI CONTROLLER + MIDI KONTROLÖR + + + + Input channel + Giriş kanalı + + + + CHANNEL + KANAL + + + + Input controller + Giriş kontrolörü + + + + CONTROLLER + KONTROLÖR + + + + + Auto Detect + Oto-Tespit + + + + MIDI-devices to receive MIDI-events from + MIDI olaylarını almak için MIDI cihazları + + + + USER CONTROLLER + KULLANICI KONTROLÖRÜ + + + + MAPPING FUNCTION + EŞLEŞTİRME FONKSİYONU + + + + OK + TAMAM + + + + Cancel + Çıkış + + + + LMMS + LMMS + + + + Cycle Detected. + Döngü Algılandı. + + + + lmms::gui::ControllerRackView + + + Controller Rack + Denetleyici Rafı + + + + Add + Ekle + + + + Confirm Delete + Silmeyi Onayla + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + Silmeyi onaylıyor musunuz? Bu denetleyiciyle ilişkili mevcut bağlantılar var. Geri almanın bir yolu yok. + + + + lmms::gui::ControllerView + + + Controls + Kontroller + + + + Rename controller + Denetleyiciyi yeniden adlandır + + + + Enter the new name for this controller + Bu denetleyicinin yeni adını girin + + + + LFO + LFO + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + Bu denetleyiciyi &kaldırın + + + + Re&name this controller + Bu denetleyiciyi yeniden ad&landırın + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + Bant geçişi 1/2: + + + + Band 2/3 crossover: + Bant geçişi 2/3: + + + + Band 3/4 crossover: + Bant geçişi 3/4: + + + + Band 1 gain + Band kazancı 1 + + + + Band 1 gain: + Band kazancı 1: + + + + Band 2 gain + Band kazancı 2 + + + + Band 2 gain: + Band kazancı 2: + + + + Band 3 gain + Band kazancı 3 + + + + Band 3 gain: + Band kazancı 3: + + + + Band 4 gain + Band kazancı 4 + + + + Band 4 gain: + Band kazancı 4: + + + + Band 1 mute + Band 1 sesini kapatma + + + + Mute band 1 + Bant 1'in sesini kapat + + + + Band 2 mute + Band 2 sesini kapatma + + + + Mute band 2 + Band 2'yi sessize al + + + + Band 3 mute + Band 3 sesini kapatma + + + + Mute band 3 + Bant 3'ü sessize al + + + + Band 4 mute + Band 4 sesini kapatma + + + + Mute band 4 + Bant 4'ü sessize al + + + + lmms::gui::DelayControlsDialog + + + DELAY + GECİKME + + + + Delay time + Gecikme süresi + + + + FDBK + FDBK + + + + Feedback amount + Geri bildirim miktarı + + + + RATE + ORAN + + + + LFO frequency + LFO frekansı + + + + AMNT + AMNT + + + + LFO amount + LFO miktarı + + + + Out gain + Çıkış kazancı + + + + Gain + Kazanç + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + MİKTAR + + + + Number of all-pass filters + all-pass filtree numarası + + + + FREQ + FREKANS + + + + Frequency: + Frekans: + + + + RESO + REZONANS + + + + Resonance: + Rezonans: + + + + FEED + GERİ BİLDİRİM + + + + Feedback: + Geri bildirim: + + + + DC Offset Removal + DC Ofset Kaldırma + + + + Remove DC Offset + DC Ofsetini Kaldır + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + FREK + + + + + Cutoff frequency + Kesme frekansı + + + + + RESO + RESO + + + + + Resonance + Çınlama + + + + + GAIN + GAIN + + + + + Gain + Kazanç + + + + MIX + KARIŞIM + + + + Mix + Karıştır + + + + Filter 1 enabled + Filtre 1 etkinleştirildi + + + + Filter 2 enabled + Filtre 2 etkinleştirildi + + + + Enable/disable filter 1 + Filtre 1'i etkinleştir / devre dışı bırak + + + + Enable/disable filter 2 + Filtre 2'yi etkinleştir / devre dışı bırak + + + + lmms::gui::DynProcControlDialog + + + INPUT + GİRDİ + + + + Input gain: + Giriş kazancı: + + + + OUTPUT + ÇIKTI + + + + Output gain: + Çıkış kazancı: + + + + ATTACK + SALDIRI + + + + Peak attack time: + Tepe saldırı süresi: + + + + RELEASE + YAYINLAMA + + + + Peak release time: + En yüksek yayın süresi: + + + + + Reset wavegraph + Dalga grafiğini sıfırla + + + + + Smooth wavegraph + Pürüzsüz dalga grafiği + + + + + Increase wavegraph amplitude by 1 dB + Dalga grafiğinin genliğini 1 dB artırın + + + + + Decrease wavegraph amplitude by 1 dB + Dalga grafiğinin genliğini 1 dB azaltın + + + + Stereo mode: maximum + Stereo modu: maksimum + + + + Process based on the maximum of both stereo channels + Her iki stereo kanalın maksimumuna dayalı işlem + + + + Stereo mode: average + Stereo modu: ortalama + + + + Process based on the average of both stereo channels + Her iki stereo kanalın ortalamasına dayalı işlem + + + + Stereo mode: unlinked + Stereo mod: bağlantısız + + + + Process each stereo channel independently + Her bir stereo kanalı bağımsız olarak işleyin + + + + lmms::gui::Editor + + + Transport controls + Aktarım kontrolleri + + + + Play (Space) + Oynat (Boşluk) + + + + Stop (Space) + Durdur ( Boşluk) + + + + Record + Kayıt + + + + Record while playing + Çalarken kayıt + + + + Toggle Step Recording + Adım Kaydı Değiştir + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + ETKİ ZİNCİRİ + + + + Add effect + Efekt ekleyin + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + İsme göre + + + + Type + Tür + + + + All + + + + + Search + + + + + Description + Açıklama + + + + Author + Yazar + + + + lmms::gui::EffectView + + + On/Off + Aç/Kapat + + + + W/D + I/K + + + + Wet Level: + Islak düzey: + + + + DECAY + BOZULMA + + + + Time: + Zaman: + + + + GATE + PORTAL + + + + Gate: + Portal: + + + + Controls + Kontroller + + + + Move &up + Y&ukarı taşı + + + + Move &down + &Aşağı taşı + + + + &Remove this plugin + Bu eklentiyi &kaldır + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + AMT + + + + + Modulation amount: + Modülasyon miktarı: + + + + + DEL + SİL + + + + + Pre-delay: + Ön gecikme: + + + + + ATT + ATT + + + + + Attack: + Saldırı: + + + + HOLD + TUT + + + + Hold: + Ambar: + + + + DEC + DEC + + + + Decay: + Bozunma: + + + + SUST + SUST + + + + Sustain: + Sürdürmek: + + + + REL + REL + + + + Release: + Yayınla: + + + + SPD + SPD + + + + Frequency: + Frekans: + + + + FREQ x 100 + FREQ x 100 + + + + Multiply LFO frequency by 100 + LFO frekansını 100 ile çarpın + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + Bu LFO ile kontrol zarfı miktarı + + + + Hint + İpucu + + + + Drag and drop a sample into this window. + Bu pencereye bir örnek sürükleyip bırakın. + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + HP + + + + Low-shelf + Düşük raf + + + + Peak 1 + Tepe 1 + + + + Peak 2 + Tepe 2 + + + + Peak 3 + Tepe 3 + + + + Peak 4 + Tepe 4 + + + + High-shelf + Yüksek raf + + + + LP + LP + + + + Input gain + Giriş kazancı + + + + + + Gain + Kazanç + + + + Output gain + Çıkış kazancı + + + + Bandwidth: + Bant genişliği: + + + + Octave + Octave + + + + Resonance: + + + + + Frequency: + Frekans: + + + + LP group + LP grubu + + + + HP group + HP grubu + + + + lmms::gui::EqHandle + + + Reso: + Reso: + + + + BW: + BW: + + + + + Freq: + Freq: + + + + lmms::gui::ExportProjectDialog + + + Could not open file + Dosya açılamadı + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + %1 dosyası yazmak için açılamadı. +Lütfen dosyaya ve dosyayı içeren dizine yazma izniniz olduğundan emin olun ve tekrar deneyin! + + + + Export project to %1 + %1 projesini dışa aktar + + + + ( Fastest - biggest ) + (En hızlı - en büyük) + + + + ( Slowest - smallest ) + (En yavaş - en küçük) + + + + Error + Sorun + + + + Error while determining file-encoder device. Please try to choose a different output format. + Dosya kodlayıcı cihazı belirlenirken hata oluştu. Lütfen farklı bir çıktı biçimi seçmeyi deneyin. + + + + Rendering: %1% + Oluşturuluyor: %1% + + + + lmms::gui::Fader + + + Set value + Değeri ayarla + + + + Please enter a new value between %1 and %2: + Lütfen %1 ile %2 arasında yeni bir değer girin: + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + Tarayıcı + + + + Search + Ara + + + + Refresh list + Listeyi yenile + + + + User content + Kullanıcı içeriği + + + + Factory content + Fabrika içeriği + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + Aktif alet izine gönder + + + + Open containing folder + Bulunduğu dizini aç + + + + Song Editor + Şarkı Düzenleyici + + + + Pattern Editor + Kalıp Düzenleyici + + + + Send to new AudioFileProcessor instance + Yeni Ses Dosyası İşlemcisi örneğine gönder + + + + Send to new instrument track + Yeni enstrüman kanalına gönder + + + + (%2Enter) + (%2Enter) + + + + Send to new sample track (Shift + Enter) + Yeni örnek kanala gönder (Shift + Enter) + + + + Loading sample + Örnek yükleniyor + + + + Please wait, loading sample for preview... + Lütfen bekleyin, önizleme için örnek yükleniyor... + + + + Error + Sorun + + + + %1 does not appear to be a valid %2 file + %1 geçerli bir %2 dosyası gibi görünmüyor + + + + --- Factory files --- + --- Fabrika dosyaları --- + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + GECİKME + + + + Delay time: + Gecikme süresi: + + + + RATE + ORAN + + + + Period: + Periyod: + + + + AMNT + AMNT + + + + Amount: + Miktar: + + + + PHASE + Evre + + + + Phase: + Evre: + + + + FDBK + FDBK + + + + Feedback amount: + Geri bildirim miktarı: + + + + NOISE + PARAZİT + + + + White noise amount: + Beyaz gürültü miktarı: + + + + Invert + Tersine çevir + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + Tarama zamanı: + + + + Sweep time + Tarama zamanı + + + + Sweep rate shift amount: + Tarama oranı kaydırma miktarı: + + + + Sweep rate shift amount + Tarama oranı kaydırma miktarı + + + + + Wave pattern duty cycle: + Dalga deseni görev döngüsü: + + + + + Wave pattern duty cycle + Dalga deseni görev döngüsü + + + + Square channel 1 volume: + Kare kanal 1 düzeyi: + + + + Square channel 1 volume + Kare kanal 1 düzeyi + + + + + + Length of each step in sweep: + Taramadaki her adımın uzunluğu: + + + + + + Length of each step in sweep + Taramadaki her adımın uzunluğu + + + + Square channel 2 volume: + Kare kanal 2 düzeyi: + + + + Square channel 2 volume + Kare kanal 2 düzeyi + + + + Wave pattern channel volume: + Dalga deseni kanal düzeyi: + + + + Wave pattern channel volume + Dalga deseni kanal düzeyi + + + + Noise channel volume: + Gürültü kanalı düzeyi: + + + + Noise channel volume + Gürültü kanalı düzeyi + + + + SO1 volume (Right): + SO2 düzeyi (Sağ): + + + + SO1 volume (Right) + SO2 düzeyi (Sağ) + + + + SO2 volume (Left): + SO2 düzeyi (Sol): + + + + SO2 volume (Left) + SO2 düzeyi (Sol) + + + + Treble: + Tiz: + + + + Treble + Tiz + + + + Bass: + Bas: + + + + Bass + Bas + + + + Sweep direction + Tarama yönü + + + + + + + + Volume sweep direction + Düzey tarama yönü + + + + Shift register width + Vardiya kaydı genişliği + + + + Channel 1 to SO1 (Right) + Kanal 1'den SO1'e (Sağ) + + + + Channel 2 to SO1 (Right) + Kanal 2'den SO1'e (Sağ) + + + + Channel 3 to SO1 (Right) + Kanal 3'den SO1'e (Sağ) + + + + Channel 4 to SO1 (Right) + Kanal 4'den SO1'e (Sağ) + + + + Channel 1 to SO2 (Left) + Kanal 1'den SO2'ye (Sol) + + + + Channel 2 to SO2 (Left) + Kanal 2'den SO2'ye (Sol) + + + + Channel 3 to SO2 (Left) + Kanal 3'den SO2'ye (Sol) + + + + Channel 4 to SO2 (Left) + Kanal 4'den SO2'ye (Sol) + + + + Wave pattern graph + Dalga deseni grafiği + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + GIG dosyasını açın + + + + Choose patch + Yama seçin + + + + Gain: + Kazanç: + + + + GIG Files (*.gig) + GIG Dosyaları (*.gig) + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + Çalışma dizini + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + %1 LMMS çalışma dizini yok. Şimdi oluşturulsun mu? Dizini daha sonra Düzenle -> Ayarlar üzerinden değiştirebilirsiniz. + + + + Preparing UI + Arayüz hazırlanıyor + + + + Preparing song editor + Şarkı düzenleyicinin hazırlanıyor + + + + Preparing mixer + Karıştırıcı hazırlanıyor + + + + Preparing controller rack + Denetleyici rafını hazırlanıyor + + + + Preparing project notes + Proje notlarının hazırlanıyor + + + + Preparing microtuner + Mikro ayarlayıcı hazırlanıyor + + + + Preparing pattern editor + Kalıp düzenleyici hazırlanıyor + + + + Preparing piano roll + Piyano rulosunun hazırlanıyor + + + + Preparing automation editor + Otomasyon düzenleyicinin hazırlanıyor + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + ARPEJ + + + + RANGE + ARALIK + + + + Arpeggio range: + Arpej aralığı: + + + + octave(s) + octave(s) + + + + REP + REP + + + + Note repeats: + Nota tekrarları: + + + + time(s) + zamanlar) + + + + CYCLE + DÖNGÜ + + + + Cycle notes: + Döngü notaları: + + + + note(s) + nota(lar) + + + + SKIP + ATLA + + + + Skip rate: + Atlama oranı: + + + + + + % + % + + + + MISS + KAÇIRMA + + + + Miss rate: + Kaçırma oranı: + + + + TIME + ZAMAN + + + + Arpeggio time: + Arpej zamanı: + + + + ms + ms + + + + GATE + PORTAL + + + + Arpeggio gate: + Arpej kapısı: + + + + Chord: + Akord: + + + + Direction: + Yön: + + + + Mode: + Kip: + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + İSTİFLEME + + + + Chord: + Akord: + + + + RANGE + ARALIK + + + + Chord range: + Akord aralığı: + + + + octave(s) + octave(s) + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + MIDI GİRİŞİNİ ETKİNLEŞTİR + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + KANAL + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + VELOC + + + + ENABLE MIDI OUTPUT + MIDI ÇIKIŞINI ETKİNLEŞTİR + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + PROG + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + NOTA + + + + MIDI devices to receive MIDI events from + MIDI olaylarının alınacağı MIDI cihazları + + + + MIDI devices to send MIDI events to + MIDI olaylarının gönderileceği MIDI cihazları + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + HEDEF + + + + FILTER + FİLTRE + + + + FREQ + FREK + + + + Cutoff frequency: + Kesim frekansı: + + + + Hz + Hz + + + + Q/RESO + Q/RESO + + + + Q/Resonance: + Q/Rezonans: + + + + Envelopes, LFOs and filters are not supported by the current instrument. + Zarflar, LFO'lar ve filtreler mevcut cihaz tarafından desteklenmemektedir. + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + Ses Düzeyi + + + + Volume: + Ses Düzeyi: + + + + VOL + SES + + + + Panning + Kaydırma + + + + Panning: + Kaydırma: + + + + PAN + PAN + + + + MIDI + MIDI + + + + Input + Giriş + + + + Output + Çıkış + + + + Open/Close MIDI CC Rack + MIDI CC Rafını Aç / Kapat + + + + %1: %2 + %1: %2 + + + + lmms::gui::InstrumentTrackWindow + + + Volume + Ses Düzeyi + + + + Volume: + Ses Düzeyi: + + + + VOL + SES + + + + Panning + Kaydırma + + + + Panning: + Kaydırma: + + + + PAN + PAN + + + + Pitch + Saha + + + + Pitch: + Hatve (Aralık): + + + + cents + sent + + + + PITCH + PERDE + + + + Pitch range (semitones) + Perde aralığı (yarım tonlar) + + + + RANGE + ARALIK + + + + Mixer channel + FX kanalı + + + + CHANNEL + KANAL + + + + Save current instrument track settings in a preset file + Mevcut enstrüman parça ayarlarını önceden ayarlanmış bir dosyaya kaydedin + + + + SAVE + KAYDET + + + + Envelope, filter & LFO + Zarf, filtre ve LFO + + + + Chord stacking & arpeggio + Akor istifleme & arpej + + + + Effects + Efektler + + + + MIDI + MIDI + + + + Tuning and transposition + + + + + Save preset + Ön ayarı kaydet + + + + XML preset file (*.xpf) + XML hazır ayar dosyası (*.xpf) + + + + Plugin + Eklenti + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + Başlangıç frekansı: + + + + End frequency: + Bitiş frekansı: + + + + Frequency slope: + Frekans eğimi: + + + + Gain: + Kazanç: + + + + Envelope length: + Zarf uzunluğu: + + + + Envelope slope: + Zarf eğimi: + + + + Click: + Tıkla: + + + + Noise: + Gürültü: + + + + Start distortion: + Bozulmayı başlat: + + + + End distortion: + Bozulmayı bitir: + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + Mevcut Efektler + + + + + Unavailable Effects + Kullanılamayan Etkiler + + + + + Instruments + Enstrümanlar + + + + + Analysis Tools + Analiz Araçları + + + + + Don't know + Bilmiyorum + + + + Type: + Tür: + + + + lmms::gui::LadspaControlDialog + + + Link Channels + Kanalları Bağla + + + + Channel + Kanallar + + + + lmms::gui::LadspaControlView + + + Link channels + Kanalları bağla + + + + Value: + Değer: + + + + lmms::gui::LadspaDescription + + + Plugins + Eklentiler + + + + Description + Açıklama + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + Bağlantı Noktaları + + + + Name + İsme göre + + + + Rate + Oran + + + + Direction + Yön + + + + Type + Tür + + + + Min < Default < Max + Min <Varsayılan <Maks + + + + Logarithmic + Logaritmik + + + + SR Dependent + SR Bağımlı + + + + Audio + Ses + + + + Control + Kontrol + + + + Input + Giriş + + + + Output + Çıkış + + + + Toggled + Geçişli + + + + Integer + Tamsayı + + + + Float + Şamandıra + + + + + Yes + Evet + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + Kesim Frekansı: + + + + Resonance: + Rezonans: + + + + Env Mod: + Env Mod: + + + + Decay: + Bozunma: + + + + 303-es-que, 24dB/octave, 3 pole filter + 303-es-que, 24dB/octave, 3 kutuplu filtre + + + + Slide Decay: + Bozulma Kaydırma: + + + + DIST: + MESAFE: + + + + Saw wave + Testere dalga + + + + Click here for a saw-wave. + Testere dalgası için buraya tıklayın. + + + + Triangle wave + Üçgen dalga + + + + Click here for a triangle-wave. + Üçgen dalga için burayı tıklayın. + + + + Square wave + Kare dalgası + + + + Click here for a square-wave. + Kare dalga için burayı tıklayın. + + + + Rounded square wave + Yuvarlak kare dalga + + + + Click here for a square-wave with a rounded end. + Yuvarlak uçlu bir kare dalga için burayı tıklayın. + + + + Moog wave + Moog dalgası + + + + Click here for a moog-like wave. + Moog benzeri bir dalga için burayı tıklayın. + + + + Sine wave + Sinüs dalgası + + + + Click for a sine-wave. + Sinüs dalgası için tıklayın. + + + + + White noise wave + Beyaz gürültü dalgası + + + + Click here for an exponential wave. + Üstel dalga için burayı tıklayın. + + + + Click here for white-noise. + Beyaz gürültü için buraya tıklayın. + + + + Bandlimited saw wave + Bant sınırlı testere dalgası + + + + Click here for bandlimited saw wave. + Bantlı testere dalgası için buraya tıklayın. + + + + Bandlimited square wave + Bant sınırlı kare dalga + + + + Click here for bandlimited square wave. + Band sınırlı kare dalga için buraya tıklayın. + + + + Bandlimited triangle wave + Bant sınırlı üçgen dalga + + + + Click here for bandlimited triangle wave. + Bant sınırlı üçgen dalga için buraya tıklayın. + + + + Bandlimited moog saw wave + Band sınırlı moog testere dalgası + + + + Click here for bandlimited moog saw wave. + Bant sınırlı moog testere dalgası için buraya tıklayın. + + + + lmms::gui::LcdFloatSpinBox + + + Set value + Değeri ayarla + + + + Please enter a new value between %1 and %2: + Lütfen %1 ile %2 arasında yeni bir değer girin: + + + + lmms::gui::LcdSpinBox + + + Set value + Değeri ayarla + + + + Please enter a new value between %1 and %2: + Lütfen %1 ile %2 arasında yeni bir değer girin: + + + + lmms::gui::LeftRightNav + + + + + Previous + Önceki + + + + + + Next + Sonraki + + + + Previous (%1) + Önceki (%1) + + + + Next (%1) + Sonraki (%1) + + + + lmms::gui::LfoControllerDialog + + + LFO + LFO + + + + BASE + TEMEL + + + + Base: + Temel: + + + + FREQ + FREK + + + + LFO frequency: + LFO frekansı: + + + + AMNT + AMNT + + + + Modulation amount: + Modülasyon miktarı: + + + + PHS + PHS + + + + Phase offset: + Faz uzaklığı: + + + + degrees + derece + + + + Sine wave + Sinüs dalgası + + + + Triangle wave + Üçgen dalga + + + + Saw wave + Testere dalga + + + + Square wave + Kare dalgası + + + + Moog saw wave + Moog testere dalgası + + + + Exponential wave + Üstel dalga + + + + White noise + Beyaz gürültü + + + + User-defined shape. +Double click to pick a file. + Kullanıcı tanımlı şekil. +Bir dosya seçmek için çift tıklayın. + + + + Multiply modulation frequency by 1 + Geçiş frekansını 1 ile çarpın + + + + Multiply modulation frequency by 100 + Geçiş frekansını 100 ile çarpın + + + + Divide modulation frequency by 100 + Modülasyon frekansını 100'e bölün + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + Yapılandırma dosyası + + + + Error while parsing configuration file at line %1:%2: %3 + %1:%2: %3 satırındaki yapılandırma dosyası ayrıştırılırken hata oluştu + + + + Could not open file + Dosya açılamadı + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + %1 dosyası yazmak için açılamadı. +Lütfen dosyaya ve dosyayı içeren dizine yazma izniniz olduğundan emin olun ve tekrar deneyin! + + + + Project recovery + Proje kurtarma + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + Mevcut bir kurtarma dosyası var. Görünüşe göre son oturum düzgün şekilde sona ermemiş veya başka bir LMMS örneği zaten çalışıyor. Bu oturumun projesini kurtarmak istiyor musunuz? + + + + + Recover + Kurtar + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + Dosyayı kurtarın. Lütfen bunu yaptığınızda birden fazla LMMS örneği çalıştırmayın. + + + + + Discard + Iskarta + + + + Launch a default session and delete the restored files. This is not reversible. + Varsayılan bir oturum başlatın ve geri yüklenen dosyaları silin. Bu geri alınamaz. + + + + Version %1 + Sürüm %1 + + + + Preparing plugin browser + Eklenti tarayıcısı hazırlanıyor + + + + Preparing file browsers + Dosya tarayıcıları hazırlanıyor + + + + My Projects + Projelerim + + + + My Samples + Örneklerim + + + + My Presets + Ön ayarlarım + + + + My Home + Ana sayfam + + + + Root Directory + + + + + Volumes + Düzeyler + + + + My Computer + Bilgisayarım + + + + Loading background picture + Arka plan resmi yükleniyor + + + + &File + &DOSYA + + + + &New + &Yeni + + + + &Open... + &Aç... + + + + &Save + &Kaydet + + + + Save &As... + &Farklı kaydet... + + + + Save as New &Version + Yeni &Sürüm Olarak Kaydet + + + + Save as default template + Varsayılan şablon olarak kaydet + + + + Import... + İçe Aktar... + + + + E&xport... + D&ışa aktar... + + + + E&xport Tracks... + Parçaları D&ışa aktar... + + + + Export &MIDI... + &MIDI Dışa Aktar... + + + + &Quit + &Çıkış + + + + &Edit + &Düzen + + + + Undo + Geri Al + + + + Redo + İleri Al + + + + Scales and keymaps + + + + + Settings + Ayarlar + + + + &View + Gö&rünüm + + + + &Tools + &Araçlar + + + + &Help + &Yardım + + + + Online Help + Çevrimiçi Yardım + + + + Help + Yardım + + + + About + Hakkında + + + + Create new project + Yeni proje oluştur + + + + Create new project from template + Şablondan yeni proje oluştur + + + + Open existing project + Mevcut projeyi aç + + + + Recently opened projects + Yakın zamanda açılan projeler + + + + Save current project + Mevcut projeyi kaydet + + + + Export current project + Mevcut projeyi dışa aktar + + + + Metronome + Metronom + + + + + Song Editor + Şarkı Düzenleyici + + + + + Pattern Editor + Kalıp Düzenleyici + + + + + Piano Roll + Piyano Rulosu + + + + + Automation Editor + Otomasyon Düzenleyicisi + + + + + Mixer + FX-Karıştırıcısı + + + + Show/hide controller rack + Denetleyici rafını göster / gizle + + + + Show/hide project notes + Proje notlarını göster / gizle + + + + Untitled + Başlıksız + + + + Recover session. Please save your work! + Oturumu kurtarın. Lütfen çalışmanızı kaydedin! + + + + LMMS %1 + LMMS %1 + + + + Recovered project not saved + Kurtarılan proje kaydedilmedi + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + Bu proje önceki oturumdan kurtarıldı. Şu anda kaydedilmedi ve kaydetmezseniz kaybolacak. Şimdi kaydetmek ister misin? + + + + Project not saved + Proje kaydedilmedi + + + + The current project was modified since last saving. Do you want to save it now? + Mevcut proje, son kayıttan bu yana değiştirildi. Şimdi kaydetmek ister misin? + + + + Open Project + Projeyi Aç + + + + LMMS (*.mmp *.mmpz) + LMMS (*.mmp *.mmpz) + + + + Save Project + Projeyi Kaydet + + + + LMMS Project + LMMS Projesi + + + + LMMS Project Template + LMMS Proje Şablonu + + + + Save project template + Proje şablonunu kaydet + + + + Overwrite default template? + Varsayılan şablonun üzerine yazılsın mı? + + + + This will overwrite your current default template. + Bu, mevcut varsayılan şablonunuzun üzerine yazacaktır. + + + + Help not available + Yardım mevcut değil + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + Şu anda LMMS'de yardım bulunmamaktadır. +LMMS ile ilgili belgeler için lütfen http://lmms.sf.net/wiki adresini ziyaret edin. + + + + Controller Rack + Denetleyici Rafı + + + + Project Notes + Proje Notları + + + + Fullscreen + Tam ekran + + + + Volume as dBFS + DBFS olarak düzey + + + + Smooth scroll + Düzgün kaydırma + + + + Enable note labels in piano roll + Piyano rulosunda not etiketlerini etkinleştirin + + + + MIDI File (*.mid) + MIDI Dosyası (*.mid) + + + + + untitled + başlıksız + + + + + Select file for project-export... + Proje dışa aktarımı için dosya seçin... + + + + Select directory for writing exported tracks... + Dışa aktarılan parkurları yazmak için dizin seçin... + + + + Save project + Projeyi kaydet + + + + Project saved + Proje kaydedildi + + + + The project %1 is now saved. + %1 projesi şimdi kaydedildi. + + + + Project NOT saved. + Proje kaydedilmedi. + + + + The project %1 was not saved! + %1 projesi kaydedilmedi! + + + + Import file + Dosyayı içe aktar + + + + MIDI sequences + MIDI dizileri + + + + Hydrogen projects + Hidrojen projeleri + + + + All file types + Tüm dosya türleri + + + + lmms::gui::MalletsInstrumentView + + + Instrument + Enstrüman + + + + Spread + Etrafa Saç + + + + Spread: + Yayılmış: + + + + Random + + + + + Random: + + + + + Missing files + Eksik Dosyalar + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + Stk kurulumunuz eksik görünüyor. Lütfen tam Stk paketinin kurulu olduğundan emin olun! + + + + Hardness + Sertlik + + + + Hardness: + Sertlik: + + + + Position + Konum + + + + Position: + Konum: + + + + Vibrato gain + Titreşim kazancı + + + + Vibrato gain: + Titreşim kazancı: + + + + Vibrato frequency + Titreşim frekansı + + + + Vibrato frequency: + Titreşim frekansı: + + + + Stick mix + Çubuk karıştırıcı + + + + Stick mix: + Çubuk karıştırıcı: + + + + Modulator + Modülatör + + + + Modulator: + Modülatör: + + + + Crossfade + Çapraz geçiş + + + + Crossfade: + Çapraz geçiş: + + + + LFO speed + LFO hızı + + + + LFO speed: + LFO hızı: + + + + LFO depth + LFO derinliği + + + + LFO depth: + LFO derinliği: + + + + ADSR + ADSR + + + + ADSR: + ADSR: + + + + Pressure + Basınç + + + + Pressure: + Basınç: + + + + Speed + Hız + + + + Speed: + Hız: + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + - VST parametre kontrolü + + + + VST sync + VST senkronizasyonu + + + + + Automated + Otomatik + + + + Close + Kapat + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + - VST eklenti kontrolü + + + + VST Sync + VST Senkronizasyonu + + + + + Automated + Otomatik + + + + Close + Kapat + + + + lmms::gui::MeterDialog + + + + Meter Numerator + Sayaç Payı + + + + Meter numerator + Sayaç payı + + + + + Meter Denominator + Metre Paydası + + + + Meter denominator + Metre paydası + + + + TIME SIG + TIME SIG + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + İlk tuş + + + + + Last key + Son tuş + + + + + Middle key + Orta tuş + + + + + Base key + Temel tuş + + + + + + Base note frequency + Temel nota frekansı + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + Ölçek açıklaması. "!" İle başlayamaz ve yeni satır karakteri içeremez. + + + + + Load + Yükle + + + + + Save + Kaydet + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + Aralıkları ayrı satırlara girin. Ondalık nokta içeren sayılar sent olarak kabul edilir. +Diğer girdiler tamsayı oranları olarak değerlendirilir ve 'a/b' veya 'a' biçiminde olmalıdır. +Birlik (0.0 sent veya oran 1/1) her zaman gizli bir ilk değer olarak bulunur; manuel olarak girmeyin. + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + Tuş haritası açıklaması. "!" İle başlayamaz ve yeni satır karakteri içeremez. + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + Anahtar eşlemelerini ayrı satırlara girin. Her satır bir MIDI anahtarına bir ölçek derecesi atar, +orta tuşla başlayıp sırayla devam eder. +Kalıp, açık anahtar eşleme aralığının dışındaki anahtarlar için tekrarlanır. +Birden fazla anahtar aynı ölçek derecesine eşlenebilir. +Anahtarı devre dışı bırakmak / eşlenmemiş olarak bırakmak istiyorsanız 'x' girin. + + + + FIRST + İLK + + + + First MIDI key that will be mapped + Eşlenecek ilk MIDI anahtarı + + + + LAST + SON + + + + Last MIDI key that will be mapped + Eşlenecek son MIDI anahtarı + + + + MIDDLE + ORTA + + + + First line in the keymap refers to this MIDI key + Tuş haritasındaki ilk satır bu MIDI anahtarına atıfta bulunur + + + + BASE N. + TEMEL N. + + + + Base note frequency will be assigned to this MIDI key + Temel nota frekansı bu MIDI anahtarına atanacaktır + + + + BASE NOTE FREQ + TEMEL NOTA FREKANS + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + Ölçek ayrıştırma hatası + + + + Scale name cannot start with an exclamation mark + Ölçek adı bir ünlem işaretiyle başlayamaz + + + + Scale name cannot contain a new-line character + Ölçek adı yeni satır karakteri içeremez + + + + Interval defined in cents cannot be converted to a number + Sent olarak tanımlanan aralık bir sayıya dönüştürülemez + + + + Numerator of an interval defined as a ratio cannot be converted to a number + Oran olarak tanımlanan bir aralığın payı sayıya dönüştürülemez + + + + Denominator of an interval defined as a ratio cannot be converted to a number + Oran olarak tanımlanan bir aralığın paydası sayıya dönüştürülemez + + + + Interval defined as a ratio cannot be negative + Oran olarak tanımlanan aralık negatif olamaz + + + + Keymap parsing error + Tuş haritası ayrıştırma hatası + + + + Keymap name cannot start with an exclamation mark + Tuş haritası adı ünlem işaretiyle başlayamaz + + + + Keymap name cannot contain a new-line character + Tuş haritası adı yeni satır karakteri içeremez + + + + Scale degree cannot be converted to a whole number + Ölçek derecesi tam sayıya dönüştürülemez + + + + Scale degree cannot be negative + Ölçek derecesi negatif olamaz + + + + Invalid keymap + Geçersiz tuş haritası + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + Temel anahtar herhangi bir ölçek derecesine eşlenmez. Herhangi bir nota referans frekansı atamanın bir yolu olmadığından ses üretilmeyecektir. + + + + Open scale + Ölçek açın + + + + + Scala scale definition (*.scl) + Ölçek ölçeği tanımı (*.scl) + + + + Scale load failure + Ölçek yükleme hatası + + + + + Unable to open selected file. + Seçili dosya açılamıyor. + + + + Open keymap + Tuş haritasını aç + + + + + Scala keymap definition (*.kbm) + Tuş haritası ölçek tanımı (*.kbm) + + + + Keymap load failure + Tuş haritası yükleme hatası + + + + Save scale + Ölçeği kaydet + + + + Scale save failure + Ölçek kaydetme hatası + + + + + Unable to open selected file for writing. + Seçili dosya yazmak için açılamıyor. + + + + Save keymap + Tuş haritasını kaydet + + + + Keymap save failure + Tuş haritası kaydetme hatası + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + MIDI CC Rack - %1 + + + + MIDI CC Knobs: + MIDI CC Düğmeleri: + + + + CC %1 + CC %1 + + + + lmms::gui::MidiClipView + + + + Transpose + Devrik + + + + Semitones to transpose by: + Aktarılacak yarım tonlar: + + + + Open in piano-roll + Piyano rulosunda aç + + + + Set as ghost in piano-roll + Piyano rulosunda hayalet olarak ayarla + + + + Set as ghost in automation editor + + + + + Clear all notes + Tüm notaları temizle + + + + Reset name + İsmini sıfırla + + + + Change name + İsmini değiştir + + + + Add steps + Uzat + + + + Remove steps + Kısalt + + + + Clone Steps + Klon Adımları + + + + lmms::gui::MidiSetupWidget + + + Device + Aygıt + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + FX-Karıştırıcısı + + + + lmms::gui::MonstroView + + + Operators view + Operatörler görünümü + + + + Matrix view + Matris görünümü + + + + + + Volume + Ses Düzeyi + + + + + + Panning + Kaydırma + + + + + + Coarse detune + Kaba detune + + + + + + semitones + yarım tonlar + + + + + Fine tune left + Sola ince ayar + + + + + + + cents + sent + + + + + Fine tune right + Sağa ince ayar + + + + + + Stereo phase offset + Stereo faz kayması + + + + + + + + deg + deg + + + + Pulse width + Darbe genişliği + + + + Send sync on pulse rise + Nabız yükseldiğinde senkronizasyon gönder + + + + Send sync on pulse fall + Nabız düşüşünde senkronizasyon gönder + + + + Hard sync oscillator 2 + Sabit senkron osilatör 2 + + + + Reverse sync oscillator 2 + Ters senkron osilatör 2 + + + + Sub-osc mix + Alt osc karışımı + + + + Hard sync oscillator 3 + Sabit senkron osilatör 3 + + + + Reverse sync oscillator 3 + Ters senkron osilatör 3 + + + + + + + Attack + Saldırı + + + + + Rate + Oran + + + + + Phase + Evre + + + + + Pre-delay + Ön gecikme + + + + + Hold + Tut + + + + + Decay + Bozunma + + + + + Sustain + Sürdürmek + + + + + Release + Yayınla + + + + + Slope + Eğim + + + + Mix osc 2 with osc 3 + Osc 2'yi osc 3 ile karıştır + + + + Modulate amplitude of osc 3 by osc 2 + OSC 3'ün genliğini osc 2 ile modüle edin + + + + Modulate frequency of osc 3 by osc 2 + OSC 3'ün frekansını osc 2 ile modüle edin + + + + Modulate phase of osc 3 by osc 2 + OSC 3'ün fazını OSC 2 ile modüle edin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + Modülasyon miktarı + + + + lmms::gui::MultitapEchoControlDialog + + + Length + Süre + + + + Step length: + Adım uzunluğu: + + + + Dry + Kuru + + + + Dry gain: + Kuru kazanç: + + + + Stages + Aşamalar + + + + Low-pass stages: + Düşük geçiş aşamaları: + + + + Swap inputs + Girişleri değiştir + + + + Swap left and right input channels for reflections + Yansımalar için sol ve sağ giriş kanallarını değiştirin + + + + lmms::gui::NesInstrumentView + + + + + + Volume + Ses Düzeyi + + + + + + Coarse detune + Kaba detune + + + + + + Envelope length + Zarf uzunluğu + + + + Enable channel 1 + 1. kanalı etkinleştir + + + + Enable envelope 1 + Zarf 1'i etkinleştir + + + + Enable envelope 1 loop + Zarf 1 döngüsünü etkinleştir + + + + Enable sweep 1 + Tarama 1`i etkinleştir + + + + + Sweep amount + Tarama miktarı + + + + + Sweep rate + Tarama oranı + + + + + 12.5% Duty cycle + % 12,5 Görev döngüsü + + + + + 25% Duty cycle + % 25 Görev döngüsü + + + + + 50% Duty cycle + % 50 Görev döngüsü + + + + + 75% Duty cycle + % 75 Görev döngüsü + + + + Enable channel 2 + 2. kanalı etkinleştir + + + + Enable envelope 2 + Zarf 2'yi etkinleştir + + + + Enable envelope 2 loop + Zarf 2 döngüsünü etkinleştir + + + + Enable sweep 2 + Tarama 2 yi etkinleştir + + + + Enable channel 3 + 3. kanalı etkinleştir + + + + Noise Frequency + Gürültü Frekansı + + + + Frequency sweep + Frekans taraması + + + + Enable channel 4 + 4. kanalı etkinleştir + + + + Enable envelope 4 + Zarf 4'ü etkinleştir + + + + Enable envelope 4 loop + Zarf 4 döngüsünü etkinleştir + + + + Quantize noise frequency when using note frequency + Nota frekansını kullanırken gürültü frekansını nicelendirin + + + + Use note frequency for noise + Gürültü için nota frekansını kullanın + + + + Noise mode + Gürültü modu + + + + Master volume + Ana ses + + + + Vibrato + Titreşim + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + Saldırı + + + + + Decay + Bozunma + + + + + Release + Yayınla + + + + + Frequency multiplier + Frekans çarpanı + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + Çarpıtma: + + + + Volume: + Ses Düzeyi: + + + + Randomise + Rastgele + + + + + Osc %1 waveform: + Osc %1 dalga biçimi: + + + + Osc %1 volume: + Osc %1 düzeyi: + + + + Osc %1 panning: + Osc %1 kaydırma: + + + + Osc %1 stereo detuning + Osc %1 stereo perdeleme + + + + cents + sent + + + + Osc %1 harmonic: + Osc %1 harmonik: + + + + lmms::gui::Oscilloscope + + + Oscilloscope + Oscilloscope + + + + Click to enable + Etkinleştirmek için tıklayın + + + + lmms::gui::PatmanView + + + Open patch + Yama aç + + + + Loop + Döngü + + + + Loop mode + Döngü modu + + + + Tune + Ayarla + + + + Tune mode + Ayar modu + + + + No file selected + Dosya seçilmedi + + + + Open patch file + Yama dosyasını aç + + + + Patch-Files (*.pat) + Yama Dosyaları (*.pat) + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + Kalıp Düzenleyicide Aç + + + + Reset name + İsmini sıfırla + + + + Change name + İsmini değiştir + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + Kalıp Düzenleyici + + + + Play/pause current pattern (Space) + Geçerli kalıbı oynat/duraklat (Boşluk) + + + + Stop playback of current pattern (Space) + Geçerli kalıbın oynatılmasını durdur (Boşluk) + + + + Pattern selector + Kalıp seçici + + + + Track and step actions + Eylemleri izleyin ve adımlayın + + + + New pattern + Yeni kalıp + + + + Clone pattern + Kalıbı klonla + + + + Add sample-track + Örnek parça ekle + + + + Add automation-track + Ayarkayıt parçası ekle + + + + Remove steps + Kısalt + + + + Add steps + Uzat + + + + Clone Steps + Klon Adımları + + + + lmms::gui::PeakControllerDialog + + + PEAK + ZİRVE + + + + LFO Controller + LFO Denetleyicisi + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + TEMEL + + + + Base: + Temel: + + + + AMNT + AMNT + + + + Modulation amount: + Modülasyon miktarı: + + + + MULT + ÇOK + + + + Amount multiplicator: + Miktar çarpanı: + + + + ATCK + SALDIRI + + + + Attack: + Saldırı: + + + + DCAY + BOZUNMA + + + + Release: + Yayınla: + + + + TRSH + EŞİK + + + + Treshold: + Eşik: + + + + Mute output + Çıkış sessiz + + + + Absolute value + Mutlak değer + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + Nota Hızı + + + + Note Panning + Nota Kaydırma + + + + Mark/unmark current semitone + Geçerli yarım tonu işaretle / işareti kaldır + + + + Mark/unmark all corresponding octave semitones + İlgili tüm oktav yarı tonlarını işaretle / işareti kaldır + + + + Mark current scale + Mevcut ölçeği işaretle + + + + Mark current chord + Geçerli akoru işaretle + + + + Unmark all + Hepsinin işaretini kaldır + + + + Select all notes on this key + Bu anahtardaki tüm notaları seçin + + + + Note lock + Nota kilidi + + + + Last note + Son nota + + + + No key + Anahtar yok + + + + No scale + Ölçek yok + + + + No chord + Akord yok + + + + Nudge + Dürtme + + + + Snap + Yapış + + + + Velocity: %1% + Hız: %1% + + + + Panning: %1% left + Kaydırma: %1% sola + + + + Panning: %1% right + Kaydırma: %1% sağa + + + + Panning: center + Kaydırma: merkez + + + + Glue notes failed + Yapışkan notaları başarısız oldu + + + + Please select notes to glue first. + Lütfen önce yapıştırılacak notaları seçin. + + + + Please open a clip by double-clicking on it! + Lütfen üzerine çift tıklayarak bir desen açın! + + + + + Please enter a new value between %1 and %2: + Lütfen %1 ile %2 arasında yeni bir değer girin: + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + Seçili bölümü oynat/durdur (Boşluk Tuşu) + + + + Record notes from MIDI-device/channel-piano + MIDI aygıtında/kanal piyanodan notaları kaydedin + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + Şarkı veya kalıp parçasını çalarken MIDI cihazından/kanal piyanosundan notlar kaydedin + + + + Record notes from MIDI-device/channel-piano, one step at the time + MIDI aygıtından/kanal piyanodan notaları bir seferde bir adım kaydedin + + + + Stop playing of current clip (Space) + Seçili modeli oynatmayı durdur (Boşluk Tuşu) + + + + Edit actions + İşlemleri düzenle + + + + Draw mode (Shift+D) + Çizim modu (Shift+D) + + + + Erase mode (Shift+E) + Silgi modu (Shift+E) + + + + Select mode (Shift+S) + Modu seçin (Shift + S) + + + + Pitch Bend mode (Shift+T) + Pitch Bend modu (Shift+T) + + + + Quantize + Niceleme + + + + Quantize positions + Niceleme pozisyonları + + + + Quantize lengths + Niceleme uzunlukları + + + + File actions + Dosya işlemleri + + + + Import clip + Deseni içe aktar + + + + + Export clip + Deseni dışa aktar + + + + Copy paste controls + Kopyala yapıştır kontrolleri + + + + Cut (%1+X) + Kes (%1+X) + + + + Copy (%1+C) + Kopyala (%1+C) + + + + Paste (%1+V) + Yapıştır (%1+V) + + + + Timeline controls + Zaman çizelgesi kontrolleri + + + + Glue + Yapıştırıcı + + + + Knife + Bıçak + + + + Fill + Dolgu + + + + Cut overlaps + Örtüşmeleri kes + + + + Min length as last + Son olarak en düşük uzunluk + + + + Max length as last + Son olarak en yüksek uzunluk + + + + Zoom and note controls + Yakınlaştırma ve nota kontrolleri + + + + Horizontal zooming + Yatay yakınlaştırma + + + + Vertical zooming + Dikey yakınlaştırma + + + + Quantization + Niceleme + + + + Note length + Nota uzunluğu + + + + Key + Anahtar + + + + Scale + Ölçek + + + + Chord + Kiriş + + + + Snap mode + Anlık çekim modu + + + + Clear ghost notes + Hayalet notaları temizle + + + + + Piano-Roll - %1 + Piyano Rulosu -%1 + + + + + Piano-Roll - no clip + Piyano Rulosu - desen yok + + + + + XML clip file (*.xpt *.xptz) + XML desen dosyası (*.xpt *.xptz) + + + + Export clip success + Deseni dışa aktarma başarılı + + + + Clip saved to %1 + Desen %1'e kaydedildi + + + + Import clip. + Deseni içe aktar. + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + Bir kalıp almak üzeresiniz, bu mevcut kalıbınızın üzerine yazılacaktır. Devam etmek istiyor musun? + + + + Open clip + Desen aç + + + + Import clip success + Desen başarılı şekilde içe aktarıldı + + + + Imported clip %1! + %1 deseni içe aktarıldı! + + + + lmms::gui::PianoView + + + Base note + Temel nota + + + + First note + İlk nota + + + + Last note + Son nota + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + Enstrüman Eklentileri + + + + Instrument browser + Enstrüman tarayıcısı + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + Yeni enstrüman parçasına gönder + + + + lmms::gui::ProjectNotes + + + Project Notes + Proje Notları + + + + Enter project notes here + Buraya proje notlarını girin + + + + Edit Actions + İşlemleri Düzenle + + + + &Undo + Geri &Al + + + + %1+Z + %1+Z + + + + &Redo + &Yinele + + + + %1+Y + %1+Y + + + + &Copy + &Kopyala + + + + %1+C + %1+C + + + + Cu&t + Ke&s + + + + %1+X + %1+X + + + + &Paste + &Yapıştır + + + + %1+V + %1+V + + + + Format Actions + Eylemleri Biçimlendir + + + + &Bold + &Kalın + + + + %1+B + %1+B + + + + &Italic + &İtalik + + + + %1+I + %1+I + + + + &Underline + &Altını çizgili + + + + %1+U + %1+U + + + + &Left + &Sol + + + + %1+L + %1+L + + + + C&enter + M&erkez + + + + %1+E + %1+E + + + + &Right + S&ağ + + + + %1+R + %1+R + + + + &Justify + &Yasla + + + + %1+J + %1+J + + + + &Color... + &Renk... + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + &Yeni Açılan Projeler + + + + lmms::gui::RenameDialog + + + Rename... + Yeniden adlandır... + + + + lmms::gui::ReverbSCControlDialog + + + Input + Giriş + + + + Input gain: + Giriş kazancı: + + + + Size + Boy + + + + Size: + Büyüklük: + + + + Color + Renk + + + + Color: + Renk: + + + + Output + Çıkış + + + + Output gain: + Çıkış kazancı: + + + + lmms::gui::SaControlsDialog + + + Pause + Duraklat + + + + Pause data acquisition + Veri edinmeyi duraklatın + + + + Reference freeze + Referans dondurma + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + Pik tutma modunda akım girişini referans olarak dondurun / düşüşü devre dışı bırakın. + + + + Waterfall + Şelale + + + + Display real-time spectrogram + Gerçek zamanlı spektrogramı göster + + + + Averaging + Ortalama + + + + Enable exponential moving average + Üstel hareketli ortalamayı etkinleştir + + + + Stereo + Stereo + + + + Display stereo channels separately + Stereo kanalları ayrı olarak görüntüleyin + + + + Peak hold + Tepe tutma + + + + Display envelope of peak values + Tepe değerlerin zarfını görüntüle + + + + Logarithmic frequency + Logaritmik frekans + + + + Switch between logarithmic and linear frequency scale + Logaritmik ve doğrusal frekans ölçeği arasında geçiş yapın + + + + + Frequency range + Frekans aralığı + + + + Logarithmic amplitude + Logaritmik genlik + + + + Switch between logarithmic and linear amplitude scale + Logaritmik ve doğrusal genlik ölçeği arasında geçiş yapın + + + + + Amplitude range + Genlik aralığı + + + + + FFT block size + FFT blok boyutu + + + + + FFT window type + FFT pencere türü + + + + Envelope res. + Zarf çözümü. + + + + Increase envelope resolution for better details, decrease for better GUI performance. + Daha iyi ayrıntılar için zarf çözünürlüğünü artırın, daha iyi Arayüz performansı için azaltın. + + + + Maximum number of envelope points drawn per pixel: + Piksel başına çizilen azami zarf noktası sayısı: + + + + Spectrum res. + Spectrum res. + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + Daha iyi ayrıntılar için spektrum çözünürlüğünü artırın, daha iyi Arayüz performansı için azaltın. + + + + Maximum number of spectrum points drawn per pixel: + Piksel başına çizilen azami spektrum noktası sayısı: + + + + Falloff factor + Düşüş faktörü + + + + Decrease to make peaks fall faster. + Zirvelerin daha hızlı düşmesi için azaltın. + + + + Multiply buffered value by + Arabelleğe alınan değeri şununla çarp + + + + Averaging weight + Ortalama ağırlık + + + + Decrease to make averaging slower and smoother. + Ortalama almayı daha yavaş ve pürüzsüz hale getirmek için azaltın. + + + + New sample contributes + Yeni örnek katkıda bulunur + + + + Waterfall height + Şelale yüksekliği + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + Daha yavaş kaydırmak için artırın, hızlı geçişleri daha iyi görmek için azaltın. Uyarı: orta CPU kullanımı. + + + + Number of lines to keep: + Saklanacak satır sayısı: + + + + Waterfall gamma + Şelale gama + + + + Decrease to see very weak signals, increase to get better contrast. + Çok zayıf sinyalleri görmeyi azaltın, daha iyi kontrast elde etmek için artırın. + + + + Gamma value: + Gama değeri: + + + + Window overlap + Pencere örtüşmesi + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + FFT pencere kenarlarının yakınına gelen eksik hızlı geçişleri önlemek için artırın. Uyarı: yüksek CPU kullanımı. + + + + Number of times each sample is processed: + Her örneğin işlenme sayısı: + + + + Zero padding + Sıfır dolgu + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + Daha pürüzsüz görünen spektrum elde etmek için artırın. Uyarı: yüksek CPU kullanımı. + + + + Processing buffer is + İşleme tamponu + + + + steps larger than input block + giriş bloğundan daha büyük adımlar + + + + Advanced settings + Gelişmiş ayarlar + + + + Access advanced settings + Gelişmiş ayarlara erişin + + + + lmms::gui::SampleClipView + + + Double-click to open sample + Örneği açmak için çift tıklayın + + + + Reverse sample + Ters örnek + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + Parça ses düzeyi + + + + Channel volume: + Kanal ses düzeyi: + + + + VOL + SES + + + + Panning + Kaydırma + + + + Panning: + Kaydırma: + + + + PAN + PAN + + + + %1: %2 + %1: %2 + + + + lmms::gui::SampleTrackWindow + + + Sample volume + Örnek düzey + + + + Volume: + Ses Düzeyi: + + + + VOL + SES + + + + Panning + Kaydırma + + + + Panning: + Kaydırma: + + + + PAN + PAN + + + + Mixer channel + FX kanalı + + + + CHANNEL + KANAL + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + MIDI bağlantılarını atın + + + + Save As Project Bundle (with resources) + Proje Paketi Olarak Kaydet (kaynaklarla) + + + + lmms::gui::SetupDialog + + + Settings + Ayarlar + + + + + General + Genel + + + + Graphical user interface (GUI) + Grafik kullanıcı arayüzü (GUI) + + + + Display volume as dBFS + Ses seviyesini dBFS olarak görüntüle + + + + Enable tooltips + Araç ipuçlarını etkinleştirin + + + + Enable master oscilloscope by default + Ana osiloskopu varsayılan olarak etkinleştirin + + + + Enable all note labels in piano roll + Piyano rulosundaki tüm nota etiketlerini etkinleştirin + + + + Enable compact track buttons + Kompakt parça düğmelerini etkinleştirin + + + + Enable one instrument-track-window mode + Bir enstrüman izleme penceresi modunu etkinleştirin + + + + Show sidebar on the right-hand side + Sağ tarafta kenar çubuğunu göster + + + + Let sample previews continue when mouse is released + Fare bırakıldığında örnek önizlemelerin devam etmesine izin verin + + + + Mute automation tracks during solo + Solo sırasında otomasyon izlerini sessize alma + + + + Show warning when deleting tracks + Parçaları silerken uyarı göster + + + + Show warning when deleting a mixer channel that is in use + Kullanımda olan bir mikser kanalını silerken uyarı göster + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + Projeler + + + + Compress project files by default + Proje dosyalarını varsayılan olarak sıkıştır + + + + Create a backup file when saving a project + Bir projeyi kaydederken bir yedek dosya oluşturun + + + + Reopen last project on startup + Başlangıçta son projeyi yeniden aç + + + + Language + Dil + + + + + Performance + Başarım + + + + Autosave + Otomatik kaydet + + + + Enable autosave + Otomatik kaydetmeyi etkinleştir + + + + Allow autosave while playing + Oynatırken otomatik kaydetmeye izin ver + + + + User interface (UI) effects vs. performance + Kullanıcı arayüzü (UI) efektleri ile performans karşılaştırması + + + + Smooth scroll in song editor + Şarkı düzenleyicide yumuşak kaydırma + + + + Display playback cursor in AudioFileProcessor + Ses Dosyası İşlemcisindeki oynatma imlecini görüntüle + + + + Plugins + Eklentiler + + + + VST plugins embedding: + Gömülü VST eklentileri: + + + + No embedding + Yerleştirme yok + + + + Embed using Qt API + Qt API kullanarak yerleştirin + + + + Embed using native Win32 API + Yerel Win32 API kullanarak yerleştirme + + + + Embed using XEmbed protocol + XEmbed protokolünü kullanarak gömün + + + + Keep plugin windows on top when not embedded + Gömülü değilken eklenti pencerelerini üstte tutun + + + + Keep effects running even without input + Efektlerin girdi olmasa bile çalışmaya devam etmesini sağlayın + + + + + Audio + Ses + + + + Audio interface + Ses arayüzü + + + + Buffer size + Arabellek boyutu + + + + Reset to default value + Varsayılan değere sıfırla + + + + + MIDI + MIDI + + + + MIDI interface + MIDI arayüzü + + + + Automatically assign MIDI controller to selected track + MIDI denetleyicisini seçilen parçaya otomatik olarak atayın + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + Yollar + + + + LMMS working directory + LMMS çalışma dizini + + + + VST plugins directory + VST eklentileri dizini + + + + LADSPA plugins directories + LADSPA eklenti dizinleri + + + + SF2 directory + SF2 dizini + + + + Default SF2 + Varsayılan SF2 + + + + GIG directory + GIG dizini + + + + Theme directory + Tema dizini + + + + Background artwork + Arka plan resmi + + + + Some changes require restarting. + Bazı değişiklikler yeniden başlatmayı gerektirir. + + + + OK + TAMAM + + + + Cancel + Çıkış + + + + minutes + dakika + + + + minute + dakika + + + + Disabled + Devre dışı + + + + Autosave interval: %1 + Otomatik kaydetme aralığı: %1 + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + Çerçeveler: %1 +Gecikme: %2 ms + + + + Choose the LMMS working directory + LMMS çalışma dizinini seçin + + + + Choose your VST plugins directory + VST eklentileri dizininizi seçin + + + + Choose your LADSPA plugins directory + LADSPA eklentileri dizininizi seçin + + + + Choose your SF2 directory + SF2 dizininizi seçin + + + + Choose your default SF2 + Varsayılan SF2'nizi seçin + + + + Choose your GIG directory + GIG dizininizi seçin + + + + Choose your theme directory + Tema dizininizi seçin + + + + Choose your background picture + Arka plan resminizi seçin + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + Ses Yazı Tipi dosyasını aç + + + + Choose patch + Yama seçin + + + + Gain: + Kazanç: + + + + Apply reverb (if supported) + Yankı uygula (destekleniyorsa) + + + + Room size: + Oda boyutu: + + + + Damping: + Sönümleme: + + + + Width: + En: + + + + + Level: + Düzey: + + + + Apply chorus (if supported) + Koro uygula (destekleniyorsa) + + + + Voices: + Sesler: + + + + Speed: + Hız: + + + + Depth: + Derinlik: + + + + SoundFont Files (*.sf2 *.sf3) + Ses Yazı Tipi Dosyaları (*.sf2 *.sf3) + + + + lmms::gui::SidInstrumentView + + + Volume: + Ses Düzeyi: + + + + Resonance: + Rezonans: + + + + + Cutoff frequency: + Kesim frekansı: + + + + High-pass filter + Yüksek geçişli filtre + + + + Band-pass filter + Bant geçişli filtre + + + + Low-pass filter + Düşük geçişli filtre + + + + Voice 3 off + Ses 3 kapalı + + + + MOS6581 SID + MOS6581 SID + + + + MOS8580 SID + MOS8580 SID + + + + + Attack: + Saldırı: + + + + + Decay: + Bozunma: + + + + Sustain: + Sürdürmek: + + + + + Release: + Yayınla: + + + + Pulse Width: + Darbe genişliği: + + + + Coarse: + Kaba: + + + + Pulse wave + Nabız dalgası + + + + Triangle wave + Üçgen dalga + + + + Saw wave + Testere dalga + + + + Noise + Gürültü + + + + Sync + Eşitle + + + + Ring modulation + Halka modülasyonu + + + + Filtered + Filtrelenmiş + + + + Test + Dene + + + + Pulse width: + Darbe genişliği: + + + + lmms::gui::SideBarWidget + + + Close + Kapat + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + Dosya açılamadı + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + %1 dosyası açılamadı. Muhtemelen bu dosyayı okuma izniniz yok. + Lütfen dosya için en azından okuma izninizin olduğundan emin olun ve tekrar deneyin. + + + + Operation denied + İşlem reddedildi + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + Bu ada sahip bir paket klasörü zaten seçili yolda bulunuyor. Proje paketinin üzerine yazılamaz. Lütfen farklı bir isim seçin. + + + + + + Error + Sorun + + + + Couldn't create bundle folder. + Paket klasörü oluşturulamadı. + + + + Couldn't create resources folder. + Kaynaklar klasörü oluşturulamadı. + + + + Failed to copy resources. + Kaynaklar kopyalanamadı. + + + + + Could not write file + Dosya yazılamadı + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + Dosyada hata + + + + The file %1 seems to contain errors and therefore can't be loaded. + Görünüşe göre %1 dosyası hatalar içeriyor ve bu nedenle yüklenemiyor. + + + + template + şablon + + + + project + proje + + + + Version difference + Sürüm farkı + + + + This %1 was created with LMMS %2 + Bu %1, %2 LMMS ile oluşturuldu + + + + Zoom + Yakınlaştır + + + + Tempo + Tempo + + + + TEMPO + TEMPO + + + + Tempo in BPM + BPM'de Tempo + + + + + + Master volume + Ana ses + + + + + + Global transposition + Genel aktarma + + + + 1/%1 Bar + 1/%1 Çubuk + + + + %1 Bars + %1 Çubuklar + + + + Value: %1% + Değer: %1% + + + + Value: %1 keys + Değer: %1 anahtar + + + + lmms::gui::SongEditorWindow + + + Song-Editor + Şarkı-Düzenleyici + + + + Play song (Space) + Şarkıyı başlat (Space) + + + + Record samples from Audio-device + Ses cihazından örnekleri kaydedin + + + + Record samples from Audio-device while playing song or pattern track + Şarkı veya kalıp parçası çalarken Ses cihazından örnekler kaydedin + + + + Stop song (Space) + Şarkıyı durdur (Space) + + + + Track actions + Parça eylemleri + + + + Add pattern-track + Kalıp-parça ekle + + + + Add sample-track + Örnek parça ekle + + + + Add automation-track + Ayarkayıt parçası ekle + + + + Edit actions + İşlemleri düzenle + + + + Draw mode + Çizim kipi + + + + Knife mode (split sample clips) + Bıçak modu (örnek klipleri ayır) + + + + Edit mode (select and move) + Düzenleme modu (seç ve taşı) + + + + Timeline controls + Zaman çizelgesi kontrolleri + + + + Bar insert controls + Çubuk ekleme kontrolleri + + + + Insert bar + Çubuk ekle + + + + Remove bar + Çubuğu kaldır + + + + Zoom controls + Yakınlaştırma kontrolleri + + + + + Zoom + Yakınlaştır + + + + Snap controls + Yapış denetimleri + + + + + Clip snapping size + Klip yapışma boyutu + + + + Toggle proportional snap on/off + Orantılı tutturmayı aç/kapat + + + + Base snapping size + Taban yapışma boyutu + + + + lmms::gui::StepRecorderWidget + + + Hint + İpucu + + + + Move recording curser using <Left/Right> arrows + <Sol/Sağ> oklarını kullanarak kayıt imlecini hareket ettirin + + + + lmms::gui::StereoEnhancerControlDialog + + + WIDTH + GENİŞLİK + + + + Width: + En: + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + Soldan Sola Düzey: + + + + Left to Right Vol: + Soldan Sağa Düzey: + + + + Right to Left Vol: + Sağdan Sola Düzey: + + + + Right to Right Vol: + Sağdan Sağa Düzey: + + + + lmms::gui::SubWindow + + + Close + Kapat + + + + Maximize + Büyütme + + + + Restore + Onar + + + + lmms::gui::TapTempoView + + + 0 + 0 + + + + + Precision + Kesinlik + + + + Display in high precision + Yüksek hassasiyette görüntüleme + + + + 0.0 ms + 0.0 ms + + + + Mute metronome + Metronomun sesini kapat + + + + Mute + Sustur + + + + BPM in milliseconds + Milisaniye cinsinden BPM + + + + 0 ms + 0 ms + + + + Frequency of BPM + BPM'nin sıklığı + + + + 0.0000 hz + 0.0000 hz + + + + Reset + Sıfırla + + + + Reset counter and sidebar information + Sayaç ve kenar çubuğu bilgilerini sıfırlayın + + + + Sync + Eşitle + + + + Sync with project tempo + Proje temposuyla senkronize edin + + + + %1 ms + %1 ms + + + + %1 hz + %1 hz + + + + lmms::gui::TemplatesMenu + + + New from template + Şablondan yeni + + + + lmms::gui::TempoSyncBarModelEditor + + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + Tempo Senkronizasyonu + + + + No Sync + Senkronizasyon yok + + + + Eight beats + Sekiz vuruş + + + + Whole note + Tam nota + + + + Half note + Yarım nota + + + + Quarter note + Çeyrek nota + + + + 8th note + 8'lik nota + + + + 16th note + 16'lık nota + + + + 32nd note + 32'lik nota + + + + Custom... + Özel... + + + + Custom + Özel + + + + Synced to Eight Beats + Sekiz Vuruşla Senkronize Edildi + + + + Synced to Whole Note + Tüm Nota Senkronize Edildi + + + + Synced to Half Note + Yarım Nota Senkronize Edildi + + + + Synced to Quarter Note + Çeyrek Nota Senkronize Edildi + + + + Synced to 8th Note + 8. Nota senkronize edildi + + + + Synced to 16th Note + 16. Nota senkronize edildi + + + + Synced to 32nd Note + 32. Nota senkronize edildi + + + + lmms::gui::TimeDisplayWidget + + + Time units + Zaman birimleri + + + + MIN + DAK + + + + SEC + SAN + + + + MSEC + MSEC + + + + BAR + ÇUBUK + + + + BEAT + VURUŞ + + + + TICK + TIK + + + + lmms::gui::TimeLineWidget + + + Auto scrolling + Otomatik kaydırma + + + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + Döngü noktaları + + + + After stopping go back to beginning + Durduktan sonra başa dön + + + + After stopping go back to position at which playing was started + Durduktan sonra oyunun başladığı konuma geri dönün + + + + After stopping keep position + Durduktan sonra pozisyonunuzu koruyun + + + + Hint + İpucu + + + + Press <%1> to disable magnetic loop points. + Manyetik döngü noktalarını devre dışı bırakmak için <%1> tuşuna basın. + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste Yapıştır - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. Yeni bir sürükle ve bırak eylemine başlamak için tutamağa tıklarken <%1> tuşuna basın. @@ -13749,7 +18017,7 @@ Lütfen dosyayı ve dosyayı içeren dizini okuma iznine sahip olduğunuzdan emi Mute - Ses kapatma + Sustur @@ -13758,248 +18026,240 @@ Lütfen dosyayı ve dosyayı içeren dizini okuma iznine sahip olduğunuzdan emi Tek - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? Bir parça kaldırıldıktan sonra kurtarılamaz. "%1" parçasını kaldırmak istediğinizden emin misiniz? - + Confirm removal Kaldırma işlemini onayla - + Don't ask again Bir daha sorma - + Clone this track Bu parçayı çoğalt - + Remove this track Bu parçayı sil - + Clear this track Bu parçayı temizle - + Channel %1: %2 FX %1: %2 - - Assign to new mixer Channel - Yeni FX Kanalına atayın + + Assign to new Mixer Channel + Yeni Karıştırıcı Kanalına Ata - + Turn all recording on Tüm kaydı aç - + Turn all recording off Tüm kayıtları kapat + + + Track color + Parça rengi + - Change color - Rengini değiştir + Change + Değiştir + + + + Reset + Sıfırla - Reset color to default - Rengini varsayılana sıfırla + Pick random + Rastgele seç - Set random color - Rastgele renk ayarla - - - - Clear clip colors - Klip renklerini temizle + Reset clip colors + Klip renklerini sıfırla - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 Osilatör 1'in fazını osilatör 2 ile modüle edin - + Modulate amplitude of oscillator 1 by oscillator 2 Osilatör 1'in genliğini osilatör 2 ile modüle edin - + Mix output of oscillators 1 & 2 Osilatör 1 ve 2'nin Karışım çıkışı - + Synchronize oscillator 1 with oscillator 2 Osilatör 1'i osilatör 2 ile senkronize edin - + Modulate frequency of oscillator 1 by oscillator 2 Osilatör 1'in frekansını osilatör 2 ile modüle edin - + Modulate phase of oscillator 2 by oscillator 3 Osilatör 2'nin fazını osilatör 3 ile modüle edin - + Modulate amplitude of oscillator 2 by oscillator 3 Osilatör 2'nin genliğini osilatör 3 ile modüle edin - + Mix output of oscillators 2 & 3 Osilatör 2 ve 3'ün Karışım çıkışı - + Synchronize oscillator 2 with oscillator 3 Osilatör 2'yi osilatör 3 ile senkronize edin - + Modulate frequency of oscillator 2 by oscillator 3 Osilatör 2'nin frekansını osilatör 3 ile modüle edin - + Osc %1 volume: Osc %1 düzeyi: - + Osc %1 panning: Osc %1 kaydırma: - + Osc %1 coarse detuning: Osc %1 kaba ince ayar: - + semitones yarım tonlar - + Osc %1 fine detuning left: Osc %1 ince ayar sol: - - + + cents sent - + Osc %1 fine detuning right: Osc %1 ince ayar sağ: - + Osc %1 phase-offset: Osc %1 faz kayması: - - + + degrees derece - + Osc %1 stereo phase-detuning: Osc %1 stereo faz ayarlama: - + Sine wave Sinüs dalgası - + Triangle wave Üçgen dalga - + Saw wave Testere dalga - + Square wave Kare dalgası - + Moog-like saw wave Moog benzeri testere dalgası - + Exponential wave Üstel dalga - + White noise Beyaz gürültü - + User-defined wave Kullanıcı tanımlı dalga - - - VecControls - - Display persistence amount - Kalıcılık miktarını göster - - - - Logarithmic scale - Logaritmik ölçek - - - - High quality - Yüksek kalite + + Use alias-free wavetable oscillators. + Takma ad içermeyen dalga tablosu osilatörleri kullanın. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ YK - + Double the resolution and simulate continuous analog-like trace. Çözünürlüğü ikiye katlayın ve sürekli analog benzeri izi simüle edin. @@ -14014,2618 +18274,782 @@ Lütfen dosyayı ve dosyayı içeren dizini okuma iznine sahip olduğunuzdan emi Küçük değerleri daha iyi görmek için genliği logaritmik ölçekte görüntüleyin. - + Persist. Kalıcılık. - + Trace persistence: higher amount means the trace will stay bright for longer time. Kalıcılığı izleme: daha yüksek miktar, izin daha uzun süre parlak kalacağı anlamına gelir. - + Trace persistence Kalıcılığı izle - VersionedSaveDialog + lmms::gui::VersionedSaveDialog - + Increment version number Sürüm numarasını artır - + Decrement version number Sürüm numarasını azaltın - + Save Options Seçenekleri Kaydet - + already exists. Do you want to replace it? zaten var. Değiştirmek istiyor musun? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin VST eklentisini aç - + Control VST plugin from LMMS host LMMS ana bilgisayarından VST eklentisini kontrol edin - + Open VST plugin preset VST eklenti ön ayarını aç - + Previous (-) Önceki (-) - + Save preset Ön ayarı kaydet - + Next (+) Sonraki (+) - + Show/hide GUI Kullanıcı arabirimini göster/gizle - + Turn off all notes Tüm notaları kapat - + DLL-files (*.dll) DLL-dosyaları (*.dll) - + EXE-files (*.exe) EXE-dosyaları (*.exe) - + + SO-files (*.so) + SO-dosyaları (*.so) + + + No VST plugin loaded Yüklü VST eklentisi yok - + Preset Hazır Ayar - + by tarafından - + - VST plugin control - VST eklenti kontrolü - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + Dalga biçimini etkinleştir + + + + + Smooth waveform + Düzgün dalga formu + + + + + Normalize waveform + Dalga formunu normalleştir + + + + + Sine wave + Sinüs dalgası + + + + + Triangle wave + Üçgen dalga + + + + + Saw wave + Testere dalga + + + + + Square wave + Kare dalgası + + + + + White noise + Beyaz gürültü + + + + + User-defined wave + Kullanıcı tanımlı dalga + + + + String volume: + Dize hacmi: + + + + String stiffness: + Dize sertliği: + + + + Pick position: + Pozisyon seçin: + + + + Pickup position: + Alış konumu: + + + + String panning: + Dize kaydırma: + + + + String detune: + Dize detayı: + + + + String fuzziness: + Dize belirsizliği: + + + + String length: + Dize uzunluğu: + + + + Impulse Editor + Dürtü Düzenleyici + + + + Impulse + Dürtü + + + + Enable/disable string + Dizeyi etkinleştir / devre dışı bırak + + + + Octave + Octave + + + + String + Dize + + + + lmms::gui::VstEffectControlDialog + + Show/hide Göster/gizle - + Control VST plugin from LMMS host LMMS ana bilgisayarından VST eklentisini kontrol edin - + Open VST plugin preset VST eklenti ön ayarını aç - + Previous (-) Önceki (-) - + Next (+) Sonraki (+) - + Save preset Ön ayarı kaydet - - + + Effect by: Efektler: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - %1 VST eklentisi yüklenemedi. - - - - Open Preset - Ön Ayarı Aç - - - - - Vst Plugin Preset (*.fxp *.fxb) - Vst Eklenti Ön Ayarı (*.fxp *.fxb) - - - - : default - : öntanımlı - - - - Save Preset - Önayarı Kaydet - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Eklenti yükleniyor - - - - Please wait while loading VST plugin... - VST eklentisi yüklenirken lütfen bekleyin... - - - - WatsynInstrument - - - Volume A1 - Düzey A1 - - - - Volume A2 - Düzey A2 - - - - Volume B1 - Düzey B1 - - - - Volume B2 - Düzey B2 - - - - Panning A1 - Kaydırma A1 - - - - Panning A2 - Kaydırma A2 - - - - Panning B1 - Kaydırma B1 - - - - Panning B2 - Kaydırma B2 - - - - Freq. multiplier A1 - Frekans. çarpan A1 - - - - Freq. multiplier A2 - Frekans. çarpan A2 - - - - Freq. multiplier B1 - Frekans. çarpan B1 - - - - Freq. multiplier B2 - Frekans. çarpan B2 - - - - Left detune A1 - Sol detune A1 - - - - Left detune A2 - Sol detune A2 - - - - Left detune B1 - Sol detune B1 - - - - Left detune B2 - Sol detune B2 - - - - Right detune A1 - Sağ detune A1 - - - - Right detune A2 - Sağ detune A2 - - - - Right detune B1 - Sağ detune B1 - - - - Right detune B2 - Sağ detune B2 - - - - A-B Mix - A-B Karışımı - - - - A-B Mix envelope amount - A-B Karışık zarf miktarı - - - - A-B Mix envelope attack - A-B Karışık zarf saldırısı - - - - A-B Mix envelope hold - A-B Karışık zarf tutma - - - - A-B Mix envelope decay - A-B Karışım zarf bozunması - - - - A1-B2 Crosstalk - A1-B2 Çapraz Karışma - - - - A2-A1 modulation - A2-A1 modülasyonu - - - - B2-B1 modulation - B2-B1 modülasyonu - - - - Selected graph - Seçili grafik - - - - WatsynView - - - - - + + + + Volume Ses Düzeyi - - - - + + + + Panning - Panning + Kaydırma - - - - + + + + Freq. multiplier Frekans. çarpanı - - - - + + + + Left detune Sol detune + + + + + + - - - - - - cents sent - - - - + + + + Right detune Sağ detune - + A-B Mix A-B Karışımı - + Mix envelope amount Zarf miktarını karıştır - + Mix envelope attack Zarf saldırısını karıştır - + Mix envelope hold Zarf tutmayı karıştır - + Mix envelope decay Zarf bozunmasını karıştır - + Crosstalk Cızırtı - + Select oscillator A1 Osilatör A1'i seçin - + Select oscillator A2 Osilatör A2`yi seçin - + Select oscillator B1 Osilatör B1'i seçin - + Select oscillator B2 Osilatör B2'yi seçin - + Mix output of A2 to A1 A2'den A1'e Karışım çıkışı - + Modulate amplitude of A1 by output of A2 A1'in genliğini A2 çıkışı ile modüle edin - + Ring modulate A1 and A2 Halka modüle A1 ve A2 - + Modulate phase of A1 by output of A2 A1'in fazını A2 çıkışı ile modüle edin - + Mix output of B2 to B1 B2'den B1'e Karıştırma çıkışı - + Modulate amplitude of B1 by output of B2 B2 çıkışı ile B1 genliğini modüle edin - + Ring modulate B1 and B2 Halka modülasyonu B1 ve B2 - + Modulate phase of B1 by output of B2 B2 çıkışı ile B1 fazını modüle edin - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. Farenizi bu grafiğin üzerine sürükleyerek buraya kendi dalga formunuzu çizin. - + Load waveform Dalga formu yükle - + Load a waveform from a sample file Örnek bir dosyadan bir dalga formu yükleyin - + Phase left Aşama sola - + Shift phase by -15 degrees Aşamayı -15 derece kaydır - + Phase right Aşama sağa - + Shift phase by +15 degrees Aşamayı +15 derece kaydır - - + + Normalize Normalleştir - - + + Invert Tersine çevir - - + + Smooth Pürüzsüz - - + + Sine wave Sinüs dalgası - - - + + + Triangle wave Üçgen dalga - + Saw wave Testere dalga - - + + Square wave Kare dalgası - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - Seçili grafik - - - - A1 - A1 - - - - A2 - A2 - - - - A3 - A3 - - - - W1 smoothing - W1 yumuşatma - - - - W2 smoothing - W2 yumuşatma - - - - W3 smoothing - W3 yumuşatma - - - - Panning 1 - Kaydırma 1 - - - - Panning 2 - Kaydırma 2 - - - - Rel trans - Rel trans - - - - XpressiveView - - - Draw your own waveform here by dragging your mouse on this graph. - Farenizi bu grafiğin üzerine sürükleyerek buraya kendi dalga formunuzu çizin. - - - - Select oscillator W1 - Osilatör W1'i seçin - - - - Select oscillator W2 - Osilatör W2'yi seçin - - - - Select oscillator W3 - Osilatör W3 seçin - - - - Select output O1 - O1 çıkışını seçin - - - - Select output O2 - O2 çıkışını seçin - - - - Open help window - Yardım penceresini aç - - - - - Sine wave - Sinüs dalgası - - - - - Moog-saw wave - Moog-saw dalgası - - - - - Exponential wave - Üstel dalga - - - - - Saw wave - Testere dalga - - - - - User-defined wave - Kullanıcı tanımlı dalga - - - - - Triangle wave - Üçgen dalga - - - - - Square wave - Kare dalgası - - - - - White noise - Beyaz gürültü - - - - WaveInterpolate - Dalga ekleme - - - - ExpressionValid - İfade Geçerli - - - - General purpose 1: - Genel amaç 1: - - - - General purpose 2: - Genel amaç 2: - - - - General purpose 3: - Genel amaçlı 3: - - - - O1 panning: - O1 kaydırma: - - - - O2 panning: - O2 kaydırma: - - - - Release transition: - Sürüm geçişi: - - - - Smoothness - Pürüssüzlük - - - - ZynAddSubFxInstrument - - - Portamento - Kaydırma - - - - Filter frequency - Frekans filtresi - - - - Filter resonance - Rezonans filtresi - - - - Bandwidth - Bant genişliği - - - - FM gain - FM kazancı - - - - Resonance center frequency - Rezonans merkez frekansı - - - - Resonance bandwidth - Rezonans bant genişliği - - - - Forward MIDI control change events - MIDI kontrol değişikliği olaylarını iletme - - - - ZynAddSubFxView - - - Portamento: - Kaydırma: - - - - PORT - KAYDIRMA - - - - Filter frequency: - Frekans filtresi: - - - - FREQ - FREK - - - - Filter resonance: - Rezonans filtresi: - - - - RES - RF - - - - Bandwidth: - Bant genişliği: - - - - BW - BG - - - - FM gain: - FM kazancı: - - - - FM GAIN - FM KAZANÇ - - - - Resonance center frequency: - Rezonans merkez frekansı: - - - - RES CF - Rez MF - - - - Resonance bandwidth: - Rezonans bant genişliği: - - - - RES BW - REZ BG - - - - Forward MIDI control changes - MIDI kontrol değişikliklerini ilet - - - - Show GUI - Görselli Arayüzü Göster - - - - AudioFileProcessor - - - Amplify - Yükseltici - - - - Start of sample - Örnek başlangıcı - - - - End of sample - Örneğin sonu - - - - Loopback point - Geri döngü noktası - - - - Reverse sample - Sample'ı ters yüz et - - - - Loop mode - Döngü modu - - - - Stutter - Kekemelik - - - - Interpolation mode - Ara değerlendirme modu - - - - None - Hiç - - - - Linear - Doğrusal - - - - Sinc - Sinc - - - - Sample not found: %1 - Örnek bulunamadı: %1 - - - - BitInvader - - - Sample length - Örnek uzunluğu - - - - BitInvaderView - - - Sample length - Örnek uzunluğu - - - - Draw your own waveform here by dragging your mouse on this graph. - Farenizi bu grafiğin üzerine sürükleyerek buraya kendi dalga formunuzu çizin. - - - - - Sine wave - Sinüs dalgası - - - - - Triangle wave - Üçgen dalga - - - - - Saw wave - Testere dalga - - - - - Square wave - Kare dalgası - - - - - White noise - Beyaz gürültü - - - - - User-defined wave - Kullanıcı tanımlı dalga - - - - - Smooth waveform - Düzgün dalga formu - - - - Interpolation - Aradeğerleme - - - - Normalize - Normalleştir - - - - DynProcControlDialog - - + INPUT GİRDİ - + Input gain: Giriş kazancı: - + OUTPUT ÇIKTI - - - Output gain: - Çıkış kazancı: - - - - ATTACK - SALDIRI - - - - Peak attack time: - Tepe saldırı süresi: - - - - RELEASE - YAYINLAMA - - - - Peak release time: - En yüksek yayın süresi: - - - - - Reset wavegraph - Dalga grafiğini sıfırla - - - - - Smooth wavegraph - Pürüzsüz dalga grafiği - - - - - Increase wavegraph amplitude by 1 dB - Dalga grafiğinin genliğini 1 dB artırın - - - - - Decrease wavegraph amplitude by 1 dB - Dalga grafiğinin genliğini 1 dB azaltın - - - - Stereo mode: maximum - Stereo modu: maksimum - - - - Process based on the maximum of both stereo channels - Her iki stereo kanalın maksimumuna dayalı işlem - - - - Stereo mode: average - Stereo modu: ortalama - - - - Process based on the average of both stereo channels - Her iki stereo kanalın ortalamasına dayalı işlem - - - - Stereo mode: unlinked - Stereo mod: bağlantısız - - - - Process each stereo channel independently - Her bir stereo kanalı bağımsız olarak işleyin - - - - DynProcControls - - - Input gain - Giriş kazancı - - - - Output gain - Çıkış kazancı - - - - Attack time - Kalkma zamanı - - - - Release time - Yayımlama zamanı - - - - Stereo mode - Çift kanal modu - - - - graphModel - - - Graph - Grafik - - - - KickerInstrument - - - Start frequency - Başlangıç frekansı - - - - End frequency - Bitiş frekansı - - - - Length - Süre - - - - Start distortion - Bozulmayı başlat - - - - End distortion - Bozulmayı bitir - - - - Gain - Kazanç - - - - Envelope slope - Zarf eğimi - - - - Noise - Parazit - - - - Click - Tıkla - - - - Frequency slope - Frekans eğimi - - - - Start from note - Notadan başla - - - - End to note - Notanın sonu - - - - KickerInstrumentView - - - Start frequency: - Başlangıç frekansı: - - - - End frequency: - Bitiş frekansı: - - - - Frequency slope: - Frekans eğimi: - - - - Gain: - Kazanç: - - - - Envelope length: - Zarf uzunluğu: - - - - Envelope slope: - Zarf eğimi: - - - - Click: - Tıkla: - - - - Noise: - Gürültü: - - - - Start distortion: - Bozulmayı başlat: - - - - End distortion: - Bozulmayı bitir: - - - - LadspaBrowserView - - - - Available Effects - Mevcut Efektler - - - - - Unavailable Effects - Kullanılamayan Etkiler - - - - - Instruments - Enstrümanlar - - - - - Analysis Tools - Analiz Araçları - - - - - Don't know - Bilmiyorum - - - - Type: - Türü: - - - - LadspaDescription - - - Plugins - Eklentiler - - - - Description - Açıklama - - - - LadspaPortDialog - - - Ports - Bağlantı Noktaları - - - - Name - İsim - - - - Rate - Oran - - - - Direction - Yön - - - - Type - Tip - - - - Min < Default < Max - Min <Varsayılan <Maks - - - - Logarithmic - Logaritmik - - - - SR Dependent - SR Bağımlı - - - - Audio - Ses - - - - Control - Kontrol - - - - Input - Giriş - - - - Output - Çıkış - - - - Toggled - Geçişli - - - - Integer - Tamsayı - - - - Float - Şamandıra - - - - - Yes - Evet - - - - Lb302Synth - - - VCF Cutoff Frequency - VCF Kesme Frekansı - - - - VCF Resonance - VCF Rezonansı - - - - VCF Envelope Mod - VCF Zarf Modu - - - - VCF Envelope Decay - VCF Zarf Bozulması - - - - Distortion - Bozma - - - - Waveform - Dalga şekli - - - - Slide Decay - Bozulma Kaydırma - - - - Slide - Kaydır - - - - Accent - Vurgu - - - - Dead - Ölü - - - - 24dB/oct Filter - 24dB/oct FiltRESİ - - - - Lb302SynthView - - - Cutoff Freq: - Kesim Frekansı: - - - - Resonance: - Rezonans: - - - - Env Mod: - Env Mod: - - - - Decay: - Bozunma: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-es-que, 24dB/octave, 3 kutuplu filtre - - - - Slide Decay: - Bozulma Kaydırma: - - - - DIST: - MESAFE: - - - - Saw wave - Testere dalga - - - - Click here for a saw-wave. - Testere dalgası için buraya tıklayın. - - - - Triangle wave - Üçgen dalga - - - - Click here for a triangle-wave. - Üçgen dalga için burayı tıklayın. - - - - Square wave - Kare dalgası - - - - Click here for a square-wave. - Kare dalga için burayı tıklayın. - - - - Rounded square wave - Yuvarlak kare dalga - - - - Click here for a square-wave with a rounded end. - Yuvarlak uçlu bir kare dalga için burayı tıklayın. - - - - Moog wave - Moog dalgası - - - - Click here for a moog-like wave. - Moog benzeri bir dalga için burayı tıklayın. - - - - Sine wave - Sinüs dalgası - - - - Click for a sine-wave. - Sinüs dalgası için tıklayın. - - - - - White noise wave - Beyaz gürültü dalgası - - - - Click here for an exponential wave. - Üstel dalga için burayı tıklayın. - - - - Click here for white-noise. - Beyaz gürültü için buraya tıklayın. - - - - Bandlimited saw wave - Bant sınırlı testere dalgası - - - - Click here for bandlimited saw wave. - Bantlı testere dalgası için buraya tıklayın. - - - - Bandlimited square wave - Bant sınırlı kare dalga - - - - Click here for bandlimited square wave. - Band sınırlı kare dalga için buraya tıklayın. - - - - Bandlimited triangle wave - Bant sınırlı üçgen dalga - - - - Click here for bandlimited triangle wave. - Bant sınırlı üçgen dalga için buraya tıklayın. - - - - Bandlimited moog saw wave - Band sınırlı moog testere dalgası - - - - Click here for bandlimited moog saw wave. - Bant sınırlı moog testere dalgası için buraya tıklayın. - - - - MalletsInstrument - - - Hardness - Sertlik - - - - Position - Konum - - - - Vibrato gain - Titreşim kazancı - - - - Vibrato frequency - Titreşim frekansı - - - - Stick mix - Çubuk karıştırıcı - - - - Modulator - Modülatör - - - - Crossfade - Çapraz geçiş - - - - LFO speed - LFO hızı - - - - LFO depth - LFO derinliği - - - - ADSR - ADSR - - - - Pressure - Basınç - - - - Motion - Hareket - - - - Speed - Hız - - - - Bowed - Eğilmiş - - - - Spread - Etrafa Saç - - - - Marimba - Marimba - - - - Vibraphone - Vibrafon - - - - Agogo - Agogo - - - - Wood 1 - Ahşap 1 - - - - Reso - Reso - - - - Wood 2 - Ahşap 2 - - - - Beats - Vuruşlar - - - - Two fixed - İki sabit - - - - Clump - Tortu - - - - Tubular bells - Borulu çanlar - - - - Uniform bar - Üniforma çubuğu - - - - Tuned bar - Ayarlanmış çubuk - - - - Glass - Cam - - - - Tibetan bowl - Tibet kase - - - - MalletsInstrumentView - - - Instrument - Enstrüman - - - - Spread - Etrafa Saç - - - - Spread: - Yayılmış: - - - - Missing files - Eksik Dosyalar - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Stk kurulumunuz eksik görünüyor. Lütfen tam Stk paketinin kurulu olduğundan emin olun! - - - - Hardness - Sertlik - - - - Hardness: - Sertlik: - - - - Position - Konum - - - - Position: - Konum: - - - - Vibrato gain - Titreşim kazancı - - - - Vibrato gain: - Titreşim kazancı: - - - - Vibrato frequency - Titreşim frekansı - - - - Vibrato frequency: - Titreşim frekansı: - - - - Stick mix - Çubuk karıştırıcı - - - - Stick mix: - Çubuk karıştırıcı: - - - - Modulator - Modülatör - - - - Modulator: - Modülatör: - - - - Crossfade - Çapraz geçiş - - - - Crossfade: - Çapraz geçiş: - - - - LFO speed - LFO hızı - - - - LFO speed: - LFO hızı: - - - - LFO depth - LFO derinliği - - - - LFO depth: - LFO derinliği: - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Basınç - - - - Pressure: - Basınç: - - - - Speed - Hız - - - - Speed: - Hız: - - - - ManageVSTEffectView - - - - VST parameter control - - VST parametre kontrolü - - - - VST sync - VST senkronizasyonu - - - - - Automated - Otomatik - - - - Close - Kapat - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST eklenti kontrolü - - - - VST Sync - VST Senkronizasyonu - - - - - Automated - Otomatik - - - - Close - Kapat - - - - OrganicInstrument - - - Distortion - Bozma - - - - Volume - Ses Düzeyi - - - - OrganicInstrumentView - - - Distortion: - Çarpıtma: - - - - Volume: - Ses Düzeyi: - - - - Randomise - Rastgele - - - - - Osc %1 waveform: - Osc %1 dalga biçimi: - - - - Osc %1 volume: - Osc %1 düzeyi: - - - - Osc %1 panning: - Osc %1 kaydırma: - - - - Osc %1 stereo detuning - Osc %1 stereo perdeleme - - - - cents - sent - - - - Osc %1 harmonic: - Osc %1 harmonik: - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: Kanal Ön Ayarı - - - - Bank selector - Yuva seçici - - - - Bank - Yuva - - - - Program selector - Program seçici - - - - Patch - Yama - - - - Name - İsim - - - - OK - Tamam - - - - Cancel - İptal - - - - Sf2Instrument - - - Bank - Yuva - - - - Patch - Yama - - - - Gain - Kazanç - - - - Reverb - Yankı - - - - Reverb room size - Yankı odası boyutu - - - - Reverb damping - Yankı sönümleme - - - - Reverb width - Yankı genişliği - - - - Reverb level - Yankı seviyesi - - - - Chorus - Koro - - - - Chorus voices - Koro sesleri - - - - Chorus level - Koro seviyesi - - - - Chorus speed - Koro hızı - - - - Chorus depth - Koro derinliği - - - - A soundfont %1 could not be loaded. - %1 ses yazı tipi yüklenemedi. - - - - Sf2InstrumentView - - - - Open SoundFont file - Ses Yazı Tipi dosyasını aç - - - - Choose patch - Yama seçin - - - - Gain: - Kazanç: - - - - Apply reverb (if supported) - Yankı uygula (destekleniyorsa) - - - - Room size: - Oda boyutu: - - - - Damping: - Sönümleme: - - - - Width: - En: - - - - - Level: - Düzey: - - - - Apply chorus (if supported) - Koro uygula (destekleniyorsa) - - - - Voices: - Sesler: - - - - Speed: - Hız: - - - - Depth: - Derinlik: - - - - SoundFont Files (*.sf2 *.sf3) - Ses Yazı Tipi Dosyaları (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - Dalga - - - - StereoEnhancerControlDialog - - - WIDTH - GENİŞLİK - - - - Width: - En: - - - - StereoEnhancerControls - - - Width - Genişlik - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Soldan Sola Düzey: - - - - Left to Right Vol: - Soldan Sağa Düzey: - - - - Right to Left Vol: - Sağdan Sola Düzey: - - - - Right to Right Vol: - Sağdan Sağa Düzey: - - - - StereoMatrixControls - - - Left to Left - Soldan Sola - - - - Left to Right - Soldan sağa - - - - Right to Left - Sağdan sola - - - - Right to Right - Sağa Doğru - - - - VestigeInstrument - - - Loading plugin - Eklenti yükleniyor - - - - Please wait while loading the VST plugin... - VST eklentisini yüklerken lütfen bekleyin... - - - - Vibed - - - String %1 volume - Dize %1 hacmi - - - - String %1 stiffness - Dize %1 sertliği - - - - Pick %1 position - %1 pozisyon seçin - - - - Pickup %1 position - Alım %1 pozisyon - - - - String %1 panning - %1 dize kaydırma - - - - String %1 detune - %1 dize detune - - - - String %1 fuzziness - Dize %1 belirsizliği - - - - String %1 length - Dize %1 uzunluğu - - - - Impulse %1 - Dürtü %1 - - - - String %1 - Dize %1 - - - - VibedView - - - String volume: - Dize hacmi: - - - - String stiffness: - Dize sertliği: - - - - Pick position: - Pozisyon seçin: - - - - Pickup position: - Alış konumu: - - - - String panning: - Dize kaydırma: - - - - String detune: - Dize detayı: - - - - String fuzziness: - Dize belirsizliği: - - - - String length: - Dize uzunluğu: - - - - Impulse - Dürtü - - - - Octave - Octave - - - - Impulse Editor - Dürtü Düzenleyici - - - - Enable waveform - Dalga biçimini etkinleştir - - - - Enable/disable string - Dizeyi etkinleştir / devre dışı bırak - - - - String - Dize - - - - - Sine wave - Sinüs dalgası - - - - - Triangle wave - Üçgen dalga - - - - - Saw wave - Testere dalga - - - - - Square wave - Kare dalgası - - - - - White noise - Beyaz gürültü - - - - - User-defined wave - Kullanıcı tanımlı dalga - - - - - Smooth waveform - Düzgün dalga formu - - - - - Normalize waveform - Dalga formunu normalleştir - - - - VoiceObject - - - Voice %1 pulse width - Ses %1 darbe genişliği - - - - Voice %1 attack - Ses %1 saldırısı - - - - Voice %1 decay - Ses %1 zayıflaması - - - - Voice %1 sustain - Ses %1 sürdür - - - - Voice %1 release - Ses %1 sürümü - - - - Voice %1 coarse detuning - Ses %1 kaba ince ayar - - - - Voice %1 wave shape - Ses %1 dalga şekli - - - - Voice %1 sync - Ses %1 senkronizasyonu - - - - Voice %1 ring modulate - Ses %1 zil sesi modülasyonu - - - - Voice %1 filtered - Ses %1 filtrelendi - - - - Voice %1 test - Ses %1 testi - - - - WaveShaperControlDialog - - - INPUT - GİRDİ - - - - Input gain: - Giriş kazancı: - - - - OUTPUT - ÇIKTI - - - - Output gain: - Çıkış kazancı: - - + Output gain: + Çıkış kazancı: + + + + Reset wavegraph Dalga grafiğini sıfırla - - + + Smooth wavegraph Pürüzsüz dalga grafiği - - + + Increase wavegraph amplitude by 1 dB Dalga grafiğinin genliğini 1 dB artırın - - + + Decrease wavegraph amplitude by 1 dB Dalga grafiğinin genliğini 1 dB azaltın - + Clip input Klip girişi - + Clip input signal to 0 dB Giriş sinyalini 0 dB'ye klipsleyin - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Giriş kazancı + + Draw your own waveform here by dragging your mouse on this graph. + Farenizi bu grafiğin üzerine sürükleyerek buraya kendi dalga formunuzu çizin. - - Output gain - Çıkış kazancı + + Select oscillator W1 + Osilatör W1'i seçin + + + + Select oscillator W2 + Osilatör W2'yi seçin + + + + Select oscillator W3 + Osilatör W3 seçin + + + + Select output O1 + O1 çıkışını seçin + + + + Select output O2 + O2 çıkışını seçin + + + + Open help window + Yardım penceresini aç + + + + + Sine wave + Sinüs dalgası + + + + + Moog-saw wave + Moog-saw dalgası + + + + + Exponential wave + Üstel dalga + + + + + Saw wave + Testere dalga + + + + + User-defined wave + Kullanıcı tanımlı dalga + + + + + Triangle wave + Üçgen dalga + + + + + Square wave + Kare dalgası + + + + + White noise + Beyaz gürültü + + + + WaveInterpolate + Dalga ekleme + + + + ExpressionValid + İfade Geçerli + + + + General purpose 1: + Genel amaç 1: + + + + General purpose 2: + Genel amaç 2: + + + + General purpose 3: + Genel amaçlı 3: + + + + O1 panning: + O1 kaydırma: + + + + O2 panning: + O2 kaydırma: + + + + Release transition: + Sürüm geçişi: + + + + Smoothness + Pürüssüzlük - + + lmms::gui::ZynAddSubFxView + + + Portamento: + Kaydırma: + + + + PORT + KAYDIRMA + + + + Filter frequency: + Frekans filtresi: + + + + FREQ + FREK + + + + Filter resonance: + Rezonans filtresi: + + + + RES + RF + + + + Bandwidth: + Bant genişliği: + + + + BW + BG + + + + FM gain: + FM kazancı: + + + + FM GAIN + FM KAZANÇ + + + + Resonance center frequency: + Rezonans merkez frekansı: + + + + RES CF + Rez MF + + + + Resonance bandwidth: + Rezonans bant genişliği: + + + + RES BW + REZ BG + + + + Forward MIDI control changes + MIDI kontrol değişikliklerini ilet + + + + Show GUI + Görselli Arayüzü Göster + + + \ No newline at end of file diff --git a/data/locale/uk.ts b/data/locale/uk.ts index 245c433a1..015980135 100644 --- a/data/locale/uk.ts +++ b/data/locale/uk.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -69,810 +69,43 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - ГУЧН - - - - Volume: - Гучність: - - - - PAN - БАЛ - - - - Panning: - Баланс: - - - - LEFT - ЛІВЕ - - - - Left gain: - Ліве підсилення: - - - - RIGHT - ПРАВЕ - - - - Right gain: - Праве підсилення: - - - - AmplifierControls - - - Volume - Гучність - - - - Panning - Баланс - - - - Left gain - Ліве підсилення - - - - Right gain - Праве підсилення - - - - AudioAlsaSetupWidget - - - DEVICE - ПРИСТРІЙ - - - - CHANNELS - КАНАЛИ - - - - AudioFileProcessorView - - - Open sample + + About JUCE - - Reverse sample - Реверс запису - - - - Disable loop - Відключити повторення - - - - Enable loop - Включити повторення - - - - Enable ping-pong loop - Увімкнути пінг-понг повторення - - - - Continue sample playback across notes - Продовжити відтворення запису по нотах - - - - Amplify: - Підсилення: - - - - Start point: + + <b>About JUCE</b> - - End point: + + This program uses JUCE version 3.x.x. - - Loopback point: - Точка повернення з повтору: - - - - AudioFileProcessorWaveView - - - Sample length: - Довжина запису: - - - - AudioJack - - - JACK client restarted - JACK-клієнт перезапущений - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS не був підключений до JACK з якоїсь причини, тому LMMS підключення до JACK було перезапущено. Вам доведеться заново вручну створити з'єднання. - - - - JACK server down - JACK-сервер не доступний - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Можливо JACK-сервер був вимкнений і запуск нового процесу не вдався, тому LMMS не може продовжити роботу. Вам слід зберегти проект і перезапустити JACK і LMMS. - - - - Client name + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Channels + + This program uses JUCE version - AudioOss + AudioDeviceSetupWidget - - Device - - - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - &R Скинути (%1%2) - - - - &Copy value (%1%2) - &C Копіювати значення (%1%2) - - - - &Paste value (%1%2) - &P Вставити значення (%1%2) - - - - &Paste value - - - - - Edit song-global automation - Змінити глоабльную автоматизацію композиції - - - - Remove song-global automation - Прибрати глобальну автоматизацію композиції - - - - Remove all linked controls - Прибрати все приєднане управління - - - - Connected to %1 - Приєднано до %1 - - - - Connected to controller - Приєднано до контролера - - - - Edit connection... - Налаштувати з'єднання... - - - - Remove connection - Видалити з'єднання - - - - Connect to controller... - З'єднати з контролером ... - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - Відкрийте редатор автоматизації через контекстне меню регулятора! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - Гра/Пауза поточної мелодії (Пробіл) - - - - Stop playing of current clip (Space) - Зупинити програвання поточної мелодії (Пробіл) - - - - Edit actions - Зміна - - - - Draw mode (Shift+D) - Режим малювання (Shift + D) - - - - Erase mode (Shift+E) - Режим стирання (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - Перевернути вертикально - - - - Flip horizontally - Перевернути горизонтально - - - - Interpolation controls - Управління інтерполяцією - - - - Discrete progression - Дискретна прогресія - - - - Linear progression - Лінійна прогресія - - - - Cubic Hermite progression - Кубічна Ермітова прогресія - - - - Tension value for spline - Величина напруженості для сплайна - - - - Tension: - Напруженість: - - - - Zoom controls - Управління масштабом - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization controls - Управління квантуванням - - - - Quantization - Квантування - - - - - Automation Editor - no clip - Редактор автоматизації - немає шаблону - - - - - Automation Editor - %1 - Редактор автоматизації - %1 - - - - Model is already connected to this clip. - Модель вже підключена до цього шаблону. - - - - AutomationClip - - - Drag a control while pressing <%1> - Тягніть контроль утримуючи <%1> - - - - AutomationClipView - - - Open in Automation editor - Відкрити в редакторі автоматизації - - - - Clear - Очистити - - - - Reset name - Скинути назву - - - - Change name - Перейменувати - - - - Set/clear record - Встановити/очистити запис - - - - Flip Vertically (Visible) - Перевернути вертикально (Видиме) - - - - Flip Horizontally (Visible) - Перевернути горизонтально (Видиме) - - - - %1 Connections - З'єднання %1 - - - - Disconnect "%1" - Від'єднати «%1» - - - - Model is already connected to this clip. - Модель вже підключена до цього шаблону. - - - - AutomationTrack - - - Automation track - Доріжка автоматизації - - - - PatternEditor - - - Beat+Bassline Editor - Ритм Бас Редактор - - - - Play/pause current beat/bassline (Space) - Грати/пауза поточної лінії ритму/басу (Пробіл) - - - - Stop playback of current beat/bassline (Space) - Зупинити відтворення поточної лінії ритм-басу (Пробіл) - - - - Beat selector - Вибір ударних - - - - Track and step actions - Дії для доріжки чи її частини - - - - Add beat/bassline - Додати ритм/бас - - - - Clone beat/bassline clip - - - - - Add sample-track - Додати доріжку запису - - - - Add automation-track - Додати доріжку автоматизації - - - - Remove steps - Видалити такти - - - - Add steps - Додати такти - - - - Clone Steps - Клонувати такти - - - - PatternClipView - - - Open in Beat+Bassline-Editor - Відкрити в редакторі ритму і басу - - - - Reset name - Скинути назву - - - - Change name - Перейменувати - - - - PatternTrack - - - Beat/Bassline %1 - Ритм/Бас лінія %1 - - - - Clone of %1 - Копія %1 - - - - BassBoosterControlDialog - - - FREQ - ЧАСТ - - - - Frequency: - Частота: - - - - GAIN - ПІДС - - - - Gain: - Підсилення: - - - - RATIO - ВІДН - - - - Ratio: - Відношення: - - - - BassBoosterControls - - - Frequency - Частота - - - - Gain - Підсилення - - - - Ratio - Відношення - - - - BitcrushControlDialog - - - IN - ВХД - - - - OUT - ВИХ - - - - - GAIN - ПІДС - - - - Input gain: - Вхідне підсилення: - - - - NOISE - ШУМ - - - - Input noise: - - - - - Output gain: - Вихідне підсилення: - - - - CLIP - ЗРІЗ - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - ЧАСТ - - - - Sample rate: - Частота дискретизації: - - - - STEREO - СТЕРЕО - - - - Stereo difference: - Стерео різниця: - - - - QUANT - КВАНТ - - - - Levels: - Рівні: - - - - BitcrushControls - - - Input gain - Вхідне підсилення - - - - Input noise - - - - - Output gain - Вихідне підсилення - - - - Output clip - - - - - Sample rate - - - - - Stereo difference - - - - - Levels - Рівні - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -899,124 +132,124 @@ If you're interested in translating LMMS in another language or want to imp - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License Ліцензія - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,50 +534,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1377,561 +610,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File &Файл - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help &H Довідка - - toolBar + + Tool Bar - + Disk - - + + Home - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: Час: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings Параметри - + BPM - + Use JACK Transport - + Use Ableton Link - + &New &N Новий - + Ctrl+N - + &Open... &O Відкрити... - - + + Open... - + Ctrl+O - + &Save &S Зберегти - + Ctrl+S - + Save &As... &A Зберегти як... - - + + Save As... - + Ctrl+Shift+S - + &Quit &Q Вийти - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error Помилка - + Failed to load project - + Failed to save project - + Quit Вихід - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - Показати інтерфейс - - CarlaSettingsW @@ -1986,19 +1256,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2019,1487 +1289,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths Шляхи - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: Розмір: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio Аудіо - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - Відношення: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - Вступ: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - Зменшення: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - Утримання: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - Вихідне підсилення - - - - - Gain - Підсилення - - - - Output volume - - - - - Input gain - Вхідне підсилення - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - Відношення - - - - Attack - Вступ - - - - Release - Зменшення - - - - Knee - - - - - Hold - Утримання - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - Вихідне підсилення - - - - Input Gain - Вхідне підсилення - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - Повернення - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - Мікс - - - - Controller - - - Controller %1 - Контролер %1 - - - - ControllerConnectionDialog - - - Connection Settings - Параметры соединения - - - - MIDI CONTROLLER - MIDI-КОНТРОЛЕР - - - - Input channel - Канал введення - - - - CHANNEL - КАНАЛ - - - - Input controller - Контролер введення - - - - CONTROLLER - КОНТРОЛЕР - - - - - Auto Detect - Автовизначення - - - - MIDI-devices to receive MIDI-events from - Пристрої MiDi для прийому подій - - - - USER CONTROLLER - КОРИСТ. КОНТРОЛЕР - - - - MAPPING FUNCTION - ПЕРЕВИЗНАЧЕННЯ - - - - OK - ОК - - - - Cancel - Відміна - - - - LMMS - ЛММС - - - - Cycle Detected. - Виявлено цикл. - - - - ControllerRackView - - - Controller Rack - Стійка контролерів - - - - Add - Додати - - - - Confirm Delete - Підтвердити видалення - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Чи підтверджуєте видалення? Є можливі зв'язки з цим контролером, потім їх не можна буде повернути.. - - - - ControllerView - - - Controls - Управління - - - - Rename controller - Перейменувати контролер - - - - Enter the new name for this controller - Введіть нову назву контролера - - - - LFO - LFO - - - - &Remove this controller - &R Видалити цей контролер - - - - Re&name this controller - &N Перейменувати цей контролер - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - Повернення - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - Вихідне підсилення - - - - DelayControlsDialog - - - DELAY - ЗАТРИМ - - - - Delay time - - - - - FDBK - FDBK - - - - Feedback amount - - - - - RATE - ЧАСТ - - - - LFO frequency - - - - - AMNT - ГЛИБ - - - - LFO amount - - - - - Out gain - - - - - Gain - Підсилення - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - Нічого - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3525,27 +1897,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3600,948 +1951,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - ЧАСТ - - - - - Cutoff frequency - Зріз частоти - - - - - RESO - РЕЗО - - - - - Resonance - Резонанс - - - - - GAIN - ПІДС - - - - - Gain - Підсилення - - - - MIX - МІКС - - - - Mix - Мікс - - - - Filter 1 enabled - Фільтр 1 включено - - - - Filter 2 enabled - Фільтр 2 включено - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - Фільтр 1 включено - - - - Filter 1 type - Тип фільтру - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - Кіл./Резонансу 1 - - - - Gain 1 - Підсилення 1 - - - - Mix - Мікс - - - - Filter 2 enabled - Фільтр 2 включено - - - - Filter 2 type - Тип фільтру 2 - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - Кіл./Резонансу 2 - - - - Gain 2 - Підсилення 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - Смуго-загороджуючий - - - - - All-pass - - - - - - Moog - Муг - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - 2x Муг - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - SV Смуго-заг - - - - - Fast Formant - Швидка форманта - - - - - Tripole - Тріполі - - - - Editor - - - Transport controls - Управління засобами сполучення - - - - Play (Space) - Грати (Пробіл) - - - - Stop (Space) - Зупинити (Пробіл) - - - - Record - Запис - - - - Record while playing - Запис під час програвання - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - Ефект включений - - - - Wet/Dry mix - Насиченість - - - - Gate - Шлюз - - - - Decay - Згасання - - - - EffectChain - - - Effects enabled - Ефекти включені - - - - EffectRackView - - - EFFECTS CHAIN - МЕРЕЖА ЕФЕКТІВ - - - - Add effect - Додати ефект - - - - EffectSelectDialog - - - Add effect - Додати ефект - - - - - Name - І'мя - - - - Type - Тип - - - - Description - Опис - - - - Author - Автор - - - - EffectView - - - On/Off - Увімк/Вимк - - - - W/D - НАСИЧ - - - - Wet Level: - Рівень насиченості: - - - - DECAY - ЗГАСАННЯ - - - - Time: - Час: - - - - GATE - ШЛЮЗ - - - - Gate: - Шлюз: - - - - Controls - Управління - - - - Move &up - &u Перемістити вище - - - - Move &down - &d Перемістити нижче - - - - &Remove this plugin - &R Видалити цей плагін - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - - - - - - ATT - ATT - - - - - Attack: - Вступ: - - - - HOLD - HOLD - - - - Hold: - Утримання: - - - - DEC - DEC - - - - Decay: - Згасання: - - - - SUST - SUST - - - - Sustain: - Витримка: - - - - REL - REL - - - - Release: - Зменшення: - - - - - AMT - AMT - - - - - Modulation amount: - Глибина модуляції: - - - - SPD - SPD - - - - Frequency: - Частота: - - - - FREQ x 100 - ЧАСТОТА x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - мс/LFO: - - - - Hint - Підказка - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - Вхідне підсилення - - - - Output gain - Вихідне підсилення - - - - Low-shelf gain - - - - - Peak 1 gain - Пік 1 підсилення - - - - Peak 2 gain - Пік 2 підсилення - - - - Peak 3 gain - Пік 3 підсилення - - - - Peak 4 gain - Пік 4 підсилення - - - - High-shelf gain - - - - - HP res - ВЧ резон - - - - Low-shelf res - - - - - Peak 1 BW - Пік 1 BW - - - - Peak 2 BW - Пік 2 BW - - - - Peak 3 BW - Пік 3 BW - - - - Peak 4 BW - Пік 4 BW - - - - High-shelf res - - - - - LP res - НЧ резон - - - - HP freq - НЧ част - - - - Low-shelf freq - - - - - Peak 1 freq - Пік 1 част - - - - Peak 2 freq - Пік 2 част - - - - Peak 3 freq - Пік 3 част - - - - Peak 4 freq - Пік 4 част - - - - High-shelf freq - - - - - LP freq - НЧ част - - - - HP active - ВЧ активна - - - - Low-shelf active - - - - - Peak 1 active - Пік 1 активний - - - - Peak 2 active - Пік 2 активний - - - - Peak 3 active - Пік 3 активний - - - - Peak 4 active - Пік 4 активний - - - - High-shelf active - - - - - LP active - НЧ активна - - - - LP 12 - НЧ 12 - - - - LP 24 - НЧ 24 - - - - LP 48 - НЧ 48 - - - - HP 12 - ВЧ 12 - - - - HP 24 - ВЧ 24 - - - - HP 48 - ВЧ 48 - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - Аналізувати ВХІД - - - - Analyse OUT - Аналізувати ВИХІД - - - - EqControlsDialog - - - HP - ВЧ - - - - Low-shelf - - - - - Peak 1 - Пік 1 - - - - Peak 2 - Пік 2 - - - - Peak 3 - Пік 3 - - - - Peak 4 - Пік 4 - - - - High-shelf - - - - - LP - НЧ - - - - Input gain - Вхідне підсилення - - - - - - Gain - Підсилення - - - - Output gain - Вихідне підсилення - - - - Bandwidth: - Ширина смуги: - - - - Octave - Октава - - - - Resonance : - Резонанс: - - - - Frequency: - Частота: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - Резон: - - - - BW: - ШС: - - - - - Freq: - Част: - - ExportProjectDialog @@ -4725,2126 +2134,652 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - - - - - 1x (None) - 1х (Ні) - - - - 2x - - - - - 4x - - - - - 8x - - - - + Start Почати - + Cancel Відміна - - - Could not open file - Не можу відкрити файл - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Не вдалось відкрити файл %1 для запису. -Перевірте, чи маєте ви права на запис файлу і каталог що його містить і спробуйте знову! - - - - Export project to %1 - Експорт проекту в %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - Помилка - - - - Error while determining file-encoder device. Please try to choose a different output format. - Помилка при визначенні кодека файлу. Спробуйте вибрати інший формат виводу. - - - - Rendering: %1% - Обробка: %1% - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - Введіть нове значення від %1 до %2: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - Оглядач файлів - - - - Search - - - - - Refresh list - - - - - FileBrowserTreeWidget - - - Send to active instrument-track - З'єднати з активним інструментом-доріжкою - - - - Open containing folder - - - - - Song Editor - Музичний редактор - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - Завантаження запису - - - - Please wait, loading sample for preview... - Будь-ласка почекайте, запис завантажується для перегляду ... - - - - Error - Помилка - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- Заводські файли --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - - - - - Seconds - Секунд - - - - Stereo phase - - - - - Regen - Перегенерувати - - - - Noise - Шум - - - - Invert - Інвертувати - - - - FlangerControlsDialog - - - DELAY - ЗАТРИМ - - - - Delay time: - - - - - RATE - ЧАСТ - - - - Period: - Період: - - - - AMNT - ГЛИБ - - - - Amount: - Величина: - - - - PHASE - - - - - Phase: - - - - - FDBK - FDBK - - - - Feedback amount: - - - - - NOISE - ШУМ - - - - White noise amount: - - - - - Invert - Інвертувати - - - - FreeBoyInstrument - - - Sweep time - Час поширення - - - - Sweep direction - Напрям поширення - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - Гучність першого каналу - - - - - - Volume sweep direction - Обсяг напрямку поширення - - - - - - Length of each step in sweep - Довжина кожного кроку в розгортці - - - - Channel 2 volume - Гучність другого каналу - - - - Channel 3 volume - Гучність третього каналу - - - - Channel 4 volume - Гучність четвертого каналу - - - - Shift Register width - Зміщення ширини регістра - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - Від першого каналу до SO2 (лівий канал) - - - - Channel 2 to SO2 (Left) - Від другого каналу до SO2 (лівий канал) - - - - Channel 3 to SO2 (Left) - Від третього каналу до SO2 (лівий канал) - - - - Channel 4 to SO2 (Left) - Від четвертого каналу до SO2 (лівий канал) - - - - Channel 1 to SO1 (Right) - Від першого каналу до SO1 (правий канал) - - - - Channel 2 to SO1 (Right) - Від другого каналу до SO1 (правий канал) - - - - Channel 3 to SO1 (Right) - Від третього каналу до SO1 (правий канал) - - - - Channel 4 to SO1 (Right) - Від четвертого каналу до SO1 (правий канал) - - - - Treble - Дискант - - - - Bass - Бас - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - Час поширення - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - Довжина кожного кроку в розгортці: - - - - - - Length of each step in sweep - Довжина кожного кроку в розгортці - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - Дискант: - - - - Treble - Дискант - - - - Bass: - Бас: - - - - Bass - Бас - - - - Sweep direction - Напрям поширення - - - - - - - - Volume sweep direction - Обсяг напрямку поширення - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - Від першого каналу до SO1 (правий канал) - - - - Channel 2 to SO1 (Right) - Від другого каналу до SO1 (правий канал) - - - - Channel 3 to SO1 (Right) - Від третього каналу до SO1 (правий канал) - - - - Channel 4 to SO1 (Right) - Від четвертого каналу до SO1 (правий канал) - - - - Channel 1 to SO2 (Left) - Від першого каналу до SO2 (лівий канал) - - - - Channel 2 to SO2 (Left) - Від другого каналу до SO2 (лівий канал) - - - - Channel 3 to SO2 (Left) - Від третього каналу до SO2 (лівий канал) - - - - Channel 4 to SO2 (Left) - Від четвертого каналу до SO2 (лівий канал) - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - Величина відправки каналу - - - - Move &left - Рухати вліво &L - - - - Move &right - Рухати вправо &R - - - - Rename &channel - Перейменувати канал &C - - - - R&emove channel - Видалити канал &e - - - - Remove &unused channels - Видалити канали які &не використовуються - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - Призначити до: - - - - New mixer Channel - Новий ефект каналу - - - - Mixer - - - Master - Головний - - - - - - Channel %1 - Ефект %1 - - - - Volume - Гучність - - - - Mute - Тиша - - - - Solo - Соло - - - - MixerView - - - Mixer - Мікшер Ефектів - - - - Fader %1 - Повзунок Ефекту %1 - - - - Mute - Тиша - - - - Mute this mixer channel - Тиша на цьому каналі Ефекту - - - - Solo - Соло - - - - Solo mixer channel - Соло каналу ЕФ - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - Величина відправки з каналу %1 на канал %2 - - - - GigInstrument - - - Bank - Банк - - - - Patch - Патч - - - - Gain - Підсилення - - - - GigInstrumentView - - - - Open GIG file - Відкрити GIG файл - - - - Choose patch - - - - - Gain: - Підсилення: - - - - GIG Files (*.gig) - GIG Файли (*.gig) - - - - GuiApplication - - - Working directory - Робочий каталог LMMS - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Робочий каталог LMMS (%1) не існує. Створити його? Пізніше ви зможете змінити його через Правку -> Параметри. - - - - Preparing UI - Підготовка користувацького інтерфейсу - - - - Preparing song editor - Підготовка музичного редактора - - - - Preparing mixer - Підготовка міксера - - - - Preparing controller rack - Підготовка стійки контролерів - - - - Preparing project notes - Підготовка заміток проекту - - - - Preparing beat/bassline editor - Підготовка ритм/бас редактора - - - - Preparing piano roll - Підготовка нотного редактора - - - - Preparing automation editor - Підготовка редактора автоматизації - - - - InstrumentFunctionArpeggio - - - Arpeggio - Арпеджіо - - - - Arpeggio type - Тип арпеджіо - - - - Arpeggio range - Діапазон арпеджіо - - - - Note repeats - - - - - Cycle steps - Зациклити такти - - - - Skip rate - Частота пропуску - - - - Miss rate - Частота пропуску - - - - Arpeggio time - Період арпеджіо - - - - Arpeggio gate - Шлюз арпеджіо - - - - Arpeggio direction - Напрямок арпеджіо - - - - Arpeggio mode - Режим арпеджіо - - - - Up - Вгору - - - - Down - Вниз - - - - Up and down - Вгору та вниз - - - - Down and up - Вниз та вгору - - - - Random - Випадково - - - - Free - Вільно - - - - Sort - Сортувати - - - - Sync - Синхронізувати - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - ARPEGGIO - - - - RANGE - RANGE - - - - Arpeggio range: - Діапазон арпеджіо: - - - - octave(s) - Октав(а/и) - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - ЦИКЛ - - - - Cycle notes: - Зациклити ноти: - - - - note(s) - нота(и) - - - - SKIP - ПРОПУСК - - - - Skip rate: - Частота пропуску: - - - - - - % - % - - - - MISS - ПРОПУСК - - - - Miss rate: - Частота пропуску: - - - - TIME - TIME - - - - Arpeggio time: - Період арпеджіо: - - - - ms - мс - - - - GATE - GATE - - - - Arpeggio gate: - Шлюз арпеджіо: - - - - Chord: - Акорд: - - - - Direction: - Напрямок: - - - - Mode: - Режим: - InstrumentFunctionNoteStacking - + octave Октава - - + + Major Мажорний - + Majb5 Majb5 - + minor мінорний - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Гармонійний мінор - + Melodic minor Мелодійний мінор - + Whole tone Цілий тон - + Diminished Понижений - + Major pentatonic Пентатонік major - + Minor pentatonic Пентатонік major - + Jap in sen Япон in sen - + Major bebop Major Бібоп - + Dominant bebop Домінтний бібоп - + Blues Блюз - + Arabic Арабська - + Enigmatic Загадкова - + Neopolitan Неаполітанська - + Neopolitan minor Неаполітанський мінор - + Hungarian minor Угорський мінор - + Dorian Дорійська - + Phrygian Фрігійський - + Lydian Лідійська - + Mixolydian Міксолідійська - + Aeolian Еолійська - + Locrian Локріанська - + Minor Мінор - + Chromatic Хроматична - + Half-Whole Diminished Напів-зниження - + 5 5 - + Phrygian dominant Фрігійська домінанта - + Persian Перська - - - Chords - Акорди - - - - Chord type - Тип акорду - - - - Chord range - Діапазон акорду - - - - InstrumentFunctionNoteStackingView - - - STACKING - Стиковка - - - - Chord: - Акорд: - - - - RANGE - ДІАПАЗОН - - - - Chord range: - Діапазон акорду: - - - - octave(s) - Октав[а/и] - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - УВІМК MIDI ВХІД - - - - ENABLE MIDI OUTPUT - УВІМК MIDI ВИВІД - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTE - - - - MIDI devices to receive MIDI events from - MiDi пристрої-джерела подій - - - - MIDI devices to send MIDI events to - MiDi пристрої для відправки подій на них - - - - CUSTOM BASE VELOCITY - СВОЯ БАЗОВА ШВИДКІСТЬ - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - БАЗОВА ШВИДКІСТЬ - - - - InstrumentTuningView - - - MASTER PITCH - ОСНОВНА ТОНАЛЬНІСТЬ - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME VOLUME - + Volume Гучність - + CUTOFF CUTOFF - - + Cutoff frequency Зріз частоти - + RESO RESO - + Resonance Резонанс - - - Envelopes/LFOs - Обвідні/LFO - - - - Filter type - Тип фільтру - - - - Q/Resonance - Кіл./Резонансу - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - Смуго-загороджуючий - - - - All-pass - - - - - Moog - Муг - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - 2x Муг - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - SV Смуго-заг - - - - Fast Formant - Швидка форманта - - - - Tripole - Тріполі - - InstrumentSoundShapingView + JackAppDialog - - TARGET - ЦЕЛЬ - - - - FILTER - ФИЛЬТР - - - - FREQ - ЧАСТ - - - - Cutoff frequency: - Частота зрізу: - - - - Hz - Гц - - - - Q/RESO + + Add JACK Application - - Q/Resonance: + + Note: Features not implemented yet are greyed out - - Envelopes, LFOs and filters are not supported by the current instrument. - Обвідні, LFO і фільтри не підтримуються цим інструментом. - - - - InstrumentTrack - - - - unnamed_track - безіменна_доріжка - - - - Base note - Опорна нота - - - - First note + + Application - - Last note - По останій ноті - - - - Volume - Гучність - - - - Panning - Стерео - - - - Pitch - Тональність - - - - Pitch range - Діапазон тональності - - - - Mixer channel - Канал ЕФ - - - - Master pitch - Основна тональність - - - - Enable/Disable MIDI CC + + Name: - - CC Controller %1 + + Application: - - - Default preset - Основна предустановка - - - - InstrumentTrackView - - - Volume - Гучність - - - - Volume: - Гучність: - - - - VOL - ГУЧН - - - - Panning - Баланс - - - - Panning: - Баланс: - - - - PAN - БАЛ - - - - MIDI - MIDI - - - - Input - Вхід - - - - Output - Вихід - - - - Open/Close MIDI CC Rack + + From template - - Channel %1: %2 - ЕФ %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - ОСНОВНІ НАЛАШТУВАННЯ + + Custom + - - Volume - Гучність + + Template: + - - Volume: - Гучність: + + Command: + - - VOL - ГУЧН + + Setup + - - Panning - Баланс + + Session Manager: + - - Panning: - Стереобаланс: + + None + - - PAN - БАЛ + + Audio inputs: + - - Pitch - Тональність + + MIDI inputs: + - - Pitch: - Тональність: + + Audio outputs: + - - cents - відсотків + + MIDI outputs: + - - PITCH - ТОН + + Take control of main application window + - - Pitch range (semitones) - Діапазон тональності (півтону) + + Workarounds + - - RANGE - ДІАПАЗОН + + Wait for external application start (Advanced, for Debug only) + - - Mixer channel - Канал ЕФ + + Capture only the first X11 Window + - - CHANNEL - ЕФ + + Use previous client output buffer as input for the next client + - - Save current instrument track settings in a preset file - Зберегти поточну інструментаьную доріжку в файл предустановок + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + - - SAVE - ЗБЕРЕГТИ + + Error here + - - Envelope, filter & LFO - Обвідна, фільтр & LFO - - - - Chord stacking & arpeggio - Укладання акордів & арпеджіо - - - - Effects - Ефекти - - - - MIDI - MIDI - - - - Miscellaneous - Різне - - - - Save preset - Зберегти передустановку - - - - XML preset file (*.xpf) - XML файл налаштувань (*.xpf) - - - - Plugin - Модуль - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6852,947 +2787,11 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - Встановити лінійний - - - - Set logarithmic - Встановити логарифмічний - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Введіть нове значення від -96,0 дБFS до 6,0 дБFS: - - - - Please enter a new value between %1 and %2: - Введіть нове значення від %1 до %2: - - - - LadspaControl - - - Link channels - Зв'язати канали - - - - LadspaControlDialog - - - Link Channels - Зв'язати канали - - - - Channel - Канал - - - - LadspaControlView - - - Link channels - Зв'язати канали - - - - Value: - Значення: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - Запитаний невідомий модуль LADSPA «%1». - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Введіть нове значення від %1 до %2: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - Введіть нове значення від %1 до %2: - - - - LeftRightNav - - - - - Previous - Попередній - - - - - - Next - Наступний - - - - Previous (%1) - Попередній (%1) - - - - Next (%1) - Наступний (%1) - - - - LfoController - - - LFO Controller - Контролер LFO - - - - Base value - Основне значення - - - - Oscillator speed - Швидкість хвилі - - - - Oscillator amount - Розмір хвилі - - - - Oscillator phase - Фаза хвилі - - - - Oscillator waveform - Форма хвилі - - - - Frequency Multiplier - Множник частоти - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - БАЗА - - - - Base: - - - - - FREQ - ЧАСТ - - - - LFO frequency: - - - - - AMNT - ГЛИБ - - - - Modulation amount: - Кількість модуляції: - - - - PHS - ФАЗА - - - - Phase offset: - Зсув фази: - - - - degrees - - - - - Sine wave - Синусоїда - - - - Triangle wave - Трикутник - - - - Saw wave - Зигзаг - - - - Square wave - Квадратна хвиля - - - - Moog saw wave - Муг-зигзаг хвиля - - - - Exponential wave - Експоненціальна хвиля - - - - White noise - Білий шум - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - Генерування синтезатора звукозаписів - - - - Initializing data structures - Ініціалізація структур даних - - - - Opening audio and midi devices - Відкриття аудіо та міді пристроїв - - - - Launching mixer threads - Запуск потоків міксера - - - - MainWindow - - - Configuration file - Файл налаштувань - - - - Error while parsing configuration file at line %1:%2: %3 - Помилка під час обробки файлу налаштувань в рядку %1:%2:%3 - - - - Could not open file - Не можу відкрити файл - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Не вдалось відкрити файл %1 для запису. -Перевірте, чи маєте ви права на запис файлу і каталог що його містить і спробуйте знову! - - - - Project recovery - Відновлення проекту - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Присутній файл відновлення. Схоже, остання сесія не закінчилася належним чином або інший екземпляр LMMS вже запущений. Ви хочете, відновити проект цієї сесії? - - - - - Recover - Відновлення - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Відновлення файлу. Будь ласка, не запускайте кілька копій LMMS під час цієї операції. - - - - - Discard - Відкинути - - - - Launch a default session and delete the restored files. This is not reversible. - Запуск за замовчуванням з видаленням файла відновлення. Ця дія не відворотня. - - - - Version %1 - Версія %1 - - - - Preparing plugin browser - Підготовка браузера плагінів - - - - Preparing file browsers - Підготовка переглядача файлів - - - - My Projects - Мої проекти - - - - My Samples - Мої записи - - - - My Presets - Мої передустановки - - - - My Home - Моя домашня тека - - - - Root directory - Кореневий каталог - - - - Volumes - Гучності - - - - My Computer - Мій комп'ютер - - - - &File - &Файл - - - - &New - &N Новий - - - - &Open... - &O Відкрити... - - - - Loading background picture - - - - - &Save - &S Зберегти - - - - Save &As... - &A Зберегти як... - - - - Save as New &Version - Зберегти як нову &Версію - - - - Save as default template - Зберегти як шаблон за замовчуванням - - - - Import... - Імпорт... - - - - E&xport... - &X Експорт ... - - - - E&xport Tracks... - &Експортувати треки ... - - - - Export &MIDI... - Експорт в &MIDI ... - - - - &Quit - &Q Вийти - - - - &Edit - &E Редагування - - - - Undo - Скасувати - - - - Redo - Повторити - - - - Settings - Параметри - - - - &View - &V Перегляд - - - - &Tools - &T Сервіс - - - - &Help - &H Довідка - - - - Online Help - Онлайн Допомога - - - - Help - Довідка - - - - About - Про програму - - - - Create new project - Створити новий проект - - - - Create new project from template - Створити новий проект по шаблону - - - - Open existing project - Відкрити існуючий проект - - - - Recently opened projects - Нещодавні проекти - - - - Save current project - Зберегти поточний проект - - - - Export current project - Експорт проекту - - - - Metronome - - - - - - Song Editor - Музичний редактор - - - - - Beat+Bassline Editor - Редактор шаблонів - - - - - Piano Roll - Нотний редактор - - - - - Automation Editor - Редактор автоматизації - - - - - Mixer - Мікшер Ефектів - - - - Show/hide controller rack - Показати/сховати керування контролерами - - - - Show/hide project notes - Показати/сховати замітки до проекту - - - - Untitled - Без назви - - - - Recover session. Please save your work! - Відновлення сесії. Будь ласка, збережіть свою роботу! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - Відновлений проект не збережено - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Цей проект буво відновлено з попередньої сесії. В даний час він не збережений і буде втрачений, якщо ви його не збережете. Ви хочете, зберегти його зараз? - - - - Project not saved - Проект не збережений - - - - The current project was modified since last saving. Do you want to save it now? - Проект був змінений. Зберегти його зараз? - - - - Open Project - Відкрити проект - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - Зберегти проект - - - - LMMS Project - LMMS проект - - - - LMMS Project Template - Шаблон LMMS проекту - - - - Save project template - Зберегти шаблон проекту - - - - Overwrite default template? - Переписати шаблон за замовчуванням? - - - - This will overwrite your current default template. - Це перезапише поточний шаблон за замовчуванням. - - - - Help not available - Довідка недоступна - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Поки що довідка для LMMS не написана. -Ймовірно, Ви зможете знайти потрібні матеріали на http://lmms.sf.net/wiki. - - - - Controller Rack - Стійка контролерів - - - - Project Notes - Примітки проекту - - - - Fullscreen - - - - - Volume as dBFS - Відображати гучність в децибелах - - - - Smooth scroll - Плавне прокручування - - - - Enable note labels in piano roll - Включити позначення нот у музичному редакторі - - - - MIDI File (*.mid) - MIDI-файл (* mid) - - - - - untitled - Без назви - - - - - Select file for project-export... - Вибір файлу для експорту проекту ... - - - - Select directory for writing exported tracks... - Виберіть теку для запису експортованих доріжок ... - - - - Save project - Зберегти проект - - - - Project saved - Проект збережено - - - - The project %1 is now saved. - Проект %1 збережено. - - - - Project NOT saved. - Проект НЕ ЗБЕРЕЖЕНО. - - - - The project %1 was not saved! - Проект %1 не збережено! - - - - Import file - Імпорт файлу - - - - MIDI sequences - MiDi послідовність - - - - Hydrogen projects - Hydrogen проекти - - - - All file types - Всі типи файлів - - - - MeterDialog - - - - Meter Numerator - Шкала чисел - - - - Meter numerator - - - - - - Meter Denominator - Шкала поділів - - - - Meter denominator - - - - - TIME SIG - ПЕРІОД - - - - MeterModel - - - Numerator - Чисельник - - - - Denominator - Знаменник - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - Контролер MIDI - - - - unnamed_midi_controller - нерозпізнаний міді контролер - - - - MidiImport - - - - Setup incomplete - Установку не завершено - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Ви не увімкнули підтримку програвача SoundFont2 при компіляції LMMS, він використовується для додавання основного звуку в імпортовані Міді файли, тому після імпорту цього міді файлу звуку не буде. - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - Чисельник - - - - Denominator - Знаменник - - - - Track - Трек - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK-сервер не доступний - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Здається, сервер JACK відключений. - - MidiPatternW @@ -7998,2730 +2997,369 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. &Q Вийти - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - Вхід - - - - Output channel - Вихід - - - - Input controller - Контролер входу - - - - Output controller - Контролер виходу - - - - Fixed input velocity - Постійна швидкість введення - - - - Fixed output velocity - Постійна швидкість виведення - - - - Fixed output note - Постійний вихід нот - - - - Output MIDI program - Програма для виведення MiDi - - - - Base velocity - Базова швидкість - - - - Receive MIDI-events - Приймати події MIDI - - - - Send MIDI-events - Відправляти події MIDI - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - Зміщення стерео-фази осциллятора 3 - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - Перегляд обраного - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - Синусоїда - - - - Bandlimited Triangle wave - Трикутна хвиля з обмеженою смугою - - - - Bandlimited Saw wave - Зигзаг хвиля з обмеженою смугою - - - - Bandlimited Ramp wave - Спадаюча хвиля з обмеженою смугою - - - - Bandlimited Square wave - Квадратна хвиля з обмеженою смугою - - - - Bandlimited Moog saw wave - Муг-зигзаг хвиля з обмеженою смугою - - - - - Soft square wave - М'яка прямокутна хвиля - - - - Absolute sine wave - Абсолютна синусоїдна хвиля - - - - - Exponential wave - Експоненціальна хвиля - - - - White noise - Білий шум - - - - Digital Triangle wave - Цифрова трикутна хвиля - - - - Digital Saw wave - Цифрова зигзаг хвиля - - - - Digital Ramp wave - Цифрова спадна хвиля - - - - Digital Square wave - Цифрова квадратна хвиля - - - - Digital Moog saw wave - Цифрова Муг-зигзаг хвиля - - - - Triangle wave - Трикутна хвиля - - - - Saw wave - Зигзаг - - - - Ramp wave - Спадна хвиля - - - - Square wave - Квадратна хвиля - - - - Moog saw wave - Муг-зигзаг хвиля - - - - Abs. sine wave - Синусоїда по модулю - - - - Random - Випадково - - - - Random smooth - Випадкове зглажування - - - - MonstroView - - - Operators view - Операторский вид - - - - Matrix view - Матричний вигляд - - - - - - Volume - Гучність - - - - - - Panning - Баланс - - - - - - Coarse detune - Грубе підстроювання - - - - - - semitones - півтон(а,ів) - - - - - Fine tune left - - - - - - - - cents - відсотків - - - - - Fine tune right - - - - - - - Stereo phase offset - Зміщення стерео-фази - - - - - - - - deg - град - - - - Pulse width - Довжина імпульсу - - - - Send sync on pulse rise - Відправляти синхронізацію на підйомі імпульсу - - - - Send sync on pulse fall - Відправити синхронізацію на падінні пульсу - - - - Hard sync oscillator 2 - Жорстка синхронізація осциллятора 2 - - - - Reverse sync oscillator 2 - Верерс синхронізація осциллятора 2 - - - - Sub-osc mix - Мікс суб-осциляторів - - - - Hard sync oscillator 3 - Жорстка синхронізація осциллятора 3 - - - - Reverse sync oscillator 3 - Верерс синхронізація осциллятора 3 - - - - - - - Attack - Вступ - - - - - Rate - Частота вибірки - - - - - Phase - Фаза - - - - - Pre-delay - Передзатримка - - - - - Hold - Утримання - - - - - Decay - Згасання - - - - - Sustain - Витримка - - - - - Release - Зменшення - - - - - Slope - Нахил - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - Глибина модуляції - - - - MultitapEchoControlDialog - - - Length - Довжина - - - - Step length: - Довжина кроку: - - - - Dry - Сухий - - - - Dry gain: - - - - - Stages - Етапи - - - - Low-pass stages: - - - - - Swap inputs - Обмін входами - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - Гучність першого каналу - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - Грубе підстроювання 2 каналу - - - - Channel 2 Volume - Гучність 2 каналу - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - Гучність третього каналу - - - - Channel 4 volume - Гучність четвертого каналу - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - Основна гучність - - - - Vibrato - Вібрато - - - - NesInstrumentView - - - - - - Volume - Гучність - - - - - - Coarse detune - Грубе підстроювання - - - - - - Envelope length - Довжина обвідної - - - - Enable channel 1 - Увімкнути канал 1 - - - - Enable envelope 1 - Увімкнути обвідну 1 - - - - Enable envelope 1 loop - Увімкнти повтор обвідної 1 - - - - Enable sweep 1 - Увімкнути розгортку 1 - - - - - Sweep amount - Кількість розгортки - - - - - Sweep rate - Темп розгортки - - - - - 12.5% Duty cycle - 12.5% Робочого циклу - - - - - 25% Duty cycle - 25% Робочого циклу - - - - - 50% Duty cycle - 50% Робочого циклу - - - - - 75% Duty cycle - 75% Робочого циклу - - - - Enable channel 2 - Увімкнути канал 2 - - - - Enable envelope 2 - Увімкнути обвідну 2 - - - - Enable envelope 2 loop - Увімкнти повтор обвідної 2 - - - - Enable sweep 2 - Увімкнути розгортку 2 - - - - Enable channel 3 - Увімкнути канал 3 - - - - Noise Frequency - Частота шуму - - - - Frequency sweep - Частота темпу - - - - Enable channel 4 - Увімкнути канал 4 - - - - Enable envelope 4 - Увімкнути обвідну 4 - - - - Enable envelope 4 loop - Увімкнти повтор обвідної 4 - - - - Quantize noise frequency when using note frequency - Квантування частоту шуму при використанні частоти ноти - - - - Use note frequency for noise - Використовувати частоту ноти для шуму - - - - Noise mode - Форма шуму - - - - Master volume - Основна гучність - - - - Vibrato - Вібрато - - - - OpulenzInstrument - - - Patch - Патч - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - Вступ - - - - - Decay - Згасання - - - - - Release - Зменшення - - - - - Frequency multiplier - Множник частоти - - - - OscillatorObject - - - Osc %1 waveform - Форма сигналу осциллятора %1 - - - - Osc %1 harmonic - Осц %1 гармонійний - - - - - Osc %1 volume - Гучність осциллятора %1 - - - - - Osc %1 panning - Стереобаланс для осциллятора %1 - - - - - Osc %1 fine detuning left - Точне підстроювання лівого каналу осциллятора %1 - - - - Osc %1 coarse detuning - Підстроювання осциллятора %1 грубе - - - - Osc %1 fine detuning right - Підстроювання правого каналу осциллятора %1 тонка - - - - Osc %1 phase-offset - Зміщення фази осциллятора %1 - - - - Osc %1 stereo phase-detuning - Підстроювання стерео-фази осциллятора %1 - - - - Osc %1 wave shape - Гладкість сигналу осциллятора %1 - - - - Modulation type %1 - Тип модуляції %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - Натисніть для включення - - PatchesDialog + Qsynth: Channel Preset Q-Синтезатор: Канал передустановлено + Bank selector Селектор банку + Bank Банк + Program selector Селектор програм + Patch Патч + Name І'мя + OK ОК + Cancel Скасувати - - PatmanView - - - Open patch - - - - - Loop - Повтор - - - - Loop mode - Режим повтору - - - - Tune - Підлаштувати - - - - Tune mode - Тип підстроювання - - - - No file selected - Файл не вибрано - - - - Open patch file - Відкрити патч-файл - - - - Patch-Files (*.pat) - Патч-файли (*.pat) - - - - MidiClipView - - - Open in piano-roll - Відкрити в редакторі нот - - - - Set as ghost in piano-roll - - - - - Clear all notes - Очистити всі ноти - - - - Reset name - Скинути назву - - - - Change name - Перейменувати - - - - Add steps - Додати такти - - - - Remove steps - Видалити такти - - - - Clone Steps - Клонувати такти - - - - PeakController - - - Peak Controller - Контролер вершин - - - - Peak Controller Bug - Контролер вершин з багом - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Через помилку в старій версії LMMS контролери вершин не можуть правильно підключатися. Будь-ласка переконайтеся, що контролери вершин правильно приєднані і перезбережіть цей файл, вибачте, за заподіяні незручності. - - - - PeakControllerDialog - - - PEAK - ПІК - - - - LFO Controller - Контролер LFO - - - - PeakControllerEffectControlDialog - - - BASE - БАЗА - - - - Base: - - - - - AMNT - ГЛИБ - - - - Modulation amount: - Глибина модуляції: - - - - MULT - МНОЖ - - - - Amount multiplicator: - - - - - ATCK - ВСТУП - - - - Attack: - Вступ: - - - - DCAY - ЗГАС - - - - Release: - Зменшення: - - - - TRSH - TRSH - - - - Treshold: - Поріг: - - - - Mute output - Заглушити вивід - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - Опорне значення - - - - Modulation amount - Глибина модуляції - - - - Attack - Вступ - - - - Release - Зменшення - - - - Treshold - Поріг - - - - Mute output - Заглушити вивід - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - Гучність нот - - - - Note Panning - Стереофонія нот - - - - Mark/unmark current semitone - Відмітити/Зняти відмітку з поточного півтону - - - - Mark/unmark all corresponding octave semitones - Відмітити/Зняти всі відповідні півтони октави - - - - Mark current scale - Відмітити поточний підйом - - - - Mark current chord - Відмітити поточний акорд - - - - Unmark all - Зняти виділення - - - - Select all notes on this key - Вибрати всі ноти на цій тональності - - - - Note lock - Фіксація нот - - - - Last note - По останій ноті - - - - No key - - - - - No scale - Без підйому - - - - No chord - Прибрати акорди - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - Гучність %1% - - - - Panning: %1% left - Баланс %1% лівий - - - - Panning: %1% right - Баланс %1% правий - - - - Panning: center - Баланс: по середині - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - Відкрийте шаблон за допомогою подвійного клацання мишею! - - - - - Please enter a new value between %1 and %2: - Введіть нове значення від %1 до %2: - - - - PianoRollWindow - - - Play/pause current clip (Space) - Гра/Пауза поточної мелодії (Пробіл) - - - - Record notes from MIDI-device/channel-piano - Записати ноти з цифрового музичного інструмента (MIDI) - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Записати ноти з цифрового музичного інструменту (MIDI) під час відтворення пісні або доріжки Ритм-Басу - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - Зупинити програвання поточної мелодії (Пробіл) - - - - Edit actions - Зміна - - - - Draw mode (Shift+D) - Режим малювання (Shift + D) - - - - Erase mode (Shift+E) - Режим стирання (Shift+E) - - - - Select mode (Shift+S) - Режим вибору нот (Shift+S) - - - - Pitch Bend mode (Shift+T) - Режим Pitch Bend (Shift+T) - - - - Quantize - Квантовать - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - Управління копіюванням та вставкою - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - Управління хронологією - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - Управління масштабом і нотами - - - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization - Квантування - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - Нотний редактор - %1 - - - - - Piano-Roll - no clip - Нотний редактор - без шаблону - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - Опорна нота - - - - First note - - - - - Last note - По останій ноті - - - - Plugin - - - Plugin not found - Модуль не знайдено - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - Модуль «%1» відсутній чи не може бути завантажений! -Причина: «%2» - - - - Error while loading plugin - Помилка завантаження модуля - - - - Failed to load plugin "%1"! - Не вдалося завантажити модуль «%1»! - - PluginBrowser - - Instrument Plugins - Модулі інструментів - - - - Instrument browser - Огляд інструментів - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Ви можете переносити потрібні вам інструменти з цієї панелі в музичний, ритм-бас редактор або в існуючу доріжку інструменту. - - - + no description опис відсутній - + A native amplifier plugin Рідний плагін підсилення - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Простий семплер з різними налаштуваннями для використання записів (наприклад, ударні) в інструментальному трекі - + Boost your bass the fast and simple way Накачай свій бас швидко і просто - + Customizable wavetable synthesizer Налаштовуваний синтезатор звукозаписів (wavetable) - + An oversampling bitcrusher Перевибірка малого дробдення - + Carla Patchbay Instrument Carla Комутаційний інструмент - + Carla Rack Instrument Carla підставочний інструмент - + A dynamic range compressor. - + A 4-band Crossover Equalizer 4-смуговий еквалайзер Кросовер - + A native delay plugin Рідний плагін затримки - + A Dual filter plugin Плагін подвійного фільтру - + plugin for processing dynamics in a flexible way плагін для обробки динаміки гнучким методом - + A native eq plugin Рідний eq плагін - + A native flanger plugin Рідний фланжер плагін - + Emulation of GameBoy (TM) APU Емуляція GameBoy (ТМ) - + Player for GIG files Програвач GIG файлів - + Filter for importing Hydrogen files into LMMS Фільтр для імпорту Hydrogen файлів в LMMS - + Versatile drum synthesizer Універсальний барабанний синтезатор - + List installed LADSPA plugins Показати встановлені модулі LADSPA - + plugin for using arbitrary LADSPA-effects inside LMMS. Модуль, що дозволяє використовувати в LMMS будь які ефекти LADSPA. - + Incomplete monophonic imitation TB-303 - Незавершена монофонічна імітація TB-303 + - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS Фільтри для експорту MIDI-файлів з LMMS - + Filter for importing MIDI-files into LMMS Фільтр для включення файлу MIDI в проект ЛММС - + Monstrous 3-oscillator synth with modulation matrix Монстро 3-осцилляторний синт з матрицею модуляції - + A multitap echo delay plugin Плагін багаторазової послідовної затримки відлуння - + A NES-like synthesizer NES-подібний синтезатор - + 2-operator FM Synth 2-режимний синт модуляції частот (FM synth) - + Additive Synthesizer for organ-like sounds Синтезатор звуків нашталт органу - + GUS-compatible patch instrument Патч-інструмент, сумісний з GUS - + Plugin for controlling knobs with sound peaks Модуль для встановлення значень регуляторів на піках гучності - + Reverb algorithm by Sean Costello Алгоритм реверберації Шона Костелло - + Player for SoundFont files Програвач файлів SoundFont - + LMMS port of sfxr LMMS порт SFXR - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. Емуляція MOS6581 і MOS8580. Використовувалося на комп'ютері Commodore 64. - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file Модуль, що підсилює різницю між каналами стереозапису - + Plugin for freely manipulating stereo output Модуль для довільного управління стереовиходом - + Tuneful things to bang on Мелодійні ударні - + Three powerful oscillators you can modulate in several ways Три потужних генераторів можна модулювати декількома способами - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS VST - хост для підтримки модулів VST(i) в LMMS - + Vibrating string modeler Емуляція вібруючих струн - + plugin for using arbitrary VST effects inside LMMS. плагін для використання довільних VST ефектів всередині LMMS. - + 4-oscillator modulatable wavetable synth 4-генераторний модулюючий синтезатор звукозаписів - + plugin for waveshaping плагін формування сигналу - + Mathematical expression parser - + Embedded ZynAddSubFX Вбудований ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - Тип - - - - Effects - Ефекти - - - - Instruments - Інструменти - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - Скасувати - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - Тип: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - І'мя - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10820,93 +3458,98 @@ This chip was used in the Commodore 64 computer. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: Тип: - + Maker: - + Copyright: - + Unique ID: @@ -10914,16 +3557,457 @@ Plugin Name PluginFactory - + Plugin not found. Модуль не знайдено. - + LMMS plugin %1 does not have a plugin descriptor named %2! LMMS плагін %1 не має опису плагіна з ім'ям %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10938,157 +4022,61 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close - Закрити + @@ -11103,50 +4091,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off Увімк/Вимк - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11161,2286 +4149,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - Примітки проекту - - - - Enter project notes here - Напишіть примітки до проекту тут - - - - Edit Actions - Зміна - - - - &Undo - &U Скасувати - - - - %1+Z - %1+Z - - - - &Redo - &R Повторити - - - - %1+Y - %1+Y - - - - &Copy - &C Копіювати - - - - %1+C - %1+C - - - - Cu&t - &t Вирізати - - - - %1+X - %1+X - - - - &Paste - &P Вставити - - - - %1+V - %1+V - - - - Format Actions - Форматування - - - - &Bold - Напів&жирний - - - - %1+B - %1+B - - - - &Italic - &Курсив - - - - %1+I - %1+I - - - - &Underline - &Підкреслити - - - - %1+U - %1+U - - - - &Left - По &лівому краю - - - - %1+L - %1+L - - - - C&enter - По &центрі - - - - %1+E - %1+E - - - - &Right - По &правому краю - - - - %1+R - %1+R - - - - &Justify - По &ширині - - - - %1+J - %1+J - - - - &Color... - &C Колір... - - ProjectRenderer - + WAV (*.wav) - + FLAC (*.flac) - + OGG (*.ogg) - + MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI Показати інтерфейс - + Help Довідка + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: І'мя: - - URI: - - - - - - + Maker: Розробник: - - - + Copyright: Авторське право: - - + Requires Real Time: Потрібна обробка в реальному часі: - - - - - - + + + Yes Так - - - - - - + + + No Ні - - + Real Time Capable: Робота в реальному часі: - - + In Place Broken: Замість зламаного: - - + Channels In: Канали в: - - + Channels Out: Канали з: - + File: %1 Файл: %1 - + File: Файл: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - &Нещодавно відкриті проекти + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - Перейменувати ... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - Ввід + + Amplify + - - Input gain: - Вхідне підсилення: + + Start of sample + - - Size - Розмір + + End of sample + - - Size: - Розмір: + + Loopback point + - - Color - Колір + + Reverse sample + - - Color: - Колір: + + Loop mode + - - Output - Вивід + + Stutter + - - Output gain: - Вихідне підсилення: + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - Вхідне підсилення + - - Size - Розмір + + Input noise + - - Color - Колір + + Output gain + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - Вихідне підсилення + - SaControls + lmms::SaControls - + Pause - + Reference freeze - + Waterfall - + Averaging - - - Stereo - Стерео - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - Бас + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - Стерео - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - Не вдається відкрити файл - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - Аудіофайли обмежено розміром в %1 МБ і %2 хвилин(и) програвання - - - - Open audio file - Відкрити звуковий файл - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Всі Аудіо-файли (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Файли Wave (*.wav) - - - - OGG-Files (*.ogg) - Файли OGG (*.ogg) - - - - DrumSynth-Files (*.ds) - Файли DrumSynth (*.ds) - - - - FLAC-Files (*.flac) - Файли FLAC (*.flac) - - - - SPEEX-Files (*.spx) - Файли SPEEX (*.spx) - - - - VOC-Files (*.voc) - Файли VOC (*.voc) - - - - AIFF-Files (*.aif *.aiff) - Файли AIFF (*.aif *.aiff) - - - - AU-Files (*.au) - Файли AU (*.au) - - - - RAW-Files (*.raw) - Файли RAW (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - Видалити (середня кнопка мишки) - - - - Delete selection (middle mousebutton) - - - - - Cut - Вирізати - - - - Cut selection - - - - - Copy - Копіювати - - - - Copy selection - - - - - Paste - Вставити - - - - Mute/unmute (<%1> + middle click) - Заглушити/включити (<%1> + середня кнопка миші) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - Перевернути запис - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - Гучність + - + Panning - Баланс + - + Mixer channel - Канал ЕФ + - - + + Sample track - Доріжка запису - - - - SampleTrackView - - - Track volume - Гучність доріжки - - - - Channel volume: - Гучність каналу: - - - - VOL - ГУЧН - - - - Panning - Баланс - - - - Panning: - Баланс: - - - - PAN - БАЛ - - - - Channel %1: %2 - ЕФ %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - ОСНОВНІ НАЛАШТУВАННЯ - - - - Sample volume - - - - - Volume: - Гучність: - - - - VOL - ГУЧН - - - - Panning - Баланс - - - - Panning: - Баланс: - - - - PAN - БАЛ - - - - Mixer channel - Канал ЕФ - - - - CHANNEL - ЕФ - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value + + empty - - - Use built-in NaN handler - Використовувати вбудований обробник NaN - - - - Settings - Параметри - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - Відображати гучність в децибелах - - - - Enable tooltips - Включити підказки - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - Модулі - - - - VST plugins embedding: - - - - - No embedding - Не встановлено - - - - Embed using Qt API - Встановлення використовуючи Qt API - - - - Embed using native Win32 API - Встановлення використовуючи рідний Win32 API - - - - Embed using XEmbed protocol - Встановлення використовуючи протокол XEmbed - - - - Keep plugin windows on top when not embedded - Тримати вікна плагінів наверху, коли вони від'єднані - - - - Sync VST plugins to host playback - Синхронізувати VST плагіни з хостом відтворення - - - - Keep effects running even without input - Продовжувати роботу ефектів навіть без вхідного сигналу - - - - - Audio - Аудіо - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - Робочий каталог LMMS - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - Каталог SF2 - - - - Default SF2 - - - - - GIG directory - Каталог GIG - - - - Theme directory - - - - - Background artwork - Фонове зображення - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - Шляхи - - - - OK - ОК - - - - Cancel - Скасувати - - - - Frames: %1 -Latency: %2 ms - Фрагментів: %1 -Затримка: %2 мс - - - - Choose your GIG directory - Виберіть каталог GIG - - - - Choose your SF2 directory - Виберіть каталог SF2 - - - - minutes - хвилин - - - - minute - хвилина - - - - Disabled - Вимкнено - - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - Зріз частоти + - + Resonance - Резонанс + + + + + Filter type + - Filter type - Тип фільтру - - - Voice 3 off - Голос 3 відкл + - + Volume - Гучність + - + Chip model - Модель чіпа - - - - SidInstrumentView - - - Volume: - Гучність: - - - - Resonance: - Підсилення: - - - - - Cutoff frequency: - Частота зрізу: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - Вступ: - - - - - Decay: - Згасання: - - - - Sustain: - Витримка: - - - - - Release: - Зменшення: - - - - Pulse Width: - Довжина імпульсу: - - - - Coarse: - Грубість: - - - - Pulse wave - - - - - Triangle wave - Трикутник - - - - Saw wave - Зигзаг - - - - Noise - Шум - - - - Sync - Синхро - - - - Ring modulation - - - - - Filtered - Відфільтрований - - - - Test - Тест - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - Закрити + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - Темп + - + Master volume - Основна гучність + - + Master pitch - Основна тональність - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - Повідомлення про помилку в LMMS + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - Не можу відкрити файл - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Неможливо відкрити файл %1, ймовірно, немає дозволу на його читання. -Будь-ласка переконайтеся, що є принаймні права на читання цього файлу і спробуйте ще раз. - - - - Operation denied + + Width - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - Помилка - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - Не можу записати файл - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - Помилка у файлі - - - - The file %1 seems to contain errors and therefore can't be loaded. - Файл %1 можливо містить помилки через які не може завантажитися. - - - - Version difference - Різниця версій - - - - template - шаблон - - - - project - проект - - - - Tempo - Темп - - - - TEMPO - - - - - Tempo in BPM - - - - - High quality mode - Висока якість - - - - - - Master volume - Основна гучність - - - - - - Master pitch - Основна тональність - - - - Value: %1% - Значення: %1% - - - - Value: %1 semitones - Значення: %1 півтон(у/ів) - - SongEditorWindow + lmms::StereoMatrixControls - - Song-Editor - Музичний редактор + + Left to Left + - - Play song (Space) - Почати відтворення (Пробіл) + + Left to Right + - - Record samples from Audio-device - Записати семпл зі звукового пристрою + + Right to Left + - - Record samples from Audio-device while playing song or BB track - Записати семпл з аудіо-пристрої під час відтворення в музичному чи ритм/бас редакторі + + Right to Right + + + + + lmms::Track + + + Mute + - - Stop song (Space) - Зупинити відтворення (Пробіл) + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + - - Track actions - Стежити + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + - - Add beat/bassline - Додати ритм/бас + + Couldn't open file + - - Add sample-track - Додати доріжку запису + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + - - Add automation-track - Додати доріжку автоматизації + + Loading project... + - + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + Edit actions - Зміна - - - - Draw mode - Режим малювання - - - - Knife mode (split sample clips) - - Edit mode (select and move) - Правка (виділення/переміщення) - - - - Timeline controls - Управління хронологією - - - - Bar insert controls + + Draw mode (Shift+D) - - Insert bar + + Erase mode (Shift+E) - - Remove bar + + Draw outValues mode (Shift+C) - + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + Zoom controls - Управління масштабом + - + Horizontal zooming - + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + + + + + + + Global transposition + + + + + 1/%1 Bar + + + + + %1 Bars + + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + + + + + Play song (Space) + + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + + + + + Track actions + + + + + Add pattern-track + + + + + Add sample-track + + + + + Add automation-track + + + + + Edit actions + + + + + Draw mode + + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + + + + + Remove bar + + + + + Zoom controls + + + + + + Zoom + + + + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - Підказка + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - Закрити + - + Maximize - Розгорнути + - + Restore - Відновити + - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - Налаштування для %1 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - Новий проект по шаблону + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - Синхронізація темпу + - + No Sync - Синхронізації немає + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TempoSyncKnob + + + + Tempo Sync + + No Sync + + + + Eight beats - Вісім ударів (дві ноти) + - + Whole note - Ціла нота + - + Half note - Півнота + - + Quarter note - Чверть ноти + - + 8th note - Восьма ноти - - - - 16th note - 1/16 ноти + + 16th note + + + + 32nd note - 1/32 ноти + - + Custom... - Своя... + - + Custom - Своя - - - - Synced to Eight Beats - Синхро по 8 ударам + - Synced to Whole Note - Синхро по цілій ноті + Synced to Eight Beats + - Synced to Half Note - Синхро по половині ноти + Synced to Whole Note + - Synced to Quarter Note - Синхро по чверті ноти + Synced to Half Note + - Synced to 8th Note - Синхро по 1/8 ноти + Synced to Quarter Note + - Synced to 16th Note - Синхро по 1/16 ноти + Synced to 8th Note + + Synced to 16th Note + + + + Synced to 32nd Note - Синхро по 1/32 ноти + - TimeDisplayWidget + lmms::gui::TimeDisplayWidget - + Time units - - - MIN - ХВ - - SEC - С + MIN + - MSEC - МС + SEC + - - BAR - БАР + + MSEC + - BEAT - БІТ + BAR + + BEAT + + + + TICK - ТІК + - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - Після зупинки переходити до місця, з якого почалося відтворення + - + After stopping keep position - Залишатися на місці зупинки + - + Hint - Підказка + - + Press <%1> to disable magnetic loop points. - Натисніть <%1>, щоб прибрати прилипання точок циклу. - - - - Track - - - Mute - Тиша - - - - Solo - Соло - - - - TrackContainer - - - Couldn't import file - Не можу імпортувати файл - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Не можу знайти фільтр для імпорту файла %1. -Для підключення цього файлу перетворіть його в формат, підтримуваний LMMS. - - - - Couldn't open file - Не можу відкрити файл - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Не можу відкрити файл %1 для запису. -Перевірте, чи володієте ви правами на запис в обраний файл і каталог що його містить і спробуйте знову! - - - - Loading project... - Завантаження проекту ... - - - - - Cancel - Скасувати - - - - - Please wait... - Зачекайте будь-ласка ... - - - - Loading cancelled - Завантаження скасовано - - - - Project loading was cancelled. - Завантаження проекту скасовано. - - - - Loading Track %1 (%2/Total %3) - Завантаження треку %1 (%2/з %3) - - - - Importing MIDI-file... - Імпортую файл MIDI... - - - - Clip - - - Mute - Тиша - - - - ClipView - - - Current position - Позиція - - - - Current length - Тривалість - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (від %3:%4 до %5:%6) - - - - Press <%1> and drag to make a copy. - Натисніть <%1> і перетягніть, щоб створити копію. - - - - Press <%1> for free resizing. - Для вільної зміни розміру натисніть <%1>. - - - - Hint - Підказка - - - - Delete (middle mousebutton) - Видалити (середня кнопка мишки) - - - - Delete selection (middle mousebutton) - - Cut - Вирізати - - - - Cut selection + + Set loop begin here - - Merge Selection + + Set loop end here - - Copy - Копіювати - - - - Copy selection + + Loop edit mode (hold shift) - + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + lmms::gui::TrackContentWidget + + Paste - Вставити - - - - Mute/unmute (<%1> + middle click) - Заглушити/включити (<%1> + середня кнопка миші) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - Вставити - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13453,257 +17716,249 @@ Please make sure you have read-permission to the file and the directory containi Mute - Тиша + Solo - Соло + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - Клонувати доріжку - - - - Remove this track - Видалити доріжку - - - - Clear this track - Очистити цю доріжку - - - - Channel %1: %2 - ЕФ %1: %2 - - - - Assign to new mixer Channel - Призначити до нового каналу ефекту - - - - Turn all recording on - Включити все на запис - - - - Turn all recording off - Вимкнути всі записи - - - - Change color - Змінити колір - - - - Reset color to default - Відновити колір за замовчуванням - - - - Set random color - - Clear clip colors + + Remove this track + + + + + Clear this track + + + + + Channel %1: %2 + + + + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - Синхронізувати 1 осциллятор по 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - Синхронізувати осциллятор 2 і 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - Гучність осциллятора %1: + - + Osc %1 panning: - Баланс для осциллятора %1: + - - Osc %1 coarse detuning: - Грубе підстроювання осциллятора %1: - - - - semitones - півтон(а,ів) - - - - Osc %1 fine detuning left: - Точне підстроювання лівого каналу осциллятора %1: - - - + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + cents - Відсотки + - + Osc %1 fine detuning right: - Точна підстройка правого канала осциллятора %1: + - + Osc %1 phase-offset: - Зміщення фази осциллятора %1: + - - + + degrees - градуси + - + Osc %1 stereo phase-detuning: - Підстроювання стерео фази осциллятора %1: + - + Sine wave - Синусоїда + - + Triangle wave - Трикутник + - + Saw wave - Зигзаг + - + Square wave - Квадратна хвиля + - + Moog-like saw wave - + Exponential wave - Експоненціальна хвиля + - + White noise - Білий шум + - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13718,2618 +17973,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - Збільшуючийся номер версії - + lmms::gui::VersionedSaveDialog - Decrement version number - Зменшуючийся номер версії + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - вже існує. Замінити його? + - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Попередній <-> + - + Save preset - Зберегти передустановку + - + Next (+) - Наступний <+> + - + Show/hide GUI - Показати / приховати інтерфейс + - + Turn off all notes - Вимкнути всі ноти + - + DLL-files (*.dll) - Бібліотеки DLL (*.dll) + - + EXE-files (*.exe) - Програми EXE (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - Передустановка + - + by - від + - + - VST plugin control - - Управління VST плагіном + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - Показати/Сховати + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - Попередній <-> + - + Next (+) - Наступний <+> + - + Save preset - Зберегти налаштування + - - + + Effect by: - Ефекти по: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - VST плагін %1 не може бути завантажено. + + + + + Volume + - - Open Preset - Відкрити предустановку - - - - - Vst Plugin Preset (*.fxp *.fxb) - Передустановка VST плагіна (*.fxp, *.fxb) - - - - : default - : основні - - - - Save Preset - Зберегти предустановку - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - Завантаження модуля - - - - Please wait while loading VST plugin... - Будь ласка, зачекайте доки завантажується VST плагін ... - - - - WatsynInstrument - - - Volume A1 - Гучність A1 - - - - Volume A2 - Гучність A2 - - - - Volume B1 - Гучність B1 - - - - Volume B2 - Гучність B2 - - - - Panning A1 - Баланс A1 - - - - Panning A2 - Баланс A2 - - - - Panning B1 - Баланс B1 - - - - Panning B2 - Баланс B2 - - - - Freq. multiplier A1 - Множник частоти A1 - - - - Freq. multiplier A2 - Множник частоти A2 - - - - Freq. multiplier B1 - Множник частоти B1 - - - - Freq. multiplier B2 - Множник частоти B2 - - - - Left detune A1 - Ліве підстроювання A1 - - - - Left detune A2 - Ліве підстроювання A2 - - - - Left detune B1 - Ліве підстроювання B1 - - - - Left detune B2 - Ліве підстроювання B2 - - - - Right detune A1 - Праве підстроювання A1 - - - - Right detune A2 - Праве підстроювання A2 - - - - Right detune B1 - Праве підстроювання B1 - - - - Right detune B2 - Праве підстроювання B2 - - - - A-B Mix - A-B Мікс - - - - A-B Mix envelope amount - A-B Мікс кіл. обвідної - - - - A-B Mix envelope attack - A-B Мікс атаки обвідної - - - - A-B Mix envelope hold - A-B Мікс утримання обвідної - - - - A-B Mix envelope decay - A-B Мікс згасання обвідної - - - - A1-B2 Crosstalk - Перехресні перешкоди A1-B2 - - - - A2-A1 modulation - Модуляція A2-A1 - - - - B2-B1 modulation - Модуляція B2-B1 - - - - Selected graph - Обраний графік - - - - WatsynView - + + - - - Volume - Гучність + Panning + + + - - - Panning - Баланс + Freq. multiplier + + + - - - Freq. multiplier - Множник частоти - - - - - - Left detune - Ліве підстроювання + + + + + + + - - - - - - cents - відсотків + + + + + + + + Right detune + + + + + A-B Mix + - - - - Right detune - Праве підстроювання - - - - A-B Mix - A-B Мікс - - - Mix envelope amount - Мікс кількості обвідної + - + Mix envelope attack - A-B Мікс вступу обвідної + - + Mix envelope hold - A-B Мікс утримання обвідної + - + Mix envelope decay - A-B Мікс згасання обвідної + - + Crosstalk - Перехід + - + Select oscillator A1 - Виберіть генератор A1 + - + Select oscillator A2 - Виберіть генератор A2 + - + Select oscillator B1 - Виберіть генератор B1 + - + Select oscillator B2 - Виберіть генератор B2 + - + Mix output of A2 to A1 - Змішати виходи A2 до A1 + - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - Змішати виходи В2 до В1 + - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - Тут ви можете малювати власний сигнал. + - + Load waveform - Завантаження форми звуку + - + Load a waveform from a sample file - + Phase left - Фаза зліва + - + Shift phase by -15 degrees - + Phase right - Фаза праворуч + - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - Нормалізувати - - - - Invert - Інвертувати + - - + + Smooth - Згладити + - - + + Sine wave - Синусоїда + - - - + + + Triangle wave - Трикутна хвиля + - + Saw wave - Зигзаг + - - + + Square wave - Квадратна хвиля - - - - Xpressive - - - Selected graph - Обраний графік - - - - A1 - - - - - A2 - - - - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - - Draw your own waveform here by dragging your mouse on this graph. - Тут ви можете малювати власний сигнал. - - - - Select oscillator W1 - - - - - Select oscillator W2 - - - - - Select oscillator W3 - - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - - - - - - Sine wave - Синусоїда - - - - - Moog-saw wave - - - - - - Exponential wave - Експоненціальна хвиля - - - - - Saw wave - Зигзаг - - - - - User-defined wave - - - - - - Triangle wave - Трикутник - - - - - Square wave - Квадратна хвиля - - - - - White noise - Білий шум - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - Портаменто - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - Ширина смуги - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - Портаменто: - - - - PORT - PORT - - - - Filter frequency: - - - - - FREQ - FREQ - - - - Filter resonance: - - - - - RES - RES - - - - Bandwidth: - Смуга пропускання: - - - - BW - BW - - - - FM gain: - - - - - FM GAIN - FM GAIN - - - - Resonance center frequency: - Частота центру резонансу: - - - - RES CF - RES CF - - - - Resonance bandwidth: - Ширина смуги резонансу: - - - - RES BW - RES BW - - - - Forward MIDI control changes - - - - - Show GUI - Показати інтерфейс - - - - AudioFileProcessor - - - Amplify - Підсилення - - - - Start of sample - Початок запису - - - - End of sample - Кінець запису - - - - Loopback point - Точка повернення з повтору - - - - Reverse sample - Перевернути запис - - - - Loop mode - Режим повтору - - - - Stutter - Заїкання - - - - Interpolation mode - Режим Інтерполяції - - - - None - Нічого - - - - Linear - Лінійний - - - - Sinc - Синхронізований - - - - Sample not found: %1 - Запис не знайдено: %1 - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - Тут ви можете малювати власний сигнал. - - - - - Sine wave - Синусоїда - - - - - Triangle wave - Трикутник - - - - - Saw wave - Зигзаг - - - - - Square wave - Квадрат - - - - - White noise - Білий шум - - - - - User-defined wave - - - - - - Smooth waveform - Згладжений сигнал - - - - Interpolation - Інтерполяція - - - - Normalize - Нормалізувати - - - - DynProcControlDialog - - + INPUT - ВХІД + - + Input gain: - Вхідне підсилення: + - + OUTPUT - ВИХІД - - - - Output gain: - Вихідне підсилення: - - - - ATTACK - ВСТУП - - - - Peak attack time: - Час пікової атаки: - - - - RELEASE - ЗМЕНШЕННЯ - - - - Peak release time: - Час відпуску піку: - - - - - Reset wavegraph - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - Процес заснований на максимумі від обох каналів - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - Процес заснований на середньому обох каналів - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - Обробляє кожен стерео канал незалежно - - - - DynProcControls - - - Input gain - Вхідне підсилення - - - - Output gain - Вихідне підсилення - - - - Attack time - Час вступу - - - - Release time - Час зменшення - - - - Stereo mode - Стерео режим - - - - graphModel - - - Graph - Графік - - - - KickerInstrument - - - Start frequency - Початкова частота - - - - End frequency - Кінцева частота - - - - Length - Довжина - - - - Start distortion - - - - - End distortion - - - - - Gain - Підсилення - - - - Envelope slope - - - - - Noise - Шум - - - - Click - Натисніть - - - - Frequency slope - - - - - Start from note - Почати з замітки - - - - End to note - Закінчити заміткою - - - - KickerInstrumentView - - - Start frequency: - Початкова частота: - - - - End frequency: - Кінцева частота: - - - - Frequency slope: - - - - - Gain: - Підсилення: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - Натиснення: - - - - Noise: - Шум: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - Доступні ефекти - - - - - Unavailable Effects - Недоступні ефекти - - - - - Instruments - Інструменти - - - - - Analysis Tools - Аналізатори - - - - - Don't know - Невідомі - - - - Type: - Тип: - - - - LadspaDescription - - - Plugins - Модулі - - - - Description - Опис - - - - LadspaPortDialog - - - Ports - Порти - - - - Name - І'мя - - - - Rate - Частота вибірки - - - - Direction - Напрямок - - - - Type - Тип - - - - Min < Default < Max - Менше < Стандарт <Більше - - - - Logarithmic - Логарифмічний - - - - SR Dependent - Залежність від SR - - - - Audio - Аудіо - - - - Control - Управління - - - - Input - Ввід - - - - Output - Вивід - - - - Toggled - Увімкнено - - - - Integer - Ціле - - - - Float - Дробове - - - - - Yes - Так - - - - Lb302Synth - - - VCF Cutoff Frequency - Частота зрізу VCF - - - - VCF Resonance - Посилення VCF - - - - VCF Envelope Mod - Модуляція обвідної VCF - - - - VCF Envelope Decay - Спад обвідної VCF - - - - Distortion - Спотворення - - - - Waveform - Форма хвилі - - - - Slide Decay - Зміщення згасання - - - - Slide - Зміщення - - - - Accent - Акцент - - - - Dead - Глухо - - - - 24dB/oct Filter - 24дБ/окт фільтр - - - - Lb302SynthView - - - Cutoff Freq: - Частота зрізу: - - - - Resonance: - Резонанс: - - - - Env Mod: - Мод Обвідної: - - - - Decay: - Згасання: - - - - 303-es-que, 24dB/octave, 3 pole filter - 303-ій, 24дБ/октаву, 3-польний фільтр - - - - Slide Decay: - Зміщення згасання: - - - - DIST: - СПОТ: - - - - Saw wave - Зигзаг - - - - Click here for a saw-wave. - Згенерувати зигзаг. - - - - Triangle wave - Трикутна хвиля - - - - Click here for a triangle-wave. - Згенерувати трикутний сигнал. - - - - Square wave - Квадрат - - - - Click here for a square-wave. - Згенерувати квадратний сигнал. - - - - Rounded square wave - Хвиля округленого квадрату - - - - Click here for a square-wave with a rounded end. - Створити квадратну хвилю закруглену в кінці. - - - - Moog wave - Муг хвиля - - - - Click here for a moog-like wave. - Згенерувати хвилю схожу на муг. - - - - Sine wave - Синусоїда - - - - Click for a sine-wave. - Генерувати гармонійний (синусоїдальний) сигнал. - - - - - White noise wave - Білий шум - - - - Click here for an exponential wave. - Генерувати експонентний сигнал. - - - - Click here for white-noise. - Згенерувати білий шум. - - - - Bandlimited saw wave - Зигзаг хвиля з обмеженою смугою - - - - Click here for bandlimited saw wave. - Натисніть тут для пилкоподібної хвилі з обмеженою смугою. - - - - Bandlimited square wave - Квадратна хвиля з обмеженою смугою - - - - Click here for bandlimited square wave. - Натисніть тут для квадратної хвилі з обмеженою смугою. - - - - Bandlimited triangle wave - Трикутна хвиля з обмеженою смугою - - - - Click here for bandlimited triangle wave. - Натисніть тут для трикутної хвилі з обмеженою смугою. - - - - Bandlimited moog saw wave - Муг-зигзаг хвиля з обмеженою смугою - - - - Click here for bandlimited moog saw wave. - Натисніть тут для муг-зигзаг хвилі з обмеженою смугою. - - - - MalletsInstrument - - - Hardness - Жорсткість - - - - Position - Положення - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - Модулятор - - - - Crossfade - Перехід - - - - LFO speed - Швидкість LFO - - - - LFO depth - - - - - ADSR - ADSR - - - - Pressure - Тиск - - - - Motion - Рух - - - - Speed - Швидкість - - - - Bowed - Нахил - - - - Spread - Розкид - - - - Marimba - Марімба - - - - Vibraphone - Віброфон - - - - Agogo - Дискотека - - - - Wood 1 - - - - - Reso - Ресо - - - - Wood 2 - - - - - Beats - Удари - - - - Two fixed - - - - - Clump - Важка хода - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - Скло - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - Інструмент - - - - Spread - Розкид - - - - Spread: - Розкид: - - - - Missing files - Відсутні файли - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Схоже, що встановлені не всі пакети Stk. Вам слід це перевірити! - - - - Hardness - Жорсткість - - - - Hardness: - Жорсткість: - - - - Position - Положення - - - - Position: - Положення: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - Модулятор - - - - Modulator: - Модулятор: - - - - Crossfade - Перехід - - - - Crossfade: - Перехід: - - - - LFO speed - Швидкість LFO - - - - LFO speed: - Швидкість LFO: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - ADSR - - - - ADSR: - ADSR: - - - - Pressure - Тиск - - - - Pressure: - Тиск: - - - - Speed - Швидкість - - - - Speed: - Швидкість: - - - - ManageVSTEffectView - - - - VST parameter control - Управление VST параметрами - - - - VST sync - - - - - - Automated - Автоматизовано - - - - Close - Закрити - - - - ManageVestigeInstrumentView - - - - - VST plugin control - Управління VST плагіном - - - - VST Sync - VST синхронізація - - - - - Automated - Автоматизовано - - - - Close - Закрити - - - - OrganicInstrument - - - Distortion - Спотворення - - - - Volume - Гучність - - - - OrganicInstrumentView - - - Distortion: - Спотворення: - - - - Volume: - Гучність: - - - - Randomise - Випадково - - - - - Osc %1 waveform: - Форма сигналу осциллятора %1: - - - - Osc %1 volume: - Гучність осциллятора %1: - - - - Osc %1 panning: - Баланс для осциллятора %1: - - - - Osc %1 stereo detuning - Осц %1 стерео расстройка - - - - cents - соті - - - - Osc %1 harmonic: - Осц %1 гармоніка: - - - - PatchesDialog - - - Qsynth: Channel Preset - Q-Синтезатор: Канал передустановлено - - - - Bank selector - Селектор банку - - - - Bank - Банк - - - - Program selector - Селектор програм - - - - Patch - Патч - - - - Name - І'мя - - - - OK - ОК - - - - Cancel - Скасувати - - - - Sf2Instrument - - - Bank - Банк - - - - Patch - Патч - - - - Gain - Посилення - - - - Reverb - Луна - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - Хор (Приспів) - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - soundfont %1 не вдається завантажити. - - - - Sf2InstrumentView - - - - Open SoundFont file - Відкрити файл SoundFront - - - - Choose patch - - - - - Gain: - Підсилення: - - - - Apply reverb (if supported) - Створити відлуння (якщо підтримується) - - - - Room size: - - - - - Damping: - - - - - Width: - Ширина: - - - - - Level: - - - - - Apply chorus (if supported) - Створити ефект хору (якщо підтримується) - - - - Voices: - - - - - Speed: - Швидкість: - - - - Depth: - Глибина: - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - Ширина: - - - - StereoEnhancerControls - - - Width - Ширина - - - - StereoMatrixControlDialog - - - Left to Left Vol: - Від лівого на лівий: - - - - Left to Right Vol: - Від лівого на правий: - - - - Right to Left Vol: - Від правого на лівий: - - - - Right to Right Vol: - Від правого на правий: - - - - StereoMatrixControls - - - Left to Left - Від лівого на лівий - - - - Left to Right - Від лівого на правий - - - - Right to Left - Від правого на лівий - - - - Right to Right - Від правого на правий - - - - VestigeInstrument - - - Loading plugin - Завантаження модуля - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - Гучність %1-й струни - - - - String %1 stiffness - Жорсткість %1-й струни - - - - Pick %1 position - Лад %1 - - - - Pickup %1 position - Положення %1-го звукознімача - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - Імпульс %1 - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - Жорсткість: - - - - Pick position: - Ударна позиція: - - - - Pickup position: - Положення звукознімача: - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - Октава - - - - Impulse Editor - Редактор сигналу - - - - Enable waveform - Включити сигнал - - - - Enable/disable string - - - - - String - Струна - - - - - Sine wave - Синусоїда - - - - - Triangle wave - Трикутник - - - - - Saw wave - Зигзаг - - - - - Square wave - Квадратна хвиля - - - - - White noise - Білий шум - - - - - User-defined wave - - - - - - Smooth waveform - Згладжений сигнал - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - Голос %1 довжина сигналу - - - - Voice %1 attack - Вступ %1-го голосу - - - - Voice %1 decay - Згасання %1-го голосу - - - - Voice %1 sustain - Витримка для %1-го голосу - - - - Voice %1 release - Зменшення %1-го голосу - - - - Voice %1 coarse detuning - Підналаштування %1-голосу (грубо) - - - - Voice %1 wave shape - Форма сигналу для %1-го голосу - - - - Voice %1 sync - Синхронізація %1-го голосу - - - - Voice %1 ring modulate - Голос %1 кільцевий модулятор - - - - Voice %1 filtered - Фільтрований %1-й голос - - - - Voice %1 test - Голос %1 тест - - - - WaveShaperControlDialog - - - INPUT - ВХІД - - - - Input gain: - Вхідне підсилення: - - - - OUTPUT - ВИХІД - - - - Output gain: - Вихідне підсилення: - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - Зрізати вхідний сигнал + - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - Вхідне підсилення + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - Вихідне підсилення + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file diff --git a/data/locale/zh_CN.ts b/data/locale/zh_CN.ts index 57c080341..fe16e0c0c 100644 --- a/data/locale/zh_CN.ts +++ b/data/locale/zh_CN.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -78,819 +78,57 @@ Zixing Liu <liushuyu at aosc.xyz> - AmplifierControlDialog + AboutJuceDialog - - VOL - 音量 + + About JUCE + 关于 JUCE - - Volume: - 音量: + + <b>About JUCE</b> + <b>关于 JUCE</b> - - PAN - 声相 + + This program uses JUCE version 3.x.x. + 本程序使用 JUCE 3.x.x 版本。 - - Panning: - 声相: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. + JUCE 是一个开源的跨平台 C++ 应用程序框架,用于创建高质量的桌面和移动应用程序。 + +JUCE 的核心模块(juce_audio_basics、juce_audio_devices、juce_core 和 juce_events)采用 ISC 许可证的许可条款。 +其他模块采用 GNU GPL 3.0 许可证。 + +版权所有 (C) 2022 Raw Material Software Limited. - - LEFT - - - - - Left gain: - 左增益: - - - - RIGHT - - - - - Right gain: - 右增益: + + This program uses JUCE version + 本程序使用的JUCE版本为 - AmplifierControls + AudioDeviceSetupWidget - - Volume - 音量 - - - - Panning - 声相 - - - - Left gain - 左增益 - - - - Right gain - 右增益 - - - - AudioAlsaSetupWidget - - - DEVICE - 设备 - - - - CHANNELS - 声道数 - - - - AudioFileProcessorView - - - Open sample - 打开采样文件 - - - - Reverse sample - 反转采样 - - - - Disable loop - 禁用循环 - - - - Enable loop - 开启循环 - - - - Enable ping-pong loop - 启用往复循环 - - - - Continue sample playback across notes - 跨音符继续播放采样 - - - - Amplify: - 放大: - - - - Start point: - 循环起点 - - - - End point: - 循环结束点 - - - - Loopback point: - 循环点: - - - - AudioFileProcessorWaveView - - - Sample length: - 采样长度: - - - - AudioJack - - - JACK client restarted - JACK客户端已重启 - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS由于某些原因与JACK断开连接,这可能是因为LMMS的JACK后端重启导致的,你需要手动重新连接。 - - - - JACK server down - JACK服务崩溃 - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - JACK服务好像崩溃了而且未能正常启动,LMMS不能正常工作,你需要保存你的工作然后重启JACK和LMMS。 - - - - Client name - 客户端名称 - - - - Channels - 通道 - - - - AudioOss - - - Device - 设备 - - - - Channels - 通道 - - - - AudioPortAudio::setupWidget - - - Backend - 后端 - - - - Device - 设备 - - - - AudioPulseAudio - - - Device - 设备 - - - - Channels - 通道 - - - - AudioSdl::setupWidget - - - Device - 设备 - - - - AudioSndio - - - Device - 设备 - - - - Channels - 通道 - - - - AudioSoundIo::setupWidget - - - Backend - 后端 - - - - Device - 设备 - - - - AutomatableModel - - - &Reset (%1%2) - 重置(%1%2)(&R) - - - - &Copy value (%1%2) - 复制值(%1%2)(&C) - - - - &Paste value (%1%2) - 粘贴值(%1%2)(&P) - - - - &Paste value - 粘贴值 (&P) - - - - Edit song-global automation - 编辑歌曲全局自动控制 - - - - Remove song-global automation - 删除歌曲全局自动控制 - - - - Remove all linked controls - 删除所有已连接的控制器 - - - - Connected to %1 - 连接到%1 - - - - Connected to controller - 连接到控制器 - - - - Edit connection... - 编辑连接... - - - - Remove connection - 删除连接 - - - - Connect to controller... - 连接到控制器... - - - - AutomationEditor - - - Edit Value + + [System Default] - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - 请使用控制的上下文菜单打开一个自动控制样式! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - 播放/暂停当前片段(空格) - - - - Stop playing of current clip (Space) - 停止当前片段(空格) - - - - Edit actions - 编辑功能 - - - - Draw mode (Shift+D) - 绘制模式 (Shift+D) - - - - Erase mode (Shift+E) - 擦除模式 (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - 垂直翻转 - - - - Flip horizontally - 水平翻转 - - - - Interpolation controls - 补间控制 - - - - Discrete progression - 离散步进 - - - - Linear progression - 线性步进 - - - - Cubic Hermite progression - 立方 Hermite 步进 - - - - Tension value for spline - 样条函数的张力值 - - - - Tension: - 张力: - - - - Zoom controls - 缩放控制 - - - - Horizontal zooming - 水平缩放 - - - - Vertical zooming - 垂直缩放 - - - - Quantization controls - 量化控制 - - - - Quantization - 量化控制 - - - - - Automation Editor - no clip - 自动控制编辑器 - 没有片段 - - - - - Automation Editor - %1 - 自动控制编辑器 - %1 - - - - Model is already connected to this clip. - 模型已连接到此片段。 - - - - AutomationClip - - - Drag a control while pressing <%1> - 按住<%1>拖动控制器 - - - - AutomationClipView - - - Open in Automation editor - 在自动编辑器(Automation editor)中打开 - - - - Clear - 清除 - - - - Reset name - 重置名称 - - - - Change name - 修改名称 - - - - Set/clear record - 设置/清除录制 - - - - Flip Vertically (Visible) - 垂直翻转 (可见) - - - - Flip Horizontally (Visible) - 水平翻转 (可见) - - - - %1 Connections - %1个连接 - - - - Disconnect "%1" - 断开“%1”的连接 - - - - Model is already connected to this clip. - 模型已连接到此片段。 - - - - AutomationTrack - - - Automation track - 自动控制轨道 - - - - PatternEditor - - - Beat+Bassline Editor - 节拍+低音线编辑器 - - - - Play/pause current beat/bassline (Space) - 播放/暂停当前节拍/低音线(空格) - - - - Stop playback of current beat/bassline (Space) - 停止播放当前节拍/低音线(空格) - - - - Beat selector - 节拍选择器 - - - - Track and step actions - 音轨和音阶动作 - - - - Add beat/bassline - 添加节拍/低音线 - - - - Clone beat/bassline clip - - - - - Add sample-track - 添加采样轨道 - - - - Add automation-track - 添加自动控制轨道 - - - - Remove steps - 移除音阶 - - - - Add steps - 添加音阶 - - - - Clone Steps - 克隆音阶 - - - - PatternClipView - - - Open in Beat+Bassline-Editor - 在节拍+Bassline编辑器中打开 - - - - Reset name - 重置名称 - - - - Change name - 修改名称 - - - - PatternTrack - - - Beat/Bassline %1 - 节拍/Bassline %1 - - - - Clone of %1 - %1 的副本 - - - - BassBoosterControlDialog - - - FREQ - 频率 - - - - Frequency: - 频率: - - - - GAIN - 增益 - - - - Gain: - 增益: - - - - RATIO - 比率 - - - - Ratio: - 比率: - - - - BassBoosterControls - - - Frequency - 频率 - - - - Gain - 增益 - - - - Ratio - 比率 - - - - BitcrushControlDialog - - - IN - 输入 - - - - OUT - 输出 - - - - - GAIN - 增益 - - - - Input gain: - 输入增益: - - - - NOISE - 噪音 - - - - Input noise: - 输入噪音 - - - - Output gain: - 输出增益: - - - - CLIP - 压限 - - - - Output clip: - 输出截幅 - - - - Rate enabled - 采样率缩减至 - - - - Enable sample-rate crushing - 启用采样率缩减 - - - - Depth enabled - 位深缩减至 - - - - Enable bit-depth crushing - 启用位深缩减 - - - - FREQ - 频率 - - - - Sample rate: - 采样率: - - - - STEREO - 立体效果 - - - - Stereo difference: - 双声道差异: - - - - QUANT - 数量 - - - - Levels: - 级别: - - - - BitcrushControls - - - Input gain - 输入增益 - - - - Input noise - 输入噪音 - - - - Output gain - 输出增益 - - - - Output clip - 输出截辐 - - - - Sample rate - 采样率 - - - - Stereo difference - 左右声道差异 - - - - Levels - 级别 - - - - Rate enabled - 采样率缩减至 - - - - Depth enabled - 位深缩减至 - CarlaAboutW About Carla - 关于Carla + 关于 Carla @@ -908,124 +146,124 @@ Zixing Liu <liushuyu at aosc.xyz> 使用许可补充 - + Artwork - + 美工 - + Using KDE Oxygen icon set, designed by Oxygen Team. - + 使用由 Oxygen 团队设计的 KDE Oxygen 图标集。 - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + 包含 Calf Studio Gear、OpenAV 和 OpenOctave 项目中的一些旋钮、背景和其他小型艺术品。 - + VST is a trademark of Steinberg Media Technologies GmbH. - + VST 是 Steinberg Media Technologies GmbH 的商标。 - + Special thanks to António Saraiva for a few extra icons and artwork! - + 特别感谢 António Saraiva 提供了一些额外的图标和美工设计! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + LV2 徽标由 Thorsten Wilms 根据 Peter Shorthose 的概念设计而成。 - + MIDI Keyboard designed by Thorsten Wilms. - - - - - Carla, Carla-Control and Patchbay icons designed by DoosC. - + MIDI 键盘由 Thorsten Wilms 设计。 + Carla, Carla-Control and Patchbay icons designed by DoosC. + Carla、Carla-Control 和 Patchbay 图标由 DoosC 设计。 + + + Features - + 特性 - + AU/AudioUnit: - + AU/AudioUnit: - + LADSPA: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + 文本标签 - + VST2: - + VST2: - + DSSI: - + DSSI: - + LV2: - + LV2: - + VST3: - - - - - OSC - - - - - Host URLs: - - - - - Valid commands: - + VST3: + OSC + 远程控制 + + + + Host URLs: + 主机 URL: + + + + Valid commands: + 可用命令: + + + valid osc commands here - + 可用的远程控制命令在这里 - + Example: - + 例如: - + License 许可证 - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1307,55 +545,335 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + - + OSC Bridge Version - + Plugin Version - + 插件版本 - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + (引擎未运行) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + 使用 Juce 宿主 - + About 85% complete (missing vst bank/presets and some minor stuff) - + 大约完成 85% (缺少 VST 库/预设以及一些小东西) @@ -1363,12 +881,12 @@ POSSIBILITY OF SUCH DAMAGES. MainWindow - + 主窗口 Rack - + 机架 @@ -1378,567 +896,606 @@ POSSIBILITY OF SUCH DAMAGES. Logs - + 日志 Loading... + 载入中... + + + + Save + 保存 + + + + Clear + 清除 + + + + Ctrl+L + Ctrl+L + + + + Auto-Scroll - + Buffer Size: - - - - - Sample Rate: - - - - - ? Xruns - - - - - DSP Load: %p% - - - - - &File - 文件(&F) - - - - &Engine - - - - - &Plugin - - - - - Macros (all plugins) - - - - - &Canvas - + 缓冲区大小: + Sample Rate: + 采样率: + + + + ? Xruns + ? Xruns + + + + DSP Load: %p% + DSP 负载:%p% + + + + &File + 文件 (&F) + + + + &Engine + 引擎 (&E) + + + + &Plugin + 插件 (&P) + + + + Macros (all plugins) + 宏 (所有插件) + + + + &Canvas + 画布 (&C) + + + Zoom - + 缩放 - + &Settings - + 设置 (&S) - + &Help - 帮助(&H) + 帮助 (&H) - - toolBar - + + Tool Bar + 工具栏 - + Disk - + 磁盘 - - + + Home Home - + Transport - + 走带 - + Playback Controls - + 回放控制 - + Time Information - + 时间信息 - + Frame: - + 帧: - + 000'000'000 - + 000'000'000 - + Time: 时间: - + 00:00:00 - + 00:00:00 - + BBT: - + BBT: - + 000|00|0000 - + 000|00|0000 - + Settings 设置 - + BPM - + BPM - + Use JACK Transport - + 使用 JACK 走带 - + Use Ableton Link - + 使用 Ableton 连接 - + &New - 新建(&N) + 新建 (&N) - + Ctrl+N - + Ctrl+N - + &Open... - 打开(&O)... + 打开 (&O)... - - + + Open... - + 打开... - + Ctrl+O - + Ctrl+O - + &Save - 保存(&S) + 保存 (&S) - + Ctrl+S - + Ctrl+S - + Save &As... - 另存为(&A)... + 另存为 (&A)... - - + + Save As... - + 另存为... - + Ctrl+Shift+S - + Ctrl+Shift+S - + &Quit - 退出(&Q) + 退出 (&Q) - + Ctrl+Q - + Ctrl+Q - + &Start - + 启动 (&S) - + F5 - + F5 - + St&op - + 停止 (&O) - + F6 - + F6 - + &Add Plugin... - + 新增插件 (&A)... - + Ctrl+A - + Ctrl+A - + &Remove All - + 删除全部 (&R) - + Enable - + 启用 - + Disable - + 禁用 - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 0% 音量 (静音) - + 100% Volume - + 100% 音量 - + Center Balance - + &Play - + 播放 (&P) - + Ctrl+Shift+P - + Ctrl+Shift+P - + &Stop - + 停止 (&S) - + Ctrl+Shift+X - + Ctrl+Shift+X - + &Backwards - + 倒带 (&B) - + Ctrl+Shift+B - + Ctrl+Shift+B - - &Forwards - - - - - Ctrl+Shift+F - - - - - &Arrange - - - - - Ctrl+G - - - - + &Forwards + 快进 (&F) + + + + Ctrl+Shift+F + Ctrl+Shift+F + + + + &Arrange + 编排 (&A) + + + + Ctrl+G + Ctrl+G + + + + &Refresh - + 刷新 (&R) - + Ctrl+R - + Ctrl+R - + Save &Image... - + 保存图像 (&I)... - + Auto-Fit - + 自动调整 - + Zoom In - + 放大 - + Ctrl++ - + Ctrl++ - + Zoom Out - + 缩小 - + Ctrl+- - + Ctrl+- - + Zoom 100% - + 100% 缩放 - + Ctrl+1 - + Ctrl+1 - + Show &Toolbar - + 显示工具栏 (&T) - + &Configure Carla - + 配置 Carla (&C) - + &About - + 关于 (&A) - + About &JUCE - + 关于 JUCE (&J) - + About &Qt - + 关于 Qt (&Q) - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + 显示时间面板 - + Show &Side Panel - + 显示侧边面板 (&S) - + + Ctrl+P + Ctrl+P + + + &Connect... - + 连接 (&C)... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + 添加 JACK 应用程序 (&J)... - + &Configure driver... - + 配置驱动程序 (&C)... - + Panic - + 恐慌 - + Open custom driver panel... - + 打开自定义驱动面板... + + + + Save Image... (2x zoom) + 保存图像... (2 倍缩放) + + + + Save Image... (4x zoom) + 保存图像... (4 倍缩放) + + + + Copy as Image to Clipboard + 复制图像到剪贴板 + + + + Ctrl+Shift+C + Ctrl+Shift+C CarlaHostWindow - + Export as... - + 导出为... - - - - + + + + Error 错误 - + Failed to load project - + 无法加载工程 - + Failed to save project - + 无法保存工程 - + Quit 退出 - + Are you sure you want to quit Carla? - + 你确定要退出 Carla 吗? - + Could not connect to Audio backend '%1', possible reasons: %2 - + 无法连接到音频后端 “%1”,可能的原因是: +%2 - + Could not connect to Audio backend '%1' - + 无法连接到音频后端 “%1” - + Warning 警告 - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - - - - CarlaInstrumentView - - - Show GUI - 显示图形界面 + 现在仍有已加载插件,要停止引擎需要移除它们。 +要这样做吗? @@ -1951,1564 +1508,667 @@ Do you want to do this now? main - + 主要 canvas - + 画布 engine - + 引擎 osc - + 远程控制 file-paths - + 文件路径 plugin-paths - + 插件路径 wine - + Wine experimental - + 实验性 Widget - + 小组件 - + Main - + 主要 - + Canvas - + 画布 - + Engine - + 引擎 File Paths - + 文件路径 Plugin Paths - + 插件路径 Wine - + Wine - + Experimental - + 实验性 - + <b>Main</b> - + <b>主要 </b> - + Paths 路径 - + Default project folder: - + 默认工程目录: - + Interface - + + Use "Classic" as default rack skin + 使用“经典”作为机架默认皮肤 + + + Interface refresh interval: - - + + ms - + 毫秒 - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme 主题 - + Use Carla "PRO" theme (needs restart) - + 使用 Carla “专业版”主题 (需要重启) - + Color scheme: - + 颜色方案: - + Black - + 黑色 - + System - + 系统 - + Enable experimental features - + 启用实验性特性 - + <b>Canvas</b> - + <b>画布</b> - + Bezier Lines - + Theme: - + 主题: - + Size: - + 大小: - + 775x600 - + 775x600 - + 1550x1200 - - - - - 3100x2400 - - - - - 4650x3600 - - - - - 6200x4800 - + 1550x1200 - Options - + 3100x2400 + 3100x2400 - + + 4650x3600 + 4650x3600 + + + + 6200x4800 + 6200x4800 + + + + 12400x9600 + 12400x9600 + + + + Options + 选项 + + + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + 渲染提示 - + Anti-Aliasing - + 抗锯齿 - + Full canvas repaints (slower, but prevents drawing issues) - + 全画布重绘 (更慢,但可解决绘制问题) - + <b>Engine</b> - + <b>引擎</b> - - + + Core - + 核心 - + Single Client - + 单客户端 - + Multiple Clients - + 多客户端 - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + 音频驱动: - + Process mode: - + 处理模式: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + 在内置“编辑”对话框中允许的最大参数数量 - + Max Parameters: - + 最大参数: - + ... - + ... - + Reset Xrun counter after project load - + 工程加载后重置 Xrun 计数器 - + Plugin UIs - + 插件 UI - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + 使插件 UI 总在最上方 - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + 重启引擎以载入新设置 - + <b>OSC</b> - + <b>远程控制 </b> - + Enable OSC - + 启用远程控制 - + Enable TCP port - + 启用 TCP 端口 - - + + Use specific port: - + 使用指定端口: - + Overridden by CARLA_OSC_TCP_PORT env var - + 被环境变量 CARLA_OSC_TCP_PORT 覆写 - - + + Use randomly assigned port - + 使用随机分配端口 - + Enable UDP port - + 启用 UDP 端口 - + Overridden by CARLA_OSC_UDP_PORT env var - + 被环境变量 CARLA_OSC_UDP_PORT 覆写 - + DSSI UIs require OSC UDP port enabled - + DSSI UI 需要远程控制 UDP 端口已启用 - + <b>File Paths</b> - + <b>文件路径</b> - + Audio 音频 - + MIDI MIDI - + Used for the "audiofile" plugin - + 用于“音频文件”插件 - + Used for the "midifile" plugin - + 用于“MIDI 文件”插件 - - + + Add... - 添加... + 新增... - - + + Remove 移除 - - + + Change... - + 变更... - + <b>Plugin Paths</b> - + <b>插件路径</b> - + LADSPA - + LADSPA - + DSSI - + DSSI - + LV2 - + LV2 - + VST2 - + VST2 - + VST3 - + VST3 - + SF2/3 - + SF2/3 - + SFZ - + SFZ - + + JSFX + JSFX + + + + CLAP + CLAP + + + Restart Carla to find new plugins - + 重启 Carla 以查找新插件 - + <b>Wine</b> - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + 实时优先级 - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + <b>实验性</b> - + Experimental options! Likely to be unstable! - + 实验性选项!大概率不稳定! - + Enable plugin bridges - + 启用插件桥接 - + Enable Wine bridges - + 启用 Wine 桥接 - + Enable jack applications - + 启用 JACK 应用程序 - + Export single plugins to LV2 - + 导出单个插件至 LV2 - + + Use system/desktop-theme icons (needs restart) + 使用系统/桌面主题图标 (需要重启) + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + 在全局命名空间加载 Carla 后端 (不推荐) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + 使用 OpenGL 渲染 (需要重启) - + High Quality Anti-Aliasing (OpenGL only) - + 高质量抗锯齿 (仅限 OpenGL) - + Render Ardour-style "Inline Displays" - + 渲染 Ardour 样式的“内联显示” - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + 强制单声道插件同时运行 2 个实例实现双声道。 +对 VST 插件无效。 - + Force mono plugins as stereo + 强制单声道插件以双声道模式运行 + + + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Prevent plugins from doing bad stuff (needs restart) + + Prevent unsafe calls from plugins (needs restart) + 阻止插件不安全调用 (需要重启) + + + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. - - Whenever possible, run the plugins in bridge mode. - - - - + Run plugins in bridge mode when possible - - - - + + + + Add Path - - - - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - 比率: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - 打击声: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - 释音: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - 持续: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - 输出增益 - - - - - Gain - 增益 - - - - Output volume - - - - - Input gain - 输入增益 - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - 比率 - - - - Attack - 打击声 - - - - Release - 释放 - - - - Knee - - - - - Hold - 保持 - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - - - - - Input Gain - - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - 反馈 - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - 混合 - - - - Controller - - - Controller %1 - 控制器%1 - - - - ControllerConnectionDialog - - - Connection Settings - 连接设置 - - - - MIDI CONTROLLER - MIDI控制器 - - - - Input channel - 输入通道 - - - - CHANNEL - 通道 - - - - Input controller - 输入控制器 - - - - CONTROLLER - 控制器 - - - - - Auto Detect - 自动检测 - - - - MIDI-devices to receive MIDI-events from - 用来接收 MIDI 事件的MIDI 设备 - - - - USER CONTROLLER - 用户控制器 - - - - MAPPING FUNCTION - 映射函数 - - - - OK - 确定 - - - - Cancel - 取消 - - - - LMMS - LMMS - - - - Cycle Detected. - 检测到环路。 - - - - ControllerRackView - - - Controller Rack - 控制器机架 - - - - Add - 增加 - - - - Confirm Delete - 删除前确认 - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - 确定要删除吗?此控制器仍处于被连接状态。此操作不可撤销。 - - - - ControllerView - - - Controls - 控制器 - - - - Rename controller - 重命名控制器 - - - - Enter the new name for this controller - 输入这个控制器的新名称 - - - - LFO - LFO - - - - &Remove this controller - 删除此控制器(&R) - - - - Re&name this controller - 重命名控制器(&N) - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - 反馈 - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - 输出增益 - - - - DelayControlsDialog - - - DELAY - 延迟 - - - - Delay time - - - - - FDBK - 反馈 - - - - Feedback amount - - - - - RATE - - - - - LFO frequency - - - - - AMNT - 数量 - - - - LFO amount - - - - - Out gain - - - - - Gain - 增益 + 新增路径 Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - 设置 - - - - Session Manager: - - - - - None - - - - - Audio inputs: - 音频输入: - - - - MIDI inputs: - MIDI输入: - - - - Audio outputs: - 音频输出: - - - - MIDI outputs: - MIDI输出: - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3517,43 +2177,22 @@ This mode is not available for VST plugins. Remote setup - + 远程设置 UDP Port: - + UDP 端口: Remote host: - + 远程主机: TCP Port: - - - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - + TCP 端口: @@ -3563,7 +2202,7 @@ If you are unsure, leave it as 'Automatic'. TextLabel - + 文本标签 @@ -3576,17 +2215,17 @@ If you are unsure, leave it as 'Automatic'. Driver Settings - + 驱动设置 Device: - + 设备: Buffer size: - + 缓冲区大小: @@ -3596,959 +2235,17 @@ If you are unsure, leave it as 'Automatic'. Triple buffer - + 三重缓冲区 Show Driver Control Panel - + 显示驱动控制面板 Restart the engine to load the new settings - - - - - DualFilterControlDialog - - - - FREQ - 频率 - - - - - Cutoff frequency - 切除频率 - - - - - RESO - 共鸣 - - - - - Resonance - 共鸣 - - - - - GAIN - 增益 - - - - - Gain - 增益 - - - - MIX - 混音 - - - - Mix - 混合 - - - - Filter 1 enabled - 已启用过滤器 1 - - - - Filter 2 enabled - 已启用过滤器 2 - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - 过滤器1 已启用 - - - - Filter 1 type - 过滤器 1 类型 - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - 滤波器 1 Q值 - - - - Gain 1 - 增益 1 - - - - Mix - 混合 - - - - Filter 2 enabled - 已启用过滤器 2 - - - - Filter 2 type - 过滤器 1 类型 {2 ?} - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - 滤波器 2 Q值 - - - - Gain 2 - 增益 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - 凹口滤波器 - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - 2x Moog - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - SV Notch - - - - - Fast Formant - 快速共振峰(Formant) - - - - - Tripole - Tripole - - - - Editor - - - Transport controls - 传输控制 - - - - Play (Space) - 播放(空格) - - - - Stop (Space) - 停止(空格) - - - - Record - 录音 - - - - Record while playing - 播放时录音 - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - 启用效果器 - - - - Wet/Dry mix - 干/湿混合 - - - - Gate - 门限 - - - - Decay - 衰减 - - - - EffectChain - - - Effects enabled - 启用效果器 - - - - EffectRackView - - - EFFECTS CHAIN - 效果器链 - - - - Add effect - 增加效果器 - - - - EffectSelectDialog - - - Add effect - 增加效果器 - - - - - Name - 名称 - - - - Type - 类型 - - - - Description - 描述 - - - - Author - 作者 - - - - EffectView - - - On/Off - 开/关 - - - - W/D - W/D - - - - Wet Level: - 效果度: - - - - DECAY - 衰减 - - - - Time: - 时间: - - - - GATE - 门限 - - - - Gate: - 门限: - - - - Controls - 控制 - - - - Move &up - 向上移(&U) - - - - Move &down - 向下移(&D) - - - - &Remove this plugin - 移除此插件(&R) - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - - - - - - ATT - 打击 - - - - - Attack: - 打击声: - - - - HOLD - 持续 - - - - Hold: - 持续: - - - - DEC - 衰减 - - - - Decay: - 衰减: - - - - SUST - 持续 - - - - Sustain: - 持续: - - - - REL - 释音 - - - - Release: - 释音: - - - - - AMT - 数量 - - - - - Modulation amount: - 调制量: - - - - SPD - 速度 - - - - Frequency: - 频率: - - - - FREQ x 100 - 频率 x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - ms/LFO: - - - - Hint - 提示 - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - 输入增益 - - - - Output gain - 输出增益 - - - - Low-shelf gain - - - - - Peak 1 gain - 峰值1增幅 - - - - Peak 2 gain - 峰值2增幅 - - - - Peak 3 gain - 峰值3增幅 - - - - Peak 4 gain - 峰值4增幅 - - - - High-shelf gain - - - - - HP res - 高通谐振 - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - 低通谐振 - - - - HP freq - 高通截频 - - - - Low-shelf freq - - - - - Peak 1 freq - 峰值1频率 - - - - Peak 2 freq - 峰值2频率 - - - - Peak 3 freq - 峰值3频率 - - - - Peak 4 freq - 峰值4频率 - - - - High-shelf freq - - - - - LP freq - 低通截频 - - - - HP active - 高通启用 - - - - Low-shelf active - - - - - Peak 1 active - 峰值1启用 - - - - Peak 2 active - 峰值2启用 - - - - Peak 3 active - 峰值3启用 - - - - Peak 4 active - 峰值4启用 - - - - High-shelf active - - - - - LP active - 低通启用 - - - - LP 12 - 低通12dB - - - - LP 24 - 低通24dB - - - - LP 48 - 低通48dB - - - - HP 12 - 高通12dB - - - - HP 24 - 高通24dB - - - - HP 48 - 高通48dB - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - 分析输入 - - - - Analyse OUT - 分析输出 - - - - EqControlsDialog - - - HP - 高通 - - - - Low-shelf - - - - - Peak 1 - 峰值1 - - - - Peak 2 - 峰值2 - - - - Peak 3 - 峰值3 - - - - Peak 4 - 峰值4 - - - - High-shelf - - - - - LP - 低通 - - - - Input gain - 输入增益 - - - - - - Gain - 增益 - - - - Output gain - 输出增益 - - - - Bandwidth: - 带宽: - - - - Octave - - - - - Resonance : - 共鸣: - - - - Frequency: - 频率: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - 共鸣: - - - - BW: - - - - - - Freq: - 频率: + 重启引擎以载入新设置 @@ -4561,17 +2258,17 @@ If you are unsure, leave it as 'Automatic'. Export as loop (remove extra bar) - 导出为回环loop(移除结尾的静音) + 导出为循环 (移除结尾的静音) Export between loop markers - 只导出回环标记中间的部分 + 只导出循环标记中间的部分 Render Looped Section: - + 渲染循环节: @@ -4591,7 +2288,7 @@ If you are unsure, leave it as 'Automatic'. Sampling rate: - 采样率: + 采样率: @@ -4621,7 +2318,7 @@ If you are unsure, leave it as 'Automatic'. Bit depth: - 位深: + 位深: @@ -4641,7 +2338,7 @@ If you are unsure, leave it as 'Automatic'. Stereo mode: - 双声道模式: + 双声道模式: @@ -4656,12 +2353,12 @@ If you are unsure, leave it as 'Automatic'. Joint stereo - 联合立体声 + 联合双声道 Compression level: - 压缩级别: + 压缩级别: @@ -4711,7 +2408,7 @@ If you are unsure, leave it as 'Automatic'. Interpolation: - 补间: + 补间: @@ -4731,2129 +2428,655 @@ If you are unsure, leave it as 'Automatic'. Sinc best (slowest) - 最佳 Sinc 补间 (很慢!) + 最佳 Sinc 补间 (最慢!) - - Oversampling: - 过采样: - - - - 1x (None) - 1x (无) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start 开始 - + Cancel 取消 - - - Could not open file - 无法打开文件 - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - 无法写入文件 %1 -请确保您有对该文件以及包含该文件目录的写入权限! - - - - Export project to %1 - 导出项目到 %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - 错误 - - - - Error while determining file-encoder device. Please try to choose a different output format. - 寻找文件编码设备时出错。请使用另外一种输出格式。 - - - - Rendering: %1% - 渲染中:%1% - - - - Fader - - - Set value - 设置值 - - - - Please enter a new value between %1 and %2: - 请输入一个介于%1和%2之间的数值: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - 浏览器 - - - - Search - 搜索 - - - - Refresh list - 刷新列表 - - - - FileBrowserTreeWidget - - - Send to active instrument-track - 发送到活跃的乐器轨道 - - - - Open containing folder - - - - - Song Editor - 显示/隐藏歌曲编辑器 - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - 加载采样中 - - - - Please wait, loading sample for preview... - 请稍候,加载采样中... - - - - Error - 错误 - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - ---软件自带文件--- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - - - - - Seconds - - - - - Stereo phase - - - - - Regen - 重生成 - - - - Noise - 噪音 - - - - Invert - 反转 - - - - FlangerControlsDialog - - - DELAY - 延迟 - - - - Delay time: - - - - - RATE - - - - - Period: - - - - - AMNT - 数量 - - - - Amount: - 数量: - - - - PHASE - - - - - Phase: - - - - - FDBK - 反馈 - - - - Feedback amount: - - - - - NOISE - 噪音 - - - - White noise amount: - - - - - Invert - 反转 - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - 高音 - - - - Bass - 低音 - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - 高音: - - - - Treble - 高音 - - - - Bass: - 低音: - - - - Bass - 低音 - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - 通道发送的数量 - - - - Move &left - 向左移(&L) - - - - Move &right - 向右移(&R) - - - - Rename &channel - 重命名通道(&C) - - - - R&emove channel - 删除通道(&E) - - - - Remove &unused channels - 移除所有未用通道(&U) - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - 分配给: - - - - New mixer Channel - 新的效果通道 - - - - Mixer - - - Master - 主控 - - - - - - Channel %1 - FX %1 - - - - Volume - 音量 - - - - Mute - 静音 - - - - Solo - 独奏 - - - - MixerView - - - Mixer - 效果混合器 - - - - Fader %1 - FX 衰减器 %1 - - - - Mute - 静音 - - - - Mute this mixer channel - 静音此效果通道 - - - - Solo - 独奏 - - - - Solo mixer channel - 独奏效果通道 - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - 从通道 %1 发送到通道 %2 的量 - - - - GigInstrument - - - Bank - - - - - Patch - 音色 - - - - Gain - 增益 - - - - GigInstrumentView - - - - Open GIG file - 打开 GIG 文件 - - - - Choose patch - - - - - Gain: - 增益: - - - - GIG Files (*.gig) - GIG 文件 (*.gig) - - - - GuiApplication - - - Working directory - 工作目录 - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - LMMS工作目录%1不存在,现在新建一个吗?你可以稍后在 编辑 -> 设置 中更改此设置。 - - - - Preparing UI - 正在准备界面 - - - - Preparing song editor - 正在准备歌曲编辑器 - - - - Preparing mixer - 正在准备混音器 - - - - Preparing controller rack - 正在准备控制机架 - - - - Preparing project notes - 正在准备工程注释 - - - - Preparing beat/bassline editor - 正在准备节拍/低音线编辑器 - - - - Preparing piano roll - 正在准备钢琴窗 - - - - Preparing automation editor - 正在准备自动编辑器 - - - - InstrumentFunctionArpeggio - - - Arpeggio - 琶音 - - - - Arpeggio type - 琶音类型 - - - - Arpeggio range - 琶音范围 - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - 跳过率 - - - - Miss rate - 丢失率 - - - - Arpeggio time - 琶音时间 - - - - Arpeggio gate - 琶音门限 - - - - Arpeggio direction - 琶音方向 - - - - Arpeggio mode - 琶音模式 - - - - Up - 向上 - - - - Down - 向下 - - - - Up and down - 上和下 - - - - Down and up - 下和上 - - - - Random - 随机 - - - - Free - 自由 - - - - Sort - 排序 - - - - Sync - 同步 - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - 琶音 - - - - RANGE - 范围 - - - - Arpeggio range: - 琶音范围: - - - - octave(s) - 八度音 - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - 循环 - - - - Cycle notes: - 循环音符: - - - - note(s) - 音符 - - - - SKIP - 跳过 - - - - Skip rate: - 跳过率: - - - - - - % - % - - - - MISS - 丢失 - - - - Miss rate: - 丢失率: - - - - TIME - 时长 - - - - Arpeggio time: - 琶音时间: - - - - ms - 毫秒 - - - - GATE - 门限 - - - - Arpeggio gate: - 琶音门限: - - - - Chord: - 和弦: - - - - Direction: - 方向: - - - - Mode: - 模式: - InstrumentFunctionNoteStacking - + octave octave - - + + Major Major - + Majb5 Majb5 - + minor minor - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor - Harmonic minor + 和声小调 - + Melodic minor - Melodic minor + 旋律小调 - + Whole tone 全音符 - - - Diminished - Diminished - - - - Major pentatonic - Major pentatonic - - - - Minor pentatonic - Minor pentatonic - - - - Jap in sen - Jap in sen - - - - Major bebop - Major bebop - - - - Dominant bebop - Dominant bebop - - - - Blues - Blues - - Arabic - Arabic + Diminished + 减音程 - Enigmatic - Enigmatic + Major pentatonic + 大调五声 - Neopolitan - Neopolitan + Minor pentatonic + 小调五声 - Neopolitan minor - Neopolitan minor + Jap in sen + 日本阴旋 - Hungarian minor - Hungarian minor + Major bebop + 大调比波普 - Dorian - Dorian + Dominant bebop + 属比波普 - Phrygian - + Blues + 布鲁斯 - Lydian - Lydian + Arabic + 阿拉伯音阶 - Mixolydian - Mixolydian + Enigmatic + 神秘音阶 - Aeolian - Aeolian + Neopolitan + 拿坡里音阶 - Locrian - Locrian + Neopolitan minor + 拿坡里小调 - Minor - Minor + Hungarian minor + 匈牙利小调 - Chromatic - Chromatic + Dorian + 多利安 + Phrygian + 弗里几亚 + + + + Lydian + 利底亚 + + + + Mixolydian + 米索利底亚 + + + + Aeolian + 爱欧利安 + + + + Locrian + 罗克里安 + + + + Minor + 小调 + + + + Chromatic + 半音 + + + Half-Whole Diminished 半-全减音程 - + 5 5 - + Phrygian dominant - + 弗里几亚属音阶 - + Persian - - - - - Chords - Chords - - - - Chord type - Chord type - - - - Chord range - Chord range - - - - InstrumentFunctionNoteStackingView - - - STACKING - 堆叠 - - - - Chord: - 和弦: - - - - RANGE - 范围 - - - - Chord range: - 和弦范围: - - - - octave(s) - 八度音 - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - 启用MIDI输入 - - - - ENABLE MIDI OUTPUT - 启用MIDI输出 - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - 音符 - - - - MIDI devices to receive MIDI events from - 用于接收 MIDI 事件的 MIDI 设备 - - - - MIDI devices to send MIDI events to - 用于发送 MIDI 事件的 MIDI 设备 - - - - CUSTOM BASE VELOCITY - 自定义基准力度 - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - 基准力度 - - - - InstrumentTuningView - - - MASTER PITCH - 主音高 - - - - Enables the use of master pitch - + 波斯 InstrumentSoundShaping - + VOLUME 音量 - + Volume 音量 - + CUTOFF 切除 - - + Cutoff frequency 切除频率 - + RESO 共鸣 - + Resonance 共鸣 - - - Envelopes/LFOs - 压限/低频振荡 - - - - Filter type - 过滤器类型 - - - - Q/Resonance - 滤波器Q值 - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - 凹口滤波器 - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - 2x Moog - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - SV Notch - - - - Fast Formant - 快速共振峰(Formant) - - - - Tripole - Tripole - - InstrumentSoundShapingView + JackAppDialog - - TARGET - 目标 + + Add JACK Application + 添加 JACK 应用程序 - - FILTER - 过滤器 + + Note: Features not implemented yet are greyed out + 注意:未实现的特性已标灰 - - FREQ - 频率 + + Application + 应用程序 - - Cutoff frequency: - 频谱刀频率: + + Name: + 名称: - - Hz - Hz + + Application: + 应用程序: - - Q/RESO + + From template + 来自模板 + + + + Custom + 自定义 + + + + Template: + 模板: + + + + Command: + 命令: + + + + Setup + 设置 + + + + Session Manager: + 会话管理: + + + + None + + + + + Audio inputs: + 音频输入: + + + + MIDI inputs: + MIDI 输入: + + + + Audio outputs: + 音频输出: + + + + MIDI outputs: + MIDI 输出: + + + + Take control of main application window + 控制主应用容器 + + + + Workarounds + 解决方案 + + + + Wait for external application start (Advanced, for Debug only) - - Q/Resonance: + + Capture only the first X11 Window + 仅捕获第一个 X11 窗口 + + + + Use previous client output buffer as input for the next client + 使用前一个客户端的输出缓冲区作为下一个客户端输入 + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - Envelopes, LFOs and filters are not supported by the current instrument. - 包络和低频振荡 (LFO) 不被当前乐器支持。 - - - - InstrumentTrack - - - - unnamed_track - 未命名轨道 + + Error here + 这里出错了 - - Base note - 基本音 - - - - First note - - - - - Last note - 上一个音符 - - - - Volume - 音量 - - - - Panning - 声相 - - - - Pitch - 音高 - - - - Pitch range - 音域范围 - - - - Mixer channel - 效果通道 - - - - Master pitch - 主音高 - - - - Enable/Disable MIDI CC - - - - - CC Controller %1 - - - - - - Default preset - 预置 - - - - InstrumentTrackView - - - Volume - 音量 - - - - Volume: - 音量: - - - - VOL - 音量 - - - - Panning - 声相 - - - - Panning: - 声相: - - - - PAN - 声相 - - - - MIDI - MIDI - - - - Input - 输入 - - - - Output - 输出 - - - - Open/Close MIDI CC Rack - - - - - Channel %1: %2 - 效果 %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - 常规设置 - - - - Volume - 音量 - - - - Volume: - 音量: - - - - VOL - 音量 - - - - Panning - 声相 - - - - Panning: - 声相: - - - - PAN - 声相 - - - - Pitch - 音高 - - - - Pitch: - 音高: - - - - cents - 音分 cents - - - - PITCH - 音调 - - - - Pitch range (semitones) - 音域范围(半音) - - - - RANGE - 范围 - - - - Mixer channel - 效果通道 - - - - CHANNEL - 效果 - - - - Save current instrument track settings in a preset file - 保存当前乐器轨道设置到预设文件 - - - - SAVE - 保存 - - - - Envelope, filter & LFO - - - - - Chord stacking & arpeggio - - - - - Effects - 效果 - - - - MIDI - MIDI - - - - Miscellaneous - 杂项 - - - - Save preset - 保存预置 - - - - XML preset file (*.xpf) - XML 预设文件 (*.xpf) - - - - Plugin - 插件 - - - - JackApplicationW - - + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6861,946 +3084,9 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - - - - Knob - - - Set linear - 设置为线性 - - - - Set logarithmic - 设置为对数 - - - - - Set value - 设置值 - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - 请输入介于 -96.0 dBFS 和 6.0 dBFS之间的值: - - - - Please enter a new value between %1 and %2: - 请输入一个介于%1和%2之间的数值: - - - - LadspaControl - - - Link channels - 关联通道 - - - - LadspaControlDialog - - - Link Channels - 连接通道 - - - - Channel - 通道 - - - - LadspaControlView - - - Link channels - 连接通道 - - - - Value: - 值: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - 已请求未知 LADSPA 插件 %1. - - - - LcdFloatSpinBox - - - Set value - 设置值 - - - - Please enter a new value between %1 and %2: - 请输入一个介于 %1 和 %2 的值: - - - - LcdSpinBox - - - Set value - 设置值 - - - - Please enter a new value between %1 and %2: - 请输入一个介于%1和%2之间的数值: - - - - LeftRightNav - - - - - Previous - 上个 - - - - - - Next - 下个 - - - - Previous (%1) - 上 (%1) - - - - Next (%1) - 下 (%1) - - - - LfoController - - - LFO Controller - LFO 控制器 - - - - Base value - 基准值 - - - - Oscillator speed - 振动速度 - - - - Oscillator amount - 振动数量 - - - - Oscillator phase - 振动相位 - - - - Oscillator waveform - 振动波形 - - - - Frequency Multiplier - 频率加倍器 - - - - LfoControllerDialog - - - LFO - LFO - - - - BASE - 基准 - - - - Base: - 基准值: - - - - FREQ - 频率 - - - - LFO frequency: - LFO频率 - - - - AMNT - 数量 - - - - Modulation amount: - 调制量: - - - - PHS - 相位 - - - - Phase offset: - 相位差: - - - - degrees - 角度 - - - - Sine wave - 正弦波 - - - - Triangle wave - 三角波 - - - - Saw wave - 锯齿波 - - - - Square wave - 方波 - - - - Moog saw wave - Moog 锯齿波 - - - - Exponential wave - 指数爆炸波形 - - - - White noise - 白噪音 - - - - User-defined shape. -Double click to pick a file. - 自定义波形 -双击选择波形文件 - - - - Mutliply modulation frequency by 1 - 调制频率乘以1 - - - - Mutliply modulation frequency by 100 - 调制评论乘以100 - - - - Divide modulation frequency by 100 - 调制评论除以100 - - - - Engine - - - Generating wavetables - 正在生成波形表 - - - - Initializing data structures - 正在初始化数据结构 - - - - Opening audio and midi devices - 正在启动音频和 MIDI 设备 - - - - Launching mixer threads - 生在启动混音器线程 - - - - MainWindow - - - Configuration file - 配置文件 - - - - Error while parsing configuration file at line %1:%2: %3 - 解析配置文件发生错误(行%1:%2:%3) - - - - Could not open file - 无法打开文件 - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - 无法写入文件 %1 -请确保您有对该文件以及包含该文件目录的写入权限! - - - - Project recovery - 工程恢复 - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - 发现了一个恢复文件。看上去上个会话没有正常结束或者其他的 LMMS 进程已经运行。你想要恢复这个项目吗? - - - - - Recover - 恢复 - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - 恢复文件。请不要在恢复文件时运行多个 LMMS 程序。 - - - - - Discard - 丢弃 - - - - Launch a default session and delete the restored files. This is not reversible. - 运行一个新的默认会话并且删除恢复文件。此操作无法撤销。 - - - - Version %1 - 版本 %1 - - - - Preparing plugin browser - 正在准备插件浏览器 - - - - Preparing file browsers - 正在准备文件浏览器 - - - - My Projects - 我的工程 - - - - My Samples - 我的采样 - - - - My Presets - 我的预设 - - - - My Home - 我的主目录 - - - - Root directory - 根目录 - - - - Volumes - 音量 - - - - My Computer - 我的电脑 - - - - &File - 文件(&F) - - - - &New - 新建(&N) - - - - &Open... - 打开(&O)... - - - - Loading background picture - 正在加载背景图片 - - - - &Save - 保存(&S) - - - - Save &As... - 另存为(&A)... - - - - Save as New &Version - 保存为新版本(&V) - - - - Save as default template - 保存为默认模板 - - - - Import... - 导入... - - - - E&xport... - 导出(&E)... - - - - E&xport Tracks... - 导出音轨(&X)... - - - - Export &MIDI... - 导出 MIDI (&M)... - - - - &Quit - 退出(&Q) - - - - &Edit - 编辑(&E) - - - - Undo - 撤销 - - - - Redo - 重做 - - - - Settings - 设置 - - - - &View - 视图 (&V) - - - - &Tools - 工具(&T) - - - - &Help - 帮助(&H) - - - - Online Help - 在线帮助 - - - - Help - 帮助 - - - - About - 关于 - - - - Create new project - 新建工程 - - - - Create new project from template - 从模版新建工程 - - - - Open existing project - 打开已有工程 - - - - Recently opened projects - 最近打开的工程 - - - - Save current project - 保存当前工程 - - - - Export current project - 导出当前工程 - - - - Metronome - 节拍器 - - - - - Song Editor - 显示/隐藏歌曲编辑器 - - - - - Beat+Bassline Editor - 显示/隐藏节拍+旋律编辑器 - - - - - Piano Roll - 显示/隐藏钢琴窗 - - - - - Automation Editor - 显示/隐藏自动控制编辑器 - - - - - Mixer - 显示/隐藏混音器 - - - - Show/hide controller rack - 显示/隐藏控制器机架 - - - - Show/hide project notes - 显示/隐藏工程注释 - - - - Untitled - 未标题 - - - - Recover session. Please save your work! - 恢复会话。请保存你的工作! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - 恢复的工程没有保存 - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - 这个工程已从上一个会话中恢复。它现在没有被保存, 并且如果你不保存, 它将会丢失。你现在想保存它吗? - - - - Project not saved - 工程未保存 - - - - The current project was modified since last saving. Do you want to save it now? - 此工程自上次保存后有了修改,你想保存吗? - - - - Open Project - 打开工程 - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - 保存工程 - - - - LMMS Project - LMMS 工程 - - - - LMMS Project Template - LMMS 工程模板 - - - - Save project template - 保存工程模板 - - - - Overwrite default template? - 覆盖默认的模板? - - - - This will overwrite your current default template. - 这将会覆盖你的当前默认模板。 - - - - Help not available - 帮助不可用 - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - LMMS现在没有可用的帮助 -请访问 http://lmms.sf.net/wiki 了解LMMS的相关文档。 - - - - Controller Rack - 显示/隐藏控制器机架 - - - - Project Notes - 显示/隐藏工程注释 - - - - Fullscreen - - - - - Volume as dBFS - 以 dBFS 为单位显示音量 - - - - Smooth scroll - 平滑滚动 - - - - Enable note labels in piano roll - 在钢琴窗中显示音号 - - - - MIDI File (*.mid) - MIDI 文件 (*.mid) - - - - - untitled - 未标题 - - - - - Select file for project-export... - 为工程导出选择文件... - - - - Select directory for writing exported tracks... - 选择写入导出音轨的目录... - - - - Save project - 保存工程 - - - - Project saved - 工程已保存 - - - - The project %1 is now saved. - 工程 %1 已保存。 - - - - Project NOT saved. - 工程 **没有** 保存。 - - - - The project %1 was not saved! - 工程%1没有保存! - - - - Import file - 导入文件 - - - - MIDI sequences - MIDI 音序器 - - - - Hydrogen projects - Hydrogen工程 - - - - All file types - 所有类型 - - - - MeterDialog - - - - Meter Numerator - 分子数值 - - - - Meter numerator - - - - - - Meter Denominator - 分母数值 - - - - Meter denominator - - - - - TIME SIG - 拍子记号 - - - - MeterModel - - - Numerator - 分子 - - - - Denominator - 分母 - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI控制器 - - - - unnamed_midi_controller - 未命名的 MIDI 控制器 - - - - MidiImport - - - - Setup incomplete - 设置不完整 - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - 你在编译 LMMS 时没有加入 SoundFont2 播放器支持, 此播放器默认用于添加导入的 MIDI 文件。因此在 MIDI 文件导入后, 将没有声音。 - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - 分子 - - - - Denominator - 分母 - - - - Track - 轨道 - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK服务崩溃 - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - JACK 音频服务器似乎已经关闭 + 本程序使用 JUCE %1 版本。 @@ -7808,7 +3094,7 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. MIDI Pattern - + MIDI 片段 @@ -7937,7 +3223,7 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. Default Length: - 默认长度 + 默认长度: @@ -7990,2749 +3276,388 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. Quantize: - + 量化: &File - 文件(&F) + 文件 (&F) &Edit - 编辑(&E) + 编辑 (&E) &Quit - 退出(&Q) + 退出 (&Q) - - &Insert Mode - + + Esc + Esc - F - + &Insert Mode + 插入模式 (&I) - - &Velocity Mode - + + F + F + &Velocity Mode + 力度模式 (&V) + + + D D - + Select All 全选 - + A A - - MidiPort - - - Input channel - 输入通道 - - - - Output channel - 输出通道 - - - - Input controller - 输入控制器 - - - - Output controller - 输出控制器 - - - - Fixed input velocity - 固定输入力度 - - - - Fixed output velocity - 固定输出力度 - - - - Fixed output note - 固定输出音符 - - - - Output MIDI program - MIDI 输出程序 - - - - Base velocity - 基准力度 - - - - Receive MIDI-events - 接受 MIDI 事件 - - - - Send MIDI-events - 发送 MIDI 事件 - - - - MidiSetupWidget - - - Device - 设备 - - - - MonstroInstrument - - - Osc 1 volume - 振荡器1音量 - - - - Osc 1 panning - 振荡器1声相 - - - - Osc 1 coarse detune - 振荡器1声调粗调 - - - - Osc 1 fine detune left - 振荡器1左声道微调 - - - - Osc 1 fine detune right - 振荡器1右声道微调 - - - - Osc 1 stereo phase offset - 振荡器1立体声相位差 - - - - Osc 1 pulse width - 振荡器1脉冲宽度 - - - - Osc 1 sync send on rise - 振荡器1起音时发送同步 - - - - Osc 1 sync send on fall - 振荡器1收音时发送同步 - - - - Osc 2 volume - 振荡器2音量 - - - - Osc 2 panning - 振荡器2声相 - - - - Osc 2 coarse detune - 振荡器2音调粗调 - - - - Osc 2 fine detune left - 振荡器2左声道微调 - - - - Osc 2 fine detune right - 振荡器2右声道微调 - - - - Osc 2 stereo phase offset - 振荡器2立体声相位差 - - - - Osc 2 waveform - 振荡器2波形 - - - - Osc 2 sync hard - 振荡器2硬同步 - - - - Osc 2 sync reverse - 振荡器2反向同步 - - - - Osc 3 volume - 振荡器3音量 - - - - Osc 3 panning - 振荡器3声相 - - - - Osc 3 coarse detune - 振荡器3音调粗调 - - - - Osc 3 Stereo phase offset - 振荡器3立体声相位差 - - - - Osc 3 sub-oscillator mix - 振荡器3分震荡器混合 - - - - Osc 3 waveform 1 - 振荡器3波形1 - - - - Osc 3 waveform 2 - 振荡器3波形2 - - - - Osc 3 sync hard - 振荡器3硬同步 - - - - Osc 3 Sync reverse - 振荡器3反向同步 - - - - LFO 1 waveform - LFO1 波形 - - - - LFO 1 attack - LFO1 打进 - - - - LFO 1 rate - LFO1 频率 - - - - LFO 1 phase - LFO1 相位 - - - - LFO 2 waveform - LFO2 波形 - - - - LFO 2 attack - LFO 2 打进 - - - - LFO 2 rate - LFO 2 频率 - - - - LFO 2 phase - LFO 2 相位 - - - - Env 1 pre-delay - 包络 1 预延迟 - - - - Env 1 attack - 包络 1 打进 - - - - Env 1 hold - 包络 1 持续 - - - - Env 1 decay - 包络 1 衰减 - - - - Env 1 sustain - 包络 1 延音 - - - - Env 1 release - 包络 1 释放 - - - - Env 1 slope - 包络 1 坡度 - - - - Env 2 pre-delay - 包络 2 预延迟 - - - - Env 2 attack - 包络 2 打进 - - - - Env 2 hold - 包络 2 持续 - - - - Env 2 decay - 包络 2 衰减 - - - - Env 2 sustain - 包络 2 延音 - - - - Env 2 release - 包络 2 释放 - - - - Env 2 slope - 包络 2 坡度 - - - - Osc 2+3 modulation - 振荡器2+3 调制 - - - - Selected view - 选定的视图 - - - - Osc 1 - Vol env 1 - 振荡器 1 音量包络 1 - - - - Osc 1 - Vol env 2 - 振荡器 1 音量包络2 - - - - Osc 1 - Vol LFO 1 - 振荡器 1 音量LFO 1 - - - - Osc 1 - Vol LFO 2 - 振荡器 1 音量LFO 2 - - - - Osc 2 - Vol env 1 - 振荡器 2 音量包络 1 - - - - Osc 2 - Vol env 2 - 振荡器 2 音量包络2 - - - - Osc 2 - Vol LFO 1 - 振荡器 2 音量LFO 1 - - - - Osc 2 - Vol LFO 2 - 振荡器 2 音量LFO 2 - - - - Osc 3 - Vol env 1 - 振荡器 3 音量包络 1 - - - - Osc 3 - Vol env 2 - 振荡器 3 音量包络 2 - - - - Osc 3 - Vol LFO 1 - 振荡器 3 音量LFO 1 - - - - Osc 3 - Vol LFO 2 - 振荡器 3 音量LFO 2 - - - - Osc 1 - Phs env 1 - 振荡器 1 相位包络 1 - - - - Osc 1 - Phs env 2 - 振荡器 1 相位包络 2 - - - - Osc 1 - Phs LFO 1 - 振荡器 1 相位LFO 1 - - - - Osc 1 - Phs LFO 2 - 振荡器 1 相位LFO 2 - - - - Osc 2 - Phs env 1 - 振荡器 2 相位包络 1 - - - - Osc 2 - Phs env 2 - 振荡器 2 相位包络 2 - - - - Osc 2 - Phs LFO 1 - 振荡器 2 相位LFO 1 - - - - Osc 2 - Phs LFO 2 - 振荡器 2 相位LFO 2 - - - - Osc 3 - Phs env 1 - 振荡器 3 相位包络 1 - - - - Osc 3 - Phs env 2 - 振荡器 3 相位包络 2 - - - - Osc 3 - Phs LFO 1 - 振荡器 3 相位LFO 1 - - - - Osc 3 - Phs LFO 2 - 振荡器 3 相位LFO 2 - - - - Osc 1 - Pit env 1 - 振荡器 1 音调包络 1 - - - - Osc 1 - Pit env 2 - 振荡器 1 音调包络 2 - - - - Osc 1 - Pit LFO 1 - 振荡器 1 音调LFO 1 - - - - Osc 1 - Pit LFO 2 - 振荡器 1 音调LFO 2 - - - - Osc 2 - Pit env 1 - 振荡器 2 音调包络 1 - - - - Osc 2 - Pit env 2 - 振荡器 2 音调包络 2 - - - - Osc 2 - Pit LFO 1 - 振荡器 2 音调LFO 1 - - - - Osc 2 - Pit LFO 2 - 振荡器 2 音调LFO 2 - - - - Osc 3 - Pit env 1 - 振荡器 3 音调包络 1 - - - - Osc 3 - Pit env 2 - 振荡器 3 音调包络 2 - - - - Osc 3 - Pit LFO 1 - 振荡器 3 音调LFO 1 - - - - Osc 3 - Pit LFO 2 - 振荡器 3 音调LFO 2 - - - - Osc 1 - PW env 1 - 振荡器 1 脉冲包络 1 - - - - Osc 1 - PW env 2 - 振荡器 1 脉冲包络 2 - - - - Osc 1 - PW LFO 1 - 振荡器 1 脉冲LFO 1 - - - - Osc 1 - PW LFO 2 - 振荡器 1 脉冲LFO 2 - - - - Osc 3 - Sub env 1 - 振荡器 3 分支包络 1 - - - - Osc 3 - Sub env 2 - 振荡器 3 分支包络 2 - - - - Osc 3 - Sub LFO 1 - 振荡器 3 分支LFO 1 - - - - Osc 3 - Sub LFO 2 - 振荡器 3 分支LFO 2 - - - - - Sine wave - 正弦波 - - - - Bandlimited Triangle wave - 限频段的三角波 - - - - Bandlimited Saw wave - 限频段的锯齿波 - - - - Bandlimited Ramp wave - 限频段的倾斜波 - - - - Bandlimited Square wave - 限频段的方波 - - - - Bandlimited Moog saw wave - 限频段的Moog锯齿波 - - - - - Soft square wave - 软方波 - - - - Absolute sine wave - 绝对正弦波 - - - - - Exponential wave - 指数爆炸波形 - - - - White noise - 白噪音 - - - - Digital Triangle wave - 数码三角波 - - - - Digital Saw wave - 数码锯齿波 - - - - Digital Ramp wave - 数码倾斜波 - - - - Digital Square wave - 数码方波 - - - - Digital Moog saw wave - 数码Moog锯齿波 - - - - Triangle wave - 三角波 - - - - Saw wave - 锯齿波 - - - - Ramp wave - 斜坡波 - - - - Square wave - 方波 - - - - Moog saw wave - Moog 锯齿波 - - - - Abs. sine wave - 绝对值正弦波 - - - - Random - 随机 - - - - Random smooth - 随机平滑 - - - - MonstroView - - - Operators view - 操作视图 - - - - Matrix view - 矩阵视图 - - - - - - Volume - 音量 - - - - - - Panning - 声相 - - - - - - Coarse detune - 音高粗调 - - - - - - semitones - 半音 - - - - - Fine tune left - 左声道微调 - - - - - - - cents - 音分 - - - - - Fine tune right - 右声道微调 - - - - - - Stereo phase offset - 立体声相位差 - - - - - - - - deg - 角度 - - - - Pulse width - 脉冲宽度 - - - - Send sync on pulse rise - 脉冲起时发送同步 - - - - Send sync on pulse fall - 脉冲结束发送同步 - - - - Hard sync oscillator 2 - 硬同步震荡器 2 - - - - Reverse sync oscillator 2 - 反向同步震荡器 2 - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - 打进声 - - - - - Rate - 比特率 - - - - - Phase - - - - - - Pre-delay - 预延迟 - - - - - Hold - 保持 - - - - - Decay - 衰减 - - - - - Sustain - 持续 - - - - - Release - 释放 - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - 调制量 - - - - MultitapEchoControlDialog - - - Length - 长度 - - - - Step length: - 步进长度: - - - - Dry - 干声 - - - - Dry gain: - 干声增益: - - - - Stages - 低通层数 - - - - Low-pass stages: - - - - - Swap inputs - 互换输入 - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - 通道2音调粗调 - - - - Channel 2 Volume - 通道 2 音量 - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - 主音量 - - - - Vibrato - 颤音 - - - - NesInstrumentView - - - - - - Volume - 音量 - - - - - - Coarse detune - 音高粗调 - - - - - - Envelope length - 包络线长度 - - - - Enable channel 1 - 启用通道 1 - - - - Enable envelope 1 - 启用包络 1 - - - - Enable envelope 1 loop - 启用包络 1 循环 - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - 12.5% 占空比 - - - - - 25% Duty cycle - 25% 占空比 - - - - - 50% Duty cycle - 50% 占空比 - - - - - 75% Duty cycle - 75% 占空比 - - - - Enable channel 2 - 启用通道 2 - - - - Enable envelope 2 - 启用包络 2 - - - - Enable envelope 2 loop - 启用包络 2 循环 - - - - Enable sweep 2 - - - - - Enable channel 3 - 启用通道 3 - - - - Noise Frequency - 噪音频率 - - - - Frequency sweep - - - - - Enable channel 4 - 启用通道 4 - - - - Enable envelope 4 - 启用包络 4 - - - - Enable envelope 4 loop - 启用包络 4 循环 - - - - Quantize noise frequency when using note frequency - 在使用音符频率时,量化噪音频率 - - - - Use note frequency for noise - 对噪音使用音符频率 - - - - Noise mode - 噪音模式 - - - - Master volume - 主音量 - - - - Vibrato - 颤音 - - - - OpulenzInstrument - - - Patch - 音色 - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - FM - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - 打击声 - - - - - Decay - 衰减 - - - - - Release - 释放 - - - - - Frequency multiplier - 频率加倍器 - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 波形 - - - - Osc %1 harmonic - Osc %1 泛音 - - - - - Osc %1 volume - Osc %1 音量 - - - - - Osc %1 panning - Osc %1 声像 - - - - - Osc %1 fine detuning left - 振荡器%1左声道微调 - - - - Osc %1 coarse detuning - 振荡器%1音调粗调 - - - - Osc %1 fine detuning right - 振荡器%1右声道微调 - - - - Osc %1 phase-offset - 振荡器%1相位偏移 - - - - Osc %1 stereo phase-detuning - 振荡器%1立体相位偏移 - - - - Osc %1 wave shape - 振荡器%1波形 - - - - Modulation type %1 - 调制类型 %1 - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - 点击启用 - - PatchesDialog + Qsynth: Channel Preset - Qsynth: 通道预设 + Qsynth:通道预设 + Bank selector 音色选择器 + Bank + Program selector 乐器选择器 + Patch 音色 + Name 名称 + OK 确定 + Cancel 取消 - - PatmanView - - - Open patch - - - - - Loop - 循环 - - - - Loop mode - 循环模式 - - - - Tune - 调音 - - - - Tune mode - 调音模式 - - - - No file selected - 未选择文件 - - - - Open patch file - 打开音色文件 - - - - Patch-Files (*.pat) - 音色文件 (*.pat) - - - - MidiClipView - - - Open in piano-roll - 在钢琴窗中打开 - - - - Set as ghost in piano-roll - - - - - Clear all notes - 清除所有音符 - - - - Reset name - 重置名称 - - - - Change name - 修改名称 - - - - Add steps - 添加音阶 - - - - Remove steps - 移除音阶 - - - - Clone Steps - 复制音阶 - - - - PeakController - - - Peak Controller - 峰值控制器 - - - - Peak Controller Bug - 峰值控制器 Bug - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - 在老版本的 LMMS 中, 峰值控制器因为有 bug 而可能没有正确连接。请确保峰值控制器正常连接后再次保存次文件。我们对给你造成的不便深表歉意。 - - - - PeakControllerDialog - - - PEAK - 峰值 - - - - LFO Controller - LFO 控制器 - - - - PeakControllerEffectControlDialog - - - BASE - 基准 - - - - Base: - 基准值: - - - - AMNT - 数量 - - - - Modulation amount: - 调制量: - - - - MULT - 增幅 - - - - Amount multiplicator: - - - - - ATCK - 打击 - - - - Attack: - 打击声: - - - - DCAY - 衰减 - - - - Release: - 释音: - - - - TRSH - - - - - Treshold: - 阀值: - - - - Mute output - 输出静音 - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - 基准值 - - - - Modulation amount - 调制量 - - - - Attack - 打进声 - - - - Release - 释放 - - - - Treshold - 阀值 - - - - Mute output - 输出静音 - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - 音符音量 - - - - Note Panning - 音符声相偏移 - - - - Mark/unmark current semitone - 标记/取消标记当前半音 - - - - Mark/unmark all corresponding octave semitones - 标记/取消标记所有对应的八度音的半音 - - - - Mark current scale - 标记当前音阶 - - - - Mark current chord - 标记当前和弦 - - - - Unmark all - 取消标记所有 - - - - Select all notes on this key - 选中所有相同音调的音符 - - - - Note lock - 音符锁定 - - - - Last note - 上一个音符 - - - - No key - - - - - No scale - 无音阶 - - - - No chord - 没有和弦 - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - 音量:%1% - - - - Panning: %1% left - 声相:%1% 偏左 - - - - Panning: %1% right - 声相:%1% 偏右 - - - - Panning: center - 声相:居中 - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - 双击打开片段! - - - - - Please enter a new value between %1 and %2: - 请输入一个介于 %1 和 %2 的值: - - - - PianoRollWindow - - - Play/pause current clip (Space) - 播放/暂停当前片段(空格) - - - - Record notes from MIDI-device/channel-piano - 从 MIDI 设备/通道钢琴(channel-piano) 录制音符 - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - 一边从 MIDI 设备/通道钢琴(channel-piano) 录制音符一边播放 - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - 停止当前片段(空格) - - - - Edit actions - 编辑功能 - - - - Draw mode (Shift+D) - 绘制模式 (Shift+D) - - - - Erase mode (Shift+E) - 擦除模式 (Shift+E) - - - - Select mode (Shift+S) - 选择模式 (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - 量化 - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - 复制粘贴控制 - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - 时间线控制 - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - 缩放和音符控制 - - - - Horizontal zooming - 水平缩放 - - - - Vertical zooming - 垂直缩放 - - - - Quantization - 量化控制 - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - 钢琴窗 - %1 - - - - - Piano-Roll - no clip - 钢琴窗 - 没有片段 - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - 基本音 - - - - First note - - - - - Last note - 上一个音符 - - - - Plugin - - - Plugin not found - 未找到插件 - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - 插件“%1”无法找到或无法载入! -原因:%2 - - - - Error while loading plugin - 载入插件时发生错误 - - - - Failed to load plugin "%1"! - 载入插件“%1”失败! - - PluginBrowser - - Instrument Plugins - - - - - Instrument browser - 乐器浏览器 - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - 将乐器插件拖入歌曲编辑器, 节拍低音线编辑器, 或者现有的乐器轨道。 - - - + no description 没有描述 - + A native amplifier plugin 原生增益插件 - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - 简单地在乐器栏使用采样(比如鼓音源), 同时也提供多种设置 + 简单地在乐器栏使用采样 (比如鼓音源),同时也提供多种设置 - + Boost your bass the fast and simple way - + 以快速且简单的方式增强你的低音 - + Customizable wavetable synthesizer 可自定制的波表合成器 - + An oversampling bitcrusher - + Carla Patchbay Instrument Carla Patchbay 乐器 - + Carla Rack Instrument Carla Rack 乐器 - + A dynamic range compressor. - + 一个动态范围压缩器 - + A 4-band Crossover Equalizer - 一种 四波段交叉均衡器 + 一个四波段交叉均衡器 - + A native delay plugin 原生的衰减插件 - + A Dual filter plugin - + 双滤波器插件 - + plugin for processing dynamics in a flexible way - + A native eq plugin 原生的 EQ 插件 - + A native flanger plugin 一个原生的 镶边 (Flanger) 插件 - + Emulation of GameBoy (TM) APU GameBoy (TM) APU 模拟器 - + Player for GIG files 播放 GIG 文件的播放器 - + Filter for importing Hydrogen files into LMMS 导入 Hydrogen 工程文件到 LMMS 的解析器 - + Versatile drum synthesizer 多功能鼓合成器 - + List installed LADSPA plugins 列出已安装的 LADSPA 插件 - + plugin for using arbitrary LADSPA-effects inside LMMS. 在 LMMS 中使用任意 LADSPA 效果的插件。 - + Incomplete monophonic imitation TB-303 - 对单音 TB-303 的不完整的模拟器 + - + plugin for using arbitrary LV2-effects inside LMMS. - + 在 LMMS 中使用任意 LV2 效果的插件。 - + plugin for using arbitrary LV2 instruments inside LMMS. - + 在 LMMS 中使用任意 LV2 乐器的插件。 - + Filter for exporting MIDI-files from LMMS 从 LMMS 导出 MIDI 文件的生成器 - + Filter for importing MIDI-files into LMMS 导入 MIDI 文件到 LMMS 的解析器 - + Monstrous 3-oscillator synth with modulation matrix 带 3 个振荡器和调制矩阵的能发出像怪兽一样声音的合成器 - + A multitap echo delay plugin - + A NES-like synthesizer 类似于 NES 的合成器 - + 2-operator FM Synth - + Additive Synthesizer for organ-like sounds - + GUS-compatible patch instrument GUS 兼容音色的乐器 - + Plugin for controlling knobs with sound peaks - + 根据声音峰值控制旋钮的插件 - + Reverb algorithm by Sean Costello Sean Costello 发明的混响算法 - + Player for SoundFont files - 在工程中使用SoundFont + 在工程中使用 SoundFont - + LMMS port of sfxr sfxr 的 LMMS 移植版本 - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. 模拟 MOS6581 和 MOS8580 SID 的模拟器 这些芯片曾在 Commodore 64 电脑上用过。 - + A graphical spectrum analyzer. - + 一款图形频谱分析器 - + Plugin for enhancing stereo separation of a stereo input file - + Plugin for freely manipulating stereo output - + Tuneful things to bang on - + Three powerful oscillators you can modulate in several ways 三个可以任你调制的强大振荡器 - + A stereo field visualizer. - + 一款立体声场可视化工具 - + VST-host for using VST(i)-plugins within LMMS LMMS的VST(i)插件宿主 - + Vibrating string modeler - + plugin for using arbitrary VST effects inside LMMS. 在 LMMS 中使用任意 VST 效果的插件。 - + 4-oscillator modulatable wavetable synth 有四个振荡器的可调制波表合成器 - + plugin for waveshaping - + Mathematical expression parser - + Embedded ZynAddSubFX 内置的 ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - 类型 - - - - Effects - 效果 - - - - Instruments - 乐器插件 - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - 取消 - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - 类型: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - 名称 - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F - + + Tap to the beat + 跟着节拍敲击 @@ -10740,7 +3665,7 @@ This chip was used in the Commodore 64 computer. Plugin Editor - + 插件编辑器 @@ -10755,7 +3680,7 @@ This chip was used in the Commodore 64 computer. MIDI Control Channel: - + MIDI 控制通道: @@ -10806,7 +3731,7 @@ This chip was used in the Commodore 64 computer. Audio: - + 音频: @@ -10821,7 +3746,7 @@ This chip was used in the Commodore 64 computer. MIDI: - + MIDI: @@ -10830,110 +3755,558 @@ This chip was used in the Commodore 64 computer. - Send Bank/Program Changes - + Send Notes + 发送音符 - Send Control Changes - + Send Bank/Program Changes + 发送音色改变 + Send Control Changes + 发送控制器改变 + + + Send Channel Pressure - - - Send Note Aftertouch - - - Send Pitchbend - + Send Note Aftertouch + 发送音符触后 - Send All Sound/Notes Off - + Send Pitchbend + 发送弯音 - + + Send All Sound/Notes Off + 发送关闭所有声音 + + + Plugin Name - + +插件名称 + - + Program: 工程 - + MIDI Program: - + MIDI 音色: - + Save State - + 保存状态 - + Load State - + 加载状态 - + Information - + 信息 - + Label/URI: - + 标签/URI: - + Name: - + 名称: - + Type: 类型: - + Maker: - + 制作者: - + Copyright: - + 版权: - + Unique ID: - + 唯一 ID: PluginFactory - + Plugin not found. 未找到插件。 - + LMMS plugin %1 does not have a plugin descriptor named %2! LMMS插件 %1 没有一个插件描述符命名为 %2 + + PluginListDialog + + + Carla - Add New + Carla - 新增 + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + 仅显示已收藏 + + + + (Number of Plugins go here) + (插件数量在这里) + + + + &Add Plugin + 新增插件 (&A) + + + + Cancel + 取消 + + + + Refresh + 刷新 + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + 文本标签 + + + + Format: + 格式: + + + + Architecture: + 架构: + + + + Type: + 类型: + + + + MIDI Ins: + MIDI 输入: + + + + Audio Ins: + 音频输入: + + + + CV Outs: + CV 输出: + + + + MIDI Outs: + MIDI 输出: + + + + Parameter Ins: + 参数输入: + + + + Parameter Outs: + 参数输出: + + + + Audio Outs: + 音频输出: + + + + CV Ins: + CV 输入: + + + + UniqueID: + 唯一 ID: + + + + Has Inline Display: + 内置显示: + + + + Has Custom GUI: + 自定义界面 + + + + Is Synth: + 是否为合成器: + + + + Is Bridged: + 是否桥接: + + + + Information + 信息 + + + + Name + 名称 + + + + Label/Id/URI + 标签/ID/URI + + + + Maker + 制作者 + + + + Binary/Filename + 二进制/文件名 + + + + Format + 格式 + + + + Internal + 内置 + + + + LADSPA + LADSPA + + + + DSSI + DSSI + + + + LV2 + LV2 + + + + VST2 + VST2 + + + + VST3 + VST3 + + + + CLAP + CLAP + + + + AU + AU + + + + JSFX + JSFX + + + + Sound Kits + 声音套件 + + + + Type + 类型 + + + + Effects + 效果 + + + + Instruments + 乐器 + + + + MIDI Plugins + MIDI 插件 + + + + Other/Misc + 其他/杂项 + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + 其他 + + + + Architecture + + + + + + Native + 原生 + + + + Bridged + 桥接 + + + + Bridged (Wine) + 桥接 (Wine) + + + + Focus Text Search + + + + + Ctrl+F + Ctrl+F + + + + Bridged (32bit) + 桥接 (32 位) + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + 未知 + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10944,159 +4317,63 @@ Plugin Name Parameter Name - + 参数名称 + TextLabel + 文本标签 + + + ... - + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh + 插件刷新 + + + + Search for: - - Search for new... + + All plugins, ignoring cache - - LADSPA + + Updated plugins only - - DSSI + + Check previously invalid plugins - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + 扫描 - + >> Skip - + >> 跳过 - + Close 关闭 @@ -11113,2344 +4390,13619 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + 启用 - + On/Off 开/关 - + - + PluginName - + 插件名称 - + MIDI MIDI - + AUDIO IN - + 音频输入 - + AUDIO OUT - + 音频输出 - + GUI - + 图形界面 - + Edit 编辑 - + Remove 移除 Plugin Name - + 插件名称 Preset: - - - - - ProjectNotes - - - Project Notes - 显示/隐藏工程注释 - - - - Enter project notes here - - - - - Edit Actions - 编辑功能 - - - - &Undo - 撤销(&U) - - - - %1+Z - %1+Z - - - - &Redo - 重做(&R) - - - - %1+Y - %1+Y - - - - &Copy - 复制(&C) - - - - %1+C - %1+C - - - - Cu&t - 剪切(&T) - - - - %1+X - %1+X - - - - &Paste - 粘贴(&P) - - - - %1+V - %1+V - - - - Format Actions - 格式功能 - - - - &Bold - 加粗(&B) - - - - %1+B - %1+B - - - - &Italic - 斜体(&I) - - - - %1+I - %1+I - - - - &Underline - 下划线(&U) - - - - %1+U - %1+U - - - - &Left - 左对齐(&L) - - - - %1+L - %1+L - - - - C&enter - 居中(&E) - - - - %1+E - %1+E - - - - &Right - 右对齐(&R) - - - - %1+R - %1+R - - - - &Justify - 匀齐(&J) - - - - %1+J - %1+J - - - - &Color... - 颜色(&C)... + 预置: ProjectRenderer - + WAV (*.wav) - + WAV (*.wav) - + FLAC (*.flac) - + FLAC (*.flac) - + OGG (*.ogg) - + OGG (*.ogg) - + MP3 (*.mp3) + MP3 (*.mp3) + + + + QGroupBox + + + + Settings for %1 QObject - + Reload Plugin - + 重新载入插件 - + Show GUI 显示图形界面 - + Help 帮助 + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + 打开音频文件 + + + + Error loading sample + 采样加载错误 + + + + %1 (unsupported) + %1 (不支持) + QWidget - - - - + + Name: 名称: - - URI: - - - - - - + Maker: 制作者: - - - + Copyright: 版权: - - + Requires Real Time: 要求实时: - - - - - - + + + Yes - - - - - - + + + No - - + Real Time Capable: 是否支持实时: - - + In Place Broken: 被损坏: - - + Channels In: 输入通道: - - + Channels Out: 输出通道: - + File: %1 文件:%1 - + File: 文件: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - 最近打开的工程(&R) + + XY Controller + XY 控制器 + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + 设置 (&S) + + + + Channels + 通道 + + + + &File + 文件 (&F) + + + + Show MIDI &Keyboard + 显示 MIDI 键盘 (&K) + + + + (All) + (全部) + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + 退出 (&Q) + + + + Esc + Esc + + + + (None) + (无) - RenameDialog + lmms::AmplifierControls - - Rename... - 重命名... + + Volume + 音量 + + + + Panning + 声相 + + + + Left gain + 左增益 + + + + Right gain + 右增益 - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - 输入 - - - - Input gain: - 输入增益: - - - - Size + + Amplify - - Size: - + + Start of sample + 采样起始 - - Color - + + End of sample + 采样结尾 - - Color: - + + Loopback point + 循环点 - - Output - 输出 + + Reverse sample + 反转采样 - - Output gain: - 输出增益: + + Loop mode + 循环模式 + + + + Stutter + 重复 + + + + Interpolation mode + 补间模式 + + + + None + + + + + Linear + 线性 + + + + Sinc + Sinc + + + + Sample not found + 未找到采样 - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + JACK 客户端已重启 + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + LMMS 由于某些原因与 JACK 断开连接,这可能是因为 LMMS 的 JACK 后端重启导致的,你需要手动重新连接。 + + + + JACK server down + JACK 服务崩溃 + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + JACK 服务好像崩溃了而且未能正常启动,LMMS 无法正常工作,你需要保存你的工程然后重启 JACK 和LMMS。 + + + + Client name + 客户端名称 + + + + Channels + 通道 + + + + lmms::AudioOss + + + Device + 设备 + + + + Channels + 通道 + + + + lmms::AudioPortAudio::setupWidget + + + Backend + 后端 + + + + Device + 设备 + + + + lmms::AudioPulseAudio + + + Device + 设备 + + + + Channels + 通道 + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + 设备 + + + + Channels + 通道 + + + + lmms::AudioSoundIo::setupWidget + + + Backend + 后端 + + + + Device + 设备 + + + + lmms::AutomatableModel + + + &Reset (%1%2) + 重置 (%1%2) (&R) + + + + &Copy value (%1%2) + 复制值 (%1%2) (&C) + + + + &Paste value (%1%2) + 粘贴值 (%1%2) (&P) + + + + &Paste value + 粘贴值 (&P) + + + + Edit song-global automation + 编辑歌曲全局自动控制 + + + + Remove song-global automation + 删除歌曲全局自动控制 + + + + Remove all linked controls + 删除所有已连接的控制器 + + + + Connected to %1 + 连接到 %1 + + + + Connected to controller + 连接到控制器 + + + + Edit connection... + 编辑连接... + + + + Remove connection + 删除连接 + + + + Connect to controller... + 连接到控制器... + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + 按住 <%1> 拖动控制器 + + + + lmms::AutomationTrack + + + Automation track + 自动控制轨道 + + + + lmms::BassBoosterControls + + + Frequency + 频率 + + + + Gain + 增益 + + + + Ratio + 比率 + + + + lmms::BitInvader + + + Sample length + 采样长度 + + + + Interpolation + 补间 + + + + Normalize + 标准化 + + + + lmms::BitcrushControls + + Input gain 输入增益 - - Size + + Input noise + 输入噪音 + + + + Output gain + 输出增益 + + + + Output clip + 输出截辐 + + + + Sample rate + 采样率 + + + + Stereo difference + 双声道差异 + + + + Levels + 级别 + + + + Rate enabled - - Color + + Depth enabled + + + + + lmms::Clip + + + Mute + 静音 + + + + lmms::CompressorControls + + + Threshold + 阈值 + + + + Ratio + 比率 + + + + Attack + 起音 + + + + Release + 释音 + + + + Knee - + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + 输出增益 + + + + Input Gain + 输入增益 + + + + Blend + + + + + Stereo Balance + 双声道平衡 + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + LFO 频率 + + + + LFO amount + LFO 数量 + + + Output gain 输出增益 - SaControls + lmms::DispersionControls - + + Amount + 数量 + + + + Frequency + 频率 + + + + Resonance + 共鸣 + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + 滤波器 1 已启用 + + + + Filter 1 type + 滤波器 1 类型 + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + Q/共鸣 1 + + + + Gain 1 + 增益 1 + + + + Mix + + + + + Filter 2 enabled + 滤波器 2 已启用 + + + + Filter 2 type + 滤波器 2 类型 + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + Q/共鸣 2 + + + + Gain 2 + 增益 2 + + + + + Low-pass + 低通 + + + + + Hi-pass + 高通 + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + 全通 + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + 人声共振峰 + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + 快速共振峰 + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + 输入增益 + + + + Output gain + 输出增益 + + + + Attack time + 起音时间 + + + + Release time + 释音时间 + + + + Stereo mode + 双声道模式 + + + + lmms::Effect + + + Effect enabled + 效果器已启用 + + + + Wet/Dry mix + 干/湿混合 + + + + Gate + 门限 + + + + Decay + 衰减 + + + + lmms::EffectChain + + + Effects enabled + 效果器已启用 + + + + lmms::Engine + + + Generating wavetables + 正在生成波表 + + + + Initializing data structures + 正在初始化数据结构 + + + + Opening audio and midi devices + 正在启动音频和 MIDI 设备 + + + + Launching audio engine threads + 生在启动音频引擎线程 + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + 包络预延迟 + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + LFO 预延迟 + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + LFO 频率 x 100 + + + + Modulate env amount + + + + + Sample not found + 未找到采样 + + + + lmms::EqControls + + + Input gain + 输入增益 + + + + Output gain + 输出增益 + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + 高通谐振 + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + 低通谐振 + + + + HP freq + 高通截频 + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + 低通截频 + + + + HP active + 高通启用 + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + 低通启用 + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + 低通类型 + + + + High-pass type + 高通类型 + + + + Analyse IN + 分析输入 + + + + Analyse OUT + 分析输出 + + + + lmms::FlangerControls + + + Delay samples + 延迟采样 + + + + LFO frequency + LFO 频率 + + + + Amount + 数量 + + + + Stereo phase + + + + + Feedback + + + + + Noise + 噪音 + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + 通道 1 音量 + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + 高音 + + + + Bass + 低音 + + + + lmms::GigInstrument + + + Bank + + + + + Patch + 音色 + + + + Gain + 增益 + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + 琶音 + + + + Arpeggio type + 琶音类型 + + + + Arpeggio range + 琶音范围 + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + 跳过率 + + + + Miss rate + 丢失率 + + + + Arpeggio time + 琶音时间 + + + + Arpeggio gate + 琶音门限 + + + + Arpeggio direction + 琶音方向 + + + + Arpeggio mode + 琶音模式 + + + + Up + 向上 + + + + Down + 向下 + + + + Up and down + 先上后下 + + + + Down and up + 先下后上 + + + + Random + 随机 + + + + Free + 自由 + + + + Sort + 排序 + + + + Sync + 同步 + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + 低通 + + + + Hi-pass + 高通 + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + 全通 + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + 未命名轨道 + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + 音量 + + + + Panning + 声相 + + + + Pitch + 音高 + + + + Pitch range + 音域范围 + + + + Mixer channel + 混音器通道 + + + + Master pitch + 主音高 + + + + Enable/Disable MIDI CC + 启用/禁用 MIDI 控制器 + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + 起始频率 + + + + End frequency + 结束频率 + + + + Length + 长度 + + + + Start distortion + + + + + End distortion + + + + + Gain + 增益 + + + + Envelope slope + 包络线倾斜度 + + + + Noise + 噪音 + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + 输入音量 + + + + Output Volume + 输出音量 + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + + + Input gain + + + + + Size + + + + + Color + + + + + Output gain + + + + + lmms::SaControls + + Pause - + Reference freeze - + Waterfall - + Averaging - - - Stereo - 双声道 - - - - Peak hold - - - Logarithmic frequency + Stereo - Logarithmic amplitude + Peak hold + + + + + Logarithmic frequency - Frequency range - - - - - Amplitude range - - - - - FFT block size + Logarithmic amplitude - FFT window type + Frequency range + + + + + Amplitude range + + + + + FFT block size - Peak envelope resolution - - - - - Spectrum display resolution - - - - - Peak decay multiplier + FFT window type - Averaging weight + Peak envelope resolution - Waterfall history size + Spectrum display resolution - Waterfall gamma correction + Peak decay multiplier - FFT window overlap + Averaging weight + Waterfall history size + + + + + Waterfall gamma correction + + + + + FFT window overlap + + + + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - 低音 + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - 双声道 - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - - - - - Open audio file - 打开音频文件 - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - 所有音频文件 (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave波形文件 (*.wav) - - - - OGG-Files (*.ogg) - OGG-文件 (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth-文件 (*.ds) - - - - FLAC-Files (*.flac) - FLAC-文件 (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX-文件 (*.spx) - - - - VOC-Files (*.voc) - VOC-文件 (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF-文件 (*.aif *.aiff) - - - - AU-Files (*.au) - AU-文件 (*.au) - - - - RAW-Files (*.raw) - RAW-文件 (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - 删除 (鼠标中键) - - - - Delete selection (middle mousebutton) - - - - - Cut - 剪切 - - - - Cut selection - - - - - Copy - 复制 - - - - Copy selection - - - - - Paste - 粘贴 - - - - Mute/unmute (<%1> + middle click) - 静音/取消静音 (<%1> + 鼠标中键) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - 反转采样 - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - 音量 + - + Panning - 声相 + - + Mixer channel - 效果通道 + - - + + Sample track - 采样轨道 - - - - SampleTrackView - - - Track volume - 轨道音量 - - - - Channel volume: - 通道音量: - - - - VOL - 音量 - - - - Panning - 声相 - - - - Panning: - 声相: - - - - PAN - 声相 - - - - Channel %1: %2 - 效果 %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - 常规设置 - - - - Sample volume - - - - - Volume: - 音量: - - - - VOL - 音量 - - - - Panning - 声相 - - - - Panning: - 声相: - - - - PAN - 声相 - - - - Mixer channel - 效果通道 - - - - CHANNEL - 效果 - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value - - - - - Use built-in NaN handler - - - - - Settings - 设置 - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - 以 dBFS 为单位显示音量 - - - - Enable tooltips - 启用工具提示 - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - 项目 - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - 语言 - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - 插件 - - - - VST plugins embedding: - - - - - No embedding - 单独窗口 - - - - Embed using Qt API - 使用 Qt API - - - - Embed using native Win32 API - 使用原生 Win32 API - - - - Embed using XEmbed protocol - 使用 XEmbed 协议 - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - 同步 VST 插件和主机回放 - - - - Keep effects running even without input - 在没有输入时也运行音频效果 - - - - - Audio - 音频 - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - LMMS工作目录 - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2 目录 - - - - Default SF2 - - - - - GIG directory - GIG 目录 - - - - Theme directory - - - - - Background artwork - 背景图片 - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - 路径 - - - - OK - 确定 - - - - Cancel - 取消 - - - - Frames: %1 -Latency: %2 ms - 帧数: %1 -延迟: %2 毫秒 - - - - Choose your GIG directory - 选择 GIG 目录 - - - - Choose your SF2 directory - 选择 SF2 目录 - - - - minutes - 分钟 - - - - minute - 分钟 - - - - Disabled + + empty - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - 切除频率 + - + Resonance - 共鸣 + + + + + Filter type + - Filter type - 过滤器类型 - - - Voice 3 off - 声音 3 关 + - + Volume - 音量 + - + Chip model - 芯片型号 - - - - SidInstrumentView - - - Volume: - 音量: - - - - Resonance: - 共鸣: - - - - - Cutoff frequency: - 频谱刀频率: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - 打击声: - - - - - Decay: - 衰减: - - - - Sustain: - 振幅持平: - - - - - Release: - 释音: - - - - Pulse Width: - - - - - Coarse: - - - - - Pulse wave - - - - - Triangle wave - 三角波 - - - - Saw wave - 锯齿波 - - - - Noise - 噪音 - - - - Sync - 同步 - - - - Ring modulation - - - - - Filtered - - - - - Test - 测试 - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close - 关闭 + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 + - Song + lmms::Song - + Tempo - 节奏 + - + Master volume - 主音量 + - + Master pitch - 主音高 - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - LMMS 错误报告 + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - 无法打开文件 - - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - 无法打开 %1 。或许没有权限读此文件。 -请确保您拥有对此文件的读权限,然后重试。 - - - - Operation denied + + Width - - - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - - - - - Error - 错误 - - - - Couldn't create bundle folder. - - - - - Couldn't create resources folder. - - - - - Failed to copy resources. - - - - - Could not write file - 无法写入文件 - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - - - - This %1 was created with LMMS %2 - - - - - Error in file - 文件错误 - - - - The file %1 seems to contain errors and therefore can't be loaded. - 文件 %1 似乎包含错误,无法被加载。 - - - - Version difference - 版本差异 - - - - template - 模板 - - - - project - 工程文件 - - - - Tempo - 节奏 - - - - TEMPO - - - - - Tempo in BPM - - - - - High quality mode - 高质量模式 - - - - - - Master volume - 主音量 - - - - - - Master pitch - 主音高 - - - - Value: %1% - 值: %1% - - - - Value: %1 semitones - 值: %1 半音程 - - SongEditorWindow + lmms::StereoMatrixControls - - Song-Editor - 歌曲编辑器 + + Left to Left + - - Play song (Space) - 播放歌曲(空格) + + Left to Right + - - Record samples from Audio-device - 从音频设备录制样本 + + Right to Left + - - Record samples from Audio-device while playing song or BB track - 在播放歌曲或BB轨道时从音频设备录入样本 + + Right to Right + + + + + lmms::Track + + + Mute + - - Stop song (Space) - 停止歌曲(空格) + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + - - Track actions - 轨道动作 + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + - - Add beat/bassline - 添加节拍/Bassline + + Couldn't open file + - - Add sample-track - 添加采样轨道 + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + - - Add automation-track - 添加自动控制轨道 + + Loading project... + - + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + 音量 + + + + Volume: + 音量: + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + 设备 + + + + Channels + 通道 + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + Edit actions - 编辑动作 - - - - Draw mode - 绘制模式 - - - - Knife mode (split sample clips) - - Edit mode (select and move) - 编辑模式(选定和移动) - - - - Timeline controls - 时间线控制 - - - - Bar insert controls + + Draw mode (Shift+D) - - Insert bar + + Erase mode (Shift+E) - - Remove bar + + Draw outValues mode (Shift+C) - + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + Zoom controls 缩放控制 - + Horizontal zooming 水平缩放 - + + Vertical zooming + 垂直缩放 + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + 打开片断 + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + 基本音 + + + + First note + 第一个音符 + + + + Last note + 最后一个音符 + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + 乐器插件 + + + + Instrument browser + 乐器浏览器 + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + 搜索 + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + 发送到新的乐器轨道 + + + + lmms::gui::ProjectNotes + + + Project Notes + 工程注释 + + + + Enter project notes here + 在这里写下你的工程注释。 + + + + Edit Actions + 编辑功能 + + + + &Undo + 撤销 (&U) + + + + %1+Z + %1+Z + + + + &Redo + 重做 (&R) + + + + %1+Y + %1+Y + + + + &Copy + 复制 (&C) + + + + %1+C + %1+C + + + + Cu&t + 剪切 (&T) + + + + %1+X + %1+X + + + + &Paste + 粘贴 (&P) + + + + %1+V + %1+V + + + + Format Actions + 格式功能 + + + + &Bold + 加粗 (&B) + + + + %1+B + %1+B + + + + &Italic + 斜体 (&I) + + + + %1+I + %1+I + + + + &Underline + 下划线 (&U) + + + + %1+U + %1+U + + + + &Left + 左对齐 (&L) + + + + %1+L + %1+L + + + + C&enter + 居中 (&E) + + + + %1+E + %1+E + + + + &Right + 右对齐 (&R) + + + + %1+R + %1+R + + + + &Justify + 匀齐 (&J) + + + + %1+J + %1+J + + + + &Color... + 颜色 (&C)... + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + 最近打开的工程 (&R) + + + + lmms::gui::RenameDialog + + + Rename... + 重命名... + + + + lmms::gui::ReverbSCControlDialog + + + Input + 输入 + + + + Input gain: + 输入增益: + + + + Size + 大小 + + + + Size: + 大小: + + + + Color + 颜色 + + + + Color: + 颜色: + + + + Output + 输出 + + + + Output gain: + 输出增益: + + + + lmms::gui::SaControlsDialog + + + Pause + 暂停 + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + 双声道 + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + 伽马值: + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + 双击打开采样 + + + + Reverse sample + 反转采样 + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + 混音器通道 + + + + Track volume + 轨道音量 + + + + Channel volume: + 通道音量: + + + + VOL + 音量 + + + + Panning + 声相 + + + + Panning: + 声相: + + + + PAN + 声相 + + + + %1: %2 + %1:%2 + + + + lmms::gui::SampleTrackWindow + + + Sample volume + 采样音量 + + + + Volume: + 音量: + + + + VOL + 音量 + + + + Panning + 声相 + + + + Panning: + 声相: + + + + PAN + 声相 + + + + Mixer channel + + + + + CHANNEL + 通道 + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + 设置 + + + + + General + + + + + Graphical user interface (GUI) + 图形用户界面 (GUI) + + + + Display volume as dBFS + 以 dBFS 为单位显示音量 + + + + Enable tooltips + 启用工具提示 + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + 语言 + + + + + Performance + 性能 + + + + Autosave + 自动保存 + + + + Enable autosave + 启用自动保存 + + + + Allow autosave while playing + 允许在播放时自动保存 + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + 插件 + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + 音频 + + + + Audio interface + 音频接口 + + + + Buffer size + 缓冲区大小 + + + + Reset to default value + 重置为默认值 + + + + + MIDI + MIDI + + + + MIDI interface + MIDI 接口 + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + 录制时的行为 + + + + Auto-quantize notes in Piano Roll + 在钢琴卷帘中自动量化音符 + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + 路径 + + + + LMMS working directory + LMMS工作目录 + + + + VST plugins directory + VST插件目录 + + + + LADSPA plugins directories + LADSPA 插件目录 + + + + SF2 directory + SF2 目录 + + + + Default SF2 + 默认 SF2 + + + + GIG directory + GIG 目录 + + + + Theme directory + 主题文件目录 + + + + Background artwork + 背景图片 + + + + Some changes require restarting. + + + + + OK + 确定 + + + + Cancel + 取消 + + + + minutes + 分钟 + + + + minute + 分钟 + + + + Disabled + 已禁用 + + + + Autosave interval: %1 + 自动保存间隔:%1 + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + 选择 LMMS 工作目录 + + + + Choose your VST plugins directory + 选择 VST 插件目录 + + + + Choose your LADSPA plugins directory + 选择 LADSPA 插件目录 + + + + Choose your SF2 directory + 选择 SF2 目录 + + + + Choose your default SF2 + 选择默认 SF2 + + + + Choose your GIG directory + 选择 GIG 目录 + + + + Choose your theme directory + 选择主题目录 + + + + Choose your background picture + 选择背景图片 + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + 打开 SoundFont 文件 + + + + Choose patch + + + + + Gain: + 增益: + + + + Apply reverb (if supported) + 应用混响(如果支持) + + + + Room size: + 房间大小: + + + + Damping: + 阻尼: + + + + Width: + 宽度: + + + + + Level: + 级别: + + + + Apply chorus (if supported) + 应用和声 (如果支持) + + + + Voices: + 复音数: + + + + Speed: + 速度: + + + + Depth: + 深度: + + + + SoundFont Files (*.sf2 *.sf3) + SoundFont 文件 (*.sf2 *.sf3) + + + + lmms::gui::SidInstrumentView + + + Volume: + 音量: + + + + Resonance: + 共鸣: + + + + + Cutoff frequency: + + + + + High-pass filter + 高通滤波器 + + + + Band-pass filter + 带通滤波器 + + + + Low-pass filter + 低通滤波器 + + + + Voice 3 off + + + + + MOS6581 SID + MOS6581 SID + + + + MOS8580 SID + MOS8580 SID + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + 脉冲波 + + + + Triangle wave + 三角波 + + + + Saw wave + 锯齿波 + + + + Noise + 噪音 + + + + Sync + 同步 + + + + Ring modulation + + + + + Filtered + + + + + Test + 测试 + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + 关闭 + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + 复制 MIDI 片段到剪贴板 + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + 阈值 + + + + Fade Out + 淡出 + + + + Reset + 重置 + + + + Midi + MIDI + + + + BPM + BPM + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + 点击加载采样 + + + + lmms::gui::SongEditor + + + Could not open file + 无法打开文件 + + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + + + + + Operation denied + + + + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. + + + + + + + Error + 错误 + + + + Couldn't create bundle folder. + + + + + Couldn't create resources folder. + + + + + Failed to copy resources. + + + + + + Could not write file + 无法写入文件 + + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + + + + + An unknown error has occurred and the file could not be saved. + + + + + Error in file + + + + + The file %1 seems to contain errors and therefore can't be loaded. + + + + + template + 模板 + + + + project + + + + + Version difference + + + + + This %1 was created with LMMS %2 + + + + + Zoom + 缩放 + + + + Tempo + + + + + TEMPO + + + + + Tempo in BPM + + + + + + + Master volume + 主音量 + + + + + + Global transposition + + + + + 1/%1 Bar + 1/%1 小节 + + + + %1 Bars + %1 小节 + + + + Value: %1% + + + + + Value: %1 keys + + + + + lmms::gui::SongEditorWindow + + + Song-Editor + 歌曲编辑器 + + + + Play song (Space) + 播放歌曲(空格) + + + + Record samples from Audio-device + + + + + Record samples from Audio-device while playing song or pattern track + + + + + Stop song (Space) + 停止歌曲(空格) + + + + Track actions + 轨道动作 + + + + Add pattern-track + + + + + Add sample-track + 添加采样轨道 + + + + Add automation-track + 添加自动控制轨道 + + + + Edit actions + 编辑动作 + + + + Draw mode + 绘制模式 + + + + Knife mode (split sample clips) + + + + + Edit mode (select and move) + + + + + Timeline controls + + + + + Bar insert controls + + + + + Insert bar + 插入小节 + + + + Remove bar + 删除小节 + + + + Zoom controls + 缩放控制 + + + + + Zoom + 缩放 + + + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint 提示 - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close 关闭 - + Maximize 最大化 - + Restore 还原 - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - %1 的设定 + + 0 + 0 + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + 静音 + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + 重置 + + + + Reset counter and sidebar information + + + + + Sync + 同步 + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - 从模版新建工程 + 从模板新建工程 - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync 节奏同步 - + No Sync 无同步 - + Eight beats 八拍 - + Whole note 全音符 - + Half note 二分音符 - + Quarter note 四分音符 - + 8th note 八分音符 - + 16th note 16 分音符 - + 32nd note 32 分音符 - + Custom... 自定义... - + Custom 自定义 - + Synced to Eight Beats 同步为八拍 - + Synced to Whole Note 同步为全音符 - + Synced to Half Note 同步为二分音符 - + Synced to Quarter Note 同步为四分音符 - + Synced to 8th Note 同步为八分音符 - + Synced to 16th Note - 同步为16分音符 + 同步为 16 分音符 - + Synced to 32nd Note - 同步为32分音符 + 同步为 32 分音符 - TimeDisplayWidget + lmms::gui::TempoSyncKnob - - Time units + + + Tempo Sync + 节奏同步 + + + + No Sync + 无同步 + + + + Eight beats + 八拍 + + + + Whole note + 全音符 + + + + Half note + 二分音符 + + + + Quarter note + 四分音符 + + + + 8th note + 八分音符 + + + + 16th note + 16 分音符 + + + + 32nd note + 32 分音符 + + + + Custom... + 自定义 + + + + Custom + 自定义 + + + + Synced to Eight Beats - - MIN - 分钟 + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + + Time units + 时间单位 + MIN + + + + SEC - + MSEC 毫秒 - + BAR 小节 - + BEAT - + TICK - + 嘀嗒 - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - - Loop points + + Stepped auto scrolling - + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + + Loop points + 循环点 + + + After stopping go back to beginning - + After stopping go back to position at which playing was started - 停止后前往播放开始的地方 + - + After stopping keep position - 停止后保持位置不变 + - + Hint 提示 - + Press <%1> to disable magnetic loop points. - 按住 <%1> 禁用磁性吸附。 - - - - Track - - - Mute - 静音 - - - - Solo - 独奏 - - - - TrackContainer - - - Couldn't import file - 无法导入文件 - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - 无法找到导入文件 %1 的导入器 -你需要使用其他软件将此文件转换成 LMMS 支持的格式。 - - - - Couldn't open file - 无法打开文件 - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - 无法读取文件 %1 -请确认你有对该文件及其目录的读取权限后再试! - - - - Loading project... - 正在加载工程... - - - - - Cancel - 取消 - - - - - Please wait... - 请稍等... - - - - Loading cancelled - - Project loading was cancelled. + + Set loop begin here - - Loading Track %1 (%2/Total %3) - 正在加载轨道 %1 (第 %2 个/共 %3 个) - - - - Importing MIDI-file... - 正在导入 MIDI-文件... - - - - Clip - - - Mute - 静音 - - - - ClipView - - - Current position - 当前位置 - - - - Current length - 当前长度 - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 到 %5:%6) - - - - Press <%1> and drag to make a copy. - 按住 <%1> 并拖动以创建副本。 - - - - Press <%1> for free resizing. - 按住 <%1> 自由调整大小。 - - - - Hint - 提示 - - - - Delete (middle mousebutton) - 删除 (鼠标中键) - - - - Delete selection (middle mousebutton) + + Set loop end here - - Cut - 剪切 - - - - Cut selection + + Loop edit mode (hold shift) - - Merge Selection + + Dual-button - - Copy - 复制 - - - - Copy selection + + Grab closest - - Paste - 粘贴 - - - - Mute/unmute (<%1> + middle click) - 静音/取消静音 (<%1> + 鼠标中键) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color + + Handles - TrackContentWidget + lmms::gui::TrackContentWidget - + Paste 粘贴 - TrackOperationsWidget + lmms::gui::TrackOperationsWidget - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13472,248 +18024,240 @@ Please make sure you have read-permission to the file and the directory containi 独奏 - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + 不再询问 - + Clone this track 克隆此轨道 - + Remove this track 移除此轨道 - + Clear this track 清除此轨道 - + Channel %1: %2 - 效果 %1: %2 - - - - Assign to new mixer Channel - 分配到新的效果通道 - - - - Turn all recording on - 打开所有录制 - - - - Turn all recording off - 关闭所有录制 - - - - Change color - 改变颜色 - - - - Reset color to default - 重置颜色 - - - - Set random color - - Clear clip colors + + Assign to new Mixer Channel + + + + + Turn all recording on + + + + + Turn all recording off + + + + + Track color + 轨道颜色 + + + + Change + 更改 + + + + Reset + 重置 + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - 同步振荡器 1 和振荡器 2 - - - - Modulate frequency of oscillator 1 by oscillator 2 + Modulate frequency of oscillator 1 by oscillator 2 + + + + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - 同步振荡器 2 和振荡器 3 + - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - 振荡器%1音量 + - + Osc %1 panning: - 振荡器%1声相 + - + Osc %1 coarse detuning: - 振荡器%1音调粗调 + - + semitones 半音 - + Osc %1 fine detuning left: - 振荡器%1左声道微调 + - - + + cents - 音分 cents + 音分 - + Osc %1 fine detuning right: - 振荡器%1右声道微调 + - + Osc %1 phase-offset: - 振荡器%1相位偏移 + - - + + degrees - + - + Osc %1 stereo phase-detuning: - 振荡器%1立体相位偏移 + - + Sine wave 正弦波 - + Triangle wave 三角波 - + Saw wave 锯齿波 - + Square wave 方波 - + Moog-like saw wave - + Exponential wave - 指数爆炸波形 + - + White noise 白噪音 - + User-defined wave + 用户自定义波形 + + + + Use alias-free wavetable oscillators. - VecControls + lmms::gui::VecControlsDialog - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality - - - - - VecControlsDialog - - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13728,2618 +18272,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - 递增版本号 - + lmms::gui::VersionedSaveDialog + Increment version number + + + + Decrement version number - 递减版本号 + - + Save Options - + 保存选项 - + already exists. Do you want to replace it? - + 已存在,要替换吗? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + 打开 VST 插件 - + Control VST plugin from LMMS host - + 从 LMMS 宿主控制 VST 插件 - + Open VST plugin preset - + 打开 VST 插件预设 - + Previous (-) 上一个 (-) - + Save preset - 保存预置 + 保存预设 - + Next (+) 下一个 (+) - + Show/hide GUI 显示/隐藏界面 - + Turn off all notes - 全部静音 - - - - DLL-files (*.dll) - DLL-文件 (*.dll) - - - - EXE-files (*.exe) - EXE-文件 (*.exe) - - - - No VST plugin loaded - + + DLL-files (*.dll) + DLL 文件 (*.dll) + + + + EXE-files (*.exe) + EXE 文件 (*.exe) + + + + SO-files (*.so) + SO 文件 (*.so) + + + + No VST plugin loaded + 未载入 VST 插件 + + + Preset - 预置 + 预设 - + by - 制造商 + - + - VST plugin control - - VST插件控制 + - VST 插件控制 - VstEffectControlDialog + lmms::gui::VibedView - + + Enable waveform + 启用波形 + + + + + Smooth waveform + 平滑波形 + + + + + Normalize waveform + + + + + + Sine wave + 正弦波 + + + + + Triangle wave + 三角波 + + + + + Saw wave + 锯齿波 + + + + + Square wave + 方波 + + + + + White noise + 白噪音 + + + + + User-defined wave + 用户自定义波形 + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + Show/hide 显示/隐藏 - + Control VST plugin from LMMS host - + 从 LMMS 宿主控制 VST 插件 - + Open VST plugin preset - + 打开 VST 插件预设 - + Previous (-) 上一个 (-) - + Next (+) 下一个 (+) - + Save preset - 保存预置 + - - + + Effect by: - 音效制作: + - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - 无法载入VST插件 %1。 - - - - Open Preset - 打开预置 - - - - - Vst Plugin Preset (*.fxp *.fxb) - VST插件预置文件(*.fxp *.fxb) - - - - : default - : 默认 - - - - Save Preset - 保存预置 - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - 载入插件 - - - - Please wait while loading VST plugin... - 正在载入VST插件,请稍候…… - - - - WatsynInstrument - - - Volume A1 - 音量 A1 - - - - Volume A2 - 音量 A2 - - - - Volume B1 - 音量 B1 - - - - Volume B2 - 音量 B2 - - - - Panning A1 - 声相 A1 - - - - Panning A2 - 声相 A2 - - - - Panning B1 - 声相 B1 - - - - Panning B2 - 声相 B2 - - - - Freq. multiplier A1 - 频率加倍器 A1 - - - - Freq. multiplier A2 - 频率加倍器 A2 - - - - Freq. multiplier B1 - 频率加倍器 B1 - - - - Freq. multiplier B2 - 频率加倍器 B2 - - - - Left detune A1 - 左失谐 A1 - - - - Left detune A2 - 左失谐 A2 - - - - Left detune B1 - 左失谐 B1 - - - - Left detune B2 - 左失谐 B2 - - - - Right detune A1 - 右失谐 A1 - - - - Right detune A2 - 右失谐 A2 - - - - Right detune B1 - 右失谐 B1 - - - - Right detune B2 - 右失谐 B2 - - - - A-B Mix - A-B混合值 - - - - A-B Mix envelope amount - A-B混合包络值 - - - - A-B Mix envelope attack - A-B混合包络起音 - - - - A-B Mix envelope hold - A-B混合包络持续 - - - - A-B Mix envelope decay - A-B混合包络衰减 - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - 选定的图像 - - - - WatsynView - - - - - + + + + Volume 音量 - - - - + + + + Panning 声相 + + + + + Freq. multiplier + + + + + - - - Freq. multiplier - 频率加倍器 - - - - - - Left detune - + 左失谐 + + + + + + - - - - - - cents - 音分 + 音分 + + + + + + + Right detune + 右失谐 + + + + A-B Mix + A-B 混合值 - - - - Right detune - - - - - A-B Mix - A-B混合值 - - - Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 选择振荡器 A1 - + Select oscillator A2 选择振荡器 A2 - + Select oscillator B1 选择振荡器 B1 - + Select oscillator B2 选择振荡器 B2 - + Mix output of A2 to A1 - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. 使用鼠标在此图像上绘制你自己的波形。 - + Load waveform 加载波形 - + Load a waveform from a sample file - + Phase left - + Shift phase by -15 degrees - + Phase right - + Shift phase by +15 degrees - - + + Normalize 标准化 - - + + Invert 反转 - - + + Smooth 平滑 - - + + Sine wave 正弦波 - - - + + + Triangle wave 三角波 - + Saw wave 锯齿波 - - + + Square wave 方波 - Xpressive + lmms::gui::WaveShaperControlDialog - - Selected graph - 选定的图像 + + INPUT + 输入 - - A1 - + + Input gain: + 输入增益: - - A2 - + + OUTPUT + 输出 - - A3 - + + Output gain: + 输出增益: - - W1 smoothing - + + + Reset wavegraph + 重置波形 - - W2 smoothing - + + + Smooth wavegraph + 平滑波形 - - W3 smoothing - + + + Increase wavegraph amplitude by 1 dB + 波形增益值增加 1dB - - Panning 1 - + + + Decrease wavegraph amplitude by 1 dB + 波形增益值减少 1dB - - Panning 2 - + + Clip input + 输入压限 - - Rel trans - + + Clip input signal to 0 dB + 将输入信号限制到 0dB - XpressiveView + lmms::gui::XpressiveView - + Draw your own waveform here by dragging your mouse on this graph. 使用鼠标在此图像上绘制你自己的波形。 - + Select oscillator W1 - + Select oscillator W2 - + Select oscillator W3 - + Select output O1 - + Select output O2 - + Open help window - + 打开帮助窗口 - - + + Sine wave 正弦波 - - + + Moog-saw wave - + Moog 锯齿波 - - + + Exponential wave 指数爆炸波形 - - + + Saw wave 锯齿波 - - + + User-defined wave - + 用户自定义波形 - - + + Triangle wave 三角波 - - + + Square wave 方波 - - + + White noise 白噪音 - + WaveInterpolate - + ExpressionValid - + General purpose 1: - + General purpose 2: - + General purpose 3: - + O1 panning: - + O2 panning: - + Release transition: - + Smoothness - ZynAddSubFxInstrument - - - Portamento - 滑音 - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - 带宽 - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - 滑音: - + lmms::gui::ZynAddSubFxView - PORT - 端口 + Portamento: + - - Filter frequency: + + PORT - FREQ - 频率 + Filter frequency: + - - Filter resonance: + + FREQ + Filter resonance: + + + + RES - + Bandwidth: - 带宽: + - + BW - + FM gain: - + FM GAIN - + Resonance center frequency: - + RES CF - + Resonance bandwidth: - + RES BW - + Forward MIDI control changes - + Show GUI 显示图形界面 - - AudioFileProcessor - - - Amplify - 增益 - - - - Start of sample - 采样起始 - - - - End of sample - 采样结尾 - - - - Loopback point - 循环点 - - - - Reverse sample - 反转采样 - - - - Loop mode - 循环模式 - - - - Stutter - - - - - Interpolation mode - 补间方式 - - - - None - - - - - Linear - 线性插补 - - - - Sinc - 辛格(Sinc)插补 - - - - Sample not found: %1 - 采样未找到: %1 - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - 使用鼠标在此图像上绘制你自己的波形。 - - - - - Sine wave - 正弦波 - - - - - Triangle wave - 三角波 - - - - - Saw wave - 锯齿波 - - - - - Square wave - 方波 - - - - - White noise - 白噪音 - - - - - User-defined wave - - - - - - Smooth waveform - 平滑波形 - - - - Interpolation - 补间 - - - - Normalize - 标准化 - - - - DynProcControlDialog - - - INPUT - 输入 - - - - Input gain: - 输入增益: - - - - OUTPUT - 输出 - - - - Output gain: - 输出增益: - - - - ATTACK - 打击声 - - - - Peak attack time: - - - - - RELEASE - 释放 - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - - - - DynProcControls - - - Input gain - 输入增益 - - - - Output gain - 输出增益 - - - - Attack time - 打击时间 - - - - Release time - 释放时间 - - - - Stereo mode - 双声道模式 - - - - graphModel - - - Graph - 图形 - - - - KickerInstrument - - - Start frequency - 起始频率 - - - - End frequency - 结束频率 - - - - Length - 长度 - - - - Start distortion - - - - - End distortion - - - - - Gain - 增益 - - - - Envelope slope - - - - - Noise - 噪音 - - - - Click - 力度 - - - - Frequency slope - - - - - Start from note - 从哪个音符开始 - - - - End to note - 到哪个音符结束 - - - - KickerInstrumentView - - - Start frequency: - 起始频率: - - - - End frequency: - 结束频率: - - - - Frequency slope: - - - - - Gain: - 增益: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - 力度: - - - - Noise: - 噪音: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - 可用效果器 - - - - - Unavailable Effects - 不可用效果器 - - - - - Instruments - 乐器插件 - - - - - Analysis Tools - 分析工具 - - - - - Don't know - 未知 - - - - Type: - 类型: - - - - LadspaDescription - - - Plugins - 插件 - - - - Description - 描述 - - - - LadspaPortDialog - - - Ports - 端口 - - - - Name - 名称 - - - - Rate - 比特率 - - - - Direction - 方向 - - - - Type - 类型 - - - - Min < Default < Max - 最小 < 默认 < 最大 - - - - Logarithmic - 对数 - - - - SR Dependent - 依赖 SR - - - - Audio - 音频 - - - - Control - 控制 - - - - Input - 输入 - - - - Output - 输出 - - - - Toggled - 启用 - - - - Integer - 整型 - - - - Float - 浮点 - - - - - Yes - - - - - Lb302Synth - - - VCF Cutoff Frequency - - - - - VCF Resonance - - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - 失真 - - - - Waveform - 波形 - - - - Slide Decay - - - - - Slide - - - - - Accent - - - - - Dead - - - - - 24dB/oct Filter - - - - - Lb302SynthView - - - Cutoff Freq: - - - - - Resonance: - 共鸣: - - - - Env Mod: - - - - - Decay: - 衰减: - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - 锯齿波 - - - - Click here for a saw-wave. - 点击这里使用锯齿波。 - - - - Triangle wave - 三角波 - - - - Click here for a triangle-wave. - 点击这里使用三角波。 - - - - Square wave - 方波 - - - - Click here for a square-wave. - 点击这里使用方波。 - - - - Rounded square wave - 圆角方波 - - - - Click here for a square-wave with a rounded end. - 点击这里使用圆角方波。 - - - - Moog wave - - - - - Click here for a moog-like wave. - - - - - Sine wave - 正弦波 - - - - Click for a sine-wave. - 点击这里使用正弦波。 - - - - - White noise wave - 白噪音 - - - - Click here for an exponential wave. - 点击这里使用指数爆炸波形。 - - - - Click here for white-noise. - 点击这里使用白噪音。 - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - - - - - Position - 位置 - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - 调制器 - - - - Crossfade - - - - - LFO speed - LFO 速度 - - - - LFO depth - - - - - ADSR - - - - - Pressure - 压力 - - - - Motion - - - - - Speed - 速度 - - - - Bowed - - - - - Spread - - - - - Marimba - - - - - Vibraphone - - - - - Agogo - - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - 玻璃 - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - 乐器 - - - - Spread - - - - - Spread: - - - - - Missing files - 文件缺失 - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - 你的 Stk 程序似乎不是完整的。请确保你在使用此乐器前完整地安装了 Stk 软件包! - - - - Hardness - - - - - Hardness: - - - - - Position - 位置 - - - - Position: - 位置: - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - 调制器 - - - - Modulator: - 调制器: - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - LFO 速度 - - - - LFO speed: - LFO 速度: - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - - - - - ADSR: - - - - - Pressure - 压力 - - - - Pressure: - 压力: - - - - Speed - 速度 - - - - Speed: - 速度: - - - - ManageVSTEffectView - - - - VST parameter control - - VST 参数控制 - - - - VST sync - - - - - - Automated - 自动 - - - - Close - 关闭 - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST插件控制 - - - - VST Sync - VST 同步 - - - - - Automated - 自动 - - - - Close - 关闭 - - - - OrganicInstrument - - - Distortion - 失真 - - - - Volume - 音量 - - - - OrganicInstrumentView - - - Distortion: - 失真: - - - - Volume: - 音量: - - - - Randomise - 随机 - - - - - Osc %1 waveform: - - - - - Osc %1 volume: - 振荡器%1音量 - - - - Osc %1 panning: - 振荡器%1声相 - - - - Osc %1 stereo detuning - - - - - cents - 音分 cents - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: 通道预设 - - - - Bank selector - 音色选择器 - - - - Bank - - - - - Program selector - 程序节选择器 - - - - Patch - 音色 - - - - Name - 名称 - - - - OK - 确定 - - - - Cancel - 取消 - - - - Sf2Instrument - - - Bank - - - - - Patch - 音色 - - - - Gain - 增益 - - - - Reverb - 混响 - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - 合唱 - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - 无法载入Soundfont %1。 - - - - Sf2InstrumentView - - - - Open SoundFont file - 打开SoundFont文件 - - - - Choose patch - - - - - Gain: - 增益: - - - - Apply reverb (if supported) - 应用混响(如果支持) - - - - Room size: - - - - - Damping: - - - - - Width: - 宽度: - - - - - Level: - - - - - Apply chorus (if supported) - 应用合唱 (如果支持) - - - - Voices: - - - - - Speed: - 速度: - - - - Depth: - 位深: - - - - SoundFont Files (*.sf2 *.sf3) - - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - 宽度: - - - - StereoEnhancerControls - - - Width - 宽度 - - - - StereoMatrixControlDialog - - - Left to Left Vol: - 从左到左音量: - - - - Left to Right Vol: - 从左到右音量: - - - - Right to Left Vol: - 从右到左音量: - - - - Right to Right Vol: - 从右到右音量: - - - - StereoMatrixControls - - - Left to Left - 从左到左 - - - - Left to Right - 从左到右 - - - - Right to Left - 从右到左 - - - - Right to Right - 从右到右 - - - - VestigeInstrument - - - Loading plugin - 载入插件 - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - - - - - Impulse Editor - - - - - Enable waveform - 启用波形 - - - - Enable/disable string - - - - - String - - - - - - Sine wave - 正弦波 - - - - - Triangle wave - 三角波 - - - - - Saw wave - 锯齿波 - - - - - Square wave - 方波 - - - - - White noise - 白噪音 - - - - - User-defined wave - - - - - - Smooth waveform - 平滑波形 - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - 声音 %1 波形形状 - - - - Voice %1 sync - 声音 %1 同步 - - - - Voice %1 ring modulate - - - - - Voice %1 filtered - - - - - Voice %1 test - 声音 %1 测试 - - - - WaveShaperControlDialog - - - INPUT - 输入 - - - - Input gain: - 输入增益: - - - - OUTPUT - 输出 - - - - Output gain: - 输出增益: - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Clip input - 输入压限 - - - - Clip input signal to 0 dB - - - - - WaveShaperControls - - - Input gain - 输入增益 - - - - Output gain - 输出增益 - - - + \ No newline at end of file diff --git a/data/locale/zh_TW.ts b/data/locale/zh_TW.ts index 9348dfb32..7a4f5ce9c 100644 --- a/data/locale/zh_TW.ts +++ b/data/locale/zh_TW.ts @@ -1,4 +1,4 @@ - + AboutDialog @@ -69,810 +69,43 @@ If you're interested in translating LMMS in another language or want to imp - AmplifierControlDialog + AboutJuceDialog - - VOL - VOL - - - - Volume: - 音量: - - - - PAN - PAN - - - - Panning: - 聲相: - - - - LEFT - - - - - Left gain: - 左增益: - - - - RIGHT - - - - - Right gain: - 右增益: - - - - AmplifierControls - - - Volume - 音量 - - - - Panning - 聲相 - - - - Left gain - 左增益 - - - - Right gain - 右增益 - - - - AudioAlsaSetupWidget - - - DEVICE - 裝置 - - - - CHANNELS - 聲道數 - - - - AudioFileProcessorView - - - Open sample + + About JUCE - - Reverse sample - 反轉取樣 - - - - Disable loop - 停用循環 - - - - Enable loop - 啟用循環 - - - - Enable ping-pong loop + + <b>About JUCE</b> - - Continue sample playback across notes - 跨音符繼續播放採樣 - - - - Amplify: - 放大: - - - - Start point: + + This program uses JUCE version 3.x.x. - - End point: + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. + +The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. +Other modules are covered by a GNU GPL 3.0 license. + +Copyright (C) 2022 Raw Material Software Limited. - - Loopback point: - 循環點: - - - - AudioFileProcessorWaveView - - - Sample length: - 採樣長度: - - - - AudioJack - - - JACK client restarted - JACK 客戶端已重啓 - - - - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS 由於某些原因與 JACK 中斷連線,因此 LMMS 的 JACK 後端已重新啟動,您必須手動重新連線。 - - - - JACK server down - JACK 伺服器發生問題 - - - - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - JACK 伺服器似乎發生問題,而且無法重新啟動,因此 LMMS 無法繼續執行。請儲存專案,然後重新啟動 JACK 和 LMMS。 - - - - Client name - - - - - Channels + + This program uses JUCE version - AudioOss + AudioDeviceSetupWidget - - Device - - - - - Channels - - - - - AudioPortAudio::setupWidget - - - Backend - - - - - Device - - - - - AudioPulseAudio - - - Device - - - - - Channels - - - - - AudioSdl::setupWidget - - - Device - - - - - AudioSndio - - - Device - - - - - Channels - - - - - AudioSoundIo::setupWidget - - - Backend - - - - - Device - - - - - AutomatableModel - - - &Reset (%1%2) - 重設(%1%2)(&R) - - - - &Copy value (%1%2) - 複製值(%1%2)(&C) - - - - &Paste value (%1%2) - 貼上值(%1%2)(&P) - - - - &Paste value - 貼上值 (&P) - - - - Edit song-global automation - 編輯歌曲全局的自動控制裝置 - - - - Remove song-global automation - 移除歌曲全域自動控制裝置 - - - - Remove all linked controls - 移除所有已連線的控制器 - - - - Connected to %1 - 已連線至 %1 - - - - Connected to controller - 連線至控制器 - - - - Edit connection... - 編輯連線… - - - - Remove connection - 移除連線 - - - - Connect to controller... - 連線至控制器… - - - - AutomationEditor - - - Edit Value - - - - - New outValue - - - - - New inValue - - - - - Please open an automation clip with the context menu of a control! - 請透過控制的右鍵選單開啟自動控制模式! - - - - AutomationEditorWindow - - - Play/pause current clip (Space) - 播放/暫停當前片段(空格) - - - - Stop playing of current clip (Space) - 停止當前片段(空格) - - - - Edit actions - 編輯功能 - - - - Draw mode (Shift+D) - 繪製模式 (Shift+D) - - - - Erase mode (Shift+E) - 擦除模式 (Shift+E) - - - - Draw outValues mode (Shift+C) - - - - - Flip vertically - 垂直翻轉 - - - - Flip horizontally - 水平翻轉 - - - - Interpolation controls - 補間控制 - - - - Discrete progression - 區間進程 (Discrete progression) - - - - Linear progression - 線性進程 (Linear progression) - - - - Cubic Hermite progression - - - - - Tension value for spline - - - - - Tension: - - - - - Zoom controls - 縮放控制 - - - - Horizontal zooming - 橫向縮放 - - - - Vertical zooming - 垂直縮放 - - - - Quantization controls - 量化控制 - - - - Quantization - 量化 - - - - - Automation Editor - no clip - 自動控制編輯器 - 沒有片段 - - - - - Automation Editor - %1 - 自動控制編輯器 - %1 - - - - Model is already connected to this clip. - 模型已連接到此片段。 - - - - AutomationClip - - - Drag a control while pressing <%1> - 按住<%1>拖動控制器 - - - - AutomationClipView - - - Open in Automation editor - 在自動編輯器(Automation editor)中打開 - - - - Clear - 清除 - - - - Reset name - 重置名稱 - - - - Change name - 修改名稱 - - - - Set/clear record - 設置/清除錄製 - - - - Flip Vertically (Visible) - 垂直翻轉 (可見) - - - - Flip Horizontally (Visible) - 水平翻轉 (可見) - - - - %1 Connections - %1個連接 - - - - Disconnect "%1" - 斷開“%1”的連接 - - - - Model is already connected to this clip. - 模型已連接到此片段。 - - - - AutomationTrack - - - Automation track - 自動控制軌道 - - - - PatternEditor - - - Beat+Bassline Editor - 節拍+低音線編輯器 - - - - Play/pause current beat/bassline (Space) - 播放/暫停當前節拍/低音線(空格) - - - - Stop playback of current beat/bassline (Space) - 停止播放當前節拍/低音線(空格) - - - - Beat selector - 節拍選擇器 - - - - Track and step actions - - - - - Add beat/bassline - 添加節拍/低音線 - - - - Clone beat/bassline clip - - - - - Add sample-track - 新增採樣音軌 - - - - Add automation-track - 添加自動控制軌道 - - - - Remove steps - 移除音階 - - - - Add steps - 添加音階 - - - - Clone Steps - - - - - PatternClipView - - - Open in Beat+Bassline-Editor - 在節拍+Bassline編輯器中打開 - - - - Reset name - 重置名稱 - - - - Change name - 修改名稱 - - - - PatternTrack - - - Beat/Bassline %1 - 節拍/Bassline %1 - - - - Clone of %1 - %1 的副本 - - - - BassBoosterControlDialog - - - FREQ - 頻率 - - - - Frequency: - 頻率: - - - - GAIN - 增益 - - - - Gain: - 增益: - - - - RATIO - 比率 - - - - Ratio: - 比率: - - - - BassBoosterControls - - - Frequency - 頻率 - - - - Gain - 增益 - - - - Ratio - 比率 - - - - BitcrushControlDialog - - - IN - 輸入 - - - - OUT - 輸出 - - - - - GAIN - 增益 - - - - Input gain: - 輸入增益: - - - - NOISE - - - - - Input noise: - - - - - Output gain: - 輸出增益: - - - - CLIP - 壓限 - - - - Output clip: - - - - - Rate enabled - - - - - Enable sample-rate crushing - - - - - Depth enabled - - - - - Enable bit-depth crushing - - - - - FREQ - 頻率 - - - - Sample rate: - 採樣率: - - - - STEREO - - - - - Stereo difference: - 雙聲道差異: - - - - QUANT - - - - - Levels: - 級別: - - - - BitcrushControls - - - Input gain - 輸入增益 - - - - Input noise - - - - - Output gain - 輸出增益 - - - - Output clip - - - - - Sample rate - - - - - Stereo difference - - - - - Levels - 級別 - - - - Rate enabled - - - - - Depth enabled + + [System Default] @@ -899,124 +132,124 @@ If you're interested in translating LMMS in another language or want to imp - + Artwork - + Using KDE Oxygen icon set, designed by Oxygen Team. - + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + VST is a trademark of Steinberg Media Technologies GmbH. - + Special thanks to António Saraiva for a few extra icons and artwork! - + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + MIDI Keyboard designed by Thorsten Wilms. - + Carla, Carla-Control and Patchbay icons designed by DoosC. - + Features - + AU/AudioUnit: - + LADSPA: - - - - - - - - + + + + + + + + TextLabel - + VST2: - + DSSI: - + LV2: - + VST3: - + OSC - + Host URLs: - + Valid commands: - + valid osc commands here - + Example: - + License 授權協議 - + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -1301,50 +534,50 @@ POSSIBILITY OF SUCH DAMAGES. - + OSC Bridge Version - + Plugin Version - + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - + + (Engine not running) - + Everything! (Including LRDF) - + Everything! (Including CustomData/Chunks) - + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - + + + Using Juce host - + About 85% complete (missing vst bank/presets and some minor stuff) @@ -1377,561 +610,598 @@ POSSIBILITY OF SUCH DAMAGES. - + + Save + + + + + Clear + + + + + Ctrl+L + + + + + Auto-Scroll + + + + Buffer Size: - + Sample Rate: - + ? Xruns - + DSP Load: %p% - + &File 檔案(&F) - + &Engine - + &Plugin - + Macros (all plugins) - + &Canvas - + Zoom - + &Settings - + &Help 幫助(&H) - - toolBar + + Tool Bar - + Disk - - + + Home - + Transport - + Playback Controls - + Time Information - + Frame: - + 000'000'000 - + Time: 時間: - + 00:00:00 - + BBT: - + 000|00|0000 - + Settings 設置 - + BPM - + Use JACK Transport - + Use Ableton Link - + &New 新建(&N) - + Ctrl+N - + &Open... 打開(&O)... - - + + Open... - + Ctrl+O - + &Save 保存(&S) - + Ctrl+S - + Save &As... 另存爲(&A)... - - + + Save As... - + Ctrl+Shift+S - + &Quit 退出(&Q) - + Ctrl+Q - + &Start - + F5 - + St&op - + F6 - + &Add Plugin... - + Ctrl+A - + &Remove All - + Enable - + Disable - + 0% Wet (Bypass) - + 100% Wet - + 0% Volume (Mute) - + 100% Volume - + Center Balance - + &Play - + Ctrl+Shift+P - + &Stop - + Ctrl+Shift+X - + &Backwards - + Ctrl+Shift+B - + &Forwards - + Ctrl+Shift+F - + &Arrange - + Ctrl+G - - + + &Refresh - + Ctrl+R - + Save &Image... - + Auto-Fit - + Zoom In - + Ctrl++ - + Zoom Out - + Ctrl+- - + Zoom 100% - + Ctrl+1 - + Show &Toolbar - + &Configure Carla - + &About - + About &JUCE - + About &Qt - + Show Canvas &Meters - + Show Canvas &Keyboard - + Show Internal - + Show External - + Show Time Panel - + Show &Side Panel - + + Ctrl+P + + + + &Connect... - + Compact Slots - + Expand Slots - + Perform secret 1 - + Perform secret 2 - + Perform secret 3 - + Perform secret 4 - + Perform secret 5 - + Add &JACK Application... - + &Configure driver... - + Panic - + Open custom driver panel... + + + Save Image... (2x zoom) + + + + + Save Image... (4x zoom) + + + + + Copy as Image to Clipboard + + + + + Ctrl+Shift+C + + CarlaHostWindow - + Export as... - - - - + + + + Error 錯誤 - + Failed to load project - + Failed to save project - + Quit 退出 - + Are you sure you want to quit Carla? - + Could not connect to Audio backend '%1', possible reasons: %2 - + Could not connect to Audio backend '%1' - + Warning - + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - - CarlaInstrumentView - - - Show GUI - 顯示圖形界面 - - CarlaSettingsW @@ -1986,19 +1256,19 @@ Do you want to do this now? - + Main - + Canvas - + Engine @@ -2019,1487 +1289,589 @@ Do you want to do this now? - + Experimental - + <b>Main</b> - + Paths 路徑 - + Default project folder: - + Interface - + + Use "Classic" as default rack skin + + + + Interface refresh interval: - - + + ms - + Show console output in Logs tab (needs engine restart) - + Show a confirmation dialog before quitting - - + + Theme - + Use Carla "PRO" theme (needs restart) - + Color scheme: - + Black - + System - + Enable experimental features - + <b>Canvas</b> - + Bezier Lines - + Theme: - + Size: - + 775x600 - + 1550x1200 - + 3100x2400 - + 4650x3600 - + 6200x4800 - + + 12400x9600 + + + + Options - + Auto-hide groups with no ports - + Auto-select items on hover - + Basic eye-candy (group shadows) - + Render Hints - + Anti-Aliasing - + Full canvas repaints (slower, but prevents drawing issues) - + <b>Engine</b> - - + + Core - + Single Client - + Multiple Clients - - + + Continuous Rack - - + + Patchbay - + Audio driver: - + Process mode: - - - - + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - + Max Parameters: - + ... - + Reset Xrun counter after project load - + Plugin UIs - - + + How much time to wait for OSC GUIs to ping back the host - + UI Bridge Timeout: - + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + Use UI bridges instead of direct handling when possible - + Make plugin UIs always-on-top - + Make plugin UIs appear on top of Carla (needs restart) - + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - - + + Restart the engine to load the new settings - + <b>OSC</b> - + Enable OSC - + Enable TCP port - - + + Use specific port: - + Overridden by CARLA_OSC_TCP_PORT env var - - + + Use randomly assigned port - + Enable UDP port - + Overridden by CARLA_OSC_UDP_PORT env var - + DSSI UIs require OSC UDP port enabled - + <b>File Paths</b> - + Audio 音頻 - + MIDI MIDI - + Used for the "audiofile" plugin - + Used for the "midifile" plugin - - + + Add... - - + + Remove - - + + Change... - + <b>Plugin Paths</b> - + LADSPA - + DSSI - + LV2 - + VST2 - + VST3 - + SF2/3 - + SFZ - + + JSFX + + + + + CLAP + + + + Restart Carla to find new plugins - + <b>Wine</b> - + Executable - + Path to 'wine' binary: - + Prefix - + Auto-detect Wine prefix based on plugin filename - + Fallback: - + Note: WINEPREFIX env var is preferred over this fallback - + Realtime Priority - + Base priority: - + WineServer priority: - + These options are not available for Carla as plugin - + <b>Experimental</b> - + Experimental options! Likely to be unstable! - + Enable plugin bridges - + Enable Wine bridges - + Enable jack applications - + Export single plugins to LV2 - + + Use system/desktop-theme icons (needs restart) + + + + Load Carla backend in global namespace (NOT RECOMMENDED) - + Fancy eye-candy (fade-in/out groups, glow connections) - + Use OpenGL for rendering (needs restart) - + High Quality Anti-Aliasing (OpenGL only) - + Render Ardour-style "Inline Displays" - + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Force mono plugins as stereo - - Prevent plugins from doing bad stuff (needs restart) + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - - Whenever possible, run the plugins in bridge mode. + + Prevent unsafe calls from plugins (needs restart) - + + Run plugins in a separate process, so if they crash it does not affect Carla. +Plugins get automatically deactivated in such cases. +Reactvate them to start the process again, with the last saved state applied to it. + + + + Run plugins in bridge mode when possible - - - - + + + + Add Path - - CompressorControlDialog - - - Threshold: - - - - - Volume at which the compression begins to take place - - - - - Ratio: - 比率: - - - - How far the compressor must turn the volume down after crossing the threshold - - - - - Attack: - 打進聲: - - - - Speed at which the compressor starts to compress the audio - - - - - Release: - 釋音: - - - - Speed at which the compressor ceases to compress the audio - - - - - Knee: - - - - - Smooth out the gain reduction curve around the threshold - - - - - Range: - - - - - Maximum gain reduction - - - - - Lookahead Length: - - - - - How long the compressor has to react to the sidechain signal ahead of time - - - - - Hold: - 持續: - - - - Delay between attack and release stages - - - - - RMS Size: - - - - - Size of the RMS buffer - - - - - Input Balance: - - - - - Bias the input audio to the left/right or mid/side - - - - - Output Balance: - - - - - Bias the output audio to the left/right or mid/side - - - - - Stereo Balance: - - - - - Bias the sidechain signal to the left/right or mid/side - - - - - Stereo Link Blend: - - - - - Blend between unlinked/maximum/average/minimum stereo linking modes - - - - - Tilt Gain: - - - - - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - - - - - Tilt Frequency: - - - - - Center frequency of sidechain tilt filter - - - - - Mix: - - - - - Balance between wet and dry signals - - - - - Auto Attack: - - - - - Automatically control attack value depending on crest factor - - - - - Auto Release: - - - - - Automatically control release value depending on crest factor - - - - - Output gain - 輸出增益 - - - - - Gain - 增益 - - - - Output volume - - - - - Input gain - 輸入增益 - - - - Input volume - - - - - Root Mean Square - - - - - Use RMS of the input - - - - - Peak - - - - - Use absolute value of the input - - - - - Left/Right - - - - - Compress left and right audio - - - - - Mid/Side - - - - - Compress mid and side audio - - - - - Compressor - - - - - Compress the audio - - - - - Limiter - - - - - Set Ratio to infinity (is not guaranteed to limit audio volume) - - - - - Unlinked - - - - - Compress each channel separately - - - - - Maximum - - - - - Compress based on the loudest channel - - - - - Average - - - - - Compress based on the averaged channel volume - - - - - Minimum - - - - - Compress based on the quietest channel - - - - - Blend - - - - - Blend between stereo linking modes - - - - - Auto Makeup Gain - - - - - Automatically change makeup gain depending on threshold, knee, and ratio settings - - - - - - Soft Clip - - - - - Play the delta signal - - - - - Use the compressor's output as the sidechain input - - - - - Lookahead Enabled - - - - - Enable Lookahead, which introduces 20 milliseconds of latency - - - - - CompressorControls - - - Threshold - - - - - Ratio - 比率 - - - - Attack - 打進聲 - - - - Release - 釋放 - - - - Knee - - - - - Hold - 保持 - - - - Range - - - - - RMS Size - - - - - Mid/Side - - - - - Peak Mode - - - - - Lookahead Length - - - - - Input Balance - - - - - Output Balance - - - - - Limiter - - - - - Output Gain - - - - - Input Gain - - - - - Blend - - - - - Stereo Balance - - - - - Auto Makeup Gain - - - - - Audition - - - - - Feedback - - - - - Auto Attack - - - - - Auto Release - - - - - Lookahead - - - - - Tilt - - - - - Tilt Frequency - - - - - Stereo Link - - - - - Mix - 混合 - - - - Controller - - - Controller %1 - 控制器%1 - - - - ControllerConnectionDialog - - - Connection Settings - 連接設置 - - - - MIDI CONTROLLER - MIDI控制器 - - - - Input channel - 輸入通道 - - - - CHANNEL - 通道 - - - - Input controller - 輸入控制器 - - - - CONTROLLER - 控制器 - - - - - Auto Detect - 自動檢測 - - - - MIDI-devices to receive MIDI-events from - 用來接收 MIDI 事件的MIDI 設備 - - - - USER CONTROLLER - 用戶控制器 - - - - MAPPING FUNCTION - 映射函數 - - - - OK - 確定 - - - - Cancel - 取消 - - - - LMMS - LMMS - - - - Cycle Detected. - 檢測到環路。 - - - - ControllerRackView - - - Controller Rack - 控制器機架 - - - - Add - 增加 - - - - Confirm Delete - 刪除前確認 - - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - 確定要刪除嗎?此控制器仍處於被連接狀態。此操作不可撤銷。 - - - - ControllerView - - - Controls - 控制器 - - - - Rename controller - 重命名控制器 - - - - Enter the new name for this controller - 輸入這個控制器的新名稱 - - - - LFO - - - - - &Remove this controller - - - - - Re&name this controller - - - - - CrossoverEQControlDialog - - - Band 1/2 crossover: - - - - - Band 2/3 crossover: - - - - - Band 3/4 crossover: - - - - - Band 1 gain - - - - - Band 1 gain: - - - - - Band 2 gain - - - - - Band 2 gain: - - - - - Band 3 gain - - - - - Band 3 gain: - - - - - Band 4 gain - - - - - Band 4 gain: - - - - - Band 1 mute - - - - - Mute band 1 - - - - - Band 2 mute - - - - - Mute band 2 - - - - - Band 3 mute - - - - - Mute band 3 - - - - - Band 4 mute - - - - - Mute band 4 - - - - - DelayControls - - - Delay samples - - - - - Feedback - - - - - LFO frequency - - - - - LFO amount - - - - - Output gain - 輸出增益 - - - - DelayControlsDialog - - - DELAY - - - - - Delay time - - - - - FDBK - - - - - Feedback amount - - - - - RATE - - - - - LFO frequency - - - - - AMNT - - - - - LFO amount - - - - - Out gain - - - - - Gain - 增益 - - Dialog - - - Add JACK Application - - - - - Note: Features not implemented yet are greyed out - - - - - Application - - - - - Name: - - - - - Application: - - - - - From template - - - - - Custom - - - - - Template: - - - - - Command: - - - - - Setup - - - - - Session Manager: - - - - - None - - - - - Audio inputs: - - - - - MIDI inputs: - - - - - Audio outputs: - - - - - MIDI outputs: - - - - - Take control of main application window - - - - - Workarounds - - - - - Wait for external application start (Advanced, for Debug only) - - - - - Capture only the first X11 Window - - - - - Use previous client output buffer as input for the next client - - - - - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - - - - - Error here - - Carla Control - Connect @@ -3525,27 +1897,6 @@ This mode is not available for VST plugins. TCP Port: - - - Reported host - - - - - Automatic - - - - - Custom: - - - - - In some networks (like USB connections), the remote system cannot reach the local network. You can specify here which hostname or IP to make the remote Carla connect to. -If you are unsure, leave it as 'Automatic'. - - Set value @@ -3600,948 +1951,6 @@ If you are unsure, leave it as 'Automatic'. - - DualFilterControlDialog - - - - FREQ - 頻率 - - - - - Cutoff frequency - 切除頻率 - - - - - RESO - - - - - - Resonance - 共鳴 - - - - - GAIN - 增益 - - - - - Gain - 增益 - - - - MIX - - - - - Mix - 混合 - - - - Filter 1 enabled - 已啓用過濾器 1 - - - - Filter 2 enabled - 已啓用過濾器 2 - - - - Enable/disable filter 1 - - - - - Enable/disable filter 2 - - - - - DualFilterControls - - - Filter 1 enabled - 過濾器1 已啓用 - - - - Filter 1 type - 過濾器 1 類型 - - - - Cutoff frequency 1 - - - - - Q/Resonance 1 - 濾波器 1 Q值 - - - - Gain 1 - 增益 1 - - - - Mix - 混合 - - - - Filter 2 enabled - 已啓用過濾器 2 - - - - Filter 2 type - 過濾器 1 類型 {2 ?} - - - - Cutoff frequency 2 - - - - - Q/Resonance 2 - 濾波器 2 Q值 - - - - Gain 2 - 增益 2 - - - - - Low-pass - - - - - - Hi-pass - - - - - - Band-pass csg - - - - - - Band-pass czpg - - - - - - Notch - 凹口濾波器 - - - - - All-pass - - - - - - Moog - Moog - - - - - 2x Low-pass - - - - - - RC Low-pass 12 dB/oct - - - - - - RC Band-pass 12 dB/oct - - - - - - RC High-pass 12 dB/oct - - - - - - RC Low-pass 24 dB/oct - - - - - - RC Band-pass 24 dB/oct - - - - - - RC High-pass 24 dB/oct - - - - - - Vocal Formant - - - - - - 2x Moog - - - - - - SV Low-pass - - - - - - SV Band-pass - - - - - - SV High-pass - - - - - - SV Notch - - - - - - Fast Formant - - - - - - Tripole - - - - - Editor - - - Transport controls - - - - - Play (Space) - 播放(空格) - - - - Stop (Space) - 停止(空格) - - - - Record - 錄音 - - - - Record while playing - 播放時錄音 - - - - Toggle Step Recording - - - - - Effect - - - Effect enabled - 啓用效果器 - - - - Wet/Dry mix - 幹/溼混合 - - - - Gate - 門限 - - - - Decay - 衰減 - - - - EffectChain - - - Effects enabled - 啓用效果器 - - - - EffectRackView - - - EFFECTS CHAIN - 效果器鏈 - - - - Add effect - 增加效果器 - - - - EffectSelectDialog - - - Add effect - 增加效果器 - - - - - Name - 名稱 - - - - Type - 類型 - - - - Description - 描述 - - - - Author - - - - - EffectView - - - On/Off - 開/關 - - - - W/D - W/D - - - - Wet Level: - 效果度: - - - - DECAY - 衰減 - - - - Time: - 時間: - - - - GATE - 門限 - - - - Gate: - 門限: - - - - Controls - 控制 - - - - Move &up - 向上移(&U) - - - - Move &down - 向下移(&D) - - - - &Remove this plugin - 移除此插件(&R) - - - - EnvelopeAndLfoParameters - - - Env pre-delay - - - - - Env attack - - - - - Env hold - - - - - Env decay - - - - - Env sustain - - - - - Env release - - - - - Env mod amount - - - - - LFO pre-delay - - - - - LFO attack - - - - - LFO frequency - - - - - LFO mod amount - - - - - LFO wave shape - - - - - LFO frequency x 100 - - - - - Modulate env amount - - - - - EnvelopeAndLfoView - - - - DEL - DEL - - - - - Pre-delay: - - - - - - ATT - ATT - - - - - Attack: - 打進聲: - - - - HOLD - 持續 - - - - Hold: - 持續: - - - - DEC - 衰減 - - - - Decay: - 衰減: - - - - SUST - 持續 - - - - Sustain: - 持續: - - - - REL - 釋音 - - - - Release: - 釋音: - - - - - AMT - - - - - - Modulation amount: - 調製量: - - - - SPD - - - - - Frequency: - 頻率: - - - - FREQ x 100 - 頻率 x 100 - - - - Multiply LFO frequency by 100 - - - - - MODULATE ENV AMOUNT - - - - - Control envelope amount by this LFO - - - - - ms/LFO: - - - - - Hint - 提示 - - - - Drag and drop a sample into this window. - - - - - EqControls - - - Input gain - 輸入增益 - - - - Output gain - 輸出增益 - - - - Low-shelf gain - - - - - Peak 1 gain - - - - - Peak 2 gain - - - - - Peak 3 gain - - - - - Peak 4 gain - - - - - High-shelf gain - - - - - HP res - - - - - Low-shelf res - - - - - Peak 1 BW - - - - - Peak 2 BW - - - - - Peak 3 BW - - - - - Peak 4 BW - - - - - High-shelf res - - - - - LP res - - - - - HP freq - - - - - Low-shelf freq - - - - - Peak 1 freq - - - - - Peak 2 freq - - - - - Peak 3 freq - - - - - Peak 4 freq - - - - - High-shelf freq - - - - - LP freq - - - - - HP active - - - - - Low-shelf active - - - - - Peak 1 active - - - - - Peak 2 active - - - - - Peak 3 active - - - - - Peak 4 active - - - - - High-shelf active - - - - - LP active - - - - - LP 12 - - - - - LP 24 - - - - - LP 48 - - - - - HP 12 - - - - - HP 24 - - - - - HP 48 - - - - - Low-pass type - - - - - High-pass type - - - - - Analyse IN - - - - - Analyse OUT - - - - - EqControlsDialog - - - HP - - - - - Low-shelf - - - - - Peak 1 - - - - - Peak 2 - - - - - Peak 3 - - - - - Peak 4 - - - - - High-shelf - - - - - LP - - - - - Input gain - 輸入增益 - - - - - - Gain - 增益 - - - - Output gain - 輸出增益 - - - - Bandwidth: - - - - - Octave - - - - - Resonance : - - - - - Frequency: - 頻率: - - - - LP group - - - - - HP group - - - - - EqHandle - - - Reso: - - - - - BW: - - - - - - Freq: - - - ExportProjectDialog @@ -4725,2126 +2134,652 @@ If you are unsure, leave it as 'Automatic'. - - Oversampling: - - - - - 1x (None) - 1x (無) - - - - 2x - 2x - - - - 4x - 4x - - - - 8x - 8x - - - + Start 開始 - + Cancel 取消 - - - Could not open file - 無法開啟檔案 - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - 無法開啟 %1 以進行寫入。 -請確認您有權限存取此檔案,以及包含此檔案的目錄後再試一次。 - - - - Export project to %1 - 導出項目到 %1 - - - - ( Fastest - biggest ) - - - - - ( Slowest - smallest ) - - - - - Error - 錯誤 - - - - Error while determining file-encoder device. Please try to choose a different output format. - 偵測檔案編碼裝置時發生錯誤。請嘗試使用其他輸出格式。 - - - - Rendering: %1% - 渲染中:%1% - - - - Fader - - - Set value - - - - - Please enter a new value between %1 and %2: - 請輸入一個介於%1和%2之間的數值: - - - - FileBrowser - - - User content - - - - - Factory content - - - - - Browser - 瀏覽器 - - - - Search - - - - - Refresh list - - - - - FileBrowserTreeWidget - - - Send to active instrument-track - 發送到活躍的樂器軌道 - - - - Open containing folder - - - - - Song Editor - 顯示/隱藏歌曲編輯器 - - - - BB Editor - - - - - Send to new AudioFileProcessor instance - - - - - Send to new instrument track - - - - - (%2Enter) - - - - - Send to new sample track (Shift + Enter) - - - - - Loading sample - 加載採樣中 - - - - Please wait, loading sample for preview... - 請稍候,加載採樣中... - - - - Error - 錯誤 - - - - %1 does not appear to be a valid %2 file - - - - - --- Factory files --- - --- 內建檔案 --- - - - - FlangerControls - - - Delay samples - - - - - LFO frequency - - - - - Seconds - - - - - Stereo phase - - - - - Regen - - - - - Noise - 噪音 - - - - Invert - 反轉 - - - - FlangerControlsDialog - - - DELAY - - - - - Delay time: - - - - - RATE - - - - - Period: - - - - - AMNT - - - - - Amount: - - - - - PHASE - - - - - Phase: - - - - - FDBK - - - - - Feedback amount: - - - - - NOISE - - - - - White noise amount: - - - - - Invert - 反轉 - - - - FreeBoyInstrument - - - Sweep time - - - - - Sweep direction - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle - - - - - Channel 1 volume - - - - - - - Volume sweep direction - - - - - - - Length of each step in sweep - - - - - Channel 2 volume - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Shift Register width - - - - - Right output level - - - - - Left output level - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Treble - - - - - Bass - 低音 - - - - FreeBoyInstrumentView - - - Sweep time: - - - - - Sweep time - - - - - Sweep rate shift amount: - - - - - Sweep rate shift amount - - - - - - Wave pattern duty cycle: - - - - - - Wave pattern duty cycle - - - - - Square channel 1 volume: - - - - - Square channel 1 volume - - - - - - - Length of each step in sweep: - - - - - - - Length of each step in sweep - - - - - Square channel 2 volume: - - - - - Square channel 2 volume - - - - - Wave pattern channel volume: - - - - - Wave pattern channel volume - - - - - Noise channel volume: - - - - - Noise channel volume - - - - - SO1 volume (Right): - - - - - SO1 volume (Right) - - - - - SO2 volume (Left): - - - - - SO2 volume (Left) - - - - - Treble: - - - - - Treble - - - - - Bass: - - - - - Bass - 低音 - - - - Sweep direction - - - - - - - - - Volume sweep direction - - - - - Shift register width - - - - - Channel 1 to SO1 (Right) - - - - - Channel 2 to SO1 (Right) - - - - - Channel 3 to SO1 (Right) - - - - - Channel 4 to SO1 (Right) - - - - - Channel 1 to SO2 (Left) - - - - - Channel 2 to SO2 (Left) - - - - - Channel 3 to SO2 (Left) - - - - - Channel 4 to SO2 (Left) - - - - - Wave pattern graph - - - - - MixerChannelView - - - Channel send amount - 通道發送的數量 - - - - Move &left - 向左移(&L) - - - - Move &right - 向右移(&R) - - - - Rename &channel - 重命名通道(&C) - - - - R&emove channel - 刪除通道(&E) - - - - Remove &unused channels - 移除所有未用通道(&U) - - - - Set channel color - - - - - Remove channel color - - - - - Pick random channel color - - - - - MixerChannelLcdSpinBox - - - Assign to: - 分配給: - - - - New mixer Channel - 新的效果通道 - - - - Mixer - - - Master - 主控 - - - - - - Channel %1 - FX %1 - - - - Volume - 音量 - - - - Mute - 靜音 - - - - Solo - 獨奏 - - - - MixerView - - - Mixer - 效果混合器 - - - - Fader %1 - FX 衰減器 %1 - - - - Mute - 靜音 - - - - Mute this mixer channel - 靜音此效果通道 - - - - Solo - 獨奏 - - - - Solo mixer channel - 獨奏效果通道 - - - - MixerRoute - - - - Amount to send from channel %1 to channel %2 - 從通道 %1 發送到通道 %2 的量 - - - - GigInstrument - - - Bank - - - - - Patch - 音色 - - - - Gain - 增益 - - - - GigInstrumentView - - - - Open GIG file - 開啟 GIG 檔案 - - - - Choose patch - - - - - Gain: - 增益: - - - - GIG Files (*.gig) - GIG 檔案 (*.gig) - - - - GuiApplication - - - Working directory - 工作目錄 - - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - LMMS工作目錄%1不存在,現在新建一個嗎?你可以稍後在 編輯 -> 設置 中更改此設置。 - - - - Preparing UI - 正在準備界面 - - - - Preparing song editor - 正在準備歌曲編輯器 - - - - Preparing mixer - 正在準備混音器 - - - - Preparing controller rack - 正在準備控制機架 - - - - Preparing project notes - 正在準備專案音符 - - - - Preparing beat/bassline editor - 正在準備節拍/低音線編輯器 - - - - Preparing piano roll - 正在準備鋼琴捲簾 - - - - Preparing automation editor - 正在準備自動化控制編輯器 - - - - InstrumentFunctionArpeggio - - - Arpeggio - - - - - Arpeggio type - - - - - Arpeggio range - - - - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - - Arpeggio time - - - - - Arpeggio gate - - - - - Arpeggio direction - - - - - Arpeggio mode - - - - - Up - 向上 - - - - Down - 向下 - - - - Up and down - 上和下 - - - - Down and up - 下和上 - - - - Random - 隨機 - - - - Free - 自由 - - - - Sort - 排序 - - - - Sync - 同步 - - - - InstrumentFunctionArpeggioView - - - ARPEGGIO - 琶音 - - - - RANGE - 範圍 - - - - Arpeggio range: - - - - - octave(s) - - - - - REP - - - - - Note repeats: - - - - - time(s) - - - - - CYCLE - - - - - Cycle notes: - - - - - note(s) - - - - - SKIP - - - - - Skip rate: - - - - - - - % - % - - - - MISS - - - - - Miss rate: - - - - - TIME - 時長 - - - - Arpeggio time: - - - - - ms - 毫秒 - - - - GATE - 門限 - - - - Arpeggio gate: - - - - - Chord: - 和絃: - - - - Direction: - 方向: - - - - Mode: - 模式: - InstrumentFunctionNoteStacking - + octave octave - - + + Major Major - + Majb5 Majb5 - + minor minor - + minb5 minb5 - + sus2 sus2 - + sus4 sus4 - + aug aug - + augsus4 augsus4 - + tri tri - + 6 6 - + 6sus4 6sus4 - + 6add9 6add9 - + m6 m6 - + m6add9 m6add9 - + 7 7 - + 7sus4 7sus4 - + 7#5 7#5 - + 7b5 7b5 - + 7#9 7#9 - + 7b9 7b9 - + 7#5#9 7#5#9 - + 7#5b9 7#5b9 - + 7b5b9 7b5b9 - + 7add11 7add11 - + 7add13 7add13 - + 7#11 7#11 - + Maj7 Maj7 - + Maj7b5 Maj7b5 - + Maj7#5 Maj7#5 - + Maj7#11 Maj7#11 - + Maj7add13 Maj7add13 - + m7 m7 - + m7b5 m7b5 - + m7b9 m7b9 - + m7add11 m7add11 - + m7add13 m7add13 - + m-Maj7 m-Maj7 - + m-Maj7add11 m-Maj7add11 - + m-Maj7add13 m-Maj7add13 - + 9 9 - + 9sus4 9sus4 - + add9 add9 - + 9#5 9#5 - + 9b5 9b5 - + 9#11 9#11 - + 9b13 9b13 - + Maj9 Maj9 - + Maj9sus4 Maj9sus4 - + Maj9#5 Maj9#5 - + Maj9#11 Maj9#11 - + m9 m9 - + madd9 madd9 - + m9b5 m9b5 - + m9-Maj7 m9-Maj7 - + 11 11 - + 11b9 11b9 - + Maj11 Maj11 - + m11 m11 - + m-Maj11 m-Maj11 - + 13 13 - + 13#9 13#9 - + 13b9 13b9 - + 13b5b9 13b5b9 - + Maj13 Maj13 - + m13 m13 - + m-Maj13 m-Maj13 - + Harmonic minor Harmonic minor - + Melodic minor Melodic minor - + Whole tone - + Diminished Diminished - + Major pentatonic Major pentatonic - + Minor pentatonic Minor pentatonic - + Jap in sen Jap in sen - + Major bebop Major bebop - + Dominant bebop Dominant bebop - + Blues Blues - + Arabic Arabic - + Enigmatic Enigmatic - + Neopolitan Neopolitan - + Neopolitan minor Neopolitan minor - + Hungarian minor Hungarian minor - + Dorian Dorian - + Phrygian - + Lydian Lydian - + Mixolydian Mixolydian - + Aeolian Aeolian - + Locrian Locrian - + Minor Minor - + Chromatic Chromatic - + Half-Whole Diminished - + 5 5 - + Phrygian dominant - + Persian - - - Chords - Chords - - - - Chord type - Chord type - - - - Chord range - Chord range - - - - InstrumentFunctionNoteStackingView - - - STACKING - 堆疊 - - - - Chord: - 和絃: - - - - RANGE - 範圍 - - - - Chord range: - 和絃範圍: - - - - octave(s) - - - - - InstrumentMidiIOView - - - ENABLE MIDI INPUT - 啓用MIDI輸入 - - - - ENABLE MIDI OUTPUT - 啓用MIDI輸出 - - - - - CHAN - This string must be be short, its width must be less than * width of LCD spin-box of two digits - - - - - - VELOC - This string must be be short, its width must be less than * width of LCD spin-box of three digits - - - - - PROG - This string must be be short, its width must be less than the * width of LCD spin-box of three digits - - - - - NOTE - This string must be be short, its width must be less than * width of LCD spin-box of three digits - 音符 - - - - MIDI devices to receive MIDI events from - 用於接收 MIDI 事件的 MIDI 設備 - - - - MIDI devices to send MIDI events to - 用於發送 MIDI 事件的 MIDI 設備 - - - - CUSTOM BASE VELOCITY - 自定義基準力度 - - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity. - - - - - BASE VELOCITY - 基準力度 - - - - InstrumentTuningView - - - MASTER PITCH - 主音高 - - - - Enables the use of master pitch - - InstrumentSoundShaping - + VOLUME 音量 - + Volume 音量 - + CUTOFF 切除 - - + Cutoff frequency 切除頻率 - + RESO - + Resonance 共鳴 - - - Envelopes/LFOs - 壓限/低頻振盪 - - - - Filter type - 過濾器類型 - - - - Q/Resonance - - - - - Low-pass - - - - - Hi-pass - - - - - Band-pass csg - - - - - Band-pass czpg - - - - - Notch - 凹口濾波器 - - - - All-pass - - - - - Moog - Moog - - - - 2x Low-pass - - - - - RC Low-pass 12 dB/oct - - - - - RC Band-pass 12 dB/oct - - - - - RC High-pass 12 dB/oct - - - - - RC Low-pass 24 dB/oct - - - - - RC Band-pass 24 dB/oct - - - - - RC High-pass 24 dB/oct - - - - - Vocal Formant - - - - - 2x Moog - - - - - SV Low-pass - - - - - SV Band-pass - - - - - SV High-pass - - - - - SV Notch - - - - - Fast Formant - - - - - Tripole - - - InstrumentSoundShapingView + JackAppDialog - - TARGET - 目標 - - - - FILTER + + Add JACK Application - - FREQ - 頻率 - - - - Cutoff frequency: - 頻譜刀頻率: - - - - Hz - Hz - - - - Q/RESO + + Note: Features not implemented yet are greyed out - - Q/Resonance: + + Application - - Envelopes, LFOs and filters are not supported by the current instrument. - 包絡和低頻振盪 (LFO) 不被當前樂器支持。 - - - - InstrumentTrack - - - - unnamed_track - 未命名軌道 - - - - Base note - 基本音 - - - - First note + + Name: - - Last note - 上一個音符 - - - - Volume - 音量 - - - - Panning - 聲相 - - - - Pitch - 音高 - - - - Pitch range - 音域範圍 - - - - Mixer channel - 效果通道 - - - - Master pitch - 主音高 - - - - Enable/Disable MIDI CC + + Application: - - CC Controller %1 + + From template - - - Default preset - 預置 - - - - InstrumentTrackView - - - Volume - 音量 - - - - Volume: - 音量: - - - - VOL - VOL - - - - Panning - 聲相 - - - - Panning: - 聲相: - - - - PAN - PAN - - - - MIDI - MIDI - - - - Input - 輸入 - - - - Output - 輸出 - - - - Open/Close MIDI CC Rack + + Custom - - Channel %1: %2 - 效果 %1: %2 - - - - InstrumentTrackWindow - - - GENERAL SETTINGS - 常規設置 - - - - Volume - 音量 - - - - Volume: - 音量: - - - - VOL - VOL - - - - Panning - 聲相 - - - - Panning: - 聲相: - - - - PAN - PAN - - - - Pitch - 音高 - - - - Pitch: - 音高: - - - - cents - 音分 cents - - - - PITCH + + Template: - - Pitch range (semitones) - 音域範圍(半音) - - - - RANGE - 範圍 - - - - Mixer channel - 效果通道 - - - - CHANNEL - 效果 - - - - Save current instrument track settings in a preset file - 儲存目前的樂器軌道設定為預設集檔案 - - - - SAVE - 保存 - - - - Envelope, filter & LFO + + Command: - - Chord stacking & arpeggio + + Setup - - Effects + + Session Manager: - - MIDI - MIDI - - - - Miscellaneous + + None - - Save preset - 保存預置 - - - - XML preset file (*.xpf) - XML 預設集檔案 (*.xpf) - - - - Plugin + + Audio inputs: - - - JackApplicationW - + + MIDI inputs: + + + + + Audio outputs: + + + + + MIDI outputs: + + + + + Take control of main application window + + + + + Workarounds + + + + + Wait for external application start (Advanced, for Debug only) + + + + + Capture only the first X11 Window + + + + + Use previous client output buffer as input for the next client + + + + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index + + + + + Error here + + + + NSM applications cannot use abstract or absolute paths - + NSM applications cannot use CLI arguments - + You need to save the current Carla project before NSM can be used @@ -6852,947 +2787,11 @@ Please make sure you have write permission to the file and the directory contain JuceAboutW - - About JUCE - - - - - <b>About JUCE</b> - - - - - This program uses JUCE version 3.x.x. - - - - - JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform software. - -It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. - -JUCE is licensed under the GNU Public Licence version 2.0. -One module (juce_core) is permissively licensed under the ISC. - -Copyright (C) 2017 ROLI Ltd. - - - - + This program uses JUCE version %1. - - Knob - - - Set linear - 設置爲線性 - - - - Set logarithmic - 設置爲對數 - - - - - Set value - - - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - - - - - Please enter a new value between %1 and %2: - 請輸入一個介於%1和%2之間的數值: - - - - LadspaControl - - - Link channels - 關聯通道 - - - - LadspaControlDialog - - - Link Channels - 連接通道 - - - - Channel - 通道 - - - - LadspaControlView - - - Link channels - 連接通道 - - - - Value: - 值: - - - - LadspaEffect - - - Unknown LADSPA plugin %1 requested. - 已請求未知 LADSPA 插件 %1. - - - - LcdFloatSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - 請輸入一個介於 %1 和 %2 的值: - - - - LcdSpinBox - - - Set value - - - - - Please enter a new value between %1 and %2: - 請輸入一個介於%1和%2之間的數值: - - - - LeftRightNav - - - - - Previous - 上個 - - - - - - Next - 下個 - - - - Previous (%1) - 上 (%1) - - - - Next (%1) - 下 (%1) - - - - LfoController - - - LFO Controller - LFO 控制器 - - - - Base value - 基準值 - - - - Oscillator speed - 振動速度 - - - - Oscillator amount - - - - - Oscillator phase - - - - - Oscillator waveform - 振動波形 - - - - Frequency Multiplier - - - - - LfoControllerDialog - - - LFO - - - - - BASE - 基準 - - - - Base: - - - - - FREQ - 頻率 - - - - LFO frequency: - - - - - AMNT - - - - - Modulation amount: - 調製量: - - - - PHS - - - - - Phase offset: - - - - - degrees - - - - - Sine wave - 正弦波 - - - - Triangle wave - 三角波 - - - - Saw wave - 鋸齒波 - - - - Square wave - 方波 - - - - Moog saw wave - - - - - Exponential wave - - - - - White noise - - - - - User-defined shape. -Double click to pick a file. - - - - - Mutliply modulation frequency by 1 - - - - - Mutliply modulation frequency by 100 - - - - - Divide modulation frequency by 100 - - - - - Engine - - - Generating wavetables - 正在生成波形表 - - - - Initializing data structures - 正在初始化數據結構 - - - - Opening audio and midi devices - 正在啓動音頻和 MIDI 設備 - - - - Launching mixer threads - 生在啓動混音器線程 - - - - MainWindow - - - Configuration file - 設定檔 - - - - Error while parsing configuration file at line %1:%2: %3 - 解析設定檔時發生錯誤(行 %1:%2:%3) - - - - Could not open file - 無法開啟檔案 - - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - 無法開啟 %1 以進行寫入。 -請確認您有權限存取此檔案,以及包含此檔案的目錄後再試一次。 - - - - Project recovery - 工程恢復 - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - 發現復原檔案。可能是上一個工作階段未正常結束,或者另一個 LMMS 已在執行。您想要復原這個專案嗎? - - - - - Recover - 恢復 - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - 復原檔案。請不要在復原檔案時同時開啟多個 LMMS 視窗。 - - - - - Discard - 丟棄 - - - - Launch a default session and delete the restored files. This is not reversible. - 開啟新的預設工作階段並刪除已復原的檔案。此操作無法復原。 - - - - Version %1 - 版本 %1 - - - - Preparing plugin browser - 正在準備插件瀏覽器 - - - - Preparing file browsers - 正在準備檔案瀏覽器 - - - - My Projects - 我的工程 - - - - My Samples - 我的採樣 - - - - My Presets - 我的預設 - - - - My Home - 我的主目錄 - - - - Root directory - 根目錄 - - - - Volumes - 音量 - - - - My Computer - 我的電腦 - - - - &File - 檔案(&F) - - - - &New - 新建(&N) - - - - &Open... - 打開(&O)... - - - - Loading background picture - - - - - &Save - 保存(&S) - - - - Save &As... - 另存爲(&A)... - - - - Save as New &Version - 保存爲新版本(&V) - - - - Save as default template - 保存爲默認模板 - - - - Import... - 導入... - - - - E&xport... - 導出(&E)... - - - - E&xport Tracks... - 導出音軌(&X)... - - - - Export &MIDI... - 導出 MIDI (&M)... - - - - &Quit - 退出(&Q) - - - - &Edit - 編輯(&E) - - - - Undo - 撤銷 - - - - Redo - 重做 - - - - Settings - 設置 - - - - &View - 視圖 (&V) - - - - &Tools - 工具(&T) - - - - &Help - 幫助(&H) - - - - Online Help - 在線幫助 - - - - Help - 幫助 - - - - About - 關於 - - - - Create new project - 新建工程 - - - - Create new project from template - 從模版新建工程 - - - - Open existing project - 打開已有工程 - - - - Recently opened projects - 最近打開的工程 - - - - Save current project - 保存當前工程 - - - - Export current project - 導出當前工程 - - - - Metronome - - - - - - Song Editor - 顯示/隱藏歌曲編輯器 - - - - - Beat+Bassline Editor - 顯示/隱藏節拍+旋律編輯器 - - - - - Piano Roll - 顯示/隱藏鋼琴窗 - - - - - Automation Editor - 顯示/隱藏自動控制編輯器 - - - - - Mixer - 顯示/隱藏混音器 - - - - Show/hide controller rack - 顯示/隱藏控制器機架 - - - - Show/hide project notes - 顯示/隱藏工程註釋 - - - - Untitled - 未命名 - - - - Recover session. Please save your work! - 恢復會話。請保存你的工作! - - - - LMMS %1 - LMMS %1 - - - - Recovered project not saved - 恢復的工程沒有保存 - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - 這個工程已從上一個會話中恢復。它現在沒有被保存, 並且如果你不保存, 它將會丟失。你現在想保存它嗎? - - - - Project not saved - 工程未保存 - - - - The current project was modified since last saving. Do you want to save it now? - 此工程自上次保存後有了修改,你想保存嗎? - - - - Open Project - 打開工程 - - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - - Save Project - 保存工程 - - - - LMMS Project - LMMS 工程 - - - - LMMS Project Template - LMMS 工程模板 - - - - Save project template - - - - - Overwrite default template? - 覆蓋默認的模板? - - - - This will overwrite your current default template. - 這將會覆蓋你的當前默認模板。 - - - - Help not available - 幫助不可用 - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - LMMS現在沒有可用的幫助 -請訪問 http://lmms.sf.net/wiki 瞭解LMMS的相關文檔。 - - - - Controller Rack - 顯示/隱藏控制器機架 - - - - Project Notes - 顯示/隱藏工程註釋 - - - - Fullscreen - - - - - Volume as dBFS - - - - - Smooth scroll - 平滑滾動 - - - - Enable note labels in piano roll - 在鋼琴窗中顯示音號 - - - - MIDI File (*.mid) - MIDI 檔案 (*.mid) - - - - - untitled - 未命名 - - - - - Select file for project-export... - 匯出專案至… - - - - Select directory for writing exported tracks... - 選擇寫入導出音軌的目錄... - - - - Save project - - - - - Project saved - 工程已保存 - - - - The project %1 is now saved. - 工程 %1 已保存。 - - - - Project NOT saved. - 工程 **沒有** 保存。 - - - - The project %1 was not saved! - 工程%1沒有保存! - - - - Import file - 匯入檔案 - - - - MIDI sequences - MIDI 音序器 - - - - Hydrogen projects - Hydrogen工程 - - - - All file types - 所有檔案類型 - - - - MeterDialog - - - - Meter Numerator - - - - - Meter numerator - - - - - - Meter Denominator - - - - - Meter denominator - - - - - TIME SIG - 拍子記號 - - - - MeterModel - - - Numerator - - - - - Denominator - - - - - MidiCCRackView - - - - MIDI CC Rack - %1 - - - - - MIDI CC Knobs: - - - - - CC %1 - - - - - MidiController - - - MIDI Controller - MIDI控制器 - - - - unnamed_midi_controller - - - - - MidiImport - - - - Setup incomplete - 設置不完整 - - - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - - - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - 您在編譯 LMMS 時未一併啟用 SoundFont2 播放器支援,此播放器用於為匯入的 MIDI 檔案加入預設聲音,因此在匯入此 MIDI 檔後不會有聲音。 - - - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - - - - - Denominator - - - - - Track - 軌道 - - - - MidiJack - - - JACK server down - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK服務崩潰 - - - - The JACK server seems to be shuted down. - When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - - - MidiPatternW @@ -7998,2730 +2997,369 @@ Please visit http://lmms.sf.net/wiki for documentation on LMMS. 退出(&Q) - - &Insert Mode + + Esc + &Insert Mode + + + + F - + &Velocity Mode - + D - + Select All - + A - - MidiPort - - - Input channel - 輸入通道 - - - - Output channel - 輸出通道 - - - - Input controller - 輸入控制器 - - - - Output controller - 輸出控制器 - - - - Fixed input velocity - - - - - Fixed output velocity - - - - - Fixed output note - - - - - Output MIDI program - - - - - Base velocity - 基準力度 - - - - Receive MIDI-events - 接受 MIDI 事件 - - - - Send MIDI-events - 發送 MIDI 事件 - - - - MidiSetupWidget - - - Device - - - - - MonstroInstrument - - - Osc 1 volume - - - - - Osc 1 panning - - - - - Osc 1 coarse detune - - - - - Osc 1 fine detune left - - - - - Osc 1 fine detune right - - - - - Osc 1 stereo phase offset - - - - - Osc 1 pulse width - - - - - Osc 1 sync send on rise - - - - - Osc 1 sync send on fall - - - - - Osc 2 volume - - - - - Osc 2 panning - - - - - Osc 2 coarse detune - - - - - Osc 2 fine detune left - - - - - Osc 2 fine detune right - - - - - Osc 2 stereo phase offset - - - - - Osc 2 waveform - - - - - Osc 2 sync hard - - - - - Osc 2 sync reverse - - - - - Osc 3 volume - - - - - Osc 3 panning - - - - - Osc 3 coarse detune - - - - - Osc 3 Stereo phase offset - - - - - Osc 3 sub-oscillator mix - - - - - Osc 3 waveform 1 - - - - - Osc 3 waveform 2 - - - - - Osc 3 sync hard - - - - - Osc 3 Sync reverse - - - - - LFO 1 waveform - - - - - LFO 1 attack - - - - - LFO 1 rate - - - - - LFO 1 phase - - - - - LFO 2 waveform - - - - - LFO 2 attack - - - - - LFO 2 rate - - - - - LFO 2 phase - - - - - Env 1 pre-delay - - - - - Env 1 attack - - - - - Env 1 hold - - - - - Env 1 decay - - - - - Env 1 sustain - - - - - Env 1 release - - - - - Env 1 slope - - - - - Env 2 pre-delay - - - - - Env 2 attack - - - - - Env 2 hold - - - - - Env 2 decay - - - - - Env 2 sustain - - - - - Env 2 release - - - - - Env 2 slope - - - - - Osc 2+3 modulation - - - - - Selected view - - - - - Osc 1 - Vol env 1 - - - - - Osc 1 - Vol env 2 - - - - - Osc 1 - Vol LFO 1 - - - - - Osc 1 - Vol LFO 2 - - - - - Osc 2 - Vol env 1 - - - - - Osc 2 - Vol env 2 - - - - - Osc 2 - Vol LFO 1 - - - - - Osc 2 - Vol LFO 2 - - - - - Osc 3 - Vol env 1 - - - - - Osc 3 - Vol env 2 - - - - - Osc 3 - Vol LFO 1 - - - - - Osc 3 - Vol LFO 2 - - - - - Osc 1 - Phs env 1 - - - - - Osc 1 - Phs env 2 - - - - - Osc 1 - Phs LFO 1 - - - - - Osc 1 - Phs LFO 2 - - - - - Osc 2 - Phs env 1 - - - - - Osc 2 - Phs env 2 - - - - - Osc 2 - Phs LFO 1 - - - - - Osc 2 - Phs LFO 2 - - - - - Osc 3 - Phs env 1 - - - - - Osc 3 - Phs env 2 - - - - - Osc 3 - Phs LFO 1 - - - - - Osc 3 - Phs LFO 2 - - - - - Osc 1 - Pit env 1 - - - - - Osc 1 - Pit env 2 - - - - - Osc 1 - Pit LFO 1 - - - - - Osc 1 - Pit LFO 2 - - - - - Osc 2 - Pit env 1 - - - - - Osc 2 - Pit env 2 - - - - - Osc 2 - Pit LFO 1 - - - - - Osc 2 - Pit LFO 2 - - - - - Osc 3 - Pit env 1 - - - - - Osc 3 - Pit env 2 - - - - - Osc 3 - Pit LFO 1 - - - - - Osc 3 - Pit LFO 2 - - - - - Osc 1 - PW env 1 - - - - - Osc 1 - PW env 2 - - - - - Osc 1 - PW LFO 1 - - - - - Osc 1 - PW LFO 2 - - - - - Osc 3 - Sub env 1 - - - - - Osc 3 - Sub env 2 - - - - - Osc 3 - Sub LFO 1 - - - - - Osc 3 - Sub LFO 2 - - - - - - Sine wave - 正弦波 - - - - Bandlimited Triangle wave - - - - - Bandlimited Saw wave - - - - - Bandlimited Ramp wave - - - - - Bandlimited Square wave - - - - - Bandlimited Moog saw wave - - - - - - Soft square wave - - - - - Absolute sine wave - - - - - - Exponential wave - - - - - White noise - - - - - Digital Triangle wave - - - - - Digital Saw wave - - - - - Digital Ramp wave - - - - - Digital Square wave - - - - - Digital Moog saw wave - - - - - Triangle wave - 三角波 - - - - Saw wave - 鋸齒波 - - - - Ramp wave - - - - - Square wave - 方波 - - - - Moog saw wave - - - - - Abs. sine wave - - - - - Random - 隨機 - - - - Random smooth - - - - - MonstroView - - - Operators view - - - - - Matrix view - 矩陣視圖 - - - - - - Volume - 音量 - - - - - - Panning - 聲相 - - - - - - Coarse detune - - - - - - - semitones - 半音 - - - - - Fine tune left - - - - - - - - cents - - - - - - Fine tune right - - - - - - - Stereo phase offset - - - - - - - - - deg - - - - - Pulse width - - - - - Send sync on pulse rise - - - - - Send sync on pulse fall - - - - - Hard sync oscillator 2 - - - - - Reverse sync oscillator 2 - - - - - Sub-osc mix - - - - - Hard sync oscillator 3 - - - - - Reverse sync oscillator 3 - - - - - - - - Attack - 打進聲 - - - - - Rate - - - - - - Phase - - - - - - Pre-delay - - - - - - Hold - 保持 - - - - - Decay - 衰減 - - - - - Sustain - 持續 - - - - - Release - 釋放 - - - - - Slope - - - - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - 調製量 - - - - MultitapEchoControlDialog - - - Length - 長度 - - - - Step length: - 步進長度: - - - - Dry - 幹聲 - - - - Dry gain: - - - - - Stages - - - - - Low-pass stages: - - - - - Swap inputs - - - - - Swap left and right input channels for reflections - - - - - NesInstrument - - - Channel 1 coarse detune - - - - - Channel 1 volume - - - - - Channel 1 envelope length - - - - - Channel 1 duty cycle - - - - - Channel 1 sweep amount - - - - - Channel 1 sweep rate - - - - - Channel 2 Coarse detune - - - - - Channel 2 Volume - - - - - Channel 2 envelope length - - - - - Channel 2 duty cycle - - - - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 volume - - - - - Channel 4 envelope length - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Master volume - 主音量 - - - - Vibrato - - - - - NesInstrumentView - - - - - - Volume - 音量 - - - - - - Coarse detune - - - - - - - Envelope length - - - - - Enable channel 1 - - - - - Enable envelope 1 - - - - - Enable envelope 1 loop - - - - - Enable sweep 1 - - - - - - Sweep amount - - - - - - Sweep rate - - - - - - 12.5% Duty cycle - - - - - - 25% Duty cycle - - - - - - 50% Duty cycle - - - - - - 75% Duty cycle - - - - - Enable channel 2 - - - - - Enable envelope 2 - - - - - Enable envelope 2 loop - - - - - Enable sweep 2 - - - - - Enable channel 3 - - - - - Noise Frequency - - - - - Frequency sweep - - - - - Enable channel 4 - - - - - Enable envelope 4 - - - - - Enable envelope 4 loop - - - - - Quantize noise frequency when using note frequency - - - - - Use note frequency for noise - - - - - Noise mode - - - - - Master volume - 主音量 - - - - Vibrato - - - - - OpulenzInstrument - - - Patch - 音色 - - - - Op 1 attack - - - - - Op 1 decay - - - - - Op 1 sustain - - - - - Op 1 release - - - - - Op 1 level - - - - - Op 1 level scaling - - - - - Op 1 frequency multiplier - - - - - Op 1 feedback - - - - - Op 1 key scaling rate - - - - - Op 1 percussive envelope - - - - - Op 1 tremolo - - - - - Op 1 vibrato - - - - - Op 1 waveform - - - - - Op 2 attack - - - - - Op 2 decay - - - - - Op 2 sustain - - - - - Op 2 release - - - - - Op 2 level - - - - - Op 2 level scaling - - - - - Op 2 frequency multiplier - - - - - Op 2 key scaling rate - - - - - Op 2 percussive envelope - - - - - Op 2 tremolo - - - - - Op 2 vibrato - - - - - Op 2 waveform - - - - - FM - - - - - Vibrato depth - - - - - Tremolo depth - - - - - OpulenzInstrumentView - - - - Attack - 打進聲 - - - - - Decay - 衰減 - - - - - Release - 釋放 - - - - - Frequency multiplier - - - - - OscillatorObject - - - Osc %1 waveform - Osc %1 波形 - - - - Osc %1 harmonic - - - - - - Osc %1 volume - Osc %1 音量 - - - - - Osc %1 panning - Osc %1 聲像 - - - - - Osc %1 fine detuning left - - - - - Osc %1 coarse detuning - - - - - Osc %1 fine detuning right - - - - - Osc %1 phase-offset - - - - - Osc %1 stereo phase-detuning - - - - - Osc %1 wave shape - - - - - Modulation type %1 - - - - - Oscilloscope - - - Oscilloscope - - - - - Click to enable - 點擊啓用 - - PatchesDialog + Qsynth: Channel Preset Qsynth: 通道預設 + Bank selector 音色選擇器 + Bank + Program selector + Patch 音色 + Name 名稱 + OK 確定 + Cancel 取消 - - PatmanView - - - Open patch - - - - - Loop - 循環 - - - - Loop mode - 循環模式 - - - - Tune - 調音 - - - - Tune mode - 調音模式 - - - - No file selected - 未選擇檔案 - - - - Open patch file - 打開音色文件 - - - - Patch-Files (*.pat) - 音色文件 (*.pat) - - - - MidiClipView - - - Open in piano-roll - 在鋼琴窗中打開 - - - - Set as ghost in piano-roll - - - - - Clear all notes - 清除所有音符 - - - - Reset name - 重置名稱 - - - - Change name - 修改名稱 - - - - Add steps - 添加音階 - - - - Remove steps - 移除音階 - - - - Clone Steps - - - - - PeakController - - - Peak Controller - 峯值控制器 - - - - Peak Controller Bug - 峯值控制器 Bug - - - - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - 由於在舊版 LMMS 中的錯誤,峰值控制器可能並未正確地連線。請確認峰值控制器正確地連線後再次儲存檔案。造成您的不便,深感抱歉。 - - - - PeakControllerDialog - - - PEAK - - - - - LFO Controller - LFO 控制器 - - - - PeakControllerEffectControlDialog - - - BASE - 基準 - - - - Base: - - - - - AMNT - - - - - Modulation amount: - 調製量: - - - - MULT - - - - - Amount multiplicator: - - - - - ATCK - 打擊 - - - - Attack: - 打擊聲: - - - - DCAY - - - - - Release: - 釋音: - - - - TRSH - - - - - Treshold: - - - - - Mute output - 輸出靜音 - - - - Absolute value - - - - - PeakControllerEffectControls - - - Base value - 基準值 - - - - Modulation amount - 調製量 - - - - Attack - 打進聲 - - - - Release - 釋放 - - - - Treshold - 閥值 - - - - Mute output - 輸出靜音 - - - - Absolute value - - - - - Amount multiplicator - - - - - PianoRoll - - - Note Velocity - 音符音量 - - - - Note Panning - 音符聲相偏移 - - - - Mark/unmark current semitone - 標記/取消標記當前半音 - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - 取消標記所有 - - - - Select all notes on this key - 選中所有相同音調的音符 - - - - Note lock - 音符鎖定 - - - - Last note - 上一個音符 - - - - No key - - - - - No scale - - - - - No chord - - - - - Nudge - - - - - Snap - - - - - Velocity: %1% - 音量:%1% - - - - Panning: %1% left - 聲相:%1% 偏左 - - - - Panning: %1% right - 聲相:%1% 偏右 - - - - Panning: center - 聲相:居中 - - - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - 雙擊打開片段! - - - - - Please enter a new value between %1 and %2: - 請輸入一個介於 %1 和 %2 的值: - - - - PianoRollWindow - - - Play/pause current clip (Space) - 播放/暫停當前片段(空格) - - - - Record notes from MIDI-device/channel-piano - 從 MIDI 設備/通道鋼琴(channel-piano) 錄製音符 - - - - Record notes from MIDI-device/channel-piano while playing song or BB track - - - - - Record notes from MIDI-device/channel-piano, one step at the time - - - - - Stop playing of current clip (Space) - 停止當前片段(空格) - - - - Edit actions - 編輯功能 - - - - Draw mode (Shift+D) - 繪製模式 (Shift+D) - - - - Erase mode (Shift+E) - 擦除模式 (Shift+E) - - - - Select mode (Shift+S) - 選擇模式 (Shift+S) - - - - Pitch Bend mode (Shift+T) - - - - - Quantize - - - - - Quantize positions - - - - - Quantize lengths - - - - - File actions - - - - - Import clip - - - - - - Export clip - - - - - Copy paste controls - - - - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - - Timeline controls - 時間線控制 - - - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - - Zoom and note controls - - - - - Horizontal zooming - 橫向縮放 - - - - Vertical zooming - 垂直縮放 - - - - Quantization - 量化 - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - - Piano-Roll - %1 - 鋼琴窗 - %1 - - - - - Piano-Roll - no clip - 鋼琴窗 - 沒有片段 - - - - - XML clip file (*.xpt *.xptz) - - - - - Export clip success - - - - - Clip saved to %1 - - - - - Import clip. - - - - - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - - - - - Open clip - - - - - Import clip success - - - - - Imported clip %1! - - - - - PianoView - - - Base note - 基本音 - - - - First note - - - - - Last note - 上一個音符 - - - - Plugin - - - Plugin not found - 未找到插件 - - - - The plugin "%1" wasn't found or could not be loaded! -Reason: "%2" - 插件“%1”無法找到或無法載入! -原因:%2 - - - - Error while loading plugin - 載入插件時發生錯誤 - - - - Failed to load plugin "%1"! - 載入插件“%1”失敗! - - PluginBrowser - - Instrument Plugins - - - - - Instrument browser - 樂器瀏覽器 - - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - 將樂器插件拖入歌曲編輯器, 節拍低音線編輯器, 或者現有的樂器軌道。 - - - + no description 沒有描述 - + A native amplifier plugin 原生增益插件 - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track 簡單地在樂器欄使用採樣(比如鼓音源), 同時也提供多種設置 - + Boost your bass the fast and simple way - + Customizable wavetable synthesizer 可自定製的波表合成器 - + An oversampling bitcrusher - + Carla Patchbay Instrument Carla Patchbay 樂器 - + Carla Rack Instrument Carla Rack 樂器 - + A dynamic range compressor. - + A 4-band Crossover Equalizer - + A native delay plugin 原生的衰減插件 - + A Dual filter plugin - + plugin for processing dynamics in a flexible way - + A native eq plugin 原生的 EQ 插件 - + A native flanger plugin 一個原生的 鑲邊 (Flanger) 插件 - + Emulation of GameBoy (TM) APU GameBoy (TM) APU 模擬器 - + Player for GIG files 播放 GIG 檔案的播放器 - + Filter for importing Hydrogen files into LMMS 匯入 Hydrogen 專案檔至 LMMS 的解析器 - + Versatile drum synthesizer 多功能鼓合成器 - + List installed LADSPA plugins 列出已安裝的 LADSPA 插件 - + plugin for using arbitrary LADSPA-effects inside LMMS. 在 LMMS 中使用任意 LADSPA 效果的插件。 - + Incomplete monophonic imitation TB-303 - + plugin for using arbitrary LV2-effects inside LMMS. - + plugin for using arbitrary LV2 instruments inside LMMS. - + Filter for exporting MIDI-files from LMMS 從 LMMS 匯出 MIDI 檔的解析器 - + Filter for importing MIDI-files into LMMS 匯入 MIDI 檔至 LMMS 的解析器 - + Monstrous 3-oscillator synth with modulation matrix - + A multitap echo delay plugin - + A NES-like synthesizer 類似於 NES 的合成器 - + 2-operator FM Synth - + Additive Synthesizer for organ-like sounds - + GUS-compatible patch instrument GUS 兼容音色的樂器 - + Plugin for controlling knobs with sound peaks - + Reverb algorithm by Sean Costello - + Player for SoundFont files 播放 SoundFont 檔案的播放器 - + LMMS port of sfxr sfxr 的 LMMS 移植版本 - + Emulation of the MOS6581 and MOS8580 SID. This chip was used in the Commodore 64 computer. 模擬 MOS6581 和 MOS8580 SID 的模擬器 這些芯片曾在 Commodore 64 電腦上用過。 - + A graphical spectrum analyzer. - + Plugin for enhancing stereo separation of a stereo input file 用以增強雙聲道輸入檔的聲道分離插件 - + Plugin for freely manipulating stereo output - + Tuneful things to bang on - + Three powerful oscillators you can modulate in several ways - + A stereo field visualizer. - + VST-host for using VST(i)-plugins within LMMS LMMS的VST(i)插件宿主 - + Vibrating string modeler - + plugin for using arbitrary VST effects inside LMMS. - + 4-oscillator modulatable wavetable synth - + plugin for waveshaping - + Mathematical expression parser - + Embedded ZynAddSubFX 內置的 ZynAddSubFX - - - PluginDatabaseW - - Carla - Add New + + An all-pass filter allowing for extremely high orders. - - Format + + Granular pitch shifter - - Internal + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - - LADSPA + + Basic Slicer - - DSSI - - - - - LV2 - - - - - VST2 - - - - - VST3 - - - - - AU - - - - - Sound Kits - - - - - Type - 類型 - - - - Effects - - - - - Instruments - 樂器插件 - - - - MIDI Plugins - - - - - Other/Misc - - - - - Architecture - - - - - Native - - - - - Bridged - - - - - Bridged (Wine) - - - - - Requirements - - - - - With Custom GUI - - - - - With CV Ports - - - - - Real-time safe only - - - - - Stereo only - - - - - With Inline Display - - - - - Favorites only - - - - - (Number of Plugins go here) - - - - - &Add Plugin - - - - - Cancel - 取消 - - - - Refresh - - - - - Reset filters - - - - - - - - - - - - - - - - - - - - TextLabel - - - - - Format: - - - - - Architecture: - - - - - Type: - 類型: - - - - MIDI Ins: - - - - - Audio Ins: - - - - - CV Outs: - - - - - MIDI Outs: - - - - - Parameter Ins: - - - - - Parameter Outs: - - - - - Audio Outs: - - - - - CV Ins: - - - - - UniqueID: - - - - - Has Inline Display: - - - - - Has Custom GUI: - - - - - Is Synth: - - - - - Is Bridged: - - - - - Information - - - - - Name - 名稱 - - - - Label/URI - - - - - Maker - - - - - Binary/Filename - - - - - Focus Text Search - - - - - Ctrl+F + + Tap to the beat @@ -10820,93 +3458,98 @@ This chip was used in the Commodore 64 computer. - Send Bank/Program Changes + Send Notes - Send Control Changes + Send Bank/Program Changes - Send Channel Pressure + Send Control Changes - Send Note Aftertouch + Send Channel Pressure - Send Pitchbend + Send Note Aftertouch + Send Pitchbend + + + + Send All Sound/Notes Off - + Plugin Name - + Program: - + MIDI Program: - + Save State - + Load State - + Information - + Label/URI: - + Name: - + Type: 類型: - + Maker: - + Copyright: - + Unique ID: @@ -10914,16 +3557,457 @@ Plugin Name PluginFactory - + Plugin not found. 未找到插件。 - + LMMS plugin %1 does not have a plugin descriptor named %2! + + PluginListDialog + + + Carla - Add New + + + + + Requirements + + + + + With Custom GUI + + + + + With CV Ports + + + + + Real-time safe only + + + + + Stereo only + + + + + With Inline Display + + + + + Favorites only + + + + + (Number of Plugins go here) + + + + + &Add Plugin + + + + + Cancel + + + + + Refresh + + + + + Reset filters + + + + + + + + + + + + + + + + + + + + TextLabel + + + + + Format: + + + + + Architecture: + + + + + Type: + + + + + MIDI Ins: + + + + + Audio Ins: + + + + + CV Outs: + + + + + MIDI Outs: + + + + + Parameter Ins: + + + + + Parameter Outs: + + + + + Audio Outs: + + + + + CV Ins: + + + + + UniqueID: + + + + + Has Inline Display: + + + + + Has Custom GUI: + + + + + Is Synth: + + + + + Is Bridged: + + + + + Information + + + + + Name + + + + + Label/Id/URI + + + + + Maker + + + + + Binary/Filename + + + + + Format + + + + + Internal + + + + + LADSPA + + + + + DSSI + + + + + LV2 + + + + + VST2 + + + + + VST3 + + + + + CLAP + + + + + AU + + + + + JSFX + + + + + Sound Kits + + + + + Type + + + + + Effects + + + + + Instruments + + + + + MIDI Plugins + + + + + Other/Misc + + + + + Category + + + + + All + + + + + Delay + + + + + Distortion + + + + + Dynamics + + + + + EQ + + + + + Filter + + + + + Modulator + + + + + Synth + + + + + Utility + + + + + + Other + + + + + Architecture + + + + + + Native + + + + + Bridged + + + + + Bridged (Wine) + + + + + Focus Text Search + + + + + Ctrl+F + + + + + Bridged (32bit) + + + + + Discovering internal plugins... + + + + + Discovering LADSPA plugins... + + + + + Discovering DSSI plugins... + + + + + Discovering LV2 plugins... + + + + + Discovering VST2 plugins... + + + + + Discovering VST3 plugins... + + + + + Discovering CLAP plugins... + + + + + Discovering AU plugins... + + + + + Discovering JSFX plugins... + + + + + Discovering SF2 kits... + + + + + Discovering SFZ kits... + + + + + Unknown + + + + + + + + Yes + + + + + + + + No + + + PluginParameter @@ -10938,155 +4022,59 @@ Plugin Name + TextLabel + + + + ... - PluginRefreshW + PluginRefreshDialog - - Carla - Refresh + + Plugin Refresh - - Search for new... + + Search for: - - LADSPA + + All plugins, ignoring cache - - DSSI + + Updated plugins only - - LV2 + + Check previously invalid plugins - - VST2 - - - - - VST3 - - - - - AU - - - - - SF2/3 - - - - - SFZ - - - - - Native - - - - - POSIX 32bit - - - - - POSIX 64bit - - - - - Windows 32bit - - - - - Windows 64bit - - - - - Available tools: - - - - - python3-rdflib (LADSPA-RDF support) - - - - - carla-discovery-win64 - - - - - carla-discovery-native - - - - - carla-discovery-posix32 - - - - - carla-discovery-posix64 - - - - - carla-discovery-win32 - - - - - Options: - - - - - Carla will run small processing checks when scanning the plugins (to make sure they won't crash). -You can disable these checks to get a faster scanning time (at your own risk). - - - - - Run processing checks while scanning - - - - + Press 'Scan' to begin the search - + Scan - + >> Skip - + Close @@ -11103,50 +4091,50 @@ You can disable these checks to get a faster scanning time (at your own risk). - + Enable - + On/Off 開/關 - + - + PluginName - + MIDI MIDI - + AUDIO IN - + AUDIO OUT - + GUI - + Edit - + Remove @@ -11161,2286 +4149,13561 @@ You can disable these checks to get a faster scanning time (at your own risk). - - ProjectNotes - - - Project Notes - 顯示/隱藏工程註釋 - - - - Enter project notes here - - - - - Edit Actions - 編輯功能 - - - - &Undo - 撤銷(&U) - - - - %1+Z - %1+Z - - - - &Redo - 重做(&R) - - - - %1+Y - %1+Y - - - - &Copy - 複製(&C) - - - - %1+C - %1+C - - - - Cu&t - 剪切(&T) - - - - %1+X - %1+X - - - - &Paste - 粘貼(&P) - - - - %1+V - %1+V - - - - Format Actions - 格式功能 - - - - &Bold - 加粗(&B) - - - - %1+B - %1+B - - - - &Italic - 斜體(&I) - - - - %1+I - %1+I - - - - &Underline - 下劃線(&U) - - - - %1+U - %1+U - - - - &Left - 左對齊(&L) - - - - %1+L - %1+L - - - - C&enter - 居中(&E) - - - - %1+E - %1+E - - - - &Right - 右對齊(&R) - - - - %1+R - %1+R - - - - &Justify - 勻齊(&J) - - - - %1+J - %1+J - - - - &Color... - 顏色(&C)... - - ProjectRenderer - + WAV (*.wav) - + FLAC (*.flac) - + OGG (*.ogg) - + MP3 (*.mp3) + + QGroupBox + + + + Settings for %1 + + + QObject - + Reload Plugin - + Show GUI 顯示圖形界面 - + Help 幫助 + + + LADSPA plugins + + + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + + + + URI: + + + + + Project: + + + + + Maker: + + + + + Homepage: + + + + + License: + + + + + File: %1 + + + + + failed to load description + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + + QWidget - - - - + + Name: 名稱: - - URI: - - - - - - + Maker: 製作者: - - - + Copyright: 版權: - - + Requires Real Time: 要求實時: - - - - - - + + + Yes - - - - - - + + + No - - + Real Time Capable: 是否支持實時: - - + In Place Broken: - - + Channels In: 輸入通道: - - + Channels Out: 輸出通道: - + File: %1 檔案:%1 - + File: 檔案: - RecentProjectsMenu + XYControllerW - - &Recently Opened Projects - 最近打開的工程(&R) + + XY Controller + + + + + X Controls: + + + + + Y Controls: + + + + + Smooth + + + + + &Settings + + + + + Channels + + + + + &File + + + + + Show MIDI &Keyboard + + + + + (All) + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + &Quit + + + + + Esc + + + + + (None) + - RenameDialog + lmms::AmplifierControls - - Rename... - 重命名... + + Volume + + + + + Panning + + + + + Left gain + + + + + Right gain + - ReverbSCControlDialog + lmms::AudioFileProcessor - - Input - 輸入 - - - - Input gain: - 輸入增益: - - - - Size + + Amplify - - Size: + + Start of sample - - Color + + End of sample - - Color: + + Loopback point - - Output - 輸出 + + Reverse sample + - - Output gain: - 輸出增益: + + Loop mode + + + + + Stutter + + + + + Interpolation mode + + + + + None + + + + + Linear + + + + + Sinc + + + + + Sample not found + - ReverbSCControls + lmms::AudioJack - + + JACK client restarted + + + + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. + + + + + JACK server down + + + + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. + + + + + Client name + + + + + Channels + + + + + lmms::AudioOss + + + Device + + + + + Channels + + + + + lmms::AudioPortAudio::setupWidget + + + Backend + + + + + Device + + + + + lmms::AudioPulseAudio + + + Device + + + + + Channels + + + + + lmms::AudioSdl::setupWidget + + + Playback device + + + + + Input device + + + + + lmms::AudioSndio + + + Device + + + + + Channels + + + + + lmms::AudioSoundIo::setupWidget + + + Backend + + + + + Device + + + + + lmms::AutomatableModel + + + &Reset (%1%2) + + + + + &Copy value (%1%2) + + + + + &Paste value (%1%2) + + + + + &Paste value + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + + + + + lmms::AutomationClip + + + Drag a control while pressing <%1> + + + + + lmms::AutomationTrack + + + Automation track + + + + + lmms::BassBoosterControls + + + Frequency + + + + + Gain + + + + + Ratio + + + + + lmms::BitInvader + + + Sample length + + + + + Interpolation + + + + + Normalize + + + + + lmms::BitcrushControls + + Input gain - 輸入增益 - - - - Size - - Color + + Input noise + + + Output gain + + + + + Output clip + + + + + Sample rate + + + + + Stereo difference + + + + + Levels + + + + + Rate enabled + + + + + Depth enabled + + + + + lmms::Clip + + + Mute + + + + + lmms::CompressorControls + + + Threshold + + + + + Ratio + + + + + Attack + + + + + Release + + + + + Knee + + + + + Hold + + + + + Range + + + + + RMS Size + + + + + Mid/Side + + + + + Peak Mode + + + + + Lookahead Length + + + + + Input Balance + + + + + Output Balance + + + + + Limiter + + + + + Output Gain + + + + + Input Gain + + + + + Blend + + + + + Stereo Balance + + + + + Auto Makeup Gain + + + + + Audition + + + + + Feedback + + + + + Auto Attack + + + + + Auto Release + + + + + Lookahead + + + + + Tilt + + + + + Tilt Frequency + + + + + Stereo Link + + + + + Mix + + + + + lmms::Controller + + + Controller %1 + + + + + lmms::DelayControls + + + Delay samples + + + + + Feedback + + + + + LFO frequency + + + + + LFO amount + + + + + Output gain + + + + + lmms::DispersionControls + + + Amount + + + + + Frequency + + + + + Resonance + + + + + Feedback + + + + + DC Offset Removal + + + + + lmms::DualFilterControls + + + Filter 1 enabled + + + + + Filter 1 type + + + + + Cutoff frequency 1 + + + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + + Cutoff frequency 2 + + + + + Q/Resonance 2 + + + + + Gain 2 + + + + + + Low-pass + + + + + + Hi-pass + + + + + + Band-pass csg + + + + + + Band-pass czpg + + + + + + Notch + + + + + + All-pass + + + + + + Moog + + + + + + 2x Low-pass + + + + + + RC Low-pass 12 dB/oct + + + + + + RC Band-pass 12 dB/oct + + + + + + RC High-pass 12 dB/oct + + + + + + RC Low-pass 24 dB/oct + + + + + + RC Band-pass 24 dB/oct + + + + + + RC High-pass 24 dB/oct + + + + + + Vocal Formant + + + + + + 2x Moog + + + + + + SV Low-pass + + + + + + SV Band-pass + + + + + + SV High-pass + + + + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + + + + + lmms::DynProcControls + + + Input gain + + + + + Output gain + + + + + Attack time + + + + + Release time + + + + + Stereo mode + + + + + lmms::Effect + + + Effect enabled + + + + + Wet/Dry mix + + + + + Gate + + + + + Decay + + + + + lmms::EffectChain + + + Effects enabled + + + + + lmms::Engine + + + Generating wavetables + + + + + Initializing data structures + + + + + Opening audio and midi devices + + + + + Launching audio engine threads + + + + + lmms::EnvelopeAndLfoParameters + + + Env pre-delay + + + + + Env attack + + + + + Env hold + + + + + Env decay + + + + + Env sustain + + + + + Env release + + + + + Env mod amount + + + + + LFO pre-delay + + + + + LFO attack + + + + + LFO frequency + + + + + LFO mod amount + + + + + LFO wave shape + + + + + LFO frequency x 100 + + + + + Modulate env amount + + + + + Sample not found + + + + + lmms::EqControls + + + Input gain + + + + + Output gain + + + + + Low-shelf gain + + + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + + High-shelf gain + + + + + HP res + + + + + Low-shelf res + + + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + + High-shelf res + + + + + LP res + + + + + HP freq + + + + + Low-shelf freq + + + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + + High-shelf freq + + + + + LP freq + + + + + HP active + + + + + Low-shelf active + + + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + + High-shelf active + + + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + + Low-pass type + + + + + High-pass type + + + + + Analyse IN + + + + + Analyse OUT + + + + + lmms::FlangerControls + + + Delay samples + + + + + LFO frequency + + + + + Amount + + + + + Stereo phase + + + + + Feedback + + + + + Noise + + + + + Invert + + + + + lmms::FreeBoyInstrument + + + Sweep time + + + + + Sweep direction + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle + + + + + Channel 1 volume + + + + + + + Volume sweep direction + + + + + + + Length of each step in sweep + + + + + Channel 2 volume + + + + + Channel 3 volume + + + + + Channel 4 volume + + + + + Shift Register width + + + + + Right output level + + + + + Left output level + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Treble + + + + + Bass + + + + + lmms::GigInstrument + + + Bank + + + + + Patch + + + + + Gain + + + + + lmms::GranularPitchShifterControls + + + Pitch + + + + + Grain Size + + + + + Spray + + + + + Jitter + + + + + Twitch + + + + + Pitch Stereo Spread + + + + + Spray Stereo + + + + + Shape + + + + + Fade Length + + + + + Feedback + + + + + Minimum Allowed Latency + + + + + Prefilter + + + + + Density + + + + + Glide + + + + + Ring Buffer Length + + + + + 5 Seconds + + + + + 10 Seconds (Size) + + + + + 40 Seconds (Size and Pitch) + + + + + 40 Seconds (Size and Spray and Jitter) + + + + + 120 Seconds (All of the above) + + + + + lmms::InstrumentFunctionArpeggio + + + Arpeggio + + + + + Arpeggio type + + + + + Arpeggio range + + + + + Note repeats + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + + + + + lmms::InstrumentSoundShaping + + + Envelopes/LFOs + + + + + Filter type + + + + + Cutoff frequency + + + + + Q/Resonance + + + + + Low-pass + + + + + Hi-pass + + + + + Band-pass csg + + + + + Band-pass czpg + + + + + Notch + + + + + All-pass + + + + + Moog + + + + + 2x Low-pass + + + + + RC Low-pass 12 dB/oct + + + + + RC Band-pass 12 dB/oct + + + + + RC High-pass 12 dB/oct + + + + + RC Low-pass 24 dB/oct + + + + + RC Band-pass 24 dB/oct + + + + + RC High-pass 24 dB/oct + + + + + Vocal Formant + + + + + 2x Moog + + + + + SV Low-pass + + + + + SV Band-pass + + + + + SV High-pass + + + + + SV Notch + + + + + Fast Formant + + + + + Tripole + + + + + lmms::InstrumentTrack + + + + unnamed_track + + + + + Base note + + + + + First note + + + + + Last note + + + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + + Mixer channel + + + + + Master pitch + + + + + Enable/Disable MIDI CC + + + + + CC Controller %1 + + + + + + Default preset + + + + + lmms::Keymap + + + empty + + + + + lmms::KickerInstrument + + + Start frequency + + + + + End frequency + + + + + Length + + + + + Start distortion + + + + + End distortion + + + + + Gain + + + + + Envelope slope + + + + + Noise + + + + + Click + + + + + Frequency slope + + + + + Start from note + + + + + End to note + + + + + lmms::LOMMControls + + + Depth + + + + + Time + + + + + Input Volume + + + + + Output Volume + + + + + Upward Depth + + + + + Downward Depth + + + + + High/Mid Split + + + + + Mid/Low Split + + + + + Enable High/Mid Split + + + + + Enable Mid/Low Split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume + + + + + Mid Input Volume + + + + + Low Input Volume + + + + + High Output Volume + + + + + Mid Output Volume + + + + + Low Output Volume + + + + + Above Threshold High + + + + + Above Threshold Mid + + + + + Above Threshold Low + + + + + Above Ratio High + + + + + Above Ratio Mid + + + + + Above Ratio Low + + + + + Below Threshold High + + + + + Below Threshold Mid + + + + + Below Threshold Low + + + + + Below Ratio High + + + + + Below Ratio Mid + + + + + Below Ratio Low + + + + + Attack High + + + + + Attack Mid + + + + + Attack Low + + + + + Release High + + + + + Release Mid + + + + + Release Low + + + + + RMS Time + + + + + Knee + + + + + Range + + + + + Balance + + + + + Scale output volume with Depth + + + + + Stereo Link + + + + + Auto Time + + + + + Mix + + + + + Feedback + + + + + Mid/Side + + + + + Lookahead + + + + + Lookahead Length + + + + + Suppress upward compression for side band + + + + + lmms::LadspaControl + + + Link channels + + + + + lmms::LadspaEffect + + + Unknown LADSPA plugin %1 requested. + + + + + lmms::Lb302Synth + + + VCF Cutoff Frequency + + + + + VCF Resonance + + + + + VCF Envelope Mod + + + + + VCF Envelope Decay + + + + + Distortion + + + + + Waveform + + + + + Slide Decay + + + + + Slide + + + + + Accent + + + + + Dead + + + + + 24dB/oct Filter + + + + + lmms::LfoController + + + LFO Controller + + + + + Base value + + + + + Oscillator speed + + + + + Oscillator amount + + + + + Oscillator phase + + + + + Oscillator waveform + + + + + Frequency Multiplier + + + + + Sample not found + + + + + lmms::MalletsInstrument + + + Hardness + + + + + Position + + + + + Vibrato gain + + + + + Vibrato frequency + + + + + Stick mix + + + + + Modulator + + + + + Crossfade + + + + + LFO speed + + + + + LFO depth + + + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + + Instrument + + + + + Spread + + + + + Randomness + + + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + + Wood 1 + + + + + Reso + + + + + Wood 2 + + + + + Beats + + + + + Two fixed + + + + + Clump + + + + + Tubular bells + + + + + Uniform bar + + + + + Tuned bar + + + + + Glass + + + + + Tibetan bowl + + + + + lmms::MeterModel + + + Numerator + + + + + Denominator + + + + + lmms::Microtuner + + + Microtuner + + + + + Microtuner on / off + + + + + Selected scale + + + + + Selected keyboard mapping + + + + + lmms::MidiController + + + MIDI Controller + + + + + unnamed_midi_controller + + + + + lmms::MidiImport + + + + Setup incomplete + + + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + + + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + + MIDI Time Signature Numerator + + + + + MIDI Time Signature Denominator + + + + + Numerator + + + + + Denominator + + + + + + Tempo + + + + + Track + + + + + lmms::MidiJack + + + JACK server down + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) + + + + + The JACK server seems to be shuted down. + When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) + + + + + lmms::MidiPort + + + Input channel + + + + + Output channel + + + + + Input controller + + + + + Output controller + + + + + Fixed input velocity + + + + + Fixed output velocity + + + + + Fixed output note + + + + + Output MIDI program + + + + + Base velocity + + + + + Receive MIDI-events + + + + + Send MIDI-events + + + + + lmms::Mixer + + + Master + + + + + + + Channel %1 + + + + + Volume + + + + + Mute + + + + + Solo + + + + + lmms::MixerRoute + + + + Amount to send from channel %1 to channel %2 + + + + + lmms::MonstroInstrument + + + Osc 1 volume + + + + + Osc 1 panning + + + + + Osc 1 coarse detune + + + + + Osc 1 fine detune left + + + + + Osc 1 fine detune right + + + + + Osc 1 stereo phase offset + + + + + Osc 1 pulse width + + + + + Osc 1 sync send on rise + + + + + Osc 1 sync send on fall + + + + + Osc 2 volume + + + + + Osc 2 panning + + + + + Osc 2 coarse detune + + + + + Osc 2 fine detune left + + + + + Osc 2 fine detune right + + + + + Osc 2 stereo phase offset + + + + + Osc 2 waveform + + + + + Osc 2 sync hard + + + + + Osc 2 sync reverse + + + + + Osc 3 volume + + + + + Osc 3 panning + + + + + Osc 3 coarse detune + + + + + Osc 3 Stereo phase offset + + + + + Osc 3 sub-oscillator mix + + + + + Osc 3 waveform 1 + + + + + Osc 3 waveform 2 + + + + + Osc 3 sync hard + + + + + Osc 3 Sync reverse + + + + + LFO 1 waveform + + + + + LFO 1 attack + + + + + LFO 1 rate + + + + + LFO 1 phase + + + + + LFO 2 waveform + + + + + LFO 2 attack + + + + + LFO 2 rate + + + + + LFO 2 phase + + + + + Env 1 pre-delay + + + + + Env 1 attack + + + + + Env 1 hold + + + + + Env 1 decay + + + + + Env 1 sustain + + + + + Env 1 release + + + + + Env 1 slope + + + + + Env 2 pre-delay + + + + + Env 2 attack + + + + + Env 2 hold + + + + + Env 2 decay + + + + + Env 2 sustain + + + + + Env 2 release + + + + + Env 2 slope + + + + + Osc 2+3 modulation + + + + + Selected view + + + + + Osc 1 - Vol env 1 + + + + + Osc 1 - Vol env 2 + + + + + Osc 1 - Vol LFO 1 + + + + + Osc 1 - Vol LFO 2 + + + + + Osc 2 - Vol env 1 + + + + + Osc 2 - Vol env 2 + + + + + Osc 2 - Vol LFO 1 + + + + + Osc 2 - Vol LFO 2 + + + + + Osc 3 - Vol env 1 + + + + + Osc 3 - Vol env 2 + + + + + Osc 3 - Vol LFO 1 + + + + + Osc 3 - Vol LFO 2 + + + + + Osc 1 - Phs env 1 + + + + + Osc 1 - Phs env 2 + + + + + Osc 1 - Phs LFO 1 + + + + + Osc 1 - Phs LFO 2 + + + + + Osc 2 - Phs env 1 + + + + + Osc 2 - Phs env 2 + + + + + Osc 2 - Phs LFO 1 + + + + + Osc 2 - Phs LFO 2 + + + + + Osc 3 - Phs env 1 + + + + + Osc 3 - Phs env 2 + + + + + Osc 3 - Phs LFO 1 + + + + + Osc 3 - Phs LFO 2 + + + + + Osc 1 - Pit env 1 + + + + + Osc 1 - Pit env 2 + + + + + Osc 1 - Pit LFO 1 + + + + + Osc 1 - Pit LFO 2 + + + + + Osc 2 - Pit env 1 + + + + + Osc 2 - Pit env 2 + + + + + Osc 2 - Pit LFO 1 + + + + + Osc 2 - Pit LFO 2 + + + + + Osc 3 - Pit env 1 + + + + + Osc 3 - Pit env 2 + + + + + Osc 3 - Pit LFO 1 + + + + + Osc 3 - Pit LFO 2 + + + + + Osc 1 - PW env 1 + + + + + Osc 1 - PW env 2 + + + + + Osc 1 - PW LFO 1 + + + + + Osc 1 - PW LFO 2 + + + + + Osc 3 - Sub env 1 + + + + + Osc 3 - Sub env 2 + + + + + Osc 3 - Sub LFO 1 + + + + + Osc 3 - Sub LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + + + + + lmms::NesInstrument + + + Channel 1 enable + + + + + Channel 1 coarse detune + + + + + Channel 1 volume + + + + + Channel 1 envelope enable + + + + + Channel 1 envelope loop + + + + + Channel 1 envelope length + + + + + Channel 1 duty cycle + + + + + Channel 1 sweep enable + + + + + Channel 1 sweep amount + + + + + Channel 1 sweep rate + + + + + Channel 2 enable + + + + + Channel 2 coarse detune + + + + + Channel 2 volume + + + + + Channel 2 envelope enable + + + + + Channel 2 envelope loop + + + + + Channel 2 envelope length + + + + + Channel 2 duty cycle + + + + + Channel 2 sweep enable + + + + + Channel 2 sweep amount + + + + + Channel 2 sweep rate + + + + + Channel 3 enable + + + + + Channel 3 coarse detune + + + + + Channel 3 volume + + + + + Channel 4 enable + + + + + Channel 4 volume + + + + + Channel 4 envelope enable + + + + + Channel 4 envelope loop + + + + + Channel 4 envelope length + + + + + Channel 4 noise mode + + + + + Channel 4 frequency mode + + + + + Channel 4 noise frequency + + + + + Channel 4 noise frequency sweep + + + + + Channel 4 quantize + + + + + Master volume + + + + + Vibrato + + + + + lmms::OpulenzInstrument + + + Patch + + + + + Op 1 attack + + + + + Op 1 decay + + + + + Op 1 sustain + + + + + Op 1 release + + + + + Op 1 level + + + + + Op 1 level scaling + + + + + Op 1 frequency multiplier + + + + + Op 1 feedback + + + + + Op 1 key scaling rate + + + + + Op 1 percussive envelope + + + + + Op 1 tremolo + + + + + Op 1 vibrato + + + + + Op 1 waveform + + + + + Op 2 attack + + + + + Op 2 decay + + + + + Op 2 sustain + + + + + Op 2 release + + + + + Op 2 level + + + + + Op 2 level scaling + + + + + Op 2 frequency multiplier + + + + + Op 2 key scaling rate + + + + + Op 2 percussive envelope + + + + + Op 2 tremolo + + + + + Op 2 vibrato + + + + + Op 2 waveform + + + + + FM + + + + + Vibrato depth + + + + + Tremolo depth + + + + + lmms::OrganicInstrument + + + Distortion + + + + + Volume + + + + + lmms::OscillatorObject + + + Osc %1 waveform + + + + + Osc %1 harmonic + + + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + + Osc %1 stereo detuning + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + + + + + lmms::PatternTrack + + + Pattern %1 + + + + + Clone of %1 + + + + + lmms::PeakController + + + Peak Controller + + + + + Peak Controller Bug + + + + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. + + + + + lmms::PeakControllerEffectControls + + + Base value + + + + + Modulation amount + + + + + Attack + + + + + Release + + + + + Treshold + + + + + Mute output + + + + + Absolute value + + + + + Amount multiplicator + + + + + lmms::Plugin + + + Plugin not found + + + + + The plugin "%1" wasn't found or could not be loaded! +Reason: "%2" + + + + + Error while loading plugin + + + + + Failed to load plugin "%1"! + + + + + lmms::ReverbSCControls + Input gain + + + + + Size + + + + + Color + + + + Output gain - 輸出增益 + - SaControls + lmms::SaControls - + Pause - + Reference freeze - + Waterfall - + Averaging - + Stereo - + Peak hold - + Logarithmic frequency - + Logarithmic amplitude - + Frequency range - + Amplitude range - + FFT block size - + FFT window type - + Peak envelope resolution - + Spectrum display resolution - + Peak decay multiplier - + Averaging weight - + Waterfall history size - + Waterfall gamma correction - + FFT window overlap - + FFT zero padding - - + + Full (auto) - - + + Audible - + Bass - 低音 + - + Mids - + High - + Extended - + Loud - + Silent - + (High time res.) - + (High freq. res.) - + Rectangular (Off) - + Blackman-Harris (Default) - + Hamming - + Hanning - SaControlsDialog + lmms::SampleClip - - Pause - - - - - Pause data acquisition - - - - - Reference freeze - - - - - Freeze current input as a reference / disable falloff in peak-hold mode. - - - - - Waterfall - - - - - Display real-time spectrogram - - - - - Averaging - - - - - Enable exponential moving average - - - - - Stereo - - - - - Display stereo channels separately - - - - - Peak hold - - - - - Display envelope of peak values - - - - - Logarithmic frequency - - - - - Switch between logarithmic and linear frequency scale - - - - - - Frequency range - - - - - Logarithmic amplitude - - - - - Switch between logarithmic and linear amplitude scale - - - - - - Amplitude range - - - - - Envelope res. - - - - - Increase envelope resolution for better details, decrease for better GUI performance. - - - - - - Draw at most - - - - - envelope points per pixel - - - - - Spectrum res. - - - - - Increase spectrum resolution for better details, decrease for better GUI performance. - - - - - spectrum points per pixel - - - - - Falloff factor - - - - - Decrease to make peaks fall faster. - - - - - Multiply buffered value by - - - - - Averaging weight - - - - - Decrease to make averaging slower and smoother. - - - - - New sample contributes - - - - - Waterfall height - - - - - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - - - - - Keep - - - - - lines - - - - - Waterfall gamma - - - - - Decrease to see very weak signals, increase to get better contrast. - - - - - Gamma value: - - - - - Window overlap - - - - - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - - - - - Each sample processed - - - - - times - - - - - Zero padding - - - - - Increase to get smoother-looking spectrum. Warning: high CPU usage. - - - - - Processing buffer is - - - - - steps larger than input block - - - - - Advanced settings - - - - - Access advanced settings - - - - - - FFT block size - - - - - - FFT window type + + Sample not found - SampleBuffer + lmms::SampleTrack - - Fail to open file - 無法開啟檔案 - - - - Audio files are limited to %1 MB in size and %2 minutes of playing time - 音訊檔案的檔案大小已限制為 %1 MB,播放時間已限制為 %2 分鐘。 - - - - Open audio file - 開啟音訊檔案 - - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - 所有音訊檔案 (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - Wave-Files (*.wav) - Wave 波形檔案 (*.wav) - - - - OGG-Files (*.ogg) - OGG 檔案 (*.ogg) - - - - DrumSynth-Files (*.ds) - DrumSynth 檔案 (*.ds) - - - - FLAC-Files (*.flac) - FLAC 檔案 (*.flac) - - - - SPEEX-Files (*.spx) - SPEEX 檔案 (*.spx) - - - - VOC-Files (*.voc) - VOC 檔案 (*.voc) - - - - AIFF-Files (*.aif *.aiff) - AIFF 檔案 (*.aif *.aiff) - - - - AU-Files (*.au) - AU 檔案 (*.au) - - - - RAW-Files (*.raw) - RAW 檔案 (*.raw) - - - - SampleClipView - - - Double-click to open sample - - - - - Delete (middle mousebutton) - 刪除 (鼠標中鍵) - - - - Delete selection (middle mousebutton) - - - - - Cut - 剪切 - - - - Cut selection - - - - - Copy - 複製 - - - - Copy selection - - - - - Paste - 粘貼 - - - - Mute/unmute (<%1> + middle click) - 靜音/取消靜音 (<%1> + 鼠標中鍵) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Reverse sample - 反轉取樣 - - - - Set clip color - - - - - Use track color - - - - - SampleTrack - - + Volume - 音量 + - + Panning - 聲相 + - + Mixer channel - 效果通道 + - - + + Sample track - 採樣軌道 - - - - SampleTrackView - - - Track volume - 軌道音量 - - - - Channel volume: - 通道音量: - - - - VOL - VOL - - - - Panning - 聲相 - - - - Panning: - 聲相: - - - - PAN - PAN - - - - Channel %1: %2 - 效果 %1: %2 - - - - SampleTrackWindow - - - GENERAL SETTINGS - 常規設置 - - - - Sample volume - - - - - Volume: - 音量: - - - - VOL - VOL - - - - Panning - 聲相 - - - - Panning: - 聲相: - - - - PAN - PAN - - - - Mixer channel - 效果通道 - - - - CHANNEL - 效果 - - - - SaveOptionsWidget - - - Discard MIDI connections - - - - - Save As Project Bundle (with resources) - SetupDialog + lmms::Scale - - Reset to default value - - - - - Use built-in NaN handler - - - - - Settings - 設置 - - - - - General - - - - - Graphical user interface (GUI) - - - - - Display volume as dBFS - - - - - Enable tooltips - 啓用工具提示 - - - - Enable master oscilloscope by default - - - - - Enable all note labels in piano roll - - - - - Enable compact track buttons - - - - - Enable one instrument-track-window mode - - - - - Show sidebar on the right-hand side - - - - - Let sample previews continue when mouse is released - - - - - Mute automation tracks during solo - - - - - Show warning when deleting tracks - - - - - Projects - - - - - Compress project files by default - - - - - Create a backup file when saving a project - - - - - Reopen last project on startup - - - - - Language - - - - - - Performance - - - - - Autosave - - - - - Enable autosave - - - - - Allow autosave while playing - - - - - User interface (UI) effects vs. performance - - - - - Smooth scroll in song editor - - - - - Display playback cursor in AudioFileProcessor - - - - - Plugins - 插件 - - - - VST plugins embedding: - - - - - No embedding - - - - - Embed using Qt API - - - - - Embed using native Win32 API - - - - - Embed using XEmbed protocol - - - - - Keep plugin windows on top when not embedded - - - - - Sync VST plugins to host playback - 同步 VST 插件和主機回放 - - - - Keep effects running even without input - 在沒有輸入時也運行音頻效果 - - - - - Audio - 音頻 - - - - Audio interface - - - - - HQ mode for output audio device - - - - - Buffer size - - - - - - MIDI - MIDI - - - - MIDI interface - - - - - Automatically assign MIDI controller to selected track - - - - - LMMS working directory - LMMS工作目錄 - - - - VST plugins directory - - - - - LADSPA plugins directories - - - - - SF2 directory - SF2 目錄 - - - - Default SF2 - - - - - GIG directory - GIG 目錄 - - - - Theme directory - - - - - Background artwork - 背景圖片 - - - - Some changes require restarting. - - - - - Autosave interval: %1 - - - - - Choose the LMMS working directory - - - - - Choose your VST plugins directory - - - - - Choose your LADSPA plugins directory - - - - - Choose your default SF2 - - - - - Choose your theme directory - - - - - Choose your background picture - - - - - - Paths - 路徑 - - - - OK - 確定 - - - - Cancel - 取消 - - - - Frames: %1 -Latency: %2 ms - 幀數: %1 -延遲: %2 毫秒 - - - - Choose your GIG directory - 選擇 GIG 目錄 - - - - Choose your SF2 directory - 選擇 SF2 目錄 - - - - minutes - 分鐘 - - - - minute - 分鐘 - - - - Disabled + + empty - SidInstrument + lmms::Sf2Instrument - + + Bank + + + + + Patch + + + + + Gain + + + + + Reverb + + + + + Reverb room size + + + + + Reverb damping + + + + + Reverb width + + + + + Reverb level + + + + + Chorus + + + + + Chorus voices + + + + + Chorus level + + + + + Chorus speed + + + + + Chorus depth + + + + + A soundfont %1 could not be loaded. + + + + + lmms::SfxrInstrument + + + Wave + + + + + lmms::SidInstrument + + Cutoff frequency - 切除頻率 + - + Resonance - 共鳴 + + + + + Filter type + - Filter type - 過濾器類型 - - - Voice 3 off - 聲音 3 關 + - + Volume - 音量 + - + Chip model - 芯片型號 - - - - SidInstrumentView - - - Volume: - 音量: - - - - Resonance: - 共鳴: - - - - - Cutoff frequency: - 頻譜刀頻率: - - - - High-pass filter - - - - - Band-pass filter - - - - - Low-pass filter - - - - - Voice 3 off - - - - - MOS6581 SID - MOS6581 SID - - - - MOS8580 SID - MOS8580 SID - - - - - Attack: - 打進聲: - - - - - Decay: - 衰減: - - - - Sustain: - 振幅持平: - - - - - Release: - 釋音: - - - - Pulse Width: - - - - - Coarse: - - - - - Pulse wave - - - - - Triangle wave - 三角波 - - - - Saw wave - 鋸齒波 - - - - Noise - 噪音 - - - - Sync - 同步 - - - - Ring modulation - - - - - Filtered - - - - - Test - 測試 - - - - Pulse width: - SideBarWidget + lmms::SlicerT - - Close + + Note threshold + + + + + FadeOut + + + + + Original bpm + + + + + Slice snap + + + + + BPM sync + + + + + + slice_%1 + + + + + Sample not found: %1 - Song + lmms::Song - + Tempo - 節奏 + - + Master volume - 主音量 + - + Master pitch - 主音高 - - - - Aborting project load + Aborting project load + + + + Project file contains local paths to plugins, which could be used to run malicious code. - + Can't load project: Project file contains local paths to plugins. - + LMMS Error report - LMMS錯誤報告 + - + (repeated %1 times) - + The following errors occurred while loading: - SongEditor + lmms::StereoEnhancerControls - - Could not open file - 無法開啟檔案 + + Width + + + + + lmms::StereoMatrixControls + + + Left to Left + - + + Left to Right + + + + + Right to Left + + + + + Right to Right + + + + + lmms::Track + + + Mute + + + + + Solo + + + + + lmms::TrackContainer + + + Couldn't import file + + + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + + + + + Couldn't open file + + + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + + + + + Loading project... + + + + + + Cancel + + + + + + Please wait... + + + + + Loading cancelled + + + + + Project loading was cancelled. + + + + + Loading Track %1 (%2/Total %3) + + + + + Importing MIDI-file... + + + + + lmms::TripleOscillator + + + Sample not found + + + + + lmms::VecControls + + + Display persistence amount + + + + + Logarithmic scale + + + + + High quality + + + + + lmms::VestigeInstrument + + + Loading plugin + + + + + Please wait while loading the VST plugin... + + + + + lmms::Vibed + + + String %1 volume + + + + + String %1 stiffness + + + + + Pick %1 position + + + + + Pickup %1 position + + + + + String %1 panning + + + + + String %1 detune + + + + + String %1 fuzziness + + + + + String %1 length + + + + + Impulse %1 + + + + + String %1 + + + + + lmms::VoiceObject + + + Voice %1 pulse width + + + + + Voice %1 attack + + + + + Voice %1 decay + + + + + Voice %1 sustain + + + + + Voice %1 release + + + + + Voice %1 coarse detuning + + + + + Voice %1 wave shape + + + + + Voice %1 sync + + + + + Voice %1 ring modulate + + + + + Voice %1 filtered + + + + + Voice %1 test + + + + + lmms::VstPlugin + + + + The VST plugin %1 could not be loaded. + + + + + Open Preset + + + + + + VST Plugin Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + + + + + lmms::WatsynInstrument + + + Volume A1 + + + + + Volume A2 + + + + + Volume B1 + + + + + Volume B2 + + + + + Panning A1 + + + + + Panning A2 + + + + + Panning B1 + + + + + Panning B2 + + + + + Freq. multiplier A1 + + + + + Freq. multiplier A2 + + + + + Freq. multiplier B1 + + + + + Freq. multiplier B2 + + + + + Left detune A1 + + + + + Left detune A2 + + + + + Left detune B1 + + + + + Left detune B2 + + + + + Right detune A1 + + + + + Right detune A2 + + + + + Right detune B1 + + + + + Right detune B2 + + + + + A-B Mix + + + + + A-B Mix envelope amount + + + + + A-B Mix envelope attack + + + + + A-B Mix envelope hold + + + + + A-B Mix envelope decay + + + + + A1-B2 Crosstalk + + + + + A2-A1 modulation + + + + + B2-B1 modulation + + + + + Selected graph + + + + + lmms::WaveShaperControls + + + Input gain + + + + + Output gain + + + + + lmms::Xpressive + + + Selected graph + + + + + A1 + + + + + A2 + + + + + A3 + + + + + W1 smoothing + + + + + W2 smoothing + + + + + W3 smoothing + + + + + Panning 1 + + + + + Panning 2 + + + + + Rel trans + + + + + lmms::ZynAddSubFxInstrument + + + Portamento + + + + + Filter frequency + + + + + Filter resonance + + + + + Bandwidth + + + + + FM gain + + + + + Resonance center frequency + + + + + Resonance bandwidth + + + + + Forward MIDI control change events + + + + + lmms::graphModel + + + Graph + + + + + lmms::gui::AmplifierControlDialog + + + VOL + + + + + Volume: + + + + + PAN + + + + + Panning: + + + + + LEFT + + + + + Left gain: + + + + + RIGHT + + + + + Right gain: + + + + + lmms::gui::AudioAlsaSetupWidget + + + Device + + + + + Channels + + + + + lmms::gui::AudioFileProcessorView + + + Open sample + + + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + + Enable ping-pong loop + + + + + Continue sample playback across notes + + + + + Amplify: + + + + + Start point: + + + + + End point: + + + + + Loopback point: + + + + + lmms::gui::AudioFileProcessorWaveView + + + Sample length: + + + + + lmms::gui::AutomationClipView + + + Open in Automation editor + + + + + Clear + + + + + Reset name + + + + + Change name + + + + + Set/clear record + + + + + Flip Vertically (Visible) + + + + + Flip Horizontally (Visible) + + + + + %1 Connections + + + + + Disconnect "%1" + + + + + Model is already connected to this clip. + + + + + lmms::gui::AutomationEditor + + + Edit Value + + + + + New outValue + + + + + New inValue + + + + + Please open an automation clip by double-clicking on it! + + + + + lmms::gui::AutomationEditorWindow + + + Play/pause current clip (Space) + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Draw outValues mode (Shift+C) + + + + + Edit tangents mode (Shift+T) + + + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization controls + + + + + Quantization + + + + + Clear ghost notes + + + + + + Automation Editor - no clip + + + + + + Automation Editor - %1 + + + + + Model is already connected to this clip. + + + + + lmms::gui::BassBoosterControlDialog + + + FREQ + + + + + Frequency: + + + + + GAIN + + + + + Gain: + + + + + RATIO + + + + + Ratio: + + + + + lmms::gui::BitInvaderView + + + Sample length + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + + Smooth waveform + + + + + Interpolation + + + + + Normalize + + + + + lmms::gui::BitcrushControlDialog + + + IN + + + + + OUT + + + + + + GAIN + + + + + Input gain: + + + + + NOISE + + + + + Input noise: + + + + + Output gain: + + + + + CLIP + + + + + Output clip: + + + + + Rate enabled + + + + + Enable sample-rate crushing + + + + + Depth enabled + + + + + Enable bit-depth crushing + + + + + FREQ + + + + + Sample rate: + + + + + STEREO + + + + + Stereo difference: + + + + + QUANT + + + + + Levels: + + + + + lmms::gui::CPULoadWidget + + + DSP total: %1% + + + + + - Notes and setup: %1% + + + + + - Instruments: %1% + + + + + - Effects: %1% + + + + + - Mixing: %1% + + + + + lmms::gui::CarlaInstrumentView + + + Show GUI + + + + + Click here to show or hide the graphical user interface (GUI) of Carla. + + + + + Params + + + + + Available from Carla version 2.1 and up. + + + + + lmms::gui::CarlaParamsView + + + Search.. + + + + + Clear filter text + + + + + Only show knobs with a connection. + + + + + - Parameters + + + + + lmms::gui::ClipView + + + Current position + + + + + Current length + + + + + + %1:%2 (%3:%4 to %5:%6) + + + + + Press <%1> and drag to make a copy. + + + + + Press <%1> for free resizing. + + + + + Hint + + + + + Delete (middle mousebutton) + + + + + Delete selection (middle mousebutton) + + + + + Cut + + + + + Cut selection + + + + + Merge Selection + + + + + Copy + + + + + Copy selection + + + + + Paste + + + + + Mute/unmute (<%1> + middle click) + + + + + Mute/unmute selection (<%1> + middle click) + + + + + Clip color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + lmms::gui::CompressorControlDialog + + + Threshold: + + + + + Volume at which the compression begins to take place + + + + + Ratio: + + + + + How far the compressor must turn the volume down after crossing the threshold + + + + + Attack: + + + + + Speed at which the compressor starts to compress the audio + + + + + Release: + + + + + Speed at which the compressor ceases to compress the audio + + + + + Knee: + + + + + Smooth out the gain reduction curve around the threshold + + + + + Range: + + + + + Maximum gain reduction + + + + + Lookahead Length: + + + + + How long the compressor has to react to the sidechain signal ahead of time + + + + + Hold: + + + + + Delay between attack and release stages + + + + + RMS Size: + + + + + Size of the RMS buffer + + + + + Input Balance: + + + + + Bias the input audio to the left/right or mid/side + + + + + Output Balance: + + + + + Bias the output audio to the left/right or mid/side + + + + + Stereo Balance: + + + + + Bias the sidechain signal to the left/right or mid/side + + + + + Stereo Link Blend: + + + + + Blend between unlinked/maximum/average/minimum stereo linking modes + + + + + Tilt Gain: + + + + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. + + + + + Tilt Frequency: + + + + + Center frequency of sidechain tilt filter + + + + + Mix: + + + + + Balance between wet and dry signals + + + + + Auto Attack: + + + + + Automatically control attack value depending on crest factor + + + + + Auto Release: + + + + + Automatically control release value depending on crest factor + + + + + Output gain + + + + + + Gain + + + + + Output volume + + + + + Input gain + + + + + Input volume + + + + + Root Mean Square + + + + + Use RMS of the input + + + + + Peak + + + + + Use absolute value of the input + + + + + Left/Right + + + + + Compress left and right audio + + + + + Mid/Side + + + + + Compress mid and side audio + + + + + Compressor + + + + + Compress the audio + + + + + Limiter + + + + + Set Ratio to infinity (is not guaranteed to limit audio volume) + + + + + Unlinked + + + + + Compress each channel separately + + + + + Maximum + + + + + Compress based on the loudest channel + + + + + Average + + + + + Compress based on the averaged channel volume + + + + + Minimum + + + + + Compress based on the quietest channel + + + + + Blend + + + + + Blend between stereo linking modes + + + + + Auto Makeup Gain + + + + + Automatically change makeup gain depending on threshold, knee, and ratio settings + + + + + + Soft Clip + + + + + Play the delta signal + + + + + Use the compressor's output as the sidechain input + + + + + Lookahead Enabled + + + + + Enable Lookahead, which introduces 20 milliseconds of latency + + + + + lmms::gui::ControllerConnectionDialog + + + Connection Settings + + + + + MIDI CONTROLLER + + + + + Input channel + + + + + CHANNEL + + + + + Input controller + + + + + CONTROLLER + + + + + + Auto Detect + + + + + MIDI-devices to receive MIDI-events from + + + + + USER CONTROLLER + + + + + MAPPING FUNCTION + + + + + OK + + + + + Cancel + + + + + LMMS + + + + + Cycle Detected. + + + + + lmms::gui::ControllerRackView + + + Controller Rack + + + + + Add + + + + + Confirm Delete + + + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + + + + + lmms::gui::ControllerView + + + Controls + + + + + Rename controller + + + + + Enter the new name for this controller + + + + + LFO + + + + + Move &up + + + + + Move &down + + + + + &Remove this controller + + + + + Re&name this controller + + + + + lmms::gui::CrossoverEQControlDialog + + + Band 1/2 crossover: + + + + + Band 2/3 crossover: + + + + + Band 3/4 crossover: + + + + + Band 1 gain + + + + + Band 1 gain: + + + + + Band 2 gain + + + + + Band 2 gain: + + + + + Band 3 gain + + + + + Band 3 gain: + + + + + Band 4 gain + + + + + Band 4 gain: + + + + + Band 1 mute + + + + + Mute band 1 + + + + + Band 2 mute + + + + + Mute band 2 + + + + + Band 3 mute + + + + + Mute band 3 + + + + + Band 4 mute + + + + + Mute band 4 + + + + + lmms::gui::DelayControlsDialog + + + DELAY + + + + + Delay time + + + + + FDBK + + + + + Feedback amount + + + + + RATE + + + + + LFO frequency + + + + + AMNT + + + + + LFO amount + + + + + Out gain + + + + + Gain + + + + + lmms::gui::DispersionControlDialog + + + AMOUNT + + + + + Number of all-pass filters + + + + + FREQ + + + + + Frequency: + + + + + RESO + + + + + Resonance: + + + + + FEED + + + + + Feedback: + + + + + DC Offset Removal + + + + + Remove DC Offset + + + + + lmms::gui::DualFilterControlDialog + + + + FREQ + + + + + + Cutoff frequency + + + + + + RESO + + + + + + Resonance + + + + + + GAIN + + + + + + Gain + + + + + MIX + + + + + Mix + + + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + + Enable/disable filter 1 + + + + + Enable/disable filter 2 + + + + + lmms::gui::DynProcControlDialog + + + INPUT + + + + + Input gain: + + + + + OUTPUT + + + + + Output gain: + + + + + ATTACK + + + + + Peak attack time: + + + + + RELEASE + + + + + Peak release time: + + + + + + Reset wavegraph + + + + + + Smooth wavegraph + + + + + + Increase wavegraph amplitude by 1 dB + + + + + + Decrease wavegraph amplitude by 1 dB + + + + + Stereo mode: maximum + + + + + Process based on the maximum of both stereo channels + + + + + Stereo mode: average + + + + + Process based on the average of both stereo channels + + + + + Stereo mode: unlinked + + + + + Process each stereo channel independently + + + + + lmms::gui::Editor + + + Transport controls + + + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + + Toggle Step Recording + + + + + lmms::gui::EffectRackView + + + EFFECTS CHAIN + + + + + Add effect + + + + + lmms::gui::EffectSelectDialog + + + Add effect + + + + + + Name + + + + + Type + + + + + All + + + + + Search + + + + + Description + + + + + Author + + + + + lmms::gui::EffectView + + + On/Off + + + + + W/D + + + + + Wet Level: + + + + + DECAY + + + + + Time: + + + + + GATE + + + + + Gate: + + + + + Controls + + + + + Move &up + + + + + Move &down + + + + + &Remove this plugin + + + + + lmms::gui::EnvelopeAndLfoView + + + + AMT + + + + + + Modulation amount: + + + + + + DEL + + + + + + Pre-delay: + + + + + + ATT + + + + + + Attack: + + + + + HOLD + + + + + Hold: + + + + + DEC + + + + + Decay: + + + + + SUST + + + + + Sustain: + + + + + REL + + + + + Release: + + + + + SPD + + + + + Frequency: + + + + + FREQ x 100 + + + + + Multiply LFO frequency by 100 + + + + + MOD ENV AMOUNT + + + + + Control envelope amount by this LFO + + + + + Hint + + + + + Drag and drop a sample into this window. + + + + + lmms::gui::EnvelopeGraph + + + Scaling + + + + + Dynamic + + + + + Uses absolute spacings but switches to relative spacing if it's running out of space + + + + + Absolute + + + + + Provides enough potential space for each segment but does not scale + + + + + Relative + + + + + Always uses all of the available space to display the envelope graph + + + + + lmms::gui::EqControlsDialog + + + HP + + + + + Low-shelf + + + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + + High-shelf + + + + + LP + + + + + Input gain + + + + + + + Gain + + + + + Output gain + + + + + Bandwidth: + + + + + Octave + + + + + Resonance: + + + + + Frequency: + + + + + LP group + + + + + HP group + + + + + lmms::gui::EqHandle + + + Reso: + + + + + BW: + + + + + + Freq: + + + + + lmms::gui::ExportProjectDialog + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Export project to %1 + + + + + ( Fastest - biggest ) + + + + + ( Slowest - smallest ) + + + + + Error + + + + + Error while determining file-encoder device. Please try to choose a different output format. + + + + + Rendering: %1% + + + + + lmms::gui::Fader + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + Volume: %1 dBFS + + + + + lmms::gui::FileBrowser + + + Browser + + + + + Search + + + + + Refresh list + + + + + User content + + + + + Factory content + + + + + Hidden content + + + + + lmms::gui::FileBrowserTreeWidget + + + Send to active instrument-track + + + + + Open containing folder + + + + + Song Editor + + + + + Pattern Editor + + + + + Send to new AudioFileProcessor instance + + + + + Send to new instrument track + + + + + (%2Enter) + + + + + Send to new sample track (Shift + Enter) + + + + + Loading sample + + + + + Please wait, loading sample for preview... + + + + + Error + + + + + %1 does not appear to be a valid %2 file + + + + + --- Factory files --- + + + + + lmms::gui::FileDialog + + + %1 files + + + + + All audio files + + + + + Other files + + + + + lmms::gui::FlangerControlsDialog + + + DELAY + + + + + Delay time: + + + + + RATE + + + + + Period: + + + + + AMNT + + + + + Amount: + + + + + PHASE + + + + + Phase: + + + + + FDBK + + + + + Feedback amount: + + + + + NOISE + + + + + White noise amount: + + + + + Invert + + + + + lmms::gui::FloatModelEditorBase + + + Set linear + + + + + Set logarithmic + + + + + + Set value + + + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::FreeBoyInstrumentView + + + Sweep time: + + + + + Sweep time + + + + + Sweep rate shift amount: + + + + + Sweep rate shift amount + + + + + + Wave pattern duty cycle: + + + + + + Wave pattern duty cycle + + + + + Square channel 1 volume: + + + + + Square channel 1 volume + + + + + + + Length of each step in sweep: + + + + + + + Length of each step in sweep + + + + + Square channel 2 volume: + + + + + Square channel 2 volume + + + + + Wave pattern channel volume: + + + + + Wave pattern channel volume + + + + + Noise channel volume: + + + + + Noise channel volume + + + + + SO1 volume (Right): + + + + + SO1 volume (Right) + + + + + SO2 volume (Left): + + + + + SO2 volume (Left) + + + + + Treble: + + + + + Treble + + + + + Bass: + + + + + Bass + + + + + Sweep direction + + + + + + + + + Volume sweep direction + + + + + Shift register width + + + + + Channel 1 to SO1 (Right) + + + + + Channel 2 to SO1 (Right) + + + + + Channel 3 to SO1 (Right) + + + + + Channel 4 to SO1 (Right) + + + + + Channel 1 to SO2 (Left) + + + + + Channel 2 to SO2 (Left) + + + + + Channel 3 to SO2 (Left) + + + + + Channel 4 to SO2 (Left) + + + + + Wave pattern graph + + + + + lmms::gui::GigInstrumentView + + + + Open GIG file + + + + + Choose patch + + + + + Gain: + + + + + GIG Files (*.gig) + + + + + lmms::gui::GranularPitchShifterControlDialog + + + Grain Size: + + + + + Spray: + + + + + Jitter: + + + + + Twitch: + + + + + Spray Stereo Spread: + + + + + Grain Shape: + + + + + Fade Length: + + + + + Feedback: + + + + + Minimum Allowed Latency: + + + + + Density: + + + + + Glide: + + + + + + Pitch + + + + + + Pitch Stereo Spread + + + + + Open help window + + + + + + Prefilter + + + + + lmms::gui::GuiApplication + + + Working directory + + + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + + + + + Preparing UI + + + + + Preparing song editor + + + + + Preparing mixer + + + + + Preparing controller rack + + + + + Preparing project notes + + + + + Preparing microtuner + + + + + Preparing pattern editor + + + + + Preparing piano roll + + + + + Preparing automation editor + + + + + lmms::gui::InstrumentFunctionArpeggioView + + + ARPEGGIO + + + + + RANGE + + + + + Arpeggio range: + + + + + octave(s) + + + + + REP + + + + + Note repeats: + + + + + time(s) + + + + + CYCLE + + + + + Cycle notes: + + + + + note(s) + + + + + SKIP + + + + + Skip rate: + + + + + + + % + + + + + MISS + + + + + Miss rate: + + + + + TIME + + + + + Arpeggio time: + + + + + ms + + + + + GATE + + + + + Arpeggio gate: + + + + + Chord: + + + + + Direction: + + + + + Mode: + + + + + lmms::gui::InstrumentFunctionNoteStackingView + + + STACKING + + + + + Chord: + + + + + RANGE + + + + + Chord range: + + + + + octave(s) + + + + + lmms::gui::InstrumentMidiIOView + + + ENABLE MIDI INPUT + + + + + + CHAN + This string must be be short, its width must be less than * width of LCD spin-box of two digits + + + + + + VELOC + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + ENABLE MIDI OUTPUT + + + + + PROG + This string must be be short, its width must be less than the * width of LCD spin-box of three digits + + + + + NOTE + This string must be be short, its width must be less than * width of LCD spin-box of three digits + + + + + MIDI devices to receive MIDI events from + + + + + MIDI devices to send MIDI events to + + + + + VELOCITY MAPPING + + + + + MIDI VELOCITY + + + + + MIDI notes at this velocity correspond to 100% note velocity. + + + + + lmms::gui::InstrumentSoundShapingView + + + TARGET + + + + + FILTER + + + + + FREQ + + + + + Cutoff frequency: + + + + + Hz + + + + + Q/RESO + + + + + Q/Resonance: + + + + + Envelopes, LFOs and filters are not supported by the current instrument. + + + + + lmms::gui::InstrumentTrackView + + + Mixer channel + + + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + MIDI + + + + + Input + + + + + Output + + + + + Open/Close MIDI CC Rack + + + + + %1: %2 + + + + + lmms::gui::InstrumentTrackWindow + + + Volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Pitch + + + + + Pitch: + + + + + cents + + + + + PITCH + + + + + Pitch range (semitones) + + + + + RANGE + + + + + Mixer channel + + + + + CHANNEL + + + + + Save current instrument track settings in a preset file + + + + + SAVE + + + + + Envelope, filter & LFO + + + + + Chord stacking & arpeggio + + + + + Effects + + + + + MIDI + + + + + Tuning and transposition + + + + + Save preset + + + + + XML preset file (*.xpf) + + + + + Plugin + + + + + lmms::gui::InstrumentTuningView + + + GLOBAL TRANSPOSITION + + + + + Enables the use of global transposition + + + + + Microtuner is not available for MIDI-based instruments. + + + + + MICROTUNER + + + + + Active scale: + + + + + + Edit scales and keymaps + + + + + Active keymap: + + + + + Import note ranges from keymap + + + + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. + + + + + lmms::gui::KickerInstrumentView + + + Start frequency: + + + + + End frequency: + + + + + Frequency slope: + + + + + Gain: + + + + + Envelope length: + + + + + Envelope slope: + + + + + Click: + + + + + Noise: + + + + + Start distortion: + + + + + End distortion: + + + + + lmms::gui::LOMMControlDialog + + + Depth: + + + + + Compression amount for all bands + + + + + Time: + + + + + Attack/release scaling for all bands + + + + + Input Volume: + + + + + Input volume + + + + + Output Volume: + + + + + Output volume + + + + + Upward Depth: + + + + + Upward compression amount for all bands + + + + + Downward Depth: + + + + + Downward compression amount for all bands + + + + + High/Mid Crossover + + + + + Mid/Low Crossover + + + + + High/mid band split + + + + + Mid/low band split + + + + + Enable High Band + + + + + Enable Mid Band + + + + + Enable Low Band + + + + + High Input Volume: + + + + + Input volume for high band + + + + + Mid Input Volume: + + + + + Input volume for mid band + + + + + Low Input Volume: + + + + + Input volume for low band + + + + + High Output Volume: + + + + + Output volume for high band + + + + + Mid Output Volume: + + + + + Output volume for mid band + + + + + Low Output Volume: + + + + + Output volume for low band + + + + + Above Threshold High + + + + + Downward compression threshold for high band + + + + + Above Threshold Mid + + + + + Downward compression threshold for mid band + + + + + Above Threshold Low + + + + + Downward compression threshold for low band + + + + + Above Ratio High + + + + + Downward compression ratio for high band + + + + + Above Ratio Mid + + + + + Downward compression ratio for mid band + + + + + Above Ratio Low + + + + + Downward compression ratio for low band + + + + + Below Threshold High + + + + + Upward compression threshold for high band + + + + + Below Threshold Mid + + + + + Upward compression threshold for mid band + + + + + Below Threshold Low + + + + + Upward compression threshold for low band + + + + + Below Ratio High + + + + + Upward compression ratio for high band + + + + + Below Ratio Mid + + + + + Upward compression ratio for mid band + + + + + Below Ratio Low + + + + + Upward compression ratio for low band + + + + + Attack High: + + + + + Attack time for high band + + + + + Attack Mid: + + + + + Attack time for mid band + + + + + Attack Low: + + + + + Attack time for low band + + + + + Release High: + + + + + Release time for high band + + + + + Release Mid: + + + + + Release time for mid band + + + + + Release Low: + + + + + Release time for low band + + + + + RMS Time: + + + + + RMS size for sidechain signal (set to 0 for Peak mode) + + + + + Knee: + + + + + Knee size for all compressors + + + + + Range: + + + + + Maximum gain increase for all bands + + + + + Balance: + + + + + Bias input volume towards one channel + + + + + Scale output volume with Depth + + + + + Scale output volume with Depth parameter + + + + + Stereo Link + + + + + Apply same gain change to both channels + + + + + Auto Time: + + + + + Speed up attack and release times when transients occur + + + + + Mix: + + + + + Wet/Dry of all bands + + + + + Feedback + + + + + Use output as sidechain signal instead of input + + + + + Mid/Side + + + + + Compress mid/side channels instead of left/right + + + + + + Suppress upward compression for side band + + + + + + Lookahead + + + + + Lookahead length + + + + + Clear all parameters + + + + + lmms::gui::LadspaBrowserView + + + + Available Effects + + + + + + Unavailable Effects + + + + + + Instruments + + + + + + Analysis Tools + + + + + + Don't know + + + + + Type: + + + + + lmms::gui::LadspaControlDialog + + + Link Channels + + + + + Channel + + + + + lmms::gui::LadspaControlView + + + Link channels + + + + + Value: + + + + + lmms::gui::LadspaDescription + + + Plugins + + + + + Description + + + + + Name: + + + + + Maker: + + + + + Copyright: + + + + + Requires Real Time: + + + + + + + Yes + + + + + + + No + + + + + Real Time Capable: + + + + + In Place Broken: + + + + + Channels In: + + + + + Channels Out: + + + + + lmms::gui::LadspaMatrixControlDialog + + + Link Channels + + + + + Link + + + + + Channel %1 + + + + + Link channels + + + + + lmms::gui::LadspaPortDialog + + + Ports + + + + + Name + + + + + Rate + + + + + Direction + + + + + Type + + + + + Min < Default < Max + + + + + Logarithmic + + + + + SR Dependent + + + + + Audio + + + + + Control + + + + + Input + + + + + Output + + + + + Toggled + + + + + Integer + + + + + Float + + + + + + Yes + + + + + lmms::gui::Lb302SynthView + + + Cutoff Freq: + + + + + Resonance: + + + + + Env Mod: + + + + + Decay: + + + + + 303-es-que, 24dB/octave, 3 pole filter + + + + + Slide Decay: + + + + + DIST: + + + + + Saw wave + + + + + Click here for a saw-wave. + + + + + Triangle wave + + + + + Click here for a triangle-wave. + + + + + Square wave + + + + + Click here for a square-wave. + + + + + Rounded square wave + + + + + Click here for a square-wave with a rounded end. + + + + + Moog wave + + + + + Click here for a moog-like wave. + + + + + Sine wave + + + + + Click for a sine-wave. + + + + + + White noise wave + + + + + Click here for an exponential wave. + + + + + Click here for white-noise. + + + + + Bandlimited saw wave + + + + + Click here for bandlimited saw wave. + + + + + Bandlimited square wave + + + + + Click here for bandlimited square wave. + + + + + Bandlimited triangle wave + + + + + Click here for bandlimited triangle wave. + + + + + Bandlimited moog saw wave + + + + + Click here for bandlimited moog saw wave. + + + + + lmms::gui::LcdFloatSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LcdSpinBox + + + Set value + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::LeftRightNav + + + + + Previous + + + + + + + Next + + + + + Previous (%1) + + + + + Next (%1) + + + + + lmms::gui::LfoControllerDialog + + + LFO + + + + + BASE + + + + + Base: + + + + + FREQ + + + + + LFO frequency: + + + + + AMNT + + + + + Modulation amount: + + + + + PHS + + + + + Phase offset: + + + + + degrees + + + + + Sine wave + + + + + Triangle wave + + + + + Saw wave + + + + + Square wave + + + + + Moog saw wave + + + + + Exponential wave + + + + + White noise + + + + + User-defined shape. +Double click to pick a file. + + + + + Multiply modulation frequency by 1 + + + + + Multiply modulation frequency by 100 + + + + + Divide modulation frequency by 100 + + + + + lmms::gui::LfoGraph + + + %1 Hz + + + + + lmms::gui::MainWindow + + + Configuration file + + + + + Error while parsing configuration file at line %1:%2: %3 + + + + + Could not open file + + + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + + + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + + Root Directory + + + + + Volumes + + + + + My Computer + + + + + Loading background picture + + + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + + Scales and keymaps + + + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + + Metronome + + + + + + Song Editor + + + + + + Pattern Editor + + + + + + Piano Roll + + + + + + Automation Editor + + + + + + Mixer + + + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + + Fullscreen + + + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + + MIDI File (*.mid) + + + + + + untitled + + + + + + Select file for project-export... + + + + + Select directory for writing exported tracks... + + + + + Save project + + + + + Project saved + + + + + The project %1 is now saved. + + + + + Project NOT saved. + + + + + The project %1 was not saved! + + + + + Import file + + + + + MIDI sequences + + + + + Hydrogen projects + + + + + All file types + + + + + lmms::gui::MalletsInstrumentView + + + Instrument + + + + + Spread + + + + + Spread: + + + + + Random + + + + + Random: + + + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + + Vibrato gain + + + + + Vibrato gain: + + + + + Vibrato frequency + + + + + Vibrato frequency: + + + + + Stick mix + + + + + Stick mix: + + + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + + LFO speed + + + + + LFO speed: + + + + + LFO depth + + + + + LFO depth: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + + + + + lmms::gui::ManageVSTEffectView + + + - VST parameter control + + + + + VST sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::ManageVestigeInstrumentView + + + + - VST plugin control + + + + + VST Sync + + + + + + Automated + + + + + Close + + + + + lmms::gui::MeterDialog + + + + Meter Numerator + + + + + Meter numerator + + + + + + Meter Denominator + + + + + Meter denominator + + + + + TIME SIG + + + + + lmms::gui::MicrotunerConfig + + + Selected scale slot + + + + + Selected keymap slot + + + + + + First key + + + + + + Last key + + + + + + Middle key + + + + + + Base key + + + + + + + Base note frequency + + + + + Microtuner Configuration + + + + + Scale slot to edit: + + + + + Scale description. Cannot start with "!" and cannot contain a newline character. + + + + + + Load + + + + + + Save + + + + + Load scale definition from a file. + + + + + Save scale definition to a file. + + + + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. + + + + + Apply scale changes + + + + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. + + + + + Keymap slot to edit: + + + + + Keymap description. Cannot start with "!" and cannot contain a newline character. + + + + + Load key mapping definition from a file. + + + + + Save key mapping definition to a file. + + + + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, +starting with the middle key and continuing in sequence. +The pattern repeats for keys outside of the explicit keymap range. +Multiple keys can be mapped to the same scale degree. +Enter 'x' if you wish to leave the key disabled / not mapped. + + + + + FIRST + + + + + First MIDI key that will be mapped + + + + + LAST + + + + + Last MIDI key that will be mapped + + + + + MIDDLE + + + + + First line in the keymap refers to this MIDI key + + + + + BASE N. + + + + + Base note frequency will be assigned to this MIDI key + + + + + BASE NOTE FREQ + + + + + Apply keymap changes + + + + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. + + + + + Scale parsing error + + + + + Scale name cannot start with an exclamation mark + + + + + Scale name cannot contain a new-line character + + + + + Interval defined in cents cannot be converted to a number + + + + + Numerator of an interval defined as a ratio cannot be converted to a number + + + + + Denominator of an interval defined as a ratio cannot be converted to a number + + + + + Interval defined as a ratio cannot be negative + + + + + Keymap parsing error + + + + + Keymap name cannot start with an exclamation mark + + + + + Keymap name cannot contain a new-line character + + + + + Scale degree cannot be converted to a whole number + + + + + Scale degree cannot be negative + + + + + Invalid keymap + + + + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. + + + + + Open scale + + + + + + Scala scale definition (*.scl) + + + + + Scale load failure + + + + + + Unable to open selected file. + + + + + Open keymap + + + + + + Scala keymap definition (*.kbm) + + + + + Keymap load failure + + + + + Save scale + + + + + Scale save failure + + + + + + Unable to open selected file for writing. + + + + + Save keymap + + + + + Keymap save failure + + + + + lmms::gui::MidiCCRackView + + + + MIDI CC Rack - %1 + + + + + MIDI CC Knobs: + + + + + CC %1 + + + + + lmms::gui::MidiClipView + + + + Transpose + + + + + Semitones to transpose by: + + + + + Open in piano-roll + + + + + Set as ghost in piano-roll + + + + + Set as ghost in automation editor + + + + + Clear all notes + + + + + Reset name + + + + + Change name + + + + + Add steps + + + + + Remove steps + + + + + Clone Steps + + + + + lmms::gui::MidiSetupWidget + + + Device + + + + + lmms::gui::MixerChannelLcdSpinBox + + + Assign to: + + + + + New Mixer Channel + + + + + Please enter a new value between %1 and %2: + + + + + Set value + + + + + lmms::gui::MixerChannelView + + + Channel send amount + + + + + Mute + + + + + Mute this channel + + + + + Solo + + + + + Solo this channel + + + + + Fader %1 + + + + + Move &left + + + + + Move &right + + + + + Rename &channel + + + + + R&emove channel + + + + + Remove &unused channels + + + + + Color + + + + + Change + + + + + Reset + + + + + Pick random + + + + + This Mixer Channel is being used. +Are you sure you want to remove this channel? + +Warning: This operation can not be undone. + + + + + Confirm removal + + + + + Don't ask again + + + + + lmms::gui::MixerView + + + Mixer + + + + + lmms::gui::MonstroView + + + Operators view + + + + + Matrix view + + + + + + + Volume + + + + + + + Panning + + + + + + + Coarse detune + + + + + + + semitones + + + + + + Fine tune left + + + + + + + + cents + + + + + + Fine tune right + + + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + + Mix osc 2 with osc 3 + + + + + Modulate amplitude of osc 3 by osc 2 + + + + + Modulate frequency of osc 3 by osc 2 + + + + + Modulate phase of osc 3 by osc 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + + + + + lmms::gui::MultitapEchoControlDialog + + + Length + + + + + Step length: + + + + + Dry + + + + + Dry gain: + + + + + Stages + + + + + Low-pass stages: + + + + + Swap inputs + + + + + Swap left and right input channels for reflections + + + + + lmms::gui::NesInstrumentView + + + + + + Volume + + + + + + + Coarse detune + + + + + + + Envelope length + + + + + Enable channel 1 + + + + + Enable envelope 1 + + + + + Enable envelope 1 loop + + + + + Enable sweep 1 + + + + + + Sweep amount + + + + + + Sweep rate + + + + + + 12.5% Duty cycle + + + + + + 25% Duty cycle + + + + + + 50% Duty cycle + + + + + + 75% Duty cycle + + + + + Enable channel 2 + + + + + Enable envelope 2 + + + + + Enable envelope 2 loop + + + + + Enable sweep 2 + + + + + Enable channel 3 + + + + + Noise Frequency + + + + + Frequency sweep + + + + + Enable channel 4 + + + + + Enable envelope 4 + + + + + Enable envelope 4 loop + + + + + Quantize noise frequency when using note frequency + + + + + Use note frequency for noise + + + + + Noise mode + + + + + Master volume + + + + + Vibrato + + + + + lmms::gui::OpulenzInstrumentView + + + + Attack + + + + + + Decay + + + + + + Release + + + + + + Frequency multiplier + + + + + lmms::gui::OrganicInstrumentView + + + Distortion: + + + + + Volume: + + + + + Randomise + + + + + + Osc %1 waveform: + + + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 stereo detuning + + + + + cents + + + + + Osc %1 harmonic: + + + + + lmms::gui::Oscilloscope + + + Oscilloscope + + + + + Click to enable + + + + + lmms::gui::PatmanView + + + Open patch + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + + + + + lmms::gui::PatternClipView + + + Open in Pattern Editor + + + + + Reset name + + + + + Change name + + + + + lmms::gui::PatternEditorWindow + + + Pattern Editor + + + + + Play/pause current pattern (Space) + + + + + Stop playback of current pattern (Space) + + + + + Pattern selector + + + + + Track and step actions + + + + + New pattern + + + + + Clone pattern + + + + + Add sample-track + + + + + Add automation-track + + + + + Remove steps + + + + + Add steps + + + + + Clone Steps + + + + + lmms::gui::PeakControllerDialog + + + PEAK + + + + + LFO Controller + + + + + lmms::gui::PeakControllerEffectControlDialog + + + BASE + + + + + Base: + + + + + AMNT + + + + + Modulation amount: + + + + + MULT + + + + + Amount multiplicator: + + + + + ATCK + + + + + Attack: + + + + + DCAY + + + + + Release: + + + + + TRSH + + + + + Treshold: + + + + + Mute output + + + + + Absolute value + + + + + lmms::gui::PeakIndicator + + + -inf + + + + + lmms::gui::PianoRoll + + + Note Velocity + + + + + Note Panning + + + + + Mark/unmark current semitone + + + + + Mark/unmark all corresponding octave semitones + + + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + + Select all notes on this key + + + + + Note lock + + + + + Last note + + + + + No key + + + + + No scale + + + + + No chord + + + + + Nudge + + + + + Snap + + + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + + Glue notes failed + + + + + Please select notes to glue first. + + + + + Please open a clip by double-clicking on it! + + + + + + Please enter a new value between %1 and %2: + + + + + lmms::gui::PianoRollWindow + + + Play/pause current clip (Space) + + + + + Record notes from MIDI-device/channel-piano + + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + + + + + Record notes from MIDI-device/channel-piano, one step at the time + + + + + Stop playing of current clip (Space) + + + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + + Pitch Bend mode (Shift+T) + + + + + Quantize + + + + + Quantize positions + + + + + Quantize lengths + + + + + File actions + + + + + Import clip + + + + + + Export clip + + + + + Copy paste controls + + + + + Cut (%1+X) + + + + + Copy (%1+C) + + + + + Paste (%1+V) + + + + + Timeline controls + + + + + Glue + + + + + Knife + + + + + Fill + + + + + Cut overlaps + + + + + Min length as last + + + + + Max length as last + + + + + Zoom and note controls + + + + + Horizontal zooming + + + + + Vertical zooming + + + + + Quantization + + + + + Note length + + + + + Key + + + + + Scale + + + + + Chord + + + + + Snap mode + + + + + Clear ghost notes + + + + + + Piano-Roll - %1 + + + + + + Piano-Roll - no clip + + + + + + XML clip file (*.xpt *.xptz) + + + + + Export clip success + + + + + Clip saved to %1 + + + + + Import clip. + + + + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? + + + + + Open clip + + + + + Import clip success + + + + + Imported clip %1! + + + + + lmms::gui::PianoView + + + Base note + + + + + First note + + + + + Last note + + + + + lmms::gui::PluginBrowser + + + Instrument Plugins + + + + + Instrument browser + + + + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. + + + + + Search + + + + + lmms::gui::PluginDescWidget + + + Send to new instrument track + + + + + lmms::gui::ProjectNotes + + + Project Notes + + + + + Enter project notes here + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + + + + + lmms::gui::RecentProjectsMenu + + + &Recently Opened Projects + + + + + lmms::gui::RenameDialog + + + Rename... + + + + + lmms::gui::ReverbSCControlDialog + + + Input + + + + + Input gain: + + + + + Size + + + + + Size: + + + + + Color + + + + + Color: + + + + + Output + + + + + Output gain: + + + + + lmms::gui::SaControlsDialog + + + Pause + + + + + Pause data acquisition + + + + + Reference freeze + + + + + Freeze current input as a reference / disable falloff in peak-hold mode. + + + + + Waterfall + + + + + Display real-time spectrogram + + + + + Averaging + + + + + Enable exponential moving average + + + + + Stereo + + + + + Display stereo channels separately + + + + + Peak hold + + + + + Display envelope of peak values + + + + + Logarithmic frequency + + + + + Switch between logarithmic and linear frequency scale + + + + + + Frequency range + + + + + Logarithmic amplitude + + + + + Switch between logarithmic and linear amplitude scale + + + + + + Amplitude range + + + + + + FFT block size + + + + + + FFT window type + + + + + Envelope res. + + + + + Increase envelope resolution for better details, decrease for better GUI performance. + + + + + Maximum number of envelope points drawn per pixel: + + + + + Spectrum res. + + + + + Increase spectrum resolution for better details, decrease for better GUI performance. + + + + + Maximum number of spectrum points drawn per pixel: + + + + + Falloff factor + + + + + Decrease to make peaks fall faster. + + + + + Multiply buffered value by + + + + + Averaging weight + + + + + Decrease to make averaging slower and smoother. + + + + + New sample contributes + + + + + Waterfall height + + + + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. + + + + + Number of lines to keep: + + + + + Waterfall gamma + + + + + Decrease to see very weak signals, increase to get better contrast. + + + + + Gamma value: + + + + + Window overlap + + + + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. + + + + + Number of times each sample is processed: + + + + + Zero padding + + + + + Increase to get smoother-looking spectrum. Warning: high CPU usage. + + + + + Processing buffer is + + + + + steps larger than input block + + + + + Advanced settings + + + + + Access advanced settings + + + + + lmms::gui::SampleClipView + + + Double-click to open sample + + + + + Reverse sample + + + + + Set as ghost in automation editor + + + + + lmms::gui::SampleTrackView + + + Mixer channel + + + + + Track volume + + + + + Channel volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + %1: %2 + + + + + lmms::gui::SampleTrackWindow + + + Sample volume + + + + + Volume: + + + + + VOL + + + + + Panning + + + + + Panning: + + + + + PAN + + + + + Mixer channel + + + + + CHANNEL + + + + + lmms::gui::SaveOptionsWidget + + + Discard MIDI connections + + + + + Save As Project Bundle (with resources) + + + + + lmms::gui::SetupDialog + + + Settings + + + + + + General + + + + + Graphical user interface (GUI) + + + + + Display volume as dBFS + + + + + Enable tooltips + + + + + Enable master oscilloscope by default + + + + + Enable all note labels in piano roll + + + + + Enable compact track buttons + + + + + Enable one instrument-track-window mode + + + + + Show sidebar on the right-hand side + + + + + Let sample previews continue when mouse is released + + + + + Mute automation tracks during solo + + + + + Show warning when deleting tracks + + + + + Show warning when deleting a mixer channel that is in use + + + + + Dual-button + + + + + Grab closest + + + + + Handles + + + + + Loop edit mode + + + + + Projects + + + + + Compress project files by default + + + + + Create a backup file when saving a project + + + + + Reopen last project on startup + + + + + Language + + + + + + Performance + + + + + Autosave + + + + + Enable autosave + + + + + Allow autosave while playing + + + + + User interface (UI) effects vs. performance + + + + + Smooth scroll in song editor + + + + + Display playback cursor in AudioFileProcessor + + + + + Plugins + + + + + VST plugins embedding: + + + + + No embedding + + + + + Embed using Qt API + + + + + Embed using native Win32 API + + + + + Embed using XEmbed protocol + + + + + Keep plugin windows on top when not embedded + + + + + Keep effects running even without input + + + + + + Audio + + + + + Audio interface + + + + + Buffer size + + + + + Reset to default value + + + + + + MIDI + + + + + MIDI interface + + + + + Automatically assign MIDI controller to selected track + + + + + Behavior when recording + + + + + Auto-quantize notes in Piano Roll + + + + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. + + + + + + Paths + + + + + LMMS working directory + + + + + VST plugins directory + + + + + LADSPA plugins directories + + + + + SF2 directory + + + + + Default SF2 + + + + + GIG directory + + + + + Theme directory + + + + + Background artwork + + + + + Some changes require restarting. + + + + + OK + + + + + Cancel + + + + + minutes + + + + + minute + + + + + Disabled + + + + + Autosave interval: %1 + + + + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. + + + + + The currently selected value is less than or equal to 32. Some plugins may not be available. + + + + + Frames: %1 +Latency: %2 ms + + + + + Choose the LMMS working directory + + + + + Choose your VST plugins directory + + + + + Choose your LADSPA plugins directory + + + + + Choose your SF2 directory + + + + + Choose your default SF2 + + + + + Choose your GIG directory + + + + + Choose your theme directory + + + + + Choose your background picture + + + + + lmms::gui::Sf2InstrumentView + + + + Open SoundFont file + + + + + Choose patch + + + + + Gain: + + + + + Apply reverb (if supported) + + + + + Room size: + + + + + Damping: + + + + + Width: + + + + + + Level: + + + + + Apply chorus (if supported) + + + + + Voices: + + + + + Speed: + + + + + Depth: + + + + + SoundFont Files (*.sf2 *.sf3) + + + + + lmms::gui::SidInstrumentView + + + Volume: + + + + + Resonance: + + + + + + Cutoff frequency: + + + + + High-pass filter + + + + + Band-pass filter + + + + + Low-pass filter + + + + + Voice 3 off + + + + + MOS6581 SID + + + + + MOS8580 SID + + + + + + Attack: + + + + + + Decay: + + + + + Sustain: + + + + + + Release: + + + + + Pulse Width: + + + + + Coarse: + + + + + Pulse wave + + + + + Triangle wave + + + + + Saw wave + + + + + Noise + + + + + Sync + + + + + Ring modulation + + + + + Filtered + + + + + Test + + + + + Pulse width: + + + + + lmms::gui::SideBarWidget + + + Close + + + + + lmms::gui::SlicerTView + + + Slice snap + + + + + Set slice snapping for detection + + + + + Sync sample + + + + + Enable BPM sync + + + + + Original sample BPM + + + + + Threshold used for slicing + + + + + Fade Out per note in milliseconds + + + + + Copy midi pattern to clipboard + + + + + Open sample selector + + + + + Reset slices + + + + + Threshold + + + + + Fade Out + + + + + Reset + + + + + Midi + + + + + BPM + + + + + Snap + + + + + lmms::gui::SlicerTWaveform + + + Click to load sample + + + + + lmms::gui::SongEditor + + + Could not open file + + + + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - 無法開啟 %1。 -請確認您至少有權限讀取此檔案後再試一次。 + - + Operation denied - + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - - - + + + Error - 錯誤 + - + Couldn't create bundle folder. - + Couldn't create resources folder. - + Failed to copy resources. - + + Could not write file - 無法寫入檔案 - - - - Could not open %1 for writing. You probably are not permitted towrite to this file. Please make sure you have write-access to the file and try again. - - This %1 was created with LMMS %2 + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - + + An unknown error has occurred and the file could not be saved. + + + + Error in file - 於檔案中發現錯誤 - - - - The file %1 seems to contain errors and therefore can't be loaded. - 檔案 %1 似乎包含錯誤,無法進行載入。 - - - - Version difference - + + The file %1 seems to contain errors and therefore can't be loaded. + + + + template - + project - - Tempo - 節奏 + + Version difference + - + + This %1 was created with LMMS %2 + + + + + Zoom + + + + + Tempo + + + + TEMPO - + Tempo in BPM - - High quality mode - 高質量模式 - - - - - + + + Master volume - 主音量 + - - - - Master pitch - 主音高 + + + + Global transposition + - + + 1/%1 Bar + + + + + %1 Bars + + + + Value: %1% - 值: %1% + - - Value: %1 semitones - 值: %1 半音程 + + Value: %1 keys + - SongEditorWindow + lmms::gui::SongEditorWindow - + Song-Editor - 歌曲編輯器 + + + + + Play song (Space) + + + + + Record samples from Audio-device + - Play song (Space) - 播放歌曲(空格) + Record samples from Audio-device while playing song or pattern track + - Record samples from Audio-device - 從音頻設備錄製樣本 - - - - Record samples from Audio-device while playing song or BB track - 在播放歌曲或BB軌道時從音頻設備錄入樣本 - - - Stop song (Space) - 停止歌曲(空格) + - + Track actions - 軌道動作 + - - Add beat/bassline - 添加節拍/Bassline + + Add pattern-track + - + Add sample-track - 添加採樣軌道 + - + Add automation-track - 添加自動控制軌道 + - + Edit actions - 編輯動作 + - + Draw mode - 繪製模式 + - + Knife mode (split sample clips) - + Edit mode (select and move) - 編輯模式(選定和移動) + - + Timeline controls - 時間線控制 + - + Bar insert controls - + Insert bar - + Remove bar - + Zoom controls - 縮放控制 + + - Horizontal zooming - 橫向縮放 + Zoom + - + Snap controls - - + + Clip snapping size - + Toggle proportional snap on/off - + Base snapping size - StepRecorderWidget + lmms::gui::StepRecorderWidget - + Hint - 提示 + - + Move recording curser using <Left/Right> arrows - SubWindow + lmms::gui::StereoEnhancerControlDialog - + + WIDTH + + + + + Width: + + + + + lmms::gui::StereoMatrixControlDialog + + + Left to Left Vol: + + + + + Left to Right Vol: + + + + + Right to Left Vol: + + + + + Right to Right Vol: + + + + + lmms::gui::SubWindow + + Close - + Maximize - + Restore - TabWidget + lmms::gui::TapTempoView - - - Settings for %1 - %1 的設定 + + 0 + + + + + + Precision + + + + + Display in high precision + + + + + 0.0 ms + + + + + Mute metronome + + + + + Mute + + + + + BPM in milliseconds + + + + + 0 ms + + + + + Frequency of BPM + + + + + 0.0000 hz + + + + + Reset + + + + + Reset counter and sidebar information + + + + + Sync + + + + + Sync with project tempo + + + + + %1 ms + + + + + %1 hz + - TemplatesMenu + lmms::gui::TemplatesMenu - + New from template - 從模版新建工程 + - TempoSyncKnob + lmms::gui::TempoSyncBarModelEditor - - + + Tempo Sync - + No Sync - 無同步 + - + Eight beats - + Whole note - + Half note - + Quarter note - + 8th note - + 16th note - + 32nd note - + Custom... - + Custom - + Synced to Eight Beats - + Synced to Whole Note - + Synced to Half Note - + Synced to Quarter Note - + Synced to 8th Note - + Synced to 16th Note - + Synced to 32nd Note - TimeDisplayWidget + lmms::gui::TempoSyncKnob - + + + Tempo Sync + + + + + No Sync + + + + + Eight beats + + + + + Whole note + + + + + Half note + + + + + Quarter note + + + + + 8th note + + + + + 16th note + + + + + 32nd note + + + + + Custom... + + + + + Custom + + + + + Synced to Eight Beats + + + + + Synced to Whole Note + + + + + Synced to Half Note + + + + + Synced to Quarter Note + + + + + Synced to 8th Note + + + + + Synced to 16th Note + + + + + Synced to 32nd Note + + + + + lmms::gui::TimeDisplayWidget + + Time units - + MIN - + SEC - + MSEC - + BAR - + BEAT - + TICK - TimeLineWidget + lmms::gui::TimeLineWidget - + Auto scrolling - + + Stepped auto scrolling + + + + + Continuous auto scrolling + + + + + Auto scrolling disabled + + + + Loop points - + After stopping go back to beginning - + After stopping go back to position at which playing was started - 停止後前往播放開始的地方 + - + After stopping keep position - 停止後保持位置不變 + - + Hint - 提示 + - + Press <%1> to disable magnetic loop points. - 按住 <%1> 禁用磁性吸附。 + + + + + Set loop begin here + + + + + Set loop end here + + + + + Loop edit mode (hold shift) + + + + + Dual-button + + + + + Grab closest + + + + + Handles + - Track + lmms::gui::TrackContentWidget - - Mute - 靜音 - - - - Solo - 獨奏 - - - - TrackContainer - - - Couldn't import file - 無法匯入檔案 - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - 不支援 %1 的檔案類型。 -請使用其他軟體將此檔案轉換成 LMMS 支援的格式。 - - - - Couldn't open file - 無法開啟檔案 - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - 無法開啟 %1。 -請確認您有權限讀取此檔案,以及包含此檔案的目錄後再試一次。 - - - - Loading project... - 正在加載工程... - - - - - Cancel - 取消 - - - - - Please wait... - 請稍等... - - - - Loading cancelled - - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - - - - - Importing MIDI-file... - 正在匯入 MIDI 檔案… - - - - Clip - - - Mute - 靜音 - - - - ClipView - - - Current position - 當前位置 - - - - Current length - 當前長度 - - - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 到 %5:%6) - - - - Press <%1> and drag to make a copy. - 按住 <%1> 並拖動以創建副本。 - - - - Press <%1> for free resizing. - 按住 <%1> 自由調整大小。 - - - - Hint - 提示 - - - - Delete (middle mousebutton) - 刪除 (鼠標中鍵) - - - - Delete selection (middle mousebutton) - - - - - Cut - 剪切 - - - - Cut selection - - - - - Merge Selection - - - - - Copy - 複製 - - - - Copy selection - - - - + Paste - 粘貼 - - - - Mute/unmute (<%1> + middle click) - 靜音/取消靜音 (<%1> + 鼠標中鍵) - - - - Mute/unmute selection (<%1> + middle click) - - - - - Set clip color - - - - - Use track color - TrackContentWidget + lmms::gui::TrackOperationsWidget - - Paste - 粘貼 - - - - TrackOperationsWidget - - + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. @@ -13453,257 +17716,249 @@ Please make sure you have read-permission to the file and the directory containi Mute - 靜音 + Solo - 獨奏 + - + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Confirm removal - + Don't ask again - + Clone this track - + Remove this track - + Clear this track - + Channel %1: %2 - 效果 %1: %2 - - - - Assign to new mixer Channel - + + Assign to new Mixer Channel + + + + Turn all recording on - + Turn all recording off - - Change color - 改變顏色 - - - - Reset color to default - 重置顏色 - - - - Set random color + + Track color - - Clear clip colors + + Change + + + + + Reset + + + + + Pick random + + + + + Reset clip colors - TripleOscillatorView + lmms::gui::TripleOscillatorView - + Modulate phase of oscillator 1 by oscillator 2 - + Modulate amplitude of oscillator 1 by oscillator 2 - + Mix output of oscillators 1 & 2 - + Synchronize oscillator 1 with oscillator 2 - + Modulate frequency of oscillator 1 by oscillator 2 - + Modulate phase of oscillator 2 by oscillator 3 - + Modulate amplitude of oscillator 2 by oscillator 3 - + Mix output of oscillators 2 & 3 - + Synchronize oscillator 2 with oscillator 3 - + Modulate frequency of oscillator 2 by oscillator 3 - + Osc %1 volume: - + Osc %1 panning: - + Osc %1 coarse detuning: - + semitones - + Osc %1 fine detuning left: - - + + cents - 音分 cents + - + Osc %1 fine detuning right: - + Osc %1 phase-offset: - - + + degrees - + Osc %1 stereo phase-detuning: - + Sine wave - 正弦波 + - + Triangle wave - 三角波 + - + Saw wave - 鋸齒波 + - + Square wave - 方波 + - + Moog-like saw wave - + Exponential wave - + White noise - + User-defined wave - - - VecControls - - Display persistence amount - - - - - Logarithmic scale - - - - - High quality + + Use alias-free wavetable oscillators. - VecControlsDialog + lmms::gui::VecControlsDialog - + HQ - + Double the resolution and simulate continuous analog-like trace. @@ -13718,2618 +17973,782 @@ Please make sure you have read-permission to the file and the directory containi - + Persist. - + Trace persistence: higher amount means the trace will stay bright for longer time. - + Trace persistence - VersionedSaveDialog - - - Increment version number - 遞增版本號 - + lmms::gui::VersionedSaveDialog - Decrement version number - 遞減版本號 + Increment version number + - + + Decrement version number + + + + Save Options - + already exists. Do you want to replace it? - VestigeInstrumentView + lmms::gui::VestigeInstrumentView - - + + Open VST plugin - + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - 上一個 (-) + - + Save preset - 保存預置 + - + Next (+) - 下一個 (+) + - + Show/hide GUI - 顯示/隱藏界面 + - + Turn off all notes - 全部靜音 + - + DLL-files (*.dll) - DLL 檔案 (*.dll) + - + EXE-files (*.exe) - EXE 檔案 (*.exe) + - + + SO-files (*.so) + + + + No VST plugin loaded - + Preset - 預置 + - + by - + - VST plugin control - - VST插件控制 + - VstEffectControlDialog + lmms::gui::VibedView - - Show/hide - 顯示/隱藏 + + Enable waveform + - + + + Smooth waveform + + + + + + Normalize waveform + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + + White noise + + + + + + User-defined wave + + + + + String volume: + + + + + String stiffness: + + + + + Pick position: + + + + + Pickup position: + + + + + String panning: + + + + + String detune: + + + + + String fuzziness: + + + + + String length: + + + + + Impulse Editor + + + + + Impulse + + + + + Enable/disable string + + + + + Octave + + + + + String + + + + + lmms::gui::VstEffectControlDialog + + + Show/hide + + + + Control VST plugin from LMMS host - + Open VST plugin preset - + Previous (-) - 上一個 (-) + - + Next (+) - 下一個 (+) + - + Save preset - 保存預置 + - - + + Effect by: - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - VstPlugin + lmms::gui::WatsynView - - - The VST plugin %1 could not be loaded. - 無法載入VST插件 %1。 - - - - Open Preset - 打開預置 - - - - - Vst Plugin Preset (*.fxp *.fxb) - VST插件預置文件(*.fxp *.fxb) - - - - : default - : 默認 - - - - Save Preset - 保存預置 - - - - .fxp - .fxp - - - - .FXP - .FXP - - - - .FXB - .FXB - - - - .fxb - .fxb - - - - Loading plugin - 載入插件 - - - - Please wait while loading VST plugin... - 正在載入VST插件,請稍候…… - - - - WatsynInstrument - - - Volume A1 + + + + + Volume - - Volume A2 - - - - - Volume B1 - - - - - Volume B2 - - - - - Panning A1 - - - - - Panning A2 - - - - - Panning B1 - - - - - Panning B2 - - - - - Freq. multiplier A1 - - - - - Freq. multiplier A2 - - - - - Freq. multiplier B1 - - - - - Freq. multiplier B2 - - - - - Left detune A1 - - - - - Left detune A2 - - - - - Left detune B1 - - - - - Left detune B2 - - - - - Right detune A1 - - - - - Right detune A2 - - - - - Right detune B1 - - - - - Right detune B2 - - - - - A-B Mix - - - - - A-B Mix envelope amount - - - - - A-B Mix envelope attack - - - - - A-B Mix envelope hold - - - - - A-B Mix envelope decay - - - - - A1-B2 Crosstalk - - - - - A2-A1 modulation - - - - - B2-B1 modulation - - - - - Selected graph - - - - - WatsynView - + + - - - Volume - 音量 + Panning + + + - - - Panning - 聲相 - - - - - - Freq. multiplier - - - - + + + + Left detune + + + + + + - - - - - - cents - - - - + + + + Right detune - + A-B Mix - + Mix envelope amount - + Mix envelope attack - + Mix envelope hold - + Mix envelope decay - + Crosstalk - + Select oscillator A1 - + Select oscillator A2 - + Select oscillator B1 - + Select oscillator B2 - + Mix output of A2 to A1 - + Modulate amplitude of A1 by output of A2 - + Ring modulate A1 and A2 - + Modulate phase of A1 by output of A2 - + Mix output of B2 to B1 - + Modulate amplitude of B1 by output of B2 - + Ring modulate B1 and B2 - + Modulate phase of B1 by output of B2 - - - - + + + + Draw your own waveform here by dragging your mouse on this graph. - + Load waveform - 載入波形 + - + Load a waveform from a sample file - 從範例檔案中載入波型 + - + Phase left - + Shift phase by -15 degrees - + Phase right - + Shift phase by +15 degrees + + + + Normalize + + - Normalize - 標準化 - - - - Invert - 反轉 + - - + + Smooth - 平滑 + - - + + Sine wave - 正弦波 + - - - + + + Triangle wave - 三角波 + - + Saw wave - 鋸齒波 + - - + + Square wave - 方波 - - - - Xpressive - - - Selected graph - - - - - A1 - - - - - A2 - - - - - A3 - - - - - W1 smoothing - - - - - W2 smoothing - - - - - W3 smoothing - - - - - Panning 1 - - - - - Panning 2 - - - - - Rel trans - XpressiveView + lmms::gui::WaveShaperControlDialog - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Select oscillator W1 - - - - - Select oscillator W2 - - - - - Select oscillator W3 - - - - - Select output O1 - - - - - Select output O2 - - - - - Open help window - - - - - - Sine wave - 正弦波 - - - - - Moog-saw wave - - - - - - Exponential wave - - - - - - Saw wave - 鋸齒波 - - - - - User-defined wave - - - - - - Triangle wave - 三角波 - - - - - Square wave - 方波 - - - - - White noise - - - - - WaveInterpolate - - - - - ExpressionValid - - - - - General purpose 1: - - - - - General purpose 2: - - - - - General purpose 3: - - - - - O1 panning: - - - - - O2 panning: - - - - - Release transition: - - - - - Smoothness - - - - - ZynAddSubFxInstrument - - - Portamento - - - - - Filter frequency - - - - - Filter resonance - - - - - Bandwidth - 帶寬 - - - - FM gain - - - - - Resonance center frequency - - - - - Resonance bandwidth - - - - - Forward MIDI control change events - - - - - ZynAddSubFxView - - - Portamento: - - - - - PORT - - - - - Filter frequency: - - - - - FREQ - 頻率 - - - - Filter resonance: - - - - - RES - - - - - Bandwidth: - 帶寬: - - - - BW - - - - - FM gain: - - - - - FM GAIN - - - - - Resonance center frequency: - - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - - - - - Forward MIDI control changes - - - - - Show GUI - 顯示圖形界面 - - - - AudioFileProcessor - - - Amplify - 增益 - - - - Start of sample - 採樣起始 - - - - End of sample - 採樣結尾 - - - - Loopback point - 循環點 - - - - Reverse sample - 反轉採樣 - - - - Loop mode - 循環模式 - - - - Stutter - - - - - Interpolation mode - 補間方式 - - - - None - - - - - Linear - 線性插補 - - - - Sinc - 辛格(Sinc)插補 - - - - Sample not found: %1 - 採樣未找到: %1 - - - - BitInvader - - - Sample length - - - - - BitInvaderView - - - Sample length - - - - - Draw your own waveform here by dragging your mouse on this graph. - - - - - - Sine wave - 正弦波 - - - - - Triangle wave - 三角波 - - - - - Saw wave - 鋸齒波 - - - - - Square wave - 方波 - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - 平滑波形 - - - - Interpolation - - - - - Normalize - 標準化 - - - - DynProcControlDialog - - + INPUT - 輸入 + - + Input gain: - 輸入增益: + - + OUTPUT - 輸出 - - - - Output gain: - 輸出增益: - - - - ATTACK - - - Peak attack time: - - - - - RELEASE - - - - - Peak release time: - - - - - - Reset wavegraph - - - - - - Smooth wavegraph - - - - - - Increase wavegraph amplitude by 1 dB - - - - - - Decrease wavegraph amplitude by 1 dB - - - - - Stereo mode: maximum - - - - - Process based on the maximum of both stereo channels - - - - - Stereo mode: average - - - - - Process based on the average of both stereo channels - - - - - Stereo mode: unlinked - - - - - Process each stereo channel independently - - - - - DynProcControls - - - Input gain - 輸入增益 - - - - Output gain - 輸出增益 - - - - Attack time - - - - - Release time - - - - - Stereo mode - - - - - graphModel - - - Graph - 圖形 - - - - KickerInstrument - - - Start frequency - 起始頻率 - - - - End frequency - 結束頻率 - - - - Length - 長度 - - - - Start distortion - - - - - End distortion - - - - - Gain - 增益 - - - - Envelope slope - - - - - Noise - 噪音 - - - - Click - 力度 - - - - Frequency slope - - - - - Start from note - 從哪個音符開始 - - - - End to note - 到哪個音符結束 - - - - KickerInstrumentView - - - Start frequency: - 起始頻率: - - - - End frequency: - 結束頻率: - - - - Frequency slope: - - - - - Gain: - 增益: - - - - Envelope length: - - - - - Envelope slope: - - - - - Click: - 力度: - - - - Noise: - 噪音: - - - - Start distortion: - - - - - End distortion: - - - - - LadspaBrowserView - - - - Available Effects - 可用效果器 - - - - - Unavailable Effects - 不可用效果器 - - - - - Instruments - 樂器插件 - - - - - Analysis Tools - 分析工具 - - - - - Don't know - 未知 - - - - Type: - 類型: - - - - LadspaDescription - - - Plugins - 插件 - - - - Description - 描述 - - - - LadspaPortDialog - - - Ports - - - - - Name - 名稱 - - - - Rate - - - - - Direction - 方向 - - - - Type - 類型 - - - - Min < Default < Max - 最小 < 默認 < 最大 - - - - Logarithmic - 對數 - - - - SR Dependent - - - - - Audio - 音頻 - - - - Control - 控制 - - - - Input - 輸入 - - - - Output - 輸出 - - - - Toggled - - - - - Integer - 整型 - - - - Float - 浮點 - - - - - Yes - - - - - Lb302Synth - - - VCF Cutoff Frequency - - - - - VCF Resonance - - - - - VCF Envelope Mod - - - - - VCF Envelope Decay - - - - - Distortion - 失真 - - - - Waveform - 波形 - - - - Slide Decay - - - - - Slide - - - - - Accent - - - - - Dead - - - - - 24dB/oct Filter - - - - - Lb302SynthView - - - Cutoff Freq: - - - - - Resonance: - 共鳴: - - - - Env Mod: - - - - - Decay: - 衰減: - - - - 303-es-que, 24dB/octave, 3 pole filter - - - - - Slide Decay: - - - - - DIST: - - - - - Saw wave - 鋸齒波 - - - - Click here for a saw-wave. - - - - - Triangle wave - 三角波 - - - - Click here for a triangle-wave. - 點擊這裡使用三角波。 - - - - Square wave - 方波 - - - - Click here for a square-wave. - 點擊這裡使用方形波。 - - - - Rounded square wave - - - - - Click here for a square-wave with a rounded end. - - - - - Moog wave - - - - - Click here for a moog-like wave. - - - - - Sine wave - 正弦波 - - - - Click for a sine-wave. - - - - - - White noise wave - 白噪音 - - - - Click here for an exponential wave. - - - - - Click here for white-noise. - - - - - Bandlimited saw wave - - - - - Click here for bandlimited saw wave. - - - - - Bandlimited square wave - - - - - Click here for bandlimited square wave. - - - - - Bandlimited triangle wave - - - - - Click here for bandlimited triangle wave. - - - - - Bandlimited moog saw wave - - - - - Click here for bandlimited moog saw wave. - - - - - MalletsInstrument - - - Hardness - - - - - Position - - - - - Vibrato gain - - - - - Vibrato frequency - - - - - Stick mix - - - - - Modulator - - - - - Crossfade - - - - - LFO speed - LFO 速度 - - - - LFO depth - - - - - ADSR - - - - - Pressure - - - - - Motion - - - - - Speed - - - - - Bowed - - - - - Spread - - - - - Marimba - - - - - Vibraphone - - - - - Agogo - - - - - Wood 1 - - - - - Reso - - - - - Wood 2 - - - - - Beats - - - - - Two fixed - - - - - Clump - - - - - Tubular bells - - - - - Uniform bar - - - - - Tuned bar - - - - - Glass - - - - - Tibetan bowl - - - - - MalletsInstrumentView - - - Instrument - - - - - Spread - - - - - Spread: - - - - - Missing files - 檔案遺失 - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - - Hardness - - - - - Hardness: - - - - - Position - - - - - Position: - - - - - Vibrato gain - - - - - Vibrato gain: - - - - - Vibrato frequency - - - - - Vibrato frequency: - - - - - Stick mix - - - - - Stick mix: - - - - - Modulator - - - - - Modulator: - - - - - Crossfade - - - - - Crossfade: - - - - - LFO speed - LFO 速度 - - - - LFO speed: - - - - - LFO depth - - - - - LFO depth: - - - - - ADSR - - - - - ADSR: - - - - - Pressure - - - - - Pressure: - - - - - Speed - - - - - Speed: - - - - - ManageVSTEffectView - - - - VST parameter control - - VST 參數控制 - - - - VST sync - - - - - - Automated - 自動 - - - - Close - 關閉 - - - - ManageVestigeInstrumentView - - - - - VST plugin control - - VST插件控制 - - - - VST Sync - VST 同步 - - - - - Automated - 自動 - - - - Close - 關閉 - - - - OrganicInstrument - - - Distortion - 失真 - - - - Volume - 音量 - - - - OrganicInstrumentView - - - Distortion: - 失真: - - - - Volume: - 音量: - - - - Randomise - 隨機 - - - - - Osc %1 waveform: - - - - - Osc %1 volume: - - - - - Osc %1 panning: - - - - - Osc %1 stereo detuning - - - - - cents - 音分 cents - - - - Osc %1 harmonic: - - - - - PatchesDialog - - - Qsynth: Channel Preset - Qsynth: 通道預設 - - - - Bank selector - 音色選擇器 - - - - Bank - - - - - Program selector - - - - - Patch - 音色 - - - - Name - 名稱 - - - - OK - 確定 - - - - Cancel - 取消 - - - - Sf2Instrument - - - Bank - - - - - Patch - 音色 - - - - Gain - 增益 - - - - Reverb - 混響 - - - - Reverb room size - - - - - Reverb damping - - - - - Reverb width - - - - - Reverb level - - - - - Chorus - 合唱 - - - - Chorus voices - - - - - Chorus level - - - - - Chorus speed - - - - - Chorus depth - - - - - A soundfont %1 could not be loaded. - 無法載入Soundfont %1。 - - - - Sf2InstrumentView - - - - Open SoundFont file - 開啟 SoundFont 檔案 - - - - Choose patch - - - - - Gain: - 增益: - - - - Apply reverb (if supported) - 應用混響(如果支持) - - - - Room size: - - - - - Damping: - - - - - Width: - 寬度: - - - - - Level: - - - - - Apply chorus (if supported) - 應用合唱 (如果支持) - - - - Voices: - - - - - Speed: - - - - - Depth: - 位深: - - - - SoundFont Files (*.sf2 *.sf3) - SoundFont 檔案 (*.sf2 *.sf3) - - - - SfxrInstrument - - - Wave - - - - - StereoEnhancerControlDialog - - - WIDTH - - - - - Width: - 寬度: - - - - StereoEnhancerControls - - - Width - 寬度 - - - - StereoMatrixControlDialog - - - Left to Left Vol: - 從左到左音量: - - - - Left to Right Vol: - 從左到右音量: - - - - Right to Left Vol: - 從右到左音量: - - - - Right to Right Vol: - 從右到右音量: - - - - StereoMatrixControls - - - Left to Left - 從左到左 - - - - Left to Right - 從左到右 - - - - Right to Left - 從右到左 - - - - Right to Right - 從右到右 - - - - VestigeInstrument - - - Loading plugin - 載入插件 - - - - Please wait while loading the VST plugin... - - - - - Vibed - - - String %1 volume - - - - - String %1 stiffness - - - - - Pick %1 position - - - - - Pickup %1 position - - - - - String %1 panning - - - - - String %1 detune - - - - - String %1 fuzziness - - - - - String %1 length - - - - - Impulse %1 - - - - - String %1 - - - - - VibedView - - - String volume: - - - - - String stiffness: - - - - - Pick position: - - - - - Pickup position: - - - - - String panning: - - - - - String detune: - - - - - String fuzziness: - - - - - String length: - - - - - Impulse - - - - - Octave - - - - - Impulse Editor - - - - - Enable waveform - 啓用波形 - - - - Enable/disable string - - - - - String - - - - - - Sine wave - 正弦波 - - - - - Triangle wave - 三角波 - - - - - Saw wave - 鋸齒波 - - - - - Square wave - 方波 - - - - - White noise - - - - - - User-defined wave - - - - - - Smooth waveform - 平滑波形 - - - - - Normalize waveform - - - - - VoiceObject - - - Voice %1 pulse width - - - - - Voice %1 attack - - - - - Voice %1 decay - - - - - Voice %1 sustain - - - - - Voice %1 release - - - - - Voice %1 coarse detuning - - - - - Voice %1 wave shape - 聲音 %1 波形形狀 - - - - Voice %1 sync - 聲音 %1 同步 - - - - Voice %1 ring modulate - - - - - Voice %1 filtered - - - - - Voice %1 test - 聲音 %1 測試 - - - - WaveShaperControlDialog - - - INPUT - 輸入 - - - - Input gain: - 輸入增益: - - - - OUTPUT - 輸出 - - - - Output gain: - 輸出增益: - - + Output gain: + + + + + Reset wavegraph - - + + Smooth wavegraph - - + + Increase wavegraph amplitude by 1 dB - - + + Decrease wavegraph amplitude by 1 dB - + Clip input - 輸入壓限 + - + Clip input signal to 0 dB - WaveShaperControls + lmms::gui::XpressiveView - - Input gain - 輸入增益 + + Draw your own waveform here by dragging your mouse on this graph. + - - Output gain - 輸出增益 + + Select oscillator W1 + + + + + Select oscillator W2 + + + + + Select oscillator W3 + + + + + Select output O1 + + + + + Select output O2 + + + + + Open help window + + + + + + Sine wave + + + + + + Moog-saw wave + + + + + + Exponential wave + + + + + + Saw wave + + + + + + User-defined wave + + + + + + Triangle wave + + + + + + Square wave + + + + + + White noise + + + + + WaveInterpolate + + + + + ExpressionValid + + + + + General purpose 1: + + + + + General purpose 2: + + + + + General purpose 3: + + + + + O1 panning: + + + + + O2 panning: + + + + + Release transition: + + + + + Smoothness + - + + lmms::gui::ZynAddSubFxView + + + Portamento: + + + + + PORT + + + + + Filter frequency: + + + + + FREQ + + + + + Filter resonance: + + + + + RES + + + + + Bandwidth: + + + + + BW + + + + + FM gain: + + + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + + Forward MIDI control changes + + + + + Show GUI + + + + \ No newline at end of file From 0363ee6d16a87f6997eb0add12c6162dcb3da5ba Mon Sep 17 00:00:00 2001 From: Lisa Magdalena Riedler Date: Sun, 6 Oct 2024 11:26:57 +0200 Subject: [PATCH 025/112] fix various AudioFileProcessor bugs (#7533) * fix out-of-bounds crash in AudioFileProcessor by correctly setting m_from and m_to without them interfering with each other * fixed flattened wave caused by inaccurate math see PR for before/after * simply stop drawing AFP waveform when there's no more data this fixes the single point at the end of waveforms that sometimes shows up * fixed seemingly insignificant type confusion (?) execution seemed fine but my debugger started freaking out, and if gdb is telling me I got a negative-sized vector, I'd rather fix this issue than speculate "it's probably fine" * fixed data offset for AFP waveform vis the data itself isn't reversed, so we have to account for that --- .../AudioFileProcessor/AudioFileProcessorWaveView.cpp | 8 ++++++-- src/gui/SampleWaveform.cpp | 11 ++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp index 7c5f9387e..b41af33e0 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp +++ b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp @@ -338,10 +338,12 @@ void AudioFileProcessorWaveView::updateGraph() m_graph.fill(Qt::transparent); QPainter p(&m_graph); p.setPen(QColor(255, 255, 255)); + + const auto dataOffset = m_reversed ? m_sample->sampleSize() - m_to : m_from; const auto rect = QRect{0, 0, m_graph.width(), m_graph.height()}; const auto waveform = SampleWaveform::Parameters{ - m_sample->data() + m_from, static_cast(range()), m_sample->amplification(), m_sample->reversed()}; + m_sample->data() + dataOffset, static_cast(range()), m_sample->amplification(), m_sample->reversed()}; SampleWaveform::visualize(waveform, p, rect); } @@ -467,9 +469,11 @@ void AudioFileProcessorWaveView::reverse() - m_sample->endFrame() - m_sample->startFrame() ); + + const int fromTmp = m_from; setFrom(m_sample->sampleSize() - m_to); - setTo(m_sample->sampleSize() - m_from); + setTo(m_sample->sampleSize() - fromTmp); m_reversed = ! m_reversed; } diff --git a/src/gui/SampleWaveform.cpp b/src/gui/SampleWaveform.cpp index ca356e727..165ede4ee 100644 --- a/src/gui/SampleWaveform.cpp +++ b/src/gui/SampleWaveform.cpp @@ -44,12 +44,12 @@ void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const Q const float resolution = std::max(1.0f, framesPerPixel / maxFramesPerPixel); const float framesPerResolution = framesPerPixel / resolution; - const size_t numPixels = std::min(parameters.size, width); + size_t numPixels = std::min(parameters.size, static_cast(width)); auto min = std::vector(numPixels, 1); auto max = std::vector(numPixels, -1); auto squared = std::vector(numPixels, 0); - const size_t maxFrames = numPixels * static_cast(framesPerPixel); + const size_t maxFrames = static_cast(numPixels * framesPerPixel); auto pixelIndex = std::size_t{0}; @@ -67,12 +67,9 @@ void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const Q squared[pixelIndex] += value * value; } - while (pixelIndex < numPixels) + if (pixelIndex < numPixels) { - max[pixelIndex] = 0.0; - min[pixelIndex] = 0.0; - - pixelIndex++; + numPixels = pixelIndex; } for (auto i = std::size_t{0}; i < numPixels; i++) From 7dbc80926d91486ba0873ff576ccd0f821fc7f07 Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Sun, 6 Oct 2024 15:27:39 -0400 Subject: [PATCH 026/112] Adding proportional scrolling (#7476) Add proportional scrolling to the song editor, piano roll and automation editor. Proportional scrolling means that if for example a certain measure is on the right side of the song editor then it will take a certain number of mouse wheel moves to get it to the left side of the editor. It is the same number of wheel moves regardless of the zoom level. --- include/AutomationEditor.h | 2 ++ include/PianoRoll.h | 2 ++ include/SongEditor.h | 2 ++ src/gui/editors/AutomationEditor.cpp | 12 +++++++----- src/gui/editors/PianoRoll.cpp | 12 ++++++++---- src/gui/editors/SongEditor.cpp | 12 ++++++++---- 6 files changed, 29 insertions(+), 13 deletions(-) diff --git a/include/AutomationEditor.h b/include/AutomationEditor.h index 1110e8e4c..15f6dd22e 100644 --- a/include/AutomationEditor.h +++ b/include/AutomationEditor.h @@ -241,6 +241,8 @@ private: QScrollBar * m_leftRightScroll; QScrollBar * m_topBottomScroll; + void adjustLeftRightScoll(int value); + TimePos m_currentPosition; Action m_action; diff --git a/include/PianoRoll.h b/include/PianoRoll.h index 35550a5b3..a85e50a16 100644 --- a/include/PianoRoll.h +++ b/include/PianoRoll.h @@ -374,6 +374,8 @@ private: QScrollBar * m_leftRightScroll; QScrollBar * m_topBottomScroll; + void adjustLeftRightScoll(int value); + TimePos m_currentPosition; bool m_recording; bool m_doAutoQuantization{false}; diff --git a/include/SongEditor.h b/include/SongEditor.h index 98a9096fb..1f719623a 100644 --- a/include/SongEditor.h +++ b/include/SongEditor.h @@ -128,6 +128,8 @@ private: QScrollBar * m_leftRightScroll; + void adjustLeftRightScoll(int value); + LcdSpinBox * m_tempoSpinBox; TimeLineWidget * m_timeLine; diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index df6739882..3dc0285d2 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -1560,7 +1560,11 @@ void AutomationEditor::resizeEvent(QResizeEvent * re) update(); } - +void AutomationEditor::adjustLeftRightScoll(int value) +{ + m_leftRightScroll->setValue(m_leftRightScroll->value() - + value * 0.3f / m_zoomXLevels[m_zoomingXModel.value()]); +} // TODO: Move this method up so it's closer to the other mouse events @@ -1625,13 +1629,11 @@ void AutomationEditor::wheelEvent(QWheelEvent * we ) // FIXME: Reconsider if determining orientation is necessary in Qt6. else if(abs(we->angleDelta().x()) > abs(we->angleDelta().y())) // scrolling is horizontal { - m_leftRightScroll->setValue(m_leftRightScroll->value() - - we->angleDelta().x() * 2 / 15); + adjustLeftRightScoll(we->angleDelta().x()); } else if(we->modifiers() & Qt::ShiftModifier) { - m_leftRightScroll->setValue(m_leftRightScroll->value() - - we->angleDelta().y() * 2 / 15); + adjustLeftRightScoll(we->angleDelta().y()); } else { diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index f8472b688..2193456e4 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -3743,6 +3743,12 @@ void PianoRoll::resizeEvent(QResizeEvent* re) } +void PianoRoll::adjustLeftRightScoll(int value) +{ + m_leftRightScroll->setValue(m_leftRightScroll->value() - + value * 0.3f / m_zoomLevels[m_zoomingModel.value()]); +} + void PianoRoll::wheelEvent(QWheelEvent * we ) @@ -3875,13 +3881,11 @@ void PianoRoll::wheelEvent(QWheelEvent * we ) // FIXME: Reconsider if determining orientation is necessary in Qt6. else if(abs(we->angleDelta().x()) > abs(we->angleDelta().y())) // scrolling is horizontal { - m_leftRightScroll->setValue(m_leftRightScroll->value() - - we->angleDelta().x() * 2 / 15); + adjustLeftRightScoll(we->angleDelta().x()); } else if(we->modifiers() & Qt::ShiftModifier) { - m_leftRightScroll->setValue(m_leftRightScroll->value() - - we->angleDelta().y() * 2 / 15); + adjustLeftRightScoll(we->angleDelta().y()); } else { diff --git a/src/gui/editors/SongEditor.cpp b/src/gui/editors/SongEditor.cpp index f6e9fc83b..72ee28bc8 100644 --- a/src/gui/editors/SongEditor.cpp +++ b/src/gui/editors/SongEditor.cpp @@ -516,6 +516,12 @@ void SongEditor::keyPressEvent( QKeyEvent * ke ) +void SongEditor::adjustLeftRightScoll(int value) +{ + m_leftRightScroll->setValue(m_leftRightScroll->value() + - value * DEFAULT_PIXELS_PER_BAR / pixelsPerBar()); +} + void SongEditor::wheelEvent( QWheelEvent * we ) { @@ -544,13 +550,11 @@ void SongEditor::wheelEvent( QWheelEvent * we ) // FIXME: Reconsider if determining orientation is necessary in Qt6. else if (std::abs(we->angleDelta().x()) > std::abs(we->angleDelta().y())) // scrolling is horizontal { - m_leftRightScroll->setValue(m_leftRightScroll->value() - - we->angleDelta().x()); + adjustLeftRightScoll(we->angleDelta().x()); } else if (we->modifiers() & Qt::ShiftModifier) { - m_leftRightScroll->setValue(m_leftRightScroll->value() - - we->angleDelta().y()); + adjustLeftRightScoll(we->angleDelta().y()); } else { From 639e122efe61f27412f251b19b460a2bd761588f Mon Sep 17 00:00:00 2001 From: firewall1110 <57725851+firewall1110@users.noreply.github.com> Date: Mon, 7 Oct 2024 14:15:07 +0300 Subject: [PATCH 027/112] Fix empty editor windows (#7515) Fix the problem with empty windows as described in issue #7412. The `refocus` method in `MainWindow` is made public so that it can be called from `Editor::closeEvent`. It has also been refactored for better readability. --------- Co-authored-by: Michael Gregorius Co-authored-by: Dalton Messmer --- include/Editor.h | 2 +- include/MainWindow.h | 3 ++- src/gui/MainWindow.cpp | 25 ++++++++++--------------- src/gui/editors/Editor.cpp | 7 +++++-- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/include/Editor.h b/include/Editor.h index 681bce46c..a5b667166 100644 --- a/include/Editor.h +++ b/include/Editor.h @@ -56,7 +56,7 @@ protected: DropToolBar * addDropToolBar(Qt::ToolBarArea whereToAdd, QString const & windowTitle); DropToolBar * addDropToolBar(QWidget * parent, Qt::ToolBarArea whereToAdd, QString const & windowTitle); - void closeEvent( QCloseEvent * _ce ) override; + void closeEvent(QCloseEvent * event) override; protected slots: virtual void play() {} virtual void record() {} diff --git a/include/MainWindow.h b/include/MainWindow.h index 4442a7ac2..6c140a1e6 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -72,6 +72,8 @@ public: LMMS_EXPORT SubWindow* addWindowedWidget(QWidget *w, Qt::WindowFlags windowFlags = QFlag(0)); + void refocus(); + /// /// \brief Asks whether changes made to the project are to be saved. /// @@ -195,7 +197,6 @@ private: void finalize(); void toggleWindow( QWidget *window, bool forceShow = false ); - void refocus(); void exportProject(bool multiExport = false); void handleSaveResult(QString const & filename, bool songSavedSuccessfully); diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index fa0c50956..c45ea14ac 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -975,26 +975,21 @@ void MainWindow::toggleFullscreen() */ void MainWindow::refocus() { - QList editors; - editors - << getGUI()->songEditor()->parentWidget() - << getGUI()->patternEditor()->parentWidget() - << getGUI()->pianoRoll()->parentWidget() - << getGUI()->automationEditor()->parentWidget(); + const auto gui = getGUI(); - bool found = false; - QList::Iterator editor; - for( editor = editors.begin(); editor != editors.end(); ++editor ) + // Attempt to set the focus on the first of these editors that is not hidden... + for (auto editorParent : { gui->songEditor()->parentWidget(), gui->patternEditor()->parentWidget(), + gui->pianoRoll()->parentWidget(), gui->automationEditor()->parentWidget() }) { - if( ! (*editor)->isHidden() ) { - (*editor)->setFocus(); - found = true; - break; + if (!editorParent->isHidden()) + { + editorParent->setFocus(); + return; } } - if( ! found ) - this->setFocus(); + // ... otherwise set the focus on the main window. + this->setFocus(); } diff --git a/src/gui/editors/Editor.cpp b/src/gui/editors/Editor.cpp index a61c2cd60..ab12e3fb9 100644 --- a/src/gui/editors/Editor.cpp +++ b/src/gui/editors/Editor.cpp @@ -24,6 +24,8 @@ #include "Editor.h" +#include "GuiApplication.h" +#include "MainWindow.h" #include "Song.h" #include "embed.h" @@ -138,7 +140,7 @@ QAction *Editor::playAction() const return m_playAction; } -void Editor::closeEvent( QCloseEvent * _ce ) +void Editor::closeEvent(QCloseEvent * event) { if( parentWidget() ) { @@ -148,7 +150,8 @@ void Editor::closeEvent( QCloseEvent * _ce ) { hide(); } - _ce->accept(); + getGUI()->mainWindow()->refocus(); + event->ignore(); } DropToolBar::DropToolBar(QWidget* parent) : QToolBar(parent) From 79eac411a01b6b3773eceee17877d02b59342f39 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:51:18 +0530 Subject: [PATCH 028/112] Removed dead code using #if 0 (#7521) Removed code that's has been deactivated using `#if 0`. --- src/core/AudioEngine.cpp | 11 ----------- src/core/ProjectRenderer.cpp | 11 ----------- src/tracks/SampleTrack.cpp | 3 --- 3 files changed, 25 deletions(-) diff --git a/src/core/AudioEngine.cpp b/src/core/AudioEngine.cpp index 77453a8ba..0da65f426 100644 --- a/src/core/AudioEngine.cpp +++ b/src/core/AudioEngine.cpp @@ -1131,17 +1131,6 @@ void AudioEngine::fifoWriter::run() { disable_denormals(); -#if 0 -#if defined(LMMS_BUILD_LINUX) || defined(LMMS_BUILD_FREEBSD) -#ifdef LMMS_HAVE_SCHED_H - cpu_set_t mask; - CPU_ZERO( &mask ); - CPU_SET( 0, &mask ); - sched_setaffinity( 0, sizeof( mask ), &mask ); -#endif -#endif -#endif - const fpp_t frames = m_audioEngine->framesPerPeriod(); while( m_writing ) { diff --git a/src/core/ProjectRenderer.cpp b/src/core/ProjectRenderer.cpp index 3d83515f2..e5410e6f2 100644 --- a/src/core/ProjectRenderer.cpp +++ b/src/core/ProjectRenderer.cpp @@ -159,17 +159,6 @@ void ProjectRenderer::startProcessing() void ProjectRenderer::run() { -#if 0 -#if defined(LMMS_BUILD_LINUX) || defined(LMMS_BUILD_FREEBSD) -#ifdef LMMS_HAVE_SCHED_H - cpu_set_t mask; - CPU_ZERO( &mask ); - CPU_SET( 0, &mask ); - sched_setaffinity( 0, sizeof( mask ), &mask ); -#endif -#endif -#endif - PerfLogTimer perfLog("Project Render"); Engine::getSong()->startExport(); diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index 609043efe..8ad75799d 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -191,9 +191,6 @@ Clip * SampleTrack::createClip(const TimePos & pos) void SampleTrack::saveTrackSpecificSettings(QDomDocument& _doc, QDomElement& _this, bool presetMode) { m_audioPort.effects()->saveState( _doc, _this ); -#if 0 - _this.setAttribute( "icon", tlb->pixmapFile() ); -#endif m_volumeModel.saveSettings( _doc, _this, "vol" ); m_panningModel.saveSettings( _doc, _this, "pan" ); m_mixerChannelModel.saveSettings( _doc, _this, "mixch" ); From 066f6b5e958955db3d7c0c6e6ae179b22ca7728a Mon Sep 17 00:00:00 2001 From: Steffen Baranowsky Date: Mon, 7 Oct 2024 13:25:11 +0200 Subject: [PATCH 029/112] Align the rename line edit for tracks (#7414) Align the rename line edit for tracks. Make sure that the rename line edit of the `TrackLabelButton` has the same font size as the widget itself. Because the font size is defined via style sheets the font size of the line edit has to be set when the actual renaming starts and not in the constructor. The reason is that style sheets are set after the constructor has run. Rename the local variable `txt` to the more speaking name `trackName`. Ensure that the line edit is moved to the correct place for different icon sizes by taking the icon size into account. To make this work this also has to be done in the `rename` method. ## Other changes Streamline the default style sheet of `TrackLabelButton` by removing repeated properties that are inherited from the "main" style sheet, i.e. that are already part of `lmms--gui--TrackLabelButton`. Interestingly, the `background-color` property had to be repeated for `lmms--gui--TrackLabelButton:hover`. --------- Co-authored-by: Michael Gregorius --- data/themes/default/style.css | 11 ----------- src/gui/tracks/TrackLabelButton.cpp | 20 +++++++++++++++----- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/data/themes/default/style.css b/data/themes/default/style.css index ef98c0609..e2dd369f9 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -601,17 +601,11 @@ lmms--gui--TrackLabelButton:hover { background: #3B424A; border: 1px solid #515B66; border-radius: none; - font-size: 11px; - font-weight: normal; - padding: 2px 1px; } lmms--gui--TrackLabelButton:pressed { background: #262B30; border-radius: none; - font-size: 11px; - font-weight: normal; - padding: 2px 1px; } lmms--gui--TrackLabelButton:checked { @@ -619,17 +613,12 @@ lmms--gui--TrackLabelButton:checked { background: #1C1F24; background-image: url("resources:track_shadow_p.png"); border-radius: none; - font-size: 11px; - font-weight: normal; - padding: 2px 1px; } lmms--gui--TrackLabelButton:checked:pressed { border: 1px solid #2f353b; background: #0e1012; background-image: url("resources:track_shadow_p.png"); - font-size: 11px; - padding: 2px 1px; font-weight: solid; } diff --git a/src/gui/tracks/TrackLabelButton.cpp b/src/gui/tracks/TrackLabelButton.cpp index 871d42316..dd19f3d19 100644 --- a/src/gui/tracks/TrackLabelButton.cpp +++ b/src/gui/tracks/TrackLabelButton.cpp @@ -50,6 +50,7 @@ TrackLabelButton::TrackLabelButton( TrackView * _tv, QWidget * _parent ) : setAcceptDrops( true ); setCursor( QCursor( embed::getIconPixmap( "hand" ), 3, 3 ) ); setToolButtonStyle( Qt::ToolButtonTextBesideIcon ); + m_renameLineEdit = new TrackRenameLineEdit( this ); m_renameLineEdit->hide(); @@ -60,8 +61,6 @@ TrackLabelButton::TrackLabelButton( TrackView * _tv, QWidget * _parent ) : else { setFixedSize( 160, 29 ); - m_renameLineEdit->move( 30, ( height() / 2 ) - ( m_renameLineEdit->sizeHint().height() / 2 ) ); - m_renameLineEdit->setFixedWidth( width() - 33 ); connect( m_renameLineEdit, SIGNAL(editingFinished()), this, SLOT(renameFinished())); } @@ -89,11 +88,22 @@ void TrackLabelButton::rename() } else { - QString txt = m_trackView->getTrack()->name(); - m_renameLineEdit->show(); - m_renameLineEdit->setText( txt ); + const auto & trackName = m_trackView->getTrack()->name(); + m_renameLineEdit->setText(trackName); m_renameLineEdit->selectAll(); m_renameLineEdit->setFocus(); + + // Make sure that the rename line edit uses the same font as the widget + // which is set via style sheets + m_renameLineEdit->setFont(font()); + + // Move the line edit to the correct position by taking the size of the + // icon into account. + const auto iconWidth = iconSize().width(); + m_renameLineEdit->move(iconWidth + 1, (height() / 2 - m_renameLineEdit->sizeHint().height() / 2) + 1); + m_renameLineEdit->setFixedWidth(width() - (iconWidth + 6)); + + m_renameLineEdit->show(); } } From 378ff8bab02edb67110dc8b68694e6bce008fdfe Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Thu, 10 Oct 2024 10:36:25 +0200 Subject: [PATCH 030/112] Fix the maximization of sub windows (#7530) ## Fix rendering of maximized sub windows ### Adjustments in paintEvent In `SubWindow::paintEvent` don't paint anything if the sub window is maximized . Otherwise some gradients are visible behind the maximized child content. ### Adjustments in adjustTitleBar In `SubWindow::adjustTitleBar` hide the title label and the buttons if the sub window is maximized. Always show the title and close button if not maximized. This is needed to reset the state correctly after maximization. Remove some calls to `isMaximized` where we already know that the sub window is not maximized, i.e. where these calls would always return `false`. One adjustment would have resulted in a call to `setHidden(false)`. This was changed to `setVisible(true)` to get rid of the double negation. The other `false` would have gotten in an or statement and thus could be removed completely. ### Add method addTitleButton Add the helper method `SubWindow::addTitleButton` to reduce code repetition in the constructor. ### Other changes Remove a dependency on the `MdiArea` when checking if the sub window is the active one. Query its own window state to find out if it is active. When calling `setWindowFlags` in the constructor only adjust the existing flags with the changes that we actually want to do. It was ensured that all other flags that have been set before still apply with this change. --- include/SubWindow.h | 2 ++ src/gui/SubWindow.cpp | 73 ++++++++++++++++++++++++++----------------- 2 files changed, 47 insertions(+), 28 deletions(-) diff --git a/include/SubWindow.h b/include/SubWindow.h index d1cc6a7af..c5e3f02d4 100644 --- a/include/SubWindow.h +++ b/include/SubWindow.h @@ -78,6 +78,8 @@ protected: void paintEvent( QPaintEvent * pe ) override; void changeEvent( QEvent * event ) override; + QPushButton* addTitleButton(const std::string& iconName, const QString& toolTip); + signals: void focusLost(); diff --git a/src/gui/SubWindow.cpp b/src/gui/SubWindow.cpp index dc6e49297..1fa0f25a7 100644 --- a/src/gui/SubWindow.cpp +++ b/src/gui/SubWindow.cpp @@ -58,28 +58,13 @@ SubWindow::SubWindow(QWidget *parent, Qt::WindowFlags windowFlags) : m_borderColor = Qt::black; // close, maximize and restore (after maximizing) buttons - m_closeBtn = new QPushButton( embed::getIconPixmap( "close" ), QString(), this ); - m_closeBtn->resize( m_buttonSize ); - m_closeBtn->setFocusPolicy( Qt::NoFocus ); - m_closeBtn->setCursor( Qt::ArrowCursor ); - m_closeBtn->setAttribute( Qt::WA_NoMousePropagation ); - m_closeBtn->setToolTip( tr( "Close" ) ); + m_closeBtn = addTitleButton("close", tr("Close")); connect( m_closeBtn, SIGNAL(clicked(bool)), this, SLOT(close())); - m_maximizeBtn = new QPushButton( embed::getIconPixmap( "maximize" ), QString(), this ); - m_maximizeBtn->resize( m_buttonSize ); - m_maximizeBtn->setFocusPolicy( Qt::NoFocus ); - m_maximizeBtn->setCursor( Qt::ArrowCursor ); - m_maximizeBtn->setAttribute( Qt::WA_NoMousePropagation ); - m_maximizeBtn->setToolTip( tr( "Maximize" ) ); + m_maximizeBtn = addTitleButton("maximize", tr("Maximize")); connect( m_maximizeBtn, SIGNAL(clicked(bool)), this, SLOT(showMaximized())); - m_restoreBtn = new QPushButton( embed::getIconPixmap( "restore" ), QString(), this ); - m_restoreBtn->resize( m_buttonSize ); - m_restoreBtn->setFocusPolicy( Qt::NoFocus ); - m_restoreBtn->setCursor( Qt::ArrowCursor ); - m_restoreBtn->setAttribute( Qt::WA_NoMousePropagation ); - m_restoreBtn->setToolTip( tr( "Restore" ) ); + m_restoreBtn = addTitleButton("restore", tr("Restore")); connect( m_restoreBtn, SIGNAL(clicked(bool)), this, SLOT(showNormal())); // QLabel for the window title and the shadow effect @@ -93,10 +78,9 @@ SubWindow::SubWindow(QWidget *parent, Qt::WindowFlags windowFlags) : m_windowTitle->setAttribute( Qt::WA_TransparentForMouseEvents, true ); m_windowTitle->setGraphicsEffect( m_shadow ); - // disable the minimize button - setWindowFlags( Qt::SubWindow | Qt::WindowMaximizeButtonHint | - Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint | - Qt::CustomizeWindowHint ); + // Disable the minimize button and make sure that the custom window hint is set + setWindowFlags((this->windowFlags() & ~Qt::WindowMinimizeButtonHint) | Qt::CustomizeWindowHint); + connect( mdiArea(), SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(focusChanged(QMdiSubWindow*))); } @@ -111,12 +95,14 @@ SubWindow::SubWindow(QWidget *parent, Qt::WindowFlags windowFlags) : */ void SubWindow::paintEvent( QPaintEvent * ) { + // Don't paint any of the other stuff if the sub window is maximized + // so that only its child content is painted. + if (isMaximized()) { return; } + QPainter p( this ); QRect rect( 0, 0, width(), m_titleBarHeight ); - bool isActive = mdiArea() - ? mdiArea()->activeSubWindow() == this - : false; + const bool isActive = windowState() & Qt::WindowActive; p.fillRect( rect, isActive ? activeColor() : p.pen().brush() ); @@ -295,9 +281,28 @@ void SubWindow::moveEvent( QMoveEvent * event ) */ void SubWindow::adjustTitleBar() { + // Don't show the title or any button if the sub window is maximized. Otherwise they + // might show up behind the actual maximized content of the child widget. + if (isMaximized()) + { + m_closeBtn->hide(); + m_maximizeBtn->hide(); + m_restoreBtn->hide(); + m_windowTitle->hide(); + + return; + } + + // The sub window is not maximized, i.e. the title must be shown + // as well as some buttons. + + // Title adjustments + m_windowTitle->show(); + // button adjustments m_maximizeBtn->hide(); m_restoreBtn->hide(); + m_closeBtn->show(); const int rightSpace = 3; const int buttonGap = 1; @@ -322,12 +327,12 @@ void SubWindow::adjustTitleBar() buttonBarWidth = buttonBarWidth + m_buttonSize.width() + buttonGap; m_maximizeBtn->move( middleButtonPos ); m_restoreBtn->move( middleButtonPos ); - m_maximizeBtn->setHidden( isMaximized() ); + m_maximizeBtn->setVisible(true); } // we're keeping the restore button around if we open projects // from older versions that have saved minimized windows - m_restoreBtn->setVisible( isMaximized() || isMinimized() ); + m_restoreBtn->setVisible(isMinimized()); if( isMinimized() ) { m_restoreBtn->move( m_maximizeBtn->isHidden() ? middleButtonPos : leftButtonPos ); @@ -403,5 +408,17 @@ void SubWindow::resizeEvent( QResizeEvent * event ) } } +QPushButton* SubWindow::addTitleButton(const std::string& iconName, const QString& toolTip) +{ + auto button = new QPushButton(embed::getIconPixmap(iconName), QString(), this); + button->resize(m_buttonSize); + button->setFocusPolicy(Qt::NoFocus); + button->setCursor(Qt::ArrowCursor); + button->setAttribute(Qt::WA_NoMousePropagation); + button->setToolTip(toolTip); -} // namespace lmms::gui \ No newline at end of file + return button; +} + + +} // namespace lmms::gui From fb5516cfdc717e679918d826fb40663fac113d6a Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Sat, 12 Oct 2024 10:02:56 +0200 Subject: [PATCH 031/112] Track operations widget with layout (#7537) Put the elements of the `TrackOperationsWidget` into layouts. These are: * The grip that can be used to move tracks * The gear icon that opens the operations menu * The mute button * The solo button The grip that can be used to move tracks around is extracted into its own class called `TrackGrip`. This has several advantages: * It can be put into a layout. * It can render itself at arbitrary sizes by simply repeating its pattern pixmap. * It can be used in a much more object-oriented way because it emits signals when it is grabbed and released. * It is responsible for locally updating its cursor state. The default cursor of the grip now is an open hand which indicates to the users that it can be grabbed. While being grabbed the cursor now is a closed hand. ## Technical details The class `TrackOperationsWidget` now holds an instance of `TrackGrip` and provides a getter to retrieve it. This getter is used by `TrackView` to connect to the two new signals `grabbed` and `released`. The method `TrackOperationsWidget::paintEvent` now only paints the background as it does not need to paint the grip anymore. The `TrackView` now handles the grabbing and release of the grip in `TrackView::onTrackGripGrabbed` and `TrackView::onTrackGripReleased`. Because the events and cursor states are now handled by `TrackGrip` this code could be removed from `TrackView::mousePressEvent`. There was a comment in `TrackView` which indicated that the `TrackOperationsWidget` had to be updated when the track is moved and released because it would hide some elements during the move. The comment and the corresponding code was removed because the operations widget does not hide its elements during moves (this was already the state before the changes made by this commit). Adjust the style sheets of the classic and default themes with regards to the `QPushButton` that's used to show the gear menu in the `TrackOperationsWidget`. The `>` has been removed because the `QPushButton` is not a direct decendent of the `TrackOperationsWidget` anymore. ### Wrapping of `PixmapButton` in `QWidget` The PixmapButtons that are used in `TrackOperationsWidget` current have to be wrapped into a `QWidget`. This is necessary due to some strange effect where the PixmapButtons are resized to a size that's larger than their minimum/fixed size when the method `show` is called in `TrackContainerView::realignTracks`. Specifically, with the default theme the buttons are resized from their minimum size of (16, 14) to (26, 26). This then makes them behave not as expected in layouts. The resizing is not done for QWidgets. Therefore we wrap the PixmapButton in a QWidget which is set to a fixed size that will be able to show the active and inactive pixmap. We can then use the QWidget in layouts without any disturbances. The resizing only seems to affect the track view hierarchy and is triggered by Qt's internal mechanisms. For example the buttons in the mixer view do not seem to be affected. If you want to debug this simply override "PixmapButton::resizeEvent" and trigger a break point in there, e.g. whenever the new size is not (16, 14). ### More layout-friendly PixmapButton Make the `PixmapButton` more friendly for layouts by implementing `minimumSizeHint`. It returns a size that accommodate to show the active and the inactive pixmap. Also make `sizeHint` return the minimum size hint. The previous implementation would have made layouts jump when the pixmap is toggled with pixmaps of different sizes. --- data/themes/classic/style.css | 10 +-- data/themes/default/style.css | 8 +- include/PixmapButton.h | 1 + include/TrackGrip.h | 68 ++++++++++++++ include/TrackOperationsWidget.h | 3 + include/TrackView.h | 3 +- src/gui/CMakeLists.txt | 1 + src/gui/tracks/TrackGrip.cpp | 106 ++++++++++++++++++++++ src/gui/tracks/TrackOperationsWidget.cpp | 107 +++++++++++++++-------- src/gui/tracks/TrackView.cpp | 31 ++++--- src/gui/widgets/PixmapButton.cpp | 13 ++- 11 files changed, 280 insertions(+), 71 deletions(-) create mode 100644 include/TrackGrip.h create mode 100644 src/gui/tracks/TrackGrip.cpp diff --git a/data/themes/classic/style.css b/data/themes/classic/style.css index 95737ed3a..d098bf266 100644 --- a/data/themes/classic/style.css +++ b/data/themes/classic/style.css @@ -375,7 +375,7 @@ lmms--gui--TrackContentWidget { /* gear button in tracks */ -lmms--gui--TrackOperationsWidget > QPushButton { +lmms--gui--TrackOperationsWidget QPushButton { max-height: 26px; max-width: 26px; min-height: 26px; @@ -384,7 +384,7 @@ lmms--gui--TrackOperationsWidget > QPushButton { border: none; } -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator { +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator { image: url("resources:trackop.png"); subcontrol-origin: padding; subcontrol-position: center; @@ -392,12 +392,12 @@ lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator { top: 1px; } -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator:hover { +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator:hover { image: url("resources:trackop_h.png"); } -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator:pressed, -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator:checked { +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator:pressed, +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator:checked { image: url("resources:trackop_c.png"); position: relative; top: 2px; diff --git a/data/themes/default/style.css b/data/themes/default/style.css index e2dd369f9..83933df19 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -411,7 +411,7 @@ lmms--gui--TrackContentWidget { /* gear button in tracks */ -lmms--gui--TrackOperationsWidget > QPushButton { +lmms--gui--TrackOperationsWidget QPushButton { max-height: 26px; max-width: 26px; min-height: 26px; @@ -420,7 +420,7 @@ lmms--gui--TrackOperationsWidget > QPushButton { border: none; } -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator { +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator { image: url("resources:trackop.png"); subcontrol-origin: padding; subcontrol-position: center; @@ -428,8 +428,8 @@ lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator { top: 1px; } -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator:pressed, -lmms--gui--TrackOperationsWidget > QPushButton::menu-indicator:checked { +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator:pressed, +lmms--gui--TrackOperationsWidget QPushButton::menu-indicator:checked { image: url("resources:trackop.png"); position: relative; top: 2px; diff --git a/include/PixmapButton.h b/include/PixmapButton.h index 734bd11ae..a0b4141de 100644 --- a/include/PixmapButton.h +++ b/include/PixmapButton.h @@ -45,6 +45,7 @@ public: void setInactiveGraphic( const QPixmap & _pm, bool _update = true ); QSize sizeHint() const override; + QSize minimumSizeHint() const override; signals: void doubleClicked(); diff --git a/include/TrackGrip.h b/include/TrackGrip.h new file mode 100644 index 000000000..aa19222a6 --- /dev/null +++ b/include/TrackGrip.h @@ -0,0 +1,68 @@ +/* + * TrackGrip.h - Grip that can be used to move tracks + * + * Copyright (c) 2024- Michael Gregorius + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef LMMS_GUI_TRACK_GRIP_H +#define LMMS_GUI_TRACK_GRIP_H + +#include + + +class QPixmap; + +namespace lmms +{ + +class Track; + +namespace gui +{ + +class TrackGrip : public QWidget +{ + Q_OBJECT +public: + TrackGrip(Track* track, QWidget* parent = 0); + ~TrackGrip() override = default; + +signals: + void grabbed(); + void released(); + +protected: + void mousePressEvent(QMouseEvent*) override; + void mouseReleaseEvent(QMouseEvent*) override; + void paintEvent(QPaintEvent*) override; + +private: + Track* m_track = nullptr; + bool m_isGrabbed = false; + static QPixmap* s_grabbedPixmap; + static QPixmap* s_releasedPixmap; +}; + +} // namespace gui + +} // namespace lmms + +#endif // LMMS_GUI_TRACK_GRIP_H diff --git a/include/TrackOperationsWidget.h b/include/TrackOperationsWidget.h index 4dbb5353c..8417298b4 100644 --- a/include/TrackOperationsWidget.h +++ b/include/TrackOperationsWidget.h @@ -33,6 +33,7 @@ namespace lmms::gui { class PixmapButton; +class TrackGrip; class TrackView; class TrackOperationsWidget : public QWidget @@ -42,6 +43,7 @@ public: TrackOperationsWidget( TrackView * parent ); ~TrackOperationsWidget() override = default; + TrackGrip* getTrackGrip() const { return m_trackGrip; } protected: void mousePressEvent( QMouseEvent * me ) override; @@ -65,6 +67,7 @@ private slots: private: TrackView * m_trackView; + TrackGrip* m_trackGrip; QPushButton * m_trackOps; PixmapButton * m_muteBtn; PixmapButton * m_soloBtn; diff --git a/include/TrackView.h b/include/TrackView.h index b2654202b..c13ba1e87 100644 --- a/include/TrackView.h +++ b/include/TrackView.h @@ -171,7 +171,8 @@ private: private slots: void createClipView( lmms::Clip * clip ); void muteChanged(); - + void onTrackGripGrabbed(); + void onTrackGripReleased(); } ; diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 4195ec58c..fe4a2c462 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -94,6 +94,7 @@ SET(LMMS_SRCS gui/tracks/TrackLabelButton.cpp gui/tracks/TrackOperationsWidget.cpp gui/tracks/TrackRenameLineEdit.cpp + gui/tracks/TrackGrip.cpp gui/tracks/TrackView.cpp gui/widgets/AutomatableButton.cpp diff --git a/src/gui/tracks/TrackGrip.cpp b/src/gui/tracks/TrackGrip.cpp new file mode 100644 index 000000000..6133c6e96 --- /dev/null +++ b/src/gui/tracks/TrackGrip.cpp @@ -0,0 +1,106 @@ +/* + * TrackGrip.cpp - Grip that can be used to move tracks + * + * Copyright (c) 2024- Michael Gregorius + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#include "TrackGrip.h" + +#include "embed.h" +#include "Track.h" + +#include +#include +#include + + +namespace lmms::gui +{ + +QPixmap* TrackGrip::s_grabbedPixmap = nullptr; +QPixmap* TrackGrip::s_releasedPixmap = nullptr; + +constexpr int c_margin = 2; + +TrackGrip::TrackGrip(Track* track, QWidget* parent) : + QWidget(parent), + m_track(track) +{ + if (!s_grabbedPixmap) + { + s_grabbedPixmap = new QPixmap(embed::getIconPixmap("track_op_grip_c")); + } + + if (!s_releasedPixmap) + { + s_releasedPixmap = new QPixmap(embed::getIconPixmap("track_op_grip")); + } + + setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding); + + setCursor(Qt::OpenHandCursor); + + setFixedWidth(std::max(s_grabbedPixmap->width(), s_releasedPixmap->width()) + 2 * c_margin); +} + +void TrackGrip::mousePressEvent(QMouseEvent* m) +{ + m->accept(); + + m_isGrabbed = true; + setCursor(Qt::ClosedHandCursor); + + emit grabbed(); + + update(); +} + +void TrackGrip::mouseReleaseEvent(QMouseEvent* m) +{ + m->accept(); + + m_isGrabbed = false; + setCursor(Qt::OpenHandCursor); + + emit released(); + + update(); +} + +void TrackGrip::paintEvent(QPaintEvent*) +{ + QPainter p(this); + + // Check if the color of the track should be used for the background + const auto color = m_track->color(); + const auto muted = m_track->getMutedModel()->value(); + + if (color.has_value() && !muted) + { + p.fillRect(rect(), color.value()); + } + + // Paint the pixmap + auto r = rect().marginsRemoved(QMargins(c_margin, c_margin, c_margin, c_margin)); + p.drawTiledPixmap(r, m_isGrabbed ? *s_grabbedPixmap : *s_releasedPixmap); +} + +} // namespace lmms::gui diff --git a/src/gui/tracks/TrackOperationsWidget.cpp b/src/gui/tracks/TrackOperationsWidget.cpp index 6cb74e2c5..6aca66282 100644 --- a/src/gui/tracks/TrackOperationsWidget.cpp +++ b/src/gui/tracks/TrackOperationsWidget.cpp @@ -24,6 +24,7 @@ #include "TrackOperationsWidget.h" +#include #include #include #include @@ -44,6 +45,7 @@ #include "StringPairDrag.h" #include "Track.h" #include "TrackContainerView.h" +#include "TrackGrip.h" #include "TrackView.h" namespace lmms::gui @@ -68,41 +70,86 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : setObjectName( "automationEnabled" ); + auto layout = new QHBoxLayout(this); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(0); + layout->setAlignment(Qt::AlignTop); - m_trackOps = new QPushButton( this ); - m_trackOps->move( 12, 1 ); + m_trackGrip = new TrackGrip(m_trackView->getTrack(), this); + layout->addWidget(m_trackGrip); + + // This widget holds the gear icon and the mute and solo + // buttons in a layout. + auto operationsWidget = new QWidget(this); + auto operationsLayout = new QHBoxLayout(operationsWidget); + operationsLayout->setContentsMargins(0, 0, 0, 0); + operationsLayout->setSpacing(0); + + m_trackOps = new QPushButton(operationsWidget); m_trackOps->setFocusPolicy( Qt::NoFocus ); m_trackOps->setMenu( toMenu ); m_trackOps->setToolTip(tr("Actions")); + // This helper lambda wraps a PixmapButton in a QWidget. This is necessary due to some strange effect where the + // PixmapButtons are resized to a size that's larger than their minimum/fixed size when the method "show" is called + // in "TrackContainerView::realignTracks". Specifically, with the default theme the buttons are resized from + // (16, 14) to (26, 26). This then makes them behave not as expected in layouts. + // The resizing is not done for QWidgets. Therefore we wrap the PixmapButton in a QWidget which is set to a + // fixed size that will be able to show the active and inactive pixmap. We can then use the QWidget in layouts + // without any disturbances. + // + // The resizing only seems to affect the track view hierarchy and is triggered by Qt's internal mechanisms. + // For example the buttons in the mixer view do not seem to be affected. + // If you want to debug this simply override "PixmapButton::resizeEvent" and trigger a break point in there. + auto buildPixmapButtonWrappedInWidget = [](QWidget* parent, const QString& toolTip, + std::string_view activeGraphic, std::string_view inactiveGraphic, PixmapButton*& pixmapButton) + { + const auto activePixmap = embed::getIconPixmap(activeGraphic); + const auto inactivePixmap = embed::getIconPixmap(inactiveGraphic); - m_muteBtn = new PixmapButton( this, tr( "Mute" ) ); - m_muteBtn->setActiveGraphic( embed::getIconPixmap( "led_off" ) ); - m_muteBtn->setInactiveGraphic( embed::getIconPixmap( "led_green" ) ); - m_muteBtn->setCheckable( true ); + auto necessarySize = activePixmap.size().expandedTo(inactivePixmap.size()); - m_soloBtn = new PixmapButton( this, tr( "Solo" ) ); - m_soloBtn->setActiveGraphic( embed::getIconPixmap( "led_red" ) ); - m_soloBtn->setInactiveGraphic( embed::getIconPixmap( "led_off" ) ); - m_soloBtn->setCheckable( true ); + auto wrapperWidget = new QWidget(parent); + wrapperWidget->setFixedSize(necessarySize); + + auto button = new PixmapButton(wrapperWidget, toolTip); + button->setCheckable(true); + button->setActiveGraphic(activePixmap); + button->setInactiveGraphic(inactivePixmap); + button->setToolTip(toolTip); + + pixmapButton = button; + + return wrapperWidget; + }; + + auto muteWidget = buildPixmapButtonWrappedInWidget(operationsWidget, tr("Mute"), "led_off", "led_green", m_muteBtn); + auto soloWidget = buildPixmapButtonWrappedInWidget(operationsWidget, tr("Solo"), "led_red", "led_off", m_soloBtn); + + operationsLayout->addWidget(m_trackOps, Qt::AlignCenter); + operationsLayout->addSpacing(5); if( ConfigManager::inst()->value( "ui", "compacttrackbuttons" ).toInt() ) { - m_muteBtn->move( 46, 0 ); - m_soloBtn->move( 46, 16 ); + auto vlayout = new QVBoxLayout(); + vlayout->setContentsMargins(0, 0, 0, 0); + vlayout->setSpacing(0); + vlayout->addStretch(1); + vlayout->addWidget(muteWidget); + vlayout->addWidget(soloWidget); + vlayout->addStretch(1); + operationsLayout->addLayout(vlayout); } else { - m_muteBtn->move( 46, 8 ); - m_soloBtn->move( 62, 8 ); + operationsLayout->addWidget(muteWidget, Qt::AlignCenter); + operationsLayout->addWidget(soloWidget, Qt::AlignCenter); } - m_muteBtn->show(); - m_muteBtn->setToolTip(tr("Mute")); + operationsLayout->addStretch(1); - m_soloBtn->show(); - m_soloBtn->setToolTip(tr("Solo")); + layout->addWidget(operationsWidget, 0, Qt::AlignTop); connect( this, SIGNAL(trackRemovalScheduled(lmms::gui::TrackView*)), m_trackView->trackContainerView(), @@ -154,31 +201,17 @@ void TrackOperationsWidget::mousePressEvent( QMouseEvent * me ) -/*! \brief Repaint the trackOperationsWidget +/*! + * \brief Repaint the trackOperationsWidget * - * If we're not moving, and in the Pattern Editor, then turn - * automation on or off depending on its previous state and show - * ourselves. - * - * Otherwise, hide ourselves. - * - * \todo Flesh this out a bit - is it correct? - * \param pe The paint event to respond to + * Only things that's done for now is to paint the background + * with the brush of the window from the palette. */ -void TrackOperationsWidget::paintEvent( QPaintEvent * pe ) +void TrackOperationsWidget::paintEvent(QPaintEvent*) { QPainter p( this ); p.fillRect(rect(), palette().brush(QPalette::Window)); - - if (m_trackView->getTrack()->color().has_value() && !m_trackView->getTrack()->getMutedModel()->value()) - { - QRect coloredRect( 0, 0, 10, m_trackView->getTrack()->getHeight() ); - - p.fillRect(coloredRect, m_trackView->getTrack()->color().value()); - } - - p.drawPixmap(2, 2, embed::getIconPixmap(m_trackView->isMovingTrack() ? "track_op_grip_c" : "track_op_grip")); } diff --git a/src/gui/tracks/TrackView.cpp b/src/gui/tracks/TrackView.cpp index e23236021..ecd397975 100644 --- a/src/gui/tracks/TrackView.cpp +++ b/src/gui/tracks/TrackView.cpp @@ -41,6 +41,7 @@ #include "PixmapButton.h" #include "StringPairDrag.h" #include "Track.h" +#include "TrackGrip.h" #include "TrackContainerView.h" #include "ClipView.h" @@ -102,6 +103,10 @@ TrackView::TrackView( Track * track, TrackContainerView * tcv ) : connect( &m_track->m_soloModel, SIGNAL(dataChanged()), m_track, SLOT(toggleSolo()), Qt::DirectConnection ); + + auto trackGrip = m_trackOperationsWidget.getTrackGrip(); + connect(trackGrip, &TrackGrip::grabbed, this, &TrackView::onTrackGripGrabbed); + connect(trackGrip, &TrackGrip::released, this, &TrackView::onTrackGripReleased); // create views for already existing clips for (const auto& clip : m_track->m_clips) @@ -284,22 +289,6 @@ void TrackView::mousePressEvent( QMouseEvent * me ) QCursor c( Qt::SizeVerCursor); QApplication::setOverrideCursor( c ); } - else - { - if( me->x()>10 ) // 10 = The width of the grip + 2 pixels to the left and right. - { - QWidget::mousePressEvent( me ); - return; - } - - m_action = Action::Move; - - QCursor c( Qt::SizeVerCursor ); - QApplication::setOverrideCursor( c ); - // update because in move-mode, all elements in - // track-op-widgets are hidden as a visual feedback - m_trackOperationsWidget.update(); - } me->accept(); } @@ -451,6 +440,16 @@ void TrackView::muteChanged() } +void TrackView::onTrackGripGrabbed() +{ + m_action = Action::Move; +} + +void TrackView::onTrackGripReleased() +{ + m_action = Action::None; +} + void TrackView::setIndicatorMute(FadeButton* indicator, bool muted) diff --git a/src/gui/widgets/PixmapButton.cpp b/src/gui/widgets/PixmapButton.cpp index 069acad56..5f2e01b3d 100644 --- a/src/gui/widgets/PixmapButton.cpp +++ b/src/gui/widgets/PixmapButton.cpp @@ -124,16 +124,13 @@ void PixmapButton::setInactiveGraphic( const QPixmap & _pm, bool _update ) QSize PixmapButton::sizeHint() const { - if (isActive()) - { - return m_activePixmap.size(); - } - else - { - return m_inactivePixmap.size(); - } + return minimumSizeHint(); } +QSize PixmapButton::minimumSizeHint() const +{ + return m_activePixmap.size().expandedTo(m_inactivePixmap.size()); +} bool PixmapButton::isActive() const { From 97b61bbd9a4c118e65e808ba8793035a3c4cc359 Mon Sep 17 00:00:00 2001 From: Johannes Lorenz <1042576+JohannesLorenz@users.noreply.github.com> Date: Sat, 12 Oct 2024 10:39:42 +0200 Subject: [PATCH 032/112] Make `PluginView::isResizable` a virtual (#7541) Remove the member `PluginView::m_isResizable` and it's associated method `setResizable`. Turn `isResizable` into a virtual method. The reasoning is that whether or not an effect can be resized depends on its implementation. Therefore does not make sense to have a method like `setResizable`. If the underlying implementation does not support resizing then it would not make sense to call `setResizable(true)`. So `isResizable` now describes the underlying ability of a plugin to resize. It's then up to the clients of that method to decide how to treat the result of `isResizable`, i.e. if they want to make use of the ability to resize or not. --- include/PluginView.h | 6 +----- plugins/SlicerT/SlicerTView.cpp | 1 - plugins/SlicerT/SlicerTView.h | 2 ++ 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/include/PluginView.h b/include/PluginView.h index a85b0b9e1..dce4d6bfb 100644 --- a/include/PluginView.h +++ b/include/PluginView.h @@ -41,11 +41,7 @@ public: { } - void setResizable(bool resizable) { m_isResizable = resizable; } - bool isResizable() { return m_isResizable; } - -private: - bool m_isResizable = false; + virtual bool isResizable() const { return false; } }; } // namespace lmms::gui diff --git a/plugins/SlicerT/SlicerTView.cpp b/plugins/SlicerT/SlicerTView.cpp index 4be774f6d..7af2db143 100644 --- a/plugins/SlicerT/SlicerTView.cpp +++ b/plugins/SlicerT/SlicerTView.cpp @@ -55,7 +55,6 @@ SlicerTView::SlicerTView(SlicerT* instrument, QWidget* parent) setMaximumSize(QSize(10000, 10000)); setMinimumSize(QSize(516, 400)); - setResizable(true); m_wf = new SlicerTWaveform(248, 128, instrument, this); m_wf->move(0, s_topBarHeight); diff --git a/plugins/SlicerT/SlicerTView.h b/plugins/SlicerT/SlicerTView.h index 232c27454..f24246621 100644 --- a/plugins/SlicerT/SlicerTView.h +++ b/plugins/SlicerT/SlicerTView.h @@ -78,6 +78,8 @@ protected: void resizeEvent(QResizeEvent* event) override; private: + bool isResizable() const override { return true; } + SlicerT* m_slicerTParent; Knob* m_noteThresholdKnob; From b8b1dae4073704169bc0b10c3bc7e52de3ccf9e1 Mon Sep 17 00:00:00 2001 From: Lost Robot <34612565+LostRobotMusic@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:29:47 -0500 Subject: [PATCH 033/112] Optimize dBFS/amplitude conversion functions (#7535) * Optimize dBFS <-> amplitude functions --- include/lmms_math.h | 46 ++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/include/lmms_math.h b/include/lmms_math.h index 728008388..bdadd7ba0 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -164,37 +164,22 @@ inline float linearToLogScale(float min, float max, float value) return std::isnan( result ) ? 0 : result; } - - - -//! @brief Converts linear amplitude (0-1.0) to dBFS scale. Handles zeroes as -inf. -//! @param amp Linear amplitude, where 1.0 = 0dBFS. -//! @return Amplitude in dBFS. -inf for 0 amplitude. -inline float safeAmpToDbfs(float amp) +inline float fastPow10f(float x) { - return amp == 0.0f - ? -INFINITY - : log10f( amp ) * 20.0f; + return std::exp(2.302585092994046f * x); } - -//! @brief Converts dBFS-scale to linear amplitude with 0dBFS = 1.0. Handles infinity as zero. -//! @param dbfs The dBFS value to convert: all infinites are treated as -inf and result in 0 -//! @return Linear amplitude -inline float safeDbfsToAmp(float dbfs) +inline float fastLog10f(float x) { - return std::isinf( dbfs ) - ? 0.0f - : std::pow(10.f, dbfs * 0.05f ); + return std::log(x) * 0.4342944819032518f; } - //! @brief Converts linear amplitude (>0-1.0) to dBFS scale. //! @param amp Linear amplitude, where 1.0 = 0dBFS. ** Must be larger than zero! ** //! @return Amplitude in dBFS. inline float ampToDbfs(float amp) { - return log10f(amp) * 20.0f; + return fastLog10f(amp) * 20.0f; } @@ -203,10 +188,29 @@ inline float ampToDbfs(float amp) //! @return Linear amplitude inline float dbfsToAmp(float dbfs) { - return std::pow(10.f, dbfs * 0.05f); + return fastPow10f(dbfs * 0.05f); } +//! @brief Converts linear amplitude (0-1.0) to dBFS scale. Handles zeroes as -inf. +//! @param amp Linear amplitude, where 1.0 = 0dBFS. +//! @return Amplitude in dBFS. -inf for 0 amplitude. +inline float safeAmpToDbfs(float amp) +{ + return amp == 0.0f ? -INFINITY : ampToDbfs(amp); +} + + +//! @brief Converts dBFS-scale to linear amplitude with 0dBFS = 1.0. Handles infinity as zero. +//! @param dbfs The dBFS value to convert: all infinites are treated as -inf and result in 0 +//! @return Linear amplitude +inline float safeDbfsToAmp(float dbfs) +{ + return std::isinf(dbfs) ? 0.0f : dbfsToAmp(dbfs); +} + + + //! Returns the linear interpolation of the two values template constexpr T lerp(T a, T b, F t) From e6776bcfe5d181fcbe420049b45e4487118ef722 Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Wed, 23 Oct 2024 13:17:14 -0400 Subject: [PATCH 034/112] Remove usage of `QTextCodec` in Hydrogen Import plugin (#7562) * Remove QTextCodec QTextCodec was removed from Qt6 and is only available through the Qt5Compat module. QTextCodec was only used by the HydrogenImport plugin when importing old Hydrogen files that were saved using TinyXML before it supported UTF-8. HydrogenImport would use QTextCodec to try to get the current encoding from the locale, and then use that as a best guess for interpreting the XML data in the unspecified encoding it was saved in. None of this was ever reliable, since the encoding of the computer that saved the Hydrogen file might not be the same as the computer running LMMS and importing that file. There is no good solution here, so I decided to simply assume the old Hydrogen files are UTF-8 encoded. The worst that can happen is someone's ancient Hydrogen files containing non-ASCII text of some random encoding becomes mojibake'd after importing into LMMS, which is something that already could have happened. * Clean up a little --- plugins/HydrogenImport/CMakeLists.txt | 2 +- plugins/HydrogenImport/HydrogenImport.cpp | 3 ++- .../{local_file_mgr.cpp => LocalFileMng.cpp} | 10 +++------- plugins/HydrogenImport/LocalFileMng.h | 7 ------- 4 files changed, 6 insertions(+), 16 deletions(-) rename plugins/HydrogenImport/{local_file_mgr.cpp => LocalFileMng.cpp} (97%) diff --git a/plugins/HydrogenImport/CMakeLists.txt b/plugins/HydrogenImport/CMakeLists.txt index 27e8d6a4d..34f4d43ae 100644 --- a/plugins/HydrogenImport/CMakeLists.txt +++ b/plugins/HydrogenImport/CMakeLists.txt @@ -1,4 +1,4 @@ INCLUDE(BuildPlugin) -BUILD_PLUGIN(hydrogenimport HydrogenImport.cpp HydrogenImport.h local_file_mgr.cpp LocalFileMng.h) +BUILD_PLUGIN(hydrogenimport HydrogenImport.cpp HydrogenImport.h LocalFileMng.cpp LocalFileMng.h) diff --git a/plugins/HydrogenImport/HydrogenImport.cpp b/plugins/HydrogenImport/HydrogenImport.cpp index 144a2f5e7..6a81b507d 100644 --- a/plugins/HydrogenImport/HydrogenImport.cpp +++ b/plugins/HydrogenImport/HydrogenImport.cpp @@ -1,7 +1,8 @@ +#include "HydrogenImport.h" + #include #include "LocalFileMng.h" -#include "HydrogenImport.h" #include "Song.h" #include "Engine.h" #include "Instrument.h" diff --git a/plugins/HydrogenImport/local_file_mgr.cpp b/plugins/HydrogenImport/LocalFileMng.cpp similarity index 97% rename from plugins/HydrogenImport/local_file_mgr.cpp rename to plugins/HydrogenImport/LocalFileMng.cpp index 227440501..c4d11c7e2 100644 --- a/plugins/HydrogenImport/local_file_mgr.cpp +++ b/plugins/HydrogenImport/LocalFileMng.cpp @@ -1,12 +1,11 @@ -#include +#include "LocalFileMng.h" + #include #include #include #include -#include -#include "LocalFileMng.h" namespace lmms { @@ -197,10 +196,7 @@ QDomDocument LocalFileMng::openXmlDocument( const QString& filename ) return QDomDocument(); if( TinyXMLCompat ) { - QString enc = QTextCodec::codecForLocale()->name(); - if( enc == QString("System") ) { - enc = "UTF-8"; - } + const QString enc = "UTF-8"; // unknown encoding, so assume utf-8 and call it a day QByteArray line; QByteArray buf = QString("\n") .arg( enc ) diff --git a/plugins/HydrogenImport/LocalFileMng.h b/plugins/HydrogenImport/LocalFileMng.h index 0aaf7d1c8..1260dbfdd 100644 --- a/plugins/HydrogenImport/LocalFileMng.h +++ b/plugins/HydrogenImport/LocalFileMng.h @@ -14,12 +14,6 @@ namespace lmms class LocalFileMng { public: - LocalFileMng(); - ~LocalFileMng(); - std::vector getallPatternList(){ - return m_allPatternList; - } - static QString readXmlString( QDomNode , const QString& nodeName, const QString& defaultValue, bool bCanBeEmpty = false, bool bShouldExists = true , bool tinyXmlCompatMode = false); static float readXmlFloat( QDomNode , const QString& nodeName, float defaultValue, bool bCanBeEmpty = false, bool bShouldExists = true , bool tinyXmlCompatMode = false); static int readXmlInt( QDomNode , const QString& nodeName, int defaultValue, bool bCanBeEmpty = false, bool bShouldExists = true , bool tinyXmlCompatMode = false); @@ -27,7 +21,6 @@ public: static void convertFromTinyXMLString( QByteArray* str ); static bool checkTinyXMLCompatMode( const QString& filename ); static QDomDocument openXmlDocument( const QString& filename ); - std::vector m_allPatternList; }; From 1f37c9ba7c23e5ec1f8741b3889965def9baf33a Mon Sep 17 00:00:00 2001 From: saker Date: Sat, 26 Oct 2024 12:41:46 -0400 Subject: [PATCH 035/112] Inline `TimePos` and `TimeSig` functions to improve performance (#7549) * Inline TimeSig functions * Inline TimePos functions --- include/TimePos.h | 80 ++++++++++++++++------- src/core/TimePos.cpp | 150 ------------------------------------------- 2 files changed, 56 insertions(+), 174 deletions(-) diff --git a/include/TimePos.h b/include/TimePos.h index b86d8eb0f..68f3bd01b 100644 --- a/include/TimePos.h +++ b/include/TimePos.h @@ -26,6 +26,8 @@ #ifndef LMMS_TIME_POS_H #define LMMS_TIME_POS_H +#include +#include #include "lmms_export.h" #include "lmms_basics.h" @@ -51,8 +53,8 @@ class LMMS_EXPORT TimeSig public: TimeSig( int num, int denom ); TimeSig( const MeterModel &model ); - int numerator() const; - int denominator() const; + int numerator() const { return m_num; } + int denominator() const { return m_denom; } private: int m_num; int m_denom; @@ -69,42 +71,72 @@ public: TimePos( const tick_t ticks = 0 ); TimePos quantize(float) const; - TimePos toAbsoluteBar() const; + TimePos toAbsoluteBar() const { return getBar() * s_ticksPerBar; } - TimePos& operator+=( const TimePos& time ); - TimePos& operator-=( const TimePos& time ); + TimePos& operator+=(const TimePos& time) + { + m_ticks += time.m_ticks; + return *this; + } + + TimePos& operator-=(const TimePos& time) + { + m_ticks -= time.m_ticks; + return *this; + } // return the bar, rounded down and 0-based - bar_t getBar() const; + bar_t getBar() const { return m_ticks / s_ticksPerBar; } + // return the bar, rounded up and 0-based - bar_t nextFullBar() const; + bar_t nextFullBar() const { return (m_ticks + (s_ticksPerBar - 1)) / s_ticksPerBar; } - void setTicks( tick_t ticks ); - tick_t getTicks() const; + void setTicks(tick_t ticks) { m_ticks = ticks; } + tick_t getTicks() const { return m_ticks; } - operator int() const; + operator int() const { return m_ticks; } + + tick_t ticksPerBeat(const TimeSig& sig) const { return ticksPerBar(sig) / sig.numerator(); } - tick_t ticksPerBeat( const TimeSig &sig ) const; // Remainder ticks after bar is removed - tick_t getTickWithinBar( const TimeSig &sig ) const; + tick_t getTickWithinBar(const TimeSig& sig) const { return m_ticks % ticksPerBar(sig); } + // Returns the beat position inside the bar, 0-based - tick_t getBeatWithinBar( const TimeSig &sig ) const; + tick_t getBeatWithinBar(const TimeSig& sig) const { return getTickWithinBar(sig) / ticksPerBeat(sig); } + // Remainder ticks after bar and beat are removed - tick_t getTickWithinBeat( const TimeSig &sig ) const; + tick_t getTickWithinBeat(const TimeSig& sig) const { return getTickWithinBar(sig) % ticksPerBeat(sig); } // calculate number of frame that are needed this time - f_cnt_t frames( const float framesPerTick ) const; + f_cnt_t frames(const float framesPerTick) const + { + // Before, step notes used to have negative length. This + // assert is a safeguard against negative length being + // introduced again (now using Note Types instead #5902) + assert(m_ticks >= 0); + return static_cast(m_ticks * framesPerTick); + } - double getTimeInMilliseconds( bpm_t beatsPerMinute ) const; + double getTimeInMilliseconds(bpm_t beatsPerMinute) const { return ticksToMilliseconds(getTicks(), beatsPerMinute); } - static TimePos fromFrames( const f_cnt_t frames, const float framesPerTick ); - static tick_t ticksPerBar(); - static tick_t ticksPerBar( const TimeSig &sig ); - static int stepsPerBar(); - static void setTicksPerBar( tick_t tpt ); - static TimePos stepPosition( int step ); - static double ticksToMilliseconds( tick_t ticks, bpm_t beatsPerMinute ); - static double ticksToMilliseconds( double ticks, bpm_t beatsPerMinute ); + static TimePos fromFrames(const f_cnt_t frames, const float framesPerTick) + { + return TimePos(static_cast(frames / framesPerTick)); + } + + static tick_t ticksPerBar() { return s_ticksPerBar; } + static tick_t ticksPerBar(const TimeSig& sig) { return DefaultTicksPerBar * sig.numerator() / sig.denominator(); } + + static int stepsPerBar() { return std::max(1, ticksPerBar() / DefaultBeatsPerBar); } + static void setTicksPerBar(tick_t ticks) { s_ticksPerBar = ticks; } + static TimePos stepPosition(int step) { return step * ticksPerBar() / stepsPerBar(); } + + static double ticksToMilliseconds(tick_t ticks, bpm_t beatsPerMinute) + { + return ticksToMilliseconds(static_cast(ticks), beatsPerMinute); + } + + static double ticksToMilliseconds(double ticks, bpm_t beatsPerMinute) { return (ticks * 1250) / beatsPerMinute; } private: tick_t m_ticks; diff --git a/src/core/TimePos.cpp b/src/core/TimePos.cpp index 09c1019bc..6e5e034fd 100644 --- a/src/core/TimePos.cpp +++ b/src/core/TimePos.cpp @@ -43,20 +43,6 @@ TimeSig::TimeSig( const MeterModel &model ) : { } - -int TimeSig::numerator() const -{ - return m_num; -} - -int TimeSig::denominator() const -{ - return m_denom; -} - - - - TimePos::TimePos( const bar_t bar, const tick_t ticks ) : m_ticks( bar * s_ticksPerBar + ticks ) { @@ -86,140 +72,4 @@ TimePos TimePos::quantize(float bars) const return (lowPos + snapUp) * interval; } - -TimePos TimePos::toAbsoluteBar() const -{ - return getBar() * s_ticksPerBar; -} - - -TimePos& TimePos::operator+=( const TimePos& time ) -{ - m_ticks += time.m_ticks; - return *this; -} - - -TimePos& TimePos::operator-=( const TimePos& time ) -{ - m_ticks -= time.m_ticks; - return *this; -} - - -bar_t TimePos::getBar() const -{ - return m_ticks / s_ticksPerBar; -} - - -bar_t TimePos::nextFullBar() const -{ - return ( m_ticks + ( s_ticksPerBar - 1 ) ) / s_ticksPerBar; -} - - -void TimePos::setTicks( tick_t ticks ) -{ - m_ticks = ticks; -} - - -tick_t TimePos::getTicks() const -{ - return m_ticks; -} - - -TimePos::operator int() const -{ - return m_ticks; -} - - -tick_t TimePos::ticksPerBeat( const TimeSig &sig ) const -{ - // (number of ticks per bar) divided by (number of beats per bar) - return ticksPerBar(sig) / sig.numerator(); -} - - -tick_t TimePos::getTickWithinBar( const TimeSig &sig ) const -{ - return m_ticks % ticksPerBar( sig ); -} - -tick_t TimePos::getBeatWithinBar( const TimeSig &sig ) const -{ - return getTickWithinBar( sig ) / ticksPerBeat( sig ); -} - -tick_t TimePos::getTickWithinBeat( const TimeSig &sig ) const -{ - return getTickWithinBar( sig ) % ticksPerBeat( sig ); -} - - -f_cnt_t TimePos::frames( const float framesPerTick ) const -{ - // Before, step notes used to have negative length. This - // assert is a safeguard against negative length being - // introduced again (now using Note Types instead #5902) - assert(m_ticks >= 0); - return static_cast(m_ticks * framesPerTick); -} - -double TimePos::getTimeInMilliseconds( bpm_t beatsPerMinute ) const -{ - return ticksToMilliseconds( getTicks(), beatsPerMinute ); -} - -TimePos TimePos::fromFrames( const f_cnt_t frames, const float framesPerTick ) -{ - return TimePos( static_cast( frames / framesPerTick ) ); -} - - -tick_t TimePos::ticksPerBar() -{ - return s_ticksPerBar; -} - - -tick_t TimePos::ticksPerBar( const TimeSig &sig ) -{ - return DefaultTicksPerBar * sig.numerator() / sig.denominator(); -} - - -int TimePos::stepsPerBar() -{ - int steps = ticksPerBar() / DefaultBeatsPerBar; - return std::max(1, steps); -} - - -void TimePos::setTicksPerBar( tick_t tpb ) -{ - s_ticksPerBar = tpb; -} - - -TimePos TimePos::stepPosition( int step ) -{ - return step * ticksPerBar() / stepsPerBar(); -} - -double TimePos::ticksToMilliseconds( tick_t ticks, bpm_t beatsPerMinute ) -{ - return TimePos::ticksToMilliseconds( static_cast(ticks), beatsPerMinute ); -} - -double TimePos::ticksToMilliseconds(double ticks, bpm_t beatsPerMinute) -{ - // 60 * 1000 / 48 = 1250 - return ( ticks * 1250 ) / beatsPerMinute; -} - - } // namespace lmms From b5de1d50e11cf53c9a97a3c09f07f8a96cbfa03f Mon Sep 17 00:00:00 2001 From: cyberrumor <46626673+cyberrumor@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:01:08 -0700 Subject: [PATCH 036/112] Fix PeakController attack/decay, use linear interpolation between samples (#7566) Historically, the PeakController has had issues like attack/decay knobs acting like on/off switches, and audio artifacts like buzzing or clicking. This patch aims to address those issues. The PeakController previously used lerp (linear interpolation) when looping through the sample buffer, which was in updateValueBuffer. This lerp utilized attack/decay values from control knobs. This is not the correct place to utilize attack/decay because the only temporal data available to the function is the frame and sample size. Therefore the coefficient should simply be the sample rate instead. Between each sample, processImpl would set m_lastSample to the RMS without any sort of lerp. This resulted in m_lastSample producing stair-like patterns over time, rather than a smooth line. For context, m_lastSample is used to set the value of whatever is connected to the PeakController. The basic lerp formula is: m_lastSample = m_lastSample + ((1 - attack) * (RMS - m_lastSample)) This is useful because an attack of 0 sets m_lastSample to RMS, whereas an attack of 1 would set m_lastSample to m_lastSample. This means our attack/decay knobs can be used on a range from "snap to the next value immediately" to "never stray from the last value". * Remove attack/decay from PeakController frame lerp. * Set frame lerp coefficient to 100.0 / sample_rate to fix buzzing. * Add lerp between samples for PeakController to fix stairstep bug. * The newly added lerp utilizes (1 - attack or decay) as the coefficient, which means the knobs actually do something now. --- include/PeakController.h | 3 +-- .../PeakControllerEffect/PeakControllerEffect.cpp | 12 +++++++++++- src/core/PeakController.cpp | 13 ++----------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/PeakController.h b/include/PeakController.h index de9da3b1c..a22257374 100644 --- a/include/PeakController.h +++ b/include/PeakController.h @@ -78,8 +78,7 @@ private: static int m_loadCount; static bool m_buggedFile; - float m_attackCoeff; - float m_decayCoeff; + float m_coeff; bool m_coeffNeedsUpdate; } ; diff --git a/plugins/PeakControllerEffect/PeakControllerEffect.cpp b/plugins/PeakControllerEffect/PeakControllerEffect.cpp index 394a80efd..b6d053257 100644 --- a/plugins/PeakControllerEffect/PeakControllerEffect.cpp +++ b/plugins/PeakControllerEffect/PeakControllerEffect.cpp @@ -132,8 +132,18 @@ Effect::ProcessStatus PeakControllerEffect::processImpl(SampleFrame* buf, const float curRMS = sqrt_neg(sum / frames); const float tres = c.m_tresholdModel.value(); const float amount = c.m_amountModel.value() * c.m_amountMultModel.value(); + const float attack = 1.0f - c.m_attackModel.value(); + const float decay = 1.0f - c.m_decayModel.value(); + curRMS = qAbs( curRMS ) < tres ? 0.0f : curRMS; - m_lastSample = qBound( 0.0f, c.m_baseModel.value() + amount * curRMS, 1.0f ); + float target = c.m_baseModel.value() + amount * curRMS; + // Use decay when the volume is decreasing, attack otherwise. + // Since direction can change as often as every sampleBuffer, it's difficult + // to witness attack/decay working in isolation unless using large buffer sizes. + const float t = target < m_lastSample ? decay : attack; + // Set m_lastSample to the interpolation between itself and target. + // When t is 1.0, m_lastSample snaps to target. When t is 0.0, m_lastSample shouldn't change. + m_lastSample = std::clamp(m_lastSample + t * (target - m_lastSample), 0.0f, 1.0f); return ProcessStatus::Continue; } diff --git a/src/core/PeakController.cpp b/src/core/PeakController.cpp index 1c38cf4cb..1b819982a 100644 --- a/src/core/PeakController.cpp +++ b/src/core/PeakController.cpp @@ -80,9 +80,7 @@ void PeakController::updateValueBuffer() { if( m_coeffNeedsUpdate ) { - const float ratio = 44100.0f / Engine::audioEngine()->outputSampleRate(); - m_attackCoeff = 1.0f - powf( 2.0f, -0.3f * ( 1.0f - m_peakEffect->attackModel()->value() ) * ratio ); - m_decayCoeff = 1.0f - powf( 2.0f, -0.3f * ( 1.0f - m_peakEffect->decayModel()->value() ) * ratio ); + m_coeff = 100.0f / Engine::audioEngine()->outputSampleRate(); m_coeffNeedsUpdate = false; } @@ -97,14 +95,7 @@ void PeakController::updateValueBuffer() for( f_cnt_t f = 0; f < frames; ++f ) { const float diff = ( targetSample - m_currentSample ); - if( m_currentSample < targetSample ) // going up... - { - m_currentSample += diff * m_attackCoeff; - } - else if( m_currentSample > targetSample ) // going down - { - m_currentSample += diff * m_decayCoeff; - } + m_currentSample += diff * m_coeff; values[f] = m_currentSample; } } From 9912fd88e3f8f916cf417c08cd002f3b254f785e Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 31 Oct 2024 05:25:11 +0530 Subject: [PATCH 037/112] Add member variable for base sample rate and inline sample rate getter functions (#7552) Co-authored-by: saker --- include/AudioEngine.h | 19 ++++++++++++++++--- src/core/AudioEngine.cpp | 29 +---------------------------- 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/include/AudioEngine.h b/include/AudioEngine.h index f6d8692b5..b22830221 100644 --- a/include/AudioEngine.h +++ b/include/AudioEngine.h @@ -33,6 +33,7 @@ #include #include +#include "AudioDevice.h" #include "lmms_basics.h" #include "SampleFrame.h" #include "LocklessList.h" @@ -235,9 +236,20 @@ public: } - sample_rate_t baseSampleRate() const; - sample_rate_t outputSampleRate() const; - sample_rate_t inputSampleRate() const; + sample_rate_t baseSampleRate() const { return m_baseSampleRate; } + + + sample_rate_t outputSampleRate() const + { + return m_audioDev != nullptr ? m_audioDev->sampleRate() : m_baseSampleRate; + } + + + sample_rate_t inputSampleRate() const + { + return m_audioDev != nullptr ? m_audioDev->sampleRate() : m_baseSampleRate; + } + inline float masterGain() const { @@ -361,6 +373,7 @@ private: SampleFrame* m_inputBuffer[2]; f_cnt_t m_inputBufferFrames[2]; f_cnt_t m_inputBufferSize[2]; + sample_rate_t m_baseSampleRate; int m_inputBufferRead; int m_inputBufferWrite; diff --git a/src/core/AudioEngine.cpp b/src/core/AudioEngine.cpp index 0da65f426..435fa38fa 100644 --- a/src/core/AudioEngine.cpp +++ b/src/core/AudioEngine.cpp @@ -74,6 +74,7 @@ static thread_local bool s_renderingThread = false; AudioEngine::AudioEngine( bool renderOnly ) : m_renderOnly( renderOnly ), m_framesPerPeriod( DEFAULT_BUFFER_SIZE ), + m_baseSampleRate(std::max(ConfigManager::inst()->value("audioengine", "samplerate").toInt(), 44100)), m_inputBufferRead( 0 ), m_inputBufferWrite( 1 ), m_outputBufferRead(nullptr), @@ -241,34 +242,6 @@ void AudioEngine::stopProcessing() -sample_rate_t AudioEngine::baseSampleRate() const -{ - sample_rate_t sr = ConfigManager::inst()->value( "audioengine", "samplerate" ).toInt(); - if( sr < 44100 ) - { - sr = 44100; - } - return sr; -} - - - - -sample_rate_t AudioEngine::outputSampleRate() const -{ - return m_audioDev != nullptr ? m_audioDev->sampleRate() : - baseSampleRate(); -} - - - - -sample_rate_t AudioEngine::inputSampleRate() const -{ - return m_audioDev != nullptr ? m_audioDev->sampleRate() : - baseSampleRate(); -} - bool AudioEngine::criticalXRuns() const { return cpuLoad() >= 99 && Engine::getSong()->isExporting() == false; From 07baf9e27a4990b2e1cc88b9cbe1347c70366d9d Mon Sep 17 00:00:00 2001 From: saker Date: Sun, 3 Nov 2024 02:13:55 -0500 Subject: [PATCH 038/112] Tidy up `MixerChannelView` (#7527) --- include/MixerChannelView.h | 37 +++++++-------- src/gui/MixerChannelView.cpp | 87 ++++++------------------------------ 2 files changed, 31 insertions(+), 93 deletions(-) diff --git a/include/MixerChannelView.h b/include/MixerChannelView.h index 8074d4dce..6716aee09 100644 --- a/include/MixerChannelView.h +++ b/include/MixerChannelView.h @@ -1,7 +1,7 @@ /* - * MixerChannelView.h - the mixer channel view + * MixerChannelView.h * - * Copyright (c) 2022 saker + * Copyright (c) 2024 saker * * This file is part of LMMS - https://lmms.io * @@ -22,8 +22,8 @@ * */ -#ifndef MIXER_CHANNEL_VIEW_H -#define MIXER_CHANNEL_VIEW_H +#ifndef LMMS_GUI_MIXER_CHANNEL_VIEW_H +#define LMMS_GUI_MIXER_CHANNEL_VIEW_H #include #include @@ -46,8 +46,6 @@ class MixerChannel; namespace lmms::gui { class PeakIndicator; -constexpr int MIXER_CHANNEL_INNER_BORDER_SIZE = 3; -constexpr int MIXER_CHANNEL_OUTER_BORDER_SIZE = 1; class MixerChannelView : public QWidget { @@ -65,25 +63,24 @@ public: void mouseDoubleClickEvent(QMouseEvent*) override; bool eventFilter(QObject* dist, QEvent* event) override; - int channelIndex() const; + void reset(); + int channelIndex() const { return m_channelIndex; } void setChannelIndex(int index); - QBrush backgroundActive() const; - void setBackgroundActive(const QBrush& c); + QBrush backgroundActive() const { return m_backgroundActive; } + void setBackgroundActive(const QBrush& c) { m_backgroundActive = c; } - QColor strokeOuterActive() const; - void setStrokeOuterActive(const QColor& c); + QColor strokeOuterActive() const { return m_strokeOuterActive; } + void setStrokeOuterActive(const QColor& c) { m_strokeOuterActive = c; } - QColor strokeOuterInactive() const; - void setStrokeOuterInactive(const QColor& c); + QColor strokeOuterInactive() const { return m_strokeOuterInactive; } + void setStrokeOuterInactive(const QColor& c) { m_strokeOuterInactive = c; } - QColor strokeInnerActive() const; - void setStrokeInnerActive(const QColor& c); + QColor strokeInnerActive() const { return m_strokeInnerActive; } + void setStrokeInnerActive(const QColor& c) { m_strokeInnerActive = c; } - QColor strokeInnerInactive() const; - void setStrokeInnerInactive(const QColor& c); - - void reset(); + QColor strokeInnerInactive() const { return m_strokeInnerInactive; } + void setStrokeInnerInactive(const QColor& c) { m_strokeInnerInactive = c; } public slots: void renameChannel(); @@ -135,4 +132,4 @@ private: }; } // namespace lmms::gui -#endif // MIXER_CHANNEL_VIEW_H +#endif // LMMS_GUI_MIXER_CHANNEL_VIEW_H diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index 2228c8508..1432a42cf 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -186,21 +186,18 @@ void MixerChannelView::contextMenuEvent(QContextMenuEvent*) delete contextMenu; } -void MixerChannelView::paintEvent(QPaintEvent* event) +void MixerChannelView::paintEvent(QPaintEvent*) { + static constexpr auto innerBorderSize = 3; + static constexpr auto outerBorderSize = 1; + const auto channel = mixerChannel(); - const bool muted = channel->m_muteModel.value(); - const auto name = channel->m_name; - const auto elidedName = elideName(name); const auto isActive = m_mixerView->currentMixerChannel() == this; - - if (!m_inRename && m_renameLineEdit->text() != elidedName) { m_renameLineEdit->setText(elidedName); } - const auto width = rect().width(); const auto height = rect().height(); auto painter = QPainter{this}; - if (channel->color().has_value() && !muted) + if (channel->color().has_value() && !channel->m_muteModel.value()) { painter.fillRect(rect(), channel->color()->darker(isActive ? 120 : 150)); } @@ -208,13 +205,11 @@ void MixerChannelView::paintEvent(QPaintEvent* event) // inner border painter.setPen(isActive ? strokeInnerActive() : strokeInnerInactive()); - painter.drawRect(1, 1, width - MIXER_CHANNEL_INNER_BORDER_SIZE, height - MIXER_CHANNEL_INNER_BORDER_SIZE); + painter.drawRect(1, 1, width - innerBorderSize, height - innerBorderSize); // outer border painter.setPen(isActive ? strokeOuterActive() : strokeOuterInactive()); - painter.drawRect(0, 0, width - MIXER_CHANNEL_OUTER_BORDER_SIZE, height - MIXER_CHANNEL_OUTER_BORDER_SIZE); - - QWidget::paintEvent(event); + painter.drawRect(0, 0, width - outerBorderSize, height - outerBorderSize); } void MixerChannelView::mousePressEvent(QMouseEvent*) @@ -227,7 +222,7 @@ void MixerChannelView::mouseDoubleClickEvent(QMouseEvent*) renameChannel(); } -bool MixerChannelView::eventFilter(QObject* dist, QEvent* event) +bool MixerChannelView::eventFilter(QObject*, QEvent* event) { // If we are in a rename, capture the enter/return events and handle them if (event->type() == QEvent::KeyPress) @@ -246,11 +241,6 @@ bool MixerChannelView::eventFilter(QObject* dist, QEvent* event) return false; } -int MixerChannelView::channelIndex() const -{ - return m_channelIndex; -} - void MixerChannelView::setChannelIndex(int index) { MixerChannel* mixerChannel = Engine::mixer()->mixerChannel(index); @@ -259,64 +249,10 @@ void MixerChannelView::setChannelIndex(int index) m_soloButton->setModel(&mixerChannel->m_soloModel); m_effectRackView->setModel(&mixerChannel->m_fxChain); m_channelNumberLcd->setValue(index); + m_renameLineEdit->setText(elideName(mixerChannel->m_name)); m_channelIndex = index; } -QBrush MixerChannelView::backgroundActive() const -{ - return m_backgroundActive; -} - -void MixerChannelView::setBackgroundActive(const QBrush& c) -{ - m_backgroundActive = c; -} - -QColor MixerChannelView::strokeOuterActive() const -{ - return m_strokeOuterActive; -} - -void MixerChannelView::setStrokeOuterActive(const QColor& c) -{ - m_strokeOuterActive = c; -} - -QColor MixerChannelView::strokeOuterInactive() const -{ - return m_strokeOuterInactive; -} - -void MixerChannelView::setStrokeOuterInactive(const QColor& c) -{ - m_strokeOuterInactive = c; -} - -QColor MixerChannelView::strokeInnerActive() const -{ - return m_strokeInnerActive; -} - -void MixerChannelView::setStrokeInnerActive(const QColor& c) -{ - m_strokeInnerActive = c; -} - -QColor MixerChannelView::strokeInnerInactive() const -{ - return m_strokeInnerInactive; -} - -void MixerChannelView::setStrokeInnerInactive(const QColor& c) -{ - m_strokeInnerInactive = c; -} - -void MixerChannelView::reset() -{ - m_peakIndicator->resetPeakToMinusInf(); -} - void MixerChannelView::renameChannel() { m_inRename = true; @@ -459,4 +395,9 @@ MixerChannel* MixerChannelView::mixerChannel() const return Engine::mixer()->mixerChannel(m_channelIndex); } +void MixerChannelView::reset() +{ + m_peakIndicator->resetPeakToMinusInf(); +} + } // namespace lmms::gui From e36463ce77ca39cd61f2582d729b50e7316c7978 Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Wed, 6 Nov 2024 17:46:12 -0500 Subject: [PATCH 039/112] Update macOS CI (#7572) * Use macOS 13 See: https://github.com/actions/runner-images/issues/10721 * Upgrade to XCode 15.2 XCode 15.2 is the default on macOS 13 * Fix unqualified call to std::move warning * Fix sprintf deprecated warnings * Upgrade macOS 14 ARM64 builds to XCode 15.4 See: https://github.com/actions/runner-images/issues/10703 * Fix unused lambda capture warnings in Fader.cpp * Fix unused variable warnings * Fix formatting warning Cannot format `const void*` as a string * Force lambda conversion to function pointer --- .github/workflows/build.yml | 6 ++--- include/RemotePluginBase.h | 4 ++-- include/RemotePluginClient.h | 2 +- plugins/Vestige/Vestige.cpp | 12 +++++----- plugins/VstEffect/VstEffectControls.cpp | 10 ++++---- src/core/ComboBoxModel.cpp | 11 ++++----- src/core/Keymap.cpp | 2 +- src/core/ProjectRenderer.cpp | 6 ++--- src/core/Scale.cpp | 2 +- src/core/midi/MidiApple.cpp | 6 ++--- src/gui/widgets/Fader.cpp | 31 +++++++++++-------------- 11 files changed, 43 insertions(+), 49 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c2e8dd73..74134aabd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,11 +72,11 @@ jobs: arch: [ x86_64, arm64 ] include: - arch: x86_64 - os: macos-12 - xcode: "13.1" + os: macos-13 + xcode: "15.2" - arch: arm64 os: macos-14 - xcode: "14.3.1" + xcode: "15.4" name: macos-${{ matrix.arch }} runs-on: ${{ matrix.os }} env: diff --git a/include/RemotePluginBase.h b/include/RemotePluginBase.h index 5214b6f92..bbf14207a 100644 --- a/include/RemotePluginBase.h +++ b/include/RemotePluginBase.h @@ -398,7 +398,7 @@ public: message & addInt( int _i ) { char buf[32]; - sprintf( buf, "%d", _i ); + std::snprintf(buf, 32, "%d", _i); data.emplace_back( buf ); return *this; } @@ -406,7 +406,7 @@ public: message & addFloat( float _f ) { char buf[32]; - sprintf( buf, "%f", _f ); + std::snprintf(buf, 32, "%f", _f); data.emplace_back( buf ); return *this; } diff --git a/include/RemotePluginClient.h b/include/RemotePluginClient.h index 22158f1b8..241896506 100644 --- a/include/RemotePluginClient.h +++ b/include/RemotePluginClient.h @@ -309,7 +309,7 @@ bool RemotePluginClient::processMessage( const message & _m ) default: { char buf[64]; - sprintf( buf, "undefined message: %d\n", (int) _m.id ); + std::snprintf(buf, 64, "undefined message: %d\n", _m.id); debugMessage( buf ); break; } diff --git a/plugins/Vestige/Vestige.cpp b/plugins/Vestige/Vestige.cpp index 5a7d4afa0..05716008e 100644 --- a/plugins/Vestige/Vestige.cpp +++ b/plugins/Vestige/Vestige.cpp @@ -226,7 +226,7 @@ void VestigeInstrument::loadSettings( const QDomElement & _this ) QStringList s_dumpValues; for( int i = 0; i < paramCount; i++ ) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); s_dumpValues = dump[paramStr.data()].split(":"); knobFModel[i] = new FloatModel( 0.0f, 0.0f, 1.0f, 0.01f, this, QString::number(i) ); @@ -290,7 +290,7 @@ void VestigeInstrument::saveSettings( QDomDocument & _doc, QDomElement & _this ) for( int i = 0; i < paramCount; i++ ) { if (knobFModel[i]->isAutomated() || knobFModel[i]->controllerConnection()) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); knobFModel[i]->saveSettings(_doc, _this, paramStr.data()); } @@ -987,7 +987,7 @@ ManageVestigeInstrumentView::ManageVestigeInstrumentView( Instrument * _instrume for( int i = 0; i < m_vi->paramCount; i++ ) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); s_dumpValues = dump[paramStr.data()].split(":"); vstKnobs[ i ] = new CustomTextKnob( KnobType::Bright26, this, s_dumpValues.at( 1 ) ); @@ -996,7 +996,7 @@ ManageVestigeInstrumentView::ManageVestigeInstrumentView( Instrument * _instrume if( !hasKnobModel ) { - sprintf(paramStr.data(), "%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "%d", i); m_vi->knobFModel[i] = new FloatModel(LocaleHelper::toFloat(s_dumpValues.at(2)), 0.0f, 1.0f, 0.01f, castModel(), paramStr.data()); } @@ -1059,8 +1059,8 @@ void ManageVestigeInstrumentView::syncPlugin( void ) // those auto-setted values are not jurnaled, tracked for undo / redo if( !( m_vi->knobFModel[ i ]->isAutomated() || m_vi->knobFModel[ i ]->controllerConnection() ) ) { - sprintf(paramStr.data(), "param%d", i); - s_dumpValues = dump[paramStr.data()].split(":"); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); + s_dumpValues = dump[paramStr.data()].split(":"); float f_value = LocaleHelper::toFloat(s_dumpValues.at(2)); m_vi->knobFModel[ i ]->setAutomatedValue( f_value ); m_vi->knobFModel[ i ]->setInitValue( f_value ); diff --git a/plugins/VstEffect/VstEffectControls.cpp b/plugins/VstEffect/VstEffectControls.cpp index c9eb49234..ef8bd38d0 100644 --- a/plugins/VstEffect/VstEffectControls.cpp +++ b/plugins/VstEffect/VstEffectControls.cpp @@ -87,7 +87,7 @@ void VstEffectControls::loadSettings( const QDomElement & _this ) QStringList s_dumpValues; for( int i = 0; i < paramCount; i++ ) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); s_dumpValues = dump[paramStr.data()].split(":"); knobFModel[i] = new FloatModel( 0.0f, 0.0f, 1.0f, 0.01f, this, QString::number(i) ); @@ -137,7 +137,7 @@ void VstEffectControls::saveSettings( QDomDocument & _doc, QDomElement & _this ) for( int i = 0; i < paramCount; i++ ) { if (knobFModel[i]->isAutomated() || knobFModel[i]->controllerConnection()) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); knobFModel[i]->saveSettings(_doc, _this, paramStr.data()); } } @@ -386,7 +386,7 @@ ManageVSTEffectView::ManageVSTEffectView( VstEffect * _eff, VstEffectControls * for( int i = 0; i < m_vi->paramCount; i++ ) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); s_dumpValues = dump[paramStr.data()].split(":"); vstKnobs[ i ] = new CustomTextKnob( KnobType::Bright26, widget, s_dumpValues.at( 1 ) ); @@ -395,7 +395,7 @@ ManageVSTEffectView::ManageVSTEffectView( VstEffect * _eff, VstEffectControls * if( !hasKnobModel ) { - sprintf(paramStr.data(), "%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "%d", i); m_vi->knobFModel[i] = new FloatModel(LocaleHelper::toFloat(s_dumpValues.at(2)), 0.0f, 1.0f, 0.01f, _eff, paramStr.data()); } @@ -460,7 +460,7 @@ void ManageVSTEffectView::syncPlugin() if( !( m_vi2->knobFModel[ i ]->isAutomated() || m_vi2->knobFModel[ i ]->controllerConnection() ) ) { - sprintf(paramStr.data(), "param%d", i); + std::snprintf(paramStr.data(), paramStr.size(), "param%d", i); s_dumpValues = dump[paramStr.data()].split(":"); float f_value = LocaleHelper::toFloat(s_dumpValues.at(2)); m_vi2->knobFModel[ i ]->setAutomatedValue( f_value ); diff --git a/src/core/ComboBoxModel.cpp b/src/core/ComboBoxModel.cpp index f1b1c6b2e..80d1027de 100644 --- a/src/core/ComboBoxModel.cpp +++ b/src/core/ComboBoxModel.cpp @@ -29,20 +29,17 @@ namespace lmms { -using std::unique_ptr; -using std::move; - -void ComboBoxModel::addItem( QString item, unique_ptr loader ) +void ComboBoxModel::addItem(QString item, std::unique_ptr loader) { - m_items.emplace_back( move(item), move(loader) ); + m_items.emplace_back(std::move(item), std::move(loader)); setRange( 0, m_items.size() - 1 ); } -void ComboBoxModel::replaceItem(std::size_t index, QString item, unique_ptr loader) +void ComboBoxModel::replaceItem(std::size_t index, QString item, std::unique_ptr loader) { assert(index < m_items.size()); - m_items[index] = Item(move(item), move(loader)); + m_items[index] = Item(std::move(item), std::move(loader)); emit propertiesChanged(); } diff --git a/src/core/Keymap.cpp b/src/core/Keymap.cpp index 6683919fe..be422991a 100644 --- a/src/core/Keymap.cpp +++ b/src/core/Keymap.cpp @@ -147,7 +147,7 @@ void Keymap::loadSettings(const QDomElement &element) QDomNode node = element.firstChild(); m_map.clear(); - for (int i = 0; !node.isNull(); i++) + while (!node.isNull()) { m_map.push_back(node.toElement().attribute("value").toInt()); node = node.nextSibling(); diff --git a/src/core/ProjectRenderer.cpp b/src/core/ProjectRenderer.cpp index e5410e6f2..c56c34068 100644 --- a/src/core/ProjectRenderer.cpp +++ b/src/core/ProjectRenderer.cpp @@ -210,7 +210,7 @@ void ProjectRenderer::abortProcessing() void ProjectRenderer::updateConsoleProgress() { - const int cols = 50; + constexpr int cols = 50; static int rot = 0; auto buf = std::array{}; auto prog = std::array{}; @@ -221,9 +221,9 @@ void ProjectRenderer::updateConsoleProgress() } prog[cols] = 0; - const auto activity = (const char*)"|/-\\"; + const auto activity = "|/-\\"; std::fill(buf.begin(), buf.end(), 0); - sprintf(buf.data(), "\r|%s| %3d%% %c ", prog.data(), m_progress, + std::snprintf(buf.data(), buf.size(), "\r|%s| %3d%% %c ", prog.data(), m_progress, activity[rot] ); rot = ( rot+1 ) % 4; diff --git a/src/core/Scale.cpp b/src/core/Scale.cpp index df0effe6b..93279f2bc 100644 --- a/src/core/Scale.cpp +++ b/src/core/Scale.cpp @@ -116,7 +116,7 @@ void Scale::loadSettings(const QDomElement &element) QDomNode node = element.firstChild(); m_intervals.clear(); - for (int i = 0; !node.isNull(); i++) + while (!node.isNull()) { Interval temp; temp.restoreState(node.toElement()); diff --git a/src/core/midi/MidiApple.cpp b/src/core/midi/MidiApple.cpp index 444f093e5..14930ed84 100644 --- a/src/core/midi/MidiApple.cpp +++ b/src/core/midi/MidiApple.cpp @@ -159,7 +159,7 @@ void MidiApple::removePort( MidiPort* port ) QString MidiApple::sourcePortName( const MidiEvent& event ) const { - qDebug("sourcePortName return '%s'?\n", event.sourcePort()); + qDebug("sourcePortName"); /* if( event.sourcePort() ) { @@ -501,7 +501,7 @@ void MidiApple::openDevices() void MidiApple::openMidiReference( MIDIEndpointRef reference, QString refName, bool isIn ) { char * registeredName = (char*) malloc(refName.length()+1); - sprintf(registeredName, "%s",refName.toLatin1().constData()); + std::snprintf(registeredName, refName.length() + 1, "%s",refName.toLatin1().constData()); qDebug("openMidiReference refName '%s'",refName.toLatin1().constData()); MIDIClientRef mClient = getMidiClientRef(); @@ -623,7 +623,7 @@ char * MidiApple::getFullName(MIDIEndpointRef &endpoint_ref) size_t deviceNameLen = deviceName == nullptr ? 0 : strlen(deviceName); size_t endPointNameLen = endPointName == nullptr ? 0 : strlen(endPointName); char * fullName = (char *)malloc(deviceNameLen + endPointNameLen + 2); - sprintf(fullName, "%s:%s", deviceName,endPointName); + std::snprintf(fullName, deviceNameLen + endPointNameLen + 2, "%s:%s", deviceName,endPointName); if (deviceName != nullptr) { free(deviceName); } if (endPointName != nullptr) { free(endPointName); } return fullName; diff --git a/src/gui/widgets/Fader.cpp b/src/gui/widgets/Fader.cpp index 9a0da4db4..a647df416 100644 --- a/src/gui/widgets/Fader.cpp +++ b/src/gui/widgets/Fader.cpp @@ -282,20 +282,17 @@ void Fader::paintEvent(QPaintEvent* ev) void Fader::paintLevels(QPaintEvent* ev, QPainter& painter, bool linear) { - std::function mapper = [this](float value) { return ampToDbfs(qMax(0.0001f, value)); }; + const auto mapper = linear + ? +[](float value) -> float { return value; } + : +[](float value) -> float { return ampToDbfs(qMax(0.0001f, value)); }; - if (linear) - { - mapper = [this](float value) { return value; }; - } - - const float mappedMinPeak(mapper(m_fMinPeak)); - const float mappedMaxPeak(mapper(m_fMaxPeak)); - const float mappedPeakL(mapper(m_fPeakValue_L)); - const float mappedPeakR(mapper(m_fPeakValue_R)); - const float mappedPersistentPeakL(mapper(m_persistentPeak_L)); - const float mappedPersistentPeakR(mapper(m_persistentPeak_R)); - const float mappedUnity(mapper(1.f)); + const float mappedMinPeak = mapper(m_fMinPeak); + const float mappedMaxPeak = mapper(m_fMaxPeak); + const float mappedPeakL = mapper(m_fPeakValue_L); + const float mappedPeakR = mapper(m_fPeakValue_R); + const float mappedPersistentPeakL = mapper(m_persistentPeak_L); + const float mappedPersistentPeakR = mapper(m_persistentPeak_R); + const float mappedUnity = mapper(1.f); painter.save(); @@ -375,10 +372,10 @@ void Fader::paintLevels(QPaintEvent* ev, QPainter& painter, bool linear) // Please ensure that "clip starts" is the maximum value and that "ok ends" // is the minimum value and that all other values lie inbetween. Otherwise // there will be warnings when the gradient is defined. - const float mappedClipStarts(mapper(dbfsToAmp(0.f))); - const float mappedWarnEnd(mapper(dbfsToAmp(-0.01f))); - const float mappedWarnStart(mapper(dbfsToAmp(-6.f))); - const float mappedOkEnd(mapper(dbfsToAmp(-12.f))); + const float mappedClipStarts = mapper(dbfsToAmp(0.f)); + const float mappedWarnEnd = mapper(dbfsToAmp(-0.01f)); + const float mappedWarnStart = mapper(dbfsToAmp(-6.f)); + const float mappedOkEnd = mapper(dbfsToAmp(-12.f)); // Prepare the gradient for the meters // From ada836c989c04ede49670672999060c21ff737aa Mon Sep 17 00:00:00 2001 From: Kapandaria Date: Fri, 8 Nov 2024 23:15:34 +0200 Subject: [PATCH 040/112] Fix crash on Xpressive when using `integrate` function (#7499) * Fixed a bug in the integrate function, that was caused by warning fixes session. * Xpressive - fixed code style issues. --- plugins/Xpressive/ExprSynth.cpp | 41 ++++++++++++++++++++++----------- plugins/Xpressive/Xpressive.cpp | 20 +++++++++------- 2 files changed, 40 insertions(+), 21 deletions(-) diff --git a/plugins/Xpressive/ExprSynth.cpp b/plugins/Xpressive/ExprSynth.cpp index c48b94ec8..e6783211d 100644 --- a/plugins/Xpressive/ExprSynth.cpp +++ b/plugins/Xpressive/ExprSynth.cpp @@ -83,9 +83,10 @@ struct IntegrateFunction : public exprtk::ifunction IntegrateFunction(const unsigned int* frame, unsigned int sample_rate,unsigned int max_counters) : exprtk::ifunction(1), + m_firstValue(0), m_frame(frame), - m_sample_rate(sample_rate), - m_max_counters(max_counters), + m_sampleRate(sample_rate), + m_maxCounters(max_counters), m_nCounters(0), m_nCountersCalls(0), m_cc(0) @@ -96,15 +97,26 @@ struct IntegrateFunction : public exprtk::ifunction inline T operator()(const T& x) override { - if (*m_frame == 0) + if (m_frame) { - ++m_nCountersCalls; - if (m_nCountersCalls > m_max_counters) + if (m_nCountersCalls == 0) { - return 0; + m_firstValue = *m_frame; + } + if (m_firstValue == *m_frame) + { + ++m_nCountersCalls; + if (m_nCountersCalls > m_maxCounters) + { + return 0; + } + m_cc = m_nCounters; + ++m_nCounters; + } + else // we moved to the next frame + { + m_frame = 0; // this will indicate that we are no longer in init phase. } - m_cc = m_nCounters; - ++m_nCounters; } T res = 0; @@ -114,13 +126,16 @@ struct IntegrateFunction : public exprtk::ifunction m_counters[m_cc] += x; } m_cc = (m_cc + 1) % m_nCountersCalls; - return res / m_sample_rate; + return res / m_sampleRate; } - - const unsigned int* const m_frame; - const unsigned int m_sample_rate; - const unsigned int m_max_counters; + unsigned int m_firstValue; + const unsigned int* m_frame; + const unsigned int m_sampleRate; + // number of counters allocated + const unsigned int m_maxCounters; + // number of integrate instances that has counters allocated unsigned int m_nCounters; + // real number of integrate instances unsigned int m_nCountersCalls; unsigned int m_cc; double *m_counters; diff --git a/plugins/Xpressive/Xpressive.cpp b/plugins/Xpressive/Xpressive.cpp index 23a76b228..5ee7dcf8d 100644 --- a/plugins/Xpressive/Xpressive.cpp +++ b/plugins/Xpressive/Xpressive.cpp @@ -553,7 +553,7 @@ void XpressiveView::expressionChanged() { ExprFront expr(text.constData(),sample_rate); float t=0; const float f=10,key=5,v=0.5; - unsigned int i; + unsigned int frame_counter = 0; expr.add_variable("t", t); if (m_output_expr) @@ -572,20 +572,24 @@ void XpressiveView::expressionChanged() { expr.add_cyclic_vector("W2",e->graphW2().samples(),e->graphW2().length()); expr.add_cyclic_vector("W3",e->graphW3().samples(),e->graphW3().length()); } - expr.setIntegrate(&i,sample_rate); + expr.setIntegrate(&frame_counter,sample_rate); expr.add_constant("srate",sample_rate); const bool parse_ok=expr.compile(); if (parse_ok) { e->exprValid().setValue(0); - const auto length = static_cast(m_raw_graph->length()); + const unsigned int length = static_cast(m_raw_graph->length()); auto const samples = new float[length]; - for (auto i = std::size_t{0}; i < length; i++) { - t = i / (float) length; - samples[i] = expr.evaluate(); - if (std::isinf(samples[i]) != 0 || std::isnan(samples[i]) != 0) - samples[i] = 0; + // frame_counter's reference is used in the integrate function. + for (frame_counter = 0; frame_counter < length; ++frame_counter) + { + t = frame_counter / (float) length; + samples[frame_counter] = expr.evaluate(); + if (std::isinf(samples[frame_counter]) != 0 || std::isnan(samples[frame_counter]) != 0) + { + samples[frame_counter] = 0; + } } m_raw_graph->setSamples(samples); delete[] samples; From 0d7749d944af9eab0b1a8effedcfe13019d0c9c6 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 21 Nov 2024 00:03:58 +0530 Subject: [PATCH 041/112] Fix the MSVC CI fail happening due to outdated vcpkg (#7589) * switch to version 1 for msvc-dev-cmd github action * bump msvc build year * try refreshing vcpkg cache msvc * Revert "try refreshing vcpkg cache msvc" This reverts commit e8814f8cbd970073bd86cc80f31839102573975f. * try updating vcpkg manually * Revert "bump msvc build year" This reverts commit a95c75ee959c299a913ebeed4cd5f321c0ec372f. * messmerd's review comments * revert the version bump for msvc-dev-cmd * Fix `cd` command --------- Co-authored-by: Dalton Messmer --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 74134aabd..65fe8225a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -249,6 +249,12 @@ jobs: with: fetch-depth: 0 submodules: recursive + - name: Update vcpkg (TEMPORARY) + run: | + cd $env:VCPKG_INSTALLATION_ROOT + git pull + .\bootstrap-vcpkg.bat + shell: pwsh - name: Cache vcpkg dependencies id: cache-deps uses: actions/cache@v3 From 7e65a87ba85c19e040ac96e2e1712e7fc5e8e156 Mon Sep 17 00:00:00 2001 From: SpomJ <75751809+SpomJ@users.noreply.github.com> Date: Wed, 20 Nov 2024 22:08:27 +0300 Subject: [PATCH 042/112] Fix unrestricted splash screen geometry (#7588) --- src/gui/GuiApplication.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/GuiApplication.cpp b/src/gui/GuiApplication.cpp index 5c4bdd19a..31b989a92 100644 --- a/src/gui/GuiApplication.cpp +++ b/src/gui/GuiApplication.cpp @@ -106,6 +106,7 @@ GuiApplication::GuiApplication() // Show splash screen QSplashScreen splashScreen( embed::getIconPixmap( "splash" ) ); + splashScreen.setFixedSize(splashScreen.pixmap().size()); splashScreen.show(); QHBoxLayout layout; From 26d5241dd763b1212581ad57cda2a01bce1facc9 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Thu, 21 Nov 2024 14:29:51 +0530 Subject: [PATCH 043/112] Optimise usage of pow using fast equivalent and exp2 (#7548) * replace std::pow with better performing equivalents * revert one instance where I swapped to fastPow10f * Negative slope instead of multiplying -1 Co-authored-by: saker --------- Co-authored-by: saker --- include/Oscillator.h | 2 +- plugins/FreeBoy/FreeBoy.cpp | 4 ++-- plugins/Monstro/Monstro.cpp | 4 ++-- plugins/MultitapEcho/MultitapEchoControls.cpp | 2 +- plugins/SlicerT/SlicerT.cpp | 2 +- src/core/DrumSynth.cpp | 21 ++++++++++--------- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/include/Oscillator.h b/include/Oscillator.h index 0a5e166dc..501002b8e 100644 --- a/include/Oscillator.h +++ b/include/Oscillator.h @@ -237,7 +237,7 @@ public: static inline float freqFromWaveTableBand(int band) { - return 440.0f * std::pow(2.0f, (band * OscillatorConstants::SEMITONES_PER_TABLE - 69.0f) / 12.0f); + return 440.0f * std::exp2((band * OscillatorConstants::SEMITONES_PER_TABLE - 69.0f) / 12.0f); } private: diff --git a/plugins/FreeBoy/FreeBoy.cpp b/plugins/FreeBoy/FreeBoy.cpp index e9acddeeb..c0eadf2f1 100644 --- a/plugins/FreeBoy/FreeBoy.cpp +++ b/plugins/FreeBoy/FreeBoy.cpp @@ -352,14 +352,14 @@ void FreeBoyInstrument::playNote(NotePlayHandle* nph, SampleFrame* workingBuffer // a unique frequency, we can start by guessing s = r = 0 here and then skip r = 0 in the loop. char clock_freq = 0; char div_ratio = 0; - float closest_freq = 524288.0 / (0.5 * std::pow(2.0, clock_freq + 1.0)); + float closest_freq = 524288.0 / (0.5 * std::exp2(clock_freq + 1.0)); // This nested for loop iterates over all possible combinations of clock frequency and dividing // ratio and chooses the combination whose resulting frequency is closest to the note frequency for (char s = 0; s < 16; ++s) { for (char r = 1; r < 8; ++r) { - float f = 524288.0 / (r * std::pow(2.0, s + 1.0)); + float f = 524288.0 / (r * std::exp2(s + 1.0)); if (std::fabs(freq - closest_freq) > std::fabs(freq - f)) { closest_freq = f; diff --git a/plugins/Monstro/Monstro.cpp b/plugins/Monstro/Monstro.cpp index ff92abbb6..c7d22edfe 100644 --- a/plugins/Monstro/Monstro.cpp +++ b/plugins/Monstro/Monstro.cpp @@ -1462,14 +1462,14 @@ void MonstroInstrument::updateSamplerate() void MonstroInstrument::updateSlope1() { const float slope = m_env1Slope.value(); - m_slope[0] = std::pow(10.f, slope * -1.0f ); + m_slope[0] = fastPow10f(-slope); } void MonstroInstrument::updateSlope2() { const float slope = m_env2Slope.value(); - m_slope[1] = std::pow(10.f, slope * -1.0f ); + m_slope[1] = fastPow10f(-slope); } diff --git a/plugins/MultitapEcho/MultitapEchoControls.cpp b/plugins/MultitapEcho/MultitapEchoControls.cpp index 4df05afc6..81f71d460 100644 --- a/plugins/MultitapEcho/MultitapEchoControls.cpp +++ b/plugins/MultitapEcho/MultitapEchoControls.cpp @@ -147,7 +147,7 @@ void MultitapEchoControls::lpSamplesChanged( int begin, int end ) const float * samples = m_lpGraph.samples(); for( int i = begin; i <= end; ++i ) { - m_effect->m_lpFreq[i] = 20.0f * std::pow(10.f, samples[i] ); + m_effect->m_lpFreq[i] = 20.0f * fastPow10f(samples[i]); } m_effect->updateFilters( begin, end ); } diff --git a/plugins/SlicerT/SlicerT.cpp b/plugins/SlicerT/SlicerT.cpp index 3b0602584..e510e8cb9 100644 --- a/plugins/SlicerT/SlicerT.cpp +++ b/plugins/SlicerT/SlicerT.cpp @@ -214,7 +214,7 @@ void SlicerT::findSlices() float magnitude = std::sqrt(real * real + imag * imag); // using L2-norm (euclidean distance) - float diff = std::sqrt(std::pow(magnitude - prevMags[j], 2)); + float diff = std::abs(magnitude - prevMags[j]); spectralFlux += diff; prevMags[j] = magnitude; diff --git a/src/core/DrumSynth.cpp b/src/core/DrumSynth.cpp index f855639cb..5421886f8 100644 --- a/src/core/DrumSynth.cpp +++ b/src/core/DrumSynth.cpp @@ -30,6 +30,8 @@ #include #include +#include "lmms_math.h" + #ifdef _MSC_VER // not #if LMMS_BUILD_WIN32 because we have strncasecmp in mingw #define strcasecmp _stricmp @@ -403,13 +405,13 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa timestretch *= Fs / 44100.f; DGain = 1.0f; // leave this here! - DGain = static_cast(std::pow(10.0, 0.05 * GetPrivateProfileFloat(sec, "Level", 0, dsfile))); + DGain = fastPow10f(0.05 * GetPrivateProfileFloat(sec, "Level", 0, dsfile)); MasterTune = GetPrivateProfileFloat(sec, "Tuning", 0.0, dsfile); - MasterTune = static_cast(std::pow(1.0594631f, MasterTune + mem_tune)); + MasterTune = std::pow(1.0594631f, MasterTune + mem_tune); MainFilter = 2 * GetPrivateProfileInt(sec, "Filter", 0, dsfile); MFres = 0.0101f * GetPrivateProfileFloat(sec, "Resonance", 0.0, dsfile); - MFres = static_cast(std::pow(MFres, 0.5f)); + MFres = std::sqrt(MFres); HighPass = GetPrivateProfileInt(sec, "HighPass", 0, dsfile); GetEnv(7, sec, "FilterEnv", dsfile); @@ -455,7 +457,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa TDroopRate = GetPrivateProfileFloat(sec, "Droop", 0.f, dsfile); if (TDroopRate > 0.f) { - TDroopRate = static_cast(std::pow(10.0f, (TDroopRate - 20.0f) / 30.0f)); + TDroopRate = fastPow10f((TDroopRate - 20.0f) / 30.0f); TDroopRate = TDroopRate * -4.f / envData[1][MAX]; TDroop = 1; F2 = F1 + ((F2 - F1) / (1.f - static_cast(exp(TDroopRate * envData[1][MAX])))); @@ -482,7 +484,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa OW1 = GetPrivateProfileInt(sec, "Wave1", 0, dsfile); OW2 = GetPrivateProfileInt(sec, "Wave2", 0, dsfile); OBal2 = static_cast(GetPrivateProfileInt(sec, "Param", 50, dsfile)); - ODrive = static_cast(std::pow(OBal2, 3.0f)) / std::pow(50.0f, 3.0f); + ODrive = (OBal2 * OBal2 * OBal2) / 125000.0f; OBal2 *= 0.01f; OBal1 = 1.f - OBal2; Ophi1 = Tphi; @@ -556,9 +558,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa { DAtten = DGain * static_cast(LoudestEnv()); clippoint = DAtten > 32700 ? 32700 : static_cast(DAtten); - DAtten = static_cast(std::pow(2.0, 2.0 * GetPrivateProfileInt(sec, "Bits", 0, dsfile))); - DGain = DAtten * DGain - * static_cast(std::pow(10.0, 0.05 * GetPrivateProfileInt(sec, "Clipping", 0, dsfile))); + DAtten = std::exp2(2.0 * GetPrivateProfileInt(sec, "Bits", 0, dsfile)); + DGain = DAtten * DGain * fastPow10f(0.05 * GetPrivateProfileInt(sec, "Clipping", 0, dsfile)); } // prepare envelopes @@ -856,7 +857,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa MFtmp = envData[7][ENV]; if (MFtmp > 0.2f) { - MFfb = 1.001f - static_cast(std::pow(10.0f, MFtmp - 1)); + MFfb = 1.001f - fastPow10f(MFtmp - 1); } else { @@ -883,7 +884,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa MFtmp = envData[7][ENV]; if (MFtmp > 0.2f) { - MFfb = 1.001f - static_cast(std::pow(10.0f, MFtmp - 1)); + MFfb = 1.001f - fastPow10f(MFtmp - 1); } else { From bf54568ac638e96d3d8239c0a1b3eb44a2b8e061 Mon Sep 17 00:00:00 2001 From: Arash Partow Date: Sat, 23 Nov 2024 02:15:46 +1100 Subject: [PATCH 044/112] Update ExprTk (#7571) --- .gitmodules | 1 + plugins/Xpressive/exprtk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 58c4d8526..87d9a04f1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,6 +16,7 @@ [submodule "plugins/Xpressive/exprtk"] path = plugins/Xpressive/exprtk url = https://github.com/ArashPartow/exprtk + branch = release [submodule "plugins/LadspaEffect/swh/ladspa"] path = plugins/LadspaEffect/swh/ladspa url = https://github.com/swh/ladspa diff --git a/plugins/Xpressive/exprtk b/plugins/Xpressive/exprtk index f46bffcd6..a4b17d543 160000 --- a/plugins/Xpressive/exprtk +++ b/plugins/Xpressive/exprtk @@ -1 +1 @@ -Subproject commit f46bffcd6966d38a09023fb37ba9335214c9b959 +Subproject commit a4b17d543f072d2e3ba564e4bc5c3a0d2b05c338 From 72b30b1d00b1ab10aa0f68cf99501c524bd1488c Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Fri, 22 Nov 2024 22:47:37 -0500 Subject: [PATCH 045/112] Remove pkg-config from Brewfile (#7593) * Update pkg-config to pkgconf * Remove pkg-config/pkgconf Should already be installed by GitHub Actions runner image --- Brewfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Brewfile b/Brewfile index 1bfbd7b01..42ae8180d 100644 --- a/Brewfile +++ b/Brewfile @@ -13,7 +13,6 @@ brew "libsoundio" brew "libvorbis" brew "lilv" brew "lv2" -brew "pkg-config" brew "portaudio" brew "qt@5" brew "sdl2" From c21a7cd4877d1dd8d1cc451d16cd9f2e62d1c371 Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Fri, 22 Nov 2024 23:11:39 -0500 Subject: [PATCH 046/112] Upgrade to C++20 (#7554) * Compile in C++20 mode * Fix implicit lambda captures of `this` by `[=]` Those implicit captures were deprecated in C++20 * Silence MSVC atomic std::shared_ptr warning Unfortunately std::atomic (P0718R2) is not supported by GCC until GCC 12 and still is not supported by Clang or Apple Clang, so it looks like we will continue using std::atomic_load for the time being * Use C++20 in RemoteVstPlugin * Simplification * Add comment * Fix bitwise operations between different enumeration types * Revert "Fix bitwise operations between different enumeration types" This reverts commit d45792cd72ad35411229add69ea89d2e17b710d7. * Use a helper function to combine keys and modifiers * Remove AnalyzeTemporaryDtors from .clang-tidy AnalyzeTemporaryDtors was deprecated in clang-tidy 16 and fully removed in clang-tidy 18 * Use C++20 in .clang-format * Use bitwise OR Prevents issues if any enum flags in `args` have bits in common --- .clang-format | 2 +- .clang-tidy | 1 - cmake/modules/ErrorFlags.cmake | 4 +++ include/DeprecationHelper.h | 27 ++++++++++++++ plugins/CMakeLists.txt | 4 +-- plugins/SpectrumAnalyzer/SaControlsDialog.cpp | 1 - plugins/SpectrumAnalyzer/SaWaterfallView.cpp | 1 + plugins/Vibed/NineButtonSelector.cpp | 2 +- .../VstBase/RemoteVstPlugin/CMakeLists.txt | 4 +-- src/3rdparty/CMakeLists.txt | 2 +- src/3rdparty/hiir/CMakeLists.txt | 2 +- src/CMakeLists.txt | 4 +-- src/gui/ControllerRackView.cpp | 14 ++++---- src/gui/EffectRackView.cpp | 8 +++-- src/gui/FileBrowser.cpp | 8 ++--- src/gui/MainWindow.cpp | 35 ++++++++++--------- src/gui/MicrotunerConfig.cpp | 20 +++++------ src/gui/PluginBrowser.cpp | 2 +- src/gui/SideBarWidget.cpp | 2 +- src/gui/editors/AutomationEditor.cpp | 8 ++--- src/gui/editors/Editor.cpp | 5 +-- src/gui/editors/PianoRoll.cpp | 24 ++++++------- tests/CMakeLists.txt | 2 +- 23 files changed, 109 insertions(+), 73 deletions(-) diff --git a/.clang-format b/.clang-format index 6ef53c0ba..2dd10f73e 100644 --- a/.clang-format +++ b/.clang-format @@ -1,7 +1,7 @@ --- # Language Language: Cpp -Standard: Cpp11 # Cpp14 and Cpp17 are not supported by clang 11 +Standard: c++20 # Indentation TabWidth: 4 diff --git a/.clang-tidy b/.clang-tidy index 5de9376e5..9c69f4c3c 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -20,7 +20,6 @@ Checks: > readability-simplify-boolean-expr WarningsAsErrors: '' HeaderFilterRegex: '' # don't show errors from headers -AnalyzeTemporaryDtors: false FormatStyle: none User: user CheckOptions: diff --git a/cmake/modules/ErrorFlags.cmake b/cmake/modules/ErrorFlags.cmake index 57cc6ad49..175c95611 100644 --- a/cmake/modules/ErrorFlags.cmake +++ b/cmake/modules/ErrorFlags.cmake @@ -65,6 +65,10 @@ elseif(MSVC) "/WX" # Treat warnings as errors ) endif() + + # Silence deprecation warnings for the std::atomic_... family of functions. + # TODO: Remove once C++20's std::atomic is fully supported. + add_compile_definitions("_SILENCE_CXX20_OLD_SHARED_PTR_ATOMIC_SUPPORT_DEPRECATION_WARNING") endif() # Add the flags to the whole directory tree. We use the third-party flags for diff --git a/include/DeprecationHelper.h b/include/DeprecationHelper.h index b9be6d42f..02a57c3fa 100644 --- a/include/DeprecationHelper.h +++ b/include/DeprecationHelper.h @@ -27,7 +27,10 @@ #ifndef LMMS_DEPRECATIONHELPER_H #define LMMS_DEPRECATIONHELPER_H +#include + #include +#include #include namespace lmms @@ -64,6 +67,30 @@ inline QPoint position(QWheelEvent *wheelEvent) #endif } + +namespace detail +{ + +template +inline constexpr bool IsKeyOrModifier = std::is_same_v + || std::is_same_v || std::is_same_v; + +} // namespace detail + + +/** + * @brief Combines Qt key and modifier arguments together, + * replacing `A | B` which was deprecated in C++20 + * due to the enums being different types. (P1120R0) + * @param args Any number of Qt::Key, Qt::Modifier, or Qt::KeyboardModifier + * @return The combination of the given keys/modifiers as an int + */ +template && ...), bool> = true> +constexpr int combine(Args... args) +{ + return (0 | ... | static_cast(args)); +} + } // namespace lmms #endif // LMMS_DEPRECATIONHELPER_H diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 04862cac1..7b63e5ead 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -2,8 +2,8 @@ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") SET(CMAKE_DEBUG_POSTFIX "") -# Enable C++17 -SET(CMAKE_CXX_STANDARD 17) +# Enable C++20 +SET(CMAKE_CXX_STANDARD 20) IF(LMMS_BUILD_APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") diff --git a/plugins/SpectrumAnalyzer/SaControlsDialog.cpp b/plugins/SpectrumAnalyzer/SaControlsDialog.cpp index 2b0ca4fec..8b2c0f35e 100644 --- a/plugins/SpectrumAnalyzer/SaControlsDialog.cpp +++ b/plugins/SpectrumAnalyzer/SaControlsDialog.cpp @@ -341,7 +341,6 @@ SaControlsDialog::SaControlsDialog(SaControls *controls, SaProcessor *processor) m_waterfall = new SaWaterfallView(controls, processor, this); display_splitter->addWidget(m_waterfall); m_waterfall->setVisible(m_controls->m_waterfallModel.value()); - connect(&controls->m_waterfallModel, &BoolModel::dataChanged, [=] {m_waterfall->updateVisibility();}); } diff --git a/plugins/SpectrumAnalyzer/SaWaterfallView.cpp b/plugins/SpectrumAnalyzer/SaWaterfallView.cpp index 5169a4b49..b3e57d7c0 100644 --- a/plugins/SpectrumAnalyzer/SaWaterfallView.cpp +++ b/plugins/SpectrumAnalyzer/SaWaterfallView.cpp @@ -54,6 +54,7 @@ SaWaterfallView::SaWaterfallView(SaControls *controls, SaProcessor *processor, Q setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); connect(getGUI()->mainWindow(), SIGNAL(periodicUpdate()), this, SLOT(periodicUpdate())); + connect(&controls->m_waterfallModel, &BoolModel::dataChanged, this, &SaWaterfallView::updateVisibility); m_displayTop = 1; m_displayBottom = height() -2; diff --git a/plugins/Vibed/NineButtonSelector.cpp b/plugins/Vibed/NineButtonSelector.cpp index 3a68e5ee6..38c890d80 100644 --- a/plugins/Vibed/NineButtonSelector.cpp +++ b/plugins/Vibed/NineButtonSelector.cpp @@ -47,7 +47,7 @@ NineButtonSelector::NineButtonSelector(std::array onOffIcons, int d m_buttons[i]->setActiveGraphic(onOffIcons[i * 2]); m_buttons[i]->setInactiveGraphic(onOffIcons[(i * 2) + 1]); m_buttons[i]->setChecked(false); - connect(m_buttons[i].get(), &PixmapButton::clicked, this, [=](){ this->buttonClicked(i); }); + connect(m_buttons[i].get(), &PixmapButton::clicked, this, [=, this](){ buttonClicked(i); }); } m_lastBtn = m_buttons[defaultButton].get(); diff --git a/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt b/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt index 3f861e2d5..8281d2a30 100644 --- a/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt +++ b/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt @@ -6,7 +6,7 @@ endif() project(RemoteVstPlugin LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) include(CheckCXXPreprocessor) include(CheckCXXSourceCompiles) @@ -73,7 +73,7 @@ if(MSVC) endif() if(IS_MINGW) - SET(CMAKE_REQUIRED_FLAGS "-std=c++17") + SET(CMAKE_REQUIRED_FLAGS "-std=c++20") endif() if(LMMS_BUILD_WIN32) diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index e5cb62527..a959e3c7b 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -15,7 +15,7 @@ ADD_SUBDIRECTORY(weakjack) add_library(ringbuffer OBJECT ringbuffer/src/lib/ringbuffer.cpp ) -target_compile_features(ringbuffer PUBLIC cxx_std_17) +target_compile_features(ringbuffer PUBLIC cxx_std_20) target_include_directories(ringbuffer PUBLIC ringbuffer/include "${CMAKE_CURRENT_BINARY_DIR}" diff --git a/src/3rdparty/hiir/CMakeLists.txt b/src/3rdparty/hiir/CMakeLists.txt index e954ff187..248322adb 100644 --- a/src/3rdparty/hiir/CMakeLists.txt +++ b/src/3rdparty/hiir/CMakeLists.txt @@ -1,3 +1,3 @@ add_library(hiir INTERFACE) target_include_directories(hiir INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) -target_compile_features(hiir INTERFACE cxx_std_17) +target_compile_features(hiir INTERFACE cxx_std_20) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7645e49e3..c458a5cd2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,8 +9,8 @@ SET(CMAKE_AUTOMOC ON) SET(CMAKE_AUTOUIC ON) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -# Enable C++17 -SET(CMAKE_CXX_STANDARD 17) +# Enable C++20 +SET(CMAKE_CXX_STANDARD 20) IF(LMMS_BUILD_APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") diff --git a/src/gui/ControllerRackView.cpp b/src/gui/ControllerRackView.cpp index e7d2efebd..1cc80c08f 100644 --- a/src/gui/ControllerRackView.cpp +++ b/src/gui/ControllerRackView.cpp @@ -23,6 +23,8 @@ * */ +#include "ControllerRackView.h" + #include #include #include @@ -30,13 +32,13 @@ #include #include -#include "Song.h" +#include "ControllerView.h" +#include "DeprecationHelper.h" #include "embed.h" #include "GuiApplication.h" -#include "MainWindow.h" -#include "ControllerRackView.h" -#include "ControllerView.h" #include "LfoController.h" +#include "MainWindow.h" +#include "Song.h" #include "SubWindow.h" namespace lmms::gui @@ -167,13 +169,13 @@ void ControllerRackView::addController(Controller* controller) connect(controllerView, &ControllerView::removedController, this, &ControllerRackView::deleteController, Qt::QueuedConnection); auto moveUpAction = new QAction(controllerView); - moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); + moveUpAction->setShortcut(combine(Qt::Key_Up, Qt::AltModifier)); moveUpAction->setShortcutContext(Qt::WidgetShortcut); connect(moveUpAction, &QAction::triggered, controllerView, &ControllerView::moveUp); controllerView->addAction(moveUpAction); auto moveDownAction = new QAction(controllerView); - moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); + moveDownAction->setShortcut(combine(Qt::Key_Down, Qt::AltModifier)); moveDownAction->setShortcutContext(Qt::WidgetShortcut); connect(moveDownAction, &QAction::triggered, controllerView, &ControllerView::moveDown); controllerView->addAction(moveDownAction); diff --git a/src/gui/EffectRackView.cpp b/src/gui/EffectRackView.cpp index b43ec7648..6a4b3124d 100644 --- a/src/gui/EffectRackView.cpp +++ b/src/gui/EffectRackView.cpp @@ -23,13 +23,15 @@ * */ +#include "EffectRackView.h" + #include #include #include #include #include -#include "EffectRackView.h" +#include "DeprecationHelper.h" #include "EffectSelectDialog.h" #include "EffectView.h" #include "GroupBox.h" @@ -176,13 +178,13 @@ void EffectRackView::update() connect(view, &EffectView::deletedPlugin, this, &EffectRackView::deletePlugin, Qt::QueuedConnection); QAction* moveUpAction = new QAction(view); - moveUpAction->setShortcut(Qt::Key_Up | Qt::AltModifier); + moveUpAction->setShortcut(combine(Qt::Key_Up, Qt::AltModifier)); moveUpAction->setShortcutContext(Qt::WidgetShortcut); connect(moveUpAction, &QAction::triggered, view, &EffectView::moveUp); view->addAction(moveUpAction); QAction* moveDownAction = new QAction(view); - moveDownAction->setShortcut(Qt::Key_Down | Qt::AltModifier); + moveDownAction->setShortcut(combine(Qt::Key_Down, Qt::AltModifier)); moveDownAction->setShortcutContext(Qt::WidgetShortcut); connect(moveDownAction, &QAction::triggered, view, &EffectView::moveDown); view->addAction(moveDownAction); diff --git a/src/gui/FileBrowser.cpp b/src/gui/FileBrowser.cpp index e5168fac8..a9f18d6fd 100644 --- a/src/gui/FileBrowser.cpp +++ b/src/gui/FileBrowser.cpp @@ -635,7 +635,7 @@ void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent * e ) contextMenu.addAction( tr( "Send to active instrument-track" ), - [=]{ sendToActiveInstrumentTrack(file); } + [=, this]{ sendToActiveInstrumentTrack(file); } ); contextMenu.addSeparator(); @@ -643,7 +643,7 @@ void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent * e ) contextMenu.addAction( QIcon(embed::getIconPixmap("folder")), tr("Open containing folder"), - [=]{ openContainingFolder(file); } + [=, this]{ openContainingFolder(file); } ); auto songEditorHeader = new QAction(tr("Song Editor"), nullptr); @@ -676,14 +676,14 @@ QList FileBrowserTreeWidget::getContextActions(FileItem* file, bool so auto toInstrument = new QAction(instrumentAction + tr(" (%2Enter)").arg(shortcutMod), nullptr); connect(toInstrument, &QAction::triggered, - [=]{ openInNewInstrumentTrack(file, songEditor); }); + [=, this]{ openInNewInstrumentTrack(file, songEditor); }); result.append(toInstrument); if (songEditor && fileIsSample) { auto toSampleTrack = new QAction(tr("Send to new sample track (Shift + Enter)"), nullptr); connect(toSampleTrack, &QAction::triggered, - [=]{ openInNewSampleTrack(file); }); + [=, this]{ openInNewSampleTrack(file); }); result.append(toSampleTrack); } diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index c45ea14ac..48d2ddb30 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -38,6 +38,7 @@ #include "AboutDialog.h" #include "AutomationEditor.h" #include "ControllerRackView.h" +#include "DeprecationHelper.h" #include "embed.h" #include "Engine.h" #include "ExportProjectDialog.h" @@ -293,11 +294,11 @@ void MainWindow::finalize() project_menu->addAction( embed::getIconPixmap( "project_save" ), tr( "Save &As..." ), this, SLOT(saveProjectAs()), - Qt::CTRL + Qt::SHIFT + Qt::Key_S ); + combine(Qt::CTRL, Qt::SHIFT, Qt::Key_S)); project_menu->addAction( embed::getIconPixmap( "project_save" ), tr( "Save as New &Version" ), this, SLOT(saveProjectAsNewVersion()), - Qt::CTRL + Qt::ALT + Qt::Key_S ); + combine(Qt::CTRL, Qt::ALT, Qt::Key_S)); project_menu->addAction( embed::getIconPixmap( "project_save" ), tr( "Save as default template" ), @@ -312,23 +313,23 @@ void MainWindow::finalize() tr( "E&xport..." ), this, SLOT(onExportProject()), - Qt::CTRL + Qt::Key_E ); + combine(Qt::CTRL, Qt::Key_E)); project_menu->addAction( embed::getIconPixmap( "project_export" ), tr( "E&xport Tracks..." ), this, SLOT(onExportProjectTracks()), - Qt::CTRL + Qt::SHIFT + Qt::Key_E ); + combine(Qt::CTRL, Qt::SHIFT, Qt::Key_E)); project_menu->addAction( embed::getIconPixmap( "midi_file" ), tr( "Export &MIDI..." ), this, SLOT(onExportProjectMidi()), - Qt::CTRL + Qt::Key_M ); + combine(Qt::CTRL, Qt::Key_M)); project_menu->addSeparator(); project_menu->addAction( embed::getIconPixmap( "exit" ), tr( "&Quit" ), qApp, SLOT(closeAllWindows()), - Qt::CTRL + Qt::Key_Q ); + combine(Qt::CTRL, Qt::Key_Q)); auto edit_menu = new QMenu(this); menuBar()->addMenu( edit_menu )->setText( tr( "&Edit" ) ); @@ -341,13 +342,13 @@ void MainWindow::finalize() this, SLOT(redo()), QKeySequence::Redo ); // Ensure that both (Ctrl+Y) and (Ctrl+Shift+Z) activate redo shortcut regardless of OS defaults - if (QKeySequence(QKeySequence::Redo) != QKeySequence(Qt::CTRL + Qt::Key_Y)) + if (QKeySequence(QKeySequence::Redo) != QKeySequence(combine(Qt::CTRL, Qt::Key_Y))) { - new QShortcut( QKeySequence( Qt::CTRL + Qt::Key_Y ), this, SLOT(redo())); + new QShortcut(QKeySequence(combine(Qt::CTRL, Qt::Key_Y)), this, SLOT(redo())); } - if (QKeySequence(QKeySequence::Redo) != QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Z )) + if (QKeySequence(QKeySequence::Redo) != QKeySequence(combine(Qt::CTRL, Qt::SHIFT, Qt::Key_Z))) { - new QShortcut( QKeySequence( Qt::CTRL + Qt::SHIFT + Qt::Key_Z ), this, SLOT(redo())); + new QShortcut(QKeySequence(combine(Qt::CTRL, Qt::SHIFT, Qt::Key_Z)), this, SLOT(redo())); } edit_menu->addSeparator(); @@ -446,31 +447,31 @@ void MainWindow::finalize() // window-toolbar auto song_editor_window = new ToolButton(embed::getIconPixmap("songeditor"), tr("Song Editor") + " (Ctrl+1)", this, SLOT(toggleSongEditorWin()), m_toolBar); - song_editor_window->setShortcut( Qt::CTRL + Qt::Key_1 ); + song_editor_window->setShortcut(combine(Qt::CTRL, Qt::Key_1)); auto pattern_editor_window = new ToolButton(embed::getIconPixmap("pattern_track_btn"), tr("Pattern Editor") + " (Ctrl+2)", this, SLOT(togglePatternEditorWin()), m_toolBar); - pattern_editor_window->setShortcut(Qt::CTRL + Qt::Key_2); + pattern_editor_window->setShortcut(combine(Qt::CTRL, Qt::Key_2)); auto piano_roll_window = new ToolButton( embed::getIconPixmap("piano"), tr("Piano Roll") + " (Ctrl+3)", this, SLOT(togglePianoRollWin()), m_toolBar); - piano_roll_window->setShortcut( Qt::CTRL + Qt::Key_3 ); + piano_roll_window->setShortcut(combine(Qt::CTRL, Qt::Key_3)); auto automation_editor_window = new ToolButton(embed::getIconPixmap("automation"), tr("Automation Editor") + " (Ctrl+4)", this, SLOT(toggleAutomationEditorWin()), m_toolBar); - automation_editor_window->setShortcut( Qt::CTRL + Qt::Key_4 ); + automation_editor_window->setShortcut(combine(Qt::CTRL, Qt::Key_4)); auto mixer_window = new ToolButton( embed::getIconPixmap("mixer"), tr("Mixer") + " (Ctrl+5)", this, SLOT(toggleMixerWin()), m_toolBar); - mixer_window->setShortcut( Qt::CTRL + Qt::Key_5 ); + mixer_window->setShortcut(combine(Qt::CTRL, Qt::Key_5)); auto controllers_window = new ToolButton(embed::getIconPixmap("controller"), tr("Show/hide controller rack") + " (Ctrl+6)", this, SLOT(toggleControllerRack()), m_toolBar); - controllers_window->setShortcut( Qt::CTRL + Qt::Key_6 ); + controllers_window->setShortcut(combine(Qt::CTRL, Qt::Key_6)); auto project_notes_window = new ToolButton(embed::getIconPixmap("project_notes"), tr("Show/hide project notes") + " (Ctrl+7)", this, SLOT(toggleProjectNotesWin()), m_toolBar); - project_notes_window->setShortcut( Qt::CTRL + Qt::Key_7 ); + project_notes_window->setShortcut(combine(Qt::CTRL, Qt::Key_7)); m_toolBarLayout->addWidget( song_editor_window, 1, 1 ); m_toolBarLayout->addWidget( pattern_editor_window, 1, 2 ); diff --git a/src/gui/MicrotunerConfig.cpp b/src/gui/MicrotunerConfig.cpp index 20660df41..3b952ba0a 100644 --- a/src/gui/MicrotunerConfig.cpp +++ b/src/gui/MicrotunerConfig.cpp @@ -94,7 +94,7 @@ MicrotunerConfig::MicrotunerConfig() : auto scaleCombo = new ComboBox(); scaleCombo->setModel(&m_scaleComboModel); microtunerLayout->addWidget(scaleCombo, 1, 0, 1, 2); - connect(&m_scaleComboModel, &ComboBoxModel::dataChanged, [=] {updateScaleForm();}); + connect(&m_scaleComboModel, &ComboBoxModel::dataChanged, this, &MicrotunerConfig::updateScaleForm); m_scaleNameEdit = new QLineEdit("12-TET"); m_scaleNameEdit->setToolTip(tr("Scale description. Cannot start with \"!\" and cannot contain a newline character.")); @@ -106,8 +106,8 @@ MicrotunerConfig::MicrotunerConfig() : saveScaleButton->setToolTip(tr("Save scale definition to a file.")); microtunerLayout->addWidget(loadScaleButton, 3, 0, 1, 1); microtunerLayout->addWidget(saveScaleButton, 3, 1, 1, 1); - connect(loadScaleButton, &QPushButton::clicked, [=] {loadScaleFromFile();}); - connect(saveScaleButton, &QPushButton::clicked, [=] {saveScaleToFile();}); + connect(loadScaleButton, &QPushButton::clicked, this, &MicrotunerConfig::loadScaleFromFile); + connect(saveScaleButton, &QPushButton::clicked, this, &MicrotunerConfig::saveScaleToFile); m_scaleTextEdit = new QPlainTextEdit(); m_scaleTextEdit->setPlainText("100.0\n200.0\n300.0\n400.0\n500.0\n600.0\n700.0\n800.0\n900.0\n1000.0\n1100.0\n1200.0"); @@ -117,7 +117,7 @@ MicrotunerConfig::MicrotunerConfig() : auto applyScaleButton = new QPushButton(tr("Apply scale changes")); applyScaleButton->setToolTip(tr("Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument.")); microtunerLayout->addWidget(applyScaleButton, 6, 0, 1, 2); - connect(applyScaleButton, &QPushButton::clicked, [=] {applyScale();}); + connect(applyScaleButton, &QPushButton::clicked, this, &MicrotunerConfig::applyScale); // ---------------------------------- // Mapping sub-column @@ -132,7 +132,7 @@ MicrotunerConfig::MicrotunerConfig() : auto keymapCombo = new ComboBox(); keymapCombo->setModel(&m_keymapComboModel); microtunerLayout->addWidget(keymapCombo, 1, 2, 1, 2); - connect(&m_keymapComboModel, &ComboBoxModel::dataChanged, [=] {updateKeymapForm();}); + connect(&m_keymapComboModel, &ComboBoxModel::dataChanged, this, &MicrotunerConfig::updateKeymapForm); m_keymapNameEdit = new QLineEdit("default"); m_keymapNameEdit->setToolTip(tr("Keymap description. Cannot start with \"!\" and cannot contain a newline character.")); @@ -144,8 +144,8 @@ MicrotunerConfig::MicrotunerConfig() : saveKeymapButton->setToolTip(tr("Save key mapping definition to a file.")); microtunerLayout->addWidget(loadKeymapButton, 3, 2, 1, 1); microtunerLayout->addWidget(saveKeymapButton, 3, 3, 1, 1); - connect(loadKeymapButton, &QPushButton::clicked, [=] {loadKeymapFromFile();}); - connect(saveKeymapButton, &QPushButton::clicked, [=] {saveKeymapToFile();}); + connect(loadKeymapButton, &QPushButton::clicked, this, &MicrotunerConfig::loadKeymapFromFile); + connect(saveKeymapButton, &QPushButton::clicked, this, &MicrotunerConfig::saveKeymapToFile); m_keymapTextEdit = new QPlainTextEdit(); m_keymapTextEdit->setPlainText("0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11"); @@ -189,7 +189,7 @@ MicrotunerConfig::MicrotunerConfig() : auto applyKeymapButton = new QPushButton(tr("Apply keymap changes")); applyKeymapButton->setToolTip(tr("Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument.")); microtunerLayout->addWidget(applyKeymapButton, 6, 2, 1, 2); - connect(applyKeymapButton, &QPushButton::clicked, [=] {applyKeymap();}); + connect(applyKeymapButton, &QPushButton::clicked, this, &MicrotunerConfig::applyKeymap); updateScaleForm(); updateKeymapForm(); @@ -325,7 +325,7 @@ void MicrotunerConfig::updateKeymapForm() */ bool MicrotunerConfig::validateScaleForm() { - auto fail = [=](QString message) {QMessageBox::critical(this, tr("Scale parsing error"), message);}; + auto fail = [this](const QString& message){ QMessageBox::critical(this, tr("Scale parsing error"), message); }; // check name QString name = m_scaleNameEdit->text(); @@ -373,7 +373,7 @@ bool MicrotunerConfig::validateScaleForm() */ bool MicrotunerConfig::validateKeymapForm() { - auto fail = [=](QString message) {QMessageBox::critical(this, tr("Keymap parsing error"), message);}; + auto fail = [this](const QString& message){ QMessageBox::critical(this, tr("Keymap parsing error"), message); }; // check name QString name = m_keymapNameEdit->text(); diff --git a/src/gui/PluginBrowser.cpp b/src/gui/PluginBrowser.cpp index 2594bdab3..4bf62d4ea 100644 --- a/src/gui/PluginBrowser.cpp +++ b/src/gui/PluginBrowser.cpp @@ -297,7 +297,7 @@ void PluginDescWidget::contextMenuEvent(QContextMenuEvent* e) QMenu contextMenu(this); contextMenu.addAction( tr("Send to new instrument track"), - [=]{ openInNewInstrumentTrack(m_pluginKey.desc->name); } + [=, this]{ openInNewInstrumentTrack(m_pluginKey.desc->name); } ); contextMenu.exec(e->globalPos()); } diff --git a/src/gui/SideBarWidget.cpp b/src/gui/SideBarWidget.cpp index 5a73cb471..5439b2791 100644 --- a/src/gui/SideBarWidget.cpp +++ b/src/gui/SideBarWidget.cpp @@ -50,7 +50,7 @@ SideBarWidget::SideBarWidget( const QString & _title, const QPixmap & _icon, m_closeBtn->resize(m_buttonSize); m_closeBtn->setToolTip(tr("Close")); connect(m_closeBtn, &QPushButton::clicked, - [=]() { this->closeButtonClicked(); }); + [this]() { this->closeButtonClicked(); }); } diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index 3dc0285d2..0e56b934e 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -2037,17 +2037,17 @@ AutomationEditorWindow::AutomationEditorWindow() : auto editModeGroup = new ActionGroup(this); m_drawAction = editModeGroup->addAction(embed::getIconPixmap("edit_draw"), tr("Draw mode (Shift+D)")); - m_drawAction->setShortcut(Qt::SHIFT | Qt::Key_D); + m_drawAction->setShortcut(combine(Qt::SHIFT, Qt::Key_D)); m_drawAction->setChecked(true); m_eraseAction = editModeGroup->addAction(embed::getIconPixmap("edit_erase"), tr("Erase mode (Shift+E)")); - m_eraseAction->setShortcut(Qt::SHIFT | Qt::Key_E); + m_eraseAction->setShortcut(combine(Qt::SHIFT, Qt::Key_E)); m_drawOutAction = editModeGroup->addAction(embed::getIconPixmap("edit_draw_outvalue"), tr("Draw outValues mode (Shift+C)")); - m_drawOutAction->setShortcut(Qt::SHIFT | Qt::Key_C); + m_drawOutAction->setShortcut(combine(Qt::SHIFT, Qt::Key_C)); m_editTanAction = editModeGroup->addAction(embed::getIconPixmap("edit_tangent"), tr("Edit tangents mode (Shift+T)")); - m_editTanAction->setShortcut(Qt::SHIFT | Qt::Key_T); + m_editTanAction->setShortcut(combine(Qt::SHIFT, Qt::Key_T)); m_editTanAction->setEnabled(false); m_flipYAction = new QAction(embed::getIconPixmap("flip_y"), tr("Flip vertically"), this); diff --git a/src/gui/editors/Editor.cpp b/src/gui/editors/Editor.cpp index ab12e3fb9..c32fb5437 100644 --- a/src/gui/editors/Editor.cpp +++ b/src/gui/editors/Editor.cpp @@ -24,6 +24,7 @@ #include "Editor.h" +#include "DeprecationHelper.h" #include "GuiApplication.h" #include "MainWindow.h" #include "Song.h" @@ -118,8 +119,8 @@ Editor::Editor(bool record, bool stepRecord) : connect(m_toggleStepRecordingAction, SIGNAL(triggered()), this, SLOT(toggleStepRecording())); connect(m_stopAction, SIGNAL(triggered()), this, SLOT(stop())); new QShortcut(Qt::Key_Space, this, SLOT(togglePlayStop())); - new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Space), this, SLOT(togglePause())); - new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_F11), this, SLOT(toggleMaximize())); + new QShortcut(QKeySequence(combine(Qt::SHIFT, Qt::Key_Space)), this, SLOT(togglePause())); + new QShortcut(QKeySequence(combine(Qt::SHIFT, Qt::Key_F11)), this, SLOT(toggleMaximize())); // Add actions to toolbar addButton(m_playAction, "playButton"); diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index 2193456e4..a2d7c832a 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -3098,7 +3098,7 @@ void PianoRoll::paintEvent(QPaintEvent * pe ) // allow quantization grid up to 1/32 for normal notes else if (q < 6) { q = 6; } } - auto xCoordOfTick = [=](int tick) { + auto xCoordOfTick = [this](int tick) { return m_whiteKeyWidth + ( (tick - m_currentPosition) * m_ppb / TimePos::ticksPerBar() ); @@ -4764,10 +4764,10 @@ PianoRollWindow::PianoRollWindow() : drawAction->setChecked( true ); - drawAction->setShortcut( Qt::SHIFT | Qt::Key_D ); - eraseAction->setShortcut( Qt::SHIFT | Qt::Key_E ); - selectAction->setShortcut( Qt::SHIFT | Qt::Key_S ); - pitchBendAction->setShortcut( Qt::SHIFT | Qt::Key_T ); + drawAction->setShortcut(combine(Qt::SHIFT, Qt::Key_D)); + eraseAction->setShortcut(combine(Qt::SHIFT, Qt::Key_E)); + selectAction->setShortcut(combine(Qt::SHIFT, Qt::Key_S)); + pitchBendAction->setShortcut(combine(Qt::SHIFT, Qt::Key_T)); connect( editModeGroup, SIGNAL(triggered(int)), m_editor, SLOT(setEditMode(int))); @@ -4826,9 +4826,9 @@ PianoRollWindow::PianoRollWindow() : auto pasteAction = new QAction(embed::getIconPixmap("edit_paste"), tr("Paste (%1+V)").arg(UI_CTRL_KEY), this); - cutAction->setShortcut( Qt::CTRL | Qt::Key_X ); - copyAction->setShortcut( Qt::CTRL | Qt::Key_C ); - pasteAction->setShortcut( Qt::CTRL | Qt::Key_V ); + cutAction->setShortcut(combine(Qt::CTRL, Qt::Key_X)); + copyAction->setShortcut(combine(Qt::CTRL, Qt::Key_C)); + pasteAction->setShortcut(combine(Qt::CTRL, Qt::Key_V)); connect( cutAction, SIGNAL(triggered()), m_editor, SLOT(cutSelectedNotes())); connect( copyAction, SIGNAL(triggered()), m_editor, SLOT(copySelectedNotes())); @@ -4849,19 +4849,19 @@ PianoRollWindow::PianoRollWindow() : auto glueAction = new QAction(embed::getIconPixmap("glue"), tr("Glue"), noteToolsButton); connect(glueAction, SIGNAL(triggered()), m_editor, SLOT(glueNotes())); - glueAction->setShortcut( Qt::SHIFT | Qt::Key_G ); + glueAction->setShortcut(combine(Qt::SHIFT, Qt::Key_G)); auto knifeAction = new QAction(embed::getIconPixmap("edit_knife"), tr("Knife"), noteToolsButton); connect(knifeAction, &QAction::triggered, m_editor, &PianoRoll::setKnifeAction); - knifeAction->setShortcut( Qt::SHIFT | Qt::Key_K ); + knifeAction->setShortcut(combine(Qt::SHIFT, Qt::Key_K)); auto fillAction = new QAction(embed::getIconPixmap("fill"), tr("Fill"), noteToolsButton); connect(fillAction, &QAction::triggered, [this](){ m_editor->fitNoteLengths(true); }); - fillAction->setShortcut(Qt::SHIFT | Qt::Key_F); + fillAction->setShortcut(combine(Qt::SHIFT, Qt::Key_F)); auto cutOverlapsAction = new QAction(embed::getIconPixmap("cut_overlaps"), tr("Cut overlaps"), noteToolsButton); connect(cutOverlapsAction, &QAction::triggered, [this](){ m_editor->fitNoteLengths(false); }); - cutOverlapsAction->setShortcut(Qt::SHIFT | Qt::Key_C); + cutOverlapsAction->setShortcut(combine(Qt::SHIFT, Qt::Key_C)); auto minLengthAction = new QAction(embed::getIconPixmap("min_length"), tr("Min length as last"), noteToolsButton); connect(minLengthAction, &QAction::triggered, [this](){ m_editor->constrainNoteLengths(false); }); diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 625601a3e..7d7b499af 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -28,5 +28,5 @@ foreach(LMMS_TEST_SRC IN LISTS LMMS_TESTS) ${QT_QTTEST_LIBRARY} ) - target_compile_features(${LMMS_TEST_NAME} PRIVATE cxx_std_17) + target_compile_features(${LMMS_TEST_NAME} PRIVATE cxx_std_20) endforeach() From 95a0518085930c68b38eae67bf7a2608613dd6f8 Mon Sep 17 00:00:00 2001 From: SpomJ <75751809+SpomJ@users.noreply.github.com> Date: Sat, 23 Nov 2024 18:07:07 +0300 Subject: [PATCH 047/112] Remove obsolete workaround for Qt4 (#7590) --- src/core/main.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/core/main.cpp b/src/core/main.cpp index 3e6c2c85f..f8eb0689f 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -367,10 +367,6 @@ int main( int argc, char * * argv ) printf( "LMMS cannot be run as root.\nUse \"--allowroot\" to override.\n\n" ); return EXIT_FAILURE; } -#endif -#ifdef LMMS_BUILD_LINUX - // don't let OS steal the menu bar. FIXME: only effective on Qt4 - QCoreApplication::setAttribute( Qt::AA_DontUseNativeMenuBar ); #endif QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication * app = coreOnly ? From 5acc7965c28ea6685de4f6ae13f9dfd9020c9310 Mon Sep 17 00:00:00 2001 From: saker Date: Wed, 27 Nov 2024 17:14:35 -0500 Subject: [PATCH 048/112] Disable focus for new channel button in Mixer (#7597) --- src/gui/MixerView.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/MixerView.cpp b/src/gui/MixerView.cpp index 0388c0c7d..0ba893be0 100644 --- a/src/gui/MixerView.cpp +++ b/src/gui/MixerView.cpp @@ -150,6 +150,7 @@ MixerView::MixerView(Mixer* mixer) : newChannelBtn->setObjectName("newChannelBtn"); newChannelBtn->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Expanding); newChannelBtn->setFixedWidth(mixerChannelSize.width()); + newChannelBtn->setFocusPolicy(Qt::NoFocus); connect(newChannelBtn, SIGNAL(clicked()), this, SLOT(addNewChannel())); ml->addWidget(newChannelBtn, 0); From e311832ffb7def56911034dbe2f14fb56cbb08b1 Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Fri, 29 Nov 2024 23:05:18 -0500 Subject: [PATCH 049/112] Fix styling on message boxes (#7608) --- src/gui/MixerChannelView.cpp | 2 +- src/gui/tracks/TrackOperationsWidget.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index 1432a42cf..315dd8bf0 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -343,7 +343,7 @@ bool MixerChannelView::confirmRemoval(int index) ConfigManager::inst()->setValue("ui", "mixerchanneldeletionwarning", state ? "0" : "1"); }); - QMessageBox mb(this); + QMessageBox mb; mb.setText(messageRemoveTrack); mb.setWindowTitle(messageTitleRemoveTrack); mb.setIcon(QMessageBox::Warning); diff --git a/src/gui/tracks/TrackOperationsWidget.cpp b/src/gui/tracks/TrackOperationsWidget.cpp index 6aca66282..def0a82cc 100644 --- a/src/gui/tracks/TrackOperationsWidget.cpp +++ b/src/gui/tracks/TrackOperationsWidget.cpp @@ -232,7 +232,7 @@ bool TrackOperationsWidget::confirmRemoval() ConfigManager::inst()->setValue("ui", "trackdeletionwarning", state ? "0" : "1"); }); - QMessageBox mb(this); + QMessageBox mb; mb.setText(messageRemoveTrack); mb.setWindowTitle(messageTitleRemoveTrack); mb.setIcon(QMessageBox::Warning); From 3562bbed3c85740e533f74a89bbec24c3f76456a Mon Sep 17 00:00:00 2001 From: Oskar Wallgren Date: Sat, 30 Nov 2024 14:54:45 +0100 Subject: [PATCH 050/112] Open up some gui elements to theming (#7314) * Theming for current step note * Theming for EnvelopeGraph * Theming for LfoGraph * curStepNoteColor - don't break old themes * EnvelopeGraph - don't break old themes * LfoGraph - don't break old themea * currentStepNoteColor --- data/themes/classic/style.css | 16 ++++++++++++++++ data/themes/default/style.css | 16 ++++++++++++++++ include/EnvelopeGraph.h | 11 +++++++++++ include/LfoGraph.h | 6 ++++++ include/PianoRoll.h | 2 ++ include/StepRecorder.h | 5 ----- src/gui/editors/PianoRoll.cpp | 5 ++++- src/gui/instrument/EnvelopeGraph.cpp | 17 ++++++++--------- src/gui/instrument/LfoGraph.cpp | 8 ++++---- 9 files changed, 67 insertions(+), 19 deletions(-) diff --git a/data/themes/classic/style.css b/data/themes/classic/style.css index d098bf266..1667ea5fe 100644 --- a/data/themes/classic/style.css +++ b/data/themes/classic/style.css @@ -148,6 +148,7 @@ lmms--gui--PianoRoll { qproperty-noteModeColor: rgb( 255, 255, 255 ); qproperty-noteColor: rgb( 119, 199, 216 ); qproperty-stepNoteColor: #9b1313; + qproperty-currentStepNoteColor: rgb(245, 3, 139); qproperty-noteTextColor: rgb( 255, 255, 255 ); qproperty-noteOpacity: 128; qproperty-noteBorders: true; /* boolean property, set false to have borderless notes */ @@ -796,6 +797,21 @@ lmms--gui--SubWindow > QPushButton:hover{ border-radius: 2px; } +/* Instrument */ + +/* Envelope graph */ +lmms--gui--EnvelopeGraph { + qproperty-noAmountColor: rgb(96, 91, 96); + qproperty-fullAmountColor: rgb(0, 255, 128); + qproperty-markerFillColor: rgb(153, 175, 255); + qproperty-markerOutlineColor: rgb(0, 0, 0); +} + +/* LFO graph */ +lmms--gui--LfoGraph { + qproperty-noAmountColor: rgb(96, 91, 96); + qproperty-fullAmountColor: rgb(0, 255, 128); +} /* Plugins */ diff --git a/data/themes/default/style.css b/data/themes/default/style.css index 83933df19..e3e2eec6a 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -179,6 +179,7 @@ lmms--gui--PianoRoll { qproperty-noteModeColor: #0bd556; qproperty-noteColor: #0bd556; qproperty-stepNoteColor: #9b1313; + qproperty-currentStepNoteColor: rgb(245, 3, 139); qproperty-noteTextColor: #ffffff; qproperty-noteOpacity: 165; qproperty-noteBorders: false; /* boolean property, set false to have borderless notes */ @@ -835,6 +836,21 @@ lmms--gui--SubWindow > QPushButton:hover{ border-radius: 2px; } +/* Instrument */ + +/* Envelope graph */ +lmms--gui--EnvelopeGraph { + qproperty-noAmountColor: rgb(96, 91, 96); + qproperty-fullAmountColor: rgb(0, 255, 128); + qproperty-markerFillColor: rgb(153, 175, 255); + qproperty-markerOutlineColor: rgb(0, 0, 0); +} + +/* LFO graph */ +lmms--gui--LfoGraph { + qproperty-noAmountColor: rgb(96, 91, 96); + qproperty-fullAmountColor: rgb(0, 255, 128); +} /* Plugins */ diff --git a/include/EnvelopeGraph.h b/include/EnvelopeGraph.h index 4f8a5c386..2ffa2f64b 100644 --- a/include/EnvelopeGraph.h +++ b/include/EnvelopeGraph.h @@ -41,6 +41,12 @@ namespace gui class EnvelopeGraph : public QWidget, public ModelView { + Q_OBJECT + Q_PROPERTY(QColor noAmountColor MEMBER m_noAmountColor) + Q_PROPERTY(QColor fullAmountColor MEMBER m_fullAmountColor) + Q_PROPERTY(QColor markerFillColor MEMBER m_markerFillColor) + Q_PROPERTY(QColor markerOutlineColor MEMBER m_markerOutlineColor) + public: enum class ScalingMode { @@ -68,6 +74,11 @@ private: EnvelopeAndLfoParameters* m_params = nullptr; ScalingMode m_scaling = ScalingMode::Dynamic; + + QColor m_noAmountColor; + QColor m_fullAmountColor; + QColor m_markerFillColor; + QColor m_markerOutlineColor; }; } // namespace gui diff --git a/include/LfoGraph.h b/include/LfoGraph.h index 9d566770f..fe56ecbb6 100644 --- a/include/LfoGraph.h +++ b/include/LfoGraph.h @@ -41,6 +41,10 @@ namespace gui class LfoGraph : public QWidget, public ModelView { + Q_OBJECT + Q_PROPERTY(QColor noAmountColor MEMBER m_noAmountColor) + Q_PROPERTY(QColor fullAmountColor MEMBER m_fullAmountColor) + public: LfoGraph(QWidget* parent); @@ -56,6 +60,8 @@ private: QPixmap m_lfoGraph = embed::getIconPixmap("lfo_graph"); float m_randomGraph {0.}; + QColor m_noAmountColor; + QColor m_fullAmountColor; }; } // namespace gui diff --git a/include/PianoRoll.h b/include/PianoRoll.h index a85e50a16..e9939101c 100644 --- a/include/PianoRoll.h +++ b/include/PianoRoll.h @@ -74,6 +74,7 @@ class PianoRoll : public QWidget Q_PROPERTY(QColor noteModeColor MEMBER m_noteModeColor) Q_PROPERTY(QColor noteColor MEMBER m_noteColor) Q_PROPERTY(QColor stepNoteColor MEMBER m_stepNoteColor) + Q_PROPERTY(QColor currentStepNoteColor MEMBER m_currentStepNoteColor) Q_PROPERTY(QColor ghostNoteColor MEMBER m_ghostNoteColor) Q_PROPERTY(QColor noteTextColor MEMBER m_noteTextColor) Q_PROPERTY(QColor ghostNoteTextColor MEMBER m_ghostNoteTextColor) @@ -471,6 +472,7 @@ private: QColor m_noteModeColor; QColor m_noteColor; QColor m_stepNoteColor; + QColor m_currentStepNoteColor; QColor m_noteTextColor; QColor m_ghostNoteColor; QColor m_ghostNoteTextColor; diff --git a/include/StepRecorder.h b/include/StepRecorder.h index 55435617c..e085838e2 100644 --- a/include/StepRecorder.h +++ b/include/StepRecorder.h @@ -66,11 +66,6 @@ class StepRecorder : public QObject return m_isRecording; } - QColor curStepNoteColor() const - { - return QColor(245,3,139); // radiant pink - } - private slots: void removeNotesReleasedForTooLong(); diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index a2d7c832a..efe903cc2 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -197,6 +197,9 @@ PianoRoll::PianoRoll() : m_lineColor( 0, 0, 0 ), m_noteModeColor( 0, 0, 0 ), m_noteColor( 0, 0, 0 ), + m_stepNoteColor(0, 0, 0), + m_currentStepNoteColor(245, 3, 139), + m_noteTextColor(0, 0, 0), m_ghostNoteColor( 0, 0, 0 ), m_ghostNoteTextColor( 0, 0, 0 ), m_barColor( 0, 0, 0 ), @@ -3596,7 +3599,7 @@ void PianoRoll::paintEvent(QPaintEvent * pe ) // we've done and checked all, let's draw the note drawNoteRect( p, x + m_whiteKeyWidth, noteYPos(note->key()), note_width, - note, m_stepRecorder.curStepNoteColor(), m_noteTextColor, m_selectedNoteColor, + note, m_currentStepNoteColor, m_noteTextColor, m_selectedNoteColor, m_noteOpacity, m_noteBorders, drawNoteNames); } } diff --git a/src/gui/instrument/EnvelopeGraph.cpp b/src/gui/instrument/EnvelopeGraph.cpp index 4cf5da74b..3483f46a0 100644 --- a/src/gui/instrument/EnvelopeGraph.cpp +++ b/src/gui/instrument/EnvelopeGraph.cpp @@ -44,7 +44,11 @@ namespace gui EnvelopeGraph::EnvelopeGraph(QWidget* parent) : QWidget(parent), - ModelView(nullptr, this) + ModelView(nullptr, this), + m_noAmountColor(96, 91, 96), + m_fullAmountColor(0, 255, 128), + m_markerFillColor(153, 175, 255), + m_markerOutlineColor(0, 0, 0) { setMinimumSize(m_envGraph.size()); } @@ -206,9 +210,7 @@ void EnvelopeGraph::paintEvent(QPaintEvent*) // Compute the color of the lines based on the amount of the envelope const float absAmount = std::abs(amount); - const QColor noAmountColor{96, 91, 96}; - const QColor fullAmountColor{0, 255, 128}; - const QColor lineColor{ColorHelper::interpolateInRgb(noAmountColor, fullAmountColor, absAmount)}; + const QColor lineColor{ColorHelper::interpolateInRgb(m_noAmountColor, m_fullAmountColor, absAmount)}; // Determine the line width so that it scales with the widget // Use the minimum value of the current width and height to compute it. @@ -221,14 +223,11 @@ void EnvelopeGraph::paintEvent(QPaintEvent*) p.drawPolyline(linePoly); // Now draw all marker on top of the lines - const QColor markerFillColor{153, 175, 255}; - const QColor markerOutlineColor{0, 0, 0}; - QPen pen; pen.setWidthF(lineWidth * 0.75); - pen.setBrush(markerOutlineColor); + pen.setBrush(m_markerOutlineColor); p.setPen(pen); - p.setBrush(markerFillColor); + p.setBrush(m_markerFillColor); // Compute the size of the circle we will draw based on the line width const qreal baseRectSize = lineWidth * 3; diff --git a/src/gui/instrument/LfoGraph.cpp b/src/gui/instrument/LfoGraph.cpp index 7444eeb46..fe8e01a7f 100644 --- a/src/gui/instrument/LfoGraph.cpp +++ b/src/gui/instrument/LfoGraph.cpp @@ -44,7 +44,9 @@ namespace gui LfoGraph::LfoGraph(QWidget* parent) : QWidget(parent), - ModelView(nullptr, this) + ModelView(nullptr, this), + m_noAmountColor(96, 91, 96), + m_fullAmountColor(0, 255, 128) { setMinimumSize(m_lfoGraph.size()); } @@ -143,9 +145,7 @@ void LfoGraph::paintEvent(QPaintEvent*) // Compute the color of the lines based on the amount of the LFO const float absAmount = std::abs(amount); - const QColor noAmountColor{96, 91, 96}; - const QColor fullAmountColor{0, 255, 128}; - const QColor lineColor{ColorHelper::interpolateInRgb(noAmountColor, fullAmountColor, absAmount)}; + const QColor lineColor{ColorHelper::interpolateInRgb(m_noAmountColor, m_fullAmountColor, absAmount)}; p.setPen(QPen(lineColor, 1.5)); From f579750608da6448283942f557f82714dd840d0a Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Sat, 30 Nov 2024 21:49:00 -0500 Subject: [PATCH 051/112] Fix coarse gridlines being half as wide every 8 bars (#7610) --- src/gui/tracks/TrackContentWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/tracks/TrackContentWidget.cpp b/src/gui/tracks/TrackContentWidget.cpp index 1926ffeef..1d39f97b3 100644 --- a/src/gui/tracks/TrackContentWidget.cpp +++ b/src/gui/tracks/TrackContentWidget.cpp @@ -140,7 +140,7 @@ void TrackContentWidget::updateBackground() // draw coarse grid pmp.setPen( QPen( coarseGridColor(), coarseGridWidth() ) ); - for (float x = 0; x < w * 2; x += ppb * coarseGridResolution) + for (float x = 0; x <= w * 2; x += ppb * coarseGridResolution) { pmp.drawLine( QLineF( x, 0.0, x, h ) ); } From d9737881cf482e89969948f56da954cbf5c11aca Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Sun, 1 Dec 2024 13:33:17 -0500 Subject: [PATCH 052/112] Revert pkgconf removal (#7605) * Revert "Remove pkg-config from Brewfile (#7593)" This reverts commit 72b30b1d00b1ab10aa0f68cf99501c524bd1488c. * Replace pkg-config with pkgconf --- Brewfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Brewfile b/Brewfile index 42ae8180d..05f894209 100644 --- a/Brewfile +++ b/Brewfile @@ -13,6 +13,7 @@ brew "libsoundio" brew "libvorbis" brew "lilv" brew "lv2" +brew "pkgconf" brew "portaudio" brew "qt@5" brew "sdl2" From 7590bc03d788e692f71f90058b5a509ef1df5fed Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Sat, 7 Dec 2024 22:07:28 -0500 Subject: [PATCH 053/112] Revise README (#7545) * Initial revision of README.md * Make logo and link placements more professional (thanks to thismoon), along with otehr minor changes --- README.md | 65 +++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index c8324226e..7d626fb4b 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,39 @@ -# ![LMMS Logo](https://raw.githubusercontent.com/LMMS/artwork/master/Icon%20%26%20Mimetypes/lmms-64x64.svg) LMMS - -[![Build status](https://github.com/LMMS/lmms/actions/workflows/build.yml/badge.svg)](https://github.com/LMMS/lmms/actions/workflows/build.yml) -[![Latest stable release](https://img.shields.io/github/release/LMMS/lmms.svg?maxAge=3600)](https://lmms.io/download) -[![Overall downloads on Github](https://img.shields.io/github/downloads/LMMS/lmms/total.svg?maxAge=3600)](https://github.com/LMMS/lmms/releases) -[![Join the chat at Discord](https://img.shields.io/badge/chat-on%20discord-7289DA.svg)](https://discord.gg/3sc5su7) -[![Localise on transifex](https://img.shields.io/badge/localise-on_transifex-green.svg)](https://www.transifex.com/lmms/lmms/) +
+

+ 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 a free cross-platform alternative to commercial programs like -FL Studio®, which allow you to produce music with your computer. This includes -the creation of melodies and beats, the synthesis and mixing of sounds, and -arranging of samples. You can have fun with your MIDI-keyboard and much more; -all in a user-friendly and modern interface. - -[Homepage](https://lmms.io)
-[Downloads/Releases](https://github.com/LMMS/lmms/releases)
-[Developer Wiki](https://github.com/LMMS/lmms/wiki)
-[Artist & User Wiki/Documentation](https://lmms.io/documentation)
-[Sound Demos](https://lmms.io/showcase/)
-[LMMS Sharing Platform](https://lmms.io/lsp/) Share your songs! +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 composing songs +* 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 @@ -37,22 +45,13 @@ Features Building --------- -See [Compiling LMMS](https://github.com/LMMS/lmms/wiki/Compiling) on our -wiki for information on how to build LMMS. - +See [Compiling LMMS](https://github.com/LMMS/lmms/wiki/Compiling) 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! +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](https://github.com/LMMS/lmms/wiki). +Information about what you can do and how can be found in the [wiki](https://github.com/LMMS/lmms/wiki). -Before coding a new big feature, please _always_ -[file an issue](https://github.com/LMMS/lmms/issues/new) 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. +Before coding a new big feature, please _always_ [file an issue](https://github.com/LMMS/lmms/issues/new) 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. From 248b6b92d9cbb4ea643e5effdd692ef1a89f8112 Mon Sep 17 00:00:00 2001 From: saker Date: Wed, 18 Dec 2024 16:20:34 -0500 Subject: [PATCH 054/112] Downgrade RemoteVstPlugin build back to C++17 (#7624) --- plugins/VstBase/RemoteVstPlugin/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt b/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt index 8281d2a30..3f861e2d5 100644 --- a/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt +++ b/plugins/VstBase/RemoteVstPlugin/CMakeLists.txt @@ -6,7 +6,7 @@ endif() project(RemoteVstPlugin LANGUAGES CXX) -set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD 17) include(CheckCXXPreprocessor) include(CheckCXXSourceCompiles) @@ -73,7 +73,7 @@ if(MSVC) endif() if(IS_MINGW) - SET(CMAKE_REQUIRED_FLAGS "-std=c++20") + SET(CMAKE_REQUIRED_FLAGS "-std=c++17") endif() if(LMMS_BUILD_WIN32) From 088a2cbcfdecb3b853a489e6e5e7ed3dc93d6760 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 19 Dec 2024 13:46:54 +0100 Subject: [PATCH 055/112] Major German translation rework (01/12/2024) (#7612) --- data/locale/de.ts | 18998 ++++++++++++++++++++++++-------------------- 1 file changed, 10535 insertions(+), 8463 deletions(-) diff --git a/data/locale/de.ts b/data/locale/de.ts index 4736ea797..963e953fb 100644 --- a/data/locale/de.ts +++ b/data/locale/de.ts @@ -1,255 +1,447 @@ - + + + AboutDialog - About LMMS Über LMMS - - LMMS - LMMS + Version %1 (%2/%3, Qt %4, %5) + Version %1 (%2/%3, Qt %4, %5) - - Version %1 (%2/%3, Qt %4, %5). - Version %1 (%2/%3, Qt %4, %5). - - - About Über - - LMMS - easy music production for everyone. - LMMS - Muskproduktion für jedermann + LMMS - easy music production for everyone + LMMS – leichte Musikproduktion für alle - - Copyright © %1. - Copyright © %1. - - - - <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> - <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> - - - Authors Autoren - - Involved - Beteiligt - - - - Contributors ordered by number of commits: - Mitwirkende sortiert nach der Anzahl an Einreichungen: - - - Translation Übersetzung - Current language not translated (or native English). + If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! - + Deutsche Übersetzung von Tobias Doerffel und Daniel Winzen. + +Wenn Sie daran interessiert sind, LMMS in eine andere Sprache zu übersetzen oder eine bereits existierende Übersetzung verbessern möchten, können Sie uns gerne helfen! Kontaktieren Sie einfach den Betreiber! - License Lizenz + + LMMS + LMMS + + + Involved + Beteiligte + + + Contributors ordered by number of commits: + Mitwirkende sortiert nach der Anzahl an Einreichungen: + + + Copyright © %1 + Copyright © %1 + + + <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">https://lmms.io</span></a></p></body></html> + <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">https://lmms.io</span></a></p></body></html> + + + Version %1 (%2/%3, Qt %4, %5). + Version %1 (%2/%3, Qt %4, %5). + + + LMMS - easy music production for everyone. + LMMS – leichte Musikproduktion für alle. + + + Copyright © %1. + Copyright © %1. + + + <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> + <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> + + + Current language not translated (or native English). +If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! + Deutsche Übersetzung von Tobias Doerffel und Daniel Winzen. + +Wenn Sie daran interessiert sind, LMMS in eine andere Sprache zu übersetzen oder eine bereits existierende Übersetzung verbessern möchten, können Sie uns gerne helfen! Kontaktieren Sie einfach den Betreiber! + AboutJuceDialog - About JUCE - + Über JUCE - <b>About JUCE</b> - + <b>Über JUCE</b> - This program uses JUCE version 3.x.x. - + Dieses Programm benutzt JUCE Version 3.x.x. - JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. Other modules are covered by a GNU GPL 3.0 license. Copyright (C) 2022 Raw Material Software Limited. - + JUCE ist ein plattformübergreifendes Open-Source-C++-Applikations-Framework für die Erstellung von hochqualitativen Desktop- und Mobilapplikationen. + +Die Haupt-JUCE-Module (juce_audio, juce_audio_devices, juce_core und juce_events) werden unter der freizügigen ISC-Lizenz freigegeben. +Andere Module stehen unter der Lizenz GNU GPL 3.0. + +Copyright (C) 2022 Raw Material Software Limited. - This program uses JUCE version - + Dieses Programm benutzt JUCE Version AudioDeviceSetupWidget - + ALSA (Advanced Linux Sound Architecture) + ALSA (Advanced Linux Sound Architecture) + + + Dummy (no sound output) + Dummy (keine Soundausgabe) + + + JACK (JACK Audio Connection Kit) + JACK (JACK Audio Connection Kit) + + + OSS (Open Sound System) + OSS (Open Sound System) + + + PortAudio + PortAudio + + + PulseAudio + PulseAudio + + + SDL (Simple DirectMedia Layer) + SDL (Simple DirectMedia Layer) + + + sndio + sndio + + + soundio + soundio + + [System Default] - + [Systemstandard] + + + + AudioOss::setupWidget + + DEVICE + GERÄT + + + CHANNELS + KANÄLE + + + + AudioPulseAudio::setupWidget + + DEVICE + GERÄT + + + CHANNELS + KANÄLE + + + + AutomationPattern + + Drag a control while pressing <%1> + Ein Steuerelement mit <%1> hier her ziehen + + + + AutomationPatternView + + double-click to open this pattern in automation editor + Doppelklick, um diesen Pattern im Automations-Editor zu öffnen + + + Open in Automation editor + Im Automations-Editor öffnen + + + Clear + Zurücksetzen + + + Reset name + Name zurücksetzen + + + Change name + Name ändern + + + %1 Connections + %1 Verbindungen + + + Disconnect "%1" + »%1« trennen + + + Set/clear record + Aufnahme setzen/löschen + + + Flip Vertically (Visible) + Vertikal spiegeln (Sichtbar) + + + Flip Horizontally (Visible) + Horizontal spiegeln (Sichtbar) + + + Model is already connected to this pattern. + Modell ist bereits mit diesem Pattern verbunden. + + + + BBEditor + + Beat+Bassline Editor + Beat-und-Bassline-Editor + + + Play/pause current beat/bassline (Space) + Aktuellen Beat/Bassline abspielen/pausieren (Leertaste) + + + Stop playback of current beat/bassline (Space) + Abspielen des aktuellen Beats/Bassline stoppen (Leertaste) + + + Click here to play the current beat/bassline. The beat/bassline is automatically looped when its end is reached. + Klicken Sie hier, um den aktuelle Beat/Bassline abzuspielen. Der Beat/Bassline wird am Ende automatisch wiederholt. + + + Click here to stop playing of current beat/bassline. + Klicken Sie hier, um das Abspielen des aktuellen Beats/Bassline zu stoppen. + + + Add beat/bassline + Beat/Bassline hinzufügen + + + Add automation-track + Automations-Spur hinzufügen + + + Remove steps + Schritte entfernen + + + Add steps + Schritte hinzufügen + + + Beat selector + Beatwähler + + + Track and step actions + Spur-und-Schritt-Aktionen + + + Clone Steps + Schritte klonen + + + Add sample-track + Sample-Spur hinzufügen + + + + BBTCOView + + Open in Beat+Bassline-Editor + Im Beat-und-Bassline-Editor öffnen + + + Reset name + Name zurücksetzen + + + Change name + Name ändern + + + Change color + Farbe ändern + + + Reset color to default + Farbe auf Standard zurücksetzen + + + + BBTrack + + Beat/Bassline %1 + Beat/Bassline %1 + + + Clone of %1 + Klon von %1 + + + + CaptionMenu + + &Help + &Hilfe + + + Help (not available) + Hilfe (nicht verfügbar) CarlaAboutW - About Carla - + Über Carla - About Über - About text here - + Über-Text hier - Extended licensing here - + Erweiterte Lizenz hier - Artwork - + Kunst - Using KDE Oxygen icon set, designed by Oxygen Team. - + Benutzt das KDE-Oxygen-Icon-Set, gestaltet von Oxygen Team. - Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - + Enthält ein paar Regler, Hintergründe und andere kleinere grafischen Werke von den Projekten Calf Studio Gear, OpenAV und OpenOctave. - VST is a trademark of Steinberg Media Technologies GmbH. - + VST ist ein Trademark von Steinberg Media Technologies GmbH. - Special thanks to António Saraiva for a few extra icons and artwork! - + Besonderes Dankeschön an António Saraiva für ein paar zusätzliche Icons und Grafiken! - The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - + Das LV2-Logo wurde von Thorsten Wilms entworfen, basierend auf einem Konzept von Peter Shorthose. - MIDI Keyboard designed by Thorsten Wilms. - + MIDI-Keyboard entworfen von Thorsten Wilms. - Carla, Carla-Control and Patchbay icons designed by DoosC. - + Carla-, Carla-Control- und Patchbay-Icons von DoosC entworfen. - Features - + Features - AU/AudioUnit: - + AU/AudioUnit: - LADSPA: - + LADSPA: - - - - - - - - TextLabel - + TextLabel - VST2: - + VST2: - DSSI: - + DSSI: - LV2: - + LV2: - VST3: - + VST3: - OSC - + OSC - Host URLs: - + Host-URLs: - Valid commands: - + Gültige Befehle: - valid osc commands here - + gültige osc-Befehle hier hin - Example: - + Beispiel: - License Lizenz - GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -265,7 +457,7 @@ freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to +Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. @@ -292,18 +484,18 @@ rights. (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - Also, for each author's protection and ours, we want to make certain + Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original -authors' reputations. +authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. @@ -328,7 +520,7 @@ is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - 1. You may copy and distribute verbatim copies of the Program's + 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the @@ -442,7 +634,7 @@ the Program or works based on it. Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. +restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. @@ -531,3644 +723,4337 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + - OSC Bridge Version - + OSC-Bridge-Version - Plugin Version - + Plugin-Version - <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - + <br>Version %1<br>Carla ist ein voll funktionsfähiger Audio-Plugin-Host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - - (Engine not running) - + (Engine läuft nicht) - Everything! (Including LRDF) - + Alles! (inklusive LRDF) - Everything! (Including CustomData/Chunks) - + Alles (inklusive CustomData/Chunks) - About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - + Circa 110&#37; vollständig (mit eigenen Erweiterungen)<br/>Implementiertes Feature / Implementierte Erweiterungen:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - - - Using Juce host - + Benutzt Juce-Host - About 85% complete (missing vst bank/presets and some minor stuff) - + Circa 85 % vollständig (es fehlen vst-Bank/-Presets und einige kleinere Dinge) CarlaHostW - MainWindow - + HauptFenster - Rack - + Rack - Patchbay - + Patchbay - Logs - + Protokolle - Loading... - + Laden … - Save - + Speichern - Clear - + Leeren - Ctrl+L - + Strg+L - Auto-Scroll - + Autoscroll - Buffer Size: - + Puffergröße: - Sample Rate: - + Sample-Rate: - ? Xruns - + ? Xruns - DSP Load: %p% - + DSP-Last: %p% - &File &Datei - &Engine - + &Engine - &Plugin - + &Plugin - Macros (all plugins) - + Makros (alle Plugins) - &Canvas - + &Leinwand - Zoom - + Zoom - &Settings - + E&instellungen - &Help &Hilfe - Tool Bar - + Werkzeugleiste - Disk - + Datenträger - - Home Home - Transport - + Transport - Playback Controls - + Wiedergabesteuerung - Time Information - + Zeitinformation - Frame: - + Frame: - 000'000'000 - + 000'000'000 - Time: Zeit: - 00:00:00 - + 00:00:00 - BBT: - + BBT: - 000|00|0000 - + 000|00|0000 - Settings Einstellungen - BPM - + BPM - Use JACK Transport - + JACK-Transport benutzen - Use Ableton Link - + Ableton Link benutzen - &New &Neu - Ctrl+N - + Strg+N - &Open... - Ö&ffnen... + Ö&ffnen … - - Open... - + Öffnen … - Ctrl+O - + Strg+O - &Save &Speichern - Ctrl+S - + Strg+S - Save &As... - Speichern &als... + Speichern &unter … - - Save As... - + Speichern unter … - Ctrl+Shift+S - + Strl+Umschalt+S - &Quit - &Beenden + &Verlassen - Ctrl+Q - + Strg+Q - &Start - + &Start - F5 - + F5 - St&op - + St&opp - F6 - + F6 - &Add Plugin... - + Plugin &hinzufügen … - Ctrl+A - + Strg+A - &Remove All - + Alle entfe&rnen - Enable - + Aktivieren - Disable - + Deaktivieren - 0% Wet (Bypass) - + 0 % Wet (umgehen) - 100% Wet - + 100 % Wet - 0% Volume (Mute) - 0% Volumen (Mute) + 0 % Lautstärke (stumm) - 100% Volume - 100% Volumen + 100 % Lautstärke - Center Balance - + Zentrierte Balance - &Play - + Abs&pielen - Ctrl+Shift+P - + Strg+Umschalt+P - &Stop - + &Stopp - Ctrl+Shift+X - + Strg+Umschalt+X - &Backwards - + &Rückwärts - Ctrl+Shift+B - + Strg+Umschalt+B - &Forwards - + &Vorwärts - Ctrl+Shift+F - + Strg+Umschalt+F - &Arrange - + &Anordnen - Ctrl+G - + Strg+G - - &Refresh - + A&ktualisieren - Ctrl+R - + Strg+R - Save &Image... - + &Bild speichern … - Auto-Fit - + Automatisch anpassen - Zoom In - + Hereinzoomen - Ctrl++ - + Strg++ - Zoom Out - + Hinauszoomen - Ctrl+- - + Strg+- - Zoom 100% - + Zoom 100 % - Ctrl+1 - + Strg+1 - Show &Toolbar - + &Werkzeugleiste anzeigen - &Configure Carla - + &Carla konfigurieren - &About - + &Über - About &JUCE - + Über &JUCE - About &Qt - + Über &Qt - Show Canvas &Meters - + Leinwand-&Messinstrumente anzeigen - Show Canvas &Keyboard - + Leinwand-&Keyboard anzeigen - Show Internal - + Intern anzeigen - Show External - + Extern anzeigen - Show Time Panel - + Zeitleiste anzeigen - Show &Side Panel - + &Seitenleiste anzeigen - Ctrl+P - + Strg+P - &Connect... - + &Verbinden … - Compact Slots - + Kompakte Slots - Expand Slots - + Slots erweitern - Perform secret 1 - + Geheimnis 1 ausführen - Perform secret 2 - + Geheimnis 2 ausführen - Perform secret 3 - + Geheimnis 3 ausführen - Perform secret 4 - + Geheimnis 4 ausführen - Perform secret 5 - + Geheimnis 5 ausführen - Add &JACK Application... - + &JACK-Applikation hinzufügen … - &Configure driver... - + Treiber &konfigurieren … - Panic - + Panik - Open custom driver panel... - + Benutzerdefnierte Treiberleiste hinzufügen … - Save Image... (2x zoom) - + Bild speichern … (2× Zoom) - Save Image... (4x zoom) - + Bild speichern … (4× Zoom) - Copy as Image to Clipboard - + Als Bild in Zwischenablage kopieren - Ctrl+Shift+C - + Strg+Umschalt+C CarlaHostWindow - Export as... - + Exportieren als … - - - - Error Fehler - Failed to load project - + Konnte Projekt nicht laden - Failed to save project - + Konnte Projekt nicht speichern - Quit - + Verlassen - Are you sure you want to quit Carla? - + Möchten Sie Carla wirklich verlassen? - - Could not connect to Audio backend '%1', possible reasons: + Could not connect to Audio backend '%1', possible reasons: %2 - Konnte nicht zum Audio backend verbinden '%1', mögliche Gründe: + Konnte nicht zum Audiobackend »%1« verbinden; mögliche Gründe: %2 - Could not connect to Audio backend '%1' - Konnte nicht zum Audio backend verbinden '%1' + Konnte nicht zum Audiobackend »%1« verbinden - Warning - + Warnung - There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - + Es sind immer noch einige Plugins geladen, Sie müssen sie entfernen, um die Engine zu stoppen. +Möchten Sie das jetzt tun? CarlaSettingsW - Settings Einstellungen - main - + Haupt - canvas - + Leinwand - engine - + Engine - osc - + osc - file-paths - + Dateipfade - plugin-paths - + Pluginpfade - wine - + Wine - experimental - + experimentell - Widget - + Widget - - Main - + Haupt - - Canvas - + Leinwand - - Engine - + Engine - File Paths - + Dateipfade - Plugin Paths - + Pluginpfade - Wine - + Wine - - Experimental - + Experimentell - <b>Main</b> - + <b>Haupt</b> - Paths Pfade - Default project folder: - + Standardprojektverzeichnis: - Interface - + Interface - Use "Classic" as default rack skin - + »Classic« als Standard-Rack-Skin verwenden - Interface refresh interval: - + Interface-Aktualisierungsintervall: - - ms - + ms - Show console output in Logs tab (needs engine restart) - + Konsolenausgabe in Protokolltab anzeigen (benötigt Engine-Neustart) - Show a confirmation dialog before quitting - + Bestätigungsdialog vor dem Verlassen anzeigen - - Theme - + Thema - Use Carla "PRO" theme (needs restart) - + Carla-»PRO«-Thema benutzen (benötigt Neustart) - Color scheme: - + Farbschema: - Black - + Schwarz - System - + System - Enable experimental features - + Experimentelle Features aktivieren - <b>Canvas</b> - + <b>Leinwand</b> - Bezier Lines - + Bezierkurven - Theme: - + Thema: - Size: Größe: - 775x600 - + 775×600 - 1550x1200 - + 1550×1200 - 3100x2400 - + 3100×2400 - 4650x3600 - + 4650×3600 - 6200x4800 - + 6200×4800 - 12400x9600 - + 12400×9600 - Options - + Optionen - Auto-hide groups with no ports - + Gruppen ohne Ports automatisch verbergen - Auto-select items on hover - + Items beim Überfahren automatisch auswählen - Basic eye-candy (group shadows) - + Simple Grafikeffekte (Gruppenschatten) - Render Hints - + Render-Hints - Anti-Aliasing - + Antialiasing - Full canvas repaints (slower, but prevents drawing issues) - + Volle Leinwandneuzeichnungen (langsamer, aber verhindert Zeichenprobleme) - <b>Engine</b> - + <b>Engine</b> - - Core - + Haupt - Single Client - + Einzelclient - Multiple Clients - + Mehrere Clients - - Continuous Rack - + Fortlaufender Rack - - Patchbay - + Patchbay - Audio driver: - + Audiotreiber: - Process mode: - + Prozessmodus: - - - - Maximum number of parameters to allow in the built-in 'Edit' dialog - + Maximale erlaubte Parameter im eingebauten »Bearbeiten«-Dialog - Max Parameters: - + Max. Parameter: - ... - + - Reset Xrun counter after project load - + Xrun-Zähler nach Projektladen zurücksetzen - Plugin UIs - + Plugin-UIs - - How much time to wait for OSC GUIs to ping back the host - + Wie lange auf OSC-GUIs gewartet werden soll, um zum Host zurückzupingen - UI Bridge Timeout: - + UI-Bridge-Zeitüberschreitung: - Use OSC-GUI bridges when possible, this way separating the UI from DSP code - + OSC-GUI-Bridges benutzen, wenn möglich. Somit wird die UI vom DSP-Code getrennt - Use UI bridges instead of direct handling when possible - + UI-Brücken statt direkter Handhabung benutzen, wenn möglich - Make plugin UIs always-on-top - + Plugin-UIs immer oben halten - Make plugin UIs appear on top of Carla (needs restart) - + Plugin-UIs oberhalb Carla halten (benötigt Neustart) - NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - + ANMERKUNG: Plugin-Bridge-UIs können auf macOS nicht von Carla verwaltet werden - - Restart the engine to load the new settings - + Engine neustarten, um die neuen Einstellungen zu laden - <b>OSC</b> - + <b>OSC</b> - Enable OSC - + OSC aktivieren - Enable TCP port - + TCP-Port aktivieren - - Use specific port: - + Spezifischen Port benutzen: - Overridden by CARLA_OSC_TCP_PORT env var - + Überschrieben von Umgebungsvariable CARLA_OSC_TCP_PORT - - Use randomly assigned port - + Zufällig zugewiesenen Port benutzen - Enable UDP port - + UDP-Port aktivieren - Overridden by CARLA_OSC_UDP_PORT env var - + Überschrieben von Umgebungsvariable CARLA_OSC_UDP_PORT - DSSI UIs require OSC UDP port enabled - + DSSI-UIs brauchen einen aktivierten OSC-UDP-Port - <b>File Paths</b> - + <b>Dateipfade</b> - Audio Audio - MIDI MIDI - Used for the "audiofile" plugin - + Benutzt für das »audiofile«-Plugin - Used for the "midifile" plugin - + Benutzt für das »midifile«-Plugin - - Add... - + Hinzufügen … - - Remove - + Entfernen - - Change... - + Ändern … - <b>Plugin Paths</b> - + <b>Pluginpfade</b> - LADSPA - + LADSPA - DSSI - + DSSI - LV2 - + LV2 - VST2 - + VST2 - VST3 - + VST3 - SF2/3 - + SF2/3 - SFZ - + SFZ - JSFX - + JSFX - CLAP - + CLAP - Restart Carla to find new plugins - + Carla neustarten, um neue Plugins zu finden - <b>Wine</b> - + <b>Wine</b> - Executable - + Ausführbare Datei - Path to 'wine' binary: - + Pfad zum »wine«-Programm: - Prefix - + Präfix - Auto-detect Wine prefix based on plugin filename - + Wine-Präfix automatisch baiserend auf Plugindateinamen automatisch erkennen - Fallback: - + Fallback: - Note: WINEPREFIX env var is preferred over this fallback - + Anmerkung: Umgebungsvariable WINEPREFIX hat über diesen Fallback Vorrang - Realtime Priority - + Echtzeitpriorität - Base priority: - + Basispriorität: - WineServer priority: - + WineServer-Priorität: - These options are not available for Carla as plugin - + Diese Optionen sind nicht für Carla als Plugin verfügbar - <b>Experimental</b> - + <b>Experimentell</b> - Experimental options! Likely to be unstable! - + Experimentelle Optionen! Wahrscheinlich instabil! - Enable plugin bridges - + Plugin-Bridges aktivieren - Enable Wine bridges - + Wine-Bridges aktivieren - Enable jack applications - + Jack-Applikationen aktivieren - Export single plugins to LV2 - + Einzelne Plugins nach LV2 exportieren - Use system/desktop-theme icons (needs restart) - + System-/Desktop-Thema-Icons benutzen (benötigt Neustart) - Load Carla backend in global namespace (NOT RECOMMENDED) - + Carla-Backend in globalen Namensraum laden (NICHT EMPFOHLEN) - Fancy eye-candy (fade-in/out groups, glow connections) - + Erweiterte Grafikeffekte (Gruppen ein-/ausblenden, leuchtende Verbindungen) - Use OpenGL for rendering (needs restart) - + OpenGL zum Rendern benutzen (benötigt Neustart) - High Quality Anti-Aliasing (OpenGL only) - + Hochqualitatives Antialiasing (nur OpenGL) - Render Ardour-style "Inline Displays" - + »Inline Displays« wie in Ardour rendern - Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - + Mono-Plugins zu Stereo zwingen, indem 2 Instanzen gleichzeitig laufen gelassen werden. +Dieser Modus ist nicht für VST-Plugins verfügbar. - Force mono plugins as stereo - + Mono-Plugins zu Stereo zwingen - When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - + Falls aktiviert, wird Carla versuchen, Plugins daran zu hindern, was das Audio kaputt machen könnte oder, xruns wie fork(), gtk_init() und ähnliches zu verursachen. - Prevent unsafe calls from plugins (needs restart) - + Unsichere Aufrufe von Plugins verhindern (benötigt Neustart) - Run plugins in a separate process, so if they crash it does not affect Carla. Plugins get automatically deactivated in such cases. Reactvate them to start the process again, with the last saved state applied to it. - + Plugins in einen separaten Prozess ausführen; wenn sie also abstürzen, bleibt Carla verschont. +Plugins werden in diesem Fall automatisch deaktiviert. +Reaktivieren Sie sie, um den Prozess neuzustarten, wobei der letzte gespeicherte Zustand auf sie angewendet wird. - Run plugins in bridge mode when possible - + Plugins im Bridge-Modus ausführen, falls möglich - - - - Add Path - + Pfad hinzufügen + + + + ControllerConnectionDialog + + Connection Settings + Verbindungseinstellungen + + + MIDI CONTROLLER + MIDI-CONTROLLER + + + Input channel + Eingangskanal + + + CHANNEL + KANAL + + + Input controller + Eingangscontroller + + + CONTROLLER + CONTROLLER + + + Auto Detect + Automatische Erkennung + + + MIDI-devices to receive MIDI-events from + MIDI-Geräte, von denen MIDI-Events empfangen werden sollen + + + USER CONTROLLER + BENUTZERDEFINIERTER CONTROLLER + + + MAPPING FUNCTION + ABBILDUNGSFUNKTION + + + OK + OK + + + Cancel + Abbrechen + + + LMMS + LMMS + + + Cycle Detected. + Schleife erkannt. + + + + ControllerRackView + + Controller Rack + Controller-Einheit + + + Add + Hinzufügen + + + Confirm Delete + Löschen bestätigen + + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. + Löschen bestätigen? Es gibt eine oder mehrere existierende Verbindungen, die mit diesem Controller assoziiert sind. Das kann nicht rückgängig gemacht werden. + + + + ControllerView + + Controls + Regler + + + Controllers are able to automate the value of a knob, slider, and other controls. + Mit Controllern können Sie den Wert eines Reglers, Schiebereglers und anderer Steuerelemente automatisieren. + + + Rename controller + Controller umbenennen + + + Enter the new name for this controller + Geben Sie einen neuen Namen für diesen Controller ein + + + &Remove this controller + Diesen Controller &entfernen + + + Re&name this controller + Diesen Controller umbe&nennen + + + LFO + LFO Dialog - Carla Control - Connect - + Carla-Steuerung – Verbinden - Remote setup - + Entfernter Host – Einrichtung - UDP Port: - + UDP-Port: - Remote host: - + Entfernter Host: - TCP Port: - + TCP-Port: - Set value Wert setzen - TextLabel - + TextLabel - Scale Points - + Skalierungspunkte DriverSettingsW - Driver Settings - + Treibereinstellungen - Device: - + Gerät: - Buffer size: - + Puffergröße: - Sample rate: - Sample Rate: + Sample-Rate: - Triple buffer - + Dreifachpuffer - Show Driver Control Panel - + Treiberbedienfeld anzeigen - Restart the engine to load the new settings - + Engine neustarten, um die neuen Einstellungen zu laden + + + + EffectRackView + + EFFECTS CHAIN + EFFEKT-KETTE + + + Add effect + Effekt hinzufügen + + + + EffectSelectDialog + + Add effect + Effekt hinzufügen + + + Name + Name + + + Type + Typ + + + Description + Beschreibung + + + Author + Autor + + + + EffectView + + Toggles the effect on or off. + Schaltet den Effekt an oder aus. + + + On/Off + An/aus + + + W/D + W/D + + + Wet Level: + Wet-Level: + + + The Wet/Dry knob sets the ratio between the input signal and the effect signal that forms the output. + Der Wet/Dry-Regler legt das Verhältnis zwischen Eingangssignal und vom Effekt bearbeiteten Signal im Ausgang fest. + + + DECAY + DECAY + + + Time: + Zeit: + + + The Decay knob controls how many buffers of silence must pass before the plugin stops processing. Smaller values will reduce the CPU overhead but run the risk of clipping the tail on delay and reverb effects. + Der Abfallzeit-Regler legt fest, wie viele Puffer mit Stille durchgelaufen sein müssen, bis der Effekt mit der Verarbeitung stoppt. Kleinere Werte reduzieren die CPU-Last, können jedoch unter Umständen das Ende von Delay-Effekten o.ä. abschneiden. + + + GATE + GATE + + + Gate: + Gate: + + + The Gate knob controls the signal level that is considered to be 'silence' while deciding when to stop processing signals. + Der Gate-Regler legt die Stärke des Signals fest, welches als »Stille« angesehen wird, um zu entscheiden, wann das Plugin mit der Verarbeitung aufhören soll. + + + Controls + Regler + + + Effect plugins function as a chained series of effects where the signal will be processed from top to bottom. + +The On/Off switch allows you to bypass a given plugin at any point in time. + +The Wet/Dry knob controls the balance between the input signal and the effected signal that is the resulting output from the effect. The input for the stage is the output from the previous stage. So, the 'dry' signal for effects lower in the chain contains all of the previous effects. + +The Decay knob controls how long the signal will continue to be processed after the notes have been released. The effect will stop processing signals when the volume has dropped below a given threshold for a given length of time. This knob sets the 'given length of time'. Longer times will require more CPU, so this number should be set low for most effects. It needs to be bumped up for effects that produce lengthy periods of silence, e.g. delays. + +The Gate knob controls the 'given threshold' for the effect's auto shutdown. The clock for the 'given length of time' will begin as soon as the processed signal level drops below the level specified with this knob. + +The Controls button opens a dialog for editing the effect's parameters. + +Right clicking will bring up a context menu where you can change the order in which the effects are processed or delete an effect altogether. + Effektplugins funktionieren als eine Aneinanderreihung von Effekten, wo das Signal von oben nach unter verarbeitet wird. + +Der Ein-/Ausschalter ermöglicht es Ihnen ein Plugin jeder Zeit zu umgehen. + +Der Wet/Dry-Regler legt das Verhältnis zwischen Eingangssignal und vom Effekt bearbeiteten Signal im Ausgang fest. Der Eingang dieses Effekts ist der Ausgang des vorherigen Effekts. Somit enthält das »dry«-Signal, für Effekte weiter unten in der Kette, alle vorherigen Effekte. + +Der Abfallzeit-Regler legt fest, wie lange das Signal weiterverarbeitet werden soll, nachdem die Noten losgelassen wurden. Der Effekt hört auf, Signale zu verarbeiten, wenn die Lautstärke eines Signals für eine festgelegte Zeit unter einen festgelegten Schwellwert gefallen ist. Dieser Regler legt die »festgelegte Zeit« fest. Längere Zeiten brauchen mehr Rechenleistung, deshalb sollte diese Zahl für die meisten Effekte niedrig sein. Es muss für Effekte, die über längere Zeit Stille erzeugen, z.B. Verzögerungen, erhöht werden. + +Der Gate-Regler kontrolliert den »festgelegten Schwellwert« für das automatische Ausschalten des Effekts. Die Uhr für die »festgelegte Zeit« beginnt sobald der Pegel des verarbeiteten Signals unter den mit diesem Knopf festgelegten Pegel fällt. + +Der Regler-Knopf öffnet einen Dialog zum Bearbeiten der Parameter des Effekts. + +Ein Recktsklick öffnet ein Kontextmenü, in dem Sie die Reihenfolge der Effekte ändern oder einen Effekt entfernen können. + + + Move &up + Nach &oben verschieben + + + Move &down + Nach &unten verschieben + + + &Remove this plugin + Plugin entfe&rnen + + + + EnvelopeAndLfoView + + DEL + DEL + + + Predelay: + Verzögerung (predelay): + + + Use this knob for setting predelay of the current envelope. The bigger this value the longer the time before start of actual envelope. + Benutzen Sie diesen Regler, um die Verzögerung (predelay) für die aktuelle Hüllkurven einzustellen. Je größer dieser Wert, desto länger dauert es, bis die eigentliche Hüllkurve beginnt. + + + ATT + ATT + + + Attack: + Anschwellzeit (attack): + + + Use this knob for setting attack-time of the current envelope. The bigger this value the longer the envelope needs to increase to attack-level. Choose a small value for instruments like pianos and a big value for strings. + Benutzen Sie diesen Regler, um die Anschwellzeit (attack) für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto länger braucht die Hüllkurve, um bis zum Anschwellpegel (attack-level) zu steigen. Wählen Sie einen kleinen Wert für Instrumente wie Klavier und einen großen Wert für Streichinstrumente. + + + HOLD + HOLD + + + Hold: + Haltezeit (hold): + + + Use this knob for setting hold-time of the current envelope. The bigger this value the longer the envelope holds attack-level before it begins to decrease to sustain-level. + Benutzen Sie diesen Regler, um die Haltezeit (hold) der aktuellen Hüllkurve zu setzen. Je größer der Wert, desto länger hält die Hüllkurve den Anschwellpegel, bevor sie zum Haltepegel (sustain-level) abfällt. + + + DEC + DEC + + + Decay: + Abfallzeit (decay): + + + Use this knob for setting decay-time of the current envelope. The bigger this value the longer the envelope needs to decrease from attack-level to sustain-level. Choose a small value for instruments like pianos. + Benutzen Sie diesen Regler, um die Abfallzeit (decay) für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto länger braucht die Hüllkurve, um vom Anschwellpegel (attack-level) zum Dauerpegel (sustain-level) abzufallen. Wählen Sie einen kleinen Wert für Instrumente wie Klavier. + + + SUST + SUST + + + Sustain: + Dauerpegel (sustain): + + + Use this knob for setting sustain-level of the current envelope. The bigger this value the higher the level on which the envelope stays before going down to zero. + Benutzen Sie diesen Regler, um den Dauerpegel (sustain-level) für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto höher der Pegel, den die Hüllkurve hält, bevor sie auf Null abfällt. + + + REL + REL + + + Release: + Ausklingzeit (release): + + + Use this knob for setting release-time of the current envelope. The bigger this value the longer the envelope needs to decrease from sustain-level to zero. Choose a big value for soft instruments like strings. + Benutzen Sie diesen Regler, um die Ausklingzeit der aktuellen Hüllkurve einzustellen. Je größer der Wert, desto länger braucht die Hüllkurve um vom Dauerpegel (sustain-level) auf Null abzufallen. Wählen Sie einen großen Wert für weiche Instrumente, wie z.B. Streicher. + + + AMT + Intensität + INT + + + Modulation amount: + Modulationsintensität: + + + Use this knob for setting modulation amount of the current envelope. The bigger this value the more the according size (e.g. volume or cutoff-frequency) will be influenced by this envelope. + Benutzen Sie diesen Regler, um die Modulationsintensität für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto mehr wird die gewählte Größe (z.B. Lautstärke oder Kennfrequenz) von der Hüllkurve beeinflusst. + + + LFO predelay: + LFO-Vorverzögerung (LFO predelay): + + + Use this knob for setting predelay-time of the current LFO. The bigger this value the the time until the LFO starts to oscillate. + Benutzen Sie diesen Regler, um die Verzögerungszeit für den aktuellen LFO einzustellen. Je größer dieser Wert, desto länger die Zeit, bis der LFO anfängt zu schwingen. + + + LFO- attack: + LFO-Anschwellzeit (LFO-attack): + + + Use this knob for setting attack-time of the current LFO. The bigger this value the longer the LFO needs to increase its amplitude to maximum. + Benutzen Sie diesen Regler, um die Anschwellzeit für den aktuellen LFO einzustellen. Je größer dieser Wert, desto länger dauert es, bis die Amplitude des LFOs bis zum Maximum angestiegen ist. + + + SPD + Geschwindigkeit + GSW + + + LFO speed: + LFO-Geschwindigkeit: + + + Use this knob for setting speed of the current LFO. The bigger this value the faster the LFO oscillates and the faster will be your effect. + Benutzen Sie diesen Regler, um die Geschwindigkeit für den aktuellen LFO einzustellen. Je größer der Wert, desto schneller schwingt der LFO und desto schneller ist der entsprechende Effekt. + + + Use this knob for setting modulation amount of the current LFO. The bigger this value the more the selected size (e.g. volume or cutoff-frequency) will be influenced by this LFO. + Benutzen Sie diesen Regler, um die Modulationsintensität des aktuellen LFOs einzustellen. Je größer der Wert, desto mehr wird die gewählte Größe (z.B. Lautstärke oder Kennfrequenz) von diesem LFO beeinflusst. + + + Click here for a sine-wave. + Hier klicken für eine Sinuswelle. + + + Click here for a triangle-wave. + Hier klicken für eine Dreieckwelle. + + + Click here for a saw-wave for current. + Hier klicken für eine Sägezahnwelle. + + + Click here for a square-wave. + Hier klicken eine Rechteckwelle. + + + Click here for a user-defined wave. Afterwards, drag an according sample-file onto the LFO graph. + Hier klicken für eine benutzerdefinierte Wellenform. Danach eine entsprechende Sampledatei auf den LFO-Graphen ziehen. + + + FREQ x 100 + FREQ ×100 + + + Click here if the frequency of this LFO should be multiplied by 100. + Hier klicken, wenn die Frequenz des LFOs mit 100 multipliziert werden soll. + + + multiply LFO-frequency by 100 + LFO-Frequenz mit 100 multiplizieren + + + MODULATE ENV-AMOUNT + HÜLLK. MODULIEREN + + + Click here to make the envelope-amount controlled by this LFO. + Klicken Sie hier, um die Hüllkurvenintensität durch diesen LFO kontrollieren zu lassen. + + + control envelope-amount by this LFO + Hüllkurvenintensität durch diesen LFO kontrollieren + + + ms/LFO: + ms/LFO: + + + Hint + Tipp + + + Drag a sample from somewhere and drop it in this window. + Ziehen Sie ein Sample von irgendwo und lassen es in diesem Fenster fallen. + + + Click here for random wave. + Klick für eine zufällige Welle. ExportProjectDialog - Export project Projekt exportieren - - Export as loop (remove extra bar) - + Output + Ausgabe - - Export between loop markers - Export zwischen den Loop markierungen - - - - Render Looped Section: - - - - - time(s) - - - - - File format settings - - - - File format: Dateiformat: - - Sampling rate: - + Samplerate: + Abtastrate: - 44100 Hz 44100 Hz - 48000 Hz 48000 Hz - 88200 Hz 88200 Hz - 96000 Hz 96000 Hz - 192000 Hz 192000 Hz - - Bit depth: - - - - - 16 Bit integer - - - - - 24 Bit integer - - - - - 32 Bit float - - - - - Stereo mode: - Stereo Modus: - - - - Mono - Mono - - - - Stereo - Stereo - - - - Joint stereo - - - - - Compression level: - - - - Bitrate: Bitrate: - 64 KBit/s 64 KBit/s - 128 KBit/s 128 KBit/s - 160 KBit/s 160 KBit/s - 192 KBit/s 192 KBit/s - 256 KBit/s 256 KBit/s - 320 KBit/s 320 KBit/s - - Use variable bitrate - Verwende variable Bitrate + Depth: + Tiefe: + + + 16 Bit Integer + 16 Bit Ganzzahl + + + 32 Bit Float + 32 Bit Fließkommazahl + + + Please note that not all of the parameters above apply for all file formats. + Bitte beachten Sie, dass nicht alle der obigen Parameter für alle Dateiformate relevant sind. - Quality settings Qualitätseinstellungen - Interpolation: Interpolation: - - Zero order hold - + Zero Order Hold + Zero-Order-Hold - - Sinc worst (fastest) - + Sinc Fastest + Sinc – am schnellsten - - Sinc medium (recommended) - + Sinc Medium (recommended) + Sinc – mittel (empfohlen) - - Sinc best (slowest) - + Sinc Best (very slow!) + Sinc – am besten (sehr langsam!) + + + Oversampling (use with care!): + Überabtastung (oversampling) (mit Vorsicht nutzen!): + + + 1x (None) + 1× (keine) + + + 2x + + + + 4x + + + + 8x + - Start Start - Cancel Abbrechen + + Export as loop (remove end silence) + Als Schleife exportieren (Stille am Ende entfernen) + + + Export between loop markers + Export zwischen den Schleifenmarkierungen + + + Could not open file + Konnte Datei nicht öffnen + + + Export project to %1 + Projekt nach %1 exportieren + + + Error + Fehler + + + Error while determining file-encoder device. Please try to choose a different output format. + Fehler beim Bestimmen des Datei-Enkoder-Geräts. Bitte wählen Sie ein anderes Ausgabeformat. + + + Rendering: %1% + Rendern: %1 % + + + Could not open file %1 for writing. +Please make sure you have write permission to the file and the directory containing the file and try again! + Datei %1 konnte nicht zum Schreiben geöffnet werden. +Bitte stellen Sie sicher, dass Sie Schreibrechte sowohl auf die Datei als auch das Verzeichnis, das sie enthält, haben, und versuchen Sie es erneut! + + + Export as loop (remove extra bar) + Als Schleife exportieren (Zusatztakt entfernen) + + + Render Looped Section: + Schleifenabschnitt rendern: + + + time(s) + mal + + + File format settings + Dateiformateinstellungen + + + Sampling rate: + Sample-Rate: + + + Bit depth: + Bittiefe: + + + 16 Bit integer + 16 Bit Ganzzahl + + + 24 Bit integer + 24 Bit Ganzzahl + + + 32 Bit float + 32 Bit Fließkommazahl + + + Stereo mode: + Stereomodus: + + + Mono + Mono + + + Stereo + Stereo + + + Joint stereo + Verbund-Stereo + + + Compression level: + Kompressionsstufe: + + + Use variable bitrate + Variable Bitrate benutzen + + + Zero order hold + Zero-Order-Hold + + + Sinc worst (fastest) + Sinc – am schlechtesten (am schnellsten) + + + Sinc medium (recommended) + Sinc – mittel (empfohlen) + + + Sinc best (slowest) + Sinc – am besten (am langsamsten) + - InstrumentFunctionNoteStacking + Fader + + Please enter a new value between %1 and %2: + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + + + FileBrowser + + Browser + Browser + + + + FileBrowserTreeWidget + + Send to active instrument-track + An aktive Instrumentspur senden + + + Open in new instrument-track/B+B Editor + In neuer Instrumentspur im B+B-Editor öffnen + + + Loading sample + Lade Sample + + + Please wait, loading sample for preview... + Bitte warten, lade Sample für Vorschau … + + + --- Factory files --- + --- Mitgelieferte Dateien --- + + + Open in new instrument-track/Song Editor + In neuer Instrumentspur im Song-Editor öffnen + + + Error + Fehler + + + does not appear to be a valid + Ursprungstext wird verkettet, daher diese komische Übersetzung + scheint nicht gültig zu sein. Typ: + + + file + Datei + + + + FxLine + + Channel send amount + Kanal-Sendemenge + + + The FX channel receives input from one or more instrument tracks. + It in turn can be routed to multiple other FX channels. LMMS automatically takes care of preventing infinite loops for you and doesn't allow making a connection that would result in an infinite loop. + +In order to route the channel to another channel, select the FX channel and click on the "send" button on the channel you want to send to. The knob under the send button controls the level of signal that is sent to the channel. + +You can remove and move FX channels in the context menu, which is accessed by right-clicking the FX channel. + + Der FX-Kanal erhält von ein oder mehr Instrumentenspuren-Eingabesignale. + Er kann wiederum durch mehrere andere FX-Kanäle gesendet werden. LMMS verhindert Endlosschleifen automatisch für Sie und erlaubt es nicht, eine Verbindung zu erstellen, die in einer Endlosschleife resultiert. + +Um den Kanal an einen anderen Kanal zu senden, wählen Sie den FX-Kanal aus und klicken Sie auf den »Senden«-Knopf in dem Kanal, an den Sie den Kanal senden möchten. Der Knopf unter dem Sendeknopf regelt die Stärke des gesendeten Signals. + +Sie können FX-Kanäle im Kontextmenü entfernen und verschieben, welches durch einen Rechtsklick auf dem FX-Kanal aufgerufen wird. + + + + Move &left + Nach &links verschieben + + + Move &right + Nach &rechts verschieben + + + Rename &channel + &Kanal umbenennen + + + R&emove channel + Kanal &Entfernen + + + Remove &unused channels + Entferne &unbenutzte Kanäle + + + + FxMixer + + Master + Master + + + FX %1 + FX %1 + + + + FxMixerView + + FX-Mixer + FX-Mixer + + + FX Fader %1 + FX-Schieber %1 + + + Mute + Stumm + + + Mute this FX channel + Diesen FX-Kanal stummschalten + + + Solo + Solo + + + Solo FX channel + Solo-FX-Kanal + + + + FxRoute + + Amount to send from channel %1 to channel %2 + Anteil, der von Kanal %1 zu Kanal %2 gesendet werden soll + + + + GuiApplication + + Working directory + Arbeitsverzeichnis + + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. + Das LMMS-Arbeitsverzeichnis %1 existiert nicht. Soll es jetzt erstellt werden? Sie können das Verzeichnis mit Bearbeiten -> Einstellungen ändern. + + + Preparing UI + UI vorbereiten + + + Preparing song editor + Song-Editor vorbereiten + + + Preparing mixer + Mixer vorbereiten + + + Preparing controller rack + Controller-Einheit vorbereiten + + + Preparing project notes + Projektnotizen vorbereiten + + + Preparing beat/bassline editor + Beat-/Bassline-Editor vorbereiten + + + Preparing piano roll + Piano-Roll vorbereiten + + + Preparing automation editor + Automations-Editor vorbereiten + + + + InstrumentFunctionArpeggioView + + ARPEGGIO + ARPEGGIO + + + An arpeggio is a method playing (especially plucked) instruments, which makes the music much livelier. The strings of such instruments (e.g. harps) are plucked like chords. The only difference is that this is done in a sequential order, so the notes are not played at the same time. Typical arpeggios are major or minor triads, but there are a lot of other possible chords, you can select. + Ein Arpeggio ist eine Art, (vor allem gezupfte) Instrumente zu spielen, die die Musik viel lebendiger macht. Die Seiten von solchen Instrumenten (z.B. Harfen) werden wie Akkorde gezupft, der einzige Unterschied besteht darin, dass dies nacheinander geschieht. Die Noten werden also nicht zur gleichen Zeit gespielt. Typische Arpeggios sind Dur- oder Moll-Dreiklänge, aber es gibt noch viele andere Akkorde, die Sie auswählen können. + + + RANGE + Bereich + BEREI + + + Arpeggio range: + Arpeggio-Bereich: + + + octave(s) + Oktave(n) + + + Use this knob for setting the arpeggio range in octaves. The selected arpeggio will be played within specified number of octaves. + Benutzen Sie diesen Regler, um den Arpeggio-Bereich in Oktaven zu setzen. Das gewählte Arpeggio wird innerhalb der angegebenen Anzahl von Oktaven abgespielt. + + + TIME + ZEIT + + + Arpeggio time: + Arpeggio-Zeit: + + + ms + ms + + + Use this knob for setting the arpeggio time in milliseconds. The arpeggio time specifies how long each arpeggio-tone should be played. + Benutzen Sie diesen Regler, um die Arpeggio-Zeit in Millisekunden zu setzen. Die Arpeggio-Zeit gibt an, wie lange jeder einzelne Arpeggio-Ton gespielt werden soll. + + + GATE + GATE + + + Arpeggio gate: + Arpeggio-Gate: + + + % + % + + + Use this knob for setting the arpeggio gate. The arpeggio gate specifies the percent of a whole arpeggio-tone that should be played. With this you can make cool staccato arpeggios. + Benutzen Sie diesen Regler, um das Arpeggio-Gate zu setzen. Das Arpeggio-Gate gibt an, wie viel Prozent eines ganzen Arpeggio-Tons gespielt werden sollen. Damit können Sie coole Staccato-Arpeggios erzeugen. + + + Chord: + Akkord: + + + Direction: + Richtung: + + + Mode: + Modus: + + + SKIP + Überspringen + ÜBER + + + Skip rate: + Übersprungsrate: + + + The skip function will make the arpeggiator pause one step randomly. From its start in full counter clockwise position and no effect it will gradually progress to full amnesia at maximum setting. + Die Übersprungsfunktion wird den Arpeggiator dazu veranlassen, zufällig einen Schritt lang zu pausieren. An der Anfangsposition – am Anschlag an der entgegen dem Uhrzeigersinn gerichteten Position – hat es keine Wirkung. Mit steigenden Werten wird es allmählich zum vollständigen Vergessen bei der Maximalposition ansteigen. + + + MISS + Verfehlen + FEHL + + + Miss rate: + Verfehlrate: + + + The miss function will make the arpeggiator miss the intended note. + Die Verfehlfunktion wird den Arpeggiator dazu veranlassen, die geplante Note zu verfehlen. + + + CYCLE + ZYKLUS + + + Cycle notes: + Notenzyklus: + + + note(s) + Note(n) + + + Jumps over n steps in the arpeggio and cycles around if we're over the note range. If the total note range is evenly divisible by the number of steps jumped over you will get stuck in a shorter arpeggio or even on one note. + Springt über n Schritte im Arpeggio und kehrt zum Anfang des Zyklus zurück, wenn wir oberhalb des Notenbereichs sind. Falls der gesamte Notenbereich gleichmäßig durch die Anzahl der übersprungenen Schritte teilbar ist, werden Sie in einem kürzeren Arpeggio oder sogar auf einer Note festhängen. + + + + lmms::InstrumentFunctionNoteStacking + + Chords + Akkorde + + + Chord type + Akkordtyp + + + Chord range + Akkord-Bereich + - octave Oktave - - Major Dur - Majb5 Durb5 - minor moll - minb5 mollb5 - sus2 sus2 - sus4 sus4 - aug aug - augsus4 augsus4 - tri tri - 6 6 - 6sus4 6sus4 - 6add9 6add9 - m6 m6 - m6add9 m6add9 - 7 7 - 7sus4 7sus4 - 7#5 7#5 - 7b5 7b5 - 7#9 7#9 - 7b9 7b9 - 7#5#9 7#5#9 - 7#5b9 7#5b9 - 7b5b9 7b5b9 - 7add11 7add11 - 7add13 7add13 - 7#11 7#11 - Maj7 Maj7 - Maj7b5 Maj7b5 - Maj7#5 Maj7#5 - Maj7#11 Maj7#11 - Maj7add13 Maj7add13 - m7 m7 - m7b5 m7b5 - m7b9 m7b9 - m7add11 m7add11 - m7add13 m7add13 - m-Maj7 m-Maj7 - m-Maj7add11 m-Maj7add11 - m-Maj7add13 m-Maj7add13 - 9 9 - 9sus4 9sus4 - add9 add9 - 9#5 9#5 - 9b5 9b5 - 9#11 9#11 - 9b13 9b13 - Maj9 Maj9 - Maj9sus4 Maj9sus4 - Maj9#5 Maj9#5 - Maj9#11 Maj9#11 - m9 m9 - madd9 madd9 - m9b5 m9b5 - m9-Maj7 m9-Maj7 - 11 11 - 11b9 11b9 - Maj11 Maj11 - m11 m11 - m-Maj11 m-Maj11 - 13 13 - 13#9 13#9 - 13b9 13b9 - 13b5b9 13b5b9 - Maj13 Maj13 - m13 m13 - m-Maj13 m-Maj13 - Harmonic minor Harmonisches Moll - Melodic minor Melodisches Moll - Whole tone Ganze Töne - Diminished Vermindert - Major pentatonic Pentatonisches Dur - Minor pentatonic Pentatonisches Moll - Jap in sen Jap in sen - Major bebop Dur Bebop - Dominant bebop Dominanter Bebop - Blues Blues - Arabic Arabisch - Enigmatic Enigmatisch - Neopolitan Neopolitanisch - Neopolitan minor Neopolitanisches Moll - Hungarian minor Zigeunermoll - Dorian Dorisch - Phrygian Phrygisch - Lydian Lydisch - Mixolydian Mixolydisch - Aeolian Äolisch - Locrian Locrisch - Minor Moll - Chromatic Chromatisch - Half-Whole Diminished Halbton-Ganzton-Leiter - 5 5 - Phrygian dominant - + Phrygisch-dominant - Persian Persisch + + InstrumentFunctionNoteStackingView + + RANGE + Bereich + BEREI + + + Chord range: + Akkord-Bereich: + + + octave(s) + Oktave(n) + + + Use this knob for setting the chord range in octaves. The selected chord will be played within specified number of octaves. + Benutzen Sie diesen Regler, um den Akkord-Bereich in Oktaven zu setzen. Der gewählte Akkord wird innerhalb der angegebenen Anzahl von Oktaven abgespielt. + + + STACKING + STACKING + + + Chord: + Akkord: + + + + InstrumentMidiIOView + + ENABLE MIDI INPUT + MIDI-EINGANG AKTIVIEREN + + + CHANNEL + KANAL + + + VELOCITY + Lautstärke (abgekürzt aus Platzgründen) + LAUTSTRK + + + ENABLE MIDI OUTPUT + MIDI-AUSGANG AKTIVIEREN + + + PROGRAM + PROGRAMM + + + MIDI devices to receive MIDI events from + MIDI-Geräte, von denen MIDI-Events empfangen werden sollen + + + MIDI devices to send MIDI events to + MIDI-Geräte, an die MIDI-Events gesendet werden sollen + + + NOTE + NOTE + + + CUSTOM BASE VELOCITY + BENUTZERDEF. GRUNDLAUTSTÄRKE + + + Specify the velocity normalization base for MIDI-based instruments at 100% note velocity + Text muss kurz sein, damit er passt + Hier die Lautstärken-Normalisationsbasis für MIDI-basierende Instrumente bei Notenlautstärke von 100 % angeben + + + BASE VELOCITY + GRUNDLAUTSTÄRKE + + + + InstrumentMiscView + + MASTER PITCH + MASTER-TONHÖHE + + + Enables the use of Master Pitch + Zeilenumbruch nötig aufgrund Platzmangel + Aktiviert die Benutzung +der Master-Tonhöhe + + InstrumentSoundShaping - VOLUME LAUTSTÄRKE - Volume Lautstärke - CUTOFF KENNFREQ - Cutoff frequency Kennfrequenz - RESO RESO - Resonance Resonanz + + InstrumentSoundShapingView + + TARGET + ZIEL + + + These tabs contain envelopes. They're very important for modifying a sound, in that they are almost always necessary for substractive synthesis. For example if you have a volume envelope, you can set when the sound should have a specific volume. If you want to create some soft strings then your sound has to fade in and out very softly. This can be done by setting large attack and release times. It's the same for other envelope targets like panning, cutoff frequency for the used filter and so on. Just monkey around with it! You can really make cool sounds out of a saw-wave with just some envelopes...! + Diese Tabs enthalten Hüllkurven. Diese sind sehr wichtig, um einen Klang zu verändern, insbesondere bei der substraktiven Synthese. Wenn Sie zum Beispiel eine Lautstärkenhüllkurve haben, können Sie festlegen, wann der Klang welchen Lautstärkepegel haben soll. Vielleicht wollen Sie ein weiches Streichinstrument erstellen. Dann muss ihr Sound sehr sanft ein- und ausgeblendet werden. Das kann man ganz einfach erreichen, indem man eine große Anschwellzeit (attack) und Ausklingzeit (release) einstellt. Mit anderen Hüllkurven, wie Balance, Kennfrequenz des benutzten Filters usw., ist es genau das Gleiche. Probieren Sie einfach ein bisschen herum! Mit ein paar Hüllkurven kann man aus einer Sägezahnwelle wirklich coole Klänge machen. + + + FILTER + FILTER + + + Here you can select the built-in filter you want to use for this instrument-track. Filters are very important for changing the characteristics of a sound. + Hier können Sie den eingebauten Filter wählen, den Sie in dieser Instrument-Spur nutzen wollen. Filter sind sehr wichtig, um die Charakteristik eines Klangs zu verändern. + + + Hz + Hz + + + Use this knob for setting the cutoff frequency for the selected filter. The cutoff frequency specifies the frequency for cutting the signal by a filter. For example a lowpass-filter cuts all frequencies above the cutoff frequency. A highpass-filter cuts all frequencies below cutoff frequency, and so on... + Benutzen Sie diesen Regler, um die Kennfrequenz (cutoff frequency) für den gewählten Filter einzustellen. Die Kennfrequenz wird vom Filter zum Beschneiden des Signals verwendet. Zum Beispiel filtert ein Tiefpass-Filter alle Frequenzen oberhalb der Kennfrequenz heraus. Ein Hochpass-Filter filtert alle Frequenzen unterhalb der Kennfrequenz heraus usw. … + + + RESO + RESO + + + Resonance: + Resonanz: + + + Use this knob for setting Q/Resonance for the selected filter. Q/Resonance tells the filter how much it should amplify frequencies near Cutoff-frequency. + Benutzen Sie diesen Regler, um Q/die Resonanz für den gewählten Filter einzustellen. Q/Resonanz teilt dem Filter mit, wie stark er die Frequenzen in der Nähe der Cutoff-Frequenz verstärken soll. + + + FREQ + FREQ + + + cutoff frequency: + Kennfrequenz: + + + Envelopes, LFOs and filters are not supported by the current instrument. + Hüllkurven, LFOs und Filter werden vom aktuellen Instrument nicht unterstützt. + + + + InstrumentTrackView + + Volume + Lautstärke + + + Volume: + Lautstärke: + + + VOL + Lautstärke + LAU + + + Panning + Balance + + + Panning: + Balance: + + + PAN + Balance + BAL + + + MIDI + MIDI + + + Input + Eingang + + + Output + Ausgang + + + FX %1: %2 + FX %1: %2 + + + + InstrumentTrackWindow + + GENERAL SETTINGS + GRUNDEINSTELLUNGEN + + + Instrument volume + Instrument-Lautstärke + + + Volume: + Lautstärke: + + + VOL + Lautstärke + LAU + + + Panning + Balance + + + Panning: + Balance: + + + PAN + Balance + BAL + + + Pitch + Tonhöhe + + + Pitch: + Tonhöhe: + + + cents + Cent + + + PITCH + Tonhöhe + HÖHE + + + FX channel + FX-Kanal + + + ENV/LFO + Hüllkurve/LFO + HÜLL/LFO + + + FUNC + Funktion + FUNK + + + FX + FX + + + MIDI + MIDI + + + Save preset + Preset speichern + + + XML preset file (*.xpf) + XML-Presetdatei (*.xpf) + + + PLUGIN + PLUGIN + + + Pitch range (semitones) + Tonhöhenbereich (Halbtöne) + + + RANGE + Bereich + BEREI + + + Save current instrument track settings in a preset file + Aktuelle Instrumentenspur-Einstellungen in einer Presetdatei speichern + + + Click here, if you want to save current instrument track settings in a preset file. Later you can load this preset by double-clicking it in the preset-browser. + Klicken Sie hier, wenn Sie die aktuellen Instrumentenspur-Einstellungen in einer Presetdatei speichern möchten. Sie können dieses Preset später durch Doppelklicken auf die Datei im Preset-Browser öffnen. + + + MISC + VERSCHIEDENES + + + Use these controls to view and edit the next/previous track in the song editor. + Benutzen Sie diese Steuerungen, um die nächste bzw. vorherige Spur im Song-Editor zu betrachten und zu bearbeiten. + + + SAVE + SPEICHERN + + JackAppDialog - Add JACK Application - + JACK-Applikation hinzufügen - Note: Features not implemented yet are greyed out - + Anmerkung: Noch nicht implementierte Features sind ausgegraut - Application - + Applikation - Name: - + Name: - Application: - + Applikation: - From template - + Aus Vorlage - Custom - + Benutzerdefiniert - Template: - + Vorlage: - Command: - + Befehl: - Setup - + Einrichtung - Session Manager: - + Sitzungsverwaltung: - None - + Keine - Audio inputs: - + Audioeingänge: - MIDI inputs: - + MIDI-Eingänge: - Audio outputs: - + Audioausgänge: - MIDI outputs: - + MIDI-Ausgänge: - Take control of main application window - + Kontrolle über Hauptapplikationsfenster übernehmen - Workarounds - + Workarounds - Wait for external application start (Advanced, for Debug only) - + Auf externen Applikationsstart warten (fortgeschritten, nur für Debug) - Capture only the first X11 Window - + Nur das erste X11-Fenster fangen - Use previous client output buffer as input for the next client - + Vorherigen Client-Ausgabepuffer als Eingabe für den nächsten Client benutzen - Simulate 16 JACK MIDI outputs, with MIDI channel as port index - + 16 JACK-MIDI-Ausgänge simulieren, mit dem MIDI-Kanal als Port-Index - Error here - + Fehler hier - NSM applications cannot use abstract or absolute paths - + NSM-Applikationen können keine abstrakten oder absoluten Pfade benutzen - NSM applications cannot use CLI arguments - + NSM-Applikationen können keine Kommandozeilenargumente benutzen - You need to save the current Carla project before NSM can be used - + Sie müssen das aktuelle Carla-Projekt speichern, bevor NSM benutzt werden kann JuceAboutW - This program uses JUCE version %1. - + Dieses Programm benutzt JUCE Version %1. + + + + Knob + + Set linear + Linear einstellen + + + Set logarithmic + Logarithmisch einstellen + + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: + Bitte geben Sie einen neuen Wert zwischen -96.0 dBFS und 6.0 dBFS: ein: + + + Please enter a new value between %1 and %2: + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + + + LadspaControlView + + Link channels + Kanäle verknüpfen + + + Value: + Wert: + + + Sorry, no help available. + Tschuldigung, keine Hilfe verfügbar. + + + + LcdSpinBox + + Please enter a new value between %1 and %2: + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + + + LeftRightNav + + Previous + Vorheriges + + + Next + Nächstes + + + Previous (%1) + Vorheriges (%1) + + + Next (%1) + Nächstes (%1) + + + + LfoControllerDialog + + LFO + LFO + + + LFO Controller + LFO-Controller + + + BASE + Grund + GRUN + + + Base amount: + Grundstärke: + + + todo + Zu erledigen + + + SPD + Geschwindigkeit + GSW + + + LFO-speed: + LFO-Geschwindigkeit: + + + Use this knob for setting speed of the LFO. The bigger this value the faster the LFO oscillates and the faster the effect. + Benutzen Sie diesen Regler, um die Geschwindigkeit des LFOs einzustellen. Je größer der Wert, desto schneller schwingt der LFO und desto schneller ist der entsprechende Effekt. + + + Modulation amount: + Modulationsintensität: + + + Use this knob for setting modulation amount of the LFO. The bigger this value, the more the connected control (e.g. volume or cutoff-frequency) will be influenced by the LFO. + Benutzen Sie diesen Regler, um die Modulationsintensität des LFOs einzustellen. Je größer der Wert, desto mehr wird die gewählte Größe (z.B. Lautstärke oder Kennfrequenz) von diesem LFO beeinflusst. + + + PHS + PHS + + + Phase offset: + Phasenverschiebung: + + + degrees + Grad + + + With this knob you can set the phase offset of the LFO. That means you can move the point within an oscillation where the oscillator begins to oscillate. For example if you have a sine-wave and have a phase-offset of 180 degrees the wave will first go down. It's the same with a square-wave. + Mit diesem Regler können Sie die Phasenverschiebung des LFOs einstellen. Das heißt, Sie können den Punkt innerhalb einer Schwingung verschieben, an dem der Oszillator anfangen soll zu schwingen. Wenn Sie zum Beispiel eine Sinuswelle haben und eine Phasenverschiebung von 180 Grad einstellen, wird die Welle zu erst runter gehen. Das gleiche trifft auch bei einer Rechteckwelle zu. + + + Click here for a sine-wave. + Klick für eine Sinuswelle. + + + Click here for a triangle-wave. + Klick für eine Dreieckwelle. + + + Click here for a saw-wave. + Klick für eine Sägezahnwelle. + + + Click here for a square-wave. + Klick für eine Rechteckwelle. + + + Click here for an exponential wave. + Klick für eine exponentielle Welle. + + + Click here for white-noise. + Klick für weißes Rauschen. + + + Click here for a user-defined shape. +Double click to pick a file. + Klicken Sie hier für eine benutzerdefinierte Form. +Doppelklicken Sie, um eine Datei auszuwählen. + + + Click here for a moog saw-wave. + Klick für eine Moog-Sägezahnwelle. + + + AMNT + Intensität + INTE + + + + LmmsCore + + Generating wavetables + Wavetables generieren + + + Initializing data structures + Datenstrukturen initialisieren + + + Opening audio and midi devices + Audio- und MIDI-Geräte öffnen + + + Launching mixer threads + Mixer-Threads starten + + + + MeterDialog + + Meter Numerator + Takt/Zähler + + + Meter Denominator + Takt/Nenner + + + TIME SIG + TAKTART MidiPatternW - MIDI Pattern - + MIDI-Pattern - Time Signature: - + Taktart: - - - 1/4 - + 1/4 - 2/4 - + 2/4 - 3/4 - + 3/4 - 4/4 - + 4/4 - 5/4 - + 5/4 - 6/4 - + 6/4 - Measures: - + Takte: - - - 1 - + 1 - 2 - + 2 - 3 - + 3 - 4 - + 4 - 5 5 - 6 6 - 7 7 - 8 - + 8 - 9 9 - 10 - + 10 - 11 11 - 12 - + 12 - 13 13 - 14 - + 14 - 15 - + 15 - 16 - + 16 - Default Length: - + Standardlänge: - - 1/16 - + 1/16 - - 1/15 - + 1/15 - - 1/12 - + 1/12 - - 1/9 - + 1/9 - - 1/8 - + 1/8 - - 1/6 - + 1/6 - - 1/3 - + 1/3 - - 1/2 - + 1/2 - Quantize: - + Quantisieren: - &File &Datei - &Edit &Bearbeiten - &Quit - &Beenden + &Verlassen - Esc - + Esc - &Insert Mode - + Ei&nfügemodus - F - + F - &Velocity Mode - + &Lautstärkenmodus - D - + D - Select All - + Alle auswählen - A - + A + + + + MidiSetupWidget + + DEVICE + GERÄT + + + ALSA Raw-MIDI (Advanced Linux Sound Architecture) + ALSA Raw-MIDI (Advanced Linux Sound Architecture) + + + ALSA-Sequencer (Advanced Linux Sound Architecture) + ALSA-Sequencer (Advanced Linux Sound Architecture) + + + Apple MIDI + Apple MIDI + + + Dummy (no MIDI support) + Dummy (keine MIDI-Unterstützung) + + + Jack-MIDI + Jack-MIDI + + + OSS Raw-MIDI (Open Sound System) + OSS Raw-MIDI (Open Sound System) + + + sndio MIDI + sndio MIDI + + + WinMM MIDI + WinMM MIDI PatchesDialog - - Qsynth: Channel Preset - + Qsnyth: Kanalpreset - - Bank selector - + Bankwähler - - Bank Bank - - Program selector Programmwähler - - Patch Patch - - Name Name - - OK OK - - Cancel Abbrechen + + PatternView + + Open in piano-roll + Im Piano-Roll öffnen + + + Clear all notes + Alle Noten löschen + + + Reset name + Name zurücksetzen + + + Change name + Name ändern + + + Add steps + Schritte hinzufügen + + + Remove steps + Schritte entfernen + + + use mouse wheel to set velocity of a step + Mausrad benutzen, um Lautstärke eines Schritts zu setzen + + + double-click to open in Piano Roll + Doppelklick, um in Piano-Roll zu öffnen + + + Clone Steps + Schritte klonen + + + + PeakControllerDialog + + PEAK + PEAK + + + LFO Controller + LFO-Controller + + + + PeakControllerEffectControls + + Base value + Grundwert + + + Modulation amount + Modulationsintensität + + + Mute output + Ausgang stummschalten + + + Attack + Anschwellzeit (attack) + + + Release + Ausklingzeit (release) + + + Abs Value + Absoluter Wert + + + Amount Multiplicator + Intensitätsfaktor + + + Treshold + Schwellwert + + + + PianoView + + Base note + Grundton + + PluginBrowser - + Instrument browser + Instrument-Browser + + + Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. + Ziehen Sie ein Instrument entweder in den Song-Editor, den Beat-und-Bassline-Editor oder in eine existierende Instrumentspur. + + + Instrument Plugins + Instrument-Plugins + + no description keine Beschreibung - - A native amplifier plugin - Ein natives Verstärker-Plugin + Incomplete monophonic imitation tb303 + Unvollständiger monophonischer TB303-Klon - - Simple sampler with various settings for using samples (e.g. drums) in an instrument-track - Einfacher Sampler mit verschiedenen Einstellungen zum Benutzen von Samples (z.B. Trommeln) in einer Instrumentenspur - - - - Boost your bass the fast and simple way - Verstärken Sie Ihren Bass auf schnellen und einfachen Wege - - - - Customizable wavetable synthesizer - Flexibler Wavetable-Synthesizer - - - - An oversampling bitcrusher - - - - - Carla Patchbay Instrument - Carla Patchbay Instrument - - - - Carla Rack Instrument - Carla Rack Instrument - - - - A dynamic range compressor. - - - - - A 4-band Crossover Equalizer - Ein 4-Band Crossover Equalizer - - - - A native delay plugin - Ein natives Verzögerung-Plugin - - - - A Dual filter plugin - Ein doppel Fliter Plugin - - - - plugin for processing dynamics in a flexible way - Ein Plugin, um Dynamik auf Flexible Weise zu verarbeiten - - - - A native eq plugin - Ein natives EQ-Plugin - - - - A native flanger plugin - Ein natives Flanger-Plugin - - - - Emulation of GameBoy (TM) APU - Emulation des GameBoy (TM) APU - - - - Player for GIG files - - - - - Filter for importing Hydrogen files into LMMS - Filter zum importieren von Hydrogendateien in LMMS - - - - Versatile drum synthesizer - Vielseitiger Trommel-Synthesizer - - - - List installed LADSPA plugins - Installierte LADSPA-Plugins auflisten - - - - plugin for using arbitrary LADSPA-effects inside LMMS. - Plugin, um beliebige LADSPA-Effekte in LMMS nutzen zu können. - - - - Incomplete monophonic imitation TB-303 - - - - - plugin for using arbitrary LV2-effects inside LMMS. - - - - - plugin for using arbitrary LV2 instruments inside LMMS. - - - - - Filter for exporting MIDI-files from LMMS - - - - - Filter for importing MIDI-files into LMMS - Filter, um MIDI-Dateien in LMMS zu importieren - - - - Monstrous 3-oscillator synth with modulation matrix - Monströser 3-Oszillator Synth mit Modulationsmatrix - - - - A multitap echo delay plugin - - - - - A NES-like synthesizer - Ein NES ähnlicher Synthesizer - - - - 2-operator FM Synth - 2-Operator FM-Synth - - - - Additive Synthesizer for organ-like sounds - Additiver Synthesizer für orgelähnliche Klänge - - - - GUS-compatible patch instrument - GUS-kompatibles Patch-Instrument - - - - Plugin for controlling knobs with sound peaks - Plugin zur Kontrolle von Knöpfen mit Hilfe von Klangspitzen - - - - Reverb algorithm by Sean Costello - Hallalgorithmus von Sean Costello - - - - Player for SoundFont files - Wiedergabe von SoundFont-Dateien - - - - LMMS port of sfxr - LMMS-Portierung von sfxr - - - - Emulation of the MOS6581 and MOS8580 SID. -This chip was used in the Commodore 64 computer. - Emulation des MOS6581 und MOS8580 SID Chips. -Dieser Chip wurde in Commodore 64 Computern genutzt. - - - - A graphical spectrum analyzer. - - - - - Plugin for enhancing stereo separation of a stereo input file - Plugin zur Erweiterung des Stereo-Klangeindrucks - - - Plugin for freely manipulating stereo output Plugin zur freien Manipulation der Stereoausgabe - + Plugin for controlling knobs with sound peaks + Plugin mit Steuerungsreglern für Klangspitzen + + + Plugin for enhancing stereo separation of a stereo input file + Plugin zur Erweiterung des Stereo-Klangeindrucks + + + List installed LADSPA plugins + Installierte LADSPA-Plugins auflisten + + + GUS-compatible patch instrument + GUS-kompatibles Patch-Instrument + + + Additive Synthesizer for organ-like sounds + Additiver Synthesizer für orgelähnliche Klänge + + Tuneful things to bang on Gegenstände, die nach etwas klingen, wenn man drauf rumkloppt - - Three powerful oscillators you can modulate in several ways - Drei mächtige Oszillatoren, die Sie auf mehrere Weisen modulieren können - - - - A stereo field visualizer. - - - - VST-host for using VST(i)-plugins within LMMS VST-Host zum Benutzen von VST(i)-Plugins innerhalb von LMMS - Vibrating string modeler Modellierung schwingender Saiten - - plugin for using arbitrary VST effects inside LMMS. - Plugin um beliebige VST-Effekte in LMMS zu benutzen. + plugin for using arbitrary LADSPA-effects inside LMMS. + Plugin, um beliebige LADSPA-Effekte in LMMS nutzen zu können. - - 4-oscillator modulatable wavetable synth - 4-Oszillator modulierbarer Wellenformtabellen Synth + Filter for importing MIDI-files into LMMS + Filter, um MIDI-Dateien in LMMS zu importieren - - plugin for waveshaping - Plugin für Wellenformen + Emulation of the MOS6581 and MOS8580 SID. +This chip was used in the Commodore 64 computer. + Emulation von MOS6581 und MOS8580 SID. +Dieser Chip wurde in Commodore-64-Computern genutzt. - - Mathematical expression parser - + Player for SoundFont files + Wiedergabe von SoundFont-Dateien + + + Emulation of GameBoy (TM) APU + Emulation der GameBoy-(TM)-APU + + + Customizable wavetable synthesizer + Flexibler Wavetable-Synthesizer - Embedded ZynAddSubFX Eingebettetes ZynAddSubFX-Plugin - + 2-operator FM Synth + 2-Operator-FM-Synth + + + Filter for importing Hydrogen files into LMMS + Filter zum Importieren von Hydrogen-Dateien in LMMS + + + LMMS port of sfxr + LMMS-Portierung von sfxr + + + Monstrous 3-oscillator synth with modulation matrix + Monströser 3-Oszillator-Synth mit Modulationsmatrix + + + Three powerful oscillators you can modulate in several ways + Drei mächtige Oszillatoren, die Sie auf mehrere Weisen modulieren können + + + A native amplifier plugin + Ein natives Verstärker-Plugin + + + Carla Rack Instrument + Carla-Rack-Instrument + + + 4-oscillator modulatable wavetable synth + 4-Oszillator modulierbarer Wellenformtabellen-Synth + + + plugin for waveshaping + Plugin für Waveshaping + + + Boost your bass the fast and simple way + Verstärken Sie Ihren Bass auf schnellen und einfachen Wege + + + Versatile drum synthesizer + Vielseitiger Trommel-Synthesizer + + + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track + Einfacher Sampler mit verschiedenen Einstellungen zum Benutzen von Samples (z.B. Trommeln) in einer Instrumentenspur + + + plugin for processing dynamics in a flexible way + Ein Plugin, um Dynamik auf flexible Weise zu verarbeiten + + + Carla Patchbay Instrument + Carla-Patchbay-Instrument + + + plugin for using arbitrary VST effects inside LMMS. + Plugin, um beliebige VST-Effekte in LMMS zu benutzen. + + + Graphical spectrum analyzer plugin + Grafisches Spektrumanalysator-Plugin + + + A NES-like synthesizer + Ein NES-ähnlicher Synthesizer + + + A native delay plugin + Ein natives Verzögerungs-Plugin + + + Player for GIG files + Wiedergabe von GIG-Dateien + + + A multitap echo delay plugin + Ein Multitap-Echo-Plugin + + + A native flanger plugin + Ein natives Flanger-Plugin + + + An oversampling bitcrusher + Ein Bitcrusher mit Oversampling + + + A native eq plugin + Ein natives EQ-Plugin + + + A 4-band Crossover Equalizer + Ein 4-Band-Crossover-Equalizer + + + A Dual filter plugin + Ein Doppelfilter-Plugin + + + Filter for exporting MIDI-files from LMMS + Filter für den Export von MIDI-Dateien aus LMMS + + + A dynamic range compressor. + Ein Dynamikbereichkompressor. + + An all-pass filter allowing for extremely high orders. - + Ein Allpassfilter, der extrem hohe Ordnungen ermöglicht. - Granular pitch shifter - + Granularer Tonhöhen-Shifter + + + Incomplete monophonic imitation TB-303 + Unvollständiger monophonischer TB303-Klon - Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - + Aufwärts-/Abwärts-Multiband-Kompressions-Plugin, betrieben vom unheimlichen Ältestengott LOMMUS. + + + plugin for using arbitrary LV2-effects inside LMMS. + Plugin, um beliebige LV2-Effekte in LMMS zu benutzen. + + + plugin for using arbitrary LV2 instruments inside LMMS. + Plugin, um beliebige LV2-Instrumente in LMMS zu benutzen. + + + Reverb algorithm by Sean Costello + Hallalgorithmus von Sean Costello - Basic Slicer - + Grundlegender Slicer + + + A graphical spectrum analyzer. + Ein grafischer Spektrumanalysator. - Tap to the beat - + Steppen Sie zum Beat + + + A stereo field visualizer. + Ein Stereofeldvisualisierer. + + + Mathematical expression parser + Parser für mathematische Ausdrücke PluginEdit - Plugin Editor - + Plugin-Editor - Edit - + Bearbeiten - Control Steuerung - MIDI Control Channel: - + MIDI-Kontrollkanal: - N - + N - Output dry/wet (100%) - + Dry/Wet-Ausgabe (100 %) - Output volume (100%) - + Ausgabelautstärke (100 %) - Balance Left (0%) - + - - Balance Right (0%) - + - Use Balance - + - Use Panning - + - Settings Einstellungen - Use Chunks - + Chunks benutzen - Audio: - + Audio: - Fixed-Size Buffer - + Festgrößenpuffer - Force Stereo (needs reload) - + Stereo erzwingen (benötigt neu laden) - MIDI: - + MIDI: - Map Program Changes - + Programmänderungen mappen - Send Notes - + Noten senden - Send Bank/Program Changes - + Bank-/Programmänderungen senden - Send Control Changes - + Steuerungsänderungen senden - Send Channel Pressure - + Kanaldruck senden - Send Note Aftertouch - + Note Aftertouch senden - Send Pitchbend - + Pitchbend senden - Send All Sound/Notes Off - + All Sound/Notes Off senden - Plugin Name - + +Pluginname + - Program: - + Programm: - MIDI Program: - + MIDI-Programm: - Save State - + Zustand speichern - Load State - + Zustand laden - Information - + Information - Label/URI: - + Beschriftung/URI: - Name: - + Name: - Type: Typ: - Maker: - + Herseller: - Copyright: - + Copyright: - Unique ID: - + Eindeutige ID: PluginFactory - Plugin not found. - Plugin nicht gefunden + Plugin nicht gefunden. - LMMS plugin %1 does not have a plugin descriptor named %2! - + LMMS-Plugin %1 hat keinen Plugindeskriptor namens %2! PluginListDialog - Carla - Add New - + Carla – Neu hinzufügen - Requirements - + Anforderungen - With Custom GUI - + Mit eigener GUI - With CV Ports - + Mit CV-Ports - Real-time safe only - + Nur Echtzeitsichere - Stereo only - + Nur Stereo - With Inline Display - + Mit Inline-Anzeige - Favorites only - + Nur Favoriten - (Number of Plugins go here) - + (Anzahl von Plugins hier hin) - &Add Plugin - + Plugin &hinzufügen - Cancel - + Abbrechen - Refresh - + Aktualisieren - Reset filters - + Filter zurücksetzen - - - - - - - - - - - - - - - - TextLabel - + TextLabel - Format: - + Format: - Architecture: - + Architektur: - Type: - + Typ: - MIDI Ins: - + MIDI-Eingänge: - Audio Ins: - + Audioeingänge: - CV Outs: - + CV-Ausgänge: - MIDI Outs: - + MIDI-Ausgänge: - Parameter Ins: - + Parametereingänge: - Parameter Outs: - + Parameterausgänge: - Audio Outs: - + Audioausgänge: - CV Ins: - + CV-Eingänge: - UniqueID: - + Eindeutige ID: - Has Inline Display: - + Hat Inline-Anzeige: - Has Custom GUI: - + Hat eigene GUI: - Is Synth: - + Ist Synth: - Is Bridged: - + Ist gebridget: - Information - + Information - Name - + Name - Label/Id/URI - + Bescr./Id/URI - Maker - + Hersteller - Binary/Filename - + Binary/Dateiname - Format - + Format - Internal - + Intern - LADSPA - + LADSPA - DSSI - + DSSI - LV2 - + LV2 - VST2 - + VST2 - VST3 - + VST3 - CLAP - + CLAP - AU - + AU - JSFX - + JSFX - Sound Kits - + Sound-Kits - Type - + Typ - Effects - + Effekte - Instruments - + Instrumente - MIDI Plugins - + MIDI-Plugins - Other/Misc - + Andere/Sonstige - Category - + Kategorie - All - + Alle - Delay - + Verzögerung - Distortion - + Verzerrung - Dynamics - + Dynamiken - EQ - + EQ - Filter - + Filter - Modulator - + Modulator - Synth - + Synth - Utility - + Werkzeug - - Other - + Andere - Architecture - + Architektur - - Native - + Nativ - Bridged - + Gebridget - Bridged (Wine) - + Gebridget (Wine) - Focus Text Search - + Fokus auf Textsuche - Ctrl+F - + Strg+F - Bridged (32bit) - + Gebridget (32 Bit) - Discovering internal plugins... - + Interne Plugins entdecken … - Discovering LADSPA plugins... - + LADSPA-Plugins entdecken … - Discovering DSSI plugins... - + DSSI-Plugins entdecken … - Discovering LV2 plugins... - + LV2-Plugins entdecken … - Discovering VST2 plugins... - + VST2-Plugins entdecken … - Discovering VST3 plugins... - + VST3-Plugins entdecken … - Discovering CLAP plugins... - + CLAP-Plugins entdecken … - Discovering AU plugins... - + AU-Plugins entdecken … - Discovering JSFX plugins... - + JSFX-Plugins entdecken … - Discovering SF2 kits... - + SF2-Kits entdecken … - Discovering SFZ kits... - + SFZ-Kits entdecken … - Unknown - + Unbekannt - - - - Yes - + Ja - - - - No - + Nein PluginParameter - Form - + Formular - Parameter Name - + Parametername - TextLabel - + TextLabel - ... - + PluginRefreshDialog - Plugin Refresh - + Pluginaktualisierung - Search for: - + Suche nach: - All plugins, ignoring cache - + Alle Plugins, Cache ignorieren - Updated plugins only - + Nur aktualisierte Plugins - Check previously invalid plugins - + Vormals ungültige Plugins prüfen - Press 'Scan' to begin the search - + »Scannen« drücken zum Starten - Scan - + Scannen - >> Skip - + >> Überspringen - Close - + Schließen PluginWidget - - - - - Frame - + Frame - Enable - + Aktivieren - On/Off - An/aus + Ein/aus - - - - PluginName - + PluginName - MIDI MIDI - AUDIO IN - + AUDIO EIN - AUDIO OUT - + AUDIO AUS - GUI - + GUI - Edit - + Bearbeiten - Remove - + Entfernen - Plugin Name - + Pluginname - Preset: - + Preset: ProjectRenderer - + WAV-File (*.wav) + WAV-Datei (*.wav) + + + Compressed OGG-File (*.ogg) + Komprimierte OGG-Datei (*.ogg) + + WAV (*.wav) WAV (*.wav) - FLAC (*.flac) FLAC (*.flac) - OGG (*.ogg) OGG (*.ogg) - MP3 (*.mp3) MP3 (*.mp3) @@ -4176,14580 +5061,15767 @@ Plugin Name QGroupBox - - Settings for %1 - + Einstellungen für %1 QObject - - Reload Plugin - + %1 (unsupported) + %1 (nicht unterstützt) + + + LADSPA plugins + LADSPA-Plugins + + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + Das Projekt enthält %1 LADSPA-Plugin(s), welche möglicherweise nicht ordnungsgemäß wiederhergestellt wurden. Bitte überprüfen Sie das Projekt. + + + Reload Plugin + Plugin neu laden - Show GUI GUI anzeigen - Help Hilfe - - LADSPA plugins - - - - - The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. - - - - - URI: - - - - - Project: - - - - - Maker: - - - - - Homepage: - - - - - License: - - - - - File: %1 - - - - - failed to load description - - - - Open audio file - + Audiodatei öffnen - Error loading sample - + Fehler beim Laden des Samples - - %1 (unsupported) - + URI: + URI: + + + Project: + Projekt: + + + Maker: + Hersteller: + + + Homepage: + Homepage: + + + License: + Lizenz: + + + File: %1 + Datei: %1 + + + failed to load description + konnte Beschreibung nicht laden QWidget - - Name: Name: - Maker: Hersteller: - Copyright: Copyright: - Requires Real Time: Benötigt Echtzeit: - - - Yes Ja - - - No Nein - Real Time Capable: Echtzeitfähig: - In Place Broken: - Operationen nicht In-Place: + In-Place kaputt: - Channels In: - Eingangs-Kanäle: + Eingangskanäle: - Channels Out: - Ausgangs-Kanäle: + Ausgangskanäle: + + + File: + Datei: - File: %1 Datei: %1 + + + RenameDialog - - File: - Datei: + Rename... + Umbenennen … + + + + SampleBuffer + + Open audio file + Audiodatei öffnen + + + Wave-Files (*.wav) + Wave-Dateien (*.wav) + + + OGG-Files (*.ogg) + OGG-Dateien (*.ogg) + + + DrumSynth-Files (*.ds) + DrumSynth-Dateien (*.ds) + + + FLAC-Files (*.flac) + FLAC-Dateien (*.flac) + + + SPEEX-Files (*.spx) + SPEEX-Dateien (*.spx) + + + VOC-Files (*.voc) + VOC-Dateien (*.voc) + + + AIFF-Files (*.aif *.aiff) + AIFF-Dateien (*.aif *.aiff) + + + AU-Files (*.au) + AU-Dateien (*.au) + + + RAW-Files (*.raw) + RAW-Dateien (*.raw) + + + All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) + Alle Audiodateien (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) + + + + SampleTCOView + + double-click to select sample + Doppelklick, um Sample zu wählen + + + Delete (middle mousebutton) + Löschen (mittlere Maustaste) + + + Cut + Ausschneiden + + + Copy + Kopieren + + + Paste + Einfügen + + + Mute/unmute (<%1> + middle click) + Stumm/Laut schalten (<%1> + Mittelklick) + + + + SampleTrackView + + Track volume + Lautstärke der Spur + + + Channel volume: + Kanallautstärke: + + + VOL + LAU + + + Panning + Balance + + + Panning: + Balance: + + + PAN + BAL + + + + SetupDialog + + Setup LMMS + Einrichtung von LMMS + + + General settings + Allgemeine Einstellungen + + + BUFFER SIZE + PUFFERGRÖSSE + + + Reset to default-value + Auf Standardwert zurücksetzen + + + MISC + VERSCHIEDENES + + + Enable tooltips + Tooltips aktivieren + + + Show restart warning after changing settings + Neustartwarnung nach Änderung der Einstellungen anzeigen + + + Display volume as dBFS + Lautstärke als dbFS anzeigen + + + Compress project files per default + Projektdateien standardmäßig komprimieren + + + One instrument track window mode + Ein-Instrument-Spur-Fenster-Modus + + + HQ-mode for output audio-device + HQ-Modus für Ausgangsaudiogerät + + + Compact track buttons + Kompakte Spurknöpfe + + + Sync VST plugins to host playback + VST-Plugins mit Hostwiedergabe synchronisieren + + + Enable note labels in piano roll + Notenbeschriftung in Piano-Roll aktivieren + + + Enable waveform display by default + Wellenformanzeige standardmäßig aktivieren + + + Keep effects running even without input + Effekte auch ohne Eingabe weiterlaufen lassen + + + Create backup file when saving a project + Wiederherstellungsdatei beim Speichern eines Projekts erstellen + + + LANGUAGE + SPRACHE + + + Paths + Pfade + + + LMMS working directory + LMMS-Arbeitsverzeichnis + + + VST-plugin directory + VST-Plugin-Verzeichnis + + + Background artwork + Hintergrundgrafik + + + STK rawwave directory + STK-RawWave-Verzeichnis + + + Default Soundfont File + Standard-Soundfont-Datei + + + Performance settings + Performance-Einstellungen + + + UI effects vs. performance + UI-Effekte vs. Performance + + + Smooth scroll in Song Editor + Weiches Scrollen im Song-Editor + + + Show playback cursor in AudioFileProcessor + Wiedergabecursor in AudioFileProcessor anzeigen + + + Audio settings + Audio-Einstellungen + + + AUDIO INTERFACE + AUDIO-SCHNITTSTELLE + + + MIDI settings + MIDI-Einstellungen + + + MIDI INTERFACE + MIDI-SCHNITTSTELLE + + + OK + OK + + + Cancel + Abbrechen + + + Restart LMMS + LMMS neustarten + + + Please note that most changes won't take effect until you restart LMMS! + Bitte beachten Sie, dass die meisten Änderungen nicht zur Wirkung kommen, bis Sie LMMS neustarten! + + + Frames: %1 +Latency: %2 ms + Frames: %1 +Latenz: %2 ms + + + Here you can setup the internal buffer-size used by LMMS. Smaller values result in a lower latency but also may cause unusable sound or bad performance, especially on older computers or systems with a non-realtime kernel. + Hier können Sie die interne Puffergröße von LMMS einrichten. Kleinere Werte resultieren in einer geringeren Latenz, aber sie können auch zu unbrauchbaren Sounds oder schlechter Performanz führen, besonders bei älteren Computern oder Systemen mit einem Nicht-Echtzeit-Kernel. + + + Choose LMMS working directory + LMMS-Arbeitsverzeichnis wählen + + + Choose your VST-plugin directory + Wählen Sie Ihr VST-Plugin-Verzeichnis + + + Choose artwork-theme directory + Artwork-Theme-Verzeichnis wählen + + + Choose LADSPA plugin directory + LADSPA-Plugin-Verzeichnis wählen + + + Choose STK rawwave directory + STK-RawWave-Verzeichnis wählen + + + Choose default SoundFont + Standard-Soundfont wählen + + + Choose background artwork + Hintergrundgrafik wählen + + + Here you can select your preferred audio-interface. Depending on the configuration of your system during compilation time you can choose between ALSA, JACK, OSS and more. Below you see a box which offers controls to setup the selected audio-interface. + Hier können Sie Ihre bevorzugte Audioschnittstelle auswählen. Abhängig von der Konfiguration Ihres Systems bei der Kompilierung können Sie zwischen ALSA, JACK, OSS und mehr wählen. Unten sehen Sie eine Box, in der sich Regler zur Einrichtung der gewählten Audioschnittstelle befinden. + + + Here you can select your preferred MIDI-interface. Depending on the configuration of your system during compilation time you can choose between ALSA, OSS and more. Below you see a box which offers controls to setup the selected MIDI-interface. + Hier können Sie Ihre bevorzugte MIDI-Schnittstelle auswählen. Abhängig von der Konfiguration Ihres Systems bei der Kompilierung können Sie zwischen ALSA, OSS und mehr wählen. Unten sehen Sie eine Box, in der sich Regler zur Einrichtung der gewählten MIDI-Schnittstelle befinden. + + + Reopen last project on start + Zuletzt geöffnetes Projekt automatisch öffnen + + + Directories + Verzeichnisse + + + Themes directory + Themen-Verzeichnis + + + GIG directory + GIG-Verzeichnis + + + SF2 directory + SF2-Verzeichnis + + + LADSPA plugin directories + LADSPA-Plugin-Verzeichnisse + + + Auto save + Automatisch speichern + + + Choose your GIG directory + Wählen Sie Ihr GIG-Verzeichnis + + + Choose your SF2 directory + Wählen Sie Ihr SF2-Verzeichnis + + + minutes + Minuten + + + minute + Minute + + + Enable auto-save + Automatisches Speichern aktivieren + + + Allow auto-save while playing + Auto-Speichern während der Wiedergabe erlauben + + + Disabled + Deaktiviert + + + Auto-save interval: %1 + Autospeichern-Intervall: %1 + + + Set the time between automatic backup to %1. +Remember to also save your project manually. You can choose to disable saving while playing, something some older systems find difficult. + Setzt die Zeit zwischen automatischen Backups nach %1. +Denken Sie daran, dass Sie außerdem Ihr Projekt manuell speichern. Sie können sich dafür entscheiden, das Speichern während der Wiedergabe zu deaktivieren, etwas, was für ältere Systeme schwierig sein kann. + + + + SongEditor + + Could not open file + Konnte Datei nicht öffnen + + + Could not write file + Konnte Datei nicht schreiben + + + Could not open file %1. You probably have no permissions to read this file. + Please make sure to have at least read permissions to the file and try again. + Konnte die Datei %1 nicht öffnen. Sie sind wahrscheinlich nicht berechtigt, diese Datei zu lesen. + Bitte stellen Sie sicher, dass Sie wenigstens Leserechte auf diese Datei besitzen und versuchen es erneut. + + + Error in file + Fehler in Datei + + + The file %1 seems to contain errors and therefore can't be loaded. + Die Datei %1 scheint fehlerhaft zu sein und kann daher nicht geladen werden. + + + Tempo + Tempo + + + TEMPO/BPM + TEMPO/BPM + + + tempo of song + Tempo des Songs + + + The tempo of a song is specified in beats per minute (BPM). If you want to change the tempo of your song, change this value. Every measure has four beats, so the tempo in BPM specifies, how many measures / 4 should be played within a minute (or how many measures should be played within four minutes). + Das Tempo eines Songs wird in Beats pro Minute (BPM) angegeben. Wenn Sie das Tempo Ihres Songs ändern wollen, ändern Sie diesen Wert. Jeder Takt hat vier Schläge (Beats); das Tempo gibt also an, wie viele Takte / 4 innerhalb einer Minute gespielt werden sollen (bzw. wie viele Takte innerhalb von vier Minuten gespielt werden sollen). + + + High quality mode + High-Quality-Modus + + + Master volume + Master-Lautstärke + + + master volume + Master-Lautstärke + + + Master pitch + Master-Tonhöhe + + + master pitch + Master-Tonhöhe + + + Value: %1% + Wert: %1 % + + + Value: %1 semitones + Wert: %1 Halbtöne + + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. + Konnte %1 nicht zum Schreiben öffnen. Sie sind wahrscheinlich nicht dazu berechtigt, in diese Datei zu schreiben. Bitte stellen Sie sicher, dass Sie Schreibrechte für diese Datei haben und versuchen Sie es erneut. + + + template + Vorlage + + + project + Projekt + + + Version difference + Versionsunterschied + + + This %1 was created with LMMS %2. + Dies (%1) wurde mit LMMS %2 erstellt. + + + + SongEditorWindow + + Song-Editor + Song-Editor + + + Play song (Space) + Song abspielen (Leertaste) + + + Record samples from Audio-device + Samples vom Audiogerät aufzeichnen + + + Record samples from Audio-device while playing song or BB track + Samples vom Audiogerät beim Abspielen des Songs oder der BB-Spur aufzeichnen + + + Stop song (Space) + Song stoppen (Leertaste) + + + Add beat/bassline + Beat/Bassline hinzufügen + + + Add sample-track + Sample-Spur hinzufügen + + + Add automation-track + Automations-Spur hinzufügen + + + Draw mode + Zeichenmodus + + + Edit mode (select and move) + Bearbeitungsmodus (auswählen und verschieben) + + + Click here, if you want to play your whole song. Playing will be started at the song-position-marker (green). You can also move it while playing. + Klicken Sie hier, wenn Sie Ihren ganzen Song abspielen wollen. Die Wiedergabe wird am Song-Positionsmarker (grün) starten. Sie können ihn auch während der Wiedergabe verschieben. + + + Click here, if you want to stop playing of your song. The song-position-marker will be set to the start of your song. + Klicken Sie hier, wenn Sie die Wiedergabe Ihres Songs stoppen wollen. Der Song-Positionsmarker wird zum Anfang Ihres Songs gesetzt. + + + Track actions + Spuraktionen + + + Edit actions + Aktionen bearbeiten + + + Timeline controls + Zeitachsensteuerung + + + Zoom controls + Zoomregler + + + + SpectrumAnalyzerControlDialog + + Linear spectrum + Lineares Spektrum + + + Linear Y axis + Lineare Y-Achse + + + + SpectrumAnalyzerControls + + Linear spectrum + Lineares Spektrum + + + Linear Y axis + Lineare Y-Achse + + + Channel mode + Kanalmodus + + + + SubWindow + + Close + Schließen + + + Maximize + Maximieren + + + Restore + Wiederherstellen + + + + TabWidget + + Settings for %1 + Einstellungen für %1 + + + + TempoSyncKnob + + Tempo Sync + Tempo-Synchronisation + + + No Sync + Keine Synchronisation + + + Eight beats + Acht Schläge + + + Whole note + Ganze Note + + + Half note + Halbe Note + + + Quarter note + Viertelnote + + + 8th note + Achtelnote + + + 16th note + 16tel Note + + + 32nd note + 32tel Note + + + Custom... + Benutzerdefiniert … + + + Custom + Benutzerdefiniert + + + Synced to Eight Beats + Mit acht Schlägen synchronisiert + + + Synced to Whole Note + Mit ganzer Note synchronisiert + + + Synced to Half Note + Mit halber Note synchronisiert + + + Synced to Quarter Note + Mit Viertelnote synchronisiert + + + Synced to 8th Note + Mit Achtelnote synchronisiert + + + Synced to 16th Note + Mit 16tel Note synchronisiert + + + Synced to 32nd Note + Mit 32tel Note synchronisiert + + + + TimeDisplayWidget + + click to change time units + Klicken Sie hier, um die Zeiteinheit zu ändern + + + MIN + MIN + + + SEC + SEK + + + MSEC + MSEK + + + BAR + TAKT + + + BEAT + BEAT + + + TICK + TICK + + + + TimeLineWidget + + Enable/disable auto-scrolling + Automatisches Scrollen aktivieren/deaktivieren + + + Enable/disable loop-points + Schleifenpunkte aktivieren/deaktivieren + + + After stopping go back to begin + Nach dem Stopp zurück zum Anfang springen + + + After stopping go back to position at which playing was started + Nach dem Stopp zurück zur Position, wo die Wiedergabe gestartet wurde, springen + + + After stopping keep position + Nach dem Stopp die Position halten + + + Hint + Tipp + + + Press <%1> to disable magnetic loop points. + Drücken Sie <%1>, um magnetische Schleifenpunkte zu deaktivieren. + + + Hold <Shift> to move the begin loop point; Press <%1> to disable magnetic loop points. + Halten Sie <Umschalt>, um den Anfangsschleifenpunkt zu verschieben; Drücken Sie <%1>, um magnetische Schleifenpunkte zu deaktivieren. + + + + TrackContainer + + Couldn't import file + Datei konnte nicht importiert werden + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + Es konnte kein Filter gefunden werden, um die Datei %1 zu importieren. +Sie sollten diese Datei mit Hilfe anderer Software in ein von LMMS unterstütztes Format umwandeln. + + + Couldn't open file + Datei konnte nicht geöffnet werden + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + Datei %1 konnte nicht zum Lesen geöffnet werden. +Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeichnis besitzen und probieren es erneut! + + + Loading project... + Lade Projekt … + + + Cancel + Abbrechen + + + Please wait... + Bitte warten … + + + Importing MIDI-file... + Importiere MIDI-Datei … + + + + TrackContentObject + + Mute + Stumm + + + + TrackContentObjectView + + Current position + Aktuelle Position + + + Hint + Tipp + + + Press <%1> and drag to make a copy. + <%1> drücken und ziehen, um eine Kopie zu erstellen. + + + Current length + Aktuelle Länge + + + Press <%1> for free resizing. + Drücken Sie <%1> für freie Größenänderung. + + + %1:%2 (%3:%4 to %5:%6) + %1:%2 (%3:%4 bis %5:%6) + + + Delete (middle mousebutton) + Löschen (mittlere Maustaste) + + + Cut + Ausschneiden + + + Copy + Kopieren + + + Paste + Einfügen + + + Mute/unmute (<%1> + middle click) + Stumm/Laut schalten (<%1> + Mittelklick) + + + + TrackOperationsWidget + + Press <%1> while clicking on move-grip to begin a new drag'n'drop-action. + Drücken Sie <%1> während des Klicks auf den Verschiebegriff, um eine neue Drag-and-Drop-Aktion zu beginnen. + + + Actions for this track + Aktionen für diese Spur + + + Mute + Stumm + + + Solo + Solo + + + Mute this track + Diese Spur stummschalten + + + Clone this track + Diese Spur klonen + + + Remove this track + Diese Spur entfernen + + + Clear this track + Diese Spur leeren + + + FX %1: %2 + FX %1: %2 + + + Turn all recording on + Alle Aufnahmen einschalten + + + Turn all recording off + Alle Aufnahmen ausschalten + + + Assign to new FX Channel + Zu neuem FX-Kanal zuweisen + + + + VersionedSaveDialog + + Increment version number + Versionsnummer erhöhen + + + Decrement version number + Versionsnummer vermindern + + + already exists. Do you want to replace it? + existiert bereits. Möchten Sie es überschreiben? + + + + VisualizationWidget + + click to enable/disable visualization of master-output + Klicken, um Visualisierung der Masterausgabe zu aktivieren/deaktivieren + + + Click to enable + Klicken zum Aktivieren XYControllerW - XY Controller - + XY-Controller - X Controls: - + X-Steuerung: - Y Controls: - + Y-Steuerung: - Smooth - + Weich - &Settings - + &Einstellungen - Channels - + Kanäle - &File - + &Datei - Show MIDI &Keyboard - + MIDI-&Keyboard anzeigen - (All) - + (Alle) - 1 - + 1 - 2 - + 2 - 3 - + 3 - 4 - + 4 - 5 - + 5 - 6 - + 6 - 7 - + 7 - 8 - + 8 - 9 - + 9 - 10 - + 10 - 11 - + 11 - 12 - + 12 - 13 - + 13 - 14 - + 14 - 15 - + 15 - 16 - + 16 - &Quit - + &Verlassen - Esc - + Esc - (None) - + (Keine) + + + + fxLineLcdSpinBox + + Assign to: + Zuweisen zu: + + + New FX Channel + Neuer FX-Kanal + + + + graphModel + + Graph + Graph + + + + lmmo::SampleTrack + + Sample track + Samplespur + + + Volume + Lautstärke + + + Panning + Balance lmms::AmplifierControls - Volume - + Lautstärke - Panning - + Balance - Left gain - + Linke Verstärkung - Right gain - + Rechte Verstärkung lmms::AudioFileProcessor - Amplify - + Verstärkung - Start of sample - + Sample-Anfang - End of sample - + Sample-Ende - - Loopback point - - - - Reverse sample - + Sample umkehren - - Loop mode - - - - Stutter - + Stottern + + + Loopback point + Wiederholungspunkt + + + Loop mode + Wiederholungsmodus - Interpolation mode - + Interpolationsmodus - None - + Keiner - Linear - + Linear - Sinc - + Sinc + + + Sample not found: %1 + Sample nicht gefunden: %1 - Sample not found - + Sample nicht gefunden lmms::AudioJack - JACK client restarted - + JACK-Client neugestartet - LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - + LMMS wurde aus irgendeinem Grund von JACK gekickt. Aus diesem Grund wurde das JACK-Backend von LMMS neu gestartet. Sie müssen manuelle Verbindungen erneut vornehmen. - JACK server down - + JACK-Server nicht erreichbar - The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - + Der JACK-Server scheint heruntergefahren worden zu sein und es war nicht möglich, eine neue Instanz zu starten. LMMS ist daher nicht in der Lage, fortzufahren. Sie sollten Ihr Projekt speichern und JACK und LMMS neustarten. + + + CLIENT-NAME + CLIENT-NAME + + + CHANNELS + KANÄLE - Client name - + Clientname - Channels - + Kanäle lmms::AudioOss - Device - + Gerät - Channels - + Kanäle lmms::AudioPortAudio::setupWidget - - Backend - + BACKEND + BACKEND + + + DEVICE + GERÄT + + + Backend + Backend - Device - + Gerät lmms::AudioPulseAudio - Device - + Gerät - Channels - + Kanäle lmms::AudioSdl::setupWidget - - Playback device - + DEVICE + GERÄT + + + Playback device + Wiedergabegerät - Input device - + Eingabegerät + + + + lmms::AudioSndIo::setupWidget + + DEVICE + GERÄT + + + CHANNELS + KANÄLE lmms::AudioSndio - Device - + Gerät - Channels - + Kanäle lmms::AudioSoundIo::setupWidget - - Backend - + BACKEND + BACKEND + + + DEVICE + GERÄT + + + Backend + Backend - Device - + Gerät lmms::AutomatableModel - &Reset (%1%2) - + &Zurücksetzen (%1%2) - &Copy value (%1%2) - + Wert &kopieren (%1%2) - &Paste value (%1%2) - + Wert &einfügen (%1%2) - - &Paste value - - - - Edit song-global automation - + Song-globale Automation bearbeiten - - Remove song-global automation - - - - - Remove all linked controls - - - - Connected to %1 - + Verbunden mit %1 - Connected to controller - + Verbunden mit Controller - Edit connection... - + Verbindung bearbeiten … - Remove connection - + Verbindung entfernen - Connect to controller... - + Mit Controller verbinden … + + + Remove song-global automation + Song-globale Automation entfernen + + + Remove all linked controls + Alle verknüpften Controller entfernen + + + &Paste value + Wert &einfügen lmms::AutomationClip - Drag a control while pressing <%1> - + Ein Steuerelement mit <%1> hier her ziehen + + + + lmms::AutomationEditor + + Please open an automation pattern with the context menu of a control! + Bitte öffnen Sie einen Automations-Pattern mit Hilfe des Kontextmenüs eines Steuerelements! + + + Values copied + Werte kopiert + + + All selected values were copied to the clipboard. + Alle ausgewählten Werte wurden in die Zwischenablage kopiert. lmms::AutomationTrack - Automation track - + Automations-Spur lmms::BassBoosterControls - Frequency - + Frequenz - Gain - + Verstärkung - Ratio - + Verhältnis lmms::BitInvader - + Samplelength + Sample-Länge + + Sample length - + Samplelänge - Interpolation - + Interpolation - Normalize - + Normalisieren lmms::BitcrushControls - Input gain - + Eingangsverstärkung - Input noise - + Eingangsrauschen - Output gain - + Ausgabeverstärkung - Output clip - + - Sample rate - + Sample-Rate - Stereo difference - + Stereounterschied - Levels - + Stufen - Rate enabled - + Rate aktiviert - Depth enabled - + Tiefe aktiviert lmms::Clip - Mute - + Stumm lmms::CompressorControls - Threshold - + Schwellwert - Ratio - + Verhältnis - Attack - + Anschwellzeit (attack) - Release - + Ausklingzeit (release) - Knee - + Knee - Hold - + Haltezeit (hold) - Range - + Bereich - RMS Size - + RMS-Größe - Mid/Side - + Mid/Größe - Peak Mode - + Peak-Modus - Lookahead Length - + Lookahead-Länge - Input Balance - + Eingangsbalance - Output Balance - + Ausgangsbalance - Limiter - + Begrenzer - Output Gain - + Ausgangsverstärkung - Input Gain - + Eingangsverstärkung - Blend - + Überblenden - Stereo Balance - + Stereobalance - Auto Makeup Gain - + Auto-Makeup-Verstärkung - Audition - + - Feedback - + Rückkopplung - Auto Attack - + Auto-Attack - Auto Release - + Auto-Release - Lookahead - + Lookahead - Tilt - + - Tilt Frequency - + - Stereo Link - + Stereoverknüpfung - Mix - + Mischen lmms::Controller - Controller %1 - + Controller %1 lmms::DelayControls - - Delay samples - + Delay Samples + Samples verzögern - Feedback - + Rückkopplung - - LFO frequency - + Lfo Frequency + LFO-Frequenz - - LFO amount - + Lfo Amount + LFO-Stärke - Output gain - + Ausgabeverstärkung + + + Delay samples + Samples verzögern + + + LFO frequency + LFO-Frequenz + + + LFO amount + LFO-Stärke + + + + lmms::DetuningHelper + + Note detuning + Notenverstimmung lmms::DispersionControls - Amount - + Stärke - Frequency - + Frequenz - Resonance - + Resonanz - Feedback - + Rückkopplung - DC Offset Removal - + DC-Offset-Entfernung lmms::DualFilterControls - Filter 1 enabled - + Filter 1 aktiviert - Filter 1 type - + Filtertyp 1 - - Cutoff frequency 1 - + Cutoff 1 frequency + Kennfrequenz 1 - Q/Resonance 1 - + Q/Resonanz 1 - Gain 1 - + Verstärkung 1 - Mix - + Mischung - Filter 2 enabled - + Filter 2 aktiviert - Filter 2 type - + Filtertyp 2 - - Cutoff frequency 2 - + Cutoff 2 frequency + Kennfrequenz 2 - Q/Resonance 2 - + Q/Resonanz 2 - Gain 2 - + Verstärkung 2 - - - Low-pass - + LowPass + Tiefpass - - - Hi-pass - + HiPass + Hochpass - - - Band-pass csg - + BandPass csg + Bandpass csg - - - Band-pass czpg - + BandPass czpg + Bandpass czpg - - Notch - + Notch - - - All-pass - + Allpass + Allpass - - Moog - + Moog - - - 2x Low-pass - + 2x LowPass + 2× Tiefpass - - - RC Low-pass 12 dB/oct - + RC LowPass 12dB + RC-Tiefpass 12dB - - - RC Band-pass 12 dB/oct - + RC BandPass 12dB + RC-Bandpass 12dB - - - RC High-pass 12 dB/oct - + RC HighPass 12dB + RC-Hochpass 12dB - - - RC Low-pass 24 dB/oct - + RC LowPass 24dB + RC-Tiefpass 24dB - - - RC Band-pass 24 dB/oct - + RC BandPass 24dB + RC-Bandpass 24dB - - - RC High-pass 24 dB/oct - + RC HighPass 24dB + RC-Hochpass 24dB - - - Vocal Formant - + Vocal Formant Filter + Vokalformant-Filter - - 2x Moog - + 2× Moog - - - SV Low-pass - + SV LowPass + SV-Tiefpass - - - SV Band-pass - + SV BandPass + SV-Bandpass - - - SV High-pass - + SV HighPass + SV-Hochpass - - SV Notch - + SV-Notch - - Fast Formant - + - - Tripole - + + + + Cutoff frequency 1 + Kennfrequenz 1 + + + Cutoff frequency 2 + Kennfrequenz 2 + + + Low-pass + Tiefpass + + + Hi-pass + Hochpass + + + Band-pass csg + Bandpass csg + + + Band-pass czpg + Bandpass czpg + + + All-pass + Allpass + + + 2x Low-pass + 2× Tiefpass + + + RC Low-pass 12 dB/oct + RC-Tiefpass 12 dB/Okt. + + + RC Band-pass 12 dB/oct + RC Bandpass 12 dB/Okt. + + + RC High-pass 12 dB/oct + RC Hochpass 12 dB/Okt. + + + RC Low-pass 24 dB/oct + RC Tiefpass 24 dB/Okt. + + + RC Band-pass 24 dB/oct + RC Bandbass 24 dB/Okt. + + + RC High-pass 24 dB/oct + RC Hochbass 24 dB/Okt. + + + Vocal Formant + Vokalformant + + + SV Low-pass + SV-Tiefpass + + + SV Band-pass + SV-Bandpass + + + SV High-pass + SV-Hochpass + + + + lmms::DummyEffect + + NOT FOUND + NICHT GEFUNDEN lmms::DynProcControls - Input gain - + Eingangsverstärkung - Output gain - + Ausgabeverstärkung - Attack time - + Anschwellzeit - Release time - + Ausklingzeit - Stereo mode - + Stereomodus lmms::Effect - Effect enabled - + Effekt eingeschaltet - Wet/Dry mix - + Wet/Dry-Mix - Gate - + Gate - Decay - + Abfallzeit lmms::EffectChain - Effects enabled - + Effekte aktiviert lmms::Engine - Generating wavetables - + Wavetables generieren - Initializing data structures - + Datenstrukturen initialisieren - Opening audio and midi devices - + Audio- und MIDI-Geräte öffnen - Launching audio engine threads - + Audio-Engine-Threads starten lmms::EnvelopeAndLfoParameters - + Predelay + Verzögerung (predelay) + + + Attack + Anschwellzeit (attack) + + + Hold + Haltezeit (hold) + + + Decay + Abfallzeit + + + Sustain + Haltepegel (sustain) + + + Release + Ausklingzeit (release) + + + Modulation + Modulation + + + LFO Predelay + LFO-Verzögerung + + + LFO Attack + LFO-Anschwellzeit (LFO-attack) + + + LFO speed + LFO-Geschwindigkeit + + + LFO Modulation + LFO-Modulation + + + LFO Wave Shape + LFO-Wellenform + + + Freq x 100 + Freq ×100 + + + Modulate Env-Amount + Hüllkurve modulieren + + Env pre-delay - + Hüll-Vorverzögerung - Env attack - + Hüll-Anschwellzeit (attack) - Env hold - + Hüll-Haltezeit (hold) - Env decay - + Hüll-Abfallzeit (decay) - Env sustain - + Hüll-Dauerpegel (sustain) - Env release - + Hüll-Ausklingzeit (release) - Env mod amount - + Hüll.-Mod.-intensität - LFO pre-delay - + LFO-Vorverzögerung - LFO attack - + LFO-Anschwellzeit (attack) - LFO frequency - + LFO-Frequenz - LFO mod amount - + LFO-Mod.-intensität - LFO wave shape - + LFO-Wellenform - LFO frequency x 100 - + LFO-Frequenz ×100 - Modulate env amount - + Hüllkurvenintensität modulieren - Sample not found - + Sample nicht gefunden lmms::EqControls - Input gain - + Eingangsverstärkung - Output gain - + Ausgabeverstärkung - - Low-shelf gain - + Low shelf gain + Low-Shelf-Verstärkung - Peak 1 gain - + Peak 1 Verst. - Peak 2 gain - + Peak 2 Verst. - Peak 3 gain - + Peak 3 Verst. - Peak 4 gain - + Peak 4 Verst. - - High-shelf gain - + High Shelf gain + High-Shelf-Verstärkung - HP res - + HP-Res. - - Low-shelf res - + Low Shelf res + Low-Shelf-Res. - Peak 1 BW - + Peak 1 BB - Peak 2 BW - + Peak 2 BB - Peak 3 BW - + Peak 3 BB - Peak 4 BW - + Peak 4 BB - - High-shelf res - + High Shelf res + High-Shelf-Res. - LP res - + TP-Res. - HP freq - + HP-Freq. - - Low-shelf freq - + Low Shelf freq + Low-Shelf-Freq. - Peak 1 freq - + Peak 1 Freq. - Peak 2 freq - + Peak 2 Freq. - Peak 3 freq - + Peak 3 Freq. - Peak 4 freq - + Peak 4 Freq. - - High-shelf freq - + High shelf freq + High-Shelf-Freq. - LP freq - + TP-Freq. - HP active - + HP aktiv - - Low-shelf active - + Low shelf active + Low Shelf aktiv - Peak 1 active - + Peak 1 aktiv - Peak 2 active - + Peak 2 aktiv - Peak 3 active - + Peak 3 aktiv - Peak 4 active - + Peak 4 aktiv - - High-shelf active - + High shelf active + High Shelf aktiv - LP active - + TP aktiv - LP 12 - + TP 12 - LP 24 - + TP 24 - LP 48 - + TP 48 - HP 12 - + HP 12 - HP 24 - + HP 24 - HP 48 - + HP 48 - - Low-pass type - + low pass type + Tiefpass-Art - - High-pass type - + high pass type + Hochpass-Art - Analyse IN - + Analyse EIN - Analyse OUT - + Analyse AUS + + + Low-shelf gain + + + + High-shelf gain + + + + Low-shelf res + + + + High-shelf res + + + + Low-shelf freq + + + + High-shelf freq + + + + Low-shelf active + + + + High-shelf active + + + + Low-pass type + Tiefpasstyp + + + High-pass type + Hochpasstyp lmms::FlangerControls - - Delay samples - + Delay Samples + Samples verzögern - - LFO frequency - + Lfo Frequency + LFO-Frequenz - - Amount - + Seconds + Sekunde - - Stereo phase - + Regen + Erneuern - - Feedback - - - - Noise - + Rauschen - Invert - + Invertieren + + + Delay samples + Samples verzögern + + + LFO frequency + LFO-Frequenz + + + Amount + Stärke + + + Stereo phase + Stereophase + + + Feedback + Rückkopplung lmms::FreeBoyInstrument - Sweep time - + Streichzeit - Sweep direction - + Streichrichtung - Sweep rate shift amount - + Streichratenverschiebung - - Wave pattern duty cycle - + Wellenmustertastgradzyklus - Channel 1 volume - + Kanal-1-Lautstärke - - - Volume sweep direction - + Lautstärken-Streichrichtung - - - Length of each step in sweep - + Länge jedes Schritts beim Streichen - Channel 2 volume - + Kanal-2-Lautstärke - Channel 3 volume - + Kanal-3-Lautstärke - Channel 4 volume - + Kanal-4-Lautstärke - Shift Register width - + Schieberegister-Breite - Right output level - + Rechter Ausgabepegel - Left output level - + Linker Ausgabepegel - Channel 1 to SO2 (Left) - + Kanal 1 zu SO2 (Links) - Channel 2 to SO2 (Left) - + Kanal 2 zu SO2 (Links) - Channel 3 to SO2 (Left) - + Kanal 3 zu SO2 (Links) - Channel 4 to SO2 (Left) - + Kanal 4 zu SO2 (Links) - Channel 1 to SO1 (Right) - + Kanal 1 zu SO1 (Rechts) - Channel 2 to SO1 (Right) - + Kanal 2 zu SO1 (Rechts) - Channel 3 to SO1 (Right) - + Kanal 3 zu SO1 (Rechts) - Channel 4 to SO1 (Right) - + Kanal 4 zu SO1 (Rechts) - Treble - + Höhe - Bass - + Bass lmms::GigInstrument - Bank - + Bank - Patch - + Patch - Gain - + Verstärkung lmms::GranularPitchShifterControls - Pitch - + Tonhöhe - Grain Size - + Korngröße - Spray - + - Jitter - + - Twitch - + - Pitch Stereo Spread - + - Spray Stereo - + - Shape - + Form - Fade Length - + - Feedback - + Rückkopplung - Minimum Allowed Latency - + Minimale erlaubte Latenz - Prefilter - + Vorfilter - Density - + Dichte - Glide - + Gleiten - Ring Buffer Length - + Ringpufferlänge - 5 Seconds - + 5 Sekunden - 10 Seconds (Size) - + 10 Sekunden (Größe) - 40 Seconds (Size and Pitch) - + 40 Sekunden (Größe und Tonhöhe) - 40 Seconds (Size and Spray and Jitter) - + 40 Sekunden (Größe und Spray und Jitter) - 120 Seconds (All of the above) - + 120 Sekunden (alles von oben) lmms::InstrumentFunctionArpeggio - Arpeggio - + Arpeggio - Arpeggio type - + Arpeggiotyp - Arpeggio range - + Arpeggio-Bereich - - Note repeats - - - - - Cycle steps - - - - - Skip rate - - - - - Miss rate - - - - Arpeggio time - + Arpeggio-Zeit - Arpeggio gate - + Arpeggio-Gate - Arpeggio direction - + Arpeggio-Richtung - Arpeggio mode - + Arpeggio-Modus - Up - + Hoch - Down - + Runter - Up and down - + Hoch und runter - - Down and up - - - - Random - + Zufällig - Free - + Frei - Sort - + Sortiert - Sync - - - - - lmms::InstrumentFunctionNoteStacking - - - Chords - + Synchron - - Chord type - + Down and up + Runter und hoch - - Chord range - + Skip rate + Übersprungsrate + + + Miss rate + Verfehlrate + + + Cycle steps + Zyklusschritte + + + Note repeats + Notenwiederholungen lmms::InstrumentSoundShaping - - Envelopes/LFOs - + VOLUME + LAUTSTÄRKE - - Filter type - + Volume + Lautstärke + + + CUTOFF + KENNFREQ - Cutoff frequency - + Kennfrequenz + + + RESO + RESO + + + Resonance + Resonanz + + + Envelopes/LFOs + Hüllkurven/LFOs + + + Filter type + Filtertyp - Q/Resonance - + Q/Resonanz - - Low-pass - + LowPass + Tiefpass - - Hi-pass - + HiPass + Hochpass - - Band-pass csg - + BandPass csg + Bandpass csg - - Band-pass czpg - + BandPass czpg + Bandpass czpg - Notch - + Notch - - All-pass - + Allpass + Allpass - Moog - + Moog - - 2x Low-pass - + 2x LowPass + 2× Tiefpass - - RC Low-pass 12 dB/oct - + RC LowPass 12dB + RC-Tiefpass 12dB - - RC Band-pass 12 dB/oct - + RC BandPass 12dB + RC-Bandpass 12dB - - RC High-pass 12 dB/oct - + RC HighPass 12dB + RC-Hochpass 12dB - - RC Low-pass 24 dB/oct - + RC LowPass 24dB + RC-Tiefpass 24dB - - RC Band-pass 24 dB/oct - + RC BandPass 24dB + RC-Bandpass 24dB - - RC High-pass 24 dB/oct - + RC HighPass 24dB + RC-Hochpass 24dB - - Vocal Formant - + Vocal Formant Filter + Vokalformant-Filter - 2x Moog - + 2× Moog - - SV Low-pass - + SV LowPass + SV-Tiefpass - - SV Band-pass - + SV BandPass + SV-Bandpass - - SV High-pass - + SV HighPass + SV-Hochpass - SV Notch - + SV-Notch + + + Low-pass + Tiefpass + + + Hi-pass + Hochpass + + + Band-pass csg + Bandpass csg + + + Band-pass czpg + Bandpass czpg + + + All-pass + Allpass + + + 2x Low-pass + 2× Tiefpass + + + RC Low-pass 12 dB/oct + RC-Tiefpass 12 dB/Okt. + + + RC Band-pass 12 dB/oct + RC-Bandpass 12 dB/Okt. + + + RC High-pass 12 dB/oct + RC-Hochpass 12 dB/Okt. + + + RC Low-pass 24 dB/oct + RC-Tiefpass 24 dB/Okt. + + + RC Band-pass 24 dB/oct + RC-Bandbass 24 dB/Okt. + + + RC High-pass 24 dB/oct + RC-Hochbass 24 dB/Okt. + + + Vocal Formant + Vokalformant + + + SV Low-pass + SV-Tiefpass + + + SV Band-pass + SV-Bandpass + + + SV High-pass + SV-Hochpass - Fast Formant - + - Tripole - + lmms::InstrumentTrack - - unnamed_track - + Unbenannte_Spur - - Base note - - - - - First note - - - - - Last note - - - - Volume - + Lautstärke - Panning - + Balance - Pitch - + Tonhöhe - - Pitch range - + FX channel + FX-Kanal - - Mixer channel - - - - - Master pitch - - - - - Enable/Disable MIDI CC - - - - - CC Controller %1 - - - - - Default preset - + Standard-Preset + + + With this knob you can set the volume of the opened channel. + Mit diesem Regler können Sie die Lautstärke des geöffneten Kanals ändern. + + + Base note + Grundton + + + Pitch range + Tonhöhenbereich + + + Master Pitch + Master-Tonhöhe + + + First note + Erste Note + + + Last note + Letzte Note + + + Mixer channel + Mischkanal + + + Master pitch + Master-Tonhöhe + + + Enable/Disable MIDI CC + MIDI CC aktivieren/deaktivieren + + + CC Controller %1 + CC-Controller %1 lmms::Keymap - empty - + leer lmms::KickerInstrument - Start frequency - + Startfrequenz - End frequency - + Endfrequenz - - Length - - - - - Start distortion - - - - - End distortion - - - - Gain - + Verstärkung - - Envelope slope - + Length + Länge + + + Distortion Start + Verzerrungsanfang + + + Distortion End + Verzerrungsende + + + Envelope Slope + Hüllkurvenneigung - Noise - + Rauschen - Click - + Klick - - Frequency slope - + Frequency Slope + Frequenzabfall - Start from note - + Start bei Note - End to note - + Ende bei Note + + + Start distortion + Startverzerrung + + + End distortion + Endverzerrung + + + Envelope slope + Hüllkurvenneigung + + + Frequency slope + Frequenzneigung lmms::LOMMControls - Depth - + Tiefe - Time - + Zeit - Input Volume - + Eingangslautstärke - Output Volume - + Ausgangslautstärke - Upward Depth - + Aufwärtstiefe - Downward Depth - + Abwärtstiefe - High/Mid Split - + Hoch/Mittel-Teilung - Mid/Low Split - + Mittel/Tief-Teilung - Enable High/Mid Split - + Hoch-/Mittel-Teilung aktivieren - Enable Mid/Low Split - + Mittel-/Tief-Teilung aktivieren - Enable High Band - + Hochband aktivieren - Enable Mid Band - + Mittelband aktivieren - Enable Low Band - + Tiefband aktivieren - High Input Volume - + - Mid Input Volume - + - Low Input Volume - + - High Output Volume - + - Mid Output Volume - + - Low Output Volume - + - Above Threshold High - + - Above Threshold Mid - + - Above Threshold Low - + - Above Ratio High - + - Above Ratio Mid - + - Above Ratio Low - + - Below Threshold High - + - Below Threshold Mid - + - Below Threshold Low - + - Below Ratio High - + - Below Ratio Mid - + - Below Ratio Low - + - Attack High - + - Attack Mid - + - Attack Low - + - Release High - + Release hoch - Release Mid - + Release mittel - Release Low - + Release niedrig - RMS Time - + RMS-Zeit - Knee - + Knee - Range - + Bereich - Balance - + Balance - Scale output volume with Depth - + Ausgangslautstärke mit Tiefe skalieren - Stereo Link - + Stereoverknüpfung - Auto Time - + Autozeit - Mix - + Mischung - Feedback - + Rückkopplung - Mid/Side - + Mid/Größe - Lookahead - + Lookahead - Lookahead Length - + Lookahead-Länge - Suppress upward compression for side band - + Aufwärtskompression für Seitenband unterdrücken lmms::LadspaControl - Link channels - + Kanäle verknüpfen lmms::LadspaEffect - Unknown LADSPA plugin %1 requested. - + Unbekanntes LADSPA-Plugin %1 angefordert. lmms::Lb302Synth - VCF Cutoff Frequency - + VCF-Kennfrequenz - VCF Resonance - + VCF-Resonanz - VCF Envelope Mod - + VCF-Hüllkurvenintensität - VCF Envelope Decay - + VCF-Hüllkurvenabfallzeit - Distortion - + Verzerrung - Waveform - + Wellenform - Slide Decay - + Slide-Abfallzeit - Slide - + Slide - Accent - + Betonung - Dead - + Stumpf - 24dB/oct Filter - + 24db/Okt-Filter lmms::LfoController - LFO Controller - + LFO-Controller - Base value - + Grundwert - Oscillator speed - + Oszillator-Geschwindigkeit - Oscillator amount - + Oszillator-Stärke - Oscillator phase - + Oszillator-Phase - Oscillator waveform - + Oszillator-Wellenform - Frequency Multiplier - + Frequenzmultiplikator - Sample not found - + Sample nicht gefunden lmms::MalletsInstrument - Hardness - + Härte - Position - + Position - - Vibrato gain - + Vibrato Gain + Vibrato-Verstärkung - - Vibrato frequency - + Vibrato Freq + Vibrato-Freq. - - Stick mix - + Stick Mix + Stick Mix - Modulator - + Modulator - Crossfade - + Crossfade - - LFO speed - + LFO Speed + LFO-Geschwindigkeit - - LFO depth - + LFO Depth + LFO-Tiefe - ADSR - + ADSR - Pressure - + Druck - Motion - + Bewegung - Speed - + Geschwindigkeit - Bowed - + Gestrichen - - Instrument - - - - Spread - + Weite - - Randomness - - - - Marimba - + Marimba - Vibraphone - + Vibraphon - Agogo - + Agogo - - Wood 1 - + Wood1 + Holz 1 - Reso - + Reso - - Wood 2 - + Wood2 + Holz 2 - Beats - + Beats - - Two fixed - + Two Fixed + Two Fixed - Clump - + Clump - - Tubular bells - + Tubular Bells + Röhrenglocken - - Uniform bar - + Uniform Bar + Uniform Bar - - Tuned bar - + Tuned Bar + Tuned Bar - Glass - + Glas + + + Tibetan Bowl + Tibetanische Schüssel + + + Vibrato gain + Vibratoverstärkung + + + Vibrato frequency + Vibratofrequenz + + + Stick mix + Stick-Mix + + + LFO speed + LFO-Geschwindigkeit + + + LFO depth + LFO-Tiefe + + + Instrument + Instrument + + + Randomness + Zufall + + + Wood 1 + Holz 1 + + + Wood 2 + Holz 2 + + + Two fixed + + + + Tubular bells + Röhrenglocken + + + Uniform bar + + + + Tuned bar + - Tibetan bowl - + Tibetische Schüssel lmms::MeterModel - Numerator - + Zähler - Denominator - + Nenner lmms::Microtuner - Microtuner - + Mikrotuner - Microtuner on / off - + Mikrotuner an/aus - Selected scale - + Ausgewählte Tonleiter - Selected keyboard mapping - + Ausgewählte Keymap lmms::MidiController - MIDI Controller - + MIDI-Controller - unnamed_midi_controller - + unbenannter_midi_controller lmms::MidiImport - - Setup incomplete - + Unvollständige Einrichtung - - You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - + You do not have set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Sie haben keine Standard-Soundfont im Einstellungsdialog (Bearbeiten->Einstellungen) festgelegt. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei während der Wiedergabe nichts hören. Sie sollten eine allgemeine MIDI-Soundfont herunterladen, diese im Einstellungsdialog angeben und es erneut versuchen. - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - + Sie haben LMMS nicht mit Unterstützung für den SoundFont2-Player kompiliert. Dies wird benutzt, um Standardklänge bei importierten MIDI-Dateien einzurichten. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei nichts hören. - - MIDI Time Signature Numerator - - - - - MIDI Time Signature Denominator - - - - - Numerator - - - - - Denominator - - - - - - Tempo - - - - Track - + Spur + + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. + Sie haben keine Standard-Soundfont im Einstellungsdialog (Bearbeiten->Einstellungen) festgelegt. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei während der Wiedergabe nichts hören. Sie sollten eine allgemeine MIDI-Soundfont herunterladen, diese im Einstellungsdialog angeben und es erneut versuchen. + + + MIDI Time Signature Numerator + MIDI-Taktart-Zähler + + + MIDI Time Signature Denominator + MIDI-Taktart-Nenner + + + Numerator + Zähler + + + Denominator + Nenner + + + Tempo + Tempo lmms::MidiJack - JACK server down When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - + JACK-Server nicht erreichbar - The JACK server seems to be shuted down. When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - + Der JACK-Server scheint abgeschaltet zu sein. lmms::MidiPort - Input channel - + Eingangskanal - Output channel - + Ausgangskanal - Input controller - + Eingangscontroller - Output controller - + Ausgangscontroller - Fixed input velocity - + Feste Eingangslautstärke - Fixed output velocity - + Feste Ausgangslautstärke - - Fixed output note - - - - Output MIDI program - + Ausgangs-MIDI-Programm - - Base velocity - - - - Receive MIDI-events - + MIDI-Ereignisse empfangen - Send MIDI-events - + MIDI-Ereignisse senden + + + Fixed output note + Feste Ausgangnote + + + Base velocity + Grundlautstärke lmms::Mixer - Master - + Master - - - Channel %1 - + Kanal %1 - Volume - + Lautstärke - Mute - + Stumm - Solo - + Solo lmms::MixerRoute - - Amount to send from channel %1 to channel %2 - + Anteil, der von Kanal %1 zu Kanal %2 gesendet werden soll lmms::MonstroInstrument - - Osc 1 volume - + Osc 1 Volume + Osz 1 Lautstärke - - Osc 1 panning - + Osc 1 Panning + Osz 1 Balance - - Osc 1 coarse detune - + Osc 1 Coarse detune + Osz 1 Grobverstimmung - - Osc 1 fine detune left - + Osc 1 Fine detune left + Osz 1 Feinverstimmung links - - Osc 1 fine detune right - + Osc 1 Fine detune right + Osz 1 Feinverstimmung rechts - - Osc 1 stereo phase offset - + Osc 1 Stereo phase offset + Osz 1 Stereophasenverschiebung - - Osc 1 pulse width - + Osc 1 Pulse width + Osz 1 Pulsweite - - Osc 1 sync send on rise - + Osc 1 Sync send on rise + Osz 1 Sync beim Ansteigen senden - - Osc 1 sync send on fall - + Osc 1 Sync send on fall + Osz 1 Sync beim Abfallen senden - - Osc 2 volume - + Osc 2 Volume + Osz 2 Lautstärke - - Osc 2 panning - + Osc 2 Panning + Osz 2 Balance - - Osc 2 coarse detune - + Osc 2 Coarse detune + Osz 2 Grobverstimmung - - Osc 2 fine detune left - + Osc 2 Fine detune left + Osz 2 Feinverstimmung links - - Osc 2 fine detune right - + Osc 2 Fine detune right + Osz 2 Feinverstimmung rechts - - Osc 2 stereo phase offset - + Osc 2 Stereo phase offset + Osz 2 Stereo-Phasenverschiebung - - Osc 2 waveform - + Osc 2 Waveform + Osz 2 Wellenform - - Osc 2 sync hard - + Osc 2 Sync Hard + Osz 2 hart synchronisieren - - Osc 2 sync reverse - + Osc 2 Sync Reverse + Osz 2 rückwärts synchronisieren - - Osc 3 volume - + Osc 3 Volume + Osz 3 Lautstärke - - Osc 3 panning - + Osc 3 Panning + Osz 3 Balance - - Osc 3 coarse detune - + Osc 3 Coarse detune + Osz 3 Grobverstimmung - Osc 3 Stereo phase offset - + Osz-3-Stereophasenverschiebung - - Osc 3 sub-oscillator mix - + Osc 3 Sub-oscillator mix + Osz 3 Unter-Oszillator Mischung - - Osc 3 waveform 1 - + Osc 3 Waveform 1 + Osz 3 Wellenform 1 - - Osc 3 waveform 2 - + Osc 3 Waveform 2 + Osz 3 Wellenform 2 - - Osc 3 sync hard - + Osc 3 Sync Hard + Osz 3 hart synchronisieren - - Osc 3 Sync reverse - + Osc 3 Sync Reverse + Osz 3 rückwärts synchronisieren - - LFO 1 waveform - + LFO 1 Waveform + LFO 1 Wellenform - - LFO 1 attack - + LFO 1 Attack + LFO 1 Anschwellzeit - - LFO 1 rate - + LFO 1 Rate + LFO 1 Rate - - LFO 1 phase - + LFO 1 Phase + LFO 1 Phase - - LFO 2 waveform - + LFO 2 Waveform + LFO 2 Wellenform - - LFO 2 attack - + LFO 2 Attack + LFO 2 Anschwellzeit - - LFO 2 rate - + LFO 2 Rate + LFO 2 Rate - - LFO 2 phase - + LFO 2 Phase + Hüllkurve 2 Phase - - Env 1 pre-delay - + Env 1 Pre-delay + Hüllkurve 1 Vorverzögerung - - Env 1 attack - + Env 1 Attack + Hüllkurve 1 Anschwellzeit - - Env 1 hold - + Env 1 Hold + Hüllkurve 1 Haltezeit - - Env 1 decay - + Env 1 Decay + Hüllkurve 1 Abfallzeit - - Env 1 sustain - + Env 1 Sustain + Hüllkurve 1 Dauerpegel - - Env 1 release - + Env 1 Release + Hüllkurve 1 Ausklingzeit - - Env 1 slope - + Env 1 Slope + Hüllkurve 1 Neigung - - Env 2 pre-delay - + Env 2 Pre-delay + Hüllkurve 2 Vorverzögerung - - Env 2 attack - + Env 2 Attack + Hüllkurve 2 Anschwellzeit - - Env 2 hold - + Env 2 Hold + Hüllkurve 2 Haltezeit - - Env 2 decay - + Env 2 Decay + Hüllkurve 2 Abfallzeit - - Env 2 sustain - + Env 2 Sustain + Hüllkurve 2 Dauerpegel - - Env 2 release - + Env 2 Release + Hüllkurve 2 Ausklingzeit - - Env 2 slope - + Env 2 Slope + Hüllkurve 2 Neigung - - Osc 2+3 modulation - + Osc2-3 modulation + Osz2-3 Modulation - Selected view - + Ausgewählte Ansicht - - Osc 1 - Vol env 1 - + Vol1-Env1 + Vol1-Env1 - - Osc 1 - Vol env 2 - + Vol1-Env2 + Vol1-Env2 - - Osc 1 - Vol LFO 1 - + Vol1-LFO1 + Vol1-LFO1 - - Osc 1 - Vol LFO 2 - + Vol1-LFO2 + Vol1-LFO2 - - Osc 2 - Vol env 1 - + Vol2-Env1 + Vol2-Env1 - - Osc 2 - Vol env 2 - + Vol2-Env2 + Vol2-Env2 - - Osc 2 - Vol LFO 1 - + Vol2-LFO1 + Vol2-LFO1 - - Osc 2 - Vol LFO 2 - + Vol2-LFO2 + Vol2-LFO2 - - Osc 3 - Vol env 1 - + Vol3-Env1 + Vol3-Env1 - - Osc 3 - Vol env 2 - + Vol3-Env2 + Vol3-Env2 - - Osc 3 - Vol LFO 1 - + Vol3-LFO1 + Vol3-LFO1 - - Osc 3 - Vol LFO 2 - + Vol3-LFO2 + Vol3-LFO2 - - Osc 1 - Phs env 1 - + Phs1-Env1 + Phs1-Env1 - - Osc 1 - Phs env 2 - + Phs1-Env2 + Phs1-Env2 - - Osc 1 - Phs LFO 1 - + Phs1-LFO1 + Phs1-LFO1 - - Osc 1 - Phs LFO 2 - + Phs1-LFO2 + Phs1-LFO2 - - Osc 2 - Phs env 1 - + Phs2-Env1 + Phs2-Env1 - - Osc 2 - Phs env 2 - + Phs2-Env2 + Phs2-Env2 - - Osc 2 - Phs LFO 1 - + Phs2-LFO1 + Phs2-LFO1 - - Osc 2 - Phs LFO 2 - + Phs2-LFO2 + Phs2-LFO2 - - Osc 3 - Phs env 1 - + Phs3-Env1 + Phs3-Env1 - - Osc 3 - Phs env 2 - + Phs3-Env2 + Phs3-Env2 - - Osc 3 - Phs LFO 1 - + Phs3-LFO1 + Phs3-LFO1 - - Osc 3 - Phs LFO 2 - + Phs3-LFO2 + Phs3-LFO2 - - Osc 1 - Pit env 1 - + Pit1-Env1 + Pit1-Env1 - - Osc 1 - Pit env 2 - + Pit1-Env2 + Pit1-Env2 - - Osc 1 - Pit LFO 1 - + Pit1-LFO1 + Pit1-LFO1 - - Osc 1 - Pit LFO 2 - + Pit1-LFO2 + Pit1-LFO2 - - Osc 2 - Pit env 1 - + Pit2-Env1 + Pit2-Env1 - - Osc 2 - Pit env 2 - + Pit2-Env2 + Pit2-Env2 - - Osc 2 - Pit LFO 1 - + Pit2-LFO1 + Pit2-LFO1 - - Osc 2 - Pit LFO 2 - + Pit2-LFO2 + Pit2-LFO2 - - Osc 3 - Pit env 1 - + Pit3-Env1 + Pit3-Env1 - - Osc 3 - Pit env 2 - + Pit3-Env2 + Pit3-Env2 - - Osc 3 - Pit LFO 1 - + Pit3-LFO1 + Pit3-LFO1 - - Osc 3 - Pit LFO 2 - + Pit3-LFO2 + Pit3-LFO2 - - Osc 1 - PW env 1 - + PW1-Env1 + PW1-Env1 - - Osc 1 - PW env 2 - + PW1-Env2 + PW1-Env2 - - Osc 1 - PW LFO 1 - + PW1-LFO1 + PW1-LFO1 - - Osc 1 - PW LFO 2 - + PW1-LFO2 + PW1-LFO2 - - Osc 3 - Sub env 1 - + Sub3-Env1 + Sub3-Env1 - - Osc 3 - Sub env 2 - + Sub3-Env2 + Sub3-Env2 - - Osc 3 - Sub LFO 1 - + Sub3-LFO1 + Sub3-LFO1 - - Osc 3 - Sub LFO 2 - + Sub3-LFO2 + Sub3-LFO2 - - Sine wave - + Sinuswelle - Bandlimited Triangle wave - + Bandbegrenzte Dreieckwelle - Bandlimited Saw wave - + Bandbegrenzte Sägezahnwelle - Bandlimited Ramp wave - + Bandbegrenzte Rampenwelle - Bandlimited Square wave - + Bandbegrenzte Rechteckwelle - Bandlimited Moog saw wave - + Bandbegrenzte Moog-Sägezahnwelle - - Soft square wave - + Weiche Rechteckwelle - Absolute sine wave - + Absolute Sinuswelle - - Exponential wave - + Exponentielle Welle - White noise - + Weißes Rauschen - Digital Triangle wave - + Digitale Dreieckwelle - Digital Saw wave - + Digitale Sägezahnwelle - Digital Ramp wave - + Digitale Rampenwelle - Digital Square wave - + Digitale Rechteckwelle - Digital Moog saw wave - + Digitale Moog-Sägezahnwelle - Triangle wave - + Dreieckwelle - Saw wave - + Sägezahnwelle - Ramp wave - + Sägezahnwelle - Square wave - + Rechteckwelle - Moog saw wave - + Moog-Sägezahnwelle - Abs. sine wave - + Abs. Sinuswelle - Random - + Zufällig - Random smooth - + Zufällig gleitend + + + Osc 1 volume + Osz-1-Lautstärke + + + Osc 1 panning + Osz-1-Balance + + + Osc 1 coarse detune + Osz-1-Grobverstimmung + + + Osc 1 fine detune left + Osz-1-Feinverstimmung links + + + Osc 1 fine detune right + Osz-1-Feinverstimmung rechts + + + Osc 1 stereo phase offset + Osz-1-Stereophasenverschiebung + + + Osc 1 pulse width + Osz-1-Pulsbreite + + + Osc 1 sync send on rise + Osz 1 – Sync beim Ansteigen senden + + + Osc 1 sync send on fall + Osz 1 – Sync beim Abfallen senden + + + Osc 2 volume + Osz-2-Lautstärke + + + Osc 2 panning + Osz-2-Balance + + + Osc 2 coarse detune + Osz-2-Grobverstimmung + + + Osc 2 fine detune left + Osz-2-Feinverstimmung links + + + Osc 2 fine detune right + Osz-2-Feinverstimmung rechts + + + Osc 2 stereo phase offset + Osz-2-Stereophasenversatz + + + Osc 2 waveform + Osz-2-Wellenform + + + Osc 2 sync hard + Osz 2 hart synchronisieren + + + Osc 2 sync reverse + Osz 2 rückwärts synchronisieren + + + Osc 3 volume + Osz-3-Lautstärke + + + Osc 3 panning + Osz-3-Balance + + + Osc 3 coarse detune + Osz-3-Grobverstimmung + + + Osc 3 sub-oscillator mix + Osz-3-Unter-Oszillator-Mischung + + + Osc 3 waveform 1 + Osz-3-Wellenform 1 + + + Osc 3 waveform 2 + Osz-3-Wellenform 2 + + + Osc 3 sync hard + Osz 3 hart synchronisieren + + + Osc 3 Sync reverse + Osz 3 rückwärts synchronisieren + + + LFO 1 waveform + LFO-1-Wellenform + + + LFO 1 attack + LFO-1-Anschwellzeit + + + LFO 1 rate + LFO-1-Rate + + + LFO 1 phase + LFO-1-Rate + + + LFO 2 waveform + LFO-2-Wellenform + + + LFO 2 attack + LFO-2-Anschwellzeit + + + LFO 2 rate + LFO-2-Rate + + + LFO 2 phase + LFO-2-Phase + + + Env 1 pre-delay + Hüllkurve-1-Vorverzögerung + + + Env 1 attack + Hüllkurve-1-Anschwellzeit + + + Env 1 hold + Hüllkurve-1-Haltezeit + + + Env 1 decay + Hüllkurve-1-Abfallzeit + + + Env 1 sustain + Hüllkurve-1-Dauerpegel + + + Env 1 release + Hüllkurve-1-Ausklingzeit + + + Env 1 slope + Hüllkurve-1-Neigung + + + Env 2 pre-delay + Hüllkurve-2-Vorverzögerung + + + Env 2 attack + Hüllkurve-2-Anschwellzeit + + + Env 2 hold + Hüllkurve-2-Haltezeit + + + Env 2 decay + Hüllkurve-2-Abfallzeit + + + Env 2 sustain + Hüllkurve-2-Dauerpegel + + + Env 2 release + Hüllkurve-2-Ausklingzeit + + + Env 2 slope + Hüllkurve-2-Neigung + + + Osc 2+3 modulation + Osz-2+3-Modulation + + + Osc 1 - Vol env 1 + Osz 1 – Lau Hüll 1 + + + Osc 1 - Vol env 2 + Osz 1 – Lau Hüll 2 + + + Osc 1 - Vol LFO 1 + Osz 1 – Lau LFO 1 + + + Osc 1 - Vol LFO 2 + Osz 1 – Lau LFO 2 + + + Osc 2 - Vol env 1 + Osz 2 – Lau Hüll 1 + + + Osc 2 - Vol env 2 + Osz 2 – Lau Hüll 2 + + + Osc 2 - Vol LFO 1 + Osz 2 – Lau LFO 1 + + + Osc 2 - Vol LFO 2 + Osz 2 – Lau LFO 2 + + + Osc 3 - Vol env 1 + Osz 3 – Lau Hüll 1 + + + Osc 3 - Vol env 2 + Osz 3 – Lau Hüll 2 + + + Osc 3 - Vol LFO 1 + Osz 3 – Lau LFO 1 + + + Osc 3 - Vol LFO 2 + Osz 3 – Lau LFO 2 + + + Osc 1 - Phs env 1 + Osz 1 – Phs Hüll 1 + + + Osc 1 - Phs env 2 + Osz 1 – Phs Hüll 2 + + + Osc 1 - Phs LFO 1 + Osz 1 – Phs LFO 1 + + + Osc 1 - Phs LFO 2 + Osz 1 – Phs LFO 2 + + + Osc 2 - Phs env 1 + Osz 2 – Phs Hüll 1 + + + Osc 2 - Phs env 2 + Osz 2 – Phs Hüll 2 + + + Osc 2 - Phs LFO 1 + Osz 2 – Phs LFO 1 + + + Osc 2 - Phs LFO 2 + Osz 2 – Phs LFO 2 + + + Osc 3 - Phs env 1 + Osz 3 – Phs Hüll 1 + + + Osc 3 - Phs env 2 + Osc 3 – Phs env 2 + + + Osc 3 - Phs LFO 1 + Osz 3 – Phs LFO 1 + + + Osc 3 - Phs LFO 2 + Osz 3 – Phs LFO 2 + + + Osc 1 - Pit env 1 + Osz 1 – Höh Hüll 1 + + + Osc 1 - Pit env 2 + Osz 1 – Höh Hüll 2 + + + Osc 1 - Pit LFO 1 + Osz 1 – Höh LFO 1 + + + Osc 1 - Pit LFO 2 + Osz 1 – Höh LFO 2 + + + Osc 2 - Pit env 1 + Osz 2 – Höh Hüll 1 + + + Osc 2 - Pit env 2 + Osz 2 – Höh Hüll 2 + + + Osc 2 - Pit LFO 1 + Osz 2 – Höh LFO 1 + + + Osc 2 - Pit LFO 2 + Osz 2 – Höh LFO 2 + + + Osc 3 - Pit env 1 + Osz 3 – Höh Hüll 1 + + + Osc 3 - Pit env 2 + Osz 3 – Höh Hüll 2 + + + Osc 3 - Pit LFO 1 + Osz 3 – Höh LFO 1 + + + Osc 3 - Pit LFO 2 + Osz 3 – Höh LFO 2 + + + Osc 1 - PW env 1 + Osz 1 – PB Hüll 1 + + + Osc 1 - PW env 2 + Osz 1 – PB Hüll 2 + + + Osc 1 - PW LFO 1 + Osz 1 – PB LFO 1 + + + Osc 1 - PW LFO 2 + Osz 1 – PB LFO 2 + + + Osc 3 - Sub env 1 + Osz 3 – Unt Hüll 1 + + + Osc 3 - Sub env 2 + Osz 3 – Unt Hüll 2 + + + Osc 3 - Sub LFO 1 + Osz 3 – Unt LFO 1 + + + Osc 3 - Sub LFO 2 + Osz 3 – Unt LFO 2 lmms::NesInstrument - - Channel 1 enable - + Channel 1 Coarse detune + Kanal 1 Grobverstimmung - - Channel 1 coarse detune - + Channel 1 Volume + Kanal 1 Lautstärke - - Channel 1 volume - + Channel 1 Envelope length + Kanal 1 Hüllkurvenlänge - - Channel 1 envelope enable - + Channel 1 Duty cycle + Kanal 1 Tastgrad - - Channel 1 envelope loop - + Channel 1 Sweep amount + Kanal 1 Streichstärke - - Channel 1 envelope length - + Channel 1 Sweep rate + Kanal 1 Streichrate - - Channel 1 duty cycle - + Channel 2 Coarse detune + Kanal 2 Grobverstimmung - - Channel 1 sweep enable - + Channel 2 Volume + Kanal 2 Lautstärke - - Channel 1 sweep amount - + Channel 2 Envelope length + Kanal 2 Hüllkurvenlänge - - Channel 1 sweep rate - + Channel 2 Duty cycle + Kanal 2 Tastgrad - - Channel 2 enable - + Channel 2 Sweep amount + Kanal 2 Streichstärke - - Channel 2 coarse detune - + Channel 2 Sweep rate + Kanal 2 Streichrate - - Channel 2 volume - + Channel 3 Coarse detune + Kanal 3 Grobverstimmung - - Channel 2 envelope enable - + Channel 3 Volume + Kanal 3 Lautstärke - - Channel 2 envelope loop - + Channel 4 Volume + Kanal 4 Lautstärke - - Channel 2 envelope length - + Channel 4 Envelope length + Kanal 4 Hüllkurvenlänge - - Channel 2 duty cycle - + Channel 4 Noise frequency + Kanal 4 Rauschfrequenz - - Channel 2 sweep enable - + Channel 4 Noise frequency sweep + Kanal 4 Rauschfrequenzstreichen - - Channel 2 sweep amount - - - - - Channel 2 sweep rate - - - - - Channel 3 enable - - - - - Channel 3 coarse detune - - - - - Channel 3 volume - - - - - Channel 4 enable - - - - - Channel 4 volume - - - - - Channel 4 envelope enable - - - - - Channel 4 envelope loop - - - - - Channel 4 envelope length - - - - - Channel 4 noise mode - - - - - Channel 4 frequency mode - - - - - Channel 4 noise frequency - - - - - Channel 4 noise frequency sweep - - - - - Channel 4 quantize - - - - Master volume - + Master-Lautstärke - Vibrato - + Vibrato + + + Channel 1 enable + Kanal 1 aktivieren + + + Channel 1 coarse detune + Kanal-1-Grobverstimmung + + + Channel 1 volume + Kanal-1-Lautstärke + + + Channel 1 envelope enable + Kanal-1-Hüllkurve aktiviert + + + Channel 1 envelope loop + Kanal-1-Hüllkurvenschleife + + + Channel 1 envelope length + Kanal-1-Hüllkurvenlänge + + + Channel 1 duty cycle + Kanal-1-Tastgrad + + + Channel 1 sweep enable + Kanal-1-Streichen aktivieren + + + Channel 1 sweep amount + Kanal-1-Streichstärke + + + Channel 1 sweep rate + Kanal-1-Streichrate + + + Channel 2 enable + Kanal 2 aktivieren + + + Channel 2 coarse detune + Kanal-2-Grobverstimmung + + + Channel 2 volume + Kanal-2-Lautstärke + + + Channel 2 envelope enable + Kanal-2-Hüllkurve aktivieren + + + Channel 2 envelope loop + Kanal-2-Hüllkurvenschleife + + + Channel 2 envelope length + Kanal-2-Hüllkurvenlänge + + + Channel 2 duty cycle + Kanal-2-Tastgrad + + + Channel 2 sweep enable + Kanal-2-Streichen aktivieren + + + Channel 2 sweep amount + Kanal-2-Streichstärke + + + Channel 2 sweep rate + Kanal-2-Streichrate + + + Channel 3 enable + Kanal 3 aktivieren + + + Channel 3 coarse detune + Kanal-3-Grobverstimmung + + + Channel 3 volume + Kanal-3-Lautstärke + + + Channel 4 enable + Kanal 4 aktivieren + + + Channel 4 volume + Kanal-4-Lautstärke + + + Channel 4 envelope enable + Kanal-4-Hüllkurve aktivieren + + + Channel 4 envelope loop + Kanal-4-Hüllkurvenschleife + + + Channel 4 envelope length + Kanal-4-Hüllkurvenlänge + + + Channel 4 noise mode + Kanal-4-Rauschmodus + + + Channel 4 frequency mode + Kanal-4-Frequenzmodus + + + Channel 4 noise frequency + Kanal-4-Rauschfrequenz + + + Channel 4 noise frequency sweep + Kanal-4-Rauschfrequenzstreichen + + + Channel 4 quantize + Kanal 4 quantisieren lmms::OpulenzInstrument - Patch - + Patch - - Op 1 attack - + Op 1 Attack + Op 1 Anschwellzeit - - Op 1 decay - + Op 1 Decay + Op 1 Abfallzeit - - Op 1 sustain - + Op 1 Sustain + Op 1 Dauerpegel - - Op 1 release - + Op 1 Release + Op 1 Ausklingzeit - - Op 1 level - + Op 1 Level + Op 1 Stärke - - Op 1 level scaling - + Op 1 Level Scaling + Op 1 Stärkenskalierung - - Op 1 frequency multiplier - + Op 1 Frequency Multiple + Op 1 Frequenzmultiplikator - - Op 1 feedback - + Op 1 Feedback + Op 1 Rückkopplung - - Op 1 key scaling rate - + Op 1 Key Scaling Rate + Op 1 Tonart-Skalierungsrate - - Op 1 percussive envelope - + Op 1 Tremolo + Op 1 Tremolo - - Op 1 tremolo - + Op 1 Vibrato + Op 1 Vibrato - - Op 1 vibrato - + Op 1 Waveform + Op 1 Wellenform - - Op 1 waveform - + Op 2 Attack + Op 2 Anschwellzeit - - Op 2 attack - + Op 2 Decay + Op 2-Abfallzeit - - Op 2 decay - + Op 2 Sustain + Op 2 Dauerpegel - - Op 2 sustain - + Op 2 Release + Op 2 Ausklingzeit - - Op 2 release - + Op 2 Level + Op 2 Stärke - - Op 2 level - + Op 2 Level Scaling + Op 2 Stärkenskalierung - - Op 2 level scaling - + Op 2 Frequency Multiple + Op 2 Frequenzmultiplikator - - Op 2 frequency multiplier - + Op 2 Key Scaling Rate + Op 2 Tonart-Skalierungsrate - - Op 2 key scaling rate - + Op 2 Tremolo + Op 2 Tremolo - - Op 2 percussive envelope - + Op 2 Vibrato + Op 2 Vibrato - - Op 2 tremolo - + Op 2 Waveform + Op 2 Wellenform - - Op 2 vibrato - - - - - Op 2 waveform - - - - FM - + FM + + + Vibrato Depth + Vibrato-Tiefe + + + Tremolo Depth + Tremolo-Tiefe + + + Op 1 attack + Op-1-Anschwellzeit + + + Op 1 decay + Op-1-Abfallzeit + + + Op 1 sustain + Op-1-Dauerpegel + + + Op 1 release + Op-1-Ausklingzeit + + + Op 1 level + Op-1-Stärke + + + Op 1 level scaling + Op-1-Stärkenskalierung + + + Op 1 frequency multiplier + Op-1-Frequenzmultiplikator + + + Op 1 feedback + Op-1-Rückkopplung + + + Op 1 key scaling rate + Op-1-Tonart-Skalierungsrate + + + Op 1 percussive envelope + + + + Op 1 tremolo + Op-1-Tremolo + + + Op 1 vibrato + Op-1-Vibrato + + + Op 1 waveform + Op-1-Wellenform + + + Op 2 attack + Op-2-Anschwellzeit + + + Op 2 decay + Op-2-Abfallzeit + + + Op 2 sustain + Op-2-Dauerpegel + + + Op 2 release + Op-2-Ausklingzeit + + + Op 2 level + Op-2-Stärke + + + Op 2 level scaling + Op-2-Stärkenskalierung + + + Op 2 frequency multiplier + Op-2-Frequenzmultiplikator + + + Op 2 key scaling rate + Op-2-Tonart-Skalierungsrate + + + Op 2 percussive envelope + + + + Op 2 tremolo + Op-2-Tremolo + + + Op 2 vibrato + Op-2-Vibrato + + + Op 2 waveform + Op-2-Wellenform - Vibrato depth - + Vibrato-Tiefe - Tremolo depth - + Tremolo-Tiefe lmms::OrganicInstrument - Distortion - + Verzerrung - Volume - + Lautstärke lmms::OscillatorObject - - Osc %1 waveform - - - - - Osc %1 harmonic - - - - - Osc %1 volume - + Oszillator %1 Lautstärke - - Osc %1 panning - + Oszillator %1 Balance - - Osc %1 stereo detuning - - - - Osc %1 coarse detuning - + Oszillator %1 Grobverstimmung - Osc %1 fine detuning left - + Oszillator %1 Feinverstimmung links - Osc %1 fine detuning right - + Oszillator %1 Feinverstimmung rechts - Osc %1 phase-offset - + Oszillator %1 Phasenverschiebung - Osc %1 stereo phase-detuning - + Oszillator %1 Stereo-Phasenverschiebung - Osc %1 wave shape - + Oszillator %1 Wellenform - Modulation type %1 - + Modulationsart %1 + + + Osc %1 waveform + Oszillator %1 Wellenform + + + Osc %1 harmonic + Oszillator %1 Harmonie + + + Osc %1 stereo detuning + Oszillator-%1-Stereoverstimmung lmms::PatternTrack - Pattern %1 - + Pattern %1 - Clone of %1 - + Klon von %1 lmms::PeakController - Peak Controller - + Peak-Controller - Peak Controller Bug - + Peak-Controller-Fehler - Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - + Aufgrund eines Fehlers in einer älteren Version von LMMS sind die Peak-Controller möglicherweise nicht richtig verbunden. Bitte stellen Sie sicher, dass die Peak-Controller richtig verbunden sind und speichern Sie die Datei erneut. Entschuldigung für jegliche verursachte Unannehmlichkeiten. + + + + lmms::PeakControllerEffectControlDialog + + BASE + GRUND + + + Base amount: + Grundstärke: + + + Modulation amount: + Modulationsintensität: + + + Attack: + Anschwellzeit (attack): + + + Release: + Ausklingzeit (release): + + + AMNT + Intensität + INTE + + + MULT + Faktor + FAKT + + + Amount Multiplicator: + Intensitätsfaktor: + + + ATCK + ATCK + + + DCAY + DCAY + + + Treshold: + Schwellwert: + + + TRSH + Schwellwert + SCHW lmms::PeakControllerEffectControls - Base value - + Grundwert - Modulation amount - + Modulationsintensität - Attack - + Anschwellzeit (attack) - Release - + Ausklingzeit (release) - Treshold - + Schwellwert - Mute output - + Ausgang stumm - Absolute value - + Absolutwert - Amount multiplicator - + Intensitätsfaktor lmms::Plugin - Plugin not found - + Plugin nicht gefunden - - The plugin "%1" wasn't found or could not be loaded! + The plugin "%1" wasn't found or could not be loaded! Reason: "%2" - + Das Plugin »%1« konnte nicht gefunden oder geladen werden! +Grund: »%2« - Error while loading plugin - + Fehler beim Laden des Plugins - Failed to load plugin "%1"! - + Das Plugin »%1« konnte nicht geladen werden! lmms::ReverbSCControls - Input gain - + Eingangsverstärkung - Size - + Größe - Color - + Farbe - Output gain - + Ausgabeverstärkung lmms::SaControls - Pause - + Pause - Reference freeze - + Referenz einfrieren - Waterfall - + Wasserfall - Averaging - + Mittelung - Stereo - + Stereo - Peak hold - + Peak halten - Logarithmic frequency - + Logarithmische Frequenz - Logarithmic amplitude - + Logarithmische Amplitude - Frequency range - + Frequenzbereich - Amplitude range - + Amplitudenbereich - FFT block size - + FFT-Blockgröße - FFT window type - + FFT-Fenstertyp - Peak envelope resolution - + Peakhüllkurvenauflösung - Spectrum display resolution - + Spektrumsanzeigenauflösung - Peak decay multiplier - + Peakabfallzeitfaktor - Averaging weight - + Mittelungsgewicht - Waterfall history size - + Wasserfallhistoriengröße - Waterfall gamma correction - + Wasserfallgammakorrektur - FFT window overlap - + FFT-Fensterüberlappung - FFT zero padding - + FFT-Zero-Padding - - Full (auto) - + Voll (auto) - - - Audible - + - Bass - + Bass - Mids - + - High - + Hoch - Extended - + Erweitert - Loud - + Laut - Silent - + Stumm - (High time res.) - + (Hohe Zeitaufl.) - (High freq. res.) - + (Hohe Freq.-aufl.) - Rectangular (Off) - + Rechteckig (aus) - - Blackman-Harris (Default) - + Blackman-Harris (Standard) - Hamming - + Hamming - Hanning - + Hanning lmms::SampleClip - Sample not found - + Sample nicht gefunden lmms::SampleTrack - Volume - + Lautstärke - Panning - + Balance - Mixer channel - + Mischkanal - - Sample track - + Samplespur lmms::Scale - empty - + leer lmms::Sf2Instrument - Bank - + Bank - Patch - + Patch - Gain - + Verstärkung - Reverb - + Hall - - Reverb room size - + Reverb Roomsize + Hall/Raumgröße - - Reverb damping - + Reverb Damping + Hall/Dämpfung - - Reverb width - + Reverb Width + Hall/Weite - - Reverb level - + Reverb Level + Hall/Stärke - Chorus - + Chorus - - Chorus voices - + Chorus Lines + Chorus/Anzahl - - Chorus level - + Chorus Level + Chorus/Stärke - - Chorus speed - + Chorus Speed + Chorus/Geschwindigkeit - - Chorus depth - + Chorus Depth + Chorus/Tiefe - A soundfont %1 could not be loaded. - + Eine Soundfont %1 konnte nicht geladen werden. + + + Reverb room size + Hallraumgröße + + + Reverb damping + Halldämpfung + + + Reverb width + Hallweite + + + Reverb level + Hallstärke + + + Chorus voices + Chorusstimmen + + + Chorus level + Chorusstärke + + + Chorus speed + Chorusgeschwindigkeit + + + Chorus depth + Chorustiefe lmms::SfxrInstrument - + Wave Form + Wellenform + + Wave - + Welle lmms::SidInstrument - - Cutoff frequency - + Cutoff + Kennfrequenz - Resonance - + Resonanz - Filter type - + Filtertyp - Voice 3 off - + Stimme 3 lautlos - Volume - + Lautstärke - Chip model - + Chipmodell + + + Cutoff frequency + Kennfrequenz lmms::SlicerT - Note threshold - + Notenschwellwert - FadeOut - + Ausblenden - Original bpm - + Ursprüngliche bpm - Slice snap - + Slice einrasten - BPM sync - + BPM-Sync. - - slice_%1 - + slice_%1 - Sample not found: %1 - + Sample nicht gefunden: %1 lmms::Song - Tempo - + Tempo - Master volume - + Master-Lautstärke - Master pitch - + Master-Tonhöhe - - Aborting project load - + Project saved + Projekt gespeichert - - Project file contains local paths to plugins, which could be used to run malicious code. - + The project %1 is now saved. + Das Projekt %1 ist nun gespeichert. - - Can't load project: Project file contains local paths to plugins. - + Project NOT saved. + Projekt NICHT gespeichert. + + + The project %1 was not saved! + Das Projekt %1 wurde nicht gespeichert! + + + Import file + Datei importieren + + + MIDI sequences + MIDI-Sequenzen + + + Hydrogen projects + Hydrogen-Projekte + + + All file types + Alle Dateitypen + + + Empty project + Leeres Projekt + + + This project is empty so exporting makes no sense. Please put some items into Song Editor first! + Dieses Projekt ist leer, also ist der Export sinnlos. Bitte legen Sie zuerst ein paar Dinge in den Song-Editor ab! + + + Select directory for writing exported tracks... + Verzeichnis für das Schreiben der zu exportierenden Spuren wählen … + + + untitled + Unbenannt + + + Select file for project-export... + Datei für Projekt-Export wählen … + + + The following errors occured while loading: + Die folgenden Fehler traten beim Laden auf: + + + MIDI File (*.mid) + MIDI-Datei (*.mid) - LMMS Error report - + LMMS-Fehlerbericht + + + Save project + Projekt speichern + + + Aborting project load + Projektladen abbrechen + + + Project file contains local paths to plugins, which could be used to run malicious code. + Projektdatei enthält lokale Pfaden zu Plugins, welche benutzt werden können, um Schadcode auszuführen. + + + Can't load project: Project file contains local paths to plugins. + Projekt kann nicht geladen werden: Projektdatei enthält lokale Pfade zu Plugins. - (repeated %1 times) - + (%1 mal wiederholt) - The following errors occurred while loading: - + Die folgenden Fehler sind beim Laden aufgetreten: lmms::StereoEnhancerControls - Width - + Weite lmms::StereoMatrixControls - Left to Left - + Links-nach-links - Left to Right - + Links-nach-rechts - Right to Left - + Rechts-nach-links - Right to Right - + Rechts-nach-rechts lmms::Track - Mute - + Stumm - Solo - + Solo lmms::TrackContainer - - Couldn't import file - - - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - - - - - Couldn't open file - - - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - - - - - Loading project... - - - - - - Cancel - - - - - - Please wait... - - - - - Loading cancelled - - - - - Project loading was cancelled. - - - - - Loading Track %1 (%2/Total %3) - - - - Importing MIDI-file... - + Importiere MIDI-Datei … + + + Cancel + Abbrechen + + + Please wait... + Bitte warten … + + + Couldn't import file + Datei konnte nicht importiert werden + + + Couldn't find a filter for importing file %1. +You should convert this file into a format supported by LMMS using another software. + Es konnte kein Filter gefunden werden, um die Datei %1 zu importieren. +Sie sollten diese Datei mit Hilfe anderer Software in ein von LMMS unterstütztes Format umwandeln. + + + Couldn't open file + Datei konnte nicht geöffnet werden + + + Couldn't open file %1 for reading. +Please make sure you have read-permission to the file and the directory containing the file and try again! + Datei %1 konnte nicht zum Lesen geöffnet werden. +Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeichnis besitzen und probieren es erneut! + + + Loading project... + Projekt laden … + + + Loading cancelled + Laden abgebrochen + + + Project loading was cancelled. + Laden des Projekts wurde abgebrochen. + + + Loading Track %1 (%2/Total %3) + Spur %1 laden (%2/gesamt %3) lmms::TripleOscillator - Sample not found - + Sample nicht gefunden lmms::VecControls - Display persistence amount - + Persistenzmenge anzeigen - Logarithmic scale - + Logarithmische Skala - High quality - + Hoche Qualität lmms::VestigeInstrument - Loading plugin - + Lade Plugin + + + Please wait while loading VST-plugin... + Bitte warten, während das VST-Plugin geladen wird … - Please wait while loading the VST plugin... - + Bitte warten, während das VST-Plugin geladen wird … lmms::Vibed - String %1 volume - + Saite-%1-Lautstärke - String %1 stiffness - + Saite-%1-Härte - Pick %1 position - + Zupf-Position %1 - Pickup %1 position - + Abnehmer-Position %1 - - String %1 panning - + Pan %1 + Balance %1 - - String %1 detune - + Detune %1 + Verstimmung %1 - - String %1 fuzziness - + Fuzziness %1 + Unschärfe %1 - - String %1 length - + Length %1 + Länge %1 - Impulse %1 - + Impuls %1 + + + Octave %1 + Oktave %1 + + + String %1 panning + Saite-%1-Balance + + + String %1 detune + Saite-%1-Verstimmung + + + String %1 fuzziness + Saite-%1-Unschärfe + + + String %1 length + Saite-%1-Länge - String %1 - + Saite %1 lmms::VoiceObject - Voice %1 pulse width - + Stimme %1 Pulsweite - Voice %1 attack - + Stimme %1 Anschwellzeit - Voice %1 decay - + Stimme %1 Abfallzeit - Voice %1 sustain - + Stimme %1 Haltepegel - Voice %1 release - + Stimme %1 Release - Voice %1 coarse detuning - + Stimme %1 Grobverstimmung - Voice %1 wave shape - + Stimme %1 Wellenform - Voice %1 sync - + Stimme %1 Sync - Voice %1 ring modulate - + Stimme %1 Ringmodulation - Voice %1 filtered - + Stimme %1 gefiltert - Voice %1 test - + Stimme %1 Test lmms::VstPlugin - - - The VST plugin %1 could not be loaded. - - - - - Open Preset - - - - - - VST Plugin Preset (*.fxp *.fxb) - - - - - : default - - - - - Save Preset - - - - - .fxp - - - - - .FXP - - - - - .FXB - - - - - .fxb - - - - Loading plugin - + Lade Plugin + + + Open Preset + Preset öffnen + + + Vst Plugin Preset (*.fxp *.fxb) + VST-Plugin-Preset (*.fxp *.fxb) + + + : default + : Standard + + + " + " + + + ' + ' + + + Save Preset + Preset speichern + + + .fxp + .fxp + + + .FXP + .FXP + + + .FXB + .FXB + + + .fxb + .fxb - Please wait while loading VST plugin... - + Bitte warten, während das VST-Plugin geladen wird … + + + The VST plugin %1 could not be loaded. + Das VST-Plugin %1 konnte nicht geladen werden. + + + VST Plugin Preset (*.fxp *.fxb) + VST-Plugin-Preset (*.fxp *.fxb) lmms::WatsynInstrument - Volume A1 - + Lautstärke A1 - Volume A2 - + Lautstärke A2 - Volume B1 - + Lautstärke B1 - Volume B2 - + Lautstärke B2 - Panning A1 - + Balance A1 - Panning A2 - + Balance A2 - Panning B1 - + Balance B1 - Panning B2 - + Balance B2 - Freq. multiplier A1 - + Frequenzmultiplikator-A1 - Freq. multiplier A2 - + Frequenzmultiplikator-A2 - Freq. multiplier B1 - + Frequenzmultiplikator-B1 - Freq. multiplier B2 - + Frequenzmultiplikator-B2 - Left detune A1 - + Links-Verstimmung A1 - Left detune A2 - + Links-Verstimmung A2 - Left detune B1 - + Links-Verstimmung B1 - Left detune B2 - + Links-Verstimmung B2 - Right detune A1 - + Rechts-Verstimmung A1 - Right detune A2 - + Rechts-Verstimmung A2 - Right detune B1 - + Rechts-Verstimmung B1 - Right detune B2 - + Rechts-Verstimmung B2 - A-B Mix - + A-B-Mischung - A-B Mix envelope amount - + A-B-Mischungshüllkurvenintensität - A-B Mix envelope attack - + A-B-Mischungshüllkurvenanschwellzeit - A-B Mix envelope hold - + A-B-Mischungshüllkurvenhaltezeit - A-B Mix envelope decay - + A-B-Mischungshüllkurvenabfallzeit - A1-B2 Crosstalk - + A1-B2-Überlagerung - A2-A1 modulation - + A2-A1-Modulation - B2-B1 modulation - + B2-B1-Modulation - Selected graph - + Ausgewählter Graph lmms::WaveShaperControls - Input gain - + Eingangsverstärkung - Output gain - + Ausgabeverstärkung lmms::Xpressive - Selected graph - + Ausgewählter Graph - A1 - + A1 - A2 - + A2 - A3 - + A3 - W1 smoothing - + W1-Glättung - W2 smoothing - + W2-Glättung - W3 smoothing - + W3-Glättung - Panning 1 - + Balance 1 - Panning 2 - + Balance 2 - Rel trans - + Rel.-Überg. lmms::ZynAddSubFxInstrument - Portamento - + Portamento - - Filter frequency - + Filter Frequency + Filterfrequenz - - Filter resonance - + Filter Resonance + Filterresonanz - Bandwidth - + Bandbreite + + + FM Gain + FM-Verstärkung + + + Resonance Center Frequency + Zentrale Resonanzfrequenz + + + Resonance Bandwidth + Resonanzbandbreite + + + Forward MIDI Control Change Events + MIDI-Control-Change-Ereignisse weiterleiten + + + Filter frequency + Filterfrequenz + + + Filter resonance + Filterresonanz - FM gain - + FM-Verstärkung - Resonance center frequency - + Zentrale Resonanzfrequenz - Resonance bandwidth - + Resonanzbandbreite - Forward MIDI control change events - + MIDI-Steuerungsänderungs-Ereignisse weiterleiten lmms::graphModel - Graph - + Graph lmms::gui::AmplifierControlDialog - VOL - + Lautstärke + LAU - Volume: - + Lautstärke: - PAN - + Balance + BAL - Panning: - + Balance: - LEFT - + LINKS - Left gain: - + Linke Verstärkung: - RIGHT - + RECHTS - Right gain: - + Rechte Verstärkung: lmms::gui::AudioAlsaSetupWidget - - Device - + DEVICE + GERÄT + + + CHANNELS + KANÄLE + + + Device + Gerät - Channels - + Kanäle lmms::gui::AudioFileProcessorView - - Open sample - + Open other sample + Anderes Sample öffnen + + + Click here, if you want to open another audio-file. A dialog will appear where you can select your file. Settings like looping-mode, start and end-points, amplify-value, and so on are not reset. So, it may not sound like the original sample. + Klicken Sie hier, um eine andere Audio-Datei zu öffnen. Danach erscheint ein Dialog, in dem Sie Ihre Datei wählen können. Einstellungen wie Wiederhol-Modus, Start- und Endpunkt sowie Verstärkung werden nicht zurückgesetzt, weshalb die Datei möglicherweise nicht wie das Original klingt. - Reverse sample - + Sample umkehren - - Disable loop - + If you enable this button, the whole sample is reversed. This is useful for cool effects, e.g. a reversed crash. + Wenn Sie diesen Knopf aktivieren, wird das gesamte Sample umgekehrt. Das kann nützlich für coole Effekte sein, wie z.B. ein umgekehrter Crash. - - Enable loop - - - - - Enable ping-pong loop - - - - - Continue sample playback across notes - - - - Amplify: - + Verstärkung: - - Start point: - + With this knob you can set the amplify ratio. When you set a value of 100% your sample isn't changed. Otherwise it will be amplified up or down (your actual sample-file isn't touched!) + Mit diesem Regler können Sie die Verstärkungsrate festlegen. Wenn Sie einen Wert von 100 % setzen, wird das Sample nicht geändert. Ansonsten wird es hoch oder runter verstärkt (Ihre Audio-Datei wird dabei nicht verändert!) - - End point: - + Startpoint: + Startpunkt: + + + Endpoint: + Endpunkt: + + + Continue sample playback across notes + Samplewiedergabe über Noten hinweg fortsetzen + + + Enabling this option makes the sample continue playing across different notes - if you change pitch, or the note length stops before the end of the sample, then the next note played will continue where it left off. To reset the playback to the start of the sample, insert a note at the bottom of the keyboard (< 20 Hz) + Wenn Sie diese Option aktivieren, wird das Sample über verschiedene Noten weitergespielt. Wenn Sie die Tonhöhe ändern oder die Note endet, bevor das Ende des Samples erreicht ist, dann fängt die nächste Note da an, wo aufgehört wurde. Um die Wiedergabe an den Anfang des Samples zurückzusetzen, fügen Sie eine Note am unteren Ende des Keyboards ein (< 20Hz) + + + Disable loop + Schleife deaktivieren + + + This button disables looping. The sample plays only once from start to end. + Dieser Knopf deaktiviert die Schleife. Das Sample wird nur einmal vom Anfang bis zum Ende wiedergegeben. + + + Enable loop + Schleife aktivieren + + + This button enables forwards-looping. The sample loops between the end point and the loop point. + Dieser Knopf aktiviert die Vorwärtsschleife. Das Sample wird zwischen dem Endpunkt und dem Schleifenpunkt wiederholt. + + + This button enables ping-pong-looping. The sample loops backwards and forwards between the end point and the loop point. + Dieser Knopf aktiviert die Ping-Pong-Schleife. Das Sample wird zwischen dem Endpunkt und dem Schleifenpunkt rückwärts und vorwärts wiederholt. + + + With this knob you can set the point where AudioFileProcessor should begin playing your sample. + Mit diesem Regler können Sie festlegen, wo AudioFileProcessor anfangen soll, Ihr Sample zu spielen. + + + With this knob you can set the point where AudioFileProcessor should stop playing your sample. + Mit diesem Regler können Sie festlegen, wo AudioFileProcessor aufhören soll, Ihr Sample zu spielen. - Loopback point: - + Schleifenrückkehrpunkt: + + + With this knob you can set the point where the loop starts. + Mit diesem Regler können Sie festlegen, wo die Schleife beginnt. + + + Open sample + Sample öffnen + + + Enable ping-pong loop + Ping-Pong-Schleife aktivieren + + + Start point: + Startpunkt: + + + End point: + Endpunkt: lmms::gui::AudioFileProcessorWaveView - Sample length: - + Samplelänge: lmms::gui::AutomationClipView - Open in Automation editor - + Im Automations-Editor öffnen - Clear - + Leeren - Reset name - + Name zurücksetzen - Change name - + Name ändern - Set/clear record - + Aufnahme setzen/löschen - Flip Vertically (Visible) - + Vertikal spiegeln (Sichtbar) - Flip Horizontally (Visible) - + Horizontal spiegeln (Sichtbar) - %1 Connections - + %1 Verbindungen - Disconnect "%1" - + »%1« trennen - Model is already connected to this clip. - + Modell ist bereits mit diesem Clip verbunden. lmms::gui::AutomationEditor - Edit Value - + Wert bearbeiten - New outValue - + Neuer outValue - New inValue - + Neuer inValue - Please open an automation clip by double-clicking on it! - + Bitte öffnen Sie einen Automations-Clip, indem Sie ihn doppelklicken! lmms::gui::AutomationEditorWindow - - Play/pause current clip (Space) - + Play/pause current pattern (Space) + Aktuelles Pattern abspielen/pausieren (Leertaste) - - Stop playing of current clip (Space) - + Click here if you want to play the current pattern. This is useful while editing it. The pattern is automatically looped when the end is reached. + Klicken Sie hier, wenn Sie das aktuelle Pattern spielen wollen. Das ist nützlich beim Bearbeiten. Das Pattern wird automatisch wiederholt, wenn das Ende erreicht ist. - - Edit actions - + Stop playing of current pattern (Space) + Abspielen des aktuellen Patterns stoppen (Leertaste) + + + Click here if you want to stop playing of the current pattern. + Klicken Sie hier, wenn Sie das Abspielen des aktuellen Patterns stoppen wollen. - Draw mode (Shift+D) - + Zeichnenmodus (Umschalt+D) - Erase mode (Shift+E) - + Radiermodus (Umschalt+E) - - Draw outValues mode (Shift+C) - - - - - Edit tangents mode (Shift+T) - - - - Flip vertically - + Vertikal spiegeln - Flip horizontally - + Horizontal spiegeln - - Interpolation controls - + Click here and the pattern will be inverted.The points are flipped in the y direction. + Klicken Sie hier und das Pattern wird invertiert. Die Punkte werden in Y-Richtung umgekehrt. + + + Click here and the pattern will be reversed. The points are flipped in the x direction. + Klicken Sie hier und das Pattern wird umgekehrt. Die Punkte werden in X-Richtung umgekehrt. + + + Click here and draw-mode will be activated. In this mode you can add and move single values. This is the default mode which is used most of the time. You can also press 'Shift+D' on your keyboard to activate this mode. + Klicken Sie hier, um den Zeichnenmodus zu aktivieren. In diesem Modus können Sie einzelne Werte hinzufügen und verschieben. Das ist der Standard-Modus, der meistens benutzt wird. Sie können auch »Umschalt+D« auf Ihrer Tastatur drücken, um in diesen Modus zu gelangen. + + + Click here and erase-mode will be activated. In this mode you can erase single values. You can also press 'Shift+E' on your keyboard to activate this mode. + Klicken Sie hier, um den Radiermodus zu aktivieren. In diesem Modus können Sie einzelne Werte löschen. Sie können auch »Umschalt+E« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. - Discrete progression - + Diskretes Fortschreiten - Linear progression - + Lineares Fortschreiten - Cubic Hermite progression - + Benannt nach Charles Hermit + Kubisch hermitesches Fortschreiten - Tension value for spline - + Spannungswert für Spline + + + A higher tension value may make a smoother curve but overshoot some values. A low tension value will cause the slope of the curve to level off at each control point. + Ein höherer Spannungswert erzeugt vielleicht eine glattere Kurve aber neigt zum Überschwingen. Ein niederer Spannungswert wird die Kurve über jeden Kontrollpunkt legen. + + + Click here to choose discrete progressions for this automation pattern. The value of the connected object will remain constant between control points and be set immediately to the new value when each control point is reached. + Klicken Sie hier, um diskretes Fortschreiten als Automationsmuster auszuwählen. Der Wert des verbundenen Objekts bleibt konstant zwischen den Kontrollpunkten und wird sofort auf den neuen Wert gesetzt, wenn ein Kontrollpunkt erreicht wird. + + + Click here to choose linear progressions for this automation pattern. The value of the connected object will change at a steady rate over time between control points to reach the correct value at each control point without a sudden change. + Klicken Sie hier, um lineares Fortschreiten als Automationsmuster auszuwählen. Der Wert des verbundenen Objekts wird über die Zeit kontinuierlich zwischen Kontrollpunkten auf den korrekten Wert am jeweiligen Kontrollpunkt geändert, ohne plötzliche Änderungen. + + + Click here to choose cubic hermite progressions for this automation pattern. The value of the connected object will change in a smooth curve and ease in to the peaks and valleys. + Ja, es heißt wirklich »hermitisch«, nicht »hermetisch«. Es ist benannt nach Charles Hermit. + Klicken Sie hier, um kubisch hermitisches Fortschreiten als Automationsmuster auszuwählen. Der Wert des verbundenen Objekts wird in einer nahtlosen Kurve geändert und in Spitzen und Täler übergehen. + + + Cut selected values (%1+X) + Ausgewählte Werte ausschneiden (%1+X) + + + Copy selected values (%1+C) + Ausgewählte Werte kopieren (%1+C) + + + Paste values from clipboard (%1+V) + Werte aus Zwischenablage einfügen (%1+V) + + + Click here and selected values will be cut into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. + Klicken Sie hier, um die markierten Werte auszuschneiden und in die Zwischenablage zu kopieren. Sie können diese dann überall, auch in einem anderen Pattern, wieder einfügen, indem Sie auf den Einfügen-Knopf klicken. + + + Click here and selected values will be copied into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. + Klicken Sie hier, um die markierten Werte in die Zwischenablage zu kopieren. Sie können diese dann überall, auch in einem anderen Pattern, wieder einfügen, indem Sie auf den Einfügen-Knopf klicken. + + + Click here and the values from the clipboard will be pasted at the first visible measure. + Klicken Sie hier, um die Werte in der Zwischenablage im ersten sichtbaren Takt einzufügen. - Tension: - + Spannung: - - Zoom controls - + Automation Editor - no pattern + Automations-Editor – Kein Pattern - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization controls - - - - - Quantization - - - - - Clear ghost notes - - - - - - Automation Editor - no clip - - - - - Automation Editor - %1 - + Automations-Editor – %1 + + + Edit actions + Aktionen bearbeiten + + + Interpolation controls + Interpolationsregler + + + Timeline controls + Zeitachsensteuerung + + + Zoom controls + Zoom-Regler + + + Quantization controls + Quantisierungssteuerung + + + Model is already connected to this pattern. + Modell ist bereits mit diesem Pattern verbunden. + + + Play/pause current clip (Space) + Aktuellen Clip abspielen/pausieren (Leertaste) + + + Stop playing of current clip (Space) + Wiedergabe des aktuellen Clips stoppen (Leertaste) + + + Draw outValues mode (Shift+C) + outValues-Zeichnen-Modus (Umschalt+C) + + + Edit tangents mode (Shift+T) + Tangenten-Bearbeiten-Modus (Umschalt+T) + + + Horizontal zooming + Horizontales zoomen + + + Vertical zooming + Vertikales zoomen + + + Quantization + Quantisierung + + + Clear ghost notes + Geistnoten leeren + + + Automation Editor - no clip + Automations-Editor – kein Clip - Model is already connected to this clip. - + Modell ist bereits mit diesem Clip verbunden. lmms::gui::BassBoosterControlDialog - FREQ - + FREQ - Frequency: - + Frequenz: - GAIN - + Verstärkung + VRST - Gain: - + Verstärkung: - RATIO - + Verhältnis + VERHÄ - Ratio: - + Verhältnis: lmms::gui::BitInvaderView - - Sample length - + Sample Length + Sample-Länge - - Draw your own waveform here by dragging your mouse on this graph. - - - - - Sine wave - + Sinuswelle - - Triangle wave - + Dreieckwelle - - Saw wave - + Sägezahnwelle - - Square wave - + Rechteckwelle - - - White noise - + White noise wave + Weißes Rauschen - - - User-defined wave - + User defined wave + Benutzerdefinierte Welle - - - Smooth waveform - + Smooth + Glätten + + + Click here to smooth waveform. + Klicken Sie hier, um die Wellenform zu glätten. - Interpolation - + Interpolation - Normalize - + Normalisieren + + + Draw your own waveform here by dragging your mouse on this graph. + Zeichnen Sie eigene Wellenformen, indem Sie die Maus über den Graph ziehen. + + + Click for a sine-wave. + Klick für eine Sinuswelle. + + + Click here for a triangle-wave. + Klick für eine Dreieckwelle. + + + Click here for a saw-wave. + Klick für eine Sägezahnwelle. + + + Click here for a square-wave. + Klick für eine Rechteckwelle. + + + Click here for white-noise. + Klick für weißes Rauschen. + + + Click here for a user-defined shape. + Klick für eine benutzerdefinierte Wellenform. + + + Sample length + Samplelänge + + + White noise + Weißes Rauschen + + + User-defined wave + Benutzerdefinierte Welle + + + Smooth waveform + Wellenform glätten lmms::gui::BitcrushControlDialog - IN - + EIN - OUT - + AUS - - GAIN - + Verstärkung + VRST - - Input gain: - + Input Gain: + Eingangsverstärkung: - - NOISE - + NOIS + Rauschen + RSCH - - Input noise: - + Input Noise: + Eingangsrauschen: - - Output gain: - + Output Gain: + Ausgabeverstärkung: - CLIP - + CLIP - - Output clip: - + Output Clip: + Ausgang begrenzen (clipping): - - Rate enabled - + Rate + Rate - - Enable sample-rate crushing - + Rate Enabled + Rate aktiviert - - Depth enabled - + Enable samplerate-crushing + Sampleraten-Crushing aktivieren - - Enable bit-depth crushing - + Depth + Tiefe - - FREQ - + Depth Enabled + Tiefe eingeschaltet + + + Enable bitdepth-crushing + Bittiefen-Crushing aktivieren - Sample rate: - + Sample-Rate: - - STEREO - + STD + Stereo-Unterschied + STU - Stereo difference: - + Stereo-Unterschied: - - QUANT - + Levels + Stärke - Levels: - + Stärke: + + + Input gain: + Eingangsverstärkung: + + + NOISE + Rauschen + RAUSC + + + Input noise: + Eingangsrauschen: + + + Output gain: + Ausgabeverstärkung: + + + Output clip: + Ausgang begrenzen (clipping): + + + Rate enabled + Rate aktiviert + + + Enable sample-rate crushing + Sampleraten-Crushing aktivieren + + + Depth enabled + Tiefe aktiviert + + + Enable bit-depth crushing + Bittiefen-Crushing aktivieren + + + FREQ + FREQ + + + STEREO + STEREO + + + QUANT + QUANT lmms::gui::CPULoadWidget - DSP total: %1% - + DSP gesamt: %1 % - - Notes and setup: %1% - + - Noten und Einrichtung: %1 % - - Instruments: %1% - + - Instrumente: %1 % - - Effects: %1% - + - Effekte: %1 % - - Mixing: %1% - + - Mischen: %1 % lmms::gui::CarlaInstrumentView - Show GUI - + GUI anzeigen - Click here to show or hide the graphical user interface (GUI) of Carla. - + Klicken Sie hier, um die grafische Oberfläche von Carla anzuzeigen bzw. auszublenden. - Params - + Parameter - Available from Carla version 2.1 and up. - + Verfügbar ab Carla Version 2.1 aufwärts. lmms::gui::CarlaParamsView - Search.. - + Suchen … - Clear filter text - + Filtertext leeren - Only show knobs with a connection. - + Nur Regler mit einer Verbindng anzeigen. - - Parameters - + - Parameter lmms::gui::ClipView - Current position - + Aktuelle Position - Current length - + Aktuelle Länge - - %1:%2 (%3:%4 to %5:%6) - + %1:%2 (%3:%4 bis %5:%6) - Press <%1> and drag to make a copy. - + <%1> drücken und ziehen, um eine Kopie zu erstellen. - Press <%1> for free resizing. - + <%1> drücken für freie Größenänderung. - Hint - + Tipp - Delete (middle mousebutton) - + Löschen (mittlere Maustaste) - Delete selection (middle mousebutton) - + Auswahl löschen (mittlere Maustaste) - Cut - + Ausschneiden - Cut selection - + Auswahl ausschneiden - Merge Selection - + Auswahl zusammenführen - Copy - + Kopieren - Copy selection - + Auswahl kopieren - Paste - + Einfügen - Mute/unmute (<%1> + middle click) - + Stumm/Laut schalten (<%1> + Mittelklick) - Mute/unmute selection (<%1> + middle click) - + Auswahl stummschalten / Stummschaltung aufheben (<%1> + Mittelklick) - Clip color - + Clip-Farbe - Change - + Ändern - Reset - + Zurücksetzen - Pick random - + Zufällig wählen lmms::gui::CompressorControlDialog - Threshold: - + Schwellwert: - Volume at which the compression begins to take place - + Lautstärke, bei der die Kompression anfängt - Ratio: - + Verhältnis: - How far the compressor must turn the volume down after crossing the threshold - + Wie weit der Kompressor die Lautstärke verringern nach Überschreiten des Schwellwert verringern muss - Attack: - + Anschwellzeit (attack): - Speed at which the compressor starts to compress the audio - + Geschwindigkeit, bei welcher der Kompressor anfängt, das Audio zu komprimieren - Release: - + Ausklingzeit (release): - Speed at which the compressor ceases to compress the audio - + Geschwindigkeit, mit der der Kompressor aufhört, das Audio zu komprimieren - Knee: - + Knee: - Smooth out the gain reduction curve around the threshold - + Die Verstärkungsreduktionskurve um den Schwellwert herum glätten - Range: - + Bereich: - Maximum gain reduction - + Maximale Verstärkungsreduktion - Lookahead Length: - + Lookahead-Länge: - How long the compressor has to react to the sidechain signal ahead of time - + Wie viel Zeit der Kompressor hat, um vorzeitig auf das Sidechain-Signal zu reagieren - Hold: - + Haltezeit (hold): - Delay between attack and release stages - + Verzögerung zwischen Attack- und Release - RMS Size: - + RMS-Größe: - Size of the RMS buffer - + Größe des RMS-Puffers - Input Balance: - + Eingangsbalance: - Bias the input audio to the left/right or mid/side - + - Output Balance: - + Ausgangsbalance: - Bias the output audio to the left/right or mid/side - + - Stereo Balance: - + Stereobalance: - Bias the sidechain signal to the left/right or mid/side - + - Stereo Link Blend: - + Stereoverknüpfungsüberblendung: - Blend between unlinked/maximum/average/minimum stereo linking modes - + Zwischen den Stereoverknüpfungsmodi Unverknüpft/Maximum/Durchschnitt/Minimum überblenden - Tilt Gain: - + - Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - + - Tilt Frequency: - + - Center frequency of sidechain tilt filter - + - Mix: - + Mischen: - Balance between wet and dry signals - + Balance zwischen Wet- und Dry-Signalen - Auto Attack: - + Auto-Attack: - Automatically control attack value depending on crest factor - + - Auto Release: - + Auto-Release: - Automatically control release value depending on crest factor - + - Output gain - + Ausgabeverstärkung - - Gain - + Verstärkung - Output volume - + Ausgangslautstärke - Input gain - + Eingangsverstärkung - Input volume - + Eingangslautstärke - Root Mean Square - + Quadratmittel (RMS) - Use RMS of the input - + RMS des Eingangs benutzen - Peak - + Peak - Use absolute value of the input - + Absolutwert des Eingangs benutzen - Left/Right - + Links/Rechts - Compress left and right audio - + Linkes und rechtes Audio komprimieren - Mid/Side - + Mid/Größe - Compress mid and side audio - + - Compressor - + Kompressor - Compress the audio - + Audio komprimieren - Limiter - + Begrenzer - Set Ratio to infinity (is not guaranteed to limit audio volume) - + Verhältnis auf unendlich setzen (es ist nicht garantiert, dass die Audiolautstärke begrenzt wird) - Unlinked - + Unverknüpft - Compress each channel separately - + Jeden Kanal separat komprimieren - Maximum - + Maximum - Compress based on the loudest channel - + Basierend auf dem lautesten Kanal komprimieren - Average - + Durchschnitt - Compress based on the averaged channel volume - + Basierend auf der durchschnittlichen Kanallautstärke komprimieren - Minimum - + Minimum - Compress based on the quietest channel - + Basierend auf dem leisesten Kanal komprimieren - Blend - + Überblenden - Blend between stereo linking modes - + Zwischen den Stereoverknüpfungsmodi überblenden - Auto Makeup Gain - + Auto-Makeup-Verstärkung - Automatically change makeup gain depending on threshold, knee, and ratio settings - + - - Soft Clip - + - Play the delta signal - + Das Deltasignal abspielen - Use the compressor's output as the sidechain input - + Den Ausgang des Kompressors als den Sidechain-Eingang benutzen - Lookahead Enabled - + Lookahead aktiviert - Enable Lookahead, which introduces 20 milliseconds of latency - + Lookahead aktivieren, was eine Latenz von 20 Millisekunden hinzufügt lmms::gui::ControllerConnectionDialog - Connection Settings - + Verbindungseinstellungen - MIDI CONTROLLER - + MIDI-CONTROLLER - Input channel - + Eingangskanal - CHANNEL - + KANAL - Input controller - + Eingangscontroller - CONTROLLER - + CONTROLLER - - Auto Detect - + Automatische Erkennung - MIDI-devices to receive MIDI-events from - + MIDI-Geräte, von denen MIDI-Events empfangen werden sollen - USER CONTROLLER - + BENUTZERDEFINIERTER CONTROLLER - MAPPING FUNCTION - + ABBILDUNGSFUNKTION - OK - + OK - Cancel - + Abbrechen - LMMS - + LMMS - Cycle Detected. - + Schleife erkannt. lmms::gui::ControllerRackView - Controller Rack - + Controller-Einheit - Add - + Hinzufügen - Confirm Delete - + Löschen bestätigen - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - + Löschen bestätigen? Es gibt eine oder mehrere existierende Verbindungen, die mit diesem Controller assoziiert sind. Das kann nicht rückgängig gemacht werden. lmms::gui::ControllerView - Controls - + Steuerung - Rename controller - + Controller umbenennen - Enter the new name for this controller - + Geben Sie einen neuen Namen für diesen Controller ein - LFO - + LFO - Move &up - + Nach &oben verschieben - Move &down - + Nach &unten verschieben - &Remove this controller - + Diesen Controller &entfernen - Re&name this controller - + Diesen Controller umbe&nennen lmms::gui::CrossoverEQControlDialog - + Band 1/2 Crossover: + Band 1/2 Crossover: + + + Band 2/3 Crossover: + Band 2/3 Crossover: + + + Band 3/4 Crossover: + Band 3/4 Crossover: + + + Band 1 Gain: + Band 1 Verstärkung: + + + Band 2 Gain: + Band 2 Verstärkung: + + + Band 3 Gain: + Band 3 Verstärkung: + + + Band 4 Gain: + Band 4 Verstärkung: + + + Band 1 Mute + Band 1 stumm + + + Mute Band 1 + Band 1 stumm + + + Band 2 Mute + Band 2 stumm + + + Mute Band 2 + Band 2 stumm + + + Band 3 Mute + Band 3 stumm + + + Mute Band 3 + Band 3 stumm + + + Band 4 Mute + Band 4 stumm + + + Mute Band 4 + Band 4 stumm + + Band 1/2 crossover: - + Band-1/2-Crossover: - Band 2/3 crossover: - + Band-2/3-Crossover: - Band 3/4 crossover: - + Band-3/4-Crossover: - Band 1 gain - + Band-1-Verstärkung - Band 1 gain: - + Band-1-Verstärkung: - Band 2 gain - + Band-2-Verstärkung - Band 2 gain: - + Band-2-Verstärkung: - Band 3 gain - + Band-3-Verstärkung: - Band 3 gain: - + Band-3-Verstärkung: - Band 4 gain - + Band-4-Verstärkung - Band 4 gain: - + Band-4-Verstärkung: - Band 1 mute - + Band 1 stumm - Mute band 1 - + Band 1 stumm - Band 2 mute - + Band 2 stumm - Mute band 2 - + Band 2 stumm - Band 3 mute - + Band 3 stumm - Mute band 3 - + Band 3 stumm - Band 4 mute - + Band 4 stumm - Mute band 4 - + Band 4 stumm lmms::gui::DelayControlsDialog - - DELAY - + Lfo Amt + LFO-Stärke - - Delay time - + Delay Time + Verzögerungszeit - - FDBK - + Feedback Amount + Rückkopplungsstärke - - Feedback amount - + Lfo + LFO - - RATE - + Out Gain + Aus-Verst. - - LFO frequency - - - - - AMNT - - - - - LFO amount - - - - - Out gain - - - - Gain - + Verstärkung + + + DELAY + Verzögerung + VERZÖ + + + FDBK + Rückkopplung + RÜKO + + + RATE + RATE + + + AMNT + Stärke + STÄ + + + Delay time + Verzögerungszeit + + + Feedback amount + Rückkopplungsstärke + + + LFO frequency + LFO-Frequenz + + + LFO amount + LFO-Stärke + + + Out gain + Aus-Verst. lmms::gui::DispersionControlDialog - AMOUNT - + STÄRKE - Number of all-pass filters - + Anzahl der Allpassfilter - FREQ - + FREQ - Frequency: - + Frequenz: - RESO - + RESO - Resonance: - + Resonanz: - FEED - + RÜKO - Feedback: - + Rückkopplung: - DC Offset Removal - + DC-Offset-Entfernung - Remove DC Offset - + DC-Offset entfernen lmms::gui::DualFilterControlDialog - - - FREQ - - - - - - Cutoff frequency - - - - - - RESO - - - - - - Resonance - - - - - - GAIN - - - - - - Gain - - - - - MIX - - - - - Mix - - - - Filter 1 enabled - + Filter 1 aktiviert - Filter 2 enabled - + Filter 2 aktiviert + + + Click to enable/disable Filter 1 + Klicken, um Filter 1 zu aktivieren/deaktivieren + + + Click to enable/disable Filter 2 + Klicken, um Filter 2 zu aktivieren/deaktivieren + + + FREQ + FREQ + + + Cutoff frequency + Kennfrequenz + + + RESO + RESO + + + Resonance + Resonanz + + + GAIN + Verstärkung + VRST + + + Gain + Verstärkung + + + MIX + MIX + + + Mix + Mischung - Enable/disable filter 1 - + Filter 1 aktivieren/deaktivieren - Enable/disable filter 2 - + Filter 2 aktivieren/deaktivieren lmms::gui::DynProcControlDialog - INPUT - + EING - Input gain: - + Eingangsverstärkung: - OUTPUT - + AUSG - Output gain: - + Ausgabeverstärkung: - ATTACK - + ATTACK - Peak attack time: - + Spitzen-Anschwellzeit: - RELEASE - + RELEASE - Peak release time: - + Spitzen-Ausklingzeit: - - - Reset wavegraph - + Reset waveform + Wellenform zurücksetzen - - - Smooth wavegraph - + Click here to reset the wavegraph back to default + Klicken Sie hier, um den Wellengraph zum Standard zurückzusetzen - - - Increase wavegraph amplitude by 1 dB - + Smooth waveform + Wellenform glätten - - - Decrease wavegraph amplitude by 1 dB - + Click here to apply smoothing to wavegraph + Klicken Sie hier, um den Wellengraph zu glätten - - Stereo mode: maximum - + Increase wavegraph amplitude by 1dB + Die Amplitude des Wellengraphs um 1dB erhöhen + + + Click here to increase wavegraph amplitude by 1dB + Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu erhöhen + + + Decrease wavegraph amplitude by 1dB + Die Amplitude des Wellengraphs um 1dB vermindern + + + Click here to decrease wavegraph amplitude by 1dB + Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu vermindern + + + Stereomode Maximum + Stereomodus Maximum - Process based on the maximum of both stereo channels - + Basierend auf dem Maximum beider Stereokanäle verarbeiten - - Stereo mode: average - + Stereomode Average + Stereomodus Durchschnitt - Process based on the average of both stereo channels - + Basierend auf dem Durchschnitt beider Stereokanäle verarbeiten - - Stereo mode: unlinked - + Stereomode Unlinked + Stereomodus Unverknüpft - Process each stereo channel independently - + Jeden Stereokanal unabhängig verarbeiten + + + Reset wavegraph + Wellenform zurücksetzen + + + Smooth wavegraph + Wellenform glätten + + + Increase wavegraph amplitude by 1 dB + Die Amplitude des Wellengraphs um 1dB erhöhen + + + Decrease wavegraph amplitude by 1 dB + Die Amplitude des Wellengraphs um 1dB vermindern + + + Stereo mode: maximum + Stereomodus: maximum + + + Stereo mode: average + Stereomodus: Durchschnitt + + + Stereo mode: unlinked + Stereomodus: unverknüpft + + + + lmms::gui::DynProcControls + + Input gain + Eingangsverstärkung + + + Output gain + Ausgabeverstärkung + + + Attack time + Anschwellzeit + + + Release time + Ausklingzeit + + + Stereo mode + Stereomodus lmms::gui::Editor - - Transport controls - - - - Play (Space) - + Abspielen (Leertaste) - Stop (Space) - + Stopp (Leertaste) - Record - + Aufnahme - Record while playing - + Aufnahme beim Abspielen + + + Transport controls + Transportsteuerung - Toggle Step Recording - + Schrittaufnahme umschalten lmms::gui::EffectRackView - EFFECTS CHAIN - + EFFEKT-KETTE - Add effect - + Effekt hinzufügen lmms::gui::EffectSelectDialog - Add effect - + Effekt hinzufügen - - Name - + Name - Type - + Typ - All - + Alle - Search - + Suchen - Description - + Beschreibung - Author - + Autor lmms::gui::EffectView - On/Off - + Ein/Aus - W/D - + W/D - Wet Level: - + Wet-Level: - DECAY - + DECAY - Time: - + Zeit: - GATE - + GATE - Gate: - + Gate: - Controls - + Regler - Move &up - + Nach &oben verschieben - Move &down - + Nach &unten verschieben - &Remove this plugin - + Plugin entfe&rnen lmms::gui::EnvelopeAndLfoView - - AMT - + INT - - Modulation amount: - + Modulationsintensität: - - DEL - + DEL - - Pre-delay: - + Vorverzögerung: - - ATT - + ATT - - Attack: - + Anschwellzeit (attack): - HOLD - + HOLD - Hold: - + Haltezeit (hold): - DEC - + DEC - Decay: - + Abfallzeit (decay): - SUST - + SUST - Sustain: - + Dauerpegel (sustain): - REL - + REL - Release: - + Ausklingzeit (release): - SPD - + GSW - Frequency: - + Frequenz: - FREQ x 100 - + FREQ ×100 - Multiply LFO frequency by 100 - + LFO-Frequenz mit 100 multiplizieren - MOD ENV AMOUNT - + HÜLLK.INT. MOD. - Control envelope amount by this LFO - + Hüllkurvenintensität mit dieser LFO steuern - Hint - + Tipp - Drag and drop a sample into this window. - + Ziehen und legen Sie ein Sample in diesem Fenster ab. lmms::gui::EnvelopeGraph - Scaling - + Skalierung - Dynamic - + Dynamisch - Uses absolute spacings but switches to relative spacing if it's running out of space - + Benutzt absolute Abstände aber wechselt zu relativen Abständen, wenn kein Platz mehr da ist - Absolute - + Absolut - Provides enough potential space for each segment but does not scale - + Bietet genug potentiellen Platz für jedes Segment, aber skaliert nicht - Relative - + Relativ - Always uses all of the available space to display the envelope graph - + Benutzt immer den gesamten verfügbaren Platz, um den Hüllkurvengraphen anzuzeigen lmms::gui::EqControlsDialog - HP - + HP - - Low-shelf - + Low Shelf + Low Shelf - Peak 1 - + Peak 1 - Peak 2 - + Peak 2 - Peak 3 - + Peak 3 - Peak 4 - + Peak 4 - - High-shelf - + High Shelf + High Shelf - LP - + Tiefpass + TP - - Input gain - + In Gain + Ein-Verst. - - - Gain - + Verstärkung - - Output gain - + Out Gain + Aus-Verst. - Bandwidth: - + Bandbreite: - - Octave - + Resonance : + Resonanz: - - Resonance: - - - - Frequency: - + Frequenz: + + + Octave + Oktave + + + Low-shelf + + + + High-shelf + + + + Input gain + Eingangsverstärkung + + + Output gain + Ausgabeverstärkung + + + Resonance: + Resonanz: - LP group - + TP-Gruppe - HP group - + HP-Gruppe lmms::gui::EqHandle - Reso: - + Reso: - BW: - + Bandbreite + BB: - - Freq: - + Freq: lmms::gui::ExportProjectDialog - Could not open file - + Konnte Datei nicht öffnen - Could not open file %1 for writing. Please make sure you have write permission to the file and the directory containing the file and try again! - + Datei %1 konnte nicht zum Schreiben geöffnet werden. +Bitte stellen Sie sicher, dass Sie Schreibrechte sowohl auf die Datei als auch das Verzeichnis, das sie enthält, haben, und versuchen Sie es erneut! - Export project to %1 - + Projekt nach %1 exportieren - ( Fastest - biggest ) - + ( Schnellstes – größtes ) - ( Slowest - smallest ) - + ( Langsamstes – kleinstes ) - Error - + Fehler - Error while determining file-encoder device. Please try to choose a different output format. - + Fehler beim Bestimmen des Datei-Enkoder-Geräts. Bitte wählen Sie ein anderes Ausgabeformat. - Rendering: %1% - + Rendern: %1 % lmms::gui::Fader - Set value - + Wert setzen - Please enter a new value between %1 and %2: - + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - Volume: %1 dBFS - + Lautstärke: %1 dBFS lmms::gui::FileBrowser - Browser - + Browser - Search - + Suchen - Refresh list - + Liste aktualisieren - User content - + Benutzerinhalt - Factory content - + Mitgelieferter Inhalt - Hidden content - + Versteckter Inhalt lmms::gui::FileBrowserTreeWidget - Send to active instrument-track - + An aktive Instrumentspur senden - Open containing folder - + Enthaltenden Ordner öffnen - Song Editor - + Song-Editor - Pattern Editor - + Pattern-Editor - Send to new AudioFileProcessor instance - + Zu neuer AudioFileProcessor-Instanz senden - Send to new instrument track - + Zu neuer Instrumentspur senden - (%2Enter) - + (%2Enter) - Send to new sample track (Shift + Enter) - + Zu neuer Sample-Spur senden (Umschalt + Enter) - Loading sample - + Sample laden - Please wait, loading sample for preview... - + Bitte warten, lade Sample für Vorschau … - Error - + Fehler - %1 does not appear to be a valid %2 file - + %1 scheint keine gültige »%2«-Datei zu sein - --- Factory files --- - + --- Mitgelieferte Dateien --- lmms::gui::FileDialog - %1 files - + %1-Dateien - All audio files - + Alle Audiodateien - Other files - + Andere Dateien lmms::gui::FlangerControlsDialog - + Delay Time: + Verzögerungszeit: + + + Feedback Amount: + Rückkopplungsstärke: + + + White Noise Amount: + Weißes-Rauschen-Stärke: + + DELAY - + Verzögerung + VERZÖ - - Delay time: - - - - RATE - + RATE - - Period: - + Rate: + Rate: - AMNT - + Stärke + STÄ - Amount: - + Stärke: - - PHASE - - - - - Phase: - - - - FDBK - + Rückkopplung + RÜKO - - Feedback amount: - - - - NOISE - + Rauschen + RAUSC - - White noise amount: - - - - Invert - + Invertieren + + + Delay time: + Verzögerungszeit: + + + Period: + Periode: + + + PHASE + PHASE + + + Phase: + Phase: + + + Feedback amount: + Rückkopplungsstärke: + + + White noise amount: + Weißes-Rauschen-Stärke: lmms::gui::FloatModelEditorBase - Set linear - + Linear einstellen - Set logarithmic - + Logarithmisch einstellen - - Set value - + Wert setzen - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - + Bitte geben Sie einen neuen Wert zwischen -96.0 dBFS und 6.0 dBFS: ein: - Please enter a new value between %1 and %2: - + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: lmms::gui::FreeBoyInstrumentView - Sweep time: - + Streichzeit: - Sweep time - + Streichzeit - Sweep rate shift amount: - + Streichstärkenratenschiebestärke: - Sweep rate shift amount - + Streichstärkenratenschiebestärke - - Wave pattern duty cycle: - + Wellenmustertastgradzyklus: - - Wave pattern duty cycle - + Wellenmustertastgradzyklus - Square channel 1 volume: - + Quadratkanal-1-Lautstärke: - Square channel 1 volume - + Quadratkanal-1-Lautstärke - - - Length of each step in sweep: - + Länge jedes Schritts beim Streichen: - - - Length of each step in sweep - + Länge jedes Schritts beim Streichen - Square channel 2 volume: - + Quadratkanal-2-Lautstärke: - Square channel 2 volume - + Quadratkanal-2-Lautstärke - Wave pattern channel volume: - + Wellenmusterkanallautstärke: - Wave pattern channel volume - + Wellenmusterkanallautstärke - Noise channel volume: - + Rauschkanal-Lautstärke: - Noise channel volume - + Rauschkanal-Lautstärke - SO1 volume (Right): - + SO1-Lautstärke (Rechts): - SO1 volume (Right) - + SO1-Lautstärke (Rechts) - SO2 volume (Left): - + SO2-Lautstärke (Links): - SO2 volume (Left) - + SO2-Lautstärke (Links) - Treble: - + Höhe: - Treble - + Höhe - Bass: - + Bass: - Bass - + Bass - Sweep direction - + Streichrichtung - - - - - Volume sweep direction - + Lautstärken-Streichrichtung - Shift register width - + Schieberegister-Breite - Channel 1 to SO1 (Right) - + Kanal 1 zu SO1 (Rechts) - Channel 2 to SO1 (Right) - + Kanal 2 zu SO1 (Rechts) - Channel 3 to SO1 (Right) - + Kanal 3 zu SO1 (Rechts) - Channel 4 to SO1 (Right) - + Kanal 4 zu SO1 (Rechts) - Channel 1 to SO2 (Left) - + Kanal 1 zu SO2 (Links) - Channel 2 to SO2 (Left) - + Kanal 2 zu SO2 (Links) - Channel 3 to SO2 (Left) - + Kanal 3 zu SO2 (Links) - Channel 4 to SO2 (Left) - + Kanal 4 zu SO2 (Links) - Wave pattern graph - + Wellenmustergraph lmms::gui::GigInstrumentView - - + Open other GIG file + Andere GIG-Datei öffnen + + + Click here to open another GIG file + Hier klicken, um eine andere GIG-Datei zu öffnen + + + Choose the patch + Patch wählen + + + Click here to change which patch of the GIG file to use + Hier klicken, um zu ändern, welcher Patch der GIG-Datei verwendet werden soll + + + Change which instrument of the GIG file is being played + Ändern, welches Instrument der GIG-Datei abgespielt wird + + + Which GIG file is currently being used + Welche GIG-Datei aktuell benutzt wird + + + Which patch of the GIG file is currently being used + Welcher Patch der GIG-Datei aktuell benutzt wird + + + Gain + Verstärkung + + + Factor to multiply samples by + Faktor, mit dem Samples multipliziert werden + + Open GIG file - + GIG-Datei öffnen - - Choose patch - - - - - Gain: - - - - GIG Files (*.gig) - + GIG-Dateien (*.gig) + + + Choose patch + Patch wählen + + + Gain: + Verstärkung: lmms::gui::GranularPitchShifterControlDialog - Grain Size: - + Korngröße: - Spray: - + - Jitter: - + - Twitch: - + - Spray Stereo Spread: - + - Grain Shape: - + Kornform: - Fade Length: - + - Feedback: - + Rückkopplung: - Minimum Allowed Latency: - + Minimale erlaubte Latenz: - Density: - + Dichte: - Glide: - + Gleiten: - - Pitch - + Tonhöhe - - Pitch Stereo Spread - + - Open help window - + Hilfefenster öffnen - - Prefilter - + Vorfilter lmms::gui::GuiApplication - Working directory - + Arbeitsverzeichnis - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - + Das LMMS-Arbeitsverzeichnis %1 existiert nicht. Soll es jetzt erstellt werden? Sie können das Verzeichnis mit Bearbeiten -> Einstellungen ändern. - Preparing UI - + UI vorbereiten - Preparing song editor - + Song-Editor vorbereiten - Preparing mixer - + Mixer vorbereiten - Preparing controller rack - + Controller-Einheit vorbereiten - Preparing project notes - + Projektnotizen vorbereiten - Preparing microtuner - + Mikrotuner vorbereiten - Preparing pattern editor - + Pattern-Editor vorbereiten - Preparing piano roll - + Piano-Roll vorbereiten - Preparing automation editor - + Automations-Editor vorbereiten lmms::gui::InstrumentFunctionArpeggioView - ARPEGGIO - + ARPEGGIO - RANGE - + BEREI - Arpeggio range: - + Arpeggio-Bereich: - octave(s) - + Oktave(n) - REP - + WIE - Note repeats: - + Notenwiederholungen: - time(s) - + mal - CYCLE - + ZYKLUS - Cycle notes: - + Notenzyklus: - note(s) - + Note(n) - SKIP - + ÜBER - Skip rate: - + Übersprungsrate: - - - % - + % - MISS - + FEHL - Miss rate: - + Verfehlrate: - TIME - + ZEIT - Arpeggio time: - + Arpeggio-Zeit: - ms - + ms - GATE - + GATE - Arpeggio gate: - + Arpeggio-Gate: - Chord: - + Akkord: - Direction: - + Richtung: - Mode: - + Modus: lmms::gui::InstrumentFunctionNoteStackingView - STACKING - + STACKING - Chord: - + Akkord: - RANGE - + BEREI - Chord range: - + Akkord-Bereich: - octave(s) - + Oktave(n) lmms::gui::InstrumentMidiIOView - ENABLE MIDI INPUT - + MIDI-EINGANG AKTIVIEREN - - CHAN This string must be be short, its width must be less than * width of LCD spin-box of two digits - + KANA - - VELOC This string must be be short, its width must be less than * width of LCD spin-box of three digits - + LAUTS - ENABLE MIDI OUTPUT - + MIDI-AUSGANG AKTIVIEREN - PROG This string must be be short, its width must be less than the * width of LCD spin-box of three digits - + PROG - NOTE This string must be be short, its width must be less than * width of LCD spin-box of three digits - + NOTE - MIDI devices to receive MIDI events from - + MIDI-Geräte, von denen MIDI-Events empfangen werden sollen - MIDI devices to send MIDI events to - + MIDI-Geräte, an die MIDI-Events gesendet werden sollen - VELOCITY MAPPING - + LAUTSTÄRKEN-MAPPING - MIDI VELOCITY - + MIDI-LAUTSTÄRKE - MIDI notes at this velocity correspond to 100% note velocity. - + MIDI-Noten bei dieser Lautstärke entsprechen 100 % Notenlautstärke. lmms::gui::InstrumentSoundShapingView - TARGET - + ZIEL - FILTER - + FILTER - FREQ - + FREQ - Cutoff frequency: - + Kennfrequenz: - Hz - + Hz - Q/RESO - + Q/RESO - Q/Resonance: - + Q/Resonanz: - Envelopes, LFOs and filters are not supported by the current instrument. - + Hüllkurven, LFOs und Filter werden vom aktuellen Instrument nicht unterstützt. lmms::gui::InstrumentTrackView - Mixer channel - + Mischkanal - Volume - + Lautstärke - Volume: - + Lautstärke: - VOL - + LAU - Panning - + Balance - Panning: - + Balance: - PAN - + BAL - MIDI - + MIDI - Input - + Eingang - Output - + Ausgang - Open/Close MIDI CC Rack - + MIDI-CC-Rack öffnen/schließen - %1: %2 - + %1: %2 lmms::gui::InstrumentTrackWindow - Volume - + Lautstärke - Volume: - + Lautstärke: - VOL - + LAU - Panning - + Balance - Panning: - + Balance: - PAN - + BAL - Pitch - + Tonhöhe - Pitch: - + Tonhöhe: - cents - + Cent - PITCH - + HÖHE - Pitch range (semitones) - + Tonhöhenbereich (Halbtöne) - RANGE - + BEREI - Mixer channel - + Mischkanal - CHANNEL - + KANAL - Save current instrument track settings in a preset file - + Aktuelle Instrumentenspur-Einstellungen in einer Presetdatei speichern - SAVE - + SPEICHERN - Envelope, filter & LFO - + Hüllkurve, Filter u. LFO - Chord stacking & arpeggio - + Akkord-Stacking u. Arpeggio - Effects - + Effekte - MIDI - + MIDI - Tuning and transposition - + Tuning und Transponierung - Save preset - + Preset speichern - XML preset file (*.xpf) - + XML-Presetdatei (*.xpf) - Plugin - + Plugin lmms::gui::InstrumentTuningView - GLOBAL TRANSPOSITION - + GLOBALE TRANSPONIERUNG - Enables the use of global transposition - + Aktiviert die Verwendung der globalen Transponierung - Microtuner is not available for MIDI-based instruments. - + Der Mikrotuner ist für MIDI-basierte Instrumente nicht verfügbar. - MICROTUNER - + MIKROTUNER - Active scale: - + Aktive Tonleiter: - - Edit scales and keymaps - + Tonleitern und Keymaps bearbeiten - Active keymap: - + Aktive Keymap: - Import note ranges from keymap - + Notenbereiche aus Keymap importieren - When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. - + Falls aktiviert, werden die erste Note, letzte Note und die Basisnote dieses Instruments mit Werten, die von der gewählten Keymap festgelegt wurden, überschrieben. lmms::gui::KickerInstrumentView - Start frequency: - + Startfrequenz: - End frequency: - + Endfrequenz: - - Frequency slope: - - - - Gain: - + Verstärkung: - - Envelope length: - + Frequency Slope: + Frequenzabfall: - - Envelope slope: - + Envelope Length: + Hüllkurvenlänge: + + + Envelope Slope: + Hüllkurvenneigung: - Click: - + Klick: - Noise: - + Rauschen: + + + Distortion Start: + Verzerrungsanfang: + + + Distortion End: + Verzerrungsende: + + + Frequency slope: + Frequenzneigung: + + + Envelope length: + Hüllkurvenlänge: + + + Envelope slope: + Hüllkurvenneigung: - Start distortion: - + Startverzerrung: - End distortion: - + Endverzerrung: lmms::gui::LOMMControlDialog - Depth: - + Tiefe: - Compression amount for all bands - + Kompressionsstärke für alle Bänder - Time: - + Zeit: - Attack/release scaling for all bands - + Attack/-Release-Skalierung für alle Bänder - Input Volume: - + Eingangslautstärke: - Input volume - + Eingangslautstärke - Output Volume: - + Ausgangslautstärke: - Output volume - + Ausgangslautstärke - Upward Depth: - + Aufwärtstiefe: - Upward compression amount for all bands - + - Downward Depth: - + Abwärtstiefe: - Downward compression amount for all bands - + - High/Mid Crossover - + - Mid/Low Crossover - + - High/mid band split - + - Mid/low band split - + - Enable High Band - + Hochband aktivieren - Enable Mid Band - + Mittelband aktivieren - Enable Low Band - + Tiefband aktivieren - High Input Volume: - + - Input volume for high band - + - Mid Input Volume: - + - Input volume for mid band - + - Low Input Volume: - + - Input volume for low band - + - High Output Volume: - + - Output volume for high band - + - Mid Output Volume: - + - Output volume for mid band - + - Low Output Volume: - + - Output volume for low band - + - Above Threshold High - + - Downward compression threshold for high band - + - Above Threshold Mid - + - Downward compression threshold for mid band - + - Above Threshold Low - + - Downward compression threshold for low band - + - Above Ratio High - + - Downward compression ratio for high band - + - Above Ratio Mid - + - Downward compression ratio for mid band - + - Above Ratio Low - + - Downward compression ratio for low band - + - Below Threshold High - + - Upward compression threshold for high band - + - Below Threshold Mid - + - Upward compression threshold for mid band - + - Below Threshold Low - + - Upward compression threshold for low band - + - Below Ratio High - + - Upward compression ratio for high band - + - Below Ratio Mid - + - Upward compression ratio for mid band - + - Below Ratio Low - + - Upward compression ratio for low band - + - Attack High: - + - Attack time for high band - + - Attack Mid: - + - Attack time for mid band - + - Attack Low: - + - Attack time for low band - + - Release High: - + - Release time for high band - + - Release Mid: - + - Release time for mid band - + - Release Low: - + - Release time for low band - + - RMS Time: - + RMS-Zeit: - RMS size for sidechain signal (set to 0 for Peak mode) - + RMS-Größe für das Sidechain-Signal (auf 0 setzen für den Peak-Modus) - Knee: - + Knee: - Knee size for all compressors - + Knee-Größe für alle Kompressoren - Range: - + Bereich: - Maximum gain increase for all bands - + Maximale Verstärkungserhöhung für alle Bänder - Balance: - + Balance: - Bias input volume towards one channel - + - Scale output volume with Depth - + Ausgangslautstärke mit Tiefe skalieren - Scale output volume with Depth parameter - + Ausgangslautstärke mit Tiefenparameter skalieren - Stereo Link - + Stereoverknüpfung - Apply same gain change to both channels - + Die gleiche Verstärkungsänderung auf beide Kanäle anwenden - Auto Time: - + Autozeit: - Speed up attack and release times when transients occur - + Attack- und Release-Zeiten beschleunigen, wenn Übergänge passieren - Mix: - + Mischen: - Wet/Dry of all bands - + Wet/Dry aller Bänder - Feedback - + Rückkopplung - Use output as sidechain signal instead of input - + Ausgang als Sidechainsignal statt als Eingang benutzen - Mid/Side - + Mid/Größe - Compress mid/side channels instead of left/right - + - - Suppress upward compression for side band - + Aufwärtskompression für Seitenband unterdrücken - - Lookahead - + Lookahead - Lookahead length - + Lookahead-Länge - Clear all parameters - + Alle Parameter leeren lmms::gui::LadspaBrowserView - - Available Effects - + Verfügbare Effekte - - Unavailable Effects - + Nicht verfügbare Effekte - - Instruments - + Instrumente - - Analysis Tools - + Analysewerkzeuge - - Don't know - + Weiß nicht + + + This dialog displays information on all of the LADSPA plugins LMMS was able to locate. The plugins are divided into five categories based upon an interpretation of the port types and names. + +Available Effects are those that can be used by LMMS. In order for LMMS to be able to use an effect, it must, first and foremost, be an effect, which is to say, it has to have both input channels and output channels. LMMS identifies an input channel as an audio rate port containing 'in' in the name. Output channels are identified by the letters 'out'. Furthermore, the effect must have the same number of inputs and outputs and be real time capable. + +Unavailable Effects are those that were identified as effects, but either didn't have the same number of input and output channels or weren't real time capable. + +Instruments are plugins for which only output channels were identified. + +Analysis Tools are plugins for which only input channels were identified. + +Don't Knows are plugins for which no input or output channels were identified. + +Double clicking any of the plugins will bring up information on the ports. + Dieser Dialog zeigt Informationen zu allen LADSPA-Plugins an, die LMMS gefunden hat. Die Plugins werden in fünf Kategorien eingeteilt, basierend auf der Interpretation der Porttypen und Namen. + +Verfügbare Effekte sind die, die von LMMS benutzt werden können. Um in LMMS einen Effekt benutzen zu können, muss er vor allem ein Effekt sein, was bedeutet, dass er beides, Eingabe- und Ausgabekanäle, haben muss. LMMS identifiziert Eingabekanäle als einen Audioport, der »in« im Namen enthält. Ausgabekanäle werden durch die Buchstaben »out« identifizert. Des weiteren muss der Effekt die gleiche Anzahl an Ein- und Ausgängen besitzen und muss echtzeitfähig sein. + +Nicht verfügbare Effekte sind die, die als Effekt identifiziert wurden, aber entweder nicht die gleiche Anzahl an Ein- und Ausgabekanälen besizen oder nicht echtzeitfähig sind. + +Instrumente sind Plugins, für die nur Ausgabekanäle identifiziert wurden. + +Analysewerkzeuge sind Plugins, für die nur Eingabekanäle identifiziert wurden. + +»Weiß nicht« sind Plugins, für die kein Ein- oder Ausgabekanal identifiziert wurde. + +Doppelklicken auf eines der Plugins zeigt Informationen über die Ports an. - Type: - + Typ: lmms::gui::LadspaControlDialog - Link Channels - + Kanäle verknüpfen - Channel - + Kanal lmms::gui::LadspaControlView - Link channels - + Kanäle verknüpfen - Value: - + Wert: lmms::gui::LadspaDescription - Plugins - + Plugins - Description - + Beschreibung - Name: - + Name: - Maker: - + Hersteller: - Copyright: - + Copyright: - Requires Real Time: - + Benötigt Echtzeit: - - - Yes - + Ja - - - No - + Nein - Real Time Capable: - + Echtzeitfähig: - In Place Broken: - + In-Place kaputt: - Channels In: - + Eingangskanäle: - Channels Out: - + Ausgangskanäle: lmms::gui::LadspaMatrixControlDialog - Link Channels - + Kanäle verknüpfen - Link - + Verknüpfen - Channel %1 - + Kanal %1 - Link channels - + Kanäle verknüpfen lmms::gui::LadspaPortDialog - Ports - + Ports - Name - + Name - Rate - + Rate - Direction - + Richtung - Type - + Typ - Min < Default < Max - + Min < Standard < Max - Logarithmic - + Logarithmisch - SR Dependent - + SR-abhängig - Audio - + Audio - Control - + Steuerung - Input - + Eingang - Output - + Ausgang - Toggled - + Umgeschaltet - Integer - + Ganzahl - Float - + Kommazahl - - Yes - + Ja lmms::gui::Lb302SynthView - Cutoff Freq: - + Kennfrequenz: - Resonance: - + Resonanz: - Env Mod: - + Hüllkurven-Modulation: - Decay: - + Abfallzeit (decay): - 303-es-que, 24dB/octave, 3 pole filter - + 303-artiger 3-Pol-Filter mit 24 dB/Oktave - Slide Decay: - + Slide-Abfallzeit: - DIST: - + DIST: - Saw wave - + Sägezahnwelle - Click here for a saw-wave. - + Klick für eine Sägezahnwelle. - Triangle wave - + Dreieckwelle - Click here for a triangle-wave. - + Klick für eine Dreieckwelle. - Square wave - + Rechteckwelle - Click here for a square-wave. - + Klick für eine Rechteckwelle. - Rounded square wave - + Abgerundete Rechteckwelle - Click here for a square-wave with a rounded end. - + Klick für eine abgerundete Rechteckwelle. - Moog wave - + Moog-Welle - Click here for a moog-like wave. - + Klick für eine Moog-ähnliche Welle. - Sine wave - + Sinuswelle - Click for a sine-wave. - + Klick für eine Sinuswelle. - - White noise wave - + Weißes Rauschen - Click here for an exponential wave. - + Klick für eine exponentielle-Welle. - Click here for white-noise. - + Klick für weißes Rauschen. - Bandlimited saw wave - + Bandbegrenzte Sägezahnwelle - Click here for bandlimited saw wave. - + Klick für eine bandbegrenzte Sägezahnwelle. - Bandlimited square wave - + Bandbegrenzte Rechteckwelle - Click here for bandlimited square wave. - + Klick für eine bandbegrenzte Rechteckwelle. - Bandlimited triangle wave - + Bandbegrenzte Dreieckwelle - Click here for bandlimited triangle wave. - + Klick für eine bandbegrenzte Dreieckwelle. - Bandlimited moog saw wave - + Bandbegrenzte Moog-Sägezahnwelle - Click here for bandlimited moog saw wave. - + Klick für eine bandbegrenzte Moog-Sägezahnwelle. lmms::gui::LcdFloatSpinBox - Set value - + Wert setzen - Please enter a new value between %1 and %2: - + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: lmms::gui::LcdSpinBox - Set value - + Wert setzen - Please enter a new value between %1 and %2: - + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: lmms::gui::LeftRightNav - - - Previous - + Vorheriges - - - Next - + Nächstes - Previous (%1) - + Vorheriges (%1) - Next (%1) - + Nächstes (%1) lmms::gui::LfoControllerDialog - LFO - + LFO - BASE - + BASIS - Base: - + Basis: - FREQ - + FREQ - LFO frequency: - + LFO-Frequenz: - AMNT - + INTE - Modulation amount: - + Modulationsintensität: - PHS - + PHS - Phase offset: - + Phasenverschiebung: - degrees - + Grad - Sine wave - + Sinuswelle - Triangle wave - + Dreieckwelle - Saw wave - + Sägezahnwelle - Square wave - + Rechteckwelle - Moog saw wave - + Moog-Sägezahnwelle - Exponential wave - + Exponentielle Welle - White noise - + Weißes Rauschen - User-defined shape. Double click to pick a file. - + Benutzerdefinierte Form. +Doppelklick, um eine Datei auszuwählen. - Multiply modulation frequency by 1 - + Modulationsfrequenz mit 1 multiplizieren - Multiply modulation frequency by 100 - + Modulationsfrequenz mit 100 multiplizieren - Divide modulation frequency by 100 - + Modulationsfrequenz durch 100 teilen lmms::gui::LfoGraph - %1 Hz - + %1 Hz lmms::gui::MainWindow - + Could not save config-file + Konnte Konfigurationsdatei nicht speichern + + + Could not save configuration file %1. You're probably not permitted to write to this file. +Please make sure you have write-access to the file and try again. + Konnte die Konfigurationsdatei %1 nicht speichern. Sie haben möglicherweise keine Schreibrechte auf diese Datei. +Bitte überprüfen Sie Ihre Rechte und versuchen es erneut. + + + &New + &Neu + + + &Open... + Ö&ffnen … + + + &Save + &Speichern + + + Save &As... + Speichern &unter … + + + Import... + Importieren … + + + E&xport... + E&xportieren … + + + &Quit + &Verlassen + + + &Edit + &Bearbeiten + + + Settings + Einstellungen + + + &Tools + &Werkzeuge + + + &Help + &Hilfe + + + Help + Hilfe + + + What's this? + Was ist das? + + + About + Über + + + Create new project + Neues Projekt erstellen + + + Create new project from template + Neues Projekt aus Vorlage erstellen + + + Open existing project + Existierendes Projekt öffnen + + + Recently opened projects + Zuletzt geöffnete Projekte + + + Save current project + Aktuelles Projekt speichern + + + Export current project + Aktuelles Projekt exportieren + + + Song Editor + Song-Editor + + + By pressing this button, you can show or hide the Song-Editor. With the help of the Song-Editor you can edit song-playlist and specify when which track should be played. You can also insert and move samples (e.g. rap samples) directly into the playlist. + Mit diesem Knopf können Sie den Song-Editor zeigen oder verstecken. Mit Hilfe des Song-Editors können Sie die Song-Playliste bearbeiten und angeben, wann welche Spur abgespielt werden soll. Außerdem können Sie Samples (z.B. Rap-Samples) direkt in die Playliste einfügen und verschieben. + + + Beat+Bassline Editor + Beat-und-Bassline-Editor + + + By pressing this button, you can show or hide the Beat+Bassline Editor. The Beat+Bassline Editor is needed for creating beats, and for opening, adding, and removing channels, and for cutting, copying and pasting beat and bassline-patterns, and for other things like that. + Mit diesem Knopf können Sie den Beat-und-Bassline-Editor anzeigen oder verstecken. Der Beat-und-Bassline-Editor wird benötigt, um Beats zu erstellen, um Kanäle zu öffnen, hinzuzufügen und zu entfernen, um Beat- und Bassline-Patterns auszuschneiden, zu kopieren und einzufügen, und für andere Dinge. + + + Piano Roll + Piano-Roll + + + Click here to show or hide the Piano-Roll. With the help of the Piano-Roll you can edit melodies in an easy way. + Hier klicken, um das Piano-Roll zu zeigen oder verstecken. Mit Hilfe des Piano-Rolls können Sie Melodien auf einfache Art und Weise bearbeiten. + + + Automation Editor + Automations-Editor + + + Click here to show or hide the Automation Editor. With the help of the Automation Editor you can edit dynamic values in an easy way. + Hier klicken, um den Automations-Editor zu zeigen oder verstecken. Mit Hilfe des Automations-Editors können Sie Automations-Patterns auf einfache Art und Weise bearbeiten. + + + FX Mixer + FX-Mixer + + + Click here to show or hide the FX Mixer. The FX Mixer is a very powerful tool for managing effects for your song. You can insert effects into different effect-channels. + Hier klicken, um den FX-Mixer zu zeigen oder verstecken. Der FX-Mixer ist ein leistungsfähiges Werkzeug, um Effekte für Ihren Song zu verwalten. Sie können verschiedene Effekte in unterschiedliche Effekt-Kanäle einfügen. + + + Project Notes + Projektnotizen + + + Click here to show or hide the project notes window. In this window you can put down your project notes. + Hier klicken, um die Projektnotizen zu zeigen oder zu verstecken. In diesem Fenster können Sie Ihre Projektnotizen aufschreiben. + + + Controller Rack + Controller-Einheit + + + Untitled + Unbenannt + + + LMMS %1 + LMMS %1 + + + Project not saved + Projekt nicht gespeichert + + + The current project was modified since last saving. Do you want to save it now? + Das aktuelle Projekt wurde seit dem letzten Speichern geändert. Wollen Sie es jetzt speichern? + + + Help not available + Hilfe nicht verfügbar + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + Derzeit ist in LMMS keine Hilfe verfügbar. +Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS. + + + LMMS (*.mmp *.mmpz) + LMMS (*.mmp *.mmpz) + + + Version %1 + Version %1 + + Configuration file - + Konfigurationsdatei - Error while parsing configuration file at line %1:%2: %3 - + Fehler beim Parsen der Konfigurationsdatei in Zeile %1:%2: %3 + + + Volumes + Volumes + + + Undo + Rückgängig + + + Redo + Wiederholen + + + My Projects + Meine Projekte + + + My Samples + Meine Samples + + + My Presets + Meine Presets + + + My Home + Mein Home + + + My Computer + Mein Computer + + + &File + &Datei + + + &Recently Opened Projects + &Zuletzt geöffnete Projekte + + + Save as New &Version + Als neue &Version speichern + + + E&xport Tracks... + Spuren e&xportieren … + + + Export &MIDI... + &MIDI exportieren … + + + Online Help + Online-Hilfe + + + What's This? + Was ist das? + + + Open Project + Projekt öffnen + + + Save Project + Projekt speichern + + + Project recovery + Projekt wiederherstellen + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + Es gibt eine Wiederherstellungsdatei. Es sieht so aus, als sei die letzte Sitzung nicht ordnungsgemäß beendet worden, oder eine andere Instanz von LMMS läuft bereits. Möchten Sie das Projekt dieser Sitzung wiederherstellen? + + + Recover + Wiederherstellen + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + Diese Datei wiederherstellen. Bitte lassen Sie nicht mehrere Instanzen von LMMS gleichzeitig laufen, wenn Sie das tun. + + + Ignore + Ignorieren + + + Launch LMMS as usual but with automatic backup disabled to prevent the present recover file from being overwritten. + LMMS wie gewohnt starten, aber den automatischen Backup deaktivieren, um zu verhindern, dass die existierende Wiederherstellungsdatei überschrieben wird. + + + Discard + Verwerfen + + + Launch a default session and delete the restored files. This is not reversible. + Eine Standardsitzung starten und die wiederhergestellten Dateien löschen. Das kann nicht rückgängig gemacht werden. + + + Preparing plugin browser + Plugin-Browser vorbereiten + + + Preparing file browsers + Dateimanager vorbereiten + + + Root directory + Hauptverzeichnis + + + Loading background artwork + Hintergrundgrafik laden + + + New from template + Neu aus Vorlage + + + Save as default template + Als Standardvorlage speichern + + + &View + &Ansicht + + + Toggle metronome + Metronom umschalten + + + Show/hide Song-Editor + Zeige/verstecke Song-Editor + + + Show/hide Beat+Bassline Editor + Zeige/verstecke Beat-und-Bassline-Editor + + + Show/hide Piano-Roll + Zeige/verstecke Piano-Roll + + + Show/hide Automation Editor + Zeige/verstecke Automations-Editor + + + Show/hide FX Mixer + Zeige/verstecke FX-Mixer + + + Show/hide project notes + Zeige/verstecke Projektnotizen + + + Show/hide controller rack + Zeige/verstecke Controller-Einheit + + + Recover session. Please save your work! + Wiederherstellungssitzung. Bitte speichern Sie Ihre Arbeit! + + + Automatic backup disabled. Remember to save your work! + Automatisches Backup nicht aktiviert. Denken Sie daran, Ihre Arbeit zu speichern! + + + Recovered project not saved + Wiederhergestelltes Projekt nicht gespeichert + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + Dieses Projekt wurde von der vorherigen Sitzung wiederhergestellt. Es ist im Moment nicht gespeichert und wird verloren gehen, wenn Sie es nicht speichern. Möchten Sie es jetzt speichern? + + + LMMS Project + LMMS-Projekt + + + LMMS Project Template + LMMS-Projektvorlage + + + Overwrite default template? + Standardvorlage überschreiben? + + + This will overwrite your current default template. + Dies wird Ihre aktuelle Standardvorlage überschreiben. + + + Volume as dBFS + Lautstärke als dBFS + + + Smooth scroll + Weiches Scrollen + + + Enable note labels in piano roll + Notenbeschriftung in Piano-Roll aktivieren + + + Save project template + Projektvorlage speichern - Could not open file - + Konnte Datei nicht öffnen - Could not open file %1 for writing. Please make sure you have write permission to the file and the directory containing the file and try again! - + Datei %1 konnte nicht zum Schreiben geöffnet werden. +Bitte stellen Sie sicher, dass Sie Schreibrechte sowohl auf die Datei als auch das Verzeichnis, das sie enthält, haben, und versuchen Sie es erneut! - - Project recovery - - - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - - - - - - Recover - - - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - - - - - - Discard - - - - - Launch a default session and delete the restored files. This is not reversible. - - - - - Version %1 - - - - - Preparing plugin browser - - - - - Preparing file browsers - - - - - My Projects - - - - - My Samples - - - - - My Presets - - - - - My Home - - - - Root Directory - + Hauptverzeichnis - - Volumes - - - - - My Computer - - - - Loading background picture - + Hintergrundbild laden - - &File - - - - - &New - - - - - &Open... - - - - - &Save - - - - - Save &As... - - - - - Save as New &Version - - - - - Save as default template - - - - - Import... - - - - - E&xport... - - - - - E&xport Tracks... - - - - - Export &MIDI... - - - - - &Quit - - - - - &Edit - - - - - Undo - - - - - Redo - - - - Scales and keymaps - + Tonleitern und Keymaps - - Settings - - - - - &View - - - - - &Tools - - - - - &Help - - - - - Online Help - - - - - Help - - - - - About - - - - - Create new project - - - - - Create new project from template - - - - - Open existing project - - - - - Recently opened projects - - - - - Save current project - - - - - Export current project - - - - Metronome - + Metronom - - - Song Editor - - - - - Pattern Editor - + Pattern-Editor - - - Piano Roll - - - - - - Automation Editor - - - - - Mixer - + Mixer - - Show/hide controller rack - - - - - Show/hide project notes - - - - - Untitled - - - - - Recover session. Please save your work! - - - - - LMMS %1 - - - - - Recovered project not saved - - - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - - - - - Project not saved - - - - - The current project was modified since last saving. Do you want to save it now? - - - - - Open Project - - - - - LMMS (*.mmp *.mmpz) - - - - - Save Project - - - - - LMMS Project - - - - - LMMS Project Template - - - - - Save project template - - - - - Overwrite default template? - - - - - This will overwrite your current default template. - - - - - Help not available - - - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - - - - - Controller Rack - - - - - Project Notes - - - - Fullscreen - + Vollbild - - Volume as dBFS - - - - - Smooth scroll - - - - - Enable note labels in piano roll - - - - MIDI File (*.mid) - + MIDI-Datei (*.mid) - - untitled - + Unbenannt - - Select file for project-export... - + Datei für Projekt-Export wählen … - Select directory for writing exported tracks... - + Verzeichnis für das Schreiben der zu exportierenden Spuren wählen … - Save project - + Projekt speichern - Project saved - + Projekt gespeichert - The project %1 is now saved. - + Das Projekt %1 ist nun gespeichert. - Project NOT saved. - + Projekt NICHT gespeichert. - The project %1 was not saved! - + Das Projekt %1 wurde nicht gespeichert! - Import file - + Datei importieren - MIDI sequences - + MIDI-Sequenzen - Hydrogen projects - + Hydrogen-Projekte - All file types - + Alle Dateitypen lmms::gui::MalletsInstrumentView - Instrument - + Instrument - Spread - + Weite - Spread: - + Weite: - - Random - - - - - Random: - - - - - Missing files - - - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - - - - Hardness - + Härte - Hardness: - + Härte: - Position - + Position - Position: - + Position: - - Vibrato gain - + Vib Gain + Vib-Verst. - - Vibrato gain: - + Vib Gain: + Vib-Verst.: - - Vibrato frequency - + Vib Freq + Vib-Freq. - - Vibrato frequency: - + Vib Freq: + Vib-Freq.: - - Stick mix - + Stick Mix + Stick-Mix - - Stick mix: - + Stick Mix: + Stick-Mix: - Modulator - + Modulator - Modulator: - + Modulator: - Crossfade - + Crossfade - Crossfade: - + Crossfade: - - LFO speed - + LFO Speed + LFO-Geschwindigkeit - - LFO speed: - + LFO Speed: + LFO-Geschwindigkeit: - - LFO depth - + LFO Depth + LFO-Tiefe - - LFO depth: - + LFO Depth: + LFO-Tiefe: - ADSR - + ADSR - ADSR: - + ADSR: - Pressure - + Druck - Pressure: - + Druck: - Speed - + Geschwindigkeit - Speed: - + Geschwindigkeit: + + + Missing files + Fehlende Dateien + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + Ihre Stk-Installation scheint unvollständig zu sein. Bitte stellen Sie sicher, dass das vollständige Stk-Paket installiert ist! + + + Random + Zufall + + + Random: + Zufall: + + + Vibrato gain + Vibratoverst. + + + Vibrato gain: + Vibratoverstärkung: + + + Vibrato frequency + Vibratofreq. + + + Vibrato frequency: + Vibratofrequenz: + + + Stick mix + Stick-Mix + + + Stick mix: + Stick-Mix: + + + LFO speed + LFO-Geschw. + + + LFO speed: + LFO-Geschwindigkeit: + + + LFO depth + LFO-Tiefe + + + LFO depth: + LFO-Tiefe: lmms::gui::ManageVSTEffectView - - VST parameter control - + - VST-Parameter-Controller - - VST sync - + VST Sync + VST-Sync + + + Click here if you want to synchronize all parameters with VST plugin. + Klicken Sie hier, um alle Parameter mit dem VST-Plugin zu synchronisieren. - - Automated - + Automatisiert + + + Click here if you want to display automated parameters only. + Klicken Sie hier, wenn Sie nur automatisierte Parameter anzeigen möchten. - Close - + Schließen + + + Close VST effect knob-controller window. + VST Effekt Regler-Controllerfenster schließen. + + + VST sync + VST-Sync lmms::gui::ManageVestigeInstrumentView - - - VST plugin control - + - VST-Plugin-Controller - VST Sync - + VST-Sync + + + Click here if you want to synchronize all parameters with VST plugin. + Klicken Sie hier, um alle Parameter mit dem VST-Plugin zu synchronisieren. - - Automated - + Automatisiert + + + Click here if you want to display automated parameters only. + Klicken Sie hier, wenn Sie nur automatisierte Parameter anzeigen möchten. - Close - + Schließen + + + Close VST plugin knob-controller window. + VST-Effekt-Regler-Controllerfenster schließen. lmms::gui::MeterDialog - - Meter Numerator - + Takt/Zähler - Meter numerator - + Takt/Zähler - - Meter Denominator - + Takt/Nenner - Meter denominator - + Takt/Nenner - TIME SIG - + TAKTART lmms::gui::MicrotunerConfig - Selected scale slot - + Gewählter Tonleiter-Slot - Selected keymap slot - + Gewählter Keymap-Slot - - First key - + Erste Taste - - Last key - + Letzte Taste - - Middle key - + Mitteltaste - - Base key - + Basistaste - - - Base note frequency - + Basisnotenfrequenz - Microtuner Configuration - + Mikrotuner-Konfiguration - Scale slot to edit: - + Zu bearbeitender Tonleiter-Slot: - Scale description. Cannot start with "!" and cannot contain a newline character. - + Tonleiterbeschreibung. Darf nicht mit »!« anfangen und kann kein Newline-Zeichen enthalten. - - Load - + Laden - - Save - + Speichern - Load scale definition from a file. - + Tonleiterdefinition aus einer Datei laden. - Save scale definition to a file. - + Tonleiterdefinition in eine Datei speichern. - Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. -Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. - + Geben Sie die Intervalle auf separaten Zeilen ein. Zahlen, die einen Dezimalpunkt enthalten, werden als Cent behandelt. +Andere Eingaben werden als Ganzzahlverhältnisse behandelt und müssen in der Form »a/b« oder »a« sein. +Die Einheit (0.0 Cent oder Verhältnis 1/1) ist immer als versteckter erster Wert verfügbar; geben Sie ihn nicht manuell ein. - Apply scale changes - + Tonleiteränderungen anwenden - Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. - + Änderungen der gewählten Tonleiter verifizieren und anwenden. Um sie zu benutzen, wählen Sie sie in den Einstellungen eines unterstützten Instruments aus. - Keymap slot to edit: - + Zu bearbeitender Keymap-Slot: - Keymap description. Cannot start with "!" and cannot contain a newline character. - + Keymapbeschreibung. Kann nicht mit »!« anfangen und kann kein Newline-Zeichen enthalten. - Load key mapping definition from a file. - + Keymap-Definition aus einer Datei laden. - Save key mapping definition to a file. - + Keymap-Definition in eine Datei speichern. - Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, starting with the middle key and continuing in sequence. The pattern repeats for keys outside of the explicit keymap range. Multiple keys can be mapped to the same scale degree. Enter 'x' if you wish to leave the key disabled / not mapped. - + Geben Sie Keymaps auf separaten Zeilen ein. Jede Zeile weist eine Tonstufe zu einer MIDI-Taste zu, +anfangend mit der Mitteltaste, und setzt sich dann in Folge fort. +Das Muster wiederholt sich für Tasten außerhalb des expliziten Keymapbereichs. +Mehrere Tasten können zur selben Stufe zugewiesen werden. +Geben Sie »x« ein, falls Sie wünschen, dass die Taste deaktiviert / nicht zugewiesen ist. - FIRST - + ERSTE - First MIDI key that will be mapped - + Die erste MIDI-Taste, die zugewiesen wird - LAST - + LETZTE - Last MIDI key that will be mapped - + Die letzte MIDI-Taste, die zugewiesen wird - MIDDLE - + MITTEL - First line in the keymap refers to this MIDI key - + Die erste Zeile in der Keymap bezieht sich auf diese MIDI-Taste - BASE N. - + BASISN. - Base note frequency will be assigned to this MIDI key - + Basisnotenfrequenz wird zu dieser MIDI-Taste zugewiesen - BASE NOTE FREQ - + BASISN.-FREQ. - Apply keymap changes - + Keymapänderungen anwenden - Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. - + Änderungen der gewählten Keymap verifizieren und anwenden. Um sie zu benutzen, wählen Sie sie in den Einstellungen eines unterstützten Instruments aus. - Scale parsing error - + Tonleiner-Parsing-Fehler - Scale name cannot start with an exclamation mark - + Tonleitername darf nicht mit einem Ausrufezeichen anfangen - Scale name cannot contain a new-line character - + Tonleitername darf kann kein Newline-Zeichen enthalten - Interval defined in cents cannot be converted to a number - + Ein in Cent angegebenes Intervall kann nicht zu einer Zahl konvertiert werden - Numerator of an interval defined as a ratio cannot be converted to a number - + Der Zähler eines Intervalls, das als Verhältnis definiert ist, kann nicht zu einer Zahl konvertiert werden - Denominator of an interval defined as a ratio cannot be converted to a number - + Der Nenner eines Intervalls, das als Verhältnis definiert ist, kann nicht zu einer Zahl konvertiert werden - Interval defined as a ratio cannot be negative - + Ein als Verhältnis angegebenes Intervall kann nicht negativ sein - Keymap parsing error - + Keymap-Parse-Fehler - Keymap name cannot start with an exclamation mark - + Keymap-Name kann nicht mit einem Ausrufezeichen beginnen - Keymap name cannot contain a new-line character - + Keymap-Name kann kein Newline-Zeichen enthalten - Scale degree cannot be converted to a whole number - + Tonstufe kann nicht zu einer Ganzzahl konvertiert werden - Scale degree cannot be negative - + Tonstufe kann nicht negativ sein - Invalid keymap - + Ungültige Keymap - Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. - + Die Basistaste wurde nicht zu einer Tonstufe zugewiesen. Es wird kein Ton erzeugt, da es keine Möglichkeit gibt, eine Referenzfrequenz zu irgendeiner Note zuzuweisen. - Open scale - + Tonleiter öffnen - - Scala scale definition (*.scl) - + Scala-Tonleiterdefinition (*.scl) - Scale load failure - + Tonleiter-Ladefehler - - Unable to open selected file. - + Die gewählte Datei konnte nicht geöffnet werden. - Open keymap - + Keymap öffnen - - Scala keymap definition (*.kbm) - + Scala-Keymap-Definition (*.kbm) - Keymap load failure - + Ladefehler für Keymap - Save scale - + Tonleiter speichern - Scale save failure - + Tonleiter-Speicherfehler - - Unable to open selected file for writing. - + Die gewählte Datei könnte nicht zum Schreiben geöffnet werden. - Save keymap - + Keymap speichern - Keymap save failure - + Speicherfehler für Keymap lmms::gui::MidiCCRackView - - MIDI CC Rack - %1 - + MIDI-CC-Rack – %1 - MIDI CC Knobs: - + MIDI-CC-Regler: - CC %1 - + CC %1 lmms::gui::MidiClipView - - Transpose - + Transponieren - Semitones to transpose by: - + Transponiere um so viele Semitöne: - Open in piano-roll - + Im Piano-Roll öffnen - Set as ghost in piano-roll - + Als Geist im Piano-Roll setzen - Set as ghost in automation editor - + Als Geist im Automations-Editor setzen - Clear all notes - + Alle Noten löschen - Reset name - + Name zurücksetzen - Change name - + Name ändern - Add steps - + Schritte hinzufügen - Remove steps - + Schritte entfernen - Clone Steps - + Schritte klonen lmms::gui::MidiSetupWidget - Device - + Gerät lmms::gui::MixerChannelLcdSpinBox - Assign to: - + Zuweisen zu: - New Mixer Channel - + Neuer Mischkanal - Please enter a new value between %1 and %2: - + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - Set value - + Wert setzen lmms::gui::MixerChannelView - Channel send amount - + Kanal-Sendemenge - Mute - + Stumm - Mute this channel - + Diesen Kanal stummschalten - Solo - + Solo - Solo this channel - + Diesen Kanal als Solo verwenden - Fader %1 - + - Move &left - + Nach &links verschieben - Move &right - + Nach &rechts verschieben - Rename &channel - + &Kanal umbenennen - R&emove channel - + Kanal &entfernen - Remove &unused channels - + &Unbenutzte Kanäle entfernen - Color - + Farbe - Change - + Ändern - Reset - + Zurücksetzen - Pick random - + Zufällig wählen - This Mixer Channel is being used. Are you sure you want to remove this channel? Warning: This operation can not be undone. - + Dieser Mixerkanal wird gerade benutzt. +Sind Sie sich sicher, dass Sie ihn entfernen wollen? + +Achtung: Diese Aktion kann nicht rückgängig gemacht werden. - Confirm removal - + Entfernen bestätigen - Don't ask again - + Nicht erneut fragen lmms::gui::MixerView - Mixer - + Mixer lmms::gui::MonstroView - Operators view - + Operator-Ansicht + + + The Operators view contains all the operators. These include both audible operators (oscillators) and inaudible operators, or modulators: Low-frequency oscillators and Envelopes. + +Knobs and other widgets in the Operators view have their own what's this -texts, so you can get more specific help for them that way. + Die Operator-Ansicht enthält alle Operatoren. Diese beinhalten beide, hörbare Operatoren (Oszillatoren) und nicht hörbare Operatoren oder Modulatoren: Niedrig-Frequenz-Oszillatoren und Hüllkurven. + +Regler und andere Dinge in der Operator-Ansicht haben ihren eigenen »Was ist das?« Texte, sodass Sie auf diese Weise spezifischere Hilfe für diese bekommen können. - Matrix view - + Matrix-Ansicht + + + The Matrix view contains the modulation matrix. Here you can define the modulation relationships between the various operators: Each audible operator (oscillators 1-3) has 3-4 properties that can be modulated by any of the modulators. Using more modulations consumes more CPU power. + +The view is divided to modulation targets, grouped by the target oscillator. Available targets are volume, pitch, phase, pulse width and sub-osc ratio. Note: some targets are specific to one oscillator only. + +Each modulation target has 4 knobs, one for each modulator. By default the knobs are at 0, which means no modulation. Turning a knob to 1 causes that modulator to affect the modulation target as much as possible. Turning it to -1 does the same, but the modulation is inversed. + Die Matrix-Ansicht enthält die Modulationsmatrix. Hier können Sie die Modulationsverhältnisse zwischen den verschiedenen Operatoren definieren: Jeder hörbare Operator (Oszillatorern 1-3) hat 3-4 Einstellungen, die durch jeden der Modulatoren moduliert werden können. Mehr Modulation braucht mehr Rechenleistung. + +Die Ansicht ist in Modulationsziele, gruppiert nach dem Zieloszillator, eingeteilt. Verfügbare Ziele sind Lautstärke, Tonhöhe, Phase, Pulsweite und Unter-Oszillator Rate. Hinweis: einige Ziele sind speziell für einen Oszillator. + +Jedes Modulationsziel hat 4 Regler, einen für jeden Modulator. Standardmäßig sind alle Regler bei 0, was keine Modulation bedeutet. Wenn der Regler auf 1 gestellt wird, wird das Modulationsziel vom Modulator so viel wie möglich beeinflusst. Wenn er auf -1 gestellt wird, passiert das gleiche, aber die Modulation ist invertiert. + + + Mix Osc2 with Osc3 + Oszillator 2 mit Oszillator 3 mischen + + + Modulate amplitude of Osc3 with Osc2 + Amplitude von Oszillator 3 mit Oszillator 2 modulieren + + + Modulate frequency of Osc3 with Osc2 + Frequenz von Oszillator 3 mit Oszillator 2 modulieren + + + Modulate phase of Osc3 with Osc2 + Phase von Oszillator 3 mit Oszillator 2 modulieren + + + The CRS knob changes the tuning of oscillator 1 in semitone steps. + Der CRS-Regler ändert die Stimmung des Oszillators 1 in Halbtonschritten. + + + The CRS knob changes the tuning of oscillator 2 in semitone steps. + Der CRS-Regler ändert die Stimmung des Oszillators 2 in Halbtonschritten. + + + The CRS knob changes the tuning of oscillator 3 in semitone steps. + Der CRS-Regler ändert die Stimmung des Oszillators 3 in Halbtonschritten. + + + FTL and FTR change the finetuning of the oscillator for left and right channels respectively. These can add stereo-detuning to the oscillator which widens the stereo image and causes an illusion of space. + FTL und FTR ändern die Feinabstimmung des Oszillators jeweils für den linken und rechten Kanal. Diese können Stereoverstimmug zum Oszillator hinzufügen, was das Stereobild weitet und eine Illusion von Raum erzeugt. + + + The SPO knob modifies the difference in phase between left and right channels. Higher difference creates a wider stereo image. + Der SPO-Regler ändert die Phasendifferenz zwischen dem linken und rechten Kanal. Höhere Differenz erzeugt ein breiteres Stereobild. + + + The PW knob controls the pulse width, also known as duty cycle, of oscillator 1. Oscillator 1 is a digital pulse wave oscillator, it doesn't produce bandlimited output, which means that you can use it as an audible oscillator but it will cause aliasing. You can also use it as an inaudible source of a sync signal, which can be used to synchronize oscillators 2 and 3. + Der PW-Regler kontrolliert die Pulsweite, auch bekannt als Tastgrad, von Oszillator 1. Oszillator 1 ist ein digitaler Pulswellenoszillator, er erzeugt keine bandbegrenzte Ausgabe, was bedeutet, dass Sie ihn als einen hörbaren Oszillator einsetzen können, aber es wird Aliasing verursachen. Sie können es auch als eine nicht hörbare Quelle für ein Sync-Signal benutzen, der benutzt werden kann, um die Oszillatoren 2 und 3 zu synchronisieren. + + + Send Sync on Rise: When enabled, the Sync signal is sent every time the state of oscillator 1 changes from low to high, ie. when the amplitude changes from -1 to 1. Oscillator 1's pitch, phase and pulse width may affect the timing of syncs, but its volume has no effect on them. Sync signals are sent independently for both left and right channels. + Sync beim Ansteigen senden: Wenn aktiviert, wird das Sync-Signal jedes Mal gesendet, wenn sich der Zustand von Oszillator 1 von niedrig nach hoch ändert, z.B. wenn sich die Amplitude von -1 nach 1 ändert. Die Tonhöhe, Phase und Pulsweite von Oszillator 1 können das Timing von Syncs beeinflussen, aber die Lautstärke hat keinen Effekt darauf. Sync-Signale werden unabhängig vom linken und rechten Kanal gesendet. + + + Send Sync on Fall: When enabled, the Sync signal is sent every time the state of oscillator 1 changes from high to low, ie. when the amplitude changes from 1 to -1. Oscillator 1's pitch, phase and pulse width may affect the timing of syncs, but its volume has no effect on them. Sync signals are sent independently for both left and right channels. + Sync beim Abfallen senden: Wenn aktiviert, wird das Sync-Signal jedes Mal gesendet, wenn sich der Zustand von Oszillator 1 von hoch nach niedrig ändert, z.B. wenn sich die Amplitude von 1 nach -1 ändert. Die Tonhöhe, Phase und Pulsweite von Oszillator 1 können das Timing von Syncs beeinflussen, aber die Lautstärke hat keinen Effekt darauf. Sync-Signale werden unabhängig vom linken und rechten Kanal gesendet. + + + Hard sync: Every time the oscillator receives a sync signal from oscillator 1, its phase is reset to 0 + whatever its phase offset is. + Hard sync: Jedes Mal, wenn der Oszillator ein sync-Signal von Oszillator 1 empfängt, wird die Phase auf 0 zurückgesetzt, egal was die Phasendifferenz ist. + + + Reverse sync: Every time the oscillator receives a sync signal from oscillator 1, the amplitude of the oscillator gets inverted. + Reverse sync: Jedes Mal, wenn der Oszillator ein sync-Signal von Oszillator 1 empfängt, wird die Amplitude des Oszillators invertiert. + + + Choose waveform for oscillator 2. + Wellenform für Oszillator 2 auswählen. + + + Choose waveform for oscillator 3's first sub-osc. Oscillator 3 can smoothly interpolate between two different waveforms. + Wellenform für den ersten Unter-Oszillator von Oszillator 3 auswählen. Oszillator 3 kann gleitend zwischen zwei verschiedenen Wellenformen interpolieren. + + + Choose waveform for oscillator 3's second sub-osc. Oscillator 3 can smoothly interpolate between two different waveforms. + Wellenform für den zweiten Unter-Oszillator von Oszillator 3 auswählen. Oszillator 3 kann gleitend zwischen zwei verschiedenen Wellenformen interpolieren. + + + The SUB knob changes the mixing ratio of the two sub-oscs of oscillator 3. Each sub-osc can be set to produce a different waveform, and oscillator 3 can smoothly interpolate between them. All incoming modulations to oscillator 3 are applied to both sub-oscs/waveforms in the exact same way. + Der SUB-Regler ändert das Mischverhältnis der beiden Unter-Oszillatoren von Oszillator 3. Jeder Unter-Oszillator kann auf eine andere Wellenform eingestellt werden und Oszillator 3 kann zwischen diesen gleitend interpolieren. Alle eingehenden Modulationen zu Oszillator 3 werden auf beide Unter-Oszillator/-Wellenformen auf gleiche Weise angewandt. + + + In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. + +Mix mode means no modulation: the outputs of the oscillators are simply mixed together. + Zusätzlich zu fest zugeordneten Modulatoren ermöglicht Monstro es, Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. + +Mix-Modus bedeutet keine Modulation: Die Ausgaben der Oszillatoren werden einfach zusammengemischt. + + + In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. + +AM means amplitude modulation: Oscillator 3's amplitude (volume) is modulated by oscillator 2. + Zusätzlich zu fest zugeordneten Modulatoren, ermöglicht Monstro es Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. + +AM bedeutet Amplitudenmodulation: Die Amplitude (Lautstärke) von Oszillator 3 wird durch Oszillator 2 moduliert. + + + In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. + +FM means frequency modulation: Oscillator 3's frequency (pitch) is modulated by oscillator 2. The frequency modulation is implemented as phase modulation, which gives a more stable overall pitch than "pure" frequency modulation. + Zusätzlich zu fest zugeordneten Modulatoren, ermöglicht Monstro es Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. + +FM bedeutet Frequenzmodulation: Die Frequenz (Tonhöhe) von Oszillator 3 wird durch Oszillator 2 moduliert. Die Frequenzmodulation ist als Phasenmodulation implementiert, was eine stabilere Gesamttonhöhe erzeugt, als »reine« Frequenzmodulation. + + + In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. + +PM means phase modulation: Oscillator 3's phase is modulated by oscillator 2. It differs from frequency modulation in that the phase changes are not cumulative. + Zusätzlich zu fest zugeordneten Modulatoren, ermöglicht Monstro es Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. + +PM bedeutet Phasenmodulation: Die Phase von Oszillator 3 wird durch Oszillator 2 moduliert. Es unterscheidet sich von der Frequenzmodulation dadurch, dass die Phasenänderungen nicht zunehmend sind. + + + Select the waveform for LFO 1. +"Random" and "Random smooth" are special waveforms: they produce random output, where the rate of the LFO controls how often the state of the LFO changes. The smooth version interpolates between these states with cosine interpolation. These random modes can be used to give "life" to your presets - add some of that analog unpredictability... + Die Wellenform für LFO 1 auswählen. +»Zufällig« und »Zufällig gleitend« sind spzielle Wellenformen: Sie erzeugen zufällige Ausgabe, wobei die Rate des LFO regelt, wie oft sich der Zustand des LFO ändert. Die gleitende Version interpoliert zwischen diesen Zuständen mit Kosinus-Interpolation. Diese zufälligen Modi können benutzt werden, um Ihren Presets »Leben« zu geben – etwas von der analogen Unberechenbarkeit hinzuzufügen … + + + Select the waveform for LFO 2. +"Random" and "Random smooth" are special waveforms: they produce random output, where the rate of the LFO controls how often the state of the LFO changes. The smooth version interpolates between these states with cosine interpolation. These random modes can be used to give "life" to your presets - add some of that analog unpredictability... + Die Wellenform für LFO 2 auswählen. +»Zufällig« und »Zufällig gleitend« sind spzielle Wellenformen: Sie erzeugen zufällige Ausgabe, wobei die Rate des LFO regelt, wie oft sich der Zustand des LFO ändert. Die gleitende Version interpoliert zwischen diesen Zuständen mit Kosinus-Interpolation. Diese zufälligen Modi können benutzt werden, um Ihren Presets »Leben« zu geben – etwas von der analogen Unberechenbarkeit hinzuzufügen … + + + Attack causes the LFO to come on gradually from the start of the note. + Anschwellzeit verursacht, dass der LFO allmählich vom Anfang der Note angeht. + + + Rate sets the speed of the LFO, measured in milliseconds per cycle. Can be synced to tempo. + Rate setzt die Geschwindigkeit des LFO, in Millisekunden pro Durchlauf gemessen. Kann zum Tempo synchronisiert werden. + + + PHS controls the phase offset of the LFO. + PHS kontrolliert die Phasenverschiebung des LFO. + + + PRE, or pre-delay, delays the start of the envelope from the start of the note. 0 means no delay. + PRE, oder Vorverzögerung, verzögert den Beginn der Hüllkurve vom Anfang der Note. 0 bedeutet keine Verzögerung. + + + ATT, or attack, controls how fast the envelope ramps up at start, measured in milliseconds. A value of 0 means instant. + ATT, oder Anschwellzeit, regelt, wie schnell die Hüllkurve am Anfang steigt, in Millisekunden gemessen. Ein Wert von 0 bedeutet sofort. + + + HOLD controls how long the envelope stays at peak after the attack phase. + HOLD kontrolliert, wie lange die Hüllkurve nach der Anschwellphase an der Spitze bleibt. + + + DEC, or decay, controls how fast the envelope falls off from its peak, measured in milliseconds it would take to go from peak to zero. The actual decay may be shorter if sustain is used. + DEC, oder Abschwellzeit, regelt, wie schnell die Hüllkurve von ihrer Spitze auf Null abfällt, in Millisekunden gemessen. Die tatsächliche Abschwellzeit ist möglicherweise kürzer, wenn Dauerpegel benutzt wird. + + + SUS, or sustain, controls the sustain level of the envelope. The decay phase will not go below this level as long as the note is held. + SUS, oder Dauerpegel (sustain), regelt den Dauerpegel der Hüllkurve. Die Abfallphase geht nicht unter diesen Pegel, solange die Note gehalten wird. + + + REL, or release, controls how long the release is for the note, measured in how long it would take to fall from peak to zero. Actual release may be shorter, depending on at what phase the note is released. + REL, oder Ausklingzeit (release), regelt, wie lange die Ausklingzeit für die Note von ihrer Spitze auf Null ist, gemessen in Millisekunden. Die tatsächliche Ausklingzeit ist möglicherweise kürzer, abhängig davon, in welcher Phase die Note losgelassen wird. + + + The slope knob controls the curve or shape of the envelope. A value of 0 creates straight rises and falls. Negative values create curves that start slowly, peak quickly and fall of slowly again. Positive values create curves that start and end quickly, and stay longer near the peaks. + Der Neigungsregler steuert die Kurve oder Form der Hüllkurve. Ein Wert von 0 erzeugt einen direkten Anstieg und Abfall. Negative Werte erzeugen Kurven, die langsam starten, schnell die Spitze erreichen und wieder langsam abfallen. Positive Werte erzeugen Kurven, die schnell starten und enden und länger in der Nähe der Spitze bleiben. - - - Volume - + Lautstärke - - - Panning - + Balance - - - Coarse detune - + Grobverstimmung - - - semitones - + Halbtöne - - - Fine tune left - + Finetune left + Feinabstimmung links - - - - cents - + Cent - - - Fine tune right - + Finetune right + Feinabstimmung rechts - - - Stereo phase offset - + Stereophasenversatz - - - - - deg - + Grad - Pulse width - + Pulsbreite - Send sync on pulse rise - + Sync bei Pulsanstieg senden - Send sync on pulse fall - + Sync bei Pulsabfall senden - Hard sync oscillator 2 - + Hard-sync für Oszillator 2 - Reverse sync oscillator 2 - + Reverse-sync für Oszillator 2 - Sub-osc mix - + Sub-Osz-Mix - Hard sync oscillator 3 - + Hard-sync für Oszillator 3 - Reverse sync oscillator 3 - + Reverse-sync für Oszillator 3 - - - - Attack - + Anschwellzeit (attack) - - Rate - + Rate - - Phase - + Phase - - Pre-delay - + Vorverzögerung - - Hold - + Haltezeit (hold) - - Decay - + Abfallzeit - - Sustain - + Haltepegel (sustain) - - Release - + Ausklingzeit (release) - - Slope - + Neigung - - Mix osc 2 with osc 3 - - - - - Modulate amplitude of osc 3 by osc 2 - - - - - Modulate frequency of osc 3 by osc 2 - - - - - Modulate phase of osc 3 by osc 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modulation amount - + Modulationsintensität + + + Fine tune left + Feinabstimmung links + + + Fine tune right + Feinabstimmung rechts + + + Mix osc 2 with osc 3 + Oszillator 2 mit Oszillator 3 mischen + + + Modulate amplitude of osc 3 by osc 2 + Amplitude von Oszillator 3 mit Oszillator 2 modulieren + + + Modulate frequency of osc 3 by osc 2 + Frequenz von Oszillator 3 mit Oszillator 2 modulieren + + + Modulate phase of osc 3 by osc 2 + Phase von Oszillator 3 mit Oszillator 2 modulieren lmms::gui::MultitapEchoControlDialog - Length - + Länge - Step length: - + Schrittlänge: - Dry - + Dry - - Dry gain: - + Dry Gain: + Dry-Verstärkung: - Stages - + Stufen - - Low-pass stages: - + Lowpass stages: + Tiefpassstufen: - Swap inputs - + Eing. vert. + + + Swap left and right input channel for reflections + Linken und rechten Eingangskanal für Reflextionen vertauschen + + + Dry gain: + Dry-Verstärkung: + + + Low-pass stages: + Tiefpassstufen: - Swap left and right input channels for reflections - + Linken und rechten Eingangskanal für Reflextionen vertauschen lmms::gui::NesInstrumentView - - - - Volume - + Lautstärke - - - Coarse detune - + Grobverstimmung - - - Envelope length - + Hüllkurvenlänge - Enable channel 1 - + Kanal 1 aktivieren - Enable envelope 1 - + Hüllkurve 1 aktivieren - Enable envelope 1 loop - + Hüllkurvenschleife 1 aktivieren - Enable sweep 1 - + Streichen 1 aktivieren - - Sweep amount - + Streichstärke - - Sweep rate - + Streichrate - - 12.5% Duty cycle - + 12,5 % Tastgrad - - 25% Duty cycle - + 25 % Tastgrad - - 50% Duty cycle - + 50 % Tastgrad - - 75% Duty cycle - + 75 % Tastgrad - Enable channel 2 - + Kanal 2 aktivieren - Enable envelope 2 - + Hüllkurve 2 aktivieren - Enable envelope 2 loop - + Hüllkurvenschleife 2 aktivieren - Enable sweep 2 - + Streichen 2 aktivieren - Enable channel 3 - + Kanal 3 aktivieren - Noise Frequency - + Rauschfrequenz - Frequency sweep - + Frequenzstreichen - Enable channel 4 - + Kanal 4 aktivieren - Enable envelope 4 - + Hüllkurve 4 aktivieren - Enable envelope 4 loop - + Hüllkurvenschleife 4 aktivieren - Quantize noise frequency when using note frequency - + Rauschfrequenz quantisieren, wenn Notenfrequenz benutzt wird - Use note frequency for noise - + Notenfrequenz für Rauschen verwenden - Noise mode - + Rauschmodus - - Master volume - + Master Volume + Master-Lautstärke - Vibrato - + Vibrato + + + Master volume + Master-Lautstärke lmms::gui::OpulenzInstrumentView - - Attack - + Anschwellzeit (attack) - - Decay - + Abfallzeit - - Release - + Ausklingzeit (release) - - Frequency multiplier - + Frequenzfaktor lmms::gui::OrganicInstrumentView - Distortion: - + Verzerrung: - Volume: - + Lautstärke: - Randomise - + Zufallswerte - - Osc %1 waveform: - + Oszillator-%1-Wellenform: - Osc %1 volume: - + Oszillator-%1-Lautstärke: - Osc %1 panning: - + Oszillator-%1-Balance: - - Osc %1 stereo detuning - - - - cents - + Cent + + + The distortion knob adds distortion to the output of the instrument. + Der Verzerrungsregler fügt Verzerrung zur Ausgabe des Instruments hinzu. + + + The volume knob controls the volume of the output of the instrument. It is cumulative with the instrument window's volume control. + Der Lautstärkeregler kontrolliert die Lautstärke des Instruments. Er ist gleich dem Lautstärkeregler des Instrumentenfensters. + + + The randomize button randomizes all knobs except the harmonics,main volume and distortion knobs. + Der Zufallsknopf setzt alle Regler auf zufällige Werte, außer den Harmonien, der Hauptlautstärke und den Verzerrungsreglern. + + + Osc %1 stereo detuning + Oszillator-%1-Stereoverstimmung - Osc %1 harmonic: - + Oszillator-%1-Harmonie: lmms::gui::Oscilloscope - Oscilloscope - + Oszilloskop - Click to enable - + Klicken zum Aktivieren lmms::gui::PatmanView - - Open patch - + Open other patch + Andere Patch-Datei öffnen + + + Click here to open another patch-file. Loop and Tune settings are not reset. + Klicken Sie hier, um eine andere Patch-Datei zu laden. Wiederholungs- und Stimmungseinstellungen werden nicht zurückgesetzt. - Loop - + Wiederholen - Loop mode - + Modus beim Wiederholen + + + Here you can toggle the Loop mode. If enabled, PatMan will use the loop information available in the file. + Hier können Sie den Wiederholen-Modus (de-)aktivieren. Wenn aktiviert, verwendet PatMan die in der Datei verfügbaren Informationen zum Wiederholen. - Tune - + Stimmung - Tune mode - + Stimmungsmodus + + + Here you can toggle the Tune mode. If enabled, PatMan will tune the sample to match the note's frequency. + Hier können Sie den Stimmungs-Modus (de-)aktivieren. Wenn aktiviert, wird der Klang automatisch an die Frequenz der Note angepasst. - No file selected - + Keine Datei ausgewählt - Open patch file - + Patch-Datei öffnen - Patch-Files (*.pat) - + Patch-Dateien (*.pat) + + + Open patch + Patch öffnen lmms::gui::PatternClipView - Open in Pattern Editor - + Im Pattern-Editor öffnen - Reset name - + Name zurücksetzen - Change name - + Name ändern lmms::gui::PatternEditorWindow - Pattern Editor - + Pattern-Editor - Play/pause current pattern (Space) - + Aktuelles Pattern abspielen/pausieren (Leertaste) - Stop playback of current pattern (Space) - + Wiedergabe des aktuellen Patterns stoppen (Leertaste) - Pattern selector - + Pattern-Wähler - Track and step actions - + Spur-und-Schritt-Aktionen - New pattern - + Neues Pattern - Clone pattern - + Pattern klonen - Add sample-track - + Sample-Spur hinzufügen - Add automation-track - + Automations-Spur hinzufügen - Remove steps - + Schritte entfernen - Add steps - + Schritte hinzufügen - Clone Steps - + Schritte klonen lmms::gui::PeakControllerDialog - PEAK - + PEAK - LFO Controller - + LFO-Controller lmms::gui::PeakControllerEffectControlDialog - BASE - + BASI - Base: - + Basis: - AMNT - + INTE - Modulation amount: - + Modulationsintensität: - MULT - + FAKT - Amount multiplicator: - + Intensitätsfaktor: - ATCK - + ATCK - Attack: - + Anschwellzeit (attack): - DCAY - + DCAY - Release: - + Ausklingzeit (release): - TRSH - + SCHW - Treshold: - + Schwellwert: - Mute output - + Ausgang stumm - Absolute value - + Absolutwert lmms::gui::PeakIndicator - -inf - + -unendl. lmms::gui::PianoRoll - - Note Velocity - + Please open a pattern by double-clicking on it! + Bitte öffnen Sie einen Pattern, indem Sie ihn doppelklicken! - - Note Panning - - - - - Mark/unmark current semitone - - - - - Mark/unmark all corresponding octave semitones - - - - - Mark current scale - - - - - Mark current chord - - - - - Unmark all - - - - - Select all notes on this key - - - - - Note lock - - - - Last note - + Letzte Note - - No key - + Note lock + Notenraster + + + Note Velocity + Noten-Lautst. + + + Note Panning + Noten-Balance + + + Mark/unmark current semitone + Aktuellen Halbton markieren/demarkieren + + + Mark current scale + Aktuelle Tonleiter markieren + + + Mark current chord + Aktuellen Akkord markieren + + + Unmark all + Alles Markierungen entfernen - No scale - + Keine Tonleiter - No chord - + Kein Akkord - - Nudge - - - - - Snap - - - - Velocity: %1% - + Lautstärke: %1 % - Panning: %1% left - + Balance: %1 % links - Panning: %1% right - + Balance: %1 % rechts - Panning: center - + Balance: mittig - - Glue notes failed - - - - - Please select notes to glue first. - - - - - Please open a clip by double-clicking on it! - - - - - Please enter a new value between %1 and %2: - + Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + + Mark/unmark all corresponding octave semitones + Alle korrespondierenden Oktavenhalbtöne markieren/demarkieren + + + Select all notes on this key + Alle Noten an dieser Taste auswählen + + + No key + Keine Tonart + + + Nudge + + + + Snap + Einrasten + + + Glue notes failed + Notenkleben fehlgeschlagen + + + Please select notes to glue first. + Bitte wählen Sie zuerest die zu klebenden Noten. + + + Please open a clip by double-clicking on it! + Bitte öffnen Sie einen Clip, indem Sie ihn doppelklicken! lmms::gui::PianoRollWindow - - Play/pause current clip (Space) - + Play/pause current pattern (Space) + Aktuelles Pattern abspielen/pausieren (Leertaste) - Record notes from MIDI-device/channel-piano - + Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen - - Record notes from MIDI-device/channel-piano while playing song or pattern track - + Record notes from MIDI-device/channel-piano while playing song or BB track + Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen, während der Song bzw. die BB-Spur abgespielt wird - - Record notes from MIDI-device/channel-piano, one step at the time - + Stop playing of current pattern (Space) + Abspielen des aktuellen Patterns stoppen (Leertaste) - - Stop playing of current clip (Space) - + Click here to play the current pattern. This is useful while editing it. The pattern is automatically looped when its end is reached. + Klicken Sie hier, um das aktuelle Pattern abzuspielen. Dies ist nützlich bei der Bearbeitung. Das Pattern wird automatisch wiederholt, wenn das Ende erreicht wird. - - Edit actions - + Click here to record notes from a MIDI-device or the virtual test-piano of the according channel-window to the current pattern. When recording all notes you play will be written to this pattern and you can play and edit them afterwards. + Klicken Sie hier, um Noten von einem MIDI-Gerät oder dem virtuellen Testpiano des dazugehörigen Kanalfensters zum aktuellen Pattern aufzunehmen. Bei der Aufnahme werden alle von Ihnen gespielte Noten in das Pattern geschrieben. Sie können diese anschließend abspielen und bearbeiten. + + + Click here to record notes from a MIDI-device or the virtual test-piano of the according channel-window to the current pattern. When recording all notes you play will be written to this pattern and you will hear the song or BB track in the background. + Klicken Sie hier, um Noten von einem MIDI-Gerät oder dem virtuellen Testpiano des dazugehörigen Kanalfensters zum aktuellen Pattern aufzunehmen. Bei der Aufnahme werden alle von Ihnen gespielte Noten in das Pattern geschrieben, dabei werden den Song oder die BB-Spur im Hintergrund hören. + + + Click here to stop playback of current pattern. + Klicken Sie hier, um die Wiedergabe des aktuellen Patterns zu stoppen. - Draw mode (Shift+D) - + Zeichnenmodus (Umschalt+D) - Erase mode (Shift+E) - + Radiermodus (Umschalt+E) - Select mode (Shift+S) - + Auswahlmodus (Umschalt+S) - - Pitch Bend mode (Shift+T) - + Detune mode (Shift+T) + Verstimmungsmodus (Umschalt+T) - - Quantize - + Click here and draw mode will be activated. In this mode you can add, resize and move notes. This is the default mode which is used most of the time. You can also press 'Shift+D' on your keyboard to activate this mode. In this mode, hold %1 to temporarily go into select mode. + Klicken Sie hier, um den Zeichenmodus zu aktivieren. In diesem Modus können Sie Noten hinzufügen, skalieren und verschieben. Dies ist der Standardmodus, der die meiste Zeit benutzt wird. Sie können auch »Umschalt+D« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. Wenn Sie in diesen Modus »%1« gedrückt halten, können Sie temporär in den Auswahlmodus gehen. - - Quantize positions - + Click here and erase mode will be activated. In this mode you can erase notes. You can also press 'Shift+E' on your keyboard to activate this mode. + Klicken Sie hier, um den Löschmodus zu aktivieren. In diesen Modus können Sie Noten löschen. Sie können auch »Umschalt+E« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. - - Quantize lengths - + Click here and select mode will be activated. In this mode you can select notes. Alternatively, you can hold %1 in draw mode to temporarily use select mode. + Klicken Sie hier, um den Auswahlmodus zu aktivieren. In diesen Modus können Sie Noten auswählen. Alternativ können Sie %1 gedrückt halten, um den Auswahlmodus temporär zu benutzen. - - File actions - + Click here and detune mode will be activated. In this mode you can click a note to open its automation detuning. You can utilize this to slide notes from one to another. You can also press 'Shift+T' on your keyboard to activate this mode. + Klicken Sie hier, um den Verstimmungsmodus zu aktivieren. In diesem Modus können Sie eine Note anklicken, um ihre Automationsverstimmung zu öffnen. Sie können dies benutzen, um Noten von einer zur nächsten zu schieben. Sie können auch »Umschalt+T« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. - - Import clip - + Cut selected notes (%1+X) + Ausgewählte Noten ausschneiden (%1+X) - - - Export clip - + Copy selected notes (%1+C) + Ausgewählte Noten kopieren (%1+C) + + + Paste notes from clipboard (%1+V) + Noten aus Zwischenablage einfügen (%1+V) + + + Click here and the selected notes will be cut into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. + Klicken Sie hier, um die ausgewählten Noten auszuschneiden und in die Zwischenablage abzulegen. Sie können sie an einer beliebigen Stelle in einem beliebigen Pattern einfügen, indem Sie auf den Einfügen-Knopf klicken. + + + Click here and the selected notes will be copied into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. + Klicken Sie hier, um die ausgewählten Noten in die Zwischenablage zu kopieren. Sie können sie an einer beliebigen Stelle in einem beliebigen Pattern einfügen, indem Sie auf den Einfügen-Knopf klicken. + + + Click here and the notes from the clipboard will be pasted at the first visible measure. + Klicken Sie hier, um die Noten aus der Zwischenablage im ersten sichtbaren Takt einzufügen. + + + This controls the magnification of an axis. It can be helpful to choose magnification for a specific task. For ordinary editing, the magnification should be fitted to your smallest notes. + Dies steuert die Vergrößerung einer Achse. Es kann hilfreich für bestimmte Aufgaben sein, eine Vergrößerung auszuwählen. Für die normale Bearbeitung sollte die Vergrößerung an Ihre kleinsten Noten angepasst sein. + + + The 'Q' stands for quantization, and controls the grid size notes and control points snap to. With smaller quantization values, you can draw shorter notes in Piano Roll, and more exact control points in the Automation Editor. + Das »Q« steht für Quantisierung und legt die Rastergröße fest, in der Noten und Steuerungspunkte eingerastet werden. Mit kleineren Quantisierungswerten können Sie kürzere Noten in der Piano-Roll zeichnen und exaktere Kontrollpunkte im Automations-Editor zeichnen. + + + This lets you select the length of new notes. 'Last Note' means that LMMS will use the note length of the note you last edited + Damit können Sie die Länge neuer Noten festlegen. »Letzte Note« bedeutet, dass LMMS die Notenlänge der Note, die sie als letzte bearbeitet haben, benutzen wird + + + The feature is directly connected to the context-menu on the virtual keyboard, to the left in Piano Roll. After you have chosen the scale you want in this drop-down menu, you can right click on a desired key in the virtual keyboard, and then choose 'Mark current Scale'. LMMS will highlight all notes that belongs to the chosen scale, and in the key you have selected! + Das Feature ist direkt mit dem Kontextmenü des virtuellen Keyboards an der linken Seite des Piano-Rolls verbunden. Nachdem Sie die von Ihnen gewünschte Tonleiter in diesem Aufklappmenü ausgewählt haben, können Sie auf eine gewünschte Taste auf dem virtuellen Keyboard rechtsklicken, und dann »Aktuelle Tonleiter markieren« auswählen. LMMS wird alle Noten, welche zur gewählten Tonleiter gehören, hervorheben, und zwar im Bezug auf der von Ihnen gewählten Taste. + + + Let you select a chord which LMMS then can draw or highlight.You can find the most common chords in this drop-down menu. After you have selected a chord, click anywhere to place the chord, and right click on the virtual keyboard to open context menu and highlight the chord. To return to single note placement, you need to choose 'No chord' in this drop-down menu. + Damit können Sie einen Akkord auswählen, den LMMS anschließend zeichnen oder hervorheben wird. Sie können die am meisten verwendeten Akkorde in diesem Aufklappmenü finden. Nachdem Sie einen Akkord ausgewählt haben, klicken Sie an eine beliebige Stelle, um ihn zu platzieren, und rechtsklicken Sie auf dem virtuellen Keyboard, um das Kontextmenü zu öffnen und den Akkord hervorzuheben. Um zur Platzierung einzelner Noten zurückzukehren, müssen Sie »Kein Akkord« in diesem Aufklappmenü auswählen. + + + Edit actions + Aktionen bearbeiten - Copy paste controls - + Kopieren-Einfügen-Steuerung - - Cut (%1+X) - - - - - Copy (%1+C) - - - - - Paste (%1+V) - - - - Timeline controls - + Zeitachsensteuerung - - Glue - - - - - Knife - - - - - Fill - - - - - Cut overlaps - - - - - Min length as last - - - - - Max length as last - - - - Zoom and note controls - + Zoom- und Notensteuerung - - Horizontal zooming - - - - - Vertical zooming - - - - - Quantization - - - - - Note length - - - - - Key - - - - - Scale - - - - - Chord - - - - - Snap mode - - - - - Clear ghost notes - - - - - Piano-Roll - %1 - + Piano-Roll – %1 + + + Piano-Roll - no pattern + Piano-Roll – kein Pattern + + + Quantize + Quantisieren + + + Play/pause current clip (Space) + Aktuellen Clip abspielen/pausieren (Leertaste) + + + Record notes from MIDI-device/channel-piano while playing song or pattern track + Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen, während der Song oder die Pattern-Spur abgespielt wird + + + Record notes from MIDI-device/channel-piano, one step at the time + Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen, Schritt für Schritt + + + Stop playing of current clip (Space) + Wiedergabe des aktuellen Clips stoppen (Leertaste) + + + Pitch Bend mode (Shift+T) + Tonhöhenverzerrungsmodus (Umschalt+T) + + + Quantize positions + Positionen quantisieren + + + Quantize lengths + Längen quantisieren + + + File actions + Dateiaktionen + + + Import clip + Clip importieren + + + Export clip + Clip exportieren + + + Cut (%1+X) + Ausschneiden (%1+X) + + + Copy (%1+C) + Kopieren (%1+C) + + + Paste (%1+V) + Einfügen (%1+V) + + + Glue + Klebstoff + + + Knife + Messer + + + Fill + Füllen + + + Cut overlaps + Überlappungen ausschneiden + + + Min length as last + Min. Länge als letzte + + + Max length as last + Max. Länge als letzte + + + Horizontal zooming + Horizontales zoomen + + + Vertical zooming + Vertikales zoomen + + + Quantization + Quantisierung + + + Note length + Notenlänge + + + Key + Tonart + + + Scale + Tonleiter + + + Chord + Akkord + + + Snap mode + Einrastmodus + + + Clear ghost notes + Geistnoten leeren - - Piano-Roll - no clip - + Piano-Roll – kein Clip - - XML clip file (*.xpt *.xptz) - + XML-Clipdatei (*.xpt *xptz) - Export clip success - + Clip-Export erfolgreich - Clip saved to %1 - + Clip nach %1 abgespeichert - Import clip. - + Clip importieren. - You are about to import a clip, this will overwrite your current clip. Do you want to continue? - + Sie sind im Begriff, einen Clip zu importieren, dies wird Ihren aktuellen Clip überschreiben. Möchten Sie fortfahren? - Open clip - + Clip öffnen - Import clip success - + Clip-Import erfolgreich - Imported clip %1! - + Clip %1 importiert! lmms::gui::PianoView - Base note - + Grundton - First note - + Erste Note - Last note - + Letzte Note lmms::gui::PluginBrowser - Instrument Plugins - + Instrument-Plugins - Instrument browser - + Instrument-Browser - Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. - + Ziehen Sie ein Instrument entweder in den Song-Editor, den Pattern-Editor oder einer existierenden Instrumentspur. - Search - + Suchen lmms::gui::PluginDescWidget - Send to new instrument track - + Zu neuer Instrumentspur senden lmms::gui::ProjectNotes - - Project Notes - + Project notes + Projektnotizen - - Enter project notes here - + Put down your project notes here. + Schreiben Sie hier Ihre Projektnotizen auf. - Edit Actions - + Aktionen bearbeiten - &Undo - + &Rückgängig - %1+Z - + %1+Z - &Redo - + &Wiederholen - %1+Y - + %1+Y - &Copy - + &Kopieren - %1+C - + %1+C - Cu&t - + Ausschnei&den - %1+X - + %1+X - &Paste - + &Einfügen - %1+V - + %1+V - Format Actions - + Formataktionen - &Bold - + &Fett - %1+B - + %1+B - &Italic - + &Kursiv - %1+I - + %1+l - &Underline - + &Unterstrichen - %1+U - + %1+U - &Left - + &Links - %1+L - + %1+L - C&enter - + Z&entrieren - %1+E - + %1+E - &Right - + &Rechts - %1+R - + %1+R - &Justify - + &Blocksatz - %1+J - + %1+J - &Color... - + &Farbe … + + + Project Notes + Projektnotizen + + + Enter project notes here + Hier Projektnotizen eingeben lmms::gui::RecentProjectsMenu - &Recently Opened Projects - + &Zuletzt geöffnete Projekte lmms::gui::RenameDialog - Rename... - + Umbenennen … lmms::gui::ReverbSCControlDialog - Input - + Eingang - Input gain: - + Eingangsverstärkung: - Size - + Größe - Size: - + Größe: - Color - + Farbe - Color: - + Farbe: - Output - + Ausgabe - Output gain: - + Ausgabeverstärkung: lmms::gui::SaControlsDialog - Pause - + Pause - Pause data acquisition - + Datensammlung pausieren - Reference freeze - + Referenz einfrieren - Freeze current input as a reference / disable falloff in peak-hold mode. - + Aktuellen Eingang als Referenz einfrieren / Falloff im »Peak halten«-Modus deaktivieren. - Waterfall - + Wasserfall - Display real-time spectrogram - + Echtzeitspektrogramm anzeigen - Averaging - + Mittelung - Enable exponential moving average - + Exponentiellen gleitenden Durchschnitt aktivieren - Stereo - + Stereo - Display stereo channels separately - + Stereokanäle separat anzeigen - Peak hold - + Peak halten - Display envelope of peak values - + Hüllkurve von Spitzenwerten anzeigen - Logarithmic frequency - + Logarithmische Frequenz - Switch between logarithmic and linear frequency scale - + Zwischen logarithmischer und linearer Frequenzskala wechseln - - Frequency range - + Frequenzbereich - Logarithmic amplitude - + Logarithmische Amplitude - Switch between logarithmic and linear amplitude scale - + Zwischen logarithmischer und linearer Amplitudenskala wechseln - - Amplitude range - + Amplitudenbereich - - FFT block size - + FFT-Blockgröße - - FFT window type - + FFT-Fenster-Typ - Envelope res. - + Hüllkurven-Res. - Increase envelope resolution for better details, decrease for better GUI performance. - + Hüllkurvenauflösung für bessere Details erhöhen; verringern für bessere GUI-Performanz. - Maximum number of envelope points drawn per pixel: - + Maximale Anzahl gezeichneter Hüllkurvenpunkte pro Pixel: - Spectrum res. - + Spektrumsres. - Increase spectrum resolution for better details, decrease for better GUI performance. - + Spektrumsresolution für bessere Details erhöhen; verringern für bessere GUI-Performanz. - Maximum number of spectrum points drawn per pixel: - + Maximale Anzahl gezeichneter Spektrumspunkte pro Pixel: - Falloff factor - + Falloff-Faktor - Decrease to make peaks fall faster. - + Verringern, damit Spitzen schneller fallen. - Multiply buffered value by - + Gepufferten Wert multiplizieren mit - Averaging weight - + Mittelungsgewicht - Decrease to make averaging slower and smoother. - + Verringern, damit die Mittelung langsamer und weicher abläuft. - New sample contributes - + Neues Sample gibt - Waterfall height - + Wasserfallhöhe - Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - + Erhöhen, um ein langsameres Scrollen zu erhalten, verringern, um schnelle Übergänge schneller zu sehen. Achtung: Hoher CPU-Bedarf. - Number of lines to keep: - + Anzahl der zu behaltenden Zeilen: - Waterfall gamma - + Wasserfallgamma - Decrease to see very weak signals, increase to get better contrast. - + Verringern, um sehr schwache Signale zu sehen, erhöhen, um besseren Kontrast zu erhalten. - Gamma value: - + Gammawert: - Window overlap - + Fensterüberlappung - Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - + Erhöhen, um das Verfehlen von schnellen Übergängen beim Erreichen der Nähe von FFT-Fensterkanten zu verhindern. Achtung: Hoher CPU-Bedarf. - Number of times each sample is processed: - + Wie oft jedes Sample verarbeitet wird: - Zero padding - + Zero-Padding - Increase to get smoother-looking spectrum. Warning: high CPU usage. - + Erhöhen, um ein weicher aussehendes Spektrum zu erhalten. Achtung: Hoher CPU-Bedarf. - Processing buffer is - + Verarbeitungspuffer ist - steps larger than input block - + Schritte größer als Eingangsblock - Advanced settings - + Erweiterte Einstellungen - Access advanced settings - + Auf erweiterte Einstellungen zugreifen lmms::gui::SampleClipView - Double-click to open sample - + Doppelklick, um Sample zu öffnen - Reverse sample - + Sample umkehren - Set as ghost in automation editor - + Als Geist im Automations-Editor setzen lmms::gui::SampleTrackView - Mixer channel - + Mischkanal - Track volume - + Spurlautstärke - Channel volume: - + Kanallautstärke: - VOL - + LAU - Panning - + Balance - Panning: - + Balance: - PAN - + BAL - %1: %2 - + %1: %2 lmms::gui::SampleTrackWindow - Sample volume - + Sample-Lautstärke - Volume: - + Lautstärke: - VOL - + LAU - Panning - + Balance - Panning: - + Balance: - PAN - + BAL - Mixer channel - + Mixerkanal - CHANNEL - + KANAL lmms::gui::SaveOptionsWidget - Discard MIDI connections - + MIDI-Verbindungen verwerfen - Save As Project Bundle (with resources) - + Als Projekt-Bundle (mit Ressourcen) speichern lmms::gui::SetupDialog - Settings - + Einstellungen - - General - + Allgemein - Graphical user interface (GUI) - + Grafische Benutzeroberfläche (GUI) - Display volume as dBFS - + Lautstärke als dbFS anzeigen - Enable tooltips - + Tooltips aktivieren - Enable master oscilloscope by default - + Master-Oszilloskop standardmäßig aktivieren - Enable all note labels in piano roll - + Alle Notenbeschriftungen im Piano-Roll aktivieren - Enable compact track buttons - + Kompakte Spurknöpfe aktivieren - Enable one instrument-track-window mode - + Ein-Instrument-Spur-Fenster-Modus aktivieren - Show sidebar on the right-hand side - + Seitenleiste an der rechten Seite anzeigen - Let sample previews continue when mouse is released - + Sample-Vorschauen weiterlaufen lassen, wenn Maus losgelassen wird - Mute automation tracks during solo - + Automations-Spuren beim Solo stummschalten - Show warning when deleting tracks - + Warnung beim Löschen von Spuren anzeigen - Show warning when deleting a mixer channel that is in use - + Warnung beim Löschen eines Mischkanals, der benutzt wird, anzeigen - Dual-button - + Zweifachknopf - Grab closest - + Nächsten fangen - Handles - + Greifer - Loop edit mode - + Schleifenbearbeitungsmodus - Projects - + Projekte - Compress project files by default - + Projektdateien standardmäßig komprimieren - Create a backup file when saving a project - + Wiederherstellungsdatei beim Speichern eines Projekts erstellen - Reopen last project on startup - + Zuletzt geöffnetes Projekt automatisch öffnen - Language - + Sprache - - Performance - + Performanz - Autosave - + Autospeichern - Enable autosave - + Automatisches Speichern aktivieren - Allow autosave while playing - + Auto-Speichern während der Wiedergabe erlauben - User interface (UI) effects vs. performance - + UI-Effekte vs. Performanz - Smooth scroll in song editor - + Weiches Scrollen im Song-Editor - Display playback cursor in AudioFileProcessor - + Wiedergabecursor in AudioFileProcessor anzeigen - Plugins - + Plugins - VST plugins embedding: - + VST-Plugins-Einbettung: - No embedding - + Keine Einbettung - Embed using Qt API - + Mit Qt-API einbetten - Embed using native Win32 API - + Mit nativer Win32-API einbetten - Embed using XEmbed protocol - + Mit XEmbed-Protokoll einbetten - Keep plugin windows on top when not embedded - + Pluginfenster oben halten, wenn nicht eingebettet - Keep effects running even without input - + Effekte auch ohne Eingabe weiterlaufen lassen - - Audio - + Audio - Audio interface - + Audio-Interface - Buffer size - + Puffergröße - Reset to default value - + Auf Standardwert zurücksetzen - - MIDI - + MIDI - MIDI interface - + MIDI-Interface - Automatically assign MIDI controller to selected track - + Automatisch MIDI-Controller zur gewählten Spur zuweisen - Behavior when recording - + Verhalten bei Aufnahme - Auto-quantize notes in Piano Roll - + Noten im Piano-Roll automatisch quantisieren - If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. - + Falls aktiviert, werden die Noten bei der Aufnahme von einem MIDI-Controller automatisch quantisiert. Falls deaktiviert, werden sie immer an der höchst möglichen Auflösung aufgenommen. - - Paths - + Pfade - LMMS working directory - + LMMS-Arbeitsverzeichnis - VST plugins directory - + VST-Plugin-Verzeichnis - LADSPA plugins directories - + LADSPA-Plugin-Verzeichnisse - SF2 directory - + SF2-Verzeichnis - Default SF2 - + Standard-SF2 - GIG directory - + GIG-Verzeichnis - Theme directory - + Themen-Verzeichnis - Background artwork - + Hintergrundgrafik - Some changes require restarting. - + Einige Änderungen benötigen einen Neustart. - OK - + OK - Cancel - + Abbrechen - minutes - + Minuten - minute - + Minute - Disabled - + Deaktiviert - Autosave interval: %1 - + Autospeichern-Intervall: %1 - The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. - + Der momentan gewählte Wert ist keine Zweierpotenz (32, 64, 128, 256). Einige Plugins könnten nicht verfügbar sein. - The currently selected value is less than or equal to 32. Some plugins may not be available. - + Der momentan gewählte Wert ist kleinergleich 32. Einige Plugins könnten nicht verfügbar sein. - Frames: %1 Latency: %2 ms - + Frames: %1 +Latenz: %2 ms - Choose the LMMS working directory - + Wählen Sie das LMMS-Arbeitsverzeichnis - Choose your VST plugins directory - + Wählen Sie Ihr VST-Plugin-Verzeichnis - Choose your LADSPA plugins directory - + Wählen Sie Ihr VST-Plugin-Verzeichnis - Choose your SF2 directory - + Wählen Sie Ihr SF2-Verzeichnis - Choose your default SF2 - + Wählen Sie Ihr Standard-SF2 - Choose your GIG directory - + Wählen Sie Ihr GIG-Verzeichnis - Choose your theme directory - + Wählen Sie Ihr Themen-Verzeichnis - Choose your background picture - + Wählen Sie Ihr Hintergrundbild lmms::gui::Sf2InstrumentView - - Open SoundFont file - + SoundFont-Datei öffnen - Choose patch - + Patch wählen - Gain: - + Verstärkung: - Apply reverb (if supported) - + Hall anwenden (wenn unterstützt) - Room size: - + Raumgröße: - Damping: - + Dämpfung: - Width: - + Weite: - - Level: - + Stufe: - Apply chorus (if supported) - + Chorus-Effekt anwenden (wenn unterstützt) - Voices: - + Stimmen: - Speed: - + Geschwindigkeit: - Depth: - + Tiefe: - SoundFont Files (*.sf2 *.sf3) - + SoundFont-Dateien (*.sf2 *.sf3) lmms::gui::SidInstrumentView - Volume: - + Lautstärke: - Resonance: - + Resonanz: - - Cutoff frequency: - + Kennfrequenz: - High-pass filter - + Hochpassfilter - Band-pass filter - + Bandpassfilter - Low-pass filter - + Tiefpassfilter - Voice 3 off - + Stimme 3 lautlos - MOS6581 SID - + MOS6581 SID - MOS8580 SID - + MOS8580 SID - - Attack: - + Anschwellzeit (attack): - - Decay: - + Abfallzeit (decay): - Sustain: - + Dauerpegel (sustain): - - Release: - + Ausklingzeit (release): - Pulse Width: - + Pulsbreite: - Coarse: - + Grob: - Pulse wave - + Pulswelle - Triangle wave - + Dreieckwelle - Saw wave - + Sägezahnwelle - Noise - + Rauschen - Sync - + Synchron - Ring modulation - + Ringmodulation - Filtered - + Gefiltert - Test - + Test - Pulse width: - + Pulsbreite: lmms::gui::SideBarWidget - Close - + Schließen lmms::gui::SlicerTView - Slice snap - + Slice einrasten - Set slice snapping for detection - + Slice-Einrastung für Erkennung setzen - Sync sample - + Sample synchronisieren - Enable BPM sync - + BMP-Sync. aktivieren - Original sample BPM - + Originale Sample-BPM - Threshold used for slicing - + Schwellwert für das Slicing - Fade Out per note in milliseconds - + Ausblendung je Note in Millisekunden - Copy midi pattern to clipboard - + MIDI-Pattern in Zwischenablage kopieren - Open sample selector - + Sample-Wähler öffnen - Reset slices - + Slices zurücksetzen - Threshold - + Schwellwert - Fade Out - + Ausblenden - Reset - + Zurücksetzen - Midi - + Midi - BPM - + BPM - Snap - + Einrasten lmms::gui::SlicerTWaveform - Click to load sample - + Klicken, um Sample zu laden lmms::gui::SongEditor - Could not open file - + Konnte Datei nicht öffnen - Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - + Konnte die Datei %1 nicht öffnen. Sie sind wahrscheinlich nicht berechtigt, diese Datei zu lesen. + Bitte stellen Sie sicher, dass Sie wenigstens Leserechte auf diese Datei besitzen und versuchen es erneut. - Operation denied - + Aktion verweigert - A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - + Ein Bundle-Ordner mit diesem Namen existiert bereits am gewählten Pfad. Ein Projekt-Bundle kann nicht überschrieben werden. Bitte wählen Sie einen anderen Namen. - - - Error - + Fehler - Couldn't create bundle folder. - + Konnte Bundle-Ordner nicht erstellen. - Couldn't create resources folder. - + Konnte Ressourcenordner nicht erstellen. - Failed to copy resources. - + Fehler beim Kopieren von Ressourcen. - - Could not write file - + Konnte Datei nicht schreiben - Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - + Konnte %1 nicht zum Schreiben öffnen. Sie sind wahrscheinlich nicht dazu berechtigt, in diese Datei zu schreiben. Bitte stellen Sie sicher, dass Sie Schreibrechte für diese Datei haben und versuchen Sie es erneut. - An unknown error has occurred and the file could not be saved. - + Ein unbekannter Fehler ist aufgetreten und die Datei konnte nicht gespeichert werden. - Error in file - + Fehler in Datei - The file %1 seems to contain errors and therefore can't be loaded. - + Die Datei %1 scheint fehlerhaft zu sein und kann daher nicht geladen werden. - template - + Vorlage - project - + Projekt - Version difference - + Versionsunterschied - This %1 was created with LMMS %2 - + %1 wurde mit LMMS %2 erstellt - Zoom - + Zoom - Tempo - + Tempo - TEMPO - + TEMPO - Tempo in BPM - + Tempo in BPM - - - Master volume - + Master-Lautstärke - - - Global transposition - + Globale Transponierung - 1/%1 Bar - + 1/%1 Takt - %1 Bars - + %1 Takte - Value: %1% - + Wert: %1 % - Value: %1 keys - + Wert: %1 Tonarten lmms::gui::SongEditorWindow - Song-Editor - + Song-Editor - Play song (Space) - + Song abspielen (Leertaste) - Record samples from Audio-device - + Samples vom Audiogerät aufzeichnen - Record samples from Audio-device while playing song or pattern track - + Samples vom Audiogerät beim Abspielen des Songs oder der Pattern-Spur aufzeichnen - Stop song (Space) - + Song stoppen (Leertaste) - Track actions - + Spuraktionen - Add pattern-track - + Pattern-Spur hinzufügen - Add sample-track - + Sample-Spur hinzufügen - Add automation-track - + Automations-Spur hinzufügen - Edit actions - + Aktionen bearbeiten - Draw mode - + Zeichenmodus - Knife mode (split sample clips) - + Messermodus (Sample-Clips teilen) - Edit mode (select and move) - + Bearbeitungsmodus (auswählen und verschieben) - Timeline controls - + Zeitachsensteuerung - Bar insert controls - + Takteinfügesteuerung - Insert bar - + Takt einfügen - Remove bar - + Takt entfernen - Zoom controls - + Zoomsteuerung - - Zoom - + Zoom - Snap controls - + Einraststeuerung - - Clip snapping size - + Clip-Einrastgröße - Toggle proportional snap on/off - + Proportionales Einrasten ein-/ausschalten - Base snapping size - + Basiseinrastgröße lmms::gui::StepRecorderWidget - Hint - + Tipp - Move recording curser using <Left/Right> arrows - + Verschieben Sie den Aufnahmecursor mit den <Links/Rechts>-Pfeilen lmms::gui::StereoEnhancerControlDialog - - WIDTH - + WIDE + WEITE - Width: - + Weite: + + + WIDTH + WEITE lmms::gui::StereoMatrixControlDialog - Left to Left Vol: - + Links-nach-links-Lautstärke: - Left to Right Vol: - + Links-nach-rechts-Lautstärke: - Right to Left Vol: - + Rechts-nach-links-Lautstärke: - Right to Right Vol: - + Rechts-nach-rechts-Lautstärke: lmms::gui::SubWindow - Close - + Schließen - Maximize - + Maximieren - Restore - + Wiederherstellen lmms::gui::TapTempoView - 0 - + 0 - - Precision - + Präzision - Display in high precision - + In hoher Präzision anzeigen - 0.0 ms - + 0,0 ms - Mute metronome - + Metronom stumm - Mute - + Stumm - BPM in milliseconds - + BPM in Millisekunden - 0 ms - + 0 ms - Frequency of BPM - + Frequenz von BPM - 0.0000 hz - + 0,0000 Hz - Reset - + Zurücksetzen - Reset counter and sidebar information - + Zähler und Seitenleisteninformation zurücksetzen - Sync - + Sync - Sync with project tempo - + Mit Projekt-Tempo synchronisieren - %1 ms - + %1 ms - %1 hz - + %1 Hz lmms::gui::TemplatesMenu - New from template - + Neu aus Vorlage lmms::gui::TempoSyncBarModelEditor - - Tempo Sync - + Tempo-Synchronisation - No Sync - + Keine Synchronisation - Eight beats - + Acht Schläge - Whole note - + Ganze Note - Half note - + Halbe Note - Quarter note - + Viertelnote - 8th note - + Achtelnote - 16th note - + 16tel Note - 32nd note - + 32tel Note - Custom... - + Benutzerdefiniert … - Custom - + Benutzerdefiniert - Synced to Eight Beats - + Mit acht Schlägen synchronisiert - Synced to Whole Note - + Mit ganzer Note synchronisiert - Synced to Half Note - + Mit halber Note synchronisiert - Synced to Quarter Note - + Mit Viertelnote synchronisiert - Synced to 8th Note - + Mit Achtelnote synchronisiert - Synced to 16th Note - + Mit 16tel Note synchronisiert - Synced to 32nd Note - + Mit 32tel Note synchronisiert lmms::gui::TempoSyncKnob - - Tempo Sync - + Tempo-Synchronisation - No Sync - + Keine Synchronisation - Eight beats - + Acht Schläge - Whole note - + Ganze Note - Half note - + Halbe Note - Quarter note - + Viertelnote - 8th note - + Achtelnote - 16th note - + 16tel Note - 32nd note - + 32tel Note - Custom... - + Benutzerdefiniert … - Custom - + Benutzerdefiniert - Synced to Eight Beats - + Mit acht Schlägen synchronisiert - Synced to Whole Note - + Mit ganzer Note synchronisiert - Synced to Half Note - + Mit halber Note synchronisiert - Synced to Quarter Note - + Mit Viertelnote synchronisiert - Synced to 8th Note - + Mit Achtelnote synchronisiert - Synced to 16th Note - + Mit 16tel Note synchronisiert - Synced to 32nd Note - + Mit 32tel Note synchronisiert lmms::gui::TimeDisplayWidget - Time units - + Zeiteinheiten - MIN - + MIN - SEC - + SEK - MSEC - + MSEK - BAR - + TAKT - BEAT - + BEAT - TICK - + TICK lmms::gui::TimeLineWidget - Auto scrolling - + Autoscrollen - Stepped auto scrolling - + Schrittweises Autoscrollen - Continuous auto scrolling - + Kontinuierliches Autoscrollen - Auto scrolling disabled - + Autoscrollen deaktiviert - Loop points - + Schleifenpunkte - After stopping go back to beginning - + Nach dem Stopp zurück zum Anfang springen - After stopping go back to position at which playing was started - + Nach dem Stopp zurück zur Position, wo die Wiedergabe gestartet wurde, springen - After stopping keep position - + Nach dem Stopp die Position halten - Hint - + Tipp - Press <%1> to disable magnetic loop points. - + Drücken Sie <%1>, um magnetische Schleifenpunkte zu deaktivieren. - Set loop begin here - + Schleifenanfang hier setzen - Set loop end here - + Schleifenende hier setzen - Loop edit mode (hold shift) - + Schleifenbearbeitungsmodus (Umschalt halten) - Dual-button - + Zweifachknopf - Grab closest - + Nächsten fangen - Handles - + Greifer lmms::gui::TrackContentWidget - Paste - + Einfügen lmms::gui::TrackOperationsWidget - Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - + Drücken Sie <%1> während des Klicks auf den Verschiebegriff, um eine neue Drag-and-Drop-Aktion zu beginnen. - Actions - + Aktionen - - Mute - + Stumm - - Solo - + Solo - After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - + Nachdem Sie eine Spur entfernt haben, kann sie nicht wiederhergestellt werden. Möchten Sie die Spur »%1« wirklich entfernen? - Confirm removal - + Entfernen bestätigen - Don't ask again - + Nicht erneut fragen - Clone this track - + Diese Spur klonen - Remove this track - + Diese Spur entfernen - Clear this track - + Diese Spur leeren - Channel %1: %2 - + Kanal %1: %2 - Assign to new Mixer Channel - + Zu neuem Mischkanal zuweisen - Turn all recording on - + Alle Aufnahmen einschalten - Turn all recording off - + Alle Aufnahmen ausschalten - Track color - + Spurfarbe - Change - + Ändern - Reset - + Zurücksetzen - Pick random - + Zufällig wählen - Reset clip colors - + Clip-Farben zurücksetzen lmms::gui::TripleOscillatorView - - Modulate phase of oscillator 1 by oscillator 2 - + Use phase modulation for modulating oscillator 1 with oscillator 2 + Phasenmodulation benutzen, um Oszillator 2 mit Oszillator 1 zu modulieren - - Modulate amplitude of oscillator 1 by oscillator 2 - + Use amplitude modulation for modulating oscillator 1 with oscillator 2 + Amplitudenmodulation benutzen, um Oszillator 2 mit Oszillator 1 zu modulieren - - Mix output of oscillators 1 & 2 - + Mix output of oscillator 1 & 2 + Mische Ausgang von Oszillator 1 & 2 - Synchronize oscillator 1 with oscillator 2 - + Synchronisiere Oszillator 1 mit Oszillator 2 - - Modulate frequency of oscillator 1 by oscillator 2 - + Use frequency modulation for modulating oscillator 1 with oscillator 2 + Frequenzmodulation benutzen, um Oszillator 2 mit Oszillator 1 zu modulieren - - Modulate phase of oscillator 2 by oscillator 3 - + Use phase modulation for modulating oscillator 2 with oscillator 3 + Phasenmodulation benutzen, um Oszillator 3 mit Oszillator 2 zu modulieren - - Modulate amplitude of oscillator 2 by oscillator 3 - + Use amplitude modulation for modulating oscillator 2 with oscillator 3 + Amplitudenmodulation benutzen, um Oszillator 3 mit Oszillator 2 zu modulieren - - Mix output of oscillators 2 & 3 - + Mix output of oscillator 2 & 3 + Mische Ausgang von Oszillator 2 & 3 - Synchronize oscillator 2 with oscillator 3 - + Synchronisiere Oszillator 2 mit Oszillator 3 - - Modulate frequency of oscillator 2 by oscillator 3 - + Use frequency modulation for modulating oscillator 2 with oscillator 3 + Frequenzmodulation benutzen, um Oszillator 3 mit Oszillator 2 zu modulieren - Osc %1 volume: - + Oszillator %1 Lautstärke: + + + With this knob you can set the volume of oscillator %1. When setting a value of 0 the oscillator is turned off. Otherwise you can hear the oscillator as loud as you set it here. + Mit diesem Regler können Sie die Lautstärke von Oszillator %1 setzen. Wenn Sie einen Wert von 0 setzen, wird der Oszillator ausgeschaltet. Ansonsten können Sie ihn so laut hören, wie Sie es hier einstellen. - Osc %1 panning: - + Oszillator %1 Balance: + + + With this knob you can set the panning of the oscillator %1. A value of -100 means 100% left and a value of 100 moves oscillator-output right. + Mit diesem Regler können Sie die Balance von Oszillator %1 setzen. Ein Wert von -100 heißt 100 % links und ein Wert von 100 verschiebt den Oszillator-Ausgang nach rechts. - Osc %1 coarse detuning: - + Oszillator %1 Grobverstimmung: - semitones - + Halbtöne + + + With this knob you can set the coarse detuning of oscillator %1. You can detune the oscillator 24 semitones (2 octaves) up and down. This is useful for creating sounds with a chord. + Mit diesem Regler können Sie die grobe Verstimmung von Oszillator %1 setzen. Sie können den Oszillator 24 Halbtöne (2 Oktaven) nach oben und unten verstimmen. Das ist nützlich, wenn Sie einen Sound mit einem Akkord erstellen möchten. - Osc %1 fine detuning left: - + Oszillator %1 Feinverstimmung links: - - cents - + Cent + + + With this knob you can set the fine detuning of oscillator %1 for the left channel. The fine-detuning is ranged between -100 cents and +100 cents. This is useful for creating "fat" sounds. + Mit diesem Regler können Sie die Feinverstimmung von Oszillator %1 für den linken Kanal einstellen. Die Feinverstimmung liegt zwischen -100 Cent und +100 Cent. Das ist nützlich, um »fette« Sounds zu erzeugen. - Osc %1 fine detuning right: - + Oszillator %1 Feinverstimmung rechts: + + + With this knob you can set the fine detuning of oscillator %1 for the right channel. The fine-detuning is ranged between -100 cents and +100 cents. This is useful for creating "fat" sounds. + Mit diesem Regler können Sie die Feinverstimmung von Oszillator %1 für den rechten Kanal einstellen. Die Feinverstimmung liegt zwischen -100 Cent und +100 Cent. Das ist nützlich, um »fette« Sounds zu erzeugen. - Osc %1 phase-offset: - + Oszillator %1 Phasenverschiebung: - - degrees - + Grad + + + With this knob you can set the phase-offset of oscillator %1. That means you can move the point within an oscillation where the oscillator begins to oscillate. For example if you have a sine-wave and have a phase-offset of 180 degrees the wave will first go down. It's the same with a square-wave. + Mit diesem Regler können Sie die Phasenverschiebung von Oszillator %1 setzen. Das heißt, Sie können den Punkt innerhalb einer Schwingung verschieben, an dem der Oszillator anfangen soll zu schwingen. Wenn Sie zum Beispiel eine Sinuswelle haben und eine Phasenverschiebung von 180 Grad einstellen, wird die Welle zu erst runter gehen. Das gleiche trifft auch bei einer Rechteckwelle zu. - Osc %1 stereo phase-detuning: - + Oszillator %1 Stereophasenverschiebung: + + + With this knob you can set the stereo phase-detuning of oscillator %1. The stereo phase-detuning specifies the size of the difference between the phase-offset of left and right channel. This is very good for creating wide stereo sounds. + Mit diesem Regler können Sie die Stereophasenverschiebung von Oszillator %1 setzen. Die Stereophasenverschiebung gibt die Differenz zwischen den Phasenverschiebungen zwischen dem linken und rechten Kanal an. Dies eignet sich gut, um großräumig-klingende Stereo-Klänge zu erzeugen. + + + Use a sine-wave for current oscillator. + Sinuswelle für aktuellen Oszillator nutzen. + + + Use a triangle-wave for current oscillator. + Dreieckwelle für aktuellen Oszillator nutzen. + + + Use a saw-wave for current oscillator. + Sägezahnwelle für aktuellen Oszillator nutzen. + + + Use a square-wave for current oscillator. + Rechteckwelle für aktuellen Oszillator nutzen. + + + Use a moog-like saw-wave for current oscillator. + Moog-ähnliche Sägezahnwelle für aktuellen Oszillator nutzen. + + + Use an exponential wave for current oscillator. + Exponentielle Welle für aktuellen Oszillator nutzen. + + + Use white-noise for current oscillator. + Weißes Rauschen für aktuellen Oszillator nutzen. + + + Use a user-defined waveform for current oscillator. + Benutzerdefinierte Wellenform für aktuellen Oszillator nutzen. + + + Modulate phase of oscillator 1 by oscillator 2 + Phase von Oszillator 1 mit Oszillator 2 modulieren + + + Modulate amplitude of oscillator 1 by oscillator 2 + Amplitude von Oszillator 1 mit Oszillator 2 modulieren + + + Mix output of oscillators 1 & 2 + Mische Ausgang von Oszillator 1 & 2 + + + Modulate frequency of oscillator 1 by oscillator 2 + Frequenz von Oszillator 1 mit Oszillator 2 modulieren + + + Modulate phase of oscillator 2 by oscillator 3 + Phase von Oszillator 2 mit Oszillator 3 modulieren + + + Modulate amplitude of oscillator 2 by oscillator 3 + Amplitude von Oszillator 2 mit Oszillator 3 modulieren + + + Mix output of oscillators 2 & 3 + Mische Ausgang von Oszillator 2 & 3 + + + Modulate frequency of oscillator 2 by oscillator 3 + Frequenz von Oszillator 2 mit Oszillator 3 modulieren - Sine wave - + Sinuswelle - Triangle wave - + Dreieckwelle - Saw wave - + Sägezahnwelle - Square wave - + Rechteckwelle - Moog-like saw wave - + Moog-ähnliche Sägezahnwelle - Exponential wave - + Exponentielle Welle - White noise - + Weißes Rauschen - User-defined wave - + Benutzerdefinierte Welle - Use alias-free wavetable oscillators. - + Aliasfreie Wellentabellenoszillatoren benutzen. lmms::gui::VecControlsDialog - HQ - + HQ - Double the resolution and simulate continuous analog-like trace. - + Die Auflösung verdoppeln und einen kontinuierlichen analogähnlichen Trace simulieren. - Log. scale - + Log. Skala - Display amplitude on logarithmic scale to better see small values. - + Amplitude auf einer logarithmischen Skala anzeigen, um kleinere Werte besser sehen zu können. - Persist. - + Persist. - Trace persistence: higher amount means the trace will stay bright for longer time. - + Persistenz tracen: eine höhere Anzahl bedeutet, dass der Trace für eine längere Zeit hell bleiben wird. - Trace persistence - + Persistenz tracen lmms::gui::VersionedSaveDialog - Increment version number - + Versionsnummer erhöhen - Decrement version number - + Versionsnummer vermindern - Save Options - + Speicheroptionen - already exists. Do you want to replace it? - + existiert bereits. Möchten Sie es überschreiben? lmms::gui::VestigeInstrumentView - - - Open VST plugin - + Open other VST-plugin + Anderes VST-Plugin laden - - Control VST plugin from LMMS host - + Click here, if you want to open another VST-plugin. After clicking on this button, a file-open-dialog appears and you can select your file. + Klicken Sie hier, um ein anderes VST-Plugin zu öffnen. Nachdem Sie auf diesen Knopf geklickt haben, erscheint ein Datei-öffnen-Dialog und Sie können Ihre Datei wählen. - - Open VST plugin preset - - - - - Previous (-) - - - - - Save preset - - - - - Next (+) - - - - Show/hide GUI - + GUI zeigen/verstecken + + + Click here to show or hide the graphical user interface (GUI) of your VST-plugin. + Klicken Sie hier, um die grafische Oberfläche (GUI) Ihres VST-Plugins anzuzeigen bzw. zu verstecken. - Turn off all notes - + Alle Noten ausschalten + + + Open VST-plugin + VST-Plugin öffnen - DLL-files (*.dll) - + DLL-Dateien (*.dll) - EXE-files (*.exe) - + EXE-Dateien (*.exe) - - SO-files (*.so) - + No VST-plugin loaded + Kein VST-Plugin geladen - - No VST plugin loaded - + Control VST-plugin from LMMS host + VST-Plugin von LMMS fernsteuern + + + Click here, if you want to control VST-plugin from host. + Klicken Sie hier, um das VST-Plugin von LMMS aus fernzusteuern. + + + Open VST-plugin preset + VST-Plugin-Preset öffnen + + + Click here, if you want to open another *.fxp, *.fxb VST-plugin preset. + Klicken Sie hier, um eine andere »*.fxp«- bzw. »*.fxb«-Presetpatei für das VST-Plugin zu laden. + + + Previous (-) + Vorheriges (-) + + + Click here, if you want to switch to another VST-plugin preset program. + Klicken Sie hier, um zu einem anderen VST-Plugin-Presetprogramm zu wechseln. + + + Save preset + Preset speichern + + + Click here, if you want to save current VST-plugin preset program. + Klicken Sie hier, um das aktuelle VST-Plugin-Presetprogramm zu speichern. + + + Next (+) + Nächstes (+) + + + Click here to select presets that are currently loaded in VST. + Klicken Sie hier, um aktuell geladene VST-Presets auszuwählen. - Preset - + Preset - by - + von - - VST plugin control - + - VST-Plugin-Controller + + + Open VST plugin + VST-Plugin öffnen + + + Control VST plugin from LMMS host + VST-Plugin von LMMS-Host steuern + + + Open VST plugin preset + VST-Plugin-Preset öffnen + + + SO-files (*.so) + SO-Dateien (*.so) + + + No VST plugin loaded + Kein VST-Plugin geladen lmms::gui::VibedView - Enable waveform - + Wellenform aktivieren - - Smooth waveform - + Wellenform glätten - - Normalize waveform - + Wellenform normalisieren - - Sine wave - + Sinuswelle - - Triangle wave - + Dreieckwelle - - Saw wave - + Sägezahnwelle - - Square wave - + Rechteckwelle - - White noise - + Weißes Rauschen - - User-defined wave - + Benutzerdefinierte Welle - String volume: - + Saitenlautstärke: - String stiffness: - + Saitenhärte: - Pick position: - + Zupf-Position: - Pickup position: - + Abnehmer-Position: - String panning: - + Saitenbalance: - String detune: - + Saitenverstimmung: - String fuzziness: - + Saitenunschärfe: - String length: - + Saitenlänge: - Impulse Editor - + Impuls-Editor - Impulse - + Impuls - Enable/disable string - + Saite aktivieren/deaktivieren - Octave - + Oktave - String - + Saite lmms::gui::VstEffectControlDialog - Show/hide - + Anzeigen/ausblenden - - Control VST plugin from LMMS host - + Control VST-plugin from LMMS host + VST-Plugin von LMMS fernsteuern - - Open VST plugin preset - + Click here, if you want to control VST-plugin from host. + Klicken Sie hier, um das VST-Plugin von LMMS aus fernzusteuern. + + + Open VST-plugin preset + VST-Plugin-Preset öffnen + + + Click here, if you want to open another *.fxp, *.fxb VST-plugin preset. + Klicken Sie hier, um eine andere »*.fxp«- bzw. »*.fxb«-Presetdatei für das VST-Plugin zu laden. - Previous (-) - + Vorheriges (-) + + + Click here, if you want to switch to another VST-plugin preset program. + Klicken Sie hier, um zu einem anderen VST-Plugin-Presetprogramm zu wechseln. - Next (+) - + Nächstes (+) + + + Click here to select presets that are currently loaded in VST. + Klicken Sie hier, um aktuell geladene VST-Presets auszuwählen. - Save preset - + Preset speichern + + + Click here, if you want to save current VST-plugin preset program. + Klicken Sie hier, um das aktuelle VST-Plugin-Presetprogramm zu speichern. - - Effect by: - + Effekt von: - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + + + Control VST plugin from LMMS host + VST-Plugin von LMMS-Host steuern + + + Open VST plugin preset + VST-Plugin-Preset öffnen lmms::gui::WatsynView - - - - - Volume - - - - - - - - Panning - - - - - - - - Freq. multiplier - - - - - - - - Left detune - - - - - - - - - - - - cents - - - - - - - - Right detune - - - - - A-B Mix - - - - - Mix envelope amount - - - - - Mix envelope attack - - - - - Mix envelope hold - - - - - Mix envelope decay - - - - - Crosstalk - - - - Select oscillator A1 - + Oszillator A1 auswählen - Select oscillator A2 - + Oszillator A2 auswählen - Select oscillator B1 - + Oszillator B1 auswählen - Select oscillator B2 - + Oszillator B2 auswählen - Mix output of A2 to A1 - + Mische Ausgang von A2 zu A1 - - Modulate amplitude of A1 by output of A2 - + Modulate amplitude of A1 with output of A2 + Amplitude von A1 mit der Ausgabe von A2 modulieren - - Ring modulate A1 and A2 - + Ring-modulate A1 and A2 + A1 und A2 ringmodulieren - - Modulate phase of A1 by output of A2 - + Modulate phase of A1 with output of A2 + Phase von A1 mit der Ausgabe von A2 modulieren - Mix output of B2 to B1 - + Mische Ausgang von B2 zu B1 - - Modulate amplitude of B1 by output of B2 - + Modulate amplitude of B1 with output of B2 + Amplitude von B1 mit der Ausgabe von B2 modulieren - - Ring modulate B1 and B2 - + Ring-modulate B1 and B2 + B1 und B2 ringmodulieren - - Modulate phase of B1 by output of B2 - + Modulate phase of B1 with output of B2 + Phase von B1 mit der Ausgabe von B2 modulieren - - - - Draw your own waveform here by dragging your mouse on this graph. - + Zeichnen Sie heier eigene Wellenformen, indem Sie die Maus über den Graph ziehen. - Load waveform - + Wellenform laden - - Load a waveform from a sample file - + Click to load a waveform from a sample file + Klicken Sie hier, um eine Wellenform aus einer Sampledatei zu laden - Phase left - + Nach links verschieben - - Shift phase by -15 degrees - + Click to shift phase by -15 degrees + Klicken Sie hier, um die Phase um -15 Grad zu verschieben - Phase right - + Nach rechts verschieben - - Shift phase by +15 degrees - + Click to shift phase by +15 degrees + Klicken Sie hier, um die Phase um +15 Grad zu verschieben - - Normalize - + Normalisieren + + + Click to normalize + Klicken zum Normalisieren - - Invert - + Invertieren + + + Click to invert + Klicken zum Invertieren - - Smooth - + Glätten + + + Click to smooth + Klicken zum Glätten - - Sine wave - + Sinuswelle + + + Click for sine wave + Klicken für Sinuswelle - - - Triangle wave - + Dreieckwelle - - Saw wave - + Click for triangle wave + Klicken für Dreieckwelle + + + Click for saw wave + Klicken für Sägezahnwelle - - Square wave - + Rechteckwelle + + + Click for square wave + Klicken für Rechteckwelle + + + Volume + Lautstärke + + + Panning + Balance + + + Freq. multiplier + Freq.-Faktor + + + Left detune + Linke Verstimmung + + + cents + Cent + + + Right detune + Rechte Verstimmung + + + A-B Mix + A-B-Mischung + + + Mix envelope amount + Hüllkurvenstärke mischen + + + Mix envelope attack + Hüllkurven-Attack mischen + + + Mix envelope hold + Hüllkurven-Hold mischen + + + Mix envelope decay + Hüllkurven-Decay mischen + + + Crosstalk + Übersprechen + + + Modulate amplitude of A1 by output of A2 + Amplitude von A1 mit der Ausgabe von A2 modulieren + + + Ring modulate A1 and A2 + A1 und A2 ringmodulieren + + + Modulate phase of A1 by output of A2 + Phase von A1 mit der Ausgabe von A2 modulieren + + + Modulate amplitude of B1 by output of B2 + Amplitude von B1 mit der Ausgabe von B2 modulieren + + + Ring modulate B1 and B2 + B1 und B2 ringmodulieren + + + Modulate phase of B1 by output of B2 + Phase von B1 mit der Ausgabe von B2 modulieren + + + Load a waveform from a sample file + Eine Wellenform aus einer Sampledatei laden + + + Shift phase by -15 degrees + Phase um -15 Grad verschieben + + + Shift phase by +15 degrees + Phase um +15 Grad verschieben + + + Saw wave + Sägezahnwelle lmms::gui::WaveShaperControlDialog - INPUT - + EING - Input gain: - + Eingangsverstärkung: - OUTPUT - + AUSG - Output gain: - + Ausgabeverstärkung: - - - Reset wavegraph - + Reset waveform + Wellenform zurücksetzen - - - Smooth wavegraph - + Click here to reset the wavegraph back to default + Klicken Sie hier, um den Wellengraph zum Standard zurückzusetzen - - - Increase wavegraph amplitude by 1 dB - + Smooth waveform + Wellenform glätten - - - Decrease wavegraph amplitude by 1 dB - + Click here to apply smoothing to wavegraph + Klicken Sie hier, um den Wellengraph zu glätten + + + Increase graph amplitude by 1dB + Die Amplitude des Wellengraphs um 1dB erhöhen + + + Click here to increase wavegraph amplitude by 1dB + Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu erhöhen + + + Decrease graph amplitude by 1dB + Die Amplitude des Wellengraphs um 1dB vermindern + + + Click here to decrease wavegraph amplitude by 1dB + Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu vermindern - Clip input - + Eingang begrenzen + + + Clip input signal to 0dB + Eingangssignal auf 0dB begrenzen + + + Reset wavegraph + Wellenform zurücksetzen + + + Smooth wavegraph + Wellengraph glätten + + + Increase wavegraph amplitude by 1 dB + Die Amplitude des Wellengraphen um 1 dB erhöhen + + + Decrease wavegraph amplitude by 1 dB + Die Amplitude des Wellengraphen um 1 dB verringern - Clip input signal to 0 dB - + Eingangssignal auf 0 dB begrenzen lmms::gui::XpressiveView - Draw your own waveform here by dragging your mouse on this graph. - + Zeichnen Sie eigene Wellenformen, indem Sie die Maus über den Graph ziehen. - Select oscillator W1 - + Oszillator W1 auswählen - Select oscillator W2 - + Oszillator W2 auswählen - Select oscillator W3 - + Oszillator W3 auswählen - Select output O1 - + Ausgabe O1 auswählen - Select output O2 - + Ausgabe O2 auswählen - Open help window - + Hilfefenster öffnen - - Sine wave - + Sinuswelle - - Moog-saw wave - + Moog-Sägezahnwelle - - Exponential wave - + Exponentielle Welle - - Saw wave - + Sägezahnwelle - - User-defined wave - + Benutzerdefinierte Welle - - Triangle wave - + Dreieckwelle - - Square wave - + Rechteckwelle - - White noise - + Weißes Rauschen - WaveInterpolate - + WellenInterpolation - ExpressionValid - + AusdruckGültig - General purpose 1: - + Universal 1: - General purpose 2: - + Universal 2: - General purpose 3: - + Universal 3: - O1 panning: - + O1-Balance: - O2 panning: - + O2-Balance: - Release transition: - + Release-Übergang: - Smoothness - + Glättung lmms::gui::ZynAddSubFxView - - Portamento: - - - - - PORT - - - - - Filter frequency: - - - - - FREQ - - - - - Filter resonance: - - - - - RES - - - - - Bandwidth: - - - - - BW - - - - - FM gain: - - - - - FM GAIN - - - - - Resonance center frequency: - - - - - RES CF - - - - - Resonance bandwidth: - - - - - RES BW - - - - - Forward MIDI control changes - - - - Show GUI - + GUI anzeigen + + + Click here to show or hide the graphical user interface (GUI) of ZynAddSubFX. + Klicken Sie hier, um die grafische Oberfläche (GUI) von ZynAddSubFX anzuzeigen bzw. auszublenden. + + + Portamento: + Portamento: + + + PORT + PORT + + + Filter Frequency: + Filterfrequenz: + + + FREQ + FREQ + + + Filter Resonance: + Filterresonanz: + + + RES + RES + + + Bandwidth: + Bandbreite: + + + BW + BB + + + FM Gain: + FM-Verstärkung: + + + FM GAIN + FM-VRST + + + Resonance center frequency: + Zentrale Resonanzfrequenz: + + + RES CF + RES Z + + + Resonance bandwidth: + Resonanzbandbreite: + + + RES BW + RES-BB + + + Forward MIDI Control Changes + MIDI-Control-Änderungen weiterleiten + + + Filter frequency: + Filterfrequenz: + + + Filter resonance: + Filterresonanz: + + + FM gain: + FM-Verstärkung: + + + Forward MIDI control changes + MIDI-Steuerungsänderungen weiterleiten - \ No newline at end of file + + lmms::gui::ladspaDescription + + Plugins + Plugins + + + Description + Beschreibung + + + + lmms::gui::sf2InstrumentView + + Open other SoundFont file + Eine andere SoundFont-Datei öffnen + + + Click here to open another SF2 file + Klicken Sie hier, um eine andere SF2-Datei zu öffnen + + + Choose the patch + Patch wählen + + + Gain + Verstärkung + + + Apply reverb (if supported) + Hall anwenden (wenn unterstützt) + + + This button enables the reverb effect. This is useful for cool effects, but only works on files that support it. + Dieser Knopf aktiviert den Hall-Effekt, welcher jedoch nur mit Dateien funktioniert, die dies unterstützen. + + + Reverb Roomsize: + Hall/Raumgröße: + + + Reverb Damping: + Hall/Dämpfung: + + + Reverb Width: + Hall/Weite: + + + Reverb Level: + Reverb/Stärke: + + + Apply chorus (if supported) + Chorus-Effekt anwenden (wenn unterstützt) + + + This button enables the chorus effect. This is useful for cool echo effects, but only works on files that support it. + Dieser Knopf aktiviert den Chorus-Effekt. Das ist nützlich für Echo-Effekte, funktioniert jedoch nur mit Dateien, die dies unterstützen. + + + Chorus Lines: + Chorus/Anzahl: + + + Chorus Level: + Chorus/Stärke: + + + Chorus Speed: + Chorus/Geschwindigkeit: + + + Chorus Depth: + Chorus/Tiefe: + + + Open SoundFont file + SoundFont-Datei öffnen + + + SoundFont2 Files (*.sf2) + SoundFont2-Dateien (*.sf2) + + + + lmms::gui::sidInstrumentView + + Volume: + Lautstärke: + + + Resonance: + Resonanz: + + + Cutoff frequency: + Kennfrequenz: + + + High-Pass filter + Hochpassfilter + + + Band-Pass filter + Bandpassfilter + + + Low-Pass filter + Tiefpassfilter + + + Voice3 Off + Stimme 3 lautlos + + + MOS6581 SID + MOS6581 SID + + + MOS8580 SID + MOS8580 SID + + + Attack: + Anschwellzeit (attack): + + + Attack rate determines how rapidly the output of Voice %1 rises from zero to peak amplitude. + Anschwellzeit gibt an, wie schnell die Ausgabe von Stimme %1 von Null zur Spitzenamplitude anschwellt. + + + Decay: + Abfallzeit (decay): + + + Decay rate determines how rapidly the output falls from the peak amplitude to the selected Sustain level. + Abfallzeit gibt an, wie schnell die Ausgabe von der Spitzenamplitude bis zum ausgewählten Dauerpegel fällt. + + + Sustain: + Dauerpegel (sustain): + + + Output of Voice %1 will remain at the selected Sustain amplitude as long as the note is held. + Die Ausgabe von Stimme %1 wird solange bei dem ausgewählten Dauerpegel verbleiben, wie die Note gehalten wird. + + + Release: + Ausklingzeit (release): + + + The output of of Voice %1 will fall from Sustain amplitude to zero amplitude at the selected Release rate. + Die Ausgabe von Stimme %1 wird vom Dauerpegel mit der ausgewählten Ausklingzeit auf Null abfallen. + + + Pulse Width: + Pulsweite: + + + The Pulse Width resolution allows the width to be smoothly swept with no discernable stepping. The Pulse waveform on Oscillator %1 must be selected to have any audible effect. + Die Pulsweitenauflösung ermöglicht es die Weite gleitend, ohne erkennbare Schritte zu ändern. Die Puls-Wellenform von Oszillator %1 muss ausgewählt werden, um einen hörbaren Effekt zu haben. + + + Coarse: + Grob: + + + The Coarse detuning allows to detune Voice %1 one octave up or down. + Die Grobverstimmung ermöglicht es, die Stimme %1 um eine Oktave nach oben oder unten zu verstimmen. + + + Pulse Wave + Pulswelle + + + Triangle Wave + Dreieckwelle + + + SawTooth + Sägezahn + + + Noise + Rauschen + + + Sync + Synchron + + + Sync synchronizes the fundamental frequency of Oscillator %1 with the fundamental frequency of Oscillator %2 producing "Hard Sync" effects. + Synchron synchronisiert die Grundfrequenz von Oszillator %1 mit der Grundfrequenz von Oszillator %2, was einen »Hard Sync« Effekt hervorruft. + + + Ring-Mod + Ringmodulation + + + Ring-mod replaces the Triangle Waveform output of Oscillator %1 with a "Ring Modulated" combination of Oscillators %1 and %2. + Ringmodulation ersetzt die Dreieckwellenform-Ausgabe von Oszillator %1 mit einer ringmodulierten Kombination der Oszillatoren %1 und %2. + + + Filtered + Gefiltert + + + When Filtered is on, Voice %1 will be processed through the Filter. When Filtered is off, Voice %1 appears directly at the output, and the Filter has no effect on it. + Wenn Gefiltert an ist, wird Stimme %1 durch den Filter verarbeitet. Wenn Gefiltert aus ist, wird Stimme %1 direkt an die Ausgabe weitergeleitet und der Filter hat keine Auswirkung darauf. + + + Test + Test + + + Test, when set, resets and locks Oscillator %1 at zero until Test is turned off. + Der Test, wenn aktiviert, wird Oszillator %1 zurücksetzen und auf Null sperren, bis der Test ausgeschaltet wird. + + + + lmms::gui::stereoMatrixControlDialog + + Left to Left Vol: + Links-nach-links-Lautstärke: + + + Left to Right Vol: + Links-nach-rechts-Lautstärke: + + + Right to Left Vol: + Rechts-nach-links-Lautstärke: + + + Right to Right Vol: + Rechts-nach-rechts-Lautstärke: + + + + lmms::gui::vibedView + + Volume: + Lautstärke: + + + The 'V' knob sets the volume of the selected string. + Der »V«-Regler setzt die Lautstärke der gewählten Saite. + + + String stiffness: + Härte der Saite: + + + The 'S' knob sets the stiffness of the selected string. The stiffness of the string affects how long the string will ring out. The lower the setting, the longer the string will ring. + Der »S«-Regler setzt die Härte der gewählten Saite. Die Härte der Saite beeinflusst deren Ausklangdauer. Je kleiner die Einstellung, desto länger klingt die Saite aus. + + + Pick position: + Zupf-Position: + + + The 'P' knob sets the position where the selected string will be 'picked'. The lower the setting the closer the pick is to the bridge. + Der »P«-Regler bestimmt die Position, an der die Saite angezupft wird. Je kleiner die Einstellung, desto näher wird am Steg gezupft. + + + Pickup position: + Abnehmer-Position: + + + The 'PU' knob sets the position where the vibrations will be monitored for the selected string. The lower the setting, the closer the pickup is to the bridge. + Der »PU«-Regler bestimmt die Position, an der die Schwingungen an der gewählten Saite abgenommen werden. Je kleiner die Einstellung, desto näher ist der Abnehmer am Steg. + + + Pan: + Balance: + + + The Pan knob determines the location of the selected string in the stereo field. + Der Balance-Regler bestimmt den Ort der gewählten Saite im Stereo-Raum. + + + Detune: + Verstimmung: + + + The Detune knob modifies the pitch of the selected string. Settings less than zero will cause the string to sound flat. Settings greater than zero will cause the string to sound sharp. + Der Verstimmungs-Regler verändert die Tonhöhe der gewählten Saite. Einstellungen kleiner als 0 lassen die Saite flacher klingen, während Werte über 0 zu einem eher scharfen Klang führen. + + + Fuzziness: + Unschärfe: + + + The Slap knob adds a bit of fuzz to the selected string which is most apparent during the attack, though it can also be used to make the string sound more 'metallic'. + Der Unschärfe-Regler fügt dem Klang der Saite etwas »Fuzz« hinzu, welcher hauptsächlich während des Anschlages zum Tragen kommt, wenngleich er auch genutzt werden kann, um den Klang etwas metallischer zu gestalten. + + + Length: + Länge: + + + The Length knob sets the length of the selected string. Longer strings will both ring longer and sound brighter, however, they will also eat up more CPU cycles. + Der Länge-Regler bestimmt die Länge der gewählten Saite. Längere Saiten klingen länger und klingen heller, wobei sie gleichzeitig auch mehr CPU-Leistung fressen. + + + Impulse or initial state + Impuls oder Grundstellung + + + The 'Imp' selector determines whether the waveform in the graph is to be treated as an impulse imparted to the string by the pick or the initial state of the string. + Mit dem »Imp«-Knopf legen Sie fest, ob die Wellenform in diesem Graph als Impuls zum Anzupfen der Saite oder als Grundstellung für die Saite genutzt werden soll. + + + Octave + Oktave + + + The Octave selector is used to choose which harmonic of the note the string will ring at. For example, '-2' means the string will ring two octaves below the fundamental, 'F' means the string will ring at the fundamental, and '6' means the string will ring six octaves above the fundamental. + Mit dem Oktaven-Wähler kann der Oktavenversatz gegenüber der Note verändert werden. So meint beispielsweise eine Einstellung von »-2«, dass die Saite zwei Oktaven unterhalb des Grundtons (»F«) schwingen wird und »6« dementsprechend 6 Oktaven über dem Grundton. + + + Impulse Editor + Impuls-Editor + + + The waveform editor provides control over the initial state or impulse that is used to start the string vibrating. The buttons to the right of the graph will initialize the waveform to the selected type. The '?' button will load a waveform from a file--only the first 128 samples will be loaded. + +The waveform can also be drawn in the graph. + +The 'S' button will smooth the waveform. + +The 'N' button will normalize the waveform. + Der Wellenform-Editor ermöglicht die Kontrolle über die Grundstellung oder den Impuls, der genutzt wird, um die Saite zum Schwingen zu bringen. Die Knöpfe rechts des Graphen initialisieren die Wellenform mit dem gewünschten Typ. Der »?«-Knopf lässt Sie eine Wellenform aus einer Datei laden – allerdings werden nur die ersten 128 Samples geladen. + +Die Wellenform kann ebenfalls in dem Graph gezeichnet werden. + +Der »S«-Knopf glättet die Wellenform. + +Der »N«-Knopf normalisiert die Wellenform. + + + Vibed models up to nine independently vibrating strings. The 'String' selector allows you to choose which string is being edited. The 'Imp' selector chooses whether the graph represents an impulse or the initial state of the string. The 'Octave' selector chooses which harmonic the string should vibrate at. + +The graph allows you to control the initial state or impulse used to set the string in motion. + +The 'V' knob controls the volume. The 'S' knob controls the string's stiffness. The 'P' knob controls the pick position. The 'PU' knob controls the pickup position. + +'Pan' and 'Detune' hopefully don't need explanation. The 'Slap' knob adds a bit of fuzz to the sound of the string. + +The 'Length' knob controls the length of the string. + +The LED in the lower right corner of the waveform editor determines whether the string is active in the current instrument. + Vibed modelliert bis zu 9 unabhängige schwingende Saiten. Der Saiten-Wähler ermöglicht die Wahl der gerade aktiven Saite. Der »Imp«-Knopf bestimmt, ob der Graph einen Impuls oder die Grundstellung der Saite repräsentiert. Der Oktaven-Wähler gibt den Oktavenversatz der Saite gegenüber dem Grundton an. + +Der Graph ermöglicht die Kontrolle über die Grundstellung der Saite oder den Impuls, der zum Anzupfen der Saite genutzt wird. + +Der »V«-Regler bestimmt die Lautstärke. Mit dem »S«-Regler wird die Härte der Saite eingestellt. Der »P«-Regler beeinflusst den Ort, an dem die Saite angezupft wird, während der »PU«-Regler die Position des Abnehmers bestimmt. + +»Balance« und »Verstimmung« bedürfen hoffentlich keiner Erklärung. Der Unschärfe-Regler fügt dem Klang der Saite etwas »Fuzz« hinzu. + +Der Länge-Regler bestimmt die Länge der Saite. + +Die LED rechts unterhalb der Wellenform gibt an, ob die Saite aktiviert ist. + + + Enable waveform + Wellenform aktivieren + + + Click here to enable/disable waveform. + Hier klicken, um die Wellenform zu aktivieren/deaktiveren. + + + String + Saite + + + The String selector is used to choose which string the controls are editing. A Vibed instrument can contain up to nine independently vibrating strings. The LED in the lower right corner of the waveform editor indicates whether the selected string is active. + Der Saiten-Wähler bestimmt die derzeit bearbeitete Saite. Ein Vibed-Instrument kann aus bis zu neun voneinander unabhängig schwingenden Saiten bestehen. Die LED in der Ecke rechts unterhalb der Wellenform gibt an, ob die gewählte Saite aktiv ist. + + + Sine wave + Sinuswelle + + + Triangle wave + Dreieckwelle + + + Saw wave + Sägezahnwelle + + + Square wave + Rechteckwelle + + + White noise wave + Weißes Rauschen + + + User defined wave + Benutzerdefinierte Welle + + + Smooth + Glätten + + + Click here to smooth waveform. + Klicken Sie hier, um die Wellenform zu glätten. + + + Normalize + Normalisieren + + + Click here to normalize waveform. + Hier klicken, um die Wellenform zu normalisieren. + + + Use a sine-wave for current oscillator. + Sinuswelle für aktuellen Oszillator nutzen. + + + Use a triangle-wave for current oscillator. + Dreieckwelle für aktuellen Oszillator nutzen. + + + Use a saw-wave for current oscillator. + Sägezahnwelle für aktuellen Oszillator nutzen. + + + Use a square-wave for current oscillator. + Rechteckwelle für aktuellen Oszillator nutzen. + + + Use white-noise for current oscillator. + Weißes Rauschen für aktuellen Oszillator nutzen. + + + Use a user-defined waveform for current oscillator. + Benutzerdefinierte Wellenform für aktuellen Oszillator nutzen. + + + + lmms::waveShaperControls + + Input gain + Eingangsverstärkung + + + Output gain + Ausgabeverstärkung + + + + lmms:Lb302Synth + + VCF Cutoff Frequency + VCF-Kennfrequenz + + + VCF Resonance + VCF-Resonanz + + + VCF Envelope Mod + VCF-Hüllkurvenintensität + + + VCF Envelope Decay + VCF-Hüllkurvenabfallzeit + + + Distortion + Verzerrung + + + Waveform + Wellenform + + + Slide Decay + Slide-Abfallzeit + + + Slide + Slide + + + Accent + Betonung + + + Dead + Stumpf + + + 24dB/oct Filter + 24db/Okt-Filter + + + + papuInstrument + + Sweep time + Streichzeit + + + Sweep direction + Streichrichtung + + + Sweep RtShift amount + Streichstärke RtShift + + + Wave Pattern Duty + Wellenmustertastgrad + + + Channel 1 volume + Kanal-1-Lautstärke + + + Volume sweep direction + Lautstärken-Streichrichtung + + + Length of each step in sweep + Länge jedes Schritts beim Streichen + + + Channel 2 volume + Kanal-2-Lautstärke + + + Channel 3 volume + Kanal-3-Lautstärke + + + Channel 4 volume + Kanal-4-Lautstärke + + + Right Output level + Rechter Ausgabepegel + + + Left Output level + Linker Ausgabepegel + + + Channel 1 to SO2 (Left) + Kanal 1 zu SO2 (Links) + + + Channel 2 to SO2 (Left) + Kanal 2 zu SO2 (Links) + + + Channel 3 to SO2 (Left) + Kanal 3 zu SO2 (Links) + + + Channel 4 to SO2 (Left) + Kanal 4 zu SO2 (Links) + + + Channel 1 to SO1 (Right) + Kanal 1 zu SO1 (Rechts) + + + Channel 2 to SO1 (Right) + Kanal 2 zu SO1 (Rechts) + + + Channel 3 to SO1 (Right) + Kanal 3 zu SO1 (Rechts) + + + Channel 4 to SO1 (Right) + Kanal 4 zu SO1 (Rechts) + + + Treble + Höhe + + + Bass + Bass + + + Shift Register width + Schieberegister-Breite + + + + papuInstrumentView + + Sweep Time: + Streichzeit: + + + Sweep Time + Streichzeit + + + Sweep RtShift amount: + Streichstärke RtShift: + + + Sweep RtShift amount + Streichstärke RtShift + + + Wave pattern duty: + Wellenmustertastgrad: + + + Wave Pattern Duty + Wellenmustertastgrad + + + Square Channel 1 Volume: + Quadratkanal-1-Lautstärke: + + + Length of each step in sweep: + Länge jedes Schritts beim Streichen: + + + Length of each step in sweep + Länge jedes Schritts beim Streichen + + + Wave pattern duty + Wellenmustertastgrad + + + Square Channel 2 Volume: + Quadratkanal-2-Lautstärke: + + + Square Channel 2 Volume + Quadratkanal-2-Lautstärke + + + Wave Channel Volume: + Wellenkanal-Lautstärke: + + + Wave Channel Volume + Wellenkanal-Lautstärke + + + Noise Channel Volume: + Rauschkanal-Lautstärke: + + + Noise Channel Volume + Rauschkanal-Lautstärke + + + SO1 Volume (Right): + SO1-Lautstärke (Rechts): + + + SO1 Volume (Right) + SO1-Lautstärke (Rechts) + + + SO2 Volume (Left): + SO2-Lautstärke (Links): + + + SO2 Volume (Left) + SO2-Lautstärke (Links) + + + Treble: + Höhe: + + + Treble + Höhe + + + Bass: + Bass: + + + Bass + Bass + + + Sweep Direction + Streichrichtung + + + Volume Sweep Direction + Lautstärken-Streichrichtung + + + Shift Register Width + Schieberegister-Breite + + + Channel1 to SO1 (Right) + Kanal1 zu SO1 (Rechts) + + + Channel2 to SO1 (Right) + Kanal2 zu SO1 (Rechts) + + + Channel3 to SO1 (Right) + Kanal3 zu SO1 (Rechts) + + + Channel4 to SO1 (Right) + Kanal4 zu SO1 (Rechts) + + + Channel1 to SO2 (Left) + Kanal1 zu SO2 (Links) + + + Channel2 to SO2 (Left) + Kanal2 zu SO2 (Links) + + + Channel3 to SO2 (Left) + Kanal3 zu SO2 (Links) + + + Channel4 to SO2 (Left) + Kanal4 zu SO2 (Links) + + + Wave Pattern + Wellenmuster + + + The amount of increase or decrease in frequency + Die Menge an Erhöhung oder Verminderung in der Frequenz + + + The rate at which increase or decrease in frequency occurs + Die Rate, mit der Erhöhung oder Verminderung in der Frequenz geschieht + + + The duty cycle is the ratio of the duration (time) that a signal is ON versus the total period of the signal. + Der Tastgrad ist das Verhältnis der Dauer (Zeit), in dem das Signal AN ist, im Gegensatz zur gesamten Periodendauer des Signals. + + + Square Channel 1 Volume + Quadratkanal-1-Lautstärke + + + The delay between step change + Die Verzögerung zwischen Schrittänderung + + + Draw the wave here + Die Welle hier zeichnen + + + + testcontext + + test string + Test-String + + + test plural %n + + Test-Plural %n + Test-Plurale %n + + + + From 99ab0e20708b6598bd76058d838a7a3e58522894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petar=20Kati=C4=87?= Date: Thu, 19 Dec 2024 15:52:58 +0100 Subject: [PATCH 056/112] Update Zyn submodule (#7625) --- plugins/ZynAddSubFx/zynaddsubfx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ZynAddSubFx/zynaddsubfx b/plugins/ZynAddSubFx/zynaddsubfx index d958c3668..9903fc44f 160000 --- a/plugins/ZynAddSubFx/zynaddsubfx +++ b/plugins/ZynAddSubFx/zynaddsubfx @@ -1 +1 @@ -Subproject commit d958c3668cc163805d581e97eb4d742168b6aad9 +Subproject commit 9903fc44ff61c932914fc5b43358c06b1946c446 From 6b494bd7a34f0c623834e2c05a20456e22cc6657 Mon Sep 17 00:00:00 2001 From: saker Date: Fri, 20 Dec 2024 17:30:39 -0500 Subject: [PATCH 057/112] Revert "Major German translation rework (01/12/2024) (#7612)" (#7628) --- data/locale/de.ts | 19550 ++++++++++++++++++++------------------------ 1 file changed, 8739 insertions(+), 10811 deletions(-) diff --git a/data/locale/de.ts b/data/locale/de.ts index 963e953fb..4736ea797 100644 --- a/data/locale/de.ts +++ b/data/locale/de.ts @@ -1,447 +1,255 @@ - - - + AboutDialog + About LMMS Über LMMS - Version %1 (%2/%3, Qt %4, %5) - Version %1 (%2/%3, Qt %4, %5) - - - About - Über - - - LMMS - easy music production for everyone - LMMS – leichte Musikproduktion für alle - - - Authors - Autoren - - - Translation - Übersetzung - - - Current language not translated (or native English). - -If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! - Deutsche Übersetzung von Tobias Doerffel und Daniel Winzen. - -Wenn Sie daran interessiert sind, LMMS in eine andere Sprache zu übersetzen oder eine bereits existierende Übersetzung verbessern möchten, können Sie uns gerne helfen! Kontaktieren Sie einfach den Betreiber! - - - License - Lizenz - - + LMMS LMMS - Involved - Beteiligte - - - Contributors ordered by number of commits: - Mitwirkende sortiert nach der Anzahl an Einreichungen: - - - Copyright © %1 - Copyright © %1 - - - <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">https://lmms.io</span></a></p></body></html> - <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#0000ff;">https://lmms.io</span></a></p></body></html> - - + Version %1 (%2/%3, Qt %4, %5). Version %1 (%2/%3, Qt %4, %5). - LMMS - easy music production for everyone. - LMMS – leichte Musikproduktion für alle. + + About + Über + + LMMS - easy music production for everyone. + LMMS - Muskproduktion für jedermann + + + Copyright © %1. Copyright © %1. + <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> <html><head/><body><p><a href="https://lmms.io"><span style=" text-decoration: underline; color:#33cc33;">https://lmms.io</span></a></p></body></html> + + Authors + Autoren + + + + Involved + Beteiligt + + + + Contributors ordered by number of commits: + Mitwirkende sortiert nach der Anzahl an Einreichungen: + + + + Translation + Übersetzung + + + Current language not translated (or native English). If you're interested in translating LMMS in another language or want to improve existing translations, you're welcome to help us! Simply contact the maintainer! - Deutsche Übersetzung von Tobias Doerffel und Daniel Winzen. - -Wenn Sie daran interessiert sind, LMMS in eine andere Sprache zu übersetzen oder eine bereits existierende Übersetzung verbessern möchten, können Sie uns gerne helfen! Kontaktieren Sie einfach den Betreiber! + + + + + License + Lizenz AboutJuceDialog + About JUCE - Über JUCE + + <b>About JUCE</b> - <b>Über JUCE</b> + + This program uses JUCE version 3.x.x. - Dieses Programm benutzt JUCE Version 3.x.x. + + JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications. The core JUCE modules (juce_audio_basics, juce_audio_devices, juce_core and juce_events) are permissively licensed under the terms of the ISC license. Other modules are covered by a GNU GPL 3.0 license. Copyright (C) 2022 Raw Material Software Limited. - JUCE ist ein plattformübergreifendes Open-Source-C++-Applikations-Framework für die Erstellung von hochqualitativen Desktop- und Mobilapplikationen. - -Die Haupt-JUCE-Module (juce_audio, juce_audio_devices, juce_core und juce_events) werden unter der freizügigen ISC-Lizenz freigegeben. -Andere Module stehen unter der Lizenz GNU GPL 3.0. - -Copyright (C) 2022 Raw Material Software Limited. + + This program uses JUCE version - Dieses Programm benutzt JUCE Version + AudioDeviceSetupWidget - ALSA (Advanced Linux Sound Architecture) - ALSA (Advanced Linux Sound Architecture) - - - Dummy (no sound output) - Dummy (keine Soundausgabe) - - - JACK (JACK Audio Connection Kit) - JACK (JACK Audio Connection Kit) - - - OSS (Open Sound System) - OSS (Open Sound System) - - - PortAudio - PortAudio - - - PulseAudio - PulseAudio - - - SDL (Simple DirectMedia Layer) - SDL (Simple DirectMedia Layer) - - - sndio - sndio - - - soundio - soundio - - + [System Default] - [Systemstandard] - - - - AudioOss::setupWidget - - DEVICE - GERÄT - - - CHANNELS - KANÄLE - - - - AudioPulseAudio::setupWidget - - DEVICE - GERÄT - - - CHANNELS - KANÄLE - - - - AutomationPattern - - Drag a control while pressing <%1> - Ein Steuerelement mit <%1> hier her ziehen - - - - AutomationPatternView - - double-click to open this pattern in automation editor - Doppelklick, um diesen Pattern im Automations-Editor zu öffnen - - - Open in Automation editor - Im Automations-Editor öffnen - - - Clear - Zurücksetzen - - - Reset name - Name zurücksetzen - - - Change name - Name ändern - - - %1 Connections - %1 Verbindungen - - - Disconnect "%1" - »%1« trennen - - - Set/clear record - Aufnahme setzen/löschen - - - Flip Vertically (Visible) - Vertikal spiegeln (Sichtbar) - - - Flip Horizontally (Visible) - Horizontal spiegeln (Sichtbar) - - - Model is already connected to this pattern. - Modell ist bereits mit diesem Pattern verbunden. - - - - BBEditor - - Beat+Bassline Editor - Beat-und-Bassline-Editor - - - Play/pause current beat/bassline (Space) - Aktuellen Beat/Bassline abspielen/pausieren (Leertaste) - - - Stop playback of current beat/bassline (Space) - Abspielen des aktuellen Beats/Bassline stoppen (Leertaste) - - - Click here to play the current beat/bassline. The beat/bassline is automatically looped when its end is reached. - Klicken Sie hier, um den aktuelle Beat/Bassline abzuspielen. Der Beat/Bassline wird am Ende automatisch wiederholt. - - - Click here to stop playing of current beat/bassline. - Klicken Sie hier, um das Abspielen des aktuellen Beats/Bassline zu stoppen. - - - Add beat/bassline - Beat/Bassline hinzufügen - - - Add automation-track - Automations-Spur hinzufügen - - - Remove steps - Schritte entfernen - - - Add steps - Schritte hinzufügen - - - Beat selector - Beatwähler - - - Track and step actions - Spur-und-Schritt-Aktionen - - - Clone Steps - Schritte klonen - - - Add sample-track - Sample-Spur hinzufügen - - - - BBTCOView - - Open in Beat+Bassline-Editor - Im Beat-und-Bassline-Editor öffnen - - - Reset name - Name zurücksetzen - - - Change name - Name ändern - - - Change color - Farbe ändern - - - Reset color to default - Farbe auf Standard zurücksetzen - - - - BBTrack - - Beat/Bassline %1 - Beat/Bassline %1 - - - Clone of %1 - Klon von %1 - - - - CaptionMenu - - &Help - &Hilfe - - - Help (not available) - Hilfe (nicht verfügbar) + CarlaAboutW + About Carla - Über Carla + + About Über + About text here - Über-Text hier + + Extended licensing here - Erweiterte Lizenz hier + + Artwork - Kunst + + Using KDE Oxygen icon set, designed by Oxygen Team. - Benutzt das KDE-Oxygen-Icon-Set, gestaltet von Oxygen Team. + + Contains some knobs, backgrounds and other small artwork from Calf Studio Gear, OpenAV and OpenOctave projects. - Enthält ein paar Regler, Hintergründe und andere kleinere grafischen Werke von den Projekten Calf Studio Gear, OpenAV und OpenOctave. + + VST is a trademark of Steinberg Media Technologies GmbH. - VST ist ein Trademark von Steinberg Media Technologies GmbH. + + Special thanks to António Saraiva for a few extra icons and artwork! - Besonderes Dankeschön an António Saraiva für ein paar zusätzliche Icons und Grafiken! + + The LV2 logo has been designed by Thorsten Wilms, based on a concept from Peter Shorthose. - Das LV2-Logo wurde von Thorsten Wilms entworfen, basierend auf einem Konzept von Peter Shorthose. + + MIDI Keyboard designed by Thorsten Wilms. - MIDI-Keyboard entworfen von Thorsten Wilms. + + Carla, Carla-Control and Patchbay icons designed by DoosC. - Carla-, Carla-Control- und Patchbay-Icons von DoosC entworfen. + + Features - Features + + AU/AudioUnit: - AU/AudioUnit: + + LADSPA: - LADSPA: + + + + + + + + + TextLabel - TextLabel + + VST2: - VST2: + + DSSI: - DSSI: + + LV2: - LV2: + + VST3: - VST3: + + OSC - OSC + + Host URLs: - Host-URLs: + + Valid commands: - Gültige Befehle: + + valid osc commands here - gültige osc-Befehle hier hin + + Example: - Beispiel: + + License Lizenz + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -457,7 +265,7 @@ freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to +Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. @@ -484,18 +292,18 @@ rights. (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. - Also, for each author's protection and ours, we want to make certain + Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original -authors' reputations. +authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. @@ -520,7 +328,7 @@ is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. - 1. You may copy and distribute verbatim copies of the Program's + 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the @@ -634,7 +442,7 @@ the Program or works based on it. Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. +restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. @@ -723,4337 +531,3644 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + + OSC Bridge Version - OSC-Bridge-Version + + Plugin Version - Plugin-Version + + <br>Version %1<br>Carla is a fully-featured audio plugin host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> - <br>Version %1<br>Carla ist ein voll funktionsfähiger Audio-Plugin-Host%2.<br><br>Copyright (C) 2011-2019 falkTX<br> + + + (Engine not running) - (Engine läuft nicht) + + Everything! (Including LRDF) - Alles! (inklusive LRDF) + + Everything! (Including CustomData/Chunks) - Alles (inklusive CustomData/Chunks) + + About 110&#37; complete (using custom extensions)<br/>Implemented Feature/Extensions:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> - Circa 110&#37; vollständig (mit eigenen Erweiterungen)<br/>Implementiertes Feature / Implementierte Erweiterungen:<ul><li>http://lv2plug.in/ns/ext/atom</li><li>http://lv2plug.in/ns/ext/buf-size</li><li>http://lv2plug.in/ns/ext/data-access</li><li>http://lv2plug.in/ns/ext/event</li><li>http://lv2plug.in/ns/ext/instance-access</li><li>http://lv2plug.in/ns/ext/log</li><li>http://lv2plug.in/ns/ext/midi</li><li>http://lv2plug.in/ns/ext/options</li><li>http://lv2plug.in/ns/ext/parameters</li><li>http://lv2plug.in/ns/ext/port-props</li><li>http://lv2plug.in/ns/ext/presets</li><li>http://lv2plug.in/ns/ext/resize-port</li><li>http://lv2plug.in/ns/ext/state</li><li>http://lv2plug.in/ns/ext/time</li><li>http://lv2plug.in/ns/ext/uri-map</li><li>http://lv2plug.in/ns/ext/urid</li><li>http://lv2plug.in/ns/ext/worker</li><li>http://lv2plug.in/ns/extensions/ui</li><li>http://lv2plug.in/ns/extensions/units</li><li>http://home.gna.org/lv2dynparam/rtmempool/v1</li><li>http://kxstudio.sf.net/ns/lv2ext/external-ui</li><li>http://kxstudio.sf.net/ns/lv2ext/programs</li><li>http://kxstudio.sf.net/ns/lv2ext/props</li><li>http://kxstudio.sf.net/ns/lv2ext/rtmempool</li><li>http://ll-plugins.nongnu.org/lv2/ext/midimap</li><li>http://ll-plugins.nongnu.org/lv2/ext/miditype</li></ul> + + + + Using Juce host - Benutzt Juce-Host + + About 85% complete (missing vst bank/presets and some minor stuff) - Circa 85 % vollständig (es fehlen vst-Bank/-Presets und einige kleinere Dinge) + CarlaHostW + MainWindow - HauptFenster + + Rack - Rack + + Patchbay - Patchbay + + Logs - Protokolle + + Loading... - Laden … + + Save - Speichern + + Clear - Leeren + + Ctrl+L - Strg+L + + Auto-Scroll - Autoscroll + + Buffer Size: - Puffergröße: + + Sample Rate: - Sample-Rate: + + ? Xruns - ? Xruns + + DSP Load: %p% - DSP-Last: %p% + + &File &Datei + &Engine - &Engine + + &Plugin - &Plugin + + Macros (all plugins) - Makros (alle Plugins) + + &Canvas - &Leinwand + + Zoom - Zoom + + &Settings - E&instellungen + + &Help &Hilfe + Tool Bar - Werkzeugleiste + + Disk - Datenträger + + + Home Home + Transport - Transport + + Playback Controls - Wiedergabesteuerung + + Time Information - Zeitinformation + + Frame: - Frame: + + 000'000'000 - 000'000'000 + + Time: Zeit: + 00:00:00 - 00:00:00 + + BBT: - BBT: + + 000|00|0000 - 000|00|0000 + + Settings Einstellungen + BPM - BPM + + Use JACK Transport - JACK-Transport benutzen + + Use Ableton Link - Ableton Link benutzen + + &New &Neu + Ctrl+N - Strg+N + + &Open... - Ö&ffnen … + Ö&ffnen... + + Open... - Öffnen … + + Ctrl+O - Strg+O + + &Save &Speichern + Ctrl+S - Strg+S + + Save &As... - Speichern &unter … + Speichern &als... + + Save As... - Speichern unter … + + Ctrl+Shift+S - Strl+Umschalt+S + + &Quit - &Verlassen + &Beenden + Ctrl+Q - Strg+Q + + &Start - &Start + + F5 - F5 + + St&op - St&opp + + F6 - F6 + + &Add Plugin... - Plugin &hinzufügen … + + Ctrl+A - Strg+A + + &Remove All - Alle entfe&rnen + + Enable - Aktivieren + + Disable - Deaktivieren + + 0% Wet (Bypass) - 0 % Wet (umgehen) + + 100% Wet - 100 % Wet + + 0% Volume (Mute) - 0 % Lautstärke (stumm) + 0% Volumen (Mute) + 100% Volume - 100 % Lautstärke + 100% Volumen + Center Balance - Zentrierte Balance + + &Play - Abs&pielen + + Ctrl+Shift+P - Strg+Umschalt+P + + &Stop - &Stopp + + Ctrl+Shift+X - Strg+Umschalt+X + + &Backwards - &Rückwärts + + Ctrl+Shift+B - Strg+Umschalt+B + + &Forwards - &Vorwärts + + Ctrl+Shift+F - Strg+Umschalt+F + + &Arrange - &Anordnen + + Ctrl+G - Strg+G + + + &Refresh - A&ktualisieren + + Ctrl+R - Strg+R + + Save &Image... - &Bild speichern … + + Auto-Fit - Automatisch anpassen + + Zoom In - Hereinzoomen + + Ctrl++ - Strg++ + + Zoom Out - Hinauszoomen + + Ctrl+- - Strg+- + + Zoom 100% - Zoom 100 % + + Ctrl+1 - Strg+1 + + Show &Toolbar - &Werkzeugleiste anzeigen + + &Configure Carla - &Carla konfigurieren + + &About - &Über + + About &JUCE - Über &JUCE + + About &Qt - Über &Qt + + Show Canvas &Meters - Leinwand-&Messinstrumente anzeigen + + Show Canvas &Keyboard - Leinwand-&Keyboard anzeigen + + Show Internal - Intern anzeigen + + Show External - Extern anzeigen + + Show Time Panel - Zeitleiste anzeigen + + Show &Side Panel - &Seitenleiste anzeigen + + Ctrl+P - Strg+P + + &Connect... - &Verbinden … + + Compact Slots - Kompakte Slots + + Expand Slots - Slots erweitern + + Perform secret 1 - Geheimnis 1 ausführen + + Perform secret 2 - Geheimnis 2 ausführen + + Perform secret 3 - Geheimnis 3 ausführen + + Perform secret 4 - Geheimnis 4 ausführen + + Perform secret 5 - Geheimnis 5 ausführen + + Add &JACK Application... - &JACK-Applikation hinzufügen … + + &Configure driver... - Treiber &konfigurieren … + + Panic - Panik + + Open custom driver panel... - Benutzerdefnierte Treiberleiste hinzufügen … + + Save Image... (2x zoom) - Bild speichern … (2× Zoom) + + Save Image... (4x zoom) - Bild speichern … (4× Zoom) + + Copy as Image to Clipboard - Als Bild in Zwischenablage kopieren + + Ctrl+Shift+C - Strg+Umschalt+C + CarlaHostWindow + Export as... - Exportieren als … + + + + + Error Fehler + Failed to load project - Konnte Projekt nicht laden + + Failed to save project - Konnte Projekt nicht speichern + + Quit - Verlassen + + Are you sure you want to quit Carla? - Möchten Sie Carla wirklich verlassen? + - Could not connect to Audio backend '%1', possible reasons: + + Could not connect to Audio backend '%1', possible reasons: %2 - Konnte nicht zum Audiobackend »%1« verbinden; mögliche Gründe: + Konnte nicht zum Audio backend verbinden '%1', mögliche Gründe: %2 + Could not connect to Audio backend '%1' - Konnte nicht zum Audiobackend »%1« verbinden + Konnte nicht zum Audio backend verbinden '%1' + Warning - Warnung + + There are still some plugins loaded, you need to remove them to stop the engine. Do you want to do this now? - Es sind immer noch einige Plugins geladen, Sie müssen sie entfernen, um die Engine zu stoppen. -Möchten Sie das jetzt tun? + CarlaSettingsW + Settings Einstellungen + main - Haupt + + canvas - Leinwand + + engine - Engine + + osc - osc + + file-paths - Dateipfade + + plugin-paths - Pluginpfade + + wine - Wine + + experimental - experimentell + + Widget - Widget + + + Main - Haupt + + + Canvas - Leinwand + + + Engine - Engine + + File Paths - Dateipfade + + Plugin Paths - Pluginpfade + + Wine - Wine + + + Experimental - Experimentell + + <b>Main</b> - <b>Haupt</b> + + Paths Pfade + Default project folder: - Standardprojektverzeichnis: + + Interface - Interface + + Use "Classic" as default rack skin - »Classic« als Standard-Rack-Skin verwenden + + Interface refresh interval: - Interface-Aktualisierungsintervall: + + + ms - ms + + Show console output in Logs tab (needs engine restart) - Konsolenausgabe in Protokolltab anzeigen (benötigt Engine-Neustart) + + Show a confirmation dialog before quitting - Bestätigungsdialog vor dem Verlassen anzeigen + + + Theme - Thema + + Use Carla "PRO" theme (needs restart) - Carla-»PRO«-Thema benutzen (benötigt Neustart) + + Color scheme: - Farbschema: + + Black - Schwarz + + System - System + + Enable experimental features - Experimentelle Features aktivieren + + <b>Canvas</b> - <b>Leinwand</b> + + Bezier Lines - Bezierkurven + + Theme: - Thema: + + Size: Größe: + 775x600 - 775×600 + + 1550x1200 - 1550×1200 + + 3100x2400 - 3100×2400 + + 4650x3600 - 4650×3600 + + 6200x4800 - 6200×4800 + + 12400x9600 - 12400×9600 + + Options - Optionen + + Auto-hide groups with no ports - Gruppen ohne Ports automatisch verbergen + + Auto-select items on hover - Items beim Überfahren automatisch auswählen + + Basic eye-candy (group shadows) - Simple Grafikeffekte (Gruppenschatten) + + Render Hints - Render-Hints + + Anti-Aliasing - Antialiasing + + Full canvas repaints (slower, but prevents drawing issues) - Volle Leinwandneuzeichnungen (langsamer, aber verhindert Zeichenprobleme) + + <b>Engine</b> - <b>Engine</b> + + + Core - Haupt + + Single Client - Einzelclient + + Multiple Clients - Mehrere Clients + + + Continuous Rack - Fortlaufender Rack + + + Patchbay - Patchbay + + Audio driver: - Audiotreiber: + + Process mode: - Prozessmodus: + + + + + Maximum number of parameters to allow in the built-in 'Edit' dialog - Maximale erlaubte Parameter im eingebauten »Bearbeiten«-Dialog + + Max Parameters: - Max. Parameter: + + ... - + + Reset Xrun counter after project load - Xrun-Zähler nach Projektladen zurücksetzen + + Plugin UIs - Plugin-UIs + + + How much time to wait for OSC GUIs to ping back the host - Wie lange auf OSC-GUIs gewartet werden soll, um zum Host zurückzupingen + + UI Bridge Timeout: - UI-Bridge-Zeitüberschreitung: + + Use OSC-GUI bridges when possible, this way separating the UI from DSP code - OSC-GUI-Bridges benutzen, wenn möglich. Somit wird die UI vom DSP-Code getrennt + + Use UI bridges instead of direct handling when possible - UI-Brücken statt direkter Handhabung benutzen, wenn möglich + + Make plugin UIs always-on-top - Plugin-UIs immer oben halten + + Make plugin UIs appear on top of Carla (needs restart) - Plugin-UIs oberhalb Carla halten (benötigt Neustart) + + NOTE: Plugin-bridge UIs cannot be managed by Carla on macOS - ANMERKUNG: Plugin-Bridge-UIs können auf macOS nicht von Carla verwaltet werden + + + Restart the engine to load the new settings - Engine neustarten, um die neuen Einstellungen zu laden + + <b>OSC</b> - <b>OSC</b> + + Enable OSC - OSC aktivieren + + Enable TCP port - TCP-Port aktivieren + + + Use specific port: - Spezifischen Port benutzen: + + Overridden by CARLA_OSC_TCP_PORT env var - Überschrieben von Umgebungsvariable CARLA_OSC_TCP_PORT + + + Use randomly assigned port - Zufällig zugewiesenen Port benutzen + + Enable UDP port - UDP-Port aktivieren + + Overridden by CARLA_OSC_UDP_PORT env var - Überschrieben von Umgebungsvariable CARLA_OSC_UDP_PORT + + DSSI UIs require OSC UDP port enabled - DSSI-UIs brauchen einen aktivierten OSC-UDP-Port + + <b>File Paths</b> - <b>Dateipfade</b> + + Audio Audio + MIDI MIDI + Used for the "audiofile" plugin - Benutzt für das »audiofile«-Plugin + + Used for the "midifile" plugin - Benutzt für das »midifile«-Plugin + + + Add... - Hinzufügen … + + + Remove - Entfernen + + + Change... - Ändern … + + <b>Plugin Paths</b> - <b>Pluginpfade</b> + + LADSPA - LADSPA + + DSSI - DSSI + + LV2 - LV2 + + VST2 - VST2 + + VST3 - VST3 + + SF2/3 - SF2/3 + + SFZ - SFZ + + JSFX - JSFX + + CLAP - CLAP + + Restart Carla to find new plugins - Carla neustarten, um neue Plugins zu finden + + <b>Wine</b> - <b>Wine</b> + + Executable - Ausführbare Datei + + Path to 'wine' binary: - Pfad zum »wine«-Programm: + + Prefix - Präfix + + Auto-detect Wine prefix based on plugin filename - Wine-Präfix automatisch baiserend auf Plugindateinamen automatisch erkennen + + Fallback: - Fallback: + + Note: WINEPREFIX env var is preferred over this fallback - Anmerkung: Umgebungsvariable WINEPREFIX hat über diesen Fallback Vorrang + + Realtime Priority - Echtzeitpriorität + + Base priority: - Basispriorität: + + WineServer priority: - WineServer-Priorität: + + These options are not available for Carla as plugin - Diese Optionen sind nicht für Carla als Plugin verfügbar + + <b>Experimental</b> - <b>Experimentell</b> + + Experimental options! Likely to be unstable! - Experimentelle Optionen! Wahrscheinlich instabil! + + Enable plugin bridges - Plugin-Bridges aktivieren + + Enable Wine bridges - Wine-Bridges aktivieren + + Enable jack applications - Jack-Applikationen aktivieren + + Export single plugins to LV2 - Einzelne Plugins nach LV2 exportieren + + Use system/desktop-theme icons (needs restart) - System-/Desktop-Thema-Icons benutzen (benötigt Neustart) + + Load Carla backend in global namespace (NOT RECOMMENDED) - Carla-Backend in globalen Namensraum laden (NICHT EMPFOHLEN) + + Fancy eye-candy (fade-in/out groups, glow connections) - Erweiterte Grafikeffekte (Gruppen ein-/ausblenden, leuchtende Verbindungen) + + Use OpenGL for rendering (needs restart) - OpenGL zum Rendern benutzen (benötigt Neustart) + + High Quality Anti-Aliasing (OpenGL only) - Hochqualitatives Antialiasing (nur OpenGL) + + Render Ardour-style "Inline Displays" - »Inline Displays« wie in Ardour rendern + + Force mono plugins as stereo by running 2 instances at the same time. This mode is not available for VST plugins. - Mono-Plugins zu Stereo zwingen, indem 2 Instanzen gleichzeitig laufen gelassen werden. -Dieser Modus ist nicht für VST-Plugins verfügbar. + + Force mono plugins as stereo - Mono-Plugins zu Stereo zwingen + + When enabled, Carla will try to prevent plugins from doing things that might mess up the audio or cause xruns, such as fork(), gtk_init() and similar. - Falls aktiviert, wird Carla versuchen, Plugins daran zu hindern, was das Audio kaputt machen könnte oder, xruns wie fork(), gtk_init() und ähnliches zu verursachen. + + Prevent unsafe calls from plugins (needs restart) - Unsichere Aufrufe von Plugins verhindern (benötigt Neustart) + + Run plugins in a separate process, so if they crash it does not affect Carla. Plugins get automatically deactivated in such cases. Reactvate them to start the process again, with the last saved state applied to it. - Plugins in einen separaten Prozess ausführen; wenn sie also abstürzen, bleibt Carla verschont. -Plugins werden in diesem Fall automatisch deaktiviert. -Reaktivieren Sie sie, um den Prozess neuzustarten, wobei der letzte gespeicherte Zustand auf sie angewendet wird. + + Run plugins in bridge mode when possible - Plugins im Bridge-Modus ausführen, falls möglich + + + + + Add Path - Pfad hinzufügen - - - - ControllerConnectionDialog - - Connection Settings - Verbindungseinstellungen - - - MIDI CONTROLLER - MIDI-CONTROLLER - - - Input channel - Eingangskanal - - - CHANNEL - KANAL - - - Input controller - Eingangscontroller - - - CONTROLLER - CONTROLLER - - - Auto Detect - Automatische Erkennung - - - MIDI-devices to receive MIDI-events from - MIDI-Geräte, von denen MIDI-Events empfangen werden sollen - - - USER CONTROLLER - BENUTZERDEFINIERTER CONTROLLER - - - MAPPING FUNCTION - ABBILDUNGSFUNKTION - - - OK - OK - - - Cancel - Abbrechen - - - LMMS - LMMS - - - Cycle Detected. - Schleife erkannt. - - - - ControllerRackView - - Controller Rack - Controller-Einheit - - - Add - Hinzufügen - - - Confirm Delete - Löschen bestätigen - - - Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Löschen bestätigen? Es gibt eine oder mehrere existierende Verbindungen, die mit diesem Controller assoziiert sind. Das kann nicht rückgängig gemacht werden. - - - - ControllerView - - Controls - Regler - - - Controllers are able to automate the value of a knob, slider, and other controls. - Mit Controllern können Sie den Wert eines Reglers, Schiebereglers und anderer Steuerelemente automatisieren. - - - Rename controller - Controller umbenennen - - - Enter the new name for this controller - Geben Sie einen neuen Namen für diesen Controller ein - - - &Remove this controller - Diesen Controller &entfernen - - - Re&name this controller - Diesen Controller umbe&nennen - - - LFO - LFO + Dialog + Carla Control - Connect - Carla-Steuerung – Verbinden + + Remote setup - Entfernter Host – Einrichtung + + UDP Port: - UDP-Port: + + Remote host: - Entfernter Host: + + TCP Port: - TCP-Port: + + Set value Wert setzen + TextLabel - TextLabel + + Scale Points - Skalierungspunkte + DriverSettingsW + Driver Settings - Treibereinstellungen + + Device: - Gerät: + + Buffer size: - Puffergröße: + + Sample rate: - Sample-Rate: + Sample Rate: + Triple buffer - Dreifachpuffer + + Show Driver Control Panel - Treiberbedienfeld anzeigen + + Restart the engine to load the new settings - Engine neustarten, um die neuen Einstellungen zu laden - - - - EffectRackView - - EFFECTS CHAIN - EFFEKT-KETTE - - - Add effect - Effekt hinzufügen - - - - EffectSelectDialog - - Add effect - Effekt hinzufügen - - - Name - Name - - - Type - Typ - - - Description - Beschreibung - - - Author - Autor - - - - EffectView - - Toggles the effect on or off. - Schaltet den Effekt an oder aus. - - - On/Off - An/aus - - - W/D - W/D - - - Wet Level: - Wet-Level: - - - The Wet/Dry knob sets the ratio between the input signal and the effect signal that forms the output. - Der Wet/Dry-Regler legt das Verhältnis zwischen Eingangssignal und vom Effekt bearbeiteten Signal im Ausgang fest. - - - DECAY - DECAY - - - Time: - Zeit: - - - The Decay knob controls how many buffers of silence must pass before the plugin stops processing. Smaller values will reduce the CPU overhead but run the risk of clipping the tail on delay and reverb effects. - Der Abfallzeit-Regler legt fest, wie viele Puffer mit Stille durchgelaufen sein müssen, bis der Effekt mit der Verarbeitung stoppt. Kleinere Werte reduzieren die CPU-Last, können jedoch unter Umständen das Ende von Delay-Effekten o.ä. abschneiden. - - - GATE - GATE - - - Gate: - Gate: - - - The Gate knob controls the signal level that is considered to be 'silence' while deciding when to stop processing signals. - Der Gate-Regler legt die Stärke des Signals fest, welches als »Stille« angesehen wird, um zu entscheiden, wann das Plugin mit der Verarbeitung aufhören soll. - - - Controls - Regler - - - Effect plugins function as a chained series of effects where the signal will be processed from top to bottom. - -The On/Off switch allows you to bypass a given plugin at any point in time. - -The Wet/Dry knob controls the balance between the input signal and the effected signal that is the resulting output from the effect. The input for the stage is the output from the previous stage. So, the 'dry' signal for effects lower in the chain contains all of the previous effects. - -The Decay knob controls how long the signal will continue to be processed after the notes have been released. The effect will stop processing signals when the volume has dropped below a given threshold for a given length of time. This knob sets the 'given length of time'. Longer times will require more CPU, so this number should be set low for most effects. It needs to be bumped up for effects that produce lengthy periods of silence, e.g. delays. - -The Gate knob controls the 'given threshold' for the effect's auto shutdown. The clock for the 'given length of time' will begin as soon as the processed signal level drops below the level specified with this knob. - -The Controls button opens a dialog for editing the effect's parameters. - -Right clicking will bring up a context menu where you can change the order in which the effects are processed or delete an effect altogether. - Effektplugins funktionieren als eine Aneinanderreihung von Effekten, wo das Signal von oben nach unter verarbeitet wird. - -Der Ein-/Ausschalter ermöglicht es Ihnen ein Plugin jeder Zeit zu umgehen. - -Der Wet/Dry-Regler legt das Verhältnis zwischen Eingangssignal und vom Effekt bearbeiteten Signal im Ausgang fest. Der Eingang dieses Effekts ist der Ausgang des vorherigen Effekts. Somit enthält das »dry«-Signal, für Effekte weiter unten in der Kette, alle vorherigen Effekte. - -Der Abfallzeit-Regler legt fest, wie lange das Signal weiterverarbeitet werden soll, nachdem die Noten losgelassen wurden. Der Effekt hört auf, Signale zu verarbeiten, wenn die Lautstärke eines Signals für eine festgelegte Zeit unter einen festgelegten Schwellwert gefallen ist. Dieser Regler legt die »festgelegte Zeit« fest. Längere Zeiten brauchen mehr Rechenleistung, deshalb sollte diese Zahl für die meisten Effekte niedrig sein. Es muss für Effekte, die über längere Zeit Stille erzeugen, z.B. Verzögerungen, erhöht werden. - -Der Gate-Regler kontrolliert den »festgelegten Schwellwert« für das automatische Ausschalten des Effekts. Die Uhr für die »festgelegte Zeit« beginnt sobald der Pegel des verarbeiteten Signals unter den mit diesem Knopf festgelegten Pegel fällt. - -Der Regler-Knopf öffnet einen Dialog zum Bearbeiten der Parameter des Effekts. - -Ein Recktsklick öffnet ein Kontextmenü, in dem Sie die Reihenfolge der Effekte ändern oder einen Effekt entfernen können. - - - Move &up - Nach &oben verschieben - - - Move &down - Nach &unten verschieben - - - &Remove this plugin - Plugin entfe&rnen - - - - EnvelopeAndLfoView - - DEL - DEL - - - Predelay: - Verzögerung (predelay): - - - Use this knob for setting predelay of the current envelope. The bigger this value the longer the time before start of actual envelope. - Benutzen Sie diesen Regler, um die Verzögerung (predelay) für die aktuelle Hüllkurven einzustellen. Je größer dieser Wert, desto länger dauert es, bis die eigentliche Hüllkurve beginnt. - - - ATT - ATT - - - Attack: - Anschwellzeit (attack): - - - Use this knob for setting attack-time of the current envelope. The bigger this value the longer the envelope needs to increase to attack-level. Choose a small value for instruments like pianos and a big value for strings. - Benutzen Sie diesen Regler, um die Anschwellzeit (attack) für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto länger braucht die Hüllkurve, um bis zum Anschwellpegel (attack-level) zu steigen. Wählen Sie einen kleinen Wert für Instrumente wie Klavier und einen großen Wert für Streichinstrumente. - - - HOLD - HOLD - - - Hold: - Haltezeit (hold): - - - Use this knob for setting hold-time of the current envelope. The bigger this value the longer the envelope holds attack-level before it begins to decrease to sustain-level. - Benutzen Sie diesen Regler, um die Haltezeit (hold) der aktuellen Hüllkurve zu setzen. Je größer der Wert, desto länger hält die Hüllkurve den Anschwellpegel, bevor sie zum Haltepegel (sustain-level) abfällt. - - - DEC - DEC - - - Decay: - Abfallzeit (decay): - - - Use this knob for setting decay-time of the current envelope. The bigger this value the longer the envelope needs to decrease from attack-level to sustain-level. Choose a small value for instruments like pianos. - Benutzen Sie diesen Regler, um die Abfallzeit (decay) für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto länger braucht die Hüllkurve, um vom Anschwellpegel (attack-level) zum Dauerpegel (sustain-level) abzufallen. Wählen Sie einen kleinen Wert für Instrumente wie Klavier. - - - SUST - SUST - - - Sustain: - Dauerpegel (sustain): - - - Use this knob for setting sustain-level of the current envelope. The bigger this value the higher the level on which the envelope stays before going down to zero. - Benutzen Sie diesen Regler, um den Dauerpegel (sustain-level) für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto höher der Pegel, den die Hüllkurve hält, bevor sie auf Null abfällt. - - - REL - REL - - - Release: - Ausklingzeit (release): - - - Use this knob for setting release-time of the current envelope. The bigger this value the longer the envelope needs to decrease from sustain-level to zero. Choose a big value for soft instruments like strings. - Benutzen Sie diesen Regler, um die Ausklingzeit der aktuellen Hüllkurve einzustellen. Je größer der Wert, desto länger braucht die Hüllkurve um vom Dauerpegel (sustain-level) auf Null abzufallen. Wählen Sie einen großen Wert für weiche Instrumente, wie z.B. Streicher. - - - AMT - Intensität - INT - - - Modulation amount: - Modulationsintensität: - - - Use this knob for setting modulation amount of the current envelope. The bigger this value the more the according size (e.g. volume or cutoff-frequency) will be influenced by this envelope. - Benutzen Sie diesen Regler, um die Modulationsintensität für die aktuelle Hüllkurve einzustellen. Je größer dieser Wert, desto mehr wird die gewählte Größe (z.B. Lautstärke oder Kennfrequenz) von der Hüllkurve beeinflusst. - - - LFO predelay: - LFO-Vorverzögerung (LFO predelay): - - - Use this knob for setting predelay-time of the current LFO. The bigger this value the the time until the LFO starts to oscillate. - Benutzen Sie diesen Regler, um die Verzögerungszeit für den aktuellen LFO einzustellen. Je größer dieser Wert, desto länger die Zeit, bis der LFO anfängt zu schwingen. - - - LFO- attack: - LFO-Anschwellzeit (LFO-attack): - - - Use this knob for setting attack-time of the current LFO. The bigger this value the longer the LFO needs to increase its amplitude to maximum. - Benutzen Sie diesen Regler, um die Anschwellzeit für den aktuellen LFO einzustellen. Je größer dieser Wert, desto länger dauert es, bis die Amplitude des LFOs bis zum Maximum angestiegen ist. - - - SPD - Geschwindigkeit - GSW - - - LFO speed: - LFO-Geschwindigkeit: - - - Use this knob for setting speed of the current LFO. The bigger this value the faster the LFO oscillates and the faster will be your effect. - Benutzen Sie diesen Regler, um die Geschwindigkeit für den aktuellen LFO einzustellen. Je größer der Wert, desto schneller schwingt der LFO und desto schneller ist der entsprechende Effekt. - - - Use this knob for setting modulation amount of the current LFO. The bigger this value the more the selected size (e.g. volume or cutoff-frequency) will be influenced by this LFO. - Benutzen Sie diesen Regler, um die Modulationsintensität des aktuellen LFOs einzustellen. Je größer der Wert, desto mehr wird die gewählte Größe (z.B. Lautstärke oder Kennfrequenz) von diesem LFO beeinflusst. - - - Click here for a sine-wave. - Hier klicken für eine Sinuswelle. - - - Click here for a triangle-wave. - Hier klicken für eine Dreieckwelle. - - - Click here for a saw-wave for current. - Hier klicken für eine Sägezahnwelle. - - - Click here for a square-wave. - Hier klicken eine Rechteckwelle. - - - Click here for a user-defined wave. Afterwards, drag an according sample-file onto the LFO graph. - Hier klicken für eine benutzerdefinierte Wellenform. Danach eine entsprechende Sampledatei auf den LFO-Graphen ziehen. - - - FREQ x 100 - FREQ ×100 - - - Click here if the frequency of this LFO should be multiplied by 100. - Hier klicken, wenn die Frequenz des LFOs mit 100 multipliziert werden soll. - - - multiply LFO-frequency by 100 - LFO-Frequenz mit 100 multiplizieren - - - MODULATE ENV-AMOUNT - HÜLLK. MODULIEREN - - - Click here to make the envelope-amount controlled by this LFO. - Klicken Sie hier, um die Hüllkurvenintensität durch diesen LFO kontrollieren zu lassen. - - - control envelope-amount by this LFO - Hüllkurvenintensität durch diesen LFO kontrollieren - - - ms/LFO: - ms/LFO: - - - Hint - Tipp - - - Drag a sample from somewhere and drop it in this window. - Ziehen Sie ein Sample von irgendwo und lassen es in diesem Fenster fallen. - - - Click here for random wave. - Klick für eine zufällige Welle. + ExportProjectDialog + Export project Projekt exportieren - Output - Ausgabe + + Export as loop (remove extra bar) + + + Export between loop markers + Export zwischen den Loop markierungen + + + + Render Looped Section: + + + + + time(s) + + + + + File format settings + + + + File format: Dateiformat: - Samplerate: - Abtastrate: + + Sampling rate: + + 44100 Hz 44100 Hz + 48000 Hz 48000 Hz + 88200 Hz 88200 Hz + 96000 Hz 96000 Hz + 192000 Hz 192000 Hz - Bitrate: - Bitrate: - - - 64 KBit/s - 64 KBit/s - - - 128 KBit/s - 128 KBit/s - - - 160 KBit/s - 160 KBit/s - - - 192 KBit/s - 192 KBit/s - - - 256 KBit/s - 256 KBit/s - - - 320 KBit/s - 320 KBit/s - - - Depth: - Tiefe: - - - 16 Bit Integer - 16 Bit Ganzzahl - - - 32 Bit Float - 32 Bit Fließkommazahl - - - Please note that not all of the parameters above apply for all file formats. - Bitte beachten Sie, dass nicht alle der obigen Parameter für alle Dateiformate relevant sind. - - - Quality settings - Qualitätseinstellungen - - - Interpolation: - Interpolation: - - - Zero Order Hold - Zero-Order-Hold - - - Sinc Fastest - Sinc – am schnellsten - - - Sinc Medium (recommended) - Sinc – mittel (empfohlen) - - - Sinc Best (very slow!) - Sinc – am besten (sehr langsam!) - - - Oversampling (use with care!): - Überabtastung (oversampling) (mit Vorsicht nutzen!): - - - 1x (None) - 1× (keine) - - - 2x - - - - 4x - - - - 8x - - - - Start - Start - - - Cancel - Abbrechen - - - Export as loop (remove end silence) - Als Schleife exportieren (Stille am Ende entfernen) - - - Export between loop markers - Export zwischen den Schleifenmarkierungen - - - Could not open file - Konnte Datei nicht öffnen - - - Export project to %1 - Projekt nach %1 exportieren - - - Error - Fehler - - - Error while determining file-encoder device. Please try to choose a different output format. - Fehler beim Bestimmen des Datei-Enkoder-Geräts. Bitte wählen Sie ein anderes Ausgabeformat. - - - Rendering: %1% - Rendern: %1 % - - - Could not open file %1 for writing. -Please make sure you have write permission to the file and the directory containing the file and try again! - Datei %1 konnte nicht zum Schreiben geöffnet werden. -Bitte stellen Sie sicher, dass Sie Schreibrechte sowohl auf die Datei als auch das Verzeichnis, das sie enthält, haben, und versuchen Sie es erneut! - - - Export as loop (remove extra bar) - Als Schleife exportieren (Zusatztakt entfernen) - - - Render Looped Section: - Schleifenabschnitt rendern: - - - time(s) - mal - - - File format settings - Dateiformateinstellungen - - - Sampling rate: - Sample-Rate: - - + Bit depth: - Bittiefe: + + 16 Bit integer - 16 Bit Ganzzahl + + 24 Bit integer - 24 Bit Ganzzahl + + 32 Bit float - 32 Bit Fließkommazahl + + Stereo mode: - Stereomodus: + Stereo Modus: + Mono Mono + Stereo Stereo + Joint stereo - Verbund-Stereo + + Compression level: - Kompressionsstufe: + + + Bitrate: + Bitrate: + + + + 64 KBit/s + 64 KBit/s + + + + 128 KBit/s + 128 KBit/s + + + + 160 KBit/s + 160 KBit/s + + + + 192 KBit/s + 192 KBit/s + + + + 256 KBit/s + 256 KBit/s + + + + 320 KBit/s + 320 KBit/s + + + Use variable bitrate - Variable Bitrate benutzen + Verwende variable Bitrate + + Quality settings + Qualitätseinstellungen + + + + Interpolation: + Interpolation: + + + Zero order hold - Zero-Order-Hold + + Sinc worst (fastest) - Sinc – am schlechtesten (am schnellsten) + + Sinc medium (recommended) - Sinc – mittel (empfohlen) + + Sinc best (slowest) - Sinc – am besten (am langsamsten) + + + + + Start + Start + + + + Cancel + Abbrechen - Fader - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - FileBrowser - - Browser - Browser - - - - FileBrowserTreeWidget - - Send to active instrument-track - An aktive Instrumentspur senden - - - Open in new instrument-track/B+B Editor - In neuer Instrumentspur im B+B-Editor öffnen - - - Loading sample - Lade Sample - - - Please wait, loading sample for preview... - Bitte warten, lade Sample für Vorschau … - - - --- Factory files --- - --- Mitgelieferte Dateien --- - - - Open in new instrument-track/Song Editor - In neuer Instrumentspur im Song-Editor öffnen - - - Error - Fehler - - - does not appear to be a valid - Ursprungstext wird verkettet, daher diese komische Übersetzung - scheint nicht gültig zu sein. Typ: - - - file - Datei - - - - FxLine - - Channel send amount - Kanal-Sendemenge - - - The FX channel receives input from one or more instrument tracks. - It in turn can be routed to multiple other FX channels. LMMS automatically takes care of preventing infinite loops for you and doesn't allow making a connection that would result in an infinite loop. - -In order to route the channel to another channel, select the FX channel and click on the "send" button on the channel you want to send to. The knob under the send button controls the level of signal that is sent to the channel. - -You can remove and move FX channels in the context menu, which is accessed by right-clicking the FX channel. - - Der FX-Kanal erhält von ein oder mehr Instrumentenspuren-Eingabesignale. - Er kann wiederum durch mehrere andere FX-Kanäle gesendet werden. LMMS verhindert Endlosschleifen automatisch für Sie und erlaubt es nicht, eine Verbindung zu erstellen, die in einer Endlosschleife resultiert. - -Um den Kanal an einen anderen Kanal zu senden, wählen Sie den FX-Kanal aus und klicken Sie auf den »Senden«-Knopf in dem Kanal, an den Sie den Kanal senden möchten. Der Knopf unter dem Sendeknopf regelt die Stärke des gesendeten Signals. - -Sie können FX-Kanäle im Kontextmenü entfernen und verschieben, welches durch einen Rechtsklick auf dem FX-Kanal aufgerufen wird. - - - - Move &left - Nach &links verschieben - - - Move &right - Nach &rechts verschieben - - - Rename &channel - &Kanal umbenennen - - - R&emove channel - Kanal &Entfernen - - - Remove &unused channels - Entferne &unbenutzte Kanäle - - - - FxMixer - - Master - Master - - - FX %1 - FX %1 - - - - FxMixerView - - FX-Mixer - FX-Mixer - - - FX Fader %1 - FX-Schieber %1 - - - Mute - Stumm - - - Mute this FX channel - Diesen FX-Kanal stummschalten - - - Solo - Solo - - - Solo FX channel - Solo-FX-Kanal - - - - FxRoute - - Amount to send from channel %1 to channel %2 - Anteil, der von Kanal %1 zu Kanal %2 gesendet werden soll - - - - GuiApplication - - Working directory - Arbeitsverzeichnis - - - The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Das LMMS-Arbeitsverzeichnis %1 existiert nicht. Soll es jetzt erstellt werden? Sie können das Verzeichnis mit Bearbeiten -> Einstellungen ändern. - - - Preparing UI - UI vorbereiten - - - Preparing song editor - Song-Editor vorbereiten - - - Preparing mixer - Mixer vorbereiten - - - Preparing controller rack - Controller-Einheit vorbereiten - - - Preparing project notes - Projektnotizen vorbereiten - - - Preparing beat/bassline editor - Beat-/Bassline-Editor vorbereiten - - - Preparing piano roll - Piano-Roll vorbereiten - - - Preparing automation editor - Automations-Editor vorbereiten - - - - InstrumentFunctionArpeggioView - - ARPEGGIO - ARPEGGIO - - - An arpeggio is a method playing (especially plucked) instruments, which makes the music much livelier. The strings of such instruments (e.g. harps) are plucked like chords. The only difference is that this is done in a sequential order, so the notes are not played at the same time. Typical arpeggios are major or minor triads, but there are a lot of other possible chords, you can select. - Ein Arpeggio ist eine Art, (vor allem gezupfte) Instrumente zu spielen, die die Musik viel lebendiger macht. Die Seiten von solchen Instrumenten (z.B. Harfen) werden wie Akkorde gezupft, der einzige Unterschied besteht darin, dass dies nacheinander geschieht. Die Noten werden also nicht zur gleichen Zeit gespielt. Typische Arpeggios sind Dur- oder Moll-Dreiklänge, aber es gibt noch viele andere Akkorde, die Sie auswählen können. - - - RANGE - Bereich - BEREI - - - Arpeggio range: - Arpeggio-Bereich: - - - octave(s) - Oktave(n) - - - Use this knob for setting the arpeggio range in octaves. The selected arpeggio will be played within specified number of octaves. - Benutzen Sie diesen Regler, um den Arpeggio-Bereich in Oktaven zu setzen. Das gewählte Arpeggio wird innerhalb der angegebenen Anzahl von Oktaven abgespielt. - - - TIME - ZEIT - - - Arpeggio time: - Arpeggio-Zeit: - - - ms - ms - - - Use this knob for setting the arpeggio time in milliseconds. The arpeggio time specifies how long each arpeggio-tone should be played. - Benutzen Sie diesen Regler, um die Arpeggio-Zeit in Millisekunden zu setzen. Die Arpeggio-Zeit gibt an, wie lange jeder einzelne Arpeggio-Ton gespielt werden soll. - - - GATE - GATE - - - Arpeggio gate: - Arpeggio-Gate: - - - % - % - - - Use this knob for setting the arpeggio gate. The arpeggio gate specifies the percent of a whole arpeggio-tone that should be played. With this you can make cool staccato arpeggios. - Benutzen Sie diesen Regler, um das Arpeggio-Gate zu setzen. Das Arpeggio-Gate gibt an, wie viel Prozent eines ganzen Arpeggio-Tons gespielt werden sollen. Damit können Sie coole Staccato-Arpeggios erzeugen. - - - Chord: - Akkord: - - - Direction: - Richtung: - - - Mode: - Modus: - - - SKIP - Überspringen - ÜBER - - - Skip rate: - Übersprungsrate: - - - The skip function will make the arpeggiator pause one step randomly. From its start in full counter clockwise position and no effect it will gradually progress to full amnesia at maximum setting. - Die Übersprungsfunktion wird den Arpeggiator dazu veranlassen, zufällig einen Schritt lang zu pausieren. An der Anfangsposition – am Anschlag an der entgegen dem Uhrzeigersinn gerichteten Position – hat es keine Wirkung. Mit steigenden Werten wird es allmählich zum vollständigen Vergessen bei der Maximalposition ansteigen. - - - MISS - Verfehlen - FEHL - - - Miss rate: - Verfehlrate: - - - The miss function will make the arpeggiator miss the intended note. - Die Verfehlfunktion wird den Arpeggiator dazu veranlassen, die geplante Note zu verfehlen. - - - CYCLE - ZYKLUS - - - Cycle notes: - Notenzyklus: - - - note(s) - Note(n) - - - Jumps over n steps in the arpeggio and cycles around if we're over the note range. If the total note range is evenly divisible by the number of steps jumped over you will get stuck in a shorter arpeggio or even on one note. - Springt über n Schritte im Arpeggio und kehrt zum Anfang des Zyklus zurück, wenn wir oberhalb des Notenbereichs sind. Falls der gesamte Notenbereich gleichmäßig durch die Anzahl der übersprungenen Schritte teilbar ist, werden Sie in einem kürzeren Arpeggio oder sogar auf einer Note festhängen. - - - - lmms::InstrumentFunctionNoteStacking - - Chords - Akkorde - - - Chord type - Akkordtyp - - - Chord range - Akkord-Bereich - + InstrumentFunctionNoteStacking + octave Oktave + + Major Dur + Majb5 Durb5 + minor moll + minb5 mollb5 + sus2 sus2 + sus4 sus4 + aug aug + augsus4 augsus4 + tri tri + 6 6 + 6sus4 6sus4 + 6add9 6add9 + m6 m6 + m6add9 m6add9 + 7 7 + 7sus4 7sus4 + 7#5 7#5 + 7b5 7b5 + 7#9 7#9 + 7b9 7b9 + 7#5#9 7#5#9 + 7#5b9 7#5b9 + 7b5b9 7b5b9 + 7add11 7add11 + 7add13 7add13 + 7#11 7#11 + Maj7 Maj7 + Maj7b5 Maj7b5 + Maj7#5 Maj7#5 + Maj7#11 Maj7#11 + Maj7add13 Maj7add13 + m7 m7 + m7b5 m7b5 + m7b9 m7b9 + m7add11 m7add11 + m7add13 m7add13 + m-Maj7 m-Maj7 + m-Maj7add11 m-Maj7add11 + m-Maj7add13 m-Maj7add13 + 9 9 + 9sus4 9sus4 + add9 add9 + 9#5 9#5 + 9b5 9b5 + 9#11 9#11 + 9b13 9b13 + Maj9 Maj9 + Maj9sus4 Maj9sus4 + Maj9#5 Maj9#5 + Maj9#11 Maj9#11 + m9 m9 + madd9 madd9 + m9b5 m9b5 + m9-Maj7 m9-Maj7 + 11 11 + 11b9 11b9 + Maj11 Maj11 + m11 m11 + m-Maj11 m-Maj11 + 13 13 + 13#9 13#9 + 13b9 13b9 + 13b5b9 13b5b9 + Maj13 Maj13 + m13 m13 + m-Maj13 m-Maj13 + Harmonic minor Harmonisches Moll + Melodic minor Melodisches Moll + Whole tone Ganze Töne + Diminished Vermindert + Major pentatonic Pentatonisches Dur + Minor pentatonic Pentatonisches Moll + Jap in sen Jap in sen + Major bebop Dur Bebop + Dominant bebop Dominanter Bebop + Blues Blues + Arabic Arabisch + Enigmatic Enigmatisch + Neopolitan Neopolitanisch + Neopolitan minor Neopolitanisches Moll + Hungarian minor Zigeunermoll + Dorian Dorisch + Phrygian Phrygisch + Lydian Lydisch + Mixolydian Mixolydisch + Aeolian Äolisch + Locrian Locrisch + Minor Moll + Chromatic Chromatisch + Half-Whole Diminished Halbton-Ganzton-Leiter + 5 5 + Phrygian dominant - Phrygisch-dominant + + Persian Persisch - - InstrumentFunctionNoteStackingView - - RANGE - Bereich - BEREI - - - Chord range: - Akkord-Bereich: - - - octave(s) - Oktave(n) - - - Use this knob for setting the chord range in octaves. The selected chord will be played within specified number of octaves. - Benutzen Sie diesen Regler, um den Akkord-Bereich in Oktaven zu setzen. Der gewählte Akkord wird innerhalb der angegebenen Anzahl von Oktaven abgespielt. - - - STACKING - STACKING - - - Chord: - Akkord: - - - - InstrumentMidiIOView - - ENABLE MIDI INPUT - MIDI-EINGANG AKTIVIEREN - - - CHANNEL - KANAL - - - VELOCITY - Lautstärke (abgekürzt aus Platzgründen) - LAUTSTRK - - - ENABLE MIDI OUTPUT - MIDI-AUSGANG AKTIVIEREN - - - PROGRAM - PROGRAMM - - - MIDI devices to receive MIDI events from - MIDI-Geräte, von denen MIDI-Events empfangen werden sollen - - - MIDI devices to send MIDI events to - MIDI-Geräte, an die MIDI-Events gesendet werden sollen - - - NOTE - NOTE - - - CUSTOM BASE VELOCITY - BENUTZERDEF. GRUNDLAUTSTÄRKE - - - Specify the velocity normalization base for MIDI-based instruments at 100% note velocity - Text muss kurz sein, damit er passt - Hier die Lautstärken-Normalisationsbasis für MIDI-basierende Instrumente bei Notenlautstärke von 100 % angeben - - - BASE VELOCITY - GRUNDLAUTSTÄRKE - - - - InstrumentMiscView - - MASTER PITCH - MASTER-TONHÖHE - - - Enables the use of Master Pitch - Zeilenumbruch nötig aufgrund Platzmangel - Aktiviert die Benutzung -der Master-Tonhöhe - - InstrumentSoundShaping + VOLUME LAUTSTÄRKE + Volume Lautstärke + CUTOFF KENNFREQ + Cutoff frequency Kennfrequenz + RESO RESO + Resonance Resonanz - - InstrumentSoundShapingView - - TARGET - ZIEL - - - These tabs contain envelopes. They're very important for modifying a sound, in that they are almost always necessary for substractive synthesis. For example if you have a volume envelope, you can set when the sound should have a specific volume. If you want to create some soft strings then your sound has to fade in and out very softly. This can be done by setting large attack and release times. It's the same for other envelope targets like panning, cutoff frequency for the used filter and so on. Just monkey around with it! You can really make cool sounds out of a saw-wave with just some envelopes...! - Diese Tabs enthalten Hüllkurven. Diese sind sehr wichtig, um einen Klang zu verändern, insbesondere bei der substraktiven Synthese. Wenn Sie zum Beispiel eine Lautstärkenhüllkurve haben, können Sie festlegen, wann der Klang welchen Lautstärkepegel haben soll. Vielleicht wollen Sie ein weiches Streichinstrument erstellen. Dann muss ihr Sound sehr sanft ein- und ausgeblendet werden. Das kann man ganz einfach erreichen, indem man eine große Anschwellzeit (attack) und Ausklingzeit (release) einstellt. Mit anderen Hüllkurven, wie Balance, Kennfrequenz des benutzten Filters usw., ist es genau das Gleiche. Probieren Sie einfach ein bisschen herum! Mit ein paar Hüllkurven kann man aus einer Sägezahnwelle wirklich coole Klänge machen. - - - FILTER - FILTER - - - Here you can select the built-in filter you want to use for this instrument-track. Filters are very important for changing the characteristics of a sound. - Hier können Sie den eingebauten Filter wählen, den Sie in dieser Instrument-Spur nutzen wollen. Filter sind sehr wichtig, um die Charakteristik eines Klangs zu verändern. - - - Hz - Hz - - - Use this knob for setting the cutoff frequency for the selected filter. The cutoff frequency specifies the frequency for cutting the signal by a filter. For example a lowpass-filter cuts all frequencies above the cutoff frequency. A highpass-filter cuts all frequencies below cutoff frequency, and so on... - Benutzen Sie diesen Regler, um die Kennfrequenz (cutoff frequency) für den gewählten Filter einzustellen. Die Kennfrequenz wird vom Filter zum Beschneiden des Signals verwendet. Zum Beispiel filtert ein Tiefpass-Filter alle Frequenzen oberhalb der Kennfrequenz heraus. Ein Hochpass-Filter filtert alle Frequenzen unterhalb der Kennfrequenz heraus usw. … - - - RESO - RESO - - - Resonance: - Resonanz: - - - Use this knob for setting Q/Resonance for the selected filter. Q/Resonance tells the filter how much it should amplify frequencies near Cutoff-frequency. - Benutzen Sie diesen Regler, um Q/die Resonanz für den gewählten Filter einzustellen. Q/Resonanz teilt dem Filter mit, wie stark er die Frequenzen in der Nähe der Cutoff-Frequenz verstärken soll. - - - FREQ - FREQ - - - cutoff frequency: - Kennfrequenz: - - - Envelopes, LFOs and filters are not supported by the current instrument. - Hüllkurven, LFOs und Filter werden vom aktuellen Instrument nicht unterstützt. - - - - InstrumentTrackView - - Volume - Lautstärke - - - Volume: - Lautstärke: - - - VOL - Lautstärke - LAU - - - Panning - Balance - - - Panning: - Balance: - - - PAN - Balance - BAL - - - MIDI - MIDI - - - Input - Eingang - - - Output - Ausgang - - - FX %1: %2 - FX %1: %2 - - - - InstrumentTrackWindow - - GENERAL SETTINGS - GRUNDEINSTELLUNGEN - - - Instrument volume - Instrument-Lautstärke - - - Volume: - Lautstärke: - - - VOL - Lautstärke - LAU - - - Panning - Balance - - - Panning: - Balance: - - - PAN - Balance - BAL - - - Pitch - Tonhöhe - - - Pitch: - Tonhöhe: - - - cents - Cent - - - PITCH - Tonhöhe - HÖHE - - - FX channel - FX-Kanal - - - ENV/LFO - Hüllkurve/LFO - HÜLL/LFO - - - FUNC - Funktion - FUNK - - - FX - FX - - - MIDI - MIDI - - - Save preset - Preset speichern - - - XML preset file (*.xpf) - XML-Presetdatei (*.xpf) - - - PLUGIN - PLUGIN - - - Pitch range (semitones) - Tonhöhenbereich (Halbtöne) - - - RANGE - Bereich - BEREI - - - Save current instrument track settings in a preset file - Aktuelle Instrumentenspur-Einstellungen in einer Presetdatei speichern - - - Click here, if you want to save current instrument track settings in a preset file. Later you can load this preset by double-clicking it in the preset-browser. - Klicken Sie hier, wenn Sie die aktuellen Instrumentenspur-Einstellungen in einer Presetdatei speichern möchten. Sie können dieses Preset später durch Doppelklicken auf die Datei im Preset-Browser öffnen. - - - MISC - VERSCHIEDENES - - - Use these controls to view and edit the next/previous track in the song editor. - Benutzen Sie diese Steuerungen, um die nächste bzw. vorherige Spur im Song-Editor zu betrachten und zu bearbeiten. - - - SAVE - SPEICHERN - - JackAppDialog + Add JACK Application - JACK-Applikation hinzufügen + + Note: Features not implemented yet are greyed out - Anmerkung: Noch nicht implementierte Features sind ausgegraut + + Application - Applikation + + Name: - Name: + + Application: - Applikation: + + From template - Aus Vorlage + + Custom - Benutzerdefiniert + + Template: - Vorlage: + + Command: - Befehl: + + Setup - Einrichtung + + Session Manager: - Sitzungsverwaltung: + + None - Keine + + Audio inputs: - Audioeingänge: + + MIDI inputs: - MIDI-Eingänge: + + Audio outputs: - Audioausgänge: + + MIDI outputs: - MIDI-Ausgänge: + + Take control of main application window - Kontrolle über Hauptapplikationsfenster übernehmen + + Workarounds - Workarounds + + Wait for external application start (Advanced, for Debug only) - Auf externen Applikationsstart warten (fortgeschritten, nur für Debug) + + Capture only the first X11 Window - Nur das erste X11-Fenster fangen + + Use previous client output buffer as input for the next client - Vorherigen Client-Ausgabepuffer als Eingabe für den nächsten Client benutzen + + Simulate 16 JACK MIDI outputs, with MIDI channel as port index - 16 JACK-MIDI-Ausgänge simulieren, mit dem MIDI-Kanal als Port-Index + + Error here - Fehler hier + + NSM applications cannot use abstract or absolute paths - NSM-Applikationen können keine abstrakten oder absoluten Pfade benutzen + + NSM applications cannot use CLI arguments - NSM-Applikationen können keine Kommandozeilenargumente benutzen + + You need to save the current Carla project before NSM can be used - Sie müssen das aktuelle Carla-Projekt speichern, bevor NSM benutzt werden kann + JuceAboutW + This program uses JUCE version %1. - Dieses Programm benutzt JUCE Version %1. - - - - Knob - - Set linear - Linear einstellen - - - Set logarithmic - Logarithmisch einstellen - - - Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Bitte geben Sie einen neuen Wert zwischen -96.0 dBFS und 6.0 dBFS: ein: - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - LadspaControlView - - Link channels - Kanäle verknüpfen - - - Value: - Wert: - - - Sorry, no help available. - Tschuldigung, keine Hilfe verfügbar. - - - - LcdSpinBox - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: - - - - LeftRightNav - - Previous - Vorheriges - - - Next - Nächstes - - - Previous (%1) - Vorheriges (%1) - - - Next (%1) - Nächstes (%1) - - - - LfoControllerDialog - - LFO - LFO - - - LFO Controller - LFO-Controller - - - BASE - Grund - GRUN - - - Base amount: - Grundstärke: - - - todo - Zu erledigen - - - SPD - Geschwindigkeit - GSW - - - LFO-speed: - LFO-Geschwindigkeit: - - - Use this knob for setting speed of the LFO. The bigger this value the faster the LFO oscillates and the faster the effect. - Benutzen Sie diesen Regler, um die Geschwindigkeit des LFOs einzustellen. Je größer der Wert, desto schneller schwingt der LFO und desto schneller ist der entsprechende Effekt. - - - Modulation amount: - Modulationsintensität: - - - Use this knob for setting modulation amount of the LFO. The bigger this value, the more the connected control (e.g. volume or cutoff-frequency) will be influenced by the LFO. - Benutzen Sie diesen Regler, um die Modulationsintensität des LFOs einzustellen. Je größer der Wert, desto mehr wird die gewählte Größe (z.B. Lautstärke oder Kennfrequenz) von diesem LFO beeinflusst. - - - PHS - PHS - - - Phase offset: - Phasenverschiebung: - - - degrees - Grad - - - With this knob you can set the phase offset of the LFO. That means you can move the point within an oscillation where the oscillator begins to oscillate. For example if you have a sine-wave and have a phase-offset of 180 degrees the wave will first go down. It's the same with a square-wave. - Mit diesem Regler können Sie die Phasenverschiebung des LFOs einstellen. Das heißt, Sie können den Punkt innerhalb einer Schwingung verschieben, an dem der Oszillator anfangen soll zu schwingen. Wenn Sie zum Beispiel eine Sinuswelle haben und eine Phasenverschiebung von 180 Grad einstellen, wird die Welle zu erst runter gehen. Das gleiche trifft auch bei einer Rechteckwelle zu. - - - Click here for a sine-wave. - Klick für eine Sinuswelle. - - - Click here for a triangle-wave. - Klick für eine Dreieckwelle. - - - Click here for a saw-wave. - Klick für eine Sägezahnwelle. - - - Click here for a square-wave. - Klick für eine Rechteckwelle. - - - Click here for an exponential wave. - Klick für eine exponentielle Welle. - - - Click here for white-noise. - Klick für weißes Rauschen. - - - Click here for a user-defined shape. -Double click to pick a file. - Klicken Sie hier für eine benutzerdefinierte Form. -Doppelklicken Sie, um eine Datei auszuwählen. - - - Click here for a moog saw-wave. - Klick für eine Moog-Sägezahnwelle. - - - AMNT - Intensität - INTE - - - - LmmsCore - - Generating wavetables - Wavetables generieren - - - Initializing data structures - Datenstrukturen initialisieren - - - Opening audio and midi devices - Audio- und MIDI-Geräte öffnen - - - Launching mixer threads - Mixer-Threads starten - - - - MeterDialog - - Meter Numerator - Takt/Zähler - - - Meter Denominator - Takt/Nenner - - - TIME SIG - TAKTART + MidiPatternW + MIDI Pattern - MIDI-Pattern + + Time Signature: - Taktart: + + + + 1/4 - 1/4 + + 2/4 - 2/4 + + 3/4 - 3/4 + + 4/4 - 4/4 + + 5/4 - 5/4 + + 6/4 - 6/4 + + Measures: - Takte: + + + + 1 - 1 + + 2 - 2 + + 3 - 3 + + 4 - 4 + + 5 5 + 6 6 + 7 7 + 8 - 8 + + 9 9 + 10 - 10 + + 11 11 + 12 - 12 + + 13 13 + 14 - 14 + + 15 - 15 + + 16 - 16 + + Default Length: - Standardlänge: + + + 1/16 - 1/16 + + + 1/15 - 1/15 + + + 1/12 - 1/12 + + + 1/9 - 1/9 + + + 1/8 - 1/8 + + + 1/6 - 1/6 + + + 1/3 - 1/3 + + + 1/2 - 1/2 + + Quantize: - Quantisieren: + + &File &Datei + &Edit &Bearbeiten + &Quit - &Verlassen + &Beenden + Esc - Esc + + &Insert Mode - Ei&nfügemodus + + F - F + + &Velocity Mode - &Lautstärkenmodus + + D - D + + Select All - Alle auswählen + + A - A - - - - MidiSetupWidget - - DEVICE - GERÄT - - - ALSA Raw-MIDI (Advanced Linux Sound Architecture) - ALSA Raw-MIDI (Advanced Linux Sound Architecture) - - - ALSA-Sequencer (Advanced Linux Sound Architecture) - ALSA-Sequencer (Advanced Linux Sound Architecture) - - - Apple MIDI - Apple MIDI - - - Dummy (no MIDI support) - Dummy (keine MIDI-Unterstützung) - - - Jack-MIDI - Jack-MIDI - - - OSS Raw-MIDI (Open Sound System) - OSS Raw-MIDI (Open Sound System) - - - sndio MIDI - sndio MIDI - - - WinMM MIDI - WinMM MIDI + PatchesDialog + + Qsynth: Channel Preset - Qsnyth: Kanalpreset + + + Bank selector - Bankwähler + + + Bank Bank + + Program selector Programmwähler + + Patch Patch + + Name Name + + OK OK + + Cancel Abbrechen - - PatternView - - Open in piano-roll - Im Piano-Roll öffnen - - - Clear all notes - Alle Noten löschen - - - Reset name - Name zurücksetzen - - - Change name - Name ändern - - - Add steps - Schritte hinzufügen - - - Remove steps - Schritte entfernen - - - use mouse wheel to set velocity of a step - Mausrad benutzen, um Lautstärke eines Schritts zu setzen - - - double-click to open in Piano Roll - Doppelklick, um in Piano-Roll zu öffnen - - - Clone Steps - Schritte klonen - - - - PeakControllerDialog - - PEAK - PEAK - - - LFO Controller - LFO-Controller - - - - PeakControllerEffectControls - - Base value - Grundwert - - - Modulation amount - Modulationsintensität - - - Mute output - Ausgang stummschalten - - - Attack - Anschwellzeit (attack) - - - Release - Ausklingzeit (release) - - - Abs Value - Absoluter Wert - - - Amount Multiplicator - Intensitätsfaktor - - - Treshold - Schwellwert - - - - PianoView - - Base note - Grundton - - PluginBrowser - Instrument browser - Instrument-Browser - - - Drag an instrument into either the Song-Editor, the Beat+Bassline Editor or into an existing instrument track. - Ziehen Sie ein Instrument entweder in den Song-Editor, den Beat-und-Bassline-Editor oder in eine existierende Instrumentspur. - - - Instrument Plugins - Instrument-Plugins - - + no description keine Beschreibung - Incomplete monophonic imitation tb303 - Unvollständiger monophonischer TB303-Klon - - - Plugin for freely manipulating stereo output - Plugin zur freien Manipulation der Stereoausgabe - - - Plugin for controlling knobs with sound peaks - Plugin mit Steuerungsreglern für Klangspitzen - - - Plugin for enhancing stereo separation of a stereo input file - Plugin zur Erweiterung des Stereo-Klangeindrucks - - - List installed LADSPA plugins - Installierte LADSPA-Plugins auflisten - - - GUS-compatible patch instrument - GUS-kompatibles Patch-Instrument - - - Additive Synthesizer for organ-like sounds - Additiver Synthesizer für orgelähnliche Klänge - - - Tuneful things to bang on - Gegenstände, die nach etwas klingen, wenn man drauf rumkloppt - - - VST-host for using VST(i)-plugins within LMMS - VST-Host zum Benutzen von VST(i)-Plugins innerhalb von LMMS - - - Vibrating string modeler - Modellierung schwingender Saiten - - - plugin for using arbitrary LADSPA-effects inside LMMS. - Plugin, um beliebige LADSPA-Effekte in LMMS nutzen zu können. - - - Filter for importing MIDI-files into LMMS - Filter, um MIDI-Dateien in LMMS zu importieren - - - Emulation of the MOS6581 and MOS8580 SID. -This chip was used in the Commodore 64 computer. - Emulation von MOS6581 und MOS8580 SID. -Dieser Chip wurde in Commodore-64-Computern genutzt. - - - Player for SoundFont files - Wiedergabe von SoundFont-Dateien - - - Emulation of GameBoy (TM) APU - Emulation der GameBoy-(TM)-APU - - - Customizable wavetable synthesizer - Flexibler Wavetable-Synthesizer - - - Embedded ZynAddSubFX - Eingebettetes ZynAddSubFX-Plugin - - - 2-operator FM Synth - 2-Operator-FM-Synth - - - Filter for importing Hydrogen files into LMMS - Filter zum Importieren von Hydrogen-Dateien in LMMS - - - LMMS port of sfxr - LMMS-Portierung von sfxr - - - Monstrous 3-oscillator synth with modulation matrix - Monströser 3-Oszillator-Synth mit Modulationsmatrix - - - Three powerful oscillators you can modulate in several ways - Drei mächtige Oszillatoren, die Sie auf mehrere Weisen modulieren können - - + A native amplifier plugin Ein natives Verstärker-Plugin - Carla Rack Instrument - Carla-Rack-Instrument - - - 4-oscillator modulatable wavetable synth - 4-Oszillator modulierbarer Wellenformtabellen-Synth - - - plugin for waveshaping - Plugin für Waveshaping - - - Boost your bass the fast and simple way - Verstärken Sie Ihren Bass auf schnellen und einfachen Wege - - - Versatile drum synthesizer - Vielseitiger Trommel-Synthesizer - - + Simple sampler with various settings for using samples (e.g. drums) in an instrument-track Einfacher Sampler mit verschiedenen Einstellungen zum Benutzen von Samples (z.B. Trommeln) in einer Instrumentenspur - plugin for processing dynamics in a flexible way - Ein Plugin, um Dynamik auf flexible Weise zu verarbeiten + + Boost your bass the fast and simple way + Verstärken Sie Ihren Bass auf schnellen und einfachen Wege - Carla Patchbay Instrument - Carla-Patchbay-Instrument - - - plugin for using arbitrary VST effects inside LMMS. - Plugin, um beliebige VST-Effekte in LMMS zu benutzen. - - - Graphical spectrum analyzer plugin - Grafisches Spektrumanalysator-Plugin - - - A NES-like synthesizer - Ein NES-ähnlicher Synthesizer - - - A native delay plugin - Ein natives Verzögerungs-Plugin - - - Player for GIG files - Wiedergabe von GIG-Dateien - - - A multitap echo delay plugin - Ein Multitap-Echo-Plugin - - - A native flanger plugin - Ein natives Flanger-Plugin + + Customizable wavetable synthesizer + Flexibler Wavetable-Synthesizer + An oversampling bitcrusher - Ein Bitcrusher mit Oversampling + + + Carla Patchbay Instrument + Carla Patchbay Instrument + + + + Carla Rack Instrument + Carla Rack Instrument + + + + A dynamic range compressor. + + + + + A 4-band Crossover Equalizer + Ein 4-Band Crossover Equalizer + + + + A native delay plugin + Ein natives Verzögerung-Plugin + + + + A Dual filter plugin + Ein doppel Fliter Plugin + + + + plugin for processing dynamics in a flexible way + Ein Plugin, um Dynamik auf Flexible Weise zu verarbeiten + + + A native eq plugin Ein natives EQ-Plugin - A 4-band Crossover Equalizer - Ein 4-Band-Crossover-Equalizer + + A native flanger plugin + Ein natives Flanger-Plugin - A Dual filter plugin - Ein Doppelfilter-Plugin + + Emulation of GameBoy (TM) APU + Emulation des GameBoy (TM) APU - Filter for exporting MIDI-files from LMMS - Filter für den Export von MIDI-Dateien aus LMMS + + Player for GIG files + - A dynamic range compressor. - Ein Dynamikbereichkompressor. + + Filter for importing Hydrogen files into LMMS + Filter zum importieren von Hydrogendateien in LMMS - An all-pass filter allowing for extremely high orders. - Ein Allpassfilter, der extrem hohe Ordnungen ermöglicht. + + Versatile drum synthesizer + Vielseitiger Trommel-Synthesizer - Granular pitch shifter - Granularer Tonhöhen-Shifter + + List installed LADSPA plugins + Installierte LADSPA-Plugins auflisten + + plugin for using arbitrary LADSPA-effects inside LMMS. + Plugin, um beliebige LADSPA-Effekte in LMMS nutzen zu können. + + + Incomplete monophonic imitation TB-303 - Unvollständiger monophonischer TB303-Klon - - - Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. - Aufwärts-/Abwärts-Multiband-Kompressions-Plugin, betrieben vom unheimlichen Ältestengott LOMMUS. + + plugin for using arbitrary LV2-effects inside LMMS. - Plugin, um beliebige LV2-Effekte in LMMS zu benutzen. + + plugin for using arbitrary LV2 instruments inside LMMS. - Plugin, um beliebige LV2-Instrumente in LMMS zu benutzen. + + + Filter for exporting MIDI-files from LMMS + + + + + Filter for importing MIDI-files into LMMS + Filter, um MIDI-Dateien in LMMS zu importieren + + + + Monstrous 3-oscillator synth with modulation matrix + Monströser 3-Oszillator Synth mit Modulationsmatrix + + + + A multitap echo delay plugin + + + + + A NES-like synthesizer + Ein NES ähnlicher Synthesizer + + + + 2-operator FM Synth + 2-Operator FM-Synth + + + + Additive Synthesizer for organ-like sounds + Additiver Synthesizer für orgelähnliche Klänge + + + + GUS-compatible patch instrument + GUS-kompatibles Patch-Instrument + + + + Plugin for controlling knobs with sound peaks + Plugin zur Kontrolle von Knöpfen mit Hilfe von Klangspitzen + + + Reverb algorithm by Sean Costello Hallalgorithmus von Sean Costello - Basic Slicer - Grundlegender Slicer + + Player for SoundFont files + Wiedergabe von SoundFont-Dateien + + LMMS port of sfxr + LMMS-Portierung von sfxr + + + + Emulation of the MOS6581 and MOS8580 SID. +This chip was used in the Commodore 64 computer. + Emulation des MOS6581 und MOS8580 SID Chips. +Dieser Chip wurde in Commodore 64 Computern genutzt. + + + A graphical spectrum analyzer. - Ein grafischer Spektrumanalysator. + - Tap to the beat - Steppen Sie zum Beat + + Plugin for enhancing stereo separation of a stereo input file + Plugin zur Erweiterung des Stereo-Klangeindrucks + + Plugin for freely manipulating stereo output + Plugin zur freien Manipulation der Stereoausgabe + + + + Tuneful things to bang on + Gegenstände, die nach etwas klingen, wenn man drauf rumkloppt + + + + Three powerful oscillators you can modulate in several ways + Drei mächtige Oszillatoren, die Sie auf mehrere Weisen modulieren können + + + A stereo field visualizer. - Ein Stereofeldvisualisierer. + + + VST-host for using VST(i)-plugins within LMMS + VST-Host zum Benutzen von VST(i)-Plugins innerhalb von LMMS + + + + Vibrating string modeler + Modellierung schwingender Saiten + + + + plugin for using arbitrary VST effects inside LMMS. + Plugin um beliebige VST-Effekte in LMMS zu benutzen. + + + + 4-oscillator modulatable wavetable synth + 4-Oszillator modulierbarer Wellenformtabellen Synth + + + + plugin for waveshaping + Plugin für Wellenformen + + + Mathematical expression parser - Parser für mathematische Ausdrücke + + + + + Embedded ZynAddSubFX + Eingebettetes ZynAddSubFX-Plugin + + + + An all-pass filter allowing for extremely high orders. + + + + + Granular pitch shifter + + + + + Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS. + + + + + Basic Slicer + + + + + Tap to the beat + PluginEdit + Plugin Editor - Plugin-Editor + + Edit - Bearbeiten + + Control Steuerung + MIDI Control Channel: - MIDI-Kontrollkanal: + + N - N + + Output dry/wet (100%) - Dry/Wet-Ausgabe (100 %) + + Output volume (100%) - Ausgabelautstärke (100 %) + + Balance Left (0%) - + + + Balance Right (0%) - + + Use Balance - + + Use Panning - + + Settings Einstellungen + Use Chunks - Chunks benutzen + + Audio: - Audio: + + Fixed-Size Buffer - Festgrößenpuffer + + Force Stereo (needs reload) - Stereo erzwingen (benötigt neu laden) + + MIDI: - MIDI: + + Map Program Changes - Programmänderungen mappen + + Send Notes - Noten senden + + Send Bank/Program Changes - Bank-/Programmänderungen senden + + Send Control Changes - Steuerungsänderungen senden + + Send Channel Pressure - Kanaldruck senden + + Send Note Aftertouch - Note Aftertouch senden + + Send Pitchbend - Pitchbend senden + + Send All Sound/Notes Off - All Sound/Notes Off senden + + Plugin Name - -Pluginname - + + Program: - Programm: + + MIDI Program: - MIDI-Programm: + + Save State - Zustand speichern + + Load State - Zustand laden + + Information - Information + + Label/URI: - Beschriftung/URI: + + Name: - Name: + + Type: Typ: + Maker: - Herseller: + + Copyright: - Copyright: + + Unique ID: - Eindeutige ID: + PluginFactory + Plugin not found. - Plugin nicht gefunden. + Plugin nicht gefunden + LMMS plugin %1 does not have a plugin descriptor named %2! - LMMS-Plugin %1 hat keinen Plugindeskriptor namens %2! + PluginListDialog + Carla - Add New - Carla – Neu hinzufügen + + Requirements - Anforderungen + + With Custom GUI - Mit eigener GUI + + With CV Ports - Mit CV-Ports + + Real-time safe only - Nur Echtzeitsichere + + Stereo only - Nur Stereo + + With Inline Display - Mit Inline-Anzeige + + Favorites only - Nur Favoriten + + (Number of Plugins go here) - (Anzahl von Plugins hier hin) + + &Add Plugin - Plugin &hinzufügen + + Cancel - Abbrechen + + Refresh - Aktualisieren + + Reset filters - Filter zurücksetzen + + + + + + + + + + + + + + + + + TextLabel - TextLabel + + Format: - Format: + + Architecture: - Architektur: + + Type: - Typ: + + MIDI Ins: - MIDI-Eingänge: + + Audio Ins: - Audioeingänge: + + CV Outs: - CV-Ausgänge: + + MIDI Outs: - MIDI-Ausgänge: + + Parameter Ins: - Parametereingänge: + + Parameter Outs: - Parameterausgänge: + + Audio Outs: - Audioausgänge: + + CV Ins: - CV-Eingänge: + + UniqueID: - Eindeutige ID: + + Has Inline Display: - Hat Inline-Anzeige: + + Has Custom GUI: - Hat eigene GUI: + + Is Synth: - Ist Synth: + + Is Bridged: - Ist gebridget: + + Information - Information + + Name - Name + + Label/Id/URI - Bescr./Id/URI + + Maker - Hersteller + + Binary/Filename - Binary/Dateiname + + Format - Format + + Internal - Intern + + LADSPA - LADSPA + + DSSI - DSSI + + LV2 - LV2 + + VST2 - VST2 + + VST3 - VST3 + + CLAP - CLAP + + AU - AU + + JSFX - JSFX + + Sound Kits - Sound-Kits + + Type - Typ + + Effects - Effekte + + Instruments - Instrumente + + MIDI Plugins - MIDI-Plugins + + Other/Misc - Andere/Sonstige + + Category - Kategorie + + All - Alle + + Delay - Verzögerung + + Distortion - Verzerrung + + Dynamics - Dynamiken + + EQ - EQ + + Filter - Filter + + Modulator - Modulator + + Synth - Synth + + Utility - Werkzeug + + + Other - Andere + + Architecture - Architektur + + + Native - Nativ + + Bridged - Gebridget + + Bridged (Wine) - Gebridget (Wine) + + Focus Text Search - Fokus auf Textsuche + + Ctrl+F - Strg+F + + Bridged (32bit) - Gebridget (32 Bit) + + Discovering internal plugins... - Interne Plugins entdecken … + + Discovering LADSPA plugins... - LADSPA-Plugins entdecken … + + Discovering DSSI plugins... - DSSI-Plugins entdecken … + + Discovering LV2 plugins... - LV2-Plugins entdecken … + + Discovering VST2 plugins... - VST2-Plugins entdecken … + + Discovering VST3 plugins... - VST3-Plugins entdecken … + + Discovering CLAP plugins... - CLAP-Plugins entdecken … + + Discovering AU plugins... - AU-Plugins entdecken … + + Discovering JSFX plugins... - JSFX-Plugins entdecken … + + Discovering SF2 kits... - SF2-Kits entdecken … + + Discovering SFZ kits... - SFZ-Kits entdecken … + + Unknown - Unbekannt + + + + + Yes - Ja + + + + + No - Nein + PluginParameter + Form - Formular + + Parameter Name - Parametername + + TextLabel - TextLabel + + ... - + PluginRefreshDialog + Plugin Refresh - Pluginaktualisierung + + Search for: - Suche nach: + + All plugins, ignoring cache - Alle Plugins, Cache ignorieren + + Updated plugins only - Nur aktualisierte Plugins + + Check previously invalid plugins - Vormals ungültige Plugins prüfen + + Press 'Scan' to begin the search - »Scannen« drücken zum Starten + + Scan - Scannen + + >> Skip - >> Überspringen + + Close - Schließen + PluginWidget + + + + + Frame - Frame + + Enable - Aktivieren + + On/Off - Ein/aus + An/aus + + + + PluginName - PluginName + + MIDI MIDI + AUDIO IN - AUDIO EIN + + AUDIO OUT - AUDIO AUS + + GUI - GUI + + Edit - Bearbeiten + + Remove - Entfernen + + Plugin Name - Pluginname + + Preset: - Preset: + ProjectRenderer - WAV-File (*.wav) - WAV-Datei (*.wav) - - - Compressed OGG-File (*.ogg) - Komprimierte OGG-Datei (*.ogg) - - + WAV (*.wav) WAV (*.wav) + FLAC (*.flac) FLAC (*.flac) + OGG (*.ogg) OGG (*.ogg) + MP3 (*.mp3) MP3 (*.mp3) @@ -5061,15767 +4176,14580 @@ Pluginname QGroupBox + + Settings for %1 - Einstellungen für %1 + QObject - %1 (unsupported) - %1 (nicht unterstützt) - - - LADSPA plugins - LADSPA-Plugins - - - The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. - Das Projekt enthält %1 LADSPA-Plugin(s), welche möglicherweise nicht ordnungsgemäß wiederhergestellt wurden. Bitte überprüfen Sie das Projekt. - - + Reload Plugin - Plugin neu laden + + Show GUI GUI anzeigen + Help Hilfe - Open audio file - Audiodatei öffnen + + LADSPA plugins + - Error loading sample - Fehler beim Laden des Samples + + The project contains %1 LADSPA plugin(s) which might have not been restored correctly! Please check the project. + + URI: - URI: + + Project: - Projekt: + + Maker: - Hersteller: + + Homepage: - Homepage: + + License: - Lizenz: + + File: %1 - Datei: %1 + + failed to load description - konnte Beschreibung nicht laden + + + + + Open audio file + + + + + Error loading sample + + + + + %1 (unsupported) + QWidget + + Name: Name: + Maker: Hersteller: + Copyright: Copyright: + Requires Real Time: Benötigt Echtzeit: + + + Yes Ja + + + No Nein + Real Time Capable: Echtzeitfähig: + In Place Broken: - In-Place kaputt: + Operationen nicht In-Place: + Channels In: - Eingangskanäle: + Eingangs-Kanäle: + Channels Out: - Ausgangskanäle: - - - File: - Datei: + Ausgangs-Kanäle: + File: %1 Datei: %1 - - - RenameDialog - Rename... - Umbenennen … - - - - SampleBuffer - - Open audio file - Audiodatei öffnen - - - Wave-Files (*.wav) - Wave-Dateien (*.wav) - - - OGG-Files (*.ogg) - OGG-Dateien (*.ogg) - - - DrumSynth-Files (*.ds) - DrumSynth-Dateien (*.ds) - - - FLAC-Files (*.flac) - FLAC-Dateien (*.flac) - - - SPEEX-Files (*.spx) - SPEEX-Dateien (*.spx) - - - VOC-Files (*.voc) - VOC-Dateien (*.voc) - - - AIFF-Files (*.aif *.aiff) - AIFF-Dateien (*.aif *.aiff) - - - AU-Files (*.au) - AU-Dateien (*.au) - - - RAW-Files (*.raw) - RAW-Dateien (*.raw) - - - All Audio-Files (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - Alle Audiodateien (*.wav *.ogg *.ds *.flac *.spx *.voc *.aif *.aiff *.au *.raw) - - - - SampleTCOView - - double-click to select sample - Doppelklick, um Sample zu wählen - - - Delete (middle mousebutton) - Löschen (mittlere Maustaste) - - - Cut - Ausschneiden - - - Copy - Kopieren - - - Paste - Einfügen - - - Mute/unmute (<%1> + middle click) - Stumm/Laut schalten (<%1> + Mittelklick) - - - - SampleTrackView - - Track volume - Lautstärke der Spur - - - Channel volume: - Kanallautstärke: - - - VOL - LAU - - - Panning - Balance - - - Panning: - Balance: - - - PAN - BAL - - - - SetupDialog - - Setup LMMS - Einrichtung von LMMS - - - General settings - Allgemeine Einstellungen - - - BUFFER SIZE - PUFFERGRÖSSE - - - Reset to default-value - Auf Standardwert zurücksetzen - - - MISC - VERSCHIEDENES - - - Enable tooltips - Tooltips aktivieren - - - Show restart warning after changing settings - Neustartwarnung nach Änderung der Einstellungen anzeigen - - - Display volume as dBFS - Lautstärke als dbFS anzeigen - - - Compress project files per default - Projektdateien standardmäßig komprimieren - - - One instrument track window mode - Ein-Instrument-Spur-Fenster-Modus - - - HQ-mode for output audio-device - HQ-Modus für Ausgangsaudiogerät - - - Compact track buttons - Kompakte Spurknöpfe - - - Sync VST plugins to host playback - VST-Plugins mit Hostwiedergabe synchronisieren - - - Enable note labels in piano roll - Notenbeschriftung in Piano-Roll aktivieren - - - Enable waveform display by default - Wellenformanzeige standardmäßig aktivieren - - - Keep effects running even without input - Effekte auch ohne Eingabe weiterlaufen lassen - - - Create backup file when saving a project - Wiederherstellungsdatei beim Speichern eines Projekts erstellen - - - LANGUAGE - SPRACHE - - - Paths - Pfade - - - LMMS working directory - LMMS-Arbeitsverzeichnis - - - VST-plugin directory - VST-Plugin-Verzeichnis - - - Background artwork - Hintergrundgrafik - - - STK rawwave directory - STK-RawWave-Verzeichnis - - - Default Soundfont File - Standard-Soundfont-Datei - - - Performance settings - Performance-Einstellungen - - - UI effects vs. performance - UI-Effekte vs. Performance - - - Smooth scroll in Song Editor - Weiches Scrollen im Song-Editor - - - Show playback cursor in AudioFileProcessor - Wiedergabecursor in AudioFileProcessor anzeigen - - - Audio settings - Audio-Einstellungen - - - AUDIO INTERFACE - AUDIO-SCHNITTSTELLE - - - MIDI settings - MIDI-Einstellungen - - - MIDI INTERFACE - MIDI-SCHNITTSTELLE - - - OK - OK - - - Cancel - Abbrechen - - - Restart LMMS - LMMS neustarten - - - Please note that most changes won't take effect until you restart LMMS! - Bitte beachten Sie, dass die meisten Änderungen nicht zur Wirkung kommen, bis Sie LMMS neustarten! - - - Frames: %1 -Latency: %2 ms - Frames: %1 -Latenz: %2 ms - - - Here you can setup the internal buffer-size used by LMMS. Smaller values result in a lower latency but also may cause unusable sound or bad performance, especially on older computers or systems with a non-realtime kernel. - Hier können Sie die interne Puffergröße von LMMS einrichten. Kleinere Werte resultieren in einer geringeren Latenz, aber sie können auch zu unbrauchbaren Sounds oder schlechter Performanz führen, besonders bei älteren Computern oder Systemen mit einem Nicht-Echtzeit-Kernel. - - - Choose LMMS working directory - LMMS-Arbeitsverzeichnis wählen - - - Choose your VST-plugin directory - Wählen Sie Ihr VST-Plugin-Verzeichnis - - - Choose artwork-theme directory - Artwork-Theme-Verzeichnis wählen - - - Choose LADSPA plugin directory - LADSPA-Plugin-Verzeichnis wählen - - - Choose STK rawwave directory - STK-RawWave-Verzeichnis wählen - - - Choose default SoundFont - Standard-Soundfont wählen - - - Choose background artwork - Hintergrundgrafik wählen - - - Here you can select your preferred audio-interface. Depending on the configuration of your system during compilation time you can choose between ALSA, JACK, OSS and more. Below you see a box which offers controls to setup the selected audio-interface. - Hier können Sie Ihre bevorzugte Audioschnittstelle auswählen. Abhängig von der Konfiguration Ihres Systems bei der Kompilierung können Sie zwischen ALSA, JACK, OSS und mehr wählen. Unten sehen Sie eine Box, in der sich Regler zur Einrichtung der gewählten Audioschnittstelle befinden. - - - Here you can select your preferred MIDI-interface. Depending on the configuration of your system during compilation time you can choose between ALSA, OSS and more. Below you see a box which offers controls to setup the selected MIDI-interface. - Hier können Sie Ihre bevorzugte MIDI-Schnittstelle auswählen. Abhängig von der Konfiguration Ihres Systems bei der Kompilierung können Sie zwischen ALSA, OSS und mehr wählen. Unten sehen Sie eine Box, in der sich Regler zur Einrichtung der gewählten MIDI-Schnittstelle befinden. - - - Reopen last project on start - Zuletzt geöffnetes Projekt automatisch öffnen - - - Directories - Verzeichnisse - - - Themes directory - Themen-Verzeichnis - - - GIG directory - GIG-Verzeichnis - - - SF2 directory - SF2-Verzeichnis - - - LADSPA plugin directories - LADSPA-Plugin-Verzeichnisse - - - Auto save - Automatisch speichern - - - Choose your GIG directory - Wählen Sie Ihr GIG-Verzeichnis - - - Choose your SF2 directory - Wählen Sie Ihr SF2-Verzeichnis - - - minutes - Minuten - - - minute - Minute - - - Enable auto-save - Automatisches Speichern aktivieren - - - Allow auto-save while playing - Auto-Speichern während der Wiedergabe erlauben - - - Disabled - Deaktiviert - - - Auto-save interval: %1 - Autospeichern-Intervall: %1 - - - Set the time between automatic backup to %1. -Remember to also save your project manually. You can choose to disable saving while playing, something some older systems find difficult. - Setzt die Zeit zwischen automatischen Backups nach %1. -Denken Sie daran, dass Sie außerdem Ihr Projekt manuell speichern. Sie können sich dafür entscheiden, das Speichern während der Wiedergabe zu deaktivieren, etwas, was für ältere Systeme schwierig sein kann. - - - - SongEditor - - Could not open file - Konnte Datei nicht öffnen - - - Could not write file - Konnte Datei nicht schreiben - - - Could not open file %1. You probably have no permissions to read this file. - Please make sure to have at least read permissions to the file and try again. - Konnte die Datei %1 nicht öffnen. Sie sind wahrscheinlich nicht berechtigt, diese Datei zu lesen. - Bitte stellen Sie sicher, dass Sie wenigstens Leserechte auf diese Datei besitzen und versuchen es erneut. - - - Error in file - Fehler in Datei - - - The file %1 seems to contain errors and therefore can't be loaded. - Die Datei %1 scheint fehlerhaft zu sein und kann daher nicht geladen werden. - - - Tempo - Tempo - - - TEMPO/BPM - TEMPO/BPM - - - tempo of song - Tempo des Songs - - - The tempo of a song is specified in beats per minute (BPM). If you want to change the tempo of your song, change this value. Every measure has four beats, so the tempo in BPM specifies, how many measures / 4 should be played within a minute (or how many measures should be played within four minutes). - Das Tempo eines Songs wird in Beats pro Minute (BPM) angegeben. Wenn Sie das Tempo Ihres Songs ändern wollen, ändern Sie diesen Wert. Jeder Takt hat vier Schläge (Beats); das Tempo gibt also an, wie viele Takte / 4 innerhalb einer Minute gespielt werden sollen (bzw. wie viele Takte innerhalb von vier Minuten gespielt werden sollen). - - - High quality mode - High-Quality-Modus - - - Master volume - Master-Lautstärke - - - master volume - Master-Lautstärke - - - Master pitch - Master-Tonhöhe - - - master pitch - Master-Tonhöhe - - - Value: %1% - Wert: %1 % - - - Value: %1 semitones - Wert: %1 Halbtöne - - - Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - Konnte %1 nicht zum Schreiben öffnen. Sie sind wahrscheinlich nicht dazu berechtigt, in diese Datei zu schreiben. Bitte stellen Sie sicher, dass Sie Schreibrechte für diese Datei haben und versuchen Sie es erneut. - - - template - Vorlage - - - project - Projekt - - - Version difference - Versionsunterschied - - - This %1 was created with LMMS %2. - Dies (%1) wurde mit LMMS %2 erstellt. - - - - SongEditorWindow - - Song-Editor - Song-Editor - - - Play song (Space) - Song abspielen (Leertaste) - - - Record samples from Audio-device - Samples vom Audiogerät aufzeichnen - - - Record samples from Audio-device while playing song or BB track - Samples vom Audiogerät beim Abspielen des Songs oder der BB-Spur aufzeichnen - - - Stop song (Space) - Song stoppen (Leertaste) - - - Add beat/bassline - Beat/Bassline hinzufügen - - - Add sample-track - Sample-Spur hinzufügen - - - Add automation-track - Automations-Spur hinzufügen - - - Draw mode - Zeichenmodus - - - Edit mode (select and move) - Bearbeitungsmodus (auswählen und verschieben) - - - Click here, if you want to play your whole song. Playing will be started at the song-position-marker (green). You can also move it while playing. - Klicken Sie hier, wenn Sie Ihren ganzen Song abspielen wollen. Die Wiedergabe wird am Song-Positionsmarker (grün) starten. Sie können ihn auch während der Wiedergabe verschieben. - - - Click here, if you want to stop playing of your song. The song-position-marker will be set to the start of your song. - Klicken Sie hier, wenn Sie die Wiedergabe Ihres Songs stoppen wollen. Der Song-Positionsmarker wird zum Anfang Ihres Songs gesetzt. - - - Track actions - Spuraktionen - - - Edit actions - Aktionen bearbeiten - - - Timeline controls - Zeitachsensteuerung - - - Zoom controls - Zoomregler - - - - SpectrumAnalyzerControlDialog - - Linear spectrum - Lineares Spektrum - - - Linear Y axis - Lineare Y-Achse - - - - SpectrumAnalyzerControls - - Linear spectrum - Lineares Spektrum - - - Linear Y axis - Lineare Y-Achse - - - Channel mode - Kanalmodus - - - - SubWindow - - Close - Schließen - - - Maximize - Maximieren - - - Restore - Wiederherstellen - - - - TabWidget - - Settings for %1 - Einstellungen für %1 - - - - TempoSyncKnob - - Tempo Sync - Tempo-Synchronisation - - - No Sync - Keine Synchronisation - - - Eight beats - Acht Schläge - - - Whole note - Ganze Note - - - Half note - Halbe Note - - - Quarter note - Viertelnote - - - 8th note - Achtelnote - - - 16th note - 16tel Note - - - 32nd note - 32tel Note - - - Custom... - Benutzerdefiniert … - - - Custom - Benutzerdefiniert - - - Synced to Eight Beats - Mit acht Schlägen synchronisiert - - - Synced to Whole Note - Mit ganzer Note synchronisiert - - - Synced to Half Note - Mit halber Note synchronisiert - - - Synced to Quarter Note - Mit Viertelnote synchronisiert - - - Synced to 8th Note - Mit Achtelnote synchronisiert - - - Synced to 16th Note - Mit 16tel Note synchronisiert - - - Synced to 32nd Note - Mit 32tel Note synchronisiert - - - - TimeDisplayWidget - - click to change time units - Klicken Sie hier, um die Zeiteinheit zu ändern - - - MIN - MIN - - - SEC - SEK - - - MSEC - MSEK - - - BAR - TAKT - - - BEAT - BEAT - - - TICK - TICK - - - - TimeLineWidget - - Enable/disable auto-scrolling - Automatisches Scrollen aktivieren/deaktivieren - - - Enable/disable loop-points - Schleifenpunkte aktivieren/deaktivieren - - - After stopping go back to begin - Nach dem Stopp zurück zum Anfang springen - - - After stopping go back to position at which playing was started - Nach dem Stopp zurück zur Position, wo die Wiedergabe gestartet wurde, springen - - - After stopping keep position - Nach dem Stopp die Position halten - - - Hint - Tipp - - - Press <%1> to disable magnetic loop points. - Drücken Sie <%1>, um magnetische Schleifenpunkte zu deaktivieren. - - - Hold <Shift> to move the begin loop point; Press <%1> to disable magnetic loop points. - Halten Sie <Umschalt>, um den Anfangsschleifenpunkt zu verschieben; Drücken Sie <%1>, um magnetische Schleifenpunkte zu deaktivieren. - - - - TrackContainer - - Couldn't import file - Datei konnte nicht importiert werden - - - Couldn't find a filter for importing file %1. -You should convert this file into a format supported by LMMS using another software. - Es konnte kein Filter gefunden werden, um die Datei %1 zu importieren. -Sie sollten diese Datei mit Hilfe anderer Software in ein von LMMS unterstütztes Format umwandeln. - - - Couldn't open file - Datei konnte nicht geöffnet werden - - - Couldn't open file %1 for reading. -Please make sure you have read-permission to the file and the directory containing the file and try again! - Datei %1 konnte nicht zum Lesen geöffnet werden. -Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeichnis besitzen und probieren es erneut! - - - Loading project... - Lade Projekt … - - - Cancel - Abbrechen - - - Please wait... - Bitte warten … - - - Importing MIDI-file... - Importiere MIDI-Datei … - - - - TrackContentObject - - Mute - Stumm - - - - TrackContentObjectView - - Current position - Aktuelle Position - - - Hint - Tipp - - - Press <%1> and drag to make a copy. - <%1> drücken und ziehen, um eine Kopie zu erstellen. - - - Current length - Aktuelle Länge - - - Press <%1> for free resizing. - Drücken Sie <%1> für freie Größenänderung. - - - %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 bis %5:%6) - - - Delete (middle mousebutton) - Löschen (mittlere Maustaste) - - - Cut - Ausschneiden - - - Copy - Kopieren - - - Paste - Einfügen - - - Mute/unmute (<%1> + middle click) - Stumm/Laut schalten (<%1> + Mittelklick) - - - - TrackOperationsWidget - - Press <%1> while clicking on move-grip to begin a new drag'n'drop-action. - Drücken Sie <%1> während des Klicks auf den Verschiebegriff, um eine neue Drag-and-Drop-Aktion zu beginnen. - - - Actions for this track - Aktionen für diese Spur - - - Mute - Stumm - - - Solo - Solo - - - Mute this track - Diese Spur stummschalten - - - Clone this track - Diese Spur klonen - - - Remove this track - Diese Spur entfernen - - - Clear this track - Diese Spur leeren - - - FX %1: %2 - FX %1: %2 - - - Turn all recording on - Alle Aufnahmen einschalten - - - Turn all recording off - Alle Aufnahmen ausschalten - - - Assign to new FX Channel - Zu neuem FX-Kanal zuweisen - - - - VersionedSaveDialog - - Increment version number - Versionsnummer erhöhen - - - Decrement version number - Versionsnummer vermindern - - - already exists. Do you want to replace it? - existiert bereits. Möchten Sie es überschreiben? - - - - VisualizationWidget - - click to enable/disable visualization of master-output - Klicken, um Visualisierung der Masterausgabe zu aktivieren/deaktivieren - - - Click to enable - Klicken zum Aktivieren + + File: + Datei: XYControllerW + XY Controller - XY-Controller + + X Controls: - X-Steuerung: + + Y Controls: - Y-Steuerung: + + Smooth - Weich + + &Settings - &Einstellungen + + Channels - Kanäle + + &File - &Datei + + Show MIDI &Keyboard - MIDI-&Keyboard anzeigen + + (All) - (Alle) + + 1 - 1 + + 2 - 2 + + 3 - 3 + + 4 - 4 + + 5 - 5 + + 6 - 6 + + 7 - 7 + + 8 - 8 + + 9 - 9 + + 10 - 10 + + 11 - 11 + + 12 - 12 + + 13 - 13 + + 14 - 14 + + 15 - 15 + + 16 - 16 + + &Quit - &Verlassen + + Esc - Esc + + (None) - (Keine) - - - - fxLineLcdSpinBox - - Assign to: - Zuweisen zu: - - - New FX Channel - Neuer FX-Kanal - - - - graphModel - - Graph - Graph - - - - lmmo::SampleTrack - - Sample track - Samplespur - - - Volume - Lautstärke - - - Panning - Balance + lmms::AmplifierControls + Volume - Lautstärke + + Panning - Balance + + Left gain - Linke Verstärkung + + Right gain - Rechte Verstärkung + lmms::AudioFileProcessor + Amplify - Verstärkung + + Start of sample - Sample-Anfang + + End of sample - Sample-Ende - - - Reverse sample - Sample umkehren - - - Stutter - Stottern + + Loopback point - Wiederholungspunkt + + + Reverse sample + + + + Loop mode - Wiederholungsmodus + + + Stutter + + + + Interpolation mode - Interpolationsmodus + + None - Keiner + + Linear - Linear + + Sinc - Sinc - - - Sample not found: %1 - Sample nicht gefunden: %1 + + Sample not found - Sample nicht gefunden + lmms::AudioJack + JACK client restarted - JACK-Client neugestartet + + LMMS was kicked by JACK for some reason. Therefore the JACK backend of LMMS has been restarted. You will have to make manual connections again. - LMMS wurde aus irgendeinem Grund von JACK gekickt. Aus diesem Grund wurde das JACK-Backend von LMMS neu gestartet. Sie müssen manuelle Verbindungen erneut vornehmen. + + JACK server down - JACK-Server nicht erreichbar + + The JACK server seems to have been shutdown and starting a new instance failed. Therefore LMMS is unable to proceed. You should save your project and restart JACK and LMMS. - Der JACK-Server scheint heruntergefahren worden zu sein und es war nicht möglich, eine neue Instanz zu starten. LMMS ist daher nicht in der Lage, fortzufahren. Sie sollten Ihr Projekt speichern und JACK und LMMS neustarten. - - - CLIENT-NAME - CLIENT-NAME - - - CHANNELS - KANÄLE + + Client name - Clientname + + Channels - Kanäle + lmms::AudioOss + Device - Gerät + + Channels - Kanäle + lmms::AudioPortAudio::setupWidget - BACKEND - BACKEND - - - DEVICE - GERÄT - - + Backend - Backend + + Device - Gerät + lmms::AudioPulseAudio + Device - Gerät + + Channels - Kanäle + lmms::AudioSdl::setupWidget - DEVICE - GERÄT - - + Playback device - Wiedergabegerät + + Input device - Eingabegerät - - - - lmms::AudioSndIo::setupWidget - - DEVICE - GERÄT - - - CHANNELS - KANÄLE + lmms::AudioSndio + Device - Gerät + + Channels - Kanäle + lmms::AudioSoundIo::setupWidget - BACKEND - BACKEND - - - DEVICE - GERÄT - - + Backend - Backend + + Device - Gerät + lmms::AutomatableModel + &Reset (%1%2) - &Zurücksetzen (%1%2) + + &Copy value (%1%2) - Wert &kopieren (%1%2) + + &Paste value (%1%2) - Wert &einfügen (%1%2) - - - Edit song-global automation - Song-globale Automation bearbeiten - - - Connected to %1 - Verbunden mit %1 - - - Connected to controller - Verbunden mit Controller - - - Edit connection... - Verbindung bearbeiten … - - - Remove connection - Verbindung entfernen - - - Connect to controller... - Mit Controller verbinden … - - - Remove song-global automation - Song-globale Automation entfernen - - - Remove all linked controls - Alle verknüpften Controller entfernen + + &Paste value - Wert &einfügen + + + + + Edit song-global automation + + + + + Remove song-global automation + + + + + Remove all linked controls + + + + + Connected to %1 + + + + + Connected to controller + + + + + Edit connection... + + + + + Remove connection + + + + + Connect to controller... + lmms::AutomationClip + Drag a control while pressing <%1> - Ein Steuerelement mit <%1> hier her ziehen - - - - lmms::AutomationEditor - - Please open an automation pattern with the context menu of a control! - Bitte öffnen Sie einen Automations-Pattern mit Hilfe des Kontextmenüs eines Steuerelements! - - - Values copied - Werte kopiert - - - All selected values were copied to the clipboard. - Alle ausgewählten Werte wurden in die Zwischenablage kopiert. + lmms::AutomationTrack + Automation track - Automations-Spur + lmms::BassBoosterControls + Frequency - Frequenz + + Gain - Verstärkung + + Ratio - Verhältnis + lmms::BitInvader - Samplelength - Sample-Länge - - + Sample length - Samplelänge + + Interpolation - Interpolation + + Normalize - Normalisieren + lmms::BitcrushControls + Input gain - Eingangsverstärkung + + Input noise - Eingangsrauschen + + Output gain - Ausgabeverstärkung + + Output clip - + + Sample rate - Sample-Rate + + Stereo difference - Stereounterschied + + Levels - Stufen + + Rate enabled - Rate aktiviert + + Depth enabled - Tiefe aktiviert + lmms::Clip + Mute - Stumm + lmms::CompressorControls + Threshold - Schwellwert + + Ratio - Verhältnis + + Attack - Anschwellzeit (attack) + + Release - Ausklingzeit (release) + + Knee - Knee + + Hold - Haltezeit (hold) + + Range - Bereich + + RMS Size - RMS-Größe + + Mid/Side - Mid/Größe + + Peak Mode - Peak-Modus + + Lookahead Length - Lookahead-Länge + + Input Balance - Eingangsbalance + + Output Balance - Ausgangsbalance + + Limiter - Begrenzer + + Output Gain - Ausgangsverstärkung + + Input Gain - Eingangsverstärkung + + Blend - Überblenden + + Stereo Balance - Stereobalance + + Auto Makeup Gain - Auto-Makeup-Verstärkung + + Audition - + + Feedback - Rückkopplung + + Auto Attack - Auto-Attack + + Auto Release - Auto-Release + + Lookahead - Lookahead + + Tilt - + + Tilt Frequency - + + Stereo Link - Stereoverknüpfung + + Mix - Mischen + lmms::Controller + Controller %1 - Controller %1 + lmms::DelayControls - Delay Samples - Samples verzögern - - - Feedback - Rückkopplung - - - Lfo Frequency - LFO-Frequenz - - - Lfo Amount - LFO-Stärke - - - Output gain - Ausgabeverstärkung - - + Delay samples - Samples verzögern + + + Feedback + + + + LFO frequency - LFO-Frequenz + + LFO amount - LFO-Stärke + - - - lmms::DetuningHelper - Note detuning - Notenverstimmung + + Output gain + lmms::DispersionControls + Amount - Stärke + + Frequency - Frequenz + + Resonance - Resonanz + + Feedback - Rückkopplung + + DC Offset Removal - DC-Offset-Entfernung + lmms::DualFilterControls + Filter 1 enabled - Filter 1 aktiviert + + Filter 1 type - Filtertyp 1 - - - Cutoff 1 frequency - Kennfrequenz 1 - - - Q/Resonance 1 - Q/Resonanz 1 - - - Gain 1 - Verstärkung 1 - - - Mix - Mischung - - - Filter 2 enabled - Filter 2 aktiviert - - - Filter 2 type - Filtertyp 2 - - - Cutoff 2 frequency - Kennfrequenz 2 - - - Q/Resonance 2 - Q/Resonanz 2 - - - Gain 2 - Verstärkung 2 - - - LowPass - Tiefpass - - - HiPass - Hochpass - - - BandPass csg - Bandpass csg - - - BandPass czpg - Bandpass czpg - - - Notch - Notch - - - Allpass - Allpass - - - Moog - Moog - - - 2x LowPass - 2× Tiefpass - - - RC LowPass 12dB - RC-Tiefpass 12dB - - - RC BandPass 12dB - RC-Bandpass 12dB - - - RC HighPass 12dB - RC-Hochpass 12dB - - - RC LowPass 24dB - RC-Tiefpass 24dB - - - RC BandPass 24dB - RC-Bandpass 24dB - - - RC HighPass 24dB - RC-Hochpass 24dB - - - Vocal Formant Filter - Vokalformant-Filter - - - 2x Moog - 2× Moog - - - SV LowPass - SV-Tiefpass - - - SV BandPass - SV-Bandpass - - - SV HighPass - SV-Hochpass - - - SV Notch - SV-Notch - - - Fast Formant - - - - Tripole - + + Cutoff frequency 1 - Kennfrequenz 1 + + + Q/Resonance 1 + + + + + Gain 1 + + + + + Mix + + + + + Filter 2 enabled + + + + + Filter 2 type + + + + Cutoff frequency 2 - Kennfrequenz 2 + + + Q/Resonance 2 + + + + + Gain 2 + + + + + Low-pass - Tiefpass + + + Hi-pass - Hochpass + + + Band-pass csg - Bandpass csg + + + Band-pass czpg - Bandpass czpg + + + + Notch + + + + + All-pass - Allpass + + + + Moog + + + + + 2x Low-pass - 2× Tiefpass + + + RC Low-pass 12 dB/oct - RC-Tiefpass 12 dB/Okt. + + + RC Band-pass 12 dB/oct - RC Bandpass 12 dB/Okt. + + + RC High-pass 12 dB/oct - RC Hochpass 12 dB/Okt. + + + RC Low-pass 24 dB/oct - RC Tiefpass 24 dB/Okt. + + + RC Band-pass 24 dB/oct - RC Bandbass 24 dB/Okt. + + + RC High-pass 24 dB/oct - RC Hochbass 24 dB/Okt. + + + Vocal Formant - Vokalformant + + + + 2x Moog + + + + + SV Low-pass - SV-Tiefpass + + + SV Band-pass - SV-Bandpass + + + SV High-pass - SV-Hochpass + - - - lmms::DummyEffect - NOT FOUND - NICHT GEFUNDEN + + + SV Notch + + + + + + Fast Formant + + + + + + Tripole + lmms::DynProcControls + Input gain - Eingangsverstärkung + + Output gain - Ausgabeverstärkung + + Attack time - Anschwellzeit + + Release time - Ausklingzeit + + Stereo mode - Stereomodus + lmms::Effect + Effect enabled - Effekt eingeschaltet + + Wet/Dry mix - Wet/Dry-Mix + + Gate - Gate + + Decay - Abfallzeit + lmms::EffectChain + Effects enabled - Effekte aktiviert + lmms::Engine + Generating wavetables - Wavetables generieren + + Initializing data structures - Datenstrukturen initialisieren + + Opening audio and midi devices - Audio- und MIDI-Geräte öffnen + + Launching audio engine threads - Audio-Engine-Threads starten + lmms::EnvelopeAndLfoParameters - Predelay - Verzögerung (predelay) - - - Attack - Anschwellzeit (attack) - - - Hold - Haltezeit (hold) - - - Decay - Abfallzeit - - - Sustain - Haltepegel (sustain) - - - Release - Ausklingzeit (release) - - - Modulation - Modulation - - - LFO Predelay - LFO-Verzögerung - - - LFO Attack - LFO-Anschwellzeit (LFO-attack) - - - LFO speed - LFO-Geschwindigkeit - - - LFO Modulation - LFO-Modulation - - - LFO Wave Shape - LFO-Wellenform - - - Freq x 100 - Freq ×100 - - - Modulate Env-Amount - Hüllkurve modulieren - - + Env pre-delay - Hüll-Vorverzögerung + + Env attack - Hüll-Anschwellzeit (attack) + + Env hold - Hüll-Haltezeit (hold) + + Env decay - Hüll-Abfallzeit (decay) + + Env sustain - Hüll-Dauerpegel (sustain) + + Env release - Hüll-Ausklingzeit (release) + + Env mod amount - Hüll.-Mod.-intensität + + LFO pre-delay - LFO-Vorverzögerung + + LFO attack - LFO-Anschwellzeit (attack) + + LFO frequency - LFO-Frequenz + + LFO mod amount - LFO-Mod.-intensität + + LFO wave shape - LFO-Wellenform + + LFO frequency x 100 - LFO-Frequenz ×100 + + Modulate env amount - Hüllkurvenintensität modulieren + + Sample not found - Sample nicht gefunden + lmms::EqControls + Input gain - Eingangsverstärkung + + Output gain - Ausgabeverstärkung - - - Low shelf gain - Low-Shelf-Verstärkung - - - Peak 1 gain - Peak 1 Verst. - - - Peak 2 gain - Peak 2 Verst. - - - Peak 3 gain - Peak 3 Verst. - - - Peak 4 gain - Peak 4 Verst. - - - High Shelf gain - High-Shelf-Verstärkung - - - HP res - HP-Res. - - - Low Shelf res - Low-Shelf-Res. - - - Peak 1 BW - Peak 1 BB - - - Peak 2 BW - Peak 2 BB - - - Peak 3 BW - Peak 3 BB - - - Peak 4 BW - Peak 4 BB - - - High Shelf res - High-Shelf-Res. - - - LP res - TP-Res. - - - HP freq - HP-Freq. - - - Low Shelf freq - Low-Shelf-Freq. - - - Peak 1 freq - Peak 1 Freq. - - - Peak 2 freq - Peak 2 Freq. - - - Peak 3 freq - Peak 3 Freq. - - - Peak 4 freq - Peak 4 Freq. - - - High shelf freq - High-Shelf-Freq. - - - LP freq - TP-Freq. - - - HP active - HP aktiv - - - Low shelf active - Low Shelf aktiv - - - Peak 1 active - Peak 1 aktiv - - - Peak 2 active - Peak 2 aktiv - - - Peak 3 active - Peak 3 aktiv - - - Peak 4 active - Peak 4 aktiv - - - High shelf active - High Shelf aktiv - - - LP active - TP aktiv - - - LP 12 - TP 12 - - - LP 24 - TP 24 - - - LP 48 - TP 48 - - - HP 12 - HP 12 - - - HP 24 - HP 24 - - - HP 48 - HP 48 - - - low pass type - Tiefpass-Art - - - high pass type - Hochpass-Art - - - Analyse IN - Analyse EIN - - - Analyse OUT - Analyse AUS + + Low-shelf gain - + + + Peak 1 gain + + + + + Peak 2 gain + + + + + Peak 3 gain + + + + + Peak 4 gain + + + + High-shelf gain - + + + HP res + + + + Low-shelf res - + + + Peak 1 BW + + + + + Peak 2 BW + + + + + Peak 3 BW + + + + + Peak 4 BW + + + + High-shelf res - + + + LP res + + + + + HP freq + + + + Low-shelf freq - + + + Peak 1 freq + + + + + Peak 2 freq + + + + + Peak 3 freq + + + + + Peak 4 freq + + + + High-shelf freq - + + + LP freq + + + + + HP active + + + + Low-shelf active - + + + Peak 1 active + + + + + Peak 2 active + + + + + Peak 3 active + + + + + Peak 4 active + + + + High-shelf active - + + + LP active + + + + + LP 12 + + + + + LP 24 + + + + + LP 48 + + + + + HP 12 + + + + + HP 24 + + + + + HP 48 + + + + Low-pass type - Tiefpasstyp + + High-pass type - Hochpasstyp + + + + + Analyse IN + + + + + Analyse OUT + lmms::FlangerControls - Delay Samples - Samples verzögern - - - Lfo Frequency - LFO-Frequenz - - - Seconds - Sekunde - - - Regen - Erneuern - - - Noise - Rauschen - - - Invert - Invertieren - - + Delay samples - Samples verzögern + + LFO frequency - LFO-Frequenz + + Amount - Stärke + + Stereo phase - Stereophase + + Feedback - Rückkopplung + + + + + Noise + + + + + Invert + lmms::FreeBoyInstrument + Sweep time - Streichzeit + + Sweep direction - Streichrichtung + + Sweep rate shift amount - Streichratenverschiebung + + + Wave pattern duty cycle - Wellenmustertastgradzyklus + + Channel 1 volume - Kanal-1-Lautstärke + + + + Volume sweep direction - Lautstärken-Streichrichtung + + + + Length of each step in sweep - Länge jedes Schritts beim Streichen + + Channel 2 volume - Kanal-2-Lautstärke + + Channel 3 volume - Kanal-3-Lautstärke + + Channel 4 volume - Kanal-4-Lautstärke + + Shift Register width - Schieberegister-Breite + + Right output level - Rechter Ausgabepegel + + Left output level - Linker Ausgabepegel + + Channel 1 to SO2 (Left) - Kanal 1 zu SO2 (Links) + + Channel 2 to SO2 (Left) - Kanal 2 zu SO2 (Links) + + Channel 3 to SO2 (Left) - Kanal 3 zu SO2 (Links) + + Channel 4 to SO2 (Left) - Kanal 4 zu SO2 (Links) + + Channel 1 to SO1 (Right) - Kanal 1 zu SO1 (Rechts) + + Channel 2 to SO1 (Right) - Kanal 2 zu SO1 (Rechts) + + Channel 3 to SO1 (Right) - Kanal 3 zu SO1 (Rechts) + + Channel 4 to SO1 (Right) - Kanal 4 zu SO1 (Rechts) + + Treble - Höhe + + Bass - Bass + lmms::GigInstrument + Bank - Bank + + Patch - Patch + + Gain - Verstärkung + lmms::GranularPitchShifterControls + Pitch - Tonhöhe + + Grain Size - Korngröße + + Spray - + + Jitter - + + Twitch - + + Pitch Stereo Spread - + + Spray Stereo - + + Shape - Form + + Fade Length - + + Feedback - Rückkopplung + + Minimum Allowed Latency - Minimale erlaubte Latenz + + Prefilter - Vorfilter + + Density - Dichte + + Glide - Gleiten + + Ring Buffer Length - Ringpufferlänge + + 5 Seconds - 5 Sekunden + + 10 Seconds (Size) - 10 Sekunden (Größe) + + 40 Seconds (Size and Pitch) - 40 Sekunden (Größe und Tonhöhe) + + 40 Seconds (Size and Spray and Jitter) - 40 Sekunden (Größe und Spray und Jitter) + + 120 Seconds (All of the above) - 120 Sekunden (alles von oben) + lmms::InstrumentFunctionArpeggio + Arpeggio - Arpeggio + + Arpeggio type - Arpeggiotyp + + Arpeggio range - Arpeggio-Bereich - - - Arpeggio time - Arpeggio-Zeit - - - Arpeggio gate - Arpeggio-Gate - - - Arpeggio direction - Arpeggio-Richtung - - - Arpeggio mode - Arpeggio-Modus - - - Up - Hoch - - - Down - Runter - - - Up and down - Hoch und runter - - - Random - Zufällig - - - Free - Frei - - - Sort - Sortiert - - - Sync - Synchron - - - Down and up - Runter und hoch - - - Skip rate - Übersprungsrate - - - Miss rate - Verfehlrate - - - Cycle steps - Zyklusschritte + + Note repeats - Notenwiederholungen + + + + + Cycle steps + + + + + Skip rate + + + + + Miss rate + + + + + Arpeggio time + + + + + Arpeggio gate + + + + + Arpeggio direction + + + + + Arpeggio mode + + + + + Up + + + + + Down + + + + + Up and down + + + + + Down and up + + + + + Random + + + + + Free + + + + + Sort + + + + + Sync + + + + + lmms::InstrumentFunctionNoteStacking + + + Chords + + + + + Chord type + + + + + Chord range + lmms::InstrumentSoundShaping - VOLUME - LAUTSTÄRKE - - - Volume - Lautstärke - - - CUTOFF - KENNFREQ - - - Cutoff frequency - Kennfrequenz - - - RESO - RESO - - - Resonance - Resonanz - - + Envelopes/LFOs - Hüllkurven/LFOs + + Filter type - Filtertyp + + + Cutoff frequency + + + + Q/Resonance - Q/Resonanz - - - LowPass - Tiefpass - - - HiPass - Hochpass - - - BandPass csg - Bandpass csg - - - BandPass czpg - Bandpass czpg - - - Notch - Notch - - - Allpass - Allpass - - - Moog - Moog - - - 2x LowPass - 2× Tiefpass - - - RC LowPass 12dB - RC-Tiefpass 12dB - - - RC BandPass 12dB - RC-Bandpass 12dB - - - RC HighPass 12dB - RC-Hochpass 12dB - - - RC LowPass 24dB - RC-Tiefpass 24dB - - - RC BandPass 24dB - RC-Bandpass 24dB - - - RC HighPass 24dB - RC-Hochpass 24dB - - - Vocal Formant Filter - Vokalformant-Filter - - - 2x Moog - 2× Moog - - - SV LowPass - SV-Tiefpass - - - SV BandPass - SV-Bandpass - - - SV HighPass - SV-Hochpass - - - SV Notch - SV-Notch + + Low-pass - Tiefpass + + Hi-pass - Hochpass + + Band-pass csg - Bandpass csg + + Band-pass czpg - Bandpass czpg + + + Notch + + + + All-pass - Allpass + + + Moog + + + + 2x Low-pass - 2× Tiefpass + + RC Low-pass 12 dB/oct - RC-Tiefpass 12 dB/Okt. + + RC Band-pass 12 dB/oct - RC-Bandpass 12 dB/Okt. + + RC High-pass 12 dB/oct - RC-Hochpass 12 dB/Okt. + + RC Low-pass 24 dB/oct - RC-Tiefpass 24 dB/Okt. + + RC Band-pass 24 dB/oct - RC-Bandbass 24 dB/Okt. + + RC High-pass 24 dB/oct - RC-Hochbass 24 dB/Okt. + + Vocal Formant - Vokalformant + + + 2x Moog + + + + SV Low-pass - SV-Tiefpass + + SV Band-pass - SV-Bandpass + + SV High-pass - SV-Hochpass + + + SV Notch + + + + Fast Formant - + + Tripole - + lmms::InstrumentTrack + + unnamed_track - Unbenannte_Spur - - - Volume - Lautstärke - - - Panning - Balance - - - Pitch - Tonhöhe - - - FX channel - FX-Kanal - - - Default preset - Standard-Preset - - - With this knob you can set the volume of the opened channel. - Mit diesem Regler können Sie die Lautstärke des geöffneten Kanals ändern. + + Base note - Grundton - - - Pitch range - Tonhöhenbereich - - - Master Pitch - Master-Tonhöhe + + First note - Erste Note + + Last note - Letzte Note + + + Volume + + + + + Panning + + + + + Pitch + + + + + Pitch range + + + + Mixer channel - Mischkanal + + Master pitch - Master-Tonhöhe + + Enable/Disable MIDI CC - MIDI CC aktivieren/deaktivieren + + CC Controller %1 - CC-Controller %1 + + + + + + Default preset + lmms::Keymap + empty - leer + lmms::KickerInstrument + Start frequency - Startfrequenz + + End frequency - Endfrequenz - - - Gain - Verstärkung + + Length - Länge - - - Distortion Start - Verzerrungsanfang - - - Distortion End - Verzerrungsende - - - Envelope Slope - Hüllkurvenneigung - - - Noise - Rauschen - - - Click - Klick - - - Frequency Slope - Frequenzabfall - - - Start from note - Start bei Note - - - End to note - Ende bei Note + + Start distortion - Startverzerrung + + End distortion - Endverzerrung + + + Gain + + + + Envelope slope - Hüllkurvenneigung + + + Noise + + + + + Click + + + + Frequency slope - Frequenzneigung + + + + + Start from note + + + + + End to note + lmms::LOMMControls + Depth - Tiefe + + Time - Zeit + + Input Volume - Eingangslautstärke + + Output Volume - Ausgangslautstärke + + Upward Depth - Aufwärtstiefe + + Downward Depth - Abwärtstiefe + + High/Mid Split - Hoch/Mittel-Teilung + + Mid/Low Split - Mittel/Tief-Teilung + + Enable High/Mid Split - Hoch-/Mittel-Teilung aktivieren + + Enable Mid/Low Split - Mittel-/Tief-Teilung aktivieren + + Enable High Band - Hochband aktivieren + + Enable Mid Band - Mittelband aktivieren + + Enable Low Band - Tiefband aktivieren + + High Input Volume - + + Mid Input Volume - + + Low Input Volume - + + High Output Volume - + + Mid Output Volume - + + Low Output Volume - + + Above Threshold High - + + Above Threshold Mid - + + Above Threshold Low - + + Above Ratio High - + + Above Ratio Mid - + + Above Ratio Low - + + Below Threshold High - + + Below Threshold Mid - + + Below Threshold Low - + + Below Ratio High - + + Below Ratio Mid - + + Below Ratio Low - + + Attack High - + + Attack Mid - + + Attack Low - + + Release High - Release hoch + + Release Mid - Release mittel + + Release Low - Release niedrig + + RMS Time - RMS-Zeit + + Knee - Knee + + Range - Bereich + + Balance - Balance + + Scale output volume with Depth - Ausgangslautstärke mit Tiefe skalieren + + Stereo Link - Stereoverknüpfung + + Auto Time - Autozeit + + Mix - Mischung + + Feedback - Rückkopplung + + Mid/Side - Mid/Größe + + Lookahead - Lookahead + + Lookahead Length - Lookahead-Länge + + Suppress upward compression for side band - Aufwärtskompression für Seitenband unterdrücken + lmms::LadspaControl + Link channels - Kanäle verknüpfen + lmms::LadspaEffect + Unknown LADSPA plugin %1 requested. - Unbekanntes LADSPA-Plugin %1 angefordert. + lmms::Lb302Synth + VCF Cutoff Frequency - VCF-Kennfrequenz + + VCF Resonance - VCF-Resonanz + + VCF Envelope Mod - VCF-Hüllkurvenintensität + + VCF Envelope Decay - VCF-Hüllkurvenabfallzeit + + Distortion - Verzerrung + + Waveform - Wellenform + + Slide Decay - Slide-Abfallzeit + + Slide - Slide + + Accent - Betonung + + Dead - Stumpf + + 24dB/oct Filter - 24db/Okt-Filter + lmms::LfoController + LFO Controller - LFO-Controller + + Base value - Grundwert + + Oscillator speed - Oszillator-Geschwindigkeit + + Oscillator amount - Oszillator-Stärke + + Oscillator phase - Oszillator-Phase + + Oscillator waveform - Oszillator-Wellenform + + Frequency Multiplier - Frequenzmultiplikator + + Sample not found - Sample nicht gefunden + lmms::MalletsInstrument + Hardness - Härte + + Position - Position - - - Vibrato Gain - Vibrato-Verstärkung - - - Vibrato Freq - Vibrato-Freq. - - - Stick Mix - Stick Mix - - - Modulator - Modulator - - - Crossfade - Crossfade - - - LFO Speed - LFO-Geschwindigkeit - - - LFO Depth - LFO-Tiefe - - - ADSR - ADSR - - - Pressure - Druck - - - Motion - Bewegung - - - Speed - Geschwindigkeit - - - Bowed - Gestrichen - - - Spread - Weite - - - Marimba - Marimba - - - Vibraphone - Vibraphon - - - Agogo - Agogo - - - Wood1 - Holz 1 - - - Reso - Reso - - - Wood2 - Holz 2 - - - Beats - Beats - - - Two Fixed - Two Fixed - - - Clump - Clump - - - Tubular Bells - Röhrenglocken - - - Uniform Bar - Uniform Bar - - - Tuned Bar - Tuned Bar - - - Glass - Glas - - - Tibetan Bowl - Tibetanische Schüssel + + Vibrato gain - Vibratoverstärkung + + Vibrato frequency - Vibratofrequenz + + Stick mix - Stick-Mix + + + Modulator + + + + + Crossfade + + + + LFO speed - LFO-Geschwindigkeit + + LFO depth - LFO-Tiefe + + + ADSR + + + + + Pressure + + + + + Motion + + + + + Speed + + + + + Bowed + + + + Instrument - Instrument + + + Spread + + + + Randomness - Zufall + + + Marimba + + + + + Vibraphone + + + + + Agogo + + + + Wood 1 - Holz 1 + + + Reso + + + + Wood 2 - Holz 2 + + + Beats + + + + Two fixed - + + + Clump + + + + Tubular bells - Röhrenglocken + + Uniform bar - + + Tuned bar - + + + Glass + + + + Tibetan bowl - Tibetische Schüssel + lmms::MeterModel + Numerator - Zähler + + Denominator - Nenner + lmms::Microtuner + Microtuner - Mikrotuner + + Microtuner on / off - Mikrotuner an/aus + + Selected scale - Ausgewählte Tonleiter + + Selected keyboard mapping - Ausgewählte Keymap + lmms::MidiController + MIDI Controller - MIDI-Controller + + unnamed_midi_controller - unbenannter_midi_controller + lmms::MidiImport + + Setup incomplete - Unvollständige Einrichtung - - - You do not have set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Sie haben keine Standard-Soundfont im Einstellungsdialog (Bearbeiten->Einstellungen) festgelegt. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei während der Wiedergabe nichts hören. Sie sollten eine allgemeine MIDI-Soundfont herunterladen, diese im Einstellungsdialog angeben und es erneut versuchen. - - - You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. - Sie haben LMMS nicht mit Unterstützung für den SoundFont2-Player kompiliert. Dies wird benutzt, um Standardklänge bei importierten MIDI-Dateien einzurichten. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei nichts hören. - - - Track - Spur + + You have not set up a default soundfont in the settings dialog (Edit->Settings). Therefore no sound will be played back after importing this MIDI file. You should download a General MIDI soundfont, specify it in settings dialog and try again. - Sie haben keine Standard-Soundfont im Einstellungsdialog (Bearbeiten->Einstellungen) festgelegt. Aus diesem Grund werden Sie nach dem Import der MIDI-Datei während der Wiedergabe nichts hören. Sie sollten eine allgemeine MIDI-Soundfont herunterladen, diese im Einstellungsdialog angeben und es erneut versuchen. + + + You did not compile LMMS with support for SoundFont2 player, which is used to add default sound to imported MIDI files. Therefore no sound will be played back after importing this MIDI file. + + + + MIDI Time Signature Numerator - MIDI-Taktart-Zähler + + MIDI Time Signature Denominator - MIDI-Taktart-Nenner + + Numerator - Zähler + + Denominator - Nenner + + + Tempo - Tempo + + + + + Track + lmms::MidiJack + JACK server down When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) - JACK-Server nicht erreichbar + + The JACK server seems to be shuted down. When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - Der JACK-Server scheint abgeschaltet zu sein. + lmms::MidiPort + Input channel - Eingangskanal + + Output channel - Ausgangskanal + + Input controller - Eingangscontroller + + Output controller - Ausgangscontroller + + Fixed input velocity - Feste Eingangslautstärke + + Fixed output velocity - Feste Ausgangslautstärke - - - Output MIDI program - Ausgangs-MIDI-Programm - - - Receive MIDI-events - MIDI-Ereignisse empfangen - - - Send MIDI-events - MIDI-Ereignisse senden + + Fixed output note - Feste Ausgangnote + + + Output MIDI program + + + + Base velocity - Grundlautstärke + + + + + Receive MIDI-events + + + + + Send MIDI-events + lmms::Mixer + Master - Master + + + + Channel %1 - Kanal %1 + + Volume - Lautstärke + + Mute - Stumm + + Solo - Solo + lmms::MixerRoute + + Amount to send from channel %1 to channel %2 - Anteil, der von Kanal %1 zu Kanal %2 gesendet werden soll + lmms::MonstroInstrument - Osc 1 Volume - Osz 1 Lautstärke - - - Osc 1 Panning - Osz 1 Balance - - - Osc 1 Coarse detune - Osz 1 Grobverstimmung - - - Osc 1 Fine detune left - Osz 1 Feinverstimmung links - - - Osc 1 Fine detune right - Osz 1 Feinverstimmung rechts - - - Osc 1 Stereo phase offset - Osz 1 Stereophasenverschiebung - - - Osc 1 Pulse width - Osz 1 Pulsweite - - - Osc 1 Sync send on rise - Osz 1 Sync beim Ansteigen senden - - - Osc 1 Sync send on fall - Osz 1 Sync beim Abfallen senden - - - Osc 2 Volume - Osz 2 Lautstärke - - - Osc 2 Panning - Osz 2 Balance - - - Osc 2 Coarse detune - Osz 2 Grobverstimmung - - - Osc 2 Fine detune left - Osz 2 Feinverstimmung links - - - Osc 2 Fine detune right - Osz 2 Feinverstimmung rechts - - - Osc 2 Stereo phase offset - Osz 2 Stereo-Phasenverschiebung - - - Osc 2 Waveform - Osz 2 Wellenform - - - Osc 2 Sync Hard - Osz 2 hart synchronisieren - - - Osc 2 Sync Reverse - Osz 2 rückwärts synchronisieren - - - Osc 3 Volume - Osz 3 Lautstärke - - - Osc 3 Panning - Osz 3 Balance - - - Osc 3 Coarse detune - Osz 3 Grobverstimmung - - - Osc 3 Stereo phase offset - Osz-3-Stereophasenverschiebung - - - Osc 3 Sub-oscillator mix - Osz 3 Unter-Oszillator Mischung - - - Osc 3 Waveform 1 - Osz 3 Wellenform 1 - - - Osc 3 Waveform 2 - Osz 3 Wellenform 2 - - - Osc 3 Sync Hard - Osz 3 hart synchronisieren - - - Osc 3 Sync Reverse - Osz 3 rückwärts synchronisieren - - - LFO 1 Waveform - LFO 1 Wellenform - - - LFO 1 Attack - LFO 1 Anschwellzeit - - - LFO 1 Rate - LFO 1 Rate - - - LFO 1 Phase - LFO 1 Phase - - - LFO 2 Waveform - LFO 2 Wellenform - - - LFO 2 Attack - LFO 2 Anschwellzeit - - - LFO 2 Rate - LFO 2 Rate - - - LFO 2 Phase - Hüllkurve 2 Phase - - - Env 1 Pre-delay - Hüllkurve 1 Vorverzögerung - - - Env 1 Attack - Hüllkurve 1 Anschwellzeit - - - Env 1 Hold - Hüllkurve 1 Haltezeit - - - Env 1 Decay - Hüllkurve 1 Abfallzeit - - - Env 1 Sustain - Hüllkurve 1 Dauerpegel - - - Env 1 Release - Hüllkurve 1 Ausklingzeit - - - Env 1 Slope - Hüllkurve 1 Neigung - - - Env 2 Pre-delay - Hüllkurve 2 Vorverzögerung - - - Env 2 Attack - Hüllkurve 2 Anschwellzeit - - - Env 2 Hold - Hüllkurve 2 Haltezeit - - - Env 2 Decay - Hüllkurve 2 Abfallzeit - - - Env 2 Sustain - Hüllkurve 2 Dauerpegel - - - Env 2 Release - Hüllkurve 2 Ausklingzeit - - - Env 2 Slope - Hüllkurve 2 Neigung - - - Osc2-3 modulation - Osz2-3 Modulation - - - Selected view - Ausgewählte Ansicht - - - Vol1-Env1 - Vol1-Env1 - - - Vol1-Env2 - Vol1-Env2 - - - Vol1-LFO1 - Vol1-LFO1 - - - Vol1-LFO2 - Vol1-LFO2 - - - Vol2-Env1 - Vol2-Env1 - - - Vol2-Env2 - Vol2-Env2 - - - Vol2-LFO1 - Vol2-LFO1 - - - Vol2-LFO2 - Vol2-LFO2 - - - Vol3-Env1 - Vol3-Env1 - - - Vol3-Env2 - Vol3-Env2 - - - Vol3-LFO1 - Vol3-LFO1 - - - Vol3-LFO2 - Vol3-LFO2 - - - Phs1-Env1 - Phs1-Env1 - - - Phs1-Env2 - Phs1-Env2 - - - Phs1-LFO1 - Phs1-LFO1 - - - Phs1-LFO2 - Phs1-LFO2 - - - Phs2-Env1 - Phs2-Env1 - - - Phs2-Env2 - Phs2-Env2 - - - Phs2-LFO1 - Phs2-LFO1 - - - Phs2-LFO2 - Phs2-LFO2 - - - Phs3-Env1 - Phs3-Env1 - - - Phs3-Env2 - Phs3-Env2 - - - Phs3-LFO1 - Phs3-LFO1 - - - Phs3-LFO2 - Phs3-LFO2 - - - Pit1-Env1 - Pit1-Env1 - - - Pit1-Env2 - Pit1-Env2 - - - Pit1-LFO1 - Pit1-LFO1 - - - Pit1-LFO2 - Pit1-LFO2 - - - Pit2-Env1 - Pit2-Env1 - - - Pit2-Env2 - Pit2-Env2 - - - Pit2-LFO1 - Pit2-LFO1 - - - Pit2-LFO2 - Pit2-LFO2 - - - Pit3-Env1 - Pit3-Env1 - - - Pit3-Env2 - Pit3-Env2 - - - Pit3-LFO1 - Pit3-LFO1 - - - Pit3-LFO2 - Pit3-LFO2 - - - PW1-Env1 - PW1-Env1 - - - PW1-Env2 - PW1-Env2 - - - PW1-LFO1 - PW1-LFO1 - - - PW1-LFO2 - PW1-LFO2 - - - Sub3-Env1 - Sub3-Env1 - - - Sub3-Env2 - Sub3-Env2 - - - Sub3-LFO1 - Sub3-LFO1 - - - Sub3-LFO2 - Sub3-LFO2 - - - Sine wave - Sinuswelle - - - Bandlimited Triangle wave - Bandbegrenzte Dreieckwelle - - - Bandlimited Saw wave - Bandbegrenzte Sägezahnwelle - - - Bandlimited Ramp wave - Bandbegrenzte Rampenwelle - - - Bandlimited Square wave - Bandbegrenzte Rechteckwelle - - - Bandlimited Moog saw wave - Bandbegrenzte Moog-Sägezahnwelle - - - Soft square wave - Weiche Rechteckwelle - - - Absolute sine wave - Absolute Sinuswelle - - - Exponential wave - Exponentielle Welle - - - White noise - Weißes Rauschen - - - Digital Triangle wave - Digitale Dreieckwelle - - - Digital Saw wave - Digitale Sägezahnwelle - - - Digital Ramp wave - Digitale Rampenwelle - - - Digital Square wave - Digitale Rechteckwelle - - - Digital Moog saw wave - Digitale Moog-Sägezahnwelle - - - Triangle wave - Dreieckwelle - - - Saw wave - Sägezahnwelle - - - Ramp wave - Sägezahnwelle - - - Square wave - Rechteckwelle - - - Moog saw wave - Moog-Sägezahnwelle - - - Abs. sine wave - Abs. Sinuswelle - - - Random - Zufällig - - - Random smooth - Zufällig gleitend - - + Osc 1 volume - Osz-1-Lautstärke + + Osc 1 panning - Osz-1-Balance + + Osc 1 coarse detune - Osz-1-Grobverstimmung + + Osc 1 fine detune left - Osz-1-Feinverstimmung links + + Osc 1 fine detune right - Osz-1-Feinverstimmung rechts + + Osc 1 stereo phase offset - Osz-1-Stereophasenverschiebung + + Osc 1 pulse width - Osz-1-Pulsbreite + + Osc 1 sync send on rise - Osz 1 – Sync beim Ansteigen senden + + Osc 1 sync send on fall - Osz 1 – Sync beim Abfallen senden + + Osc 2 volume - Osz-2-Lautstärke + + Osc 2 panning - Osz-2-Balance + + Osc 2 coarse detune - Osz-2-Grobverstimmung + + Osc 2 fine detune left - Osz-2-Feinverstimmung links + + Osc 2 fine detune right - Osz-2-Feinverstimmung rechts + + Osc 2 stereo phase offset - Osz-2-Stereophasenversatz + + Osc 2 waveform - Osz-2-Wellenform + + Osc 2 sync hard - Osz 2 hart synchronisieren + + Osc 2 sync reverse - Osz 2 rückwärts synchronisieren + + Osc 3 volume - Osz-3-Lautstärke + + Osc 3 panning - Osz-3-Balance + + Osc 3 coarse detune - Osz-3-Grobverstimmung + + + Osc 3 Stereo phase offset + + + + Osc 3 sub-oscillator mix - Osz-3-Unter-Oszillator-Mischung + + Osc 3 waveform 1 - Osz-3-Wellenform 1 + + Osc 3 waveform 2 - Osz-3-Wellenform 2 + + Osc 3 sync hard - Osz 3 hart synchronisieren + + Osc 3 Sync reverse - Osz 3 rückwärts synchronisieren + + LFO 1 waveform - LFO-1-Wellenform + + LFO 1 attack - LFO-1-Anschwellzeit + + LFO 1 rate - LFO-1-Rate + + LFO 1 phase - LFO-1-Rate + + LFO 2 waveform - LFO-2-Wellenform + + LFO 2 attack - LFO-2-Anschwellzeit + + LFO 2 rate - LFO-2-Rate + + LFO 2 phase - LFO-2-Phase + + Env 1 pre-delay - Hüllkurve-1-Vorverzögerung + + Env 1 attack - Hüllkurve-1-Anschwellzeit + + Env 1 hold - Hüllkurve-1-Haltezeit + + Env 1 decay - Hüllkurve-1-Abfallzeit + + Env 1 sustain - Hüllkurve-1-Dauerpegel + + Env 1 release - Hüllkurve-1-Ausklingzeit + + Env 1 slope - Hüllkurve-1-Neigung + + Env 2 pre-delay - Hüllkurve-2-Vorverzögerung + + Env 2 attack - Hüllkurve-2-Anschwellzeit + + Env 2 hold - Hüllkurve-2-Haltezeit + + Env 2 decay - Hüllkurve-2-Abfallzeit + + Env 2 sustain - Hüllkurve-2-Dauerpegel + + Env 2 release - Hüllkurve-2-Ausklingzeit + + Env 2 slope - Hüllkurve-2-Neigung + + Osc 2+3 modulation - Osz-2+3-Modulation + + + Selected view + + + + Osc 1 - Vol env 1 - Osz 1 – Lau Hüll 1 + + Osc 1 - Vol env 2 - Osz 1 – Lau Hüll 2 + + Osc 1 - Vol LFO 1 - Osz 1 – Lau LFO 1 + + Osc 1 - Vol LFO 2 - Osz 1 – Lau LFO 2 + + Osc 2 - Vol env 1 - Osz 2 – Lau Hüll 1 + + Osc 2 - Vol env 2 - Osz 2 – Lau Hüll 2 + + Osc 2 - Vol LFO 1 - Osz 2 – Lau LFO 1 + + Osc 2 - Vol LFO 2 - Osz 2 – Lau LFO 2 + + Osc 3 - Vol env 1 - Osz 3 – Lau Hüll 1 + + Osc 3 - Vol env 2 - Osz 3 – Lau Hüll 2 + + Osc 3 - Vol LFO 1 - Osz 3 – Lau LFO 1 + + Osc 3 - Vol LFO 2 - Osz 3 – Lau LFO 2 + + Osc 1 - Phs env 1 - Osz 1 – Phs Hüll 1 + + Osc 1 - Phs env 2 - Osz 1 – Phs Hüll 2 + + Osc 1 - Phs LFO 1 - Osz 1 – Phs LFO 1 + + Osc 1 - Phs LFO 2 - Osz 1 – Phs LFO 2 + + Osc 2 - Phs env 1 - Osz 2 – Phs Hüll 1 + + Osc 2 - Phs env 2 - Osz 2 – Phs Hüll 2 + + Osc 2 - Phs LFO 1 - Osz 2 – Phs LFO 1 + + Osc 2 - Phs LFO 2 - Osz 2 – Phs LFO 2 + + Osc 3 - Phs env 1 - Osz 3 – Phs Hüll 1 + + Osc 3 - Phs env 2 - Osc 3 – Phs env 2 + + Osc 3 - Phs LFO 1 - Osz 3 – Phs LFO 1 + + Osc 3 - Phs LFO 2 - Osz 3 – Phs LFO 2 + + Osc 1 - Pit env 1 - Osz 1 – Höh Hüll 1 + + Osc 1 - Pit env 2 - Osz 1 – Höh Hüll 2 + + Osc 1 - Pit LFO 1 - Osz 1 – Höh LFO 1 + + Osc 1 - Pit LFO 2 - Osz 1 – Höh LFO 2 + + Osc 2 - Pit env 1 - Osz 2 – Höh Hüll 1 + + Osc 2 - Pit env 2 - Osz 2 – Höh Hüll 2 + + Osc 2 - Pit LFO 1 - Osz 2 – Höh LFO 1 + + Osc 2 - Pit LFO 2 - Osz 2 – Höh LFO 2 + + Osc 3 - Pit env 1 - Osz 3 – Höh Hüll 1 + + Osc 3 - Pit env 2 - Osz 3 – Höh Hüll 2 + + Osc 3 - Pit LFO 1 - Osz 3 – Höh LFO 1 + + Osc 3 - Pit LFO 2 - Osz 3 – Höh LFO 2 + + Osc 1 - PW env 1 - Osz 1 – PB Hüll 1 + + Osc 1 - PW env 2 - Osz 1 – PB Hüll 2 + + Osc 1 - PW LFO 1 - Osz 1 – PB LFO 1 + + Osc 1 - PW LFO 2 - Osz 1 – PB LFO 2 + + Osc 3 - Sub env 1 - Osz 3 – Unt Hüll 1 + + Osc 3 - Sub env 2 - Osz 3 – Unt Hüll 2 + + Osc 3 - Sub LFO 1 - Osz 3 – Unt LFO 1 + + Osc 3 - Sub LFO 2 - Osz 3 – Unt LFO 2 + + + + + + Sine wave + + + + + Bandlimited Triangle wave + + + + + Bandlimited Saw wave + + + + + Bandlimited Ramp wave + + + + + Bandlimited Square wave + + + + + Bandlimited Moog saw wave + + + + + + Soft square wave + + + + + Absolute sine wave + + + + + + Exponential wave + + + + + White noise + + + + + Digital Triangle wave + + + + + Digital Saw wave + + + + + Digital Ramp wave + + + + + Digital Square wave + + + + + Digital Moog saw wave + + + + + Triangle wave + + + + + Saw wave + + + + + Ramp wave + + + + + Square wave + + + + + Moog saw wave + + + + + Abs. sine wave + + + + + Random + + + + + Random smooth + lmms::NesInstrument - Channel 1 Coarse detune - Kanal 1 Grobverstimmung - - - Channel 1 Volume - Kanal 1 Lautstärke - - - Channel 1 Envelope length - Kanal 1 Hüllkurvenlänge - - - Channel 1 Duty cycle - Kanal 1 Tastgrad - - - Channel 1 Sweep amount - Kanal 1 Streichstärke - - - Channel 1 Sweep rate - Kanal 1 Streichrate - - - Channel 2 Coarse detune - Kanal 2 Grobverstimmung - - - Channel 2 Volume - Kanal 2 Lautstärke - - - Channel 2 Envelope length - Kanal 2 Hüllkurvenlänge - - - Channel 2 Duty cycle - Kanal 2 Tastgrad - - - Channel 2 Sweep amount - Kanal 2 Streichstärke - - - Channel 2 Sweep rate - Kanal 2 Streichrate - - - Channel 3 Coarse detune - Kanal 3 Grobverstimmung - - - Channel 3 Volume - Kanal 3 Lautstärke - - - Channel 4 Volume - Kanal 4 Lautstärke - - - Channel 4 Envelope length - Kanal 4 Hüllkurvenlänge - - - Channel 4 Noise frequency - Kanal 4 Rauschfrequenz - - - Channel 4 Noise frequency sweep - Kanal 4 Rauschfrequenzstreichen - - - Master volume - Master-Lautstärke - - - Vibrato - Vibrato - - + Channel 1 enable - Kanal 1 aktivieren + + Channel 1 coarse detune - Kanal-1-Grobverstimmung + + Channel 1 volume - Kanal-1-Lautstärke + + Channel 1 envelope enable - Kanal-1-Hüllkurve aktiviert + + Channel 1 envelope loop - Kanal-1-Hüllkurvenschleife + + Channel 1 envelope length - Kanal-1-Hüllkurvenlänge + + Channel 1 duty cycle - Kanal-1-Tastgrad + + Channel 1 sweep enable - Kanal-1-Streichen aktivieren + + Channel 1 sweep amount - Kanal-1-Streichstärke + + Channel 1 sweep rate - Kanal-1-Streichrate + + Channel 2 enable - Kanal 2 aktivieren + + Channel 2 coarse detune - Kanal-2-Grobverstimmung + + Channel 2 volume - Kanal-2-Lautstärke + + Channel 2 envelope enable - Kanal-2-Hüllkurve aktivieren + + Channel 2 envelope loop - Kanal-2-Hüllkurvenschleife + + Channel 2 envelope length - Kanal-2-Hüllkurvenlänge + + Channel 2 duty cycle - Kanal-2-Tastgrad + + Channel 2 sweep enable - Kanal-2-Streichen aktivieren + + Channel 2 sweep amount - Kanal-2-Streichstärke + + Channel 2 sweep rate - Kanal-2-Streichrate + + Channel 3 enable - Kanal 3 aktivieren + + Channel 3 coarse detune - Kanal-3-Grobverstimmung + + Channel 3 volume - Kanal-3-Lautstärke + + Channel 4 enable - Kanal 4 aktivieren + + Channel 4 volume - Kanal-4-Lautstärke + + Channel 4 envelope enable - Kanal-4-Hüllkurve aktivieren + + Channel 4 envelope loop - Kanal-4-Hüllkurvenschleife + + Channel 4 envelope length - Kanal-4-Hüllkurvenlänge + + Channel 4 noise mode - Kanal-4-Rauschmodus + + Channel 4 frequency mode - Kanal-4-Frequenzmodus + + Channel 4 noise frequency - Kanal-4-Rauschfrequenz + + Channel 4 noise frequency sweep - Kanal-4-Rauschfrequenzstreichen + + Channel 4 quantize - Kanal 4 quantisieren + + + + + Master volume + + + + + Vibrato + lmms::OpulenzInstrument + Patch - Patch - - - Op 1 Attack - Op 1 Anschwellzeit - - - Op 1 Decay - Op 1 Abfallzeit - - - Op 1 Sustain - Op 1 Dauerpegel - - - Op 1 Release - Op 1 Ausklingzeit - - - Op 1 Level - Op 1 Stärke - - - Op 1 Level Scaling - Op 1 Stärkenskalierung - - - Op 1 Frequency Multiple - Op 1 Frequenzmultiplikator - - - Op 1 Feedback - Op 1 Rückkopplung - - - Op 1 Key Scaling Rate - Op 1 Tonart-Skalierungsrate - - - Op 1 Tremolo - Op 1 Tremolo - - - Op 1 Vibrato - Op 1 Vibrato - - - Op 1 Waveform - Op 1 Wellenform - - - Op 2 Attack - Op 2 Anschwellzeit - - - Op 2 Decay - Op 2-Abfallzeit - - - Op 2 Sustain - Op 2 Dauerpegel - - - Op 2 Release - Op 2 Ausklingzeit - - - Op 2 Level - Op 2 Stärke - - - Op 2 Level Scaling - Op 2 Stärkenskalierung - - - Op 2 Frequency Multiple - Op 2 Frequenzmultiplikator - - - Op 2 Key Scaling Rate - Op 2 Tonart-Skalierungsrate - - - Op 2 Tremolo - Op 2 Tremolo - - - Op 2 Vibrato - Op 2 Vibrato - - - Op 2 Waveform - Op 2 Wellenform - - - FM - FM - - - Vibrato Depth - Vibrato-Tiefe - - - Tremolo Depth - Tremolo-Tiefe + + Op 1 attack - Op-1-Anschwellzeit + + Op 1 decay - Op-1-Abfallzeit + + Op 1 sustain - Op-1-Dauerpegel + + Op 1 release - Op-1-Ausklingzeit + + Op 1 level - Op-1-Stärke + + Op 1 level scaling - Op-1-Stärkenskalierung + + Op 1 frequency multiplier - Op-1-Frequenzmultiplikator + + Op 1 feedback - Op-1-Rückkopplung + + Op 1 key scaling rate - Op-1-Tonart-Skalierungsrate + + Op 1 percussive envelope - + + Op 1 tremolo - Op-1-Tremolo + + Op 1 vibrato - Op-1-Vibrato + + Op 1 waveform - Op-1-Wellenform + + Op 2 attack - Op-2-Anschwellzeit + + Op 2 decay - Op-2-Abfallzeit + + Op 2 sustain - Op-2-Dauerpegel + + Op 2 release - Op-2-Ausklingzeit + + Op 2 level - Op-2-Stärke + + Op 2 level scaling - Op-2-Stärkenskalierung + + Op 2 frequency multiplier - Op-2-Frequenzmultiplikator + + Op 2 key scaling rate - Op-2-Tonart-Skalierungsrate + + Op 2 percussive envelope - + + Op 2 tremolo - Op-2-Tremolo + + Op 2 vibrato - Op-2-Vibrato + + Op 2 waveform - Op-2-Wellenform + + + FM + + + + Vibrato depth - Vibrato-Tiefe + + Tremolo depth - Tremolo-Tiefe + lmms::OrganicInstrument + Distortion - Verzerrung + + Volume - Lautstärke + lmms::OscillatorObject - Osc %1 volume - Oszillator %1 Lautstärke - - - Osc %1 panning - Oszillator %1 Balance - - - Osc %1 coarse detuning - Oszillator %1 Grobverstimmung - - - Osc %1 fine detuning left - Oszillator %1 Feinverstimmung links - - - Osc %1 fine detuning right - Oszillator %1 Feinverstimmung rechts - - - Osc %1 phase-offset - Oszillator %1 Phasenverschiebung - - - Osc %1 stereo phase-detuning - Oszillator %1 Stereo-Phasenverschiebung - - - Osc %1 wave shape - Oszillator %1 Wellenform - - - Modulation type %1 - Modulationsart %1 - - + Osc %1 waveform - Oszillator %1 Wellenform + + Osc %1 harmonic - Oszillator %1 Harmonie + + + + Osc %1 volume + + + + + + Osc %1 panning + + + + Osc %1 stereo detuning - Oszillator-%1-Stereoverstimmung + + + + + Osc %1 coarse detuning + + + + + Osc %1 fine detuning left + + + + + Osc %1 fine detuning right + + + + + Osc %1 phase-offset + + + + + Osc %1 stereo phase-detuning + + + + + Osc %1 wave shape + + + + + Modulation type %1 + lmms::PatternTrack + Pattern %1 - Pattern %1 + + Clone of %1 - Klon von %1 + lmms::PeakController + Peak Controller - Peak-Controller + + Peak Controller Bug - Peak-Controller-Fehler + + Due to a bug in older version of LMMS, the peak controllers may not be connect properly. Please ensure that peak controllers are connected properly and re-save this file. Sorry for any inconvenience caused. - Aufgrund eines Fehlers in einer älteren Version von LMMS sind die Peak-Controller möglicherweise nicht richtig verbunden. Bitte stellen Sie sicher, dass die Peak-Controller richtig verbunden sind und speichern Sie die Datei erneut. Entschuldigung für jegliche verursachte Unannehmlichkeiten. - - - - lmms::PeakControllerEffectControlDialog - - BASE - GRUND - - - Base amount: - Grundstärke: - - - Modulation amount: - Modulationsintensität: - - - Attack: - Anschwellzeit (attack): - - - Release: - Ausklingzeit (release): - - - AMNT - Intensität - INTE - - - MULT - Faktor - FAKT - - - Amount Multiplicator: - Intensitätsfaktor: - - - ATCK - ATCK - - - DCAY - DCAY - - - Treshold: - Schwellwert: - - - TRSH - Schwellwert - SCHW + lmms::PeakControllerEffectControls + Base value - Grundwert + + Modulation amount - Modulationsintensität + + Attack - Anschwellzeit (attack) + + Release - Ausklingzeit (release) + + Treshold - Schwellwert + + Mute output - Ausgang stumm + + Absolute value - Absolutwert + + Amount multiplicator - Intensitätsfaktor + lmms::Plugin + Plugin not found - Plugin nicht gefunden + - The plugin "%1" wasn't found or could not be loaded! + + The plugin "%1" wasn't found or could not be loaded! Reason: "%2" - Das Plugin »%1« konnte nicht gefunden oder geladen werden! -Grund: »%2« + + Error while loading plugin - Fehler beim Laden des Plugins + + Failed to load plugin "%1"! - Das Plugin »%1« konnte nicht geladen werden! + lmms::ReverbSCControls + Input gain - Eingangsverstärkung + + Size - Größe + + Color - Farbe + + Output gain - Ausgabeverstärkung + lmms::SaControls + Pause - Pause + + Reference freeze - Referenz einfrieren + + Waterfall - Wasserfall + + Averaging - Mittelung + + Stereo - Stereo + + Peak hold - Peak halten + + Logarithmic frequency - Logarithmische Frequenz + + Logarithmic amplitude - Logarithmische Amplitude + + Frequency range - Frequenzbereich + + Amplitude range - Amplitudenbereich + + FFT block size - FFT-Blockgröße + + FFT window type - FFT-Fenstertyp + + Peak envelope resolution - Peakhüllkurvenauflösung + + Spectrum display resolution - Spektrumsanzeigenauflösung + + Peak decay multiplier - Peakabfallzeitfaktor + + Averaging weight - Mittelungsgewicht + + Waterfall history size - Wasserfallhistoriengröße + + Waterfall gamma correction - Wasserfallgammakorrektur + + FFT window overlap - FFT-Fensterüberlappung + + FFT zero padding - FFT-Zero-Padding + + + Full (auto) - Voll (auto) + + + + Audible - + + Bass - Bass + + Mids - + + High - Hoch + + Extended - Erweitert + + Loud - Laut + + Silent - Stumm + + (High time res.) - (Hohe Zeitaufl.) + + (High freq. res.) - (Hohe Freq.-aufl.) + + Rectangular (Off) - Rechteckig (aus) + + + Blackman-Harris (Default) - Blackman-Harris (Standard) + + Hamming - Hamming + + Hanning - Hanning + lmms::SampleClip + Sample not found - Sample nicht gefunden + lmms::SampleTrack + Volume - Lautstärke + + Panning - Balance + + Mixer channel - Mischkanal + + + Sample track - Samplespur + lmms::Scale + empty - leer + lmms::Sf2Instrument + Bank - Bank + + Patch - Patch + + Gain - Verstärkung + + Reverb - Hall - - - Reverb Roomsize - Hall/Raumgröße - - - Reverb Damping - Hall/Dämpfung - - - Reverb Width - Hall/Weite - - - Reverb Level - Hall/Stärke - - - Chorus - Chorus - - - Chorus Lines - Chorus/Anzahl - - - Chorus Level - Chorus/Stärke - - - Chorus Speed - Chorus/Geschwindigkeit - - - Chorus Depth - Chorus/Tiefe - - - A soundfont %1 could not be loaded. - Eine Soundfont %1 konnte nicht geladen werden. + + Reverb room size - Hallraumgröße + + Reverb damping - Halldämpfung + + Reverb width - Hallweite + + Reverb level - Hallstärke + + + Chorus + + + + Chorus voices - Chorusstimmen + + Chorus level - Chorusstärke + + Chorus speed - Chorusgeschwindigkeit + + Chorus depth - Chorustiefe + + + + + A soundfont %1 could not be loaded. + lmms::SfxrInstrument - Wave Form - Wellenform - - + Wave - Welle + lmms::SidInstrument - Cutoff - Kennfrequenz - - - Resonance - Resonanz - - - Filter type - Filtertyp - - - Voice 3 off - Stimme 3 lautlos - - - Volume - Lautstärke - - - Chip model - Chipmodell - - + Cutoff frequency - Kennfrequenz + + + + + Resonance + + + + + Filter type + + + + + Voice 3 off + + + + + Volume + + + + + Chip model + lmms::SlicerT + Note threshold - Notenschwellwert + + FadeOut - Ausblenden + + Original bpm - Ursprüngliche bpm + + Slice snap - Slice einrasten + + BPM sync - BPM-Sync. + + + slice_%1 - slice_%1 + + Sample not found: %1 - Sample nicht gefunden: %1 + lmms::Song + Tempo - Tempo + + Master volume - Master-Lautstärke + + Master pitch - Master-Tonhöhe - - - Project saved - Projekt gespeichert - - - The project %1 is now saved. - Das Projekt %1 ist nun gespeichert. - - - Project NOT saved. - Projekt NICHT gespeichert. - - - The project %1 was not saved! - Das Projekt %1 wurde nicht gespeichert! - - - Import file - Datei importieren - - - MIDI sequences - MIDI-Sequenzen - - - Hydrogen projects - Hydrogen-Projekte - - - All file types - Alle Dateitypen - - - Empty project - Leeres Projekt - - - This project is empty so exporting makes no sense. Please put some items into Song Editor first! - Dieses Projekt ist leer, also ist der Export sinnlos. Bitte legen Sie zuerst ein paar Dinge in den Song-Editor ab! - - - Select directory for writing exported tracks... - Verzeichnis für das Schreiben der zu exportierenden Spuren wählen … - - - untitled - Unbenannt - - - Select file for project-export... - Datei für Projekt-Export wählen … - - - The following errors occured while loading: - Die folgenden Fehler traten beim Laden auf: - - - MIDI File (*.mid) - MIDI-Datei (*.mid) - - - LMMS Error report - LMMS-Fehlerbericht - - - Save project - Projekt speichern + + Aborting project load - Projektladen abbrechen + + Project file contains local paths to plugins, which could be used to run malicious code. - Projektdatei enthält lokale Pfaden zu Plugins, welche benutzt werden können, um Schadcode auszuführen. + + Can't load project: Project file contains local paths to plugins. - Projekt kann nicht geladen werden: Projektdatei enthält lokale Pfade zu Plugins. + + + LMMS Error report + + + + (repeated %1 times) - (%1 mal wiederholt) + + The following errors occurred while loading: - Die folgenden Fehler sind beim Laden aufgetreten: + lmms::StereoEnhancerControls + Width - Weite + lmms::StereoMatrixControls + Left to Left - Links-nach-links + + Left to Right - Links-nach-rechts + + Right to Left - Rechts-nach-links + + Right to Right - Rechts-nach-rechts + lmms::Track + Mute - Stumm + + Solo - Solo + lmms::TrackContainer - Importing MIDI-file... - Importiere MIDI-Datei … - - - Cancel - Abbrechen - - - Please wait... - Bitte warten … - - + Couldn't import file - Datei konnte nicht importiert werden + - Couldn't find a filter for importing file %1. + + Couldn't find a filter for importing file %1. You should convert this file into a format supported by LMMS using another software. - Es konnte kein Filter gefunden werden, um die Datei %1 zu importieren. -Sie sollten diese Datei mit Hilfe anderer Software in ein von LMMS unterstütztes Format umwandeln. + + Couldn't open file - Datei konnte nicht geöffnet werden + - Couldn't open file %1 for reading. + + Couldn't open file %1 for reading. Please make sure you have read-permission to the file and the directory containing the file and try again! - Datei %1 konnte nicht zum Lesen geöffnet werden. -Bitte stellen Sie sicher, dass Sie Leserechte auf diese Datei sowie das Verzeichnis besitzen und probieren es erneut! + + Loading project... - Projekt laden … + + + + Cancel + + + + + + Please wait... + + + + Loading cancelled - Laden abgebrochen + + Project loading was cancelled. - Laden des Projekts wurde abgebrochen. + + Loading Track %1 (%2/Total %3) - Spur %1 laden (%2/gesamt %3) + + + + + Importing MIDI-file... + lmms::TripleOscillator + Sample not found - Sample nicht gefunden + lmms::VecControls + Display persistence amount - Persistenzmenge anzeigen + + Logarithmic scale - Logarithmische Skala + + High quality - Hoche Qualität + lmms::VestigeInstrument + Loading plugin - Lade Plugin - - - Please wait while loading VST-plugin... - Bitte warten, während das VST-Plugin geladen wird … + + Please wait while loading the VST plugin... - Bitte warten, während das VST-Plugin geladen wird … + lmms::Vibed + String %1 volume - Saite-%1-Lautstärke + + String %1 stiffness - Saite-%1-Härte + + Pick %1 position - Zupf-Position %1 + + Pickup %1 position - Abnehmer-Position %1 - - - Pan %1 - Balance %1 - - - Detune %1 - Verstimmung %1 - - - Fuzziness %1 - Unschärfe %1 - - - Length %1 - Länge %1 - - - Impulse %1 - Impuls %1 - - - Octave %1 - Oktave %1 + + String %1 panning - Saite-%1-Balance + + String %1 detune - Saite-%1-Verstimmung + + String %1 fuzziness - Saite-%1-Unschärfe + + String %1 length - Saite-%1-Länge + + + Impulse %1 + + + + String %1 - Saite %1 + lmms::VoiceObject + Voice %1 pulse width - Stimme %1 Pulsweite + + Voice %1 attack - Stimme %1 Anschwellzeit + + Voice %1 decay - Stimme %1 Abfallzeit + + Voice %1 sustain - Stimme %1 Haltepegel + + Voice %1 release - Stimme %1 Release + + Voice %1 coarse detuning - Stimme %1 Grobverstimmung + + Voice %1 wave shape - Stimme %1 Wellenform + + Voice %1 sync - Stimme %1 Sync + + Voice %1 ring modulate - Stimme %1 Ringmodulation + + Voice %1 filtered - Stimme %1 gefiltert + + Voice %1 test - Stimme %1 Test + lmms::VstPlugin - Loading plugin - Lade Plugin - - - Open Preset - Preset öffnen - - - Vst Plugin Preset (*.fxp *.fxb) - VST-Plugin-Preset (*.fxp *.fxb) - - - : default - : Standard - - - " - " - - - ' - ' - - - Save Preset - Preset speichern - - - .fxp - .fxp - - - .FXP - .FXP - - - .FXB - .FXB - - - .fxb - .fxb - - - Please wait while loading VST plugin... - Bitte warten, während das VST-Plugin geladen wird … - - + + The VST plugin %1 could not be loaded. - Das VST-Plugin %1 konnte nicht geladen werden. + + + Open Preset + + + + + VST Plugin Preset (*.fxp *.fxb) - VST-Plugin-Preset (*.fxp *.fxb) + + + + + : default + + + + + Save Preset + + + + + .fxp + + + + + .FXP + + + + + .FXB + + + + + .fxb + + + + + Loading plugin + + + + + Please wait while loading VST plugin... + lmms::WatsynInstrument + Volume A1 - Lautstärke A1 + + Volume A2 - Lautstärke A2 + + Volume B1 - Lautstärke B1 + + Volume B2 - Lautstärke B2 + + Panning A1 - Balance A1 + + Panning A2 - Balance A2 + + Panning B1 - Balance B1 + + Panning B2 - Balance B2 + + Freq. multiplier A1 - Frequenzmultiplikator-A1 + + Freq. multiplier A2 - Frequenzmultiplikator-A2 + + Freq. multiplier B1 - Frequenzmultiplikator-B1 + + Freq. multiplier B2 - Frequenzmultiplikator-B2 + + Left detune A1 - Links-Verstimmung A1 + + Left detune A2 - Links-Verstimmung A2 + + Left detune B1 - Links-Verstimmung B1 + + Left detune B2 - Links-Verstimmung B2 + + Right detune A1 - Rechts-Verstimmung A1 + + Right detune A2 - Rechts-Verstimmung A2 + + Right detune B1 - Rechts-Verstimmung B1 + + Right detune B2 - Rechts-Verstimmung B2 + + A-B Mix - A-B-Mischung + + A-B Mix envelope amount - A-B-Mischungshüllkurvenintensität + + A-B Mix envelope attack - A-B-Mischungshüllkurvenanschwellzeit + + A-B Mix envelope hold - A-B-Mischungshüllkurvenhaltezeit + + A-B Mix envelope decay - A-B-Mischungshüllkurvenabfallzeit + + A1-B2 Crosstalk - A1-B2-Überlagerung + + A2-A1 modulation - A2-A1-Modulation + + B2-B1 modulation - B2-B1-Modulation + + Selected graph - Ausgewählter Graph + lmms::WaveShaperControls + Input gain - Eingangsverstärkung + + Output gain - Ausgabeverstärkung + lmms::Xpressive + Selected graph - Ausgewählter Graph + + A1 - A1 + + A2 - A2 + + A3 - A3 + + W1 smoothing - W1-Glättung + + W2 smoothing - W2-Glättung + + W3 smoothing - W3-Glättung + + Panning 1 - Balance 1 + + Panning 2 - Balance 2 + + Rel trans - Rel.-Überg. + lmms::ZynAddSubFxInstrument + Portamento - Portamento - - - Filter Frequency - Filterfrequenz - - - Filter Resonance - Filterresonanz - - - Bandwidth - Bandbreite - - - FM Gain - FM-Verstärkung - - - Resonance Center Frequency - Zentrale Resonanzfrequenz - - - Resonance Bandwidth - Resonanzbandbreite - - - Forward MIDI Control Change Events - MIDI-Control-Change-Ereignisse weiterleiten + + Filter frequency - Filterfrequenz + + Filter resonance - Filterresonanz + + + Bandwidth + + + + FM gain - FM-Verstärkung + + Resonance center frequency - Zentrale Resonanzfrequenz + + Resonance bandwidth - Resonanzbandbreite + + Forward MIDI control change events - MIDI-Steuerungsänderungs-Ereignisse weiterleiten + lmms::graphModel + Graph - Graph + lmms::gui::AmplifierControlDialog + VOL - Lautstärke - LAU + + Volume: - Lautstärke: + + PAN - Balance - BAL + + Panning: - Balance: + + LEFT - LINKS + + Left gain: - Linke Verstärkung: + + RIGHT - RECHTS + + Right gain: - Rechte Verstärkung: + lmms::gui::AudioAlsaSetupWidget - DEVICE - GERÄT - - - CHANNELS - KANÄLE - - + Device - Gerät + + Channels - Kanäle + lmms::gui::AudioFileProcessorView - Open other sample - Anderes Sample öffnen - - - Click here, if you want to open another audio-file. A dialog will appear where you can select your file. Settings like looping-mode, start and end-points, amplify-value, and so on are not reset. So, it may not sound like the original sample. - Klicken Sie hier, um eine andere Audio-Datei zu öffnen. Danach erscheint ein Dialog, in dem Sie Ihre Datei wählen können. Einstellungen wie Wiederhol-Modus, Start- und Endpunkt sowie Verstärkung werden nicht zurückgesetzt, weshalb die Datei möglicherweise nicht wie das Original klingt. - - - Reverse sample - Sample umkehren - - - If you enable this button, the whole sample is reversed. This is useful for cool effects, e.g. a reversed crash. - Wenn Sie diesen Knopf aktivieren, wird das gesamte Sample umgekehrt. Das kann nützlich für coole Effekte sein, wie z.B. ein umgekehrter Crash. - - - Amplify: - Verstärkung: - - - With this knob you can set the amplify ratio. When you set a value of 100% your sample isn't changed. Otherwise it will be amplified up or down (your actual sample-file isn't touched!) - Mit diesem Regler können Sie die Verstärkungsrate festlegen. Wenn Sie einen Wert von 100 % setzen, wird das Sample nicht geändert. Ansonsten wird es hoch oder runter verstärkt (Ihre Audio-Datei wird dabei nicht verändert!) - - - Startpoint: - Startpunkt: - - - Endpoint: - Endpunkt: - - - Continue sample playback across notes - Samplewiedergabe über Noten hinweg fortsetzen - - - Enabling this option makes the sample continue playing across different notes - if you change pitch, or the note length stops before the end of the sample, then the next note played will continue where it left off. To reset the playback to the start of the sample, insert a note at the bottom of the keyboard (< 20 Hz) - Wenn Sie diese Option aktivieren, wird das Sample über verschiedene Noten weitergespielt. Wenn Sie die Tonhöhe ändern oder die Note endet, bevor das Ende des Samples erreicht ist, dann fängt die nächste Note da an, wo aufgehört wurde. Um die Wiedergabe an den Anfang des Samples zurückzusetzen, fügen Sie eine Note am unteren Ende des Keyboards ein (< 20Hz) - - - Disable loop - Schleife deaktivieren - - - This button disables looping. The sample plays only once from start to end. - Dieser Knopf deaktiviert die Schleife. Das Sample wird nur einmal vom Anfang bis zum Ende wiedergegeben. - - - Enable loop - Schleife aktivieren - - - This button enables forwards-looping. The sample loops between the end point and the loop point. - Dieser Knopf aktiviert die Vorwärtsschleife. Das Sample wird zwischen dem Endpunkt und dem Schleifenpunkt wiederholt. - - - This button enables ping-pong-looping. The sample loops backwards and forwards between the end point and the loop point. - Dieser Knopf aktiviert die Ping-Pong-Schleife. Das Sample wird zwischen dem Endpunkt und dem Schleifenpunkt rückwärts und vorwärts wiederholt. - - - With this knob you can set the point where AudioFileProcessor should begin playing your sample. - Mit diesem Regler können Sie festlegen, wo AudioFileProcessor anfangen soll, Ihr Sample zu spielen. - - - With this knob you can set the point where AudioFileProcessor should stop playing your sample. - Mit diesem Regler können Sie festlegen, wo AudioFileProcessor aufhören soll, Ihr Sample zu spielen. - - - Loopback point: - Schleifenrückkehrpunkt: - - - With this knob you can set the point where the loop starts. - Mit diesem Regler können Sie festlegen, wo die Schleife beginnt. - - + Open sample - Sample öffnen + + + Reverse sample + + + + + Disable loop + + + + + Enable loop + + + + Enable ping-pong loop - Ping-Pong-Schleife aktivieren + + + Continue sample playback across notes + + + + + Amplify: + + + + Start point: - Startpunkt: + + End point: - Endpunkt: + + + + + Loopback point: + lmms::gui::AudioFileProcessorWaveView + Sample length: - Samplelänge: + lmms::gui::AutomationClipView + Open in Automation editor - Im Automations-Editor öffnen + + Clear - Leeren + + Reset name - Name zurücksetzen + + Change name - Name ändern + + Set/clear record - Aufnahme setzen/löschen + + Flip Vertically (Visible) - Vertikal spiegeln (Sichtbar) + + Flip Horizontally (Visible) - Horizontal spiegeln (Sichtbar) + + %1 Connections - %1 Verbindungen + + Disconnect "%1" - »%1« trennen + + Model is already connected to this clip. - Modell ist bereits mit diesem Clip verbunden. + lmms::gui::AutomationEditor + Edit Value - Wert bearbeiten + + New outValue - Neuer outValue + + New inValue - Neuer inValue + + Please open an automation clip by double-clicking on it! - Bitte öffnen Sie einen Automations-Clip, indem Sie ihn doppelklicken! + lmms::gui::AutomationEditorWindow - Play/pause current pattern (Space) - Aktuelles Pattern abspielen/pausieren (Leertaste) - - - Click here if you want to play the current pattern. This is useful while editing it. The pattern is automatically looped when the end is reached. - Klicken Sie hier, wenn Sie das aktuelle Pattern spielen wollen. Das ist nützlich beim Bearbeiten. Das Pattern wird automatisch wiederholt, wenn das Ende erreicht ist. - - - Stop playing of current pattern (Space) - Abspielen des aktuellen Patterns stoppen (Leertaste) - - - Click here if you want to stop playing of the current pattern. - Klicken Sie hier, wenn Sie das Abspielen des aktuellen Patterns stoppen wollen. - - - Draw mode (Shift+D) - Zeichnenmodus (Umschalt+D) - - - Erase mode (Shift+E) - Radiermodus (Umschalt+E) - - - Flip vertically - Vertikal spiegeln - - - Flip horizontally - Horizontal spiegeln - - - Click here and the pattern will be inverted.The points are flipped in the y direction. - Klicken Sie hier und das Pattern wird invertiert. Die Punkte werden in Y-Richtung umgekehrt. - - - Click here and the pattern will be reversed. The points are flipped in the x direction. - Klicken Sie hier und das Pattern wird umgekehrt. Die Punkte werden in X-Richtung umgekehrt. - - - Click here and draw-mode will be activated. In this mode you can add and move single values. This is the default mode which is used most of the time. You can also press 'Shift+D' on your keyboard to activate this mode. - Klicken Sie hier, um den Zeichnenmodus zu aktivieren. In diesem Modus können Sie einzelne Werte hinzufügen und verschieben. Das ist der Standard-Modus, der meistens benutzt wird. Sie können auch »Umschalt+D« auf Ihrer Tastatur drücken, um in diesen Modus zu gelangen. - - - Click here and erase-mode will be activated. In this mode you can erase single values. You can also press 'Shift+E' on your keyboard to activate this mode. - Klicken Sie hier, um den Radiermodus zu aktivieren. In diesem Modus können Sie einzelne Werte löschen. Sie können auch »Umschalt+E« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. - - - Discrete progression - Diskretes Fortschreiten - - - Linear progression - Lineares Fortschreiten - - - Cubic Hermite progression - Benannt nach Charles Hermit - Kubisch hermitesches Fortschreiten - - - Tension value for spline - Spannungswert für Spline - - - A higher tension value may make a smoother curve but overshoot some values. A low tension value will cause the slope of the curve to level off at each control point. - Ein höherer Spannungswert erzeugt vielleicht eine glattere Kurve aber neigt zum Überschwingen. Ein niederer Spannungswert wird die Kurve über jeden Kontrollpunkt legen. - - - Click here to choose discrete progressions for this automation pattern. The value of the connected object will remain constant between control points and be set immediately to the new value when each control point is reached. - Klicken Sie hier, um diskretes Fortschreiten als Automationsmuster auszuwählen. Der Wert des verbundenen Objekts bleibt konstant zwischen den Kontrollpunkten und wird sofort auf den neuen Wert gesetzt, wenn ein Kontrollpunkt erreicht wird. - - - Click here to choose linear progressions for this automation pattern. The value of the connected object will change at a steady rate over time between control points to reach the correct value at each control point without a sudden change. - Klicken Sie hier, um lineares Fortschreiten als Automationsmuster auszuwählen. Der Wert des verbundenen Objekts wird über die Zeit kontinuierlich zwischen Kontrollpunkten auf den korrekten Wert am jeweiligen Kontrollpunkt geändert, ohne plötzliche Änderungen. - - - Click here to choose cubic hermite progressions for this automation pattern. The value of the connected object will change in a smooth curve and ease in to the peaks and valleys. - Ja, es heißt wirklich »hermitisch«, nicht »hermetisch«. Es ist benannt nach Charles Hermit. - Klicken Sie hier, um kubisch hermitisches Fortschreiten als Automationsmuster auszuwählen. Der Wert des verbundenen Objekts wird in einer nahtlosen Kurve geändert und in Spitzen und Täler übergehen. - - - Cut selected values (%1+X) - Ausgewählte Werte ausschneiden (%1+X) - - - Copy selected values (%1+C) - Ausgewählte Werte kopieren (%1+C) - - - Paste values from clipboard (%1+V) - Werte aus Zwischenablage einfügen (%1+V) - - - Click here and selected values will be cut into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. - Klicken Sie hier, um die markierten Werte auszuschneiden und in die Zwischenablage zu kopieren. Sie können diese dann überall, auch in einem anderen Pattern, wieder einfügen, indem Sie auf den Einfügen-Knopf klicken. - - - Click here and selected values will be copied into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. - Klicken Sie hier, um die markierten Werte in die Zwischenablage zu kopieren. Sie können diese dann überall, auch in einem anderen Pattern, wieder einfügen, indem Sie auf den Einfügen-Knopf klicken. - - - Click here and the values from the clipboard will be pasted at the first visible measure. - Klicken Sie hier, um die Werte in der Zwischenablage im ersten sichtbaren Takt einzufügen. - - - Tension: - Spannung: - - - Automation Editor - no pattern - Automations-Editor – Kein Pattern - - - Automation Editor - %1 - Automations-Editor – %1 - - - Edit actions - Aktionen bearbeiten - - - Interpolation controls - Interpolationsregler - - - Timeline controls - Zeitachsensteuerung - - - Zoom controls - Zoom-Regler - - - Quantization controls - Quantisierungssteuerung - - - Model is already connected to this pattern. - Modell ist bereits mit diesem Pattern verbunden. - - + Play/pause current clip (Space) - Aktuellen Clip abspielen/pausieren (Leertaste) + + Stop playing of current clip (Space) - Wiedergabe des aktuellen Clips stoppen (Leertaste) + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + Draw outValues mode (Shift+C) - outValues-Zeichnen-Modus (Umschalt+C) + + Edit tangents mode (Shift+T) - Tangenten-Bearbeiten-Modus (Umschalt+T) + + + Flip vertically + + + + + Flip horizontally + + + + + Interpolation controls + + + + + Discrete progression + + + + + Linear progression + + + + + Cubic Hermite progression + + + + + Tension value for spline + + + + + Tension: + + + + + Zoom controls + + + + Horizontal zooming - Horizontales zoomen + + Vertical zooming - Vertikales zoomen + + + Quantization controls + + + + Quantization - Quantisierung + + Clear ghost notes - Geistnoten leeren + + + Automation Editor - no clip - Automations-Editor – kein Clip + + + + Automation Editor - %1 + + + + Model is already connected to this clip. - Modell ist bereits mit diesem Clip verbunden. + lmms::gui::BassBoosterControlDialog + FREQ - FREQ + + Frequency: - Frequenz: + + GAIN - Verstärkung - VRST + + Gain: - Verstärkung: + + RATIO - Verhältnis - VERHÄ + + Ratio: - Verhältnis: + lmms::gui::BitInvaderView - Sample Length - Sample-Länge - - - Sine wave - Sinuswelle - - - Triangle wave - Dreieckwelle - - - Saw wave - Sägezahnwelle - - - Square wave - Rechteckwelle - - - White noise wave - Weißes Rauschen - - - User defined wave - Benutzerdefinierte Welle - - - Smooth - Glätten - - - Click here to smooth waveform. - Klicken Sie hier, um die Wellenform zu glätten. - - - Interpolation - Interpolation - - - Normalize - Normalisieren - - - Draw your own waveform here by dragging your mouse on this graph. - Zeichnen Sie eigene Wellenformen, indem Sie die Maus über den Graph ziehen. - - - Click for a sine-wave. - Klick für eine Sinuswelle. - - - Click here for a triangle-wave. - Klick für eine Dreieckwelle. - - - Click here for a saw-wave. - Klick für eine Sägezahnwelle. - - - Click here for a square-wave. - Klick für eine Rechteckwelle. - - - Click here for white-noise. - Klick für weißes Rauschen. - - - Click here for a user-defined shape. - Klick für eine benutzerdefinierte Wellenform. - - + Sample length - Samplelänge + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + + Sine wave + + + + + + Triangle wave + + + + + + Saw wave + + + + + + Square wave + + + + + White noise - Weißes Rauschen + + + User-defined wave - Benutzerdefinierte Welle + + + Smooth waveform - Wellenform glätten + + + + + Interpolation + + + + + Normalize + lmms::gui::BitcrushControlDialog + IN - EIN + + OUT - AUS + + + GAIN - Verstärkung - VRST - - - Input Gain: - Eingangsverstärkung: - - - NOIS - Rauschen - RSCH - - - Input Noise: - Eingangsrauschen: - - - Output Gain: - Ausgabeverstärkung: - - - CLIP - CLIP - - - Output Clip: - Ausgang begrenzen (clipping): - - - Rate - Rate - - - Rate Enabled - Rate aktiviert - - - Enable samplerate-crushing - Sampleraten-Crushing aktivieren - - - Depth - Tiefe - - - Depth Enabled - Tiefe eingeschaltet - - - Enable bitdepth-crushing - Bittiefen-Crushing aktivieren - - - Sample rate: - Sample-Rate: - - - STD - Stereo-Unterschied - STU - - - Stereo difference: - Stereo-Unterschied: - - - Levels - Stärke - - - Levels: - Stärke: + + Input gain: - Eingangsverstärkung: + + NOISE - Rauschen - RAUSC + + Input noise: - Eingangsrauschen: + + Output gain: - Ausgabeverstärkung: + + + CLIP + + + + Output clip: - Ausgang begrenzen (clipping): + + Rate enabled - Rate aktiviert + + Enable sample-rate crushing - Sampleraten-Crushing aktivieren + + Depth enabled - Tiefe aktiviert + + Enable bit-depth crushing - Bittiefen-Crushing aktivieren + + FREQ - FREQ + + + Sample rate: + + + + STEREO - STEREO + + + Stereo difference: + + + + QUANT - QUANT + + + + + Levels: + lmms::gui::CPULoadWidget + DSP total: %1% - DSP gesamt: %1 % + + - Notes and setup: %1% - - Noten und Einrichtung: %1 % + + - Instruments: %1% - - Instrumente: %1 % + + - Effects: %1% - - Effekte: %1 % + + - Mixing: %1% - - Mischen: %1 % + lmms::gui::CarlaInstrumentView + Show GUI - GUI anzeigen + + Click here to show or hide the graphical user interface (GUI) of Carla. - Klicken Sie hier, um die grafische Oberfläche von Carla anzuzeigen bzw. auszublenden. + + Params - Parameter + + Available from Carla version 2.1 and up. - Verfügbar ab Carla Version 2.1 aufwärts. + lmms::gui::CarlaParamsView + Search.. - Suchen … + + Clear filter text - Filtertext leeren + + Only show knobs with a connection. - Nur Regler mit einer Verbindng anzeigen. + + - Parameters - - Parameter + lmms::gui::ClipView + Current position - Aktuelle Position + + Current length - Aktuelle Länge + + + %1:%2 (%3:%4 to %5:%6) - %1:%2 (%3:%4 bis %5:%6) + + Press <%1> and drag to make a copy. - <%1> drücken und ziehen, um eine Kopie zu erstellen. + + Press <%1> for free resizing. - <%1> drücken für freie Größenänderung. + + Hint - Tipp + + Delete (middle mousebutton) - Löschen (mittlere Maustaste) + + Delete selection (middle mousebutton) - Auswahl löschen (mittlere Maustaste) + + Cut - Ausschneiden + + Cut selection - Auswahl ausschneiden + + Merge Selection - Auswahl zusammenführen + + Copy - Kopieren + + Copy selection - Auswahl kopieren + + Paste - Einfügen + + Mute/unmute (<%1> + middle click) - Stumm/Laut schalten (<%1> + Mittelklick) + + Mute/unmute selection (<%1> + middle click) - Auswahl stummschalten / Stummschaltung aufheben (<%1> + Mittelklick) + + Clip color - Clip-Farbe + + Change - Ändern + + Reset - Zurücksetzen + + Pick random - Zufällig wählen + lmms::gui::CompressorControlDialog + Threshold: - Schwellwert: + + Volume at which the compression begins to take place - Lautstärke, bei der die Kompression anfängt + + Ratio: - Verhältnis: + + How far the compressor must turn the volume down after crossing the threshold - Wie weit der Kompressor die Lautstärke verringern nach Überschreiten des Schwellwert verringern muss + + Attack: - Anschwellzeit (attack): + + Speed at which the compressor starts to compress the audio - Geschwindigkeit, bei welcher der Kompressor anfängt, das Audio zu komprimieren + + Release: - Ausklingzeit (release): + + Speed at which the compressor ceases to compress the audio - Geschwindigkeit, mit der der Kompressor aufhört, das Audio zu komprimieren + + Knee: - Knee: + + Smooth out the gain reduction curve around the threshold - Die Verstärkungsreduktionskurve um den Schwellwert herum glätten + + Range: - Bereich: + + Maximum gain reduction - Maximale Verstärkungsreduktion + + Lookahead Length: - Lookahead-Länge: + + How long the compressor has to react to the sidechain signal ahead of time - Wie viel Zeit der Kompressor hat, um vorzeitig auf das Sidechain-Signal zu reagieren + + Hold: - Haltezeit (hold): + + Delay between attack and release stages - Verzögerung zwischen Attack- und Release + + RMS Size: - RMS-Größe: + + Size of the RMS buffer - Größe des RMS-Puffers + + Input Balance: - Eingangsbalance: + + Bias the input audio to the left/right or mid/side - + + Output Balance: - Ausgangsbalance: + + Bias the output audio to the left/right or mid/side - + + Stereo Balance: - Stereobalance: + + Bias the sidechain signal to the left/right or mid/side - + + Stereo Link Blend: - Stereoverknüpfungsüberblendung: + + Blend between unlinked/maximum/average/minimum stereo linking modes - Zwischen den Stereoverknüpfungsmodi Unverknüpft/Maximum/Durchschnitt/Minimum überblenden + + Tilt Gain: - + + Bias the sidechain signal to the low or high frequencies. -6 db is lowpass, 6 db is highpass. - + + Tilt Frequency: - + + Center frequency of sidechain tilt filter - + + Mix: - Mischen: + + Balance between wet and dry signals - Balance zwischen Wet- und Dry-Signalen + + Auto Attack: - Auto-Attack: + + Automatically control attack value depending on crest factor - + + Auto Release: - Auto-Release: + + Automatically control release value depending on crest factor - + + Output gain - Ausgabeverstärkung + + + Gain - Verstärkung + + Output volume - Ausgangslautstärke + + Input gain - Eingangsverstärkung + + Input volume - Eingangslautstärke + + Root Mean Square - Quadratmittel (RMS) + + Use RMS of the input - RMS des Eingangs benutzen + + Peak - Peak + + Use absolute value of the input - Absolutwert des Eingangs benutzen + + Left/Right - Links/Rechts + + Compress left and right audio - Linkes und rechtes Audio komprimieren + + Mid/Side - Mid/Größe + + Compress mid and side audio - + + Compressor - Kompressor + + Compress the audio - Audio komprimieren + + Limiter - Begrenzer + + Set Ratio to infinity (is not guaranteed to limit audio volume) - Verhältnis auf unendlich setzen (es ist nicht garantiert, dass die Audiolautstärke begrenzt wird) + + Unlinked - Unverknüpft + + Compress each channel separately - Jeden Kanal separat komprimieren + + Maximum - Maximum + + Compress based on the loudest channel - Basierend auf dem lautesten Kanal komprimieren + + Average - Durchschnitt + + Compress based on the averaged channel volume - Basierend auf der durchschnittlichen Kanallautstärke komprimieren + + Minimum - Minimum + + Compress based on the quietest channel - Basierend auf dem leisesten Kanal komprimieren + + Blend - Überblenden + + Blend between stereo linking modes - Zwischen den Stereoverknüpfungsmodi überblenden + + Auto Makeup Gain - Auto-Makeup-Verstärkung + + Automatically change makeup gain depending on threshold, knee, and ratio settings - + + + Soft Clip - + + Play the delta signal - Das Deltasignal abspielen + + Use the compressor's output as the sidechain input - Den Ausgang des Kompressors als den Sidechain-Eingang benutzen + + Lookahead Enabled - Lookahead aktiviert + + Enable Lookahead, which introduces 20 milliseconds of latency - Lookahead aktivieren, was eine Latenz von 20 Millisekunden hinzufügt + lmms::gui::ControllerConnectionDialog + Connection Settings - Verbindungseinstellungen + + MIDI CONTROLLER - MIDI-CONTROLLER + + Input channel - Eingangskanal + + CHANNEL - KANAL + + Input controller - Eingangscontroller + + CONTROLLER - CONTROLLER + + + Auto Detect - Automatische Erkennung + + MIDI-devices to receive MIDI-events from - MIDI-Geräte, von denen MIDI-Events empfangen werden sollen + + USER CONTROLLER - BENUTZERDEFINIERTER CONTROLLER + + MAPPING FUNCTION - ABBILDUNGSFUNKTION + + OK - OK + + Cancel - Abbrechen + + LMMS - LMMS + + Cycle Detected. - Schleife erkannt. + lmms::gui::ControllerRackView + Controller Rack - Controller-Einheit + + Add - Hinzufügen + + Confirm Delete - Löschen bestätigen + + Confirm delete? There are existing connection(s) associated with this controller. There is no way to undo. - Löschen bestätigen? Es gibt eine oder mehrere existierende Verbindungen, die mit diesem Controller assoziiert sind. Das kann nicht rückgängig gemacht werden. + lmms::gui::ControllerView + Controls - Steuerung + + Rename controller - Controller umbenennen + + Enter the new name for this controller - Geben Sie einen neuen Namen für diesen Controller ein + + LFO - LFO + + Move &up - Nach &oben verschieben + + Move &down - Nach &unten verschieben + + &Remove this controller - Diesen Controller &entfernen + + Re&name this controller - Diesen Controller umbe&nennen + lmms::gui::CrossoverEQControlDialog - Band 1/2 Crossover: - Band 1/2 Crossover: - - - Band 2/3 Crossover: - Band 2/3 Crossover: - - - Band 3/4 Crossover: - Band 3/4 Crossover: - - - Band 1 Gain: - Band 1 Verstärkung: - - - Band 2 Gain: - Band 2 Verstärkung: - - - Band 3 Gain: - Band 3 Verstärkung: - - - Band 4 Gain: - Band 4 Verstärkung: - - - Band 1 Mute - Band 1 stumm - - - Mute Band 1 - Band 1 stumm - - - Band 2 Mute - Band 2 stumm - - - Mute Band 2 - Band 2 stumm - - - Band 3 Mute - Band 3 stumm - - - Mute Band 3 - Band 3 stumm - - - Band 4 Mute - Band 4 stumm - - - Mute Band 4 - Band 4 stumm - - + Band 1/2 crossover: - Band-1/2-Crossover: + + Band 2/3 crossover: - Band-2/3-Crossover: + + Band 3/4 crossover: - Band-3/4-Crossover: + + Band 1 gain - Band-1-Verstärkung + + Band 1 gain: - Band-1-Verstärkung: + + Band 2 gain - Band-2-Verstärkung + + Band 2 gain: - Band-2-Verstärkung: + + Band 3 gain - Band-3-Verstärkung: + + Band 3 gain: - Band-3-Verstärkung: + + Band 4 gain - Band-4-Verstärkung + + Band 4 gain: - Band-4-Verstärkung: + + Band 1 mute - Band 1 stumm + + Mute band 1 - Band 1 stumm + + Band 2 mute - Band 2 stumm + + Mute band 2 - Band 2 stumm + + Band 3 mute - Band 3 stumm + + Mute band 3 - Band 3 stumm + + Band 4 mute - Band 4 stumm + + Mute band 4 - Band 4 stumm + lmms::gui::DelayControlsDialog - Lfo Amt - LFO-Stärke - - - Delay Time - Verzögerungszeit - - - Feedback Amount - Rückkopplungsstärke - - - Lfo - LFO - - - Out Gain - Aus-Verst. - - - Gain - Verstärkung - - + DELAY - Verzögerung - VERZÖ - - - FDBK - Rückkopplung - RÜKO - - - RATE - RATE - - - AMNT - Stärke - STÄ + + Delay time - Verzögerungszeit + + + FDBK + + + + Feedback amount - Rückkopplungsstärke + + + RATE + + + + LFO frequency - LFO-Frequenz + + + AMNT + + + + LFO amount - LFO-Stärke + + Out gain - Aus-Verst. + + + + + Gain + lmms::gui::DispersionControlDialog + AMOUNT - STÄRKE + + Number of all-pass filters - Anzahl der Allpassfilter + + FREQ - FREQ + + Frequency: - Frequenz: + + RESO - RESO + + Resonance: - Resonanz: + + FEED - RÜKO + + Feedback: - Rückkopplung: + + DC Offset Removal - DC-Offset-Entfernung + + Remove DC Offset - DC-Offset entfernen + lmms::gui::DualFilterControlDialog - Filter 1 enabled - Filter 1 aktiviert - - - Filter 2 enabled - Filter 2 aktiviert - - - Click to enable/disable Filter 1 - Klicken, um Filter 1 zu aktivieren/deaktivieren - - - Click to enable/disable Filter 2 - Klicken, um Filter 2 zu aktivieren/deaktivieren - - + + FREQ - FREQ + + + Cutoff frequency - Kennfrequenz + + + RESO - RESO + + + Resonance - Resonanz + + + GAIN - Verstärkung - VRST + + + Gain - Verstärkung + + MIX - MIX + + Mix - Mischung + + + Filter 1 enabled + + + + + Filter 2 enabled + + + + Enable/disable filter 1 - Filter 1 aktivieren/deaktivieren + + Enable/disable filter 2 - Filter 2 aktivieren/deaktivieren + lmms::gui::DynProcControlDialog + INPUT - EING + + Input gain: - Eingangsverstärkung: + + OUTPUT - AUSG + + Output gain: - Ausgabeverstärkung: + + ATTACK - ATTACK + + Peak attack time: - Spitzen-Anschwellzeit: + + RELEASE - RELEASE + + Peak release time: - Spitzen-Ausklingzeit: - - - Reset waveform - Wellenform zurücksetzen - - - Click here to reset the wavegraph back to default - Klicken Sie hier, um den Wellengraph zum Standard zurückzusetzen - - - Smooth waveform - Wellenform glätten - - - Click here to apply smoothing to wavegraph - Klicken Sie hier, um den Wellengraph zu glätten - - - Increase wavegraph amplitude by 1dB - Die Amplitude des Wellengraphs um 1dB erhöhen - - - Click here to increase wavegraph amplitude by 1dB - Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu erhöhen - - - Decrease wavegraph amplitude by 1dB - Die Amplitude des Wellengraphs um 1dB vermindern - - - Click here to decrease wavegraph amplitude by 1dB - Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu vermindern - - - Stereomode Maximum - Stereomodus Maximum - - - Process based on the maximum of both stereo channels - Basierend auf dem Maximum beider Stereokanäle verarbeiten - - - Stereomode Average - Stereomodus Durchschnitt - - - Process based on the average of both stereo channels - Basierend auf dem Durchschnitt beider Stereokanäle verarbeiten - - - Stereomode Unlinked - Stereomodus Unverknüpft - - - Process each stereo channel independently - Jeden Stereokanal unabhängig verarbeiten + + + Reset wavegraph - Wellenform zurücksetzen + + + Smooth wavegraph - Wellenform glätten + + + Increase wavegraph amplitude by 1 dB - Die Amplitude des Wellengraphs um 1dB erhöhen + + + Decrease wavegraph amplitude by 1 dB - Die Amplitude des Wellengraphs um 1dB vermindern + + Stereo mode: maximum - Stereomodus: maximum + + + Process based on the maximum of both stereo channels + + + + Stereo mode: average - Stereomodus: Durchschnitt + + + Process based on the average of both stereo channels + + + + Stereo mode: unlinked - Stereomodus: unverknüpft - - - - lmms::gui::DynProcControls - - Input gain - Eingangsverstärkung + - Output gain - Ausgabeverstärkung - - - Attack time - Anschwellzeit - - - Release time - Ausklingzeit - - - Stereo mode - Stereomodus + + Process each stereo channel independently + lmms::gui::Editor - Play (Space) - Abspielen (Leertaste) - - - Stop (Space) - Stopp (Leertaste) - - - Record - Aufnahme - - - Record while playing - Aufnahme beim Abspielen - - + Transport controls - Transportsteuerung + + + Play (Space) + + + + + Stop (Space) + + + + + Record + + + + + Record while playing + + + + Toggle Step Recording - Schrittaufnahme umschalten + lmms::gui::EffectRackView + EFFECTS CHAIN - EFFEKT-KETTE + + Add effect - Effekt hinzufügen + lmms::gui::EffectSelectDialog + Add effect - Effekt hinzufügen + + + Name - Name + + Type - Typ + + All - Alle + + Search - Suchen + + Description - Beschreibung + + Author - Autor + lmms::gui::EffectView + On/Off - Ein/Aus + + W/D - W/D + + Wet Level: - Wet-Level: + + DECAY - DECAY + + Time: - Zeit: + + GATE - GATE + + Gate: - Gate: + + Controls - Regler + + Move &up - Nach &oben verschieben + + Move &down - Nach &unten verschieben + + &Remove this plugin - Plugin entfe&rnen + lmms::gui::EnvelopeAndLfoView + + AMT - INT + + + Modulation amount: - Modulationsintensität: + + + DEL - DEL + + + Pre-delay: - Vorverzögerung: + + + ATT - ATT + + + Attack: - Anschwellzeit (attack): + + HOLD - HOLD + + Hold: - Haltezeit (hold): + + DEC - DEC + + Decay: - Abfallzeit (decay): + + SUST - SUST + + Sustain: - Dauerpegel (sustain): + + REL - REL + + Release: - Ausklingzeit (release): + + SPD - GSW + + Frequency: - Frequenz: + + FREQ x 100 - FREQ ×100 + + Multiply LFO frequency by 100 - LFO-Frequenz mit 100 multiplizieren + + MOD ENV AMOUNT - HÜLLK.INT. MOD. + + Control envelope amount by this LFO - Hüllkurvenintensität mit dieser LFO steuern + + Hint - Tipp + + Drag and drop a sample into this window. - Ziehen und legen Sie ein Sample in diesem Fenster ab. + lmms::gui::EnvelopeGraph + Scaling - Skalierung + + Dynamic - Dynamisch + + Uses absolute spacings but switches to relative spacing if it's running out of space - Benutzt absolute Abstände aber wechselt zu relativen Abständen, wenn kein Platz mehr da ist + + Absolute - Absolut + + Provides enough potential space for each segment but does not scale - Bietet genug potentiellen Platz für jedes Segment, aber skaliert nicht + + Relative - Relativ + + Always uses all of the available space to display the envelope graph - Benutzt immer den gesamten verfügbaren Platz, um den Hüllkurvengraphen anzuzeigen + lmms::gui::EqControlsDialog + HP - HP - - - Low Shelf - Low Shelf - - - Peak 1 - Peak 1 - - - Peak 2 - Peak 2 - - - Peak 3 - Peak 3 - - - Peak 4 - Peak 4 - - - High Shelf - High Shelf - - - LP - Tiefpass - TP - - - In Gain - Ein-Verst. - - - Gain - Verstärkung - - - Out Gain - Aus-Verst. - - - Bandwidth: - Bandbreite: - - - Resonance : - Resonanz: - - - Frequency: - Frequenz: - - - Octave - Oktave + + Low-shelf - + + + Peak 1 + + + + + Peak 2 + + + + + Peak 3 + + + + + Peak 4 + + + + High-shelf - + + + LP + + + + Input gain - Eingangsverstärkung + + + + + Gain + + + + Output gain - Ausgabeverstärkung + + + Bandwidth: + + + + + Octave + + + + Resonance: - Resonanz: + + + Frequency: + + + + LP group - TP-Gruppe + + HP group - HP-Gruppe + lmms::gui::EqHandle + Reso: - Reso: + + BW: - Bandbreite - BB: + + + Freq: - Freq: + lmms::gui::ExportProjectDialog + Could not open file - Konnte Datei nicht öffnen + + Could not open file %1 for writing. Please make sure you have write permission to the file and the directory containing the file and try again! - Datei %1 konnte nicht zum Schreiben geöffnet werden. -Bitte stellen Sie sicher, dass Sie Schreibrechte sowohl auf die Datei als auch das Verzeichnis, das sie enthält, haben, und versuchen Sie es erneut! + + Export project to %1 - Projekt nach %1 exportieren + + ( Fastest - biggest ) - ( Schnellstes – größtes ) + + ( Slowest - smallest ) - ( Langsamstes – kleinstes ) + + Error - Fehler + + Error while determining file-encoder device. Please try to choose a different output format. - Fehler beim Bestimmen des Datei-Enkoder-Geräts. Bitte wählen Sie ein anderes Ausgabeformat. + + Rendering: %1% - Rendern: %1 % + lmms::gui::Fader + Set value - Wert setzen + + Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + Volume: %1 dBFS - Lautstärke: %1 dBFS + lmms::gui::FileBrowser + Browser - Browser + + Search - Suchen + + Refresh list - Liste aktualisieren + + User content - Benutzerinhalt + + Factory content - Mitgelieferter Inhalt + + Hidden content - Versteckter Inhalt + lmms::gui::FileBrowserTreeWidget + Send to active instrument-track - An aktive Instrumentspur senden + + Open containing folder - Enthaltenden Ordner öffnen + + Song Editor - Song-Editor + + Pattern Editor - Pattern-Editor + + Send to new AudioFileProcessor instance - Zu neuer AudioFileProcessor-Instanz senden + + Send to new instrument track - Zu neuer Instrumentspur senden + + (%2Enter) - (%2Enter) + + Send to new sample track (Shift + Enter) - Zu neuer Sample-Spur senden (Umschalt + Enter) + + Loading sample - Sample laden + + Please wait, loading sample for preview... - Bitte warten, lade Sample für Vorschau … + + Error - Fehler + + %1 does not appear to be a valid %2 file - %1 scheint keine gültige »%2«-Datei zu sein + + --- Factory files --- - --- Mitgelieferte Dateien --- + lmms::gui::FileDialog + %1 files - %1-Dateien + + All audio files - Alle Audiodateien + + Other files - Andere Dateien + lmms::gui::FlangerControlsDialog - Delay Time: - Verzögerungszeit: - - - Feedback Amount: - Rückkopplungsstärke: - - - White Noise Amount: - Weißes-Rauschen-Stärke: - - + DELAY - Verzögerung - VERZÖ - - - RATE - RATE - - - Rate: - Rate: - - - AMNT - Stärke - STÄ - - - Amount: - Stärke: - - - FDBK - Rückkopplung - RÜKO - - - NOISE - Rauschen - RAUSC - - - Invert - Invertieren + + Delay time: - Verzögerungszeit: + + + RATE + + + + Period: - Periode: + + + AMNT + + + + + Amount: + + + + PHASE - PHASE + + Phase: - Phase: + + + FDBK + + + + Feedback amount: - Rückkopplungsstärke: + + + NOISE + + + + White noise amount: - Weißes-Rauschen-Stärke: + + + + + Invert + lmms::gui::FloatModelEditorBase + Set linear - Linear einstellen + + Set logarithmic - Logarithmisch einstellen + + + Set value - Wert setzen + + Please enter a new value between -96.0 dBFS and 6.0 dBFS: - Bitte geben Sie einen neuen Wert zwischen -96.0 dBFS und 6.0 dBFS: ein: + + Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + lmms::gui::FreeBoyInstrumentView + Sweep time: - Streichzeit: + + Sweep time - Streichzeit + + Sweep rate shift amount: - Streichstärkenratenschiebestärke: + + Sweep rate shift amount - Streichstärkenratenschiebestärke + + + Wave pattern duty cycle: - Wellenmustertastgradzyklus: + + + Wave pattern duty cycle - Wellenmustertastgradzyklus + + Square channel 1 volume: - Quadratkanal-1-Lautstärke: + + Square channel 1 volume - Quadratkanal-1-Lautstärke + + + + Length of each step in sweep: - Länge jedes Schritts beim Streichen: + + + + Length of each step in sweep - Länge jedes Schritts beim Streichen + + Square channel 2 volume: - Quadratkanal-2-Lautstärke: + + Square channel 2 volume - Quadratkanal-2-Lautstärke + + Wave pattern channel volume: - Wellenmusterkanallautstärke: + + Wave pattern channel volume - Wellenmusterkanallautstärke + + Noise channel volume: - Rauschkanal-Lautstärke: + + Noise channel volume - Rauschkanal-Lautstärke + + SO1 volume (Right): - SO1-Lautstärke (Rechts): + + SO1 volume (Right) - SO1-Lautstärke (Rechts) + + SO2 volume (Left): - SO2-Lautstärke (Links): + + SO2 volume (Left) - SO2-Lautstärke (Links) + + Treble: - Höhe: + + Treble - Höhe + + Bass: - Bass: + + Bass - Bass + + Sweep direction - Streichrichtung + + + + + + Volume sweep direction - Lautstärken-Streichrichtung + + Shift register width - Schieberegister-Breite + + Channel 1 to SO1 (Right) - Kanal 1 zu SO1 (Rechts) + + Channel 2 to SO1 (Right) - Kanal 2 zu SO1 (Rechts) + + Channel 3 to SO1 (Right) - Kanal 3 zu SO1 (Rechts) + + Channel 4 to SO1 (Right) - Kanal 4 zu SO1 (Rechts) + + Channel 1 to SO2 (Left) - Kanal 1 zu SO2 (Links) + + Channel 2 to SO2 (Left) - Kanal 2 zu SO2 (Links) + + Channel 3 to SO2 (Left) - Kanal 3 zu SO2 (Links) + + Channel 4 to SO2 (Left) - Kanal 4 zu SO2 (Links) + + Wave pattern graph - Wellenmustergraph + lmms::gui::GigInstrumentView - Open other GIG file - Andere GIG-Datei öffnen - - - Click here to open another GIG file - Hier klicken, um eine andere GIG-Datei zu öffnen - - - Choose the patch - Patch wählen - - - Click here to change which patch of the GIG file to use - Hier klicken, um zu ändern, welcher Patch der GIG-Datei verwendet werden soll - - - Change which instrument of the GIG file is being played - Ändern, welches Instrument der GIG-Datei abgespielt wird - - - Which GIG file is currently being used - Welche GIG-Datei aktuell benutzt wird - - - Which patch of the GIG file is currently being used - Welcher Patch der GIG-Datei aktuell benutzt wird - - - Gain - Verstärkung - - - Factor to multiply samples by - Faktor, mit dem Samples multipliziert werden - - + + Open GIG file - GIG-Datei öffnen - - - GIG Files (*.gig) - GIG-Dateien (*.gig) + + Choose patch - Patch wählen + + Gain: - Verstärkung: + + + + + GIG Files (*.gig) + lmms::gui::GranularPitchShifterControlDialog + Grain Size: - Korngröße: + + Spray: - + + Jitter: - + + Twitch: - + + Spray Stereo Spread: - + + Grain Shape: - Kornform: + + Fade Length: - + + Feedback: - Rückkopplung: + + Minimum Allowed Latency: - Minimale erlaubte Latenz: + + Density: - Dichte: + + Glide: - Gleiten: + + + Pitch - Tonhöhe + + + Pitch Stereo Spread - + + Open help window - Hilfefenster öffnen + + + Prefilter - Vorfilter + lmms::gui::GuiApplication + Working directory - Arbeitsverzeichnis + + The LMMS working directory %1 does not exist. Create it now? You can change the directory later via Edit -> Settings. - Das LMMS-Arbeitsverzeichnis %1 existiert nicht. Soll es jetzt erstellt werden? Sie können das Verzeichnis mit Bearbeiten -> Einstellungen ändern. + + Preparing UI - UI vorbereiten + + Preparing song editor - Song-Editor vorbereiten + + Preparing mixer - Mixer vorbereiten + + Preparing controller rack - Controller-Einheit vorbereiten + + Preparing project notes - Projektnotizen vorbereiten + + Preparing microtuner - Mikrotuner vorbereiten + + Preparing pattern editor - Pattern-Editor vorbereiten + + Preparing piano roll - Piano-Roll vorbereiten + + Preparing automation editor - Automations-Editor vorbereiten + lmms::gui::InstrumentFunctionArpeggioView + ARPEGGIO - ARPEGGIO + + RANGE - BEREI + + Arpeggio range: - Arpeggio-Bereich: + + octave(s) - Oktave(n) + + REP - WIE + + Note repeats: - Notenwiederholungen: + + time(s) - mal + + CYCLE - ZYKLUS + + Cycle notes: - Notenzyklus: + + note(s) - Note(n) + + SKIP - ÜBER + + Skip rate: - Übersprungsrate: + + + + % - % + + MISS - FEHL + + Miss rate: - Verfehlrate: + + TIME - ZEIT + + Arpeggio time: - Arpeggio-Zeit: + + ms - ms + + GATE - GATE + + Arpeggio gate: - Arpeggio-Gate: + + Chord: - Akkord: + + Direction: - Richtung: + + Mode: - Modus: + lmms::gui::InstrumentFunctionNoteStackingView + STACKING - STACKING + + Chord: - Akkord: + + RANGE - BEREI + + Chord range: - Akkord-Bereich: + + octave(s) - Oktave(n) + lmms::gui::InstrumentMidiIOView + ENABLE MIDI INPUT - MIDI-EINGANG AKTIVIEREN + + + CHAN This string must be be short, its width must be less than * width of LCD spin-box of two digits - KANA + + + VELOC This string must be be short, its width must be less than * width of LCD spin-box of three digits - LAUTS + + ENABLE MIDI OUTPUT - MIDI-AUSGANG AKTIVIEREN + + PROG This string must be be short, its width must be less than the * width of LCD spin-box of three digits - PROG + + NOTE This string must be be short, its width must be less than * width of LCD spin-box of three digits - NOTE + + MIDI devices to receive MIDI events from - MIDI-Geräte, von denen MIDI-Events empfangen werden sollen + + MIDI devices to send MIDI events to - MIDI-Geräte, an die MIDI-Events gesendet werden sollen + + VELOCITY MAPPING - LAUTSTÄRKEN-MAPPING + + MIDI VELOCITY - MIDI-LAUTSTÄRKE + + MIDI notes at this velocity correspond to 100% note velocity. - MIDI-Noten bei dieser Lautstärke entsprechen 100 % Notenlautstärke. + lmms::gui::InstrumentSoundShapingView + TARGET - ZIEL + + FILTER - FILTER + + FREQ - FREQ + + Cutoff frequency: - Kennfrequenz: + + Hz - Hz + + Q/RESO - Q/RESO + + Q/Resonance: - Q/Resonanz: + + Envelopes, LFOs and filters are not supported by the current instrument. - Hüllkurven, LFOs und Filter werden vom aktuellen Instrument nicht unterstützt. + lmms::gui::InstrumentTrackView + Mixer channel - Mischkanal + + Volume - Lautstärke + + Volume: - Lautstärke: + + VOL - LAU + + Panning - Balance + + Panning: - Balance: + + PAN - BAL + + MIDI - MIDI + + Input - Eingang + + Output - Ausgang + + Open/Close MIDI CC Rack - MIDI-CC-Rack öffnen/schließen + + %1: %2 - %1: %2 + lmms::gui::InstrumentTrackWindow + Volume - Lautstärke + + Volume: - Lautstärke: + + VOL - LAU + + Panning - Balance + + Panning: - Balance: + + PAN - BAL + + Pitch - Tonhöhe + + Pitch: - Tonhöhe: + + cents - Cent + + PITCH - HÖHE + + Pitch range (semitones) - Tonhöhenbereich (Halbtöne) + + RANGE - BEREI + + Mixer channel - Mischkanal + + CHANNEL - KANAL + + Save current instrument track settings in a preset file - Aktuelle Instrumentenspur-Einstellungen in einer Presetdatei speichern + + SAVE - SPEICHERN + + Envelope, filter & LFO - Hüllkurve, Filter u. LFO + + Chord stacking & arpeggio - Akkord-Stacking u. Arpeggio + + Effects - Effekte + + MIDI - MIDI + + Tuning and transposition - Tuning und Transponierung + + Save preset - Preset speichern + + XML preset file (*.xpf) - XML-Presetdatei (*.xpf) + + Plugin - Plugin + lmms::gui::InstrumentTuningView + GLOBAL TRANSPOSITION - GLOBALE TRANSPONIERUNG + + Enables the use of global transposition - Aktiviert die Verwendung der globalen Transponierung + + Microtuner is not available for MIDI-based instruments. - Der Mikrotuner ist für MIDI-basierte Instrumente nicht verfügbar. + + MICROTUNER - MIKROTUNER + + Active scale: - Aktive Tonleiter: + + + Edit scales and keymaps - Tonleitern und Keymaps bearbeiten + + Active keymap: - Aktive Keymap: + + Import note ranges from keymap - Notenbereiche aus Keymap importieren + + When enabled, the first, last and base notes of this instrument will be overwritten with values specified by the selected keymap. - Falls aktiviert, werden die erste Note, letzte Note und die Basisnote dieses Instruments mit Werten, die von der gewählten Keymap festgelegt wurden, überschrieben. + lmms::gui::KickerInstrumentView + Start frequency: - Startfrequenz: + + End frequency: - Endfrequenz: - - - Gain: - Verstärkung: - - - Frequency Slope: - Frequenzabfall: - - - Envelope Length: - Hüllkurvenlänge: - - - Envelope Slope: - Hüllkurvenneigung: - - - Click: - Klick: - - - Noise: - Rauschen: - - - Distortion Start: - Verzerrungsanfang: - - - Distortion End: - Verzerrungsende: + + Frequency slope: - Frequenzneigung: + + + Gain: + + + + Envelope length: - Hüllkurvenlänge: + + Envelope slope: - Hüllkurvenneigung: + + + Click: + + + + + Noise: + + + + Start distortion: - Startverzerrung: + + End distortion: - Endverzerrung: + lmms::gui::LOMMControlDialog + Depth: - Tiefe: + + Compression amount for all bands - Kompressionsstärke für alle Bänder + + Time: - Zeit: + + Attack/release scaling for all bands - Attack/-Release-Skalierung für alle Bänder + + Input Volume: - Eingangslautstärke: + + Input volume - Eingangslautstärke + + Output Volume: - Ausgangslautstärke: + + Output volume - Ausgangslautstärke + + Upward Depth: - Aufwärtstiefe: + + Upward compression amount for all bands - + + Downward Depth: - Abwärtstiefe: + + Downward compression amount for all bands - + + High/Mid Crossover - + + Mid/Low Crossover - + + High/mid band split - + + Mid/low band split - + + Enable High Band - Hochband aktivieren + + Enable Mid Band - Mittelband aktivieren + + Enable Low Band - Tiefband aktivieren + + High Input Volume: - + + Input volume for high band - + + Mid Input Volume: - + + Input volume for mid band - + + Low Input Volume: - + + Input volume for low band - + + High Output Volume: - + + Output volume for high band - + + Mid Output Volume: - + + Output volume for mid band - + + Low Output Volume: - + + Output volume for low band - + + Above Threshold High - + + Downward compression threshold for high band - + + Above Threshold Mid - + + Downward compression threshold for mid band - + + Above Threshold Low - + + Downward compression threshold for low band - + + Above Ratio High - + + Downward compression ratio for high band - + + Above Ratio Mid - + + Downward compression ratio for mid band - + + Above Ratio Low - + + Downward compression ratio for low band - + + Below Threshold High - + + Upward compression threshold for high band - + + Below Threshold Mid - + + Upward compression threshold for mid band - + + Below Threshold Low - + + Upward compression threshold for low band - + + Below Ratio High - + + Upward compression ratio for high band - + + Below Ratio Mid - + + Upward compression ratio for mid band - + + Below Ratio Low - + + Upward compression ratio for low band - + + Attack High: - + + Attack time for high band - + + Attack Mid: - + + Attack time for mid band - + + Attack Low: - + + Attack time for low band - + + Release High: - + + Release time for high band - + + Release Mid: - + + Release time for mid band - + + Release Low: - + + Release time for low band - + + RMS Time: - RMS-Zeit: + + RMS size for sidechain signal (set to 0 for Peak mode) - RMS-Größe für das Sidechain-Signal (auf 0 setzen für den Peak-Modus) + + Knee: - Knee: + + Knee size for all compressors - Knee-Größe für alle Kompressoren + + Range: - Bereich: + + Maximum gain increase for all bands - Maximale Verstärkungserhöhung für alle Bänder + + Balance: - Balance: + + Bias input volume towards one channel - + + Scale output volume with Depth - Ausgangslautstärke mit Tiefe skalieren + + Scale output volume with Depth parameter - Ausgangslautstärke mit Tiefenparameter skalieren + + Stereo Link - Stereoverknüpfung + + Apply same gain change to both channels - Die gleiche Verstärkungsänderung auf beide Kanäle anwenden + + Auto Time: - Autozeit: + + Speed up attack and release times when transients occur - Attack- und Release-Zeiten beschleunigen, wenn Übergänge passieren + + Mix: - Mischen: + + Wet/Dry of all bands - Wet/Dry aller Bänder + + Feedback - Rückkopplung + + Use output as sidechain signal instead of input - Ausgang als Sidechainsignal statt als Eingang benutzen + + Mid/Side - Mid/Größe + + Compress mid/side channels instead of left/right - + + + Suppress upward compression for side band - Aufwärtskompression für Seitenband unterdrücken + + + Lookahead - Lookahead + + Lookahead length - Lookahead-Länge + + Clear all parameters - Alle Parameter leeren + lmms::gui::LadspaBrowserView + + Available Effects - Verfügbare Effekte + + + Unavailable Effects - Nicht verfügbare Effekte + + + Instruments - Instrumente + + + Analysis Tools - Analysewerkzeuge + + + Don't know - Weiß nicht - - - This dialog displays information on all of the LADSPA plugins LMMS was able to locate. The plugins are divided into five categories based upon an interpretation of the port types and names. - -Available Effects are those that can be used by LMMS. In order for LMMS to be able to use an effect, it must, first and foremost, be an effect, which is to say, it has to have both input channels and output channels. LMMS identifies an input channel as an audio rate port containing 'in' in the name. Output channels are identified by the letters 'out'. Furthermore, the effect must have the same number of inputs and outputs and be real time capable. - -Unavailable Effects are those that were identified as effects, but either didn't have the same number of input and output channels or weren't real time capable. - -Instruments are plugins for which only output channels were identified. - -Analysis Tools are plugins for which only input channels were identified. - -Don't Knows are plugins for which no input or output channels were identified. - -Double clicking any of the plugins will bring up information on the ports. - Dieser Dialog zeigt Informationen zu allen LADSPA-Plugins an, die LMMS gefunden hat. Die Plugins werden in fünf Kategorien eingeteilt, basierend auf der Interpretation der Porttypen und Namen. - -Verfügbare Effekte sind die, die von LMMS benutzt werden können. Um in LMMS einen Effekt benutzen zu können, muss er vor allem ein Effekt sein, was bedeutet, dass er beides, Eingabe- und Ausgabekanäle, haben muss. LMMS identifiziert Eingabekanäle als einen Audioport, der »in« im Namen enthält. Ausgabekanäle werden durch die Buchstaben »out« identifizert. Des weiteren muss der Effekt die gleiche Anzahl an Ein- und Ausgängen besitzen und muss echtzeitfähig sein. - -Nicht verfügbare Effekte sind die, die als Effekt identifiziert wurden, aber entweder nicht die gleiche Anzahl an Ein- und Ausgabekanälen besizen oder nicht echtzeitfähig sind. - -Instrumente sind Plugins, für die nur Ausgabekanäle identifiziert wurden. - -Analysewerkzeuge sind Plugins, für die nur Eingabekanäle identifiziert wurden. - -»Weiß nicht« sind Plugins, für die kein Ein- oder Ausgabekanal identifiziert wurde. - -Doppelklicken auf eines der Plugins zeigt Informationen über die Ports an. + + Type: - Typ: + lmms::gui::LadspaControlDialog + Link Channels - Kanäle verknüpfen + + Channel - Kanal + lmms::gui::LadspaControlView + Link channels - Kanäle verknüpfen + + Value: - Wert: + lmms::gui::LadspaDescription + Plugins - Plugins + + Description - Beschreibung + + Name: - Name: + + Maker: - Hersteller: + + Copyright: - Copyright: + + Requires Real Time: - Benötigt Echtzeit: + + + + Yes - Ja + + + + No - Nein + + Real Time Capable: - Echtzeitfähig: + + In Place Broken: - In-Place kaputt: + + Channels In: - Eingangskanäle: + + Channels Out: - Ausgangskanäle: + lmms::gui::LadspaMatrixControlDialog + Link Channels - Kanäle verknüpfen + + Link - Verknüpfen + + Channel %1 - Kanal %1 + + Link channels - Kanäle verknüpfen + lmms::gui::LadspaPortDialog + Ports - Ports + + Name - Name + + Rate - Rate + + Direction - Richtung + + Type - Typ + + Min < Default < Max - Min < Standard < Max + + Logarithmic - Logarithmisch + + SR Dependent - SR-abhängig + + Audio - Audio + + Control - Steuerung + + Input - Eingang + + Output - Ausgang + + Toggled - Umgeschaltet + + Integer - Ganzahl + + Float - Kommazahl + + + Yes - Ja + lmms::gui::Lb302SynthView + Cutoff Freq: - Kennfrequenz: + + Resonance: - Resonanz: + + Env Mod: - Hüllkurven-Modulation: + + Decay: - Abfallzeit (decay): + + 303-es-que, 24dB/octave, 3 pole filter - 303-artiger 3-Pol-Filter mit 24 dB/Oktave + + Slide Decay: - Slide-Abfallzeit: + + DIST: - DIST: + + Saw wave - Sägezahnwelle + + Click here for a saw-wave. - Klick für eine Sägezahnwelle. + + Triangle wave - Dreieckwelle + + Click here for a triangle-wave. - Klick für eine Dreieckwelle. + + Square wave - Rechteckwelle + + Click here for a square-wave. - Klick für eine Rechteckwelle. + + Rounded square wave - Abgerundete Rechteckwelle + + Click here for a square-wave with a rounded end. - Klick für eine abgerundete Rechteckwelle. + + Moog wave - Moog-Welle + + Click here for a moog-like wave. - Klick für eine Moog-ähnliche Welle. + + Sine wave - Sinuswelle + + Click for a sine-wave. - Klick für eine Sinuswelle. + + + White noise wave - Weißes Rauschen + + Click here for an exponential wave. - Klick für eine exponentielle-Welle. + + Click here for white-noise. - Klick für weißes Rauschen. + + Bandlimited saw wave - Bandbegrenzte Sägezahnwelle + + Click here for bandlimited saw wave. - Klick für eine bandbegrenzte Sägezahnwelle. + + Bandlimited square wave - Bandbegrenzte Rechteckwelle + + Click here for bandlimited square wave. - Klick für eine bandbegrenzte Rechteckwelle. + + Bandlimited triangle wave - Bandbegrenzte Dreieckwelle + + Click here for bandlimited triangle wave. - Klick für eine bandbegrenzte Dreieckwelle. + + Bandlimited moog saw wave - Bandbegrenzte Moog-Sägezahnwelle + + Click here for bandlimited moog saw wave. - Klick für eine bandbegrenzte Moog-Sägezahnwelle. + lmms::gui::LcdFloatSpinBox + Set value - Wert setzen + + Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + lmms::gui::LcdSpinBox + Set value - Wert setzen + + Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + lmms::gui::LeftRightNav + + + Previous - Vorheriges + + + + Next - Nächstes + + Previous (%1) - Vorheriges (%1) + + Next (%1) - Nächstes (%1) + lmms::gui::LfoControllerDialog + LFO - LFO + + BASE - BASIS + + Base: - Basis: + + FREQ - FREQ + + LFO frequency: - LFO-Frequenz: + + AMNT - INTE + + Modulation amount: - Modulationsintensität: + + PHS - PHS + + Phase offset: - Phasenverschiebung: + + degrees - Grad + + Sine wave - Sinuswelle + + Triangle wave - Dreieckwelle + + Saw wave - Sägezahnwelle + + Square wave - Rechteckwelle + + Moog saw wave - Moog-Sägezahnwelle + + Exponential wave - Exponentielle Welle + + White noise - Weißes Rauschen + + User-defined shape. Double click to pick a file. - Benutzerdefinierte Form. -Doppelklick, um eine Datei auszuwählen. + + Multiply modulation frequency by 1 - Modulationsfrequenz mit 1 multiplizieren + + Multiply modulation frequency by 100 - Modulationsfrequenz mit 100 multiplizieren + + Divide modulation frequency by 100 - Modulationsfrequenz durch 100 teilen + lmms::gui::LfoGraph + %1 Hz - %1 Hz + lmms::gui::MainWindow - Could not save config-file - Konnte Konfigurationsdatei nicht speichern - - - Could not save configuration file %1. You're probably not permitted to write to this file. -Please make sure you have write-access to the file and try again. - Konnte die Konfigurationsdatei %1 nicht speichern. Sie haben möglicherweise keine Schreibrechte auf diese Datei. -Bitte überprüfen Sie Ihre Rechte und versuchen es erneut. - - - &New - &Neu - - - &Open... - Ö&ffnen … - - - &Save - &Speichern - - - Save &As... - Speichern &unter … - - - Import... - Importieren … - - - E&xport... - E&xportieren … - - - &Quit - &Verlassen - - - &Edit - &Bearbeiten - - - Settings - Einstellungen - - - &Tools - &Werkzeuge - - - &Help - &Hilfe - - - Help - Hilfe - - - What's this? - Was ist das? - - - About - Über - - - Create new project - Neues Projekt erstellen - - - Create new project from template - Neues Projekt aus Vorlage erstellen - - - Open existing project - Existierendes Projekt öffnen - - - Recently opened projects - Zuletzt geöffnete Projekte - - - Save current project - Aktuelles Projekt speichern - - - Export current project - Aktuelles Projekt exportieren - - - Song Editor - Song-Editor - - - By pressing this button, you can show or hide the Song-Editor. With the help of the Song-Editor you can edit song-playlist and specify when which track should be played. You can also insert and move samples (e.g. rap samples) directly into the playlist. - Mit diesem Knopf können Sie den Song-Editor zeigen oder verstecken. Mit Hilfe des Song-Editors können Sie die Song-Playliste bearbeiten und angeben, wann welche Spur abgespielt werden soll. Außerdem können Sie Samples (z.B. Rap-Samples) direkt in die Playliste einfügen und verschieben. - - - Beat+Bassline Editor - Beat-und-Bassline-Editor - - - By pressing this button, you can show or hide the Beat+Bassline Editor. The Beat+Bassline Editor is needed for creating beats, and for opening, adding, and removing channels, and for cutting, copying and pasting beat and bassline-patterns, and for other things like that. - Mit diesem Knopf können Sie den Beat-und-Bassline-Editor anzeigen oder verstecken. Der Beat-und-Bassline-Editor wird benötigt, um Beats zu erstellen, um Kanäle zu öffnen, hinzuzufügen und zu entfernen, um Beat- und Bassline-Patterns auszuschneiden, zu kopieren und einzufügen, und für andere Dinge. - - - Piano Roll - Piano-Roll - - - Click here to show or hide the Piano-Roll. With the help of the Piano-Roll you can edit melodies in an easy way. - Hier klicken, um das Piano-Roll zu zeigen oder verstecken. Mit Hilfe des Piano-Rolls können Sie Melodien auf einfache Art und Weise bearbeiten. - - - Automation Editor - Automations-Editor - - - Click here to show or hide the Automation Editor. With the help of the Automation Editor you can edit dynamic values in an easy way. - Hier klicken, um den Automations-Editor zu zeigen oder verstecken. Mit Hilfe des Automations-Editors können Sie Automations-Patterns auf einfache Art und Weise bearbeiten. - - - FX Mixer - FX-Mixer - - - Click here to show or hide the FX Mixer. The FX Mixer is a very powerful tool for managing effects for your song. You can insert effects into different effect-channels. - Hier klicken, um den FX-Mixer zu zeigen oder verstecken. Der FX-Mixer ist ein leistungsfähiges Werkzeug, um Effekte für Ihren Song zu verwalten. Sie können verschiedene Effekte in unterschiedliche Effekt-Kanäle einfügen. - - - Project Notes - Projektnotizen - - - Click here to show or hide the project notes window. In this window you can put down your project notes. - Hier klicken, um die Projektnotizen zu zeigen oder zu verstecken. In diesem Fenster können Sie Ihre Projektnotizen aufschreiben. - - - Controller Rack - Controller-Einheit - - - Untitled - Unbenannt - - - LMMS %1 - LMMS %1 - - - Project not saved - Projekt nicht gespeichert - - - The current project was modified since last saving. Do you want to save it now? - Das aktuelle Projekt wurde seit dem letzten Speichern geändert. Wollen Sie es jetzt speichern? - - - Help not available - Hilfe nicht verfügbar - - - Currently there's no help available in LMMS. -Please visit http://lmms.sf.net/wiki for documentation on LMMS. - Derzeit ist in LMMS keine Hilfe verfügbar. -Bitte besuchen Sie http://lmms.sf.net/wiki für Dokumentationen über LMMS. - - - LMMS (*.mmp *.mmpz) - LMMS (*.mmp *.mmpz) - - - Version %1 - Version %1 - - + Configuration file - Konfigurationsdatei + + Error while parsing configuration file at line %1:%2: %3 - Fehler beim Parsen der Konfigurationsdatei in Zeile %1:%2: %3 - - - Volumes - Volumes - - - Undo - Rückgängig - - - Redo - Wiederholen - - - My Projects - Meine Projekte - - - My Samples - Meine Samples - - - My Presets - Meine Presets - - - My Home - Mein Home - - - My Computer - Mein Computer - - - &File - &Datei - - - &Recently Opened Projects - &Zuletzt geöffnete Projekte - - - Save as New &Version - Als neue &Version speichern - - - E&xport Tracks... - Spuren e&xportieren … - - - Export &MIDI... - &MIDI exportieren … - - - Online Help - Online-Hilfe - - - What's This? - Was ist das? - - - Open Project - Projekt öffnen - - - Save Project - Projekt speichern - - - Project recovery - Projekt wiederherstellen - - - There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? - Es gibt eine Wiederherstellungsdatei. Es sieht so aus, als sei die letzte Sitzung nicht ordnungsgemäß beendet worden, oder eine andere Instanz von LMMS läuft bereits. Möchten Sie das Projekt dieser Sitzung wiederherstellen? - - - Recover - Wiederherstellen - - - Recover the file. Please don't run multiple instances of LMMS when you do this. - Diese Datei wiederherstellen. Bitte lassen Sie nicht mehrere Instanzen von LMMS gleichzeitig laufen, wenn Sie das tun. - - - Ignore - Ignorieren - - - Launch LMMS as usual but with automatic backup disabled to prevent the present recover file from being overwritten. - LMMS wie gewohnt starten, aber den automatischen Backup deaktivieren, um zu verhindern, dass die existierende Wiederherstellungsdatei überschrieben wird. - - - Discard - Verwerfen - - - Launch a default session and delete the restored files. This is not reversible. - Eine Standardsitzung starten und die wiederhergestellten Dateien löschen. Das kann nicht rückgängig gemacht werden. - - - Preparing plugin browser - Plugin-Browser vorbereiten - - - Preparing file browsers - Dateimanager vorbereiten - - - Root directory - Hauptverzeichnis - - - Loading background artwork - Hintergrundgrafik laden - - - New from template - Neu aus Vorlage - - - Save as default template - Als Standardvorlage speichern - - - &View - &Ansicht - - - Toggle metronome - Metronom umschalten - - - Show/hide Song-Editor - Zeige/verstecke Song-Editor - - - Show/hide Beat+Bassline Editor - Zeige/verstecke Beat-und-Bassline-Editor - - - Show/hide Piano-Roll - Zeige/verstecke Piano-Roll - - - Show/hide Automation Editor - Zeige/verstecke Automations-Editor - - - Show/hide FX Mixer - Zeige/verstecke FX-Mixer - - - Show/hide project notes - Zeige/verstecke Projektnotizen - - - Show/hide controller rack - Zeige/verstecke Controller-Einheit - - - Recover session. Please save your work! - Wiederherstellungssitzung. Bitte speichern Sie Ihre Arbeit! - - - Automatic backup disabled. Remember to save your work! - Automatisches Backup nicht aktiviert. Denken Sie daran, Ihre Arbeit zu speichern! - - - Recovered project not saved - Wiederhergestelltes Projekt nicht gespeichert - - - This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? - Dieses Projekt wurde von der vorherigen Sitzung wiederhergestellt. Es ist im Moment nicht gespeichert und wird verloren gehen, wenn Sie es nicht speichern. Möchten Sie es jetzt speichern? - - - LMMS Project - LMMS-Projekt - - - LMMS Project Template - LMMS-Projektvorlage - - - Overwrite default template? - Standardvorlage überschreiben? - - - This will overwrite your current default template. - Dies wird Ihre aktuelle Standardvorlage überschreiben. - - - Volume as dBFS - Lautstärke als dBFS - - - Smooth scroll - Weiches Scrollen - - - Enable note labels in piano roll - Notenbeschriftung in Piano-Roll aktivieren - - - Save project template - Projektvorlage speichern + + Could not open file - Konnte Datei nicht öffnen + + Could not open file %1 for writing. Please make sure you have write permission to the file and the directory containing the file and try again! - Datei %1 konnte nicht zum Schreiben geöffnet werden. -Bitte stellen Sie sicher, dass Sie Schreibrechte sowohl auf die Datei als auch das Verzeichnis, das sie enthält, haben, und versuchen Sie es erneut! + + + Project recovery + + + + + There is a recovery file present. It looks like the last session did not end properly or another instance of LMMS is already running. Do you want to recover the project of this session? + + + + + + Recover + + + + + Recover the file. Please don't run multiple instances of LMMS when you do this. + + + + + + Discard + + + + + Launch a default session and delete the restored files. This is not reversible. + + + + + Version %1 + + + + + Preparing plugin browser + + + + + Preparing file browsers + + + + + My Projects + + + + + My Samples + + + + + My Presets + + + + + My Home + + + + Root Directory - Hauptverzeichnis + + + Volumes + + + + + My Computer + + + + Loading background picture - Hintergrundbild laden + + + &File + + + + + &New + + + + + &Open... + + + + + &Save + + + + + Save &As... + + + + + Save as New &Version + + + + + Save as default template + + + + + Import... + + + + + E&xport... + + + + + E&xport Tracks... + + + + + Export &MIDI... + + + + + &Quit + + + + + &Edit + + + + + Undo + + + + + Redo + + + + Scales and keymaps - Tonleitern und Keymaps + + + Settings + + + + + &View + + + + + &Tools + + + + + &Help + + + + + Online Help + + + + + Help + + + + + About + + + + + Create new project + + + + + Create new project from template + + + + + Open existing project + + + + + Recently opened projects + + + + + Save current project + + + + + Export current project + + + + Metronome - Metronom + + + + Song Editor + + + + + Pattern Editor - Pattern-Editor + + + + Piano Roll + + + + + + Automation Editor + + + + + Mixer - Mixer + + + Show/hide controller rack + + + + + Show/hide project notes + + + + + Untitled + + + + + Recover session. Please save your work! + + + + + LMMS %1 + + + + + Recovered project not saved + + + + + This project was recovered from the previous session. It is currently unsaved and will be lost if you don't save it. Do you want to save it now? + + + + + Project not saved + + + + + The current project was modified since last saving. Do you want to save it now? + + + + + Open Project + + + + + LMMS (*.mmp *.mmpz) + + + + + Save Project + + + + + LMMS Project + + + + + LMMS Project Template + + + + + Save project template + + + + + Overwrite default template? + + + + + This will overwrite your current default template. + + + + + Help not available + + + + + Currently there's no help available in LMMS. +Please visit http://lmms.sf.net/wiki for documentation on LMMS. + + + + + Controller Rack + + + + + Project Notes + + + + Fullscreen - Vollbild + + + Volume as dBFS + + + + + Smooth scroll + + + + + Enable note labels in piano roll + + + + MIDI File (*.mid) - MIDI-Datei (*.mid) + + + untitled - Unbenannt + + + Select file for project-export... - Datei für Projekt-Export wählen … + + Select directory for writing exported tracks... - Verzeichnis für das Schreiben der zu exportierenden Spuren wählen … + + Save project - Projekt speichern + + Project saved - Projekt gespeichert + + The project %1 is now saved. - Das Projekt %1 ist nun gespeichert. + + Project NOT saved. - Projekt NICHT gespeichert. + + The project %1 was not saved! - Das Projekt %1 wurde nicht gespeichert! + + Import file - Datei importieren + + MIDI sequences - MIDI-Sequenzen + + Hydrogen projects - Hydrogen-Projekte + + All file types - Alle Dateitypen + lmms::gui::MalletsInstrumentView + Instrument - Instrument + + Spread - Weite + + Spread: - Weite: - - - Hardness - Härte - - - Hardness: - Härte: - - - Position - Position - - - Position: - Position: - - - Vib Gain - Vib-Verst. - - - Vib Gain: - Vib-Verst.: - - - Vib Freq - Vib-Freq. - - - Vib Freq: - Vib-Freq.: - - - Stick Mix - Stick-Mix - - - Stick Mix: - Stick-Mix: - - - Modulator - Modulator - - - Modulator: - Modulator: - - - Crossfade - Crossfade - - - Crossfade: - Crossfade: - - - LFO Speed - LFO-Geschwindigkeit - - - LFO Speed: - LFO-Geschwindigkeit: - - - LFO Depth - LFO-Tiefe - - - LFO Depth: - LFO-Tiefe: - - - ADSR - ADSR - - - ADSR: - ADSR: - - - Pressure - Druck - - - Pressure: - Druck: - - - Speed - Geschwindigkeit - - - Speed: - Geschwindigkeit: - - - Missing files - Fehlende Dateien - - - Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! - Ihre Stk-Installation scheint unvollständig zu sein. Bitte stellen Sie sicher, dass das vollständige Stk-Paket installiert ist! + + Random - Zufall + + Random: - Zufall: + + + Missing files + + + + + Your Stk-installation seems to be incomplete. Please make sure the full Stk-package is installed! + + + + + Hardness + + + + + Hardness: + + + + + Position + + + + + Position: + + + + Vibrato gain - Vibratoverst. + + Vibrato gain: - Vibratoverstärkung: + + Vibrato frequency - Vibratofreq. + + Vibrato frequency: - Vibratofrequenz: + + Stick mix - Stick-Mix + + Stick mix: - Stick-Mix: + + + Modulator + + + + + Modulator: + + + + + Crossfade + + + + + Crossfade: + + + + LFO speed - LFO-Geschw. + + LFO speed: - LFO-Geschwindigkeit: + + LFO depth - LFO-Tiefe + + LFO depth: - LFO-Tiefe: + + + + + ADSR + + + + + ADSR: + + + + + Pressure + + + + + Pressure: + + + + + Speed + + + + + Speed: + lmms::gui::ManageVSTEffectView + - VST parameter control - - VST-Parameter-Controller - - - VST Sync - VST-Sync - - - Click here if you want to synchronize all parameters with VST plugin. - Klicken Sie hier, um alle Parameter mit dem VST-Plugin zu synchronisieren. - - - Automated - Automatisiert - - - Click here if you want to display automated parameters only. - Klicken Sie hier, wenn Sie nur automatisierte Parameter anzeigen möchten. - - - Close - Schließen - - - Close VST effect knob-controller window. - VST Effekt Regler-Controllerfenster schließen. + + VST sync - VST-Sync + + + + + + Automated + + + + + Close + lmms::gui::ManageVestigeInstrumentView + + - VST plugin control - - VST-Plugin-Controller + + VST Sync - VST-Sync - - - Click here if you want to synchronize all parameters with VST plugin. - Klicken Sie hier, um alle Parameter mit dem VST-Plugin zu synchronisieren. + + + Automated - Automatisiert - - - Click here if you want to display automated parameters only. - Klicken Sie hier, wenn Sie nur automatisierte Parameter anzeigen möchten. + + Close - Schließen - - - Close VST plugin knob-controller window. - VST-Effekt-Regler-Controllerfenster schließen. + lmms::gui::MeterDialog + + Meter Numerator - Takt/Zähler + + Meter numerator - Takt/Zähler + + + Meter Denominator - Takt/Nenner + + Meter denominator - Takt/Nenner + + TIME SIG - TAKTART + lmms::gui::MicrotunerConfig + Selected scale slot - Gewählter Tonleiter-Slot + + Selected keymap slot - Gewählter Keymap-Slot + + + First key - Erste Taste + + + Last key - Letzte Taste + + + Middle key - Mitteltaste + + + Base key - Basistaste + + + + Base note frequency - Basisnotenfrequenz + + Microtuner Configuration - Mikrotuner-Konfiguration + + Scale slot to edit: - Zu bearbeitender Tonleiter-Slot: + + Scale description. Cannot start with "!" and cannot contain a newline character. - Tonleiterbeschreibung. Darf nicht mit »!« anfangen und kann kein Newline-Zeichen enthalten. + + + Load - Laden + + + Save - Speichern + + Load scale definition from a file. - Tonleiterdefinition aus einer Datei laden. + + Save scale definition to a file. - Tonleiterdefinition in eine Datei speichern. + + Enter intervals on separate lines. Numbers containing a decimal point are treated as cents. -Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. +Other inputs are treated as integer ratios and must be in the form of 'a/b' or 'a'. Unity (0.0 cents or ratio 1/1) is always present as a hidden first value; do not enter it manually. - Geben Sie die Intervalle auf separaten Zeilen ein. Zahlen, die einen Dezimalpunkt enthalten, werden als Cent behandelt. -Andere Eingaben werden als Ganzzahlverhältnisse behandelt und müssen in der Form »a/b« oder »a« sein. -Die Einheit (0.0 Cent oder Verhältnis 1/1) ist immer als versteckter erster Wert verfügbar; geben Sie ihn nicht manuell ein. + + Apply scale changes - Tonleiteränderungen anwenden + + Verify and apply changes made to the selected scale. To use the scale, select it in the settings of a supported instrument. - Änderungen der gewählten Tonleiter verifizieren und anwenden. Um sie zu benutzen, wählen Sie sie in den Einstellungen eines unterstützten Instruments aus. + + Keymap slot to edit: - Zu bearbeitender Keymap-Slot: + + Keymap description. Cannot start with "!" and cannot contain a newline character. - Keymapbeschreibung. Kann nicht mit »!« anfangen und kann kein Newline-Zeichen enthalten. + + Load key mapping definition from a file. - Keymap-Definition aus einer Datei laden. + + Save key mapping definition to a file. - Keymap-Definition in eine Datei speichern. + + Enter key mappings on separate lines. Each line assigns a scale degree to a MIDI key, starting with the middle key and continuing in sequence. The pattern repeats for keys outside of the explicit keymap range. Multiple keys can be mapped to the same scale degree. Enter 'x' if you wish to leave the key disabled / not mapped. - Geben Sie Keymaps auf separaten Zeilen ein. Jede Zeile weist eine Tonstufe zu einer MIDI-Taste zu, -anfangend mit der Mitteltaste, und setzt sich dann in Folge fort. -Das Muster wiederholt sich für Tasten außerhalb des expliziten Keymapbereichs. -Mehrere Tasten können zur selben Stufe zugewiesen werden. -Geben Sie »x« ein, falls Sie wünschen, dass die Taste deaktiviert / nicht zugewiesen ist. + + FIRST - ERSTE + + First MIDI key that will be mapped - Die erste MIDI-Taste, die zugewiesen wird + + LAST - LETZTE + + Last MIDI key that will be mapped - Die letzte MIDI-Taste, die zugewiesen wird + + MIDDLE - MITTEL + + First line in the keymap refers to this MIDI key - Die erste Zeile in der Keymap bezieht sich auf diese MIDI-Taste + + BASE N. - BASISN. + + Base note frequency will be assigned to this MIDI key - Basisnotenfrequenz wird zu dieser MIDI-Taste zugewiesen + + BASE NOTE FREQ - BASISN.-FREQ. + + Apply keymap changes - Keymapänderungen anwenden + + Verify and apply changes made to the selected key mapping. To use the mapping, select it in the settings of a supported instrument. - Änderungen der gewählten Keymap verifizieren und anwenden. Um sie zu benutzen, wählen Sie sie in den Einstellungen eines unterstützten Instruments aus. + + Scale parsing error - Tonleiner-Parsing-Fehler + + Scale name cannot start with an exclamation mark - Tonleitername darf nicht mit einem Ausrufezeichen anfangen + + Scale name cannot contain a new-line character - Tonleitername darf kann kein Newline-Zeichen enthalten + + Interval defined in cents cannot be converted to a number - Ein in Cent angegebenes Intervall kann nicht zu einer Zahl konvertiert werden + + Numerator of an interval defined as a ratio cannot be converted to a number - Der Zähler eines Intervalls, das als Verhältnis definiert ist, kann nicht zu einer Zahl konvertiert werden + + Denominator of an interval defined as a ratio cannot be converted to a number - Der Nenner eines Intervalls, das als Verhältnis definiert ist, kann nicht zu einer Zahl konvertiert werden + + Interval defined as a ratio cannot be negative - Ein als Verhältnis angegebenes Intervall kann nicht negativ sein + + Keymap parsing error - Keymap-Parse-Fehler + + Keymap name cannot start with an exclamation mark - Keymap-Name kann nicht mit einem Ausrufezeichen beginnen + + Keymap name cannot contain a new-line character - Keymap-Name kann kein Newline-Zeichen enthalten + + Scale degree cannot be converted to a whole number - Tonstufe kann nicht zu einer Ganzzahl konvertiert werden + + Scale degree cannot be negative - Tonstufe kann nicht negativ sein + + Invalid keymap - Ungültige Keymap + + Base key is not mapped to any scale degree. No sound will be produced as there is no way to assign reference frequency to any note. - Die Basistaste wurde nicht zu einer Tonstufe zugewiesen. Es wird kein Ton erzeugt, da es keine Möglichkeit gibt, eine Referenzfrequenz zu irgendeiner Note zuzuweisen. + + Open scale - Tonleiter öffnen + + + Scala scale definition (*.scl) - Scala-Tonleiterdefinition (*.scl) + + Scale load failure - Tonleiter-Ladefehler + + + Unable to open selected file. - Die gewählte Datei konnte nicht geöffnet werden. + + Open keymap - Keymap öffnen + + + Scala keymap definition (*.kbm) - Scala-Keymap-Definition (*.kbm) + + Keymap load failure - Ladefehler für Keymap + + Save scale - Tonleiter speichern + + Scale save failure - Tonleiter-Speicherfehler + + + Unable to open selected file for writing. - Die gewählte Datei könnte nicht zum Schreiben geöffnet werden. + + Save keymap - Keymap speichern + + Keymap save failure - Speicherfehler für Keymap + lmms::gui::MidiCCRackView + + MIDI CC Rack - %1 - MIDI-CC-Rack – %1 + + MIDI CC Knobs: - MIDI-CC-Regler: + + CC %1 - CC %1 + lmms::gui::MidiClipView + + Transpose - Transponieren + + Semitones to transpose by: - Transponiere um so viele Semitöne: + + Open in piano-roll - Im Piano-Roll öffnen + + Set as ghost in piano-roll - Als Geist im Piano-Roll setzen + + Set as ghost in automation editor - Als Geist im Automations-Editor setzen + + Clear all notes - Alle Noten löschen + + Reset name - Name zurücksetzen + + Change name - Name ändern + + Add steps - Schritte hinzufügen + + Remove steps - Schritte entfernen + + Clone Steps - Schritte klonen + lmms::gui::MidiSetupWidget + Device - Gerät + lmms::gui::MixerChannelLcdSpinBox + Assign to: - Zuweisen zu: + + New Mixer Channel - Neuer Mischkanal + + Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + Set value - Wert setzen + lmms::gui::MixerChannelView + Channel send amount - Kanal-Sendemenge + + Mute - Stumm + + Mute this channel - Diesen Kanal stummschalten + + Solo - Solo + + Solo this channel - Diesen Kanal als Solo verwenden + + Fader %1 - + + Move &left - Nach &links verschieben + + Move &right - Nach &rechts verschieben + + Rename &channel - &Kanal umbenennen + + R&emove channel - Kanal &entfernen + + Remove &unused channels - &Unbenutzte Kanäle entfernen + + Color - Farbe + + Change - Ändern + + Reset - Zurücksetzen + + Pick random - Zufällig wählen + + This Mixer Channel is being used. Are you sure you want to remove this channel? Warning: This operation can not be undone. - Dieser Mixerkanal wird gerade benutzt. -Sind Sie sich sicher, dass Sie ihn entfernen wollen? - -Achtung: Diese Aktion kann nicht rückgängig gemacht werden. + + Confirm removal - Entfernen bestätigen + + Don't ask again - Nicht erneut fragen + lmms::gui::MixerView + Mixer - Mixer + lmms::gui::MonstroView + Operators view - Operator-Ansicht - - - The Operators view contains all the operators. These include both audible operators (oscillators) and inaudible operators, or modulators: Low-frequency oscillators and Envelopes. - -Knobs and other widgets in the Operators view have their own what's this -texts, so you can get more specific help for them that way. - Die Operator-Ansicht enthält alle Operatoren. Diese beinhalten beide, hörbare Operatoren (Oszillatoren) und nicht hörbare Operatoren oder Modulatoren: Niedrig-Frequenz-Oszillatoren und Hüllkurven. - -Regler und andere Dinge in der Operator-Ansicht haben ihren eigenen »Was ist das?« Texte, sodass Sie auf diese Weise spezifischere Hilfe für diese bekommen können. + + Matrix view - Matrix-Ansicht - - - The Matrix view contains the modulation matrix. Here you can define the modulation relationships between the various operators: Each audible operator (oscillators 1-3) has 3-4 properties that can be modulated by any of the modulators. Using more modulations consumes more CPU power. - -The view is divided to modulation targets, grouped by the target oscillator. Available targets are volume, pitch, phase, pulse width and sub-osc ratio. Note: some targets are specific to one oscillator only. - -Each modulation target has 4 knobs, one for each modulator. By default the knobs are at 0, which means no modulation. Turning a knob to 1 causes that modulator to affect the modulation target as much as possible. Turning it to -1 does the same, but the modulation is inversed. - Die Matrix-Ansicht enthält die Modulationsmatrix. Hier können Sie die Modulationsverhältnisse zwischen den verschiedenen Operatoren definieren: Jeder hörbare Operator (Oszillatorern 1-3) hat 3-4 Einstellungen, die durch jeden der Modulatoren moduliert werden können. Mehr Modulation braucht mehr Rechenleistung. - -Die Ansicht ist in Modulationsziele, gruppiert nach dem Zieloszillator, eingeteilt. Verfügbare Ziele sind Lautstärke, Tonhöhe, Phase, Pulsweite und Unter-Oszillator Rate. Hinweis: einige Ziele sind speziell für einen Oszillator. - -Jedes Modulationsziel hat 4 Regler, einen für jeden Modulator. Standardmäßig sind alle Regler bei 0, was keine Modulation bedeutet. Wenn der Regler auf 1 gestellt wird, wird das Modulationsziel vom Modulator so viel wie möglich beeinflusst. Wenn er auf -1 gestellt wird, passiert das gleiche, aber die Modulation ist invertiert. - - - Mix Osc2 with Osc3 - Oszillator 2 mit Oszillator 3 mischen - - - Modulate amplitude of Osc3 with Osc2 - Amplitude von Oszillator 3 mit Oszillator 2 modulieren - - - Modulate frequency of Osc3 with Osc2 - Frequenz von Oszillator 3 mit Oszillator 2 modulieren - - - Modulate phase of Osc3 with Osc2 - Phase von Oszillator 3 mit Oszillator 2 modulieren - - - The CRS knob changes the tuning of oscillator 1 in semitone steps. - Der CRS-Regler ändert die Stimmung des Oszillators 1 in Halbtonschritten. - - - The CRS knob changes the tuning of oscillator 2 in semitone steps. - Der CRS-Regler ändert die Stimmung des Oszillators 2 in Halbtonschritten. - - - The CRS knob changes the tuning of oscillator 3 in semitone steps. - Der CRS-Regler ändert die Stimmung des Oszillators 3 in Halbtonschritten. - - - FTL and FTR change the finetuning of the oscillator for left and right channels respectively. These can add stereo-detuning to the oscillator which widens the stereo image and causes an illusion of space. - FTL und FTR ändern die Feinabstimmung des Oszillators jeweils für den linken und rechten Kanal. Diese können Stereoverstimmug zum Oszillator hinzufügen, was das Stereobild weitet und eine Illusion von Raum erzeugt. - - - The SPO knob modifies the difference in phase between left and right channels. Higher difference creates a wider stereo image. - Der SPO-Regler ändert die Phasendifferenz zwischen dem linken und rechten Kanal. Höhere Differenz erzeugt ein breiteres Stereobild. - - - The PW knob controls the pulse width, also known as duty cycle, of oscillator 1. Oscillator 1 is a digital pulse wave oscillator, it doesn't produce bandlimited output, which means that you can use it as an audible oscillator but it will cause aliasing. You can also use it as an inaudible source of a sync signal, which can be used to synchronize oscillators 2 and 3. - Der PW-Regler kontrolliert die Pulsweite, auch bekannt als Tastgrad, von Oszillator 1. Oszillator 1 ist ein digitaler Pulswellenoszillator, er erzeugt keine bandbegrenzte Ausgabe, was bedeutet, dass Sie ihn als einen hörbaren Oszillator einsetzen können, aber es wird Aliasing verursachen. Sie können es auch als eine nicht hörbare Quelle für ein Sync-Signal benutzen, der benutzt werden kann, um die Oszillatoren 2 und 3 zu synchronisieren. - - - Send Sync on Rise: When enabled, the Sync signal is sent every time the state of oscillator 1 changes from low to high, ie. when the amplitude changes from -1 to 1. Oscillator 1's pitch, phase and pulse width may affect the timing of syncs, but its volume has no effect on them. Sync signals are sent independently for both left and right channels. - Sync beim Ansteigen senden: Wenn aktiviert, wird das Sync-Signal jedes Mal gesendet, wenn sich der Zustand von Oszillator 1 von niedrig nach hoch ändert, z.B. wenn sich die Amplitude von -1 nach 1 ändert. Die Tonhöhe, Phase und Pulsweite von Oszillator 1 können das Timing von Syncs beeinflussen, aber die Lautstärke hat keinen Effekt darauf. Sync-Signale werden unabhängig vom linken und rechten Kanal gesendet. - - - Send Sync on Fall: When enabled, the Sync signal is sent every time the state of oscillator 1 changes from high to low, ie. when the amplitude changes from 1 to -1. Oscillator 1's pitch, phase and pulse width may affect the timing of syncs, but its volume has no effect on them. Sync signals are sent independently for both left and right channels. - Sync beim Abfallen senden: Wenn aktiviert, wird das Sync-Signal jedes Mal gesendet, wenn sich der Zustand von Oszillator 1 von hoch nach niedrig ändert, z.B. wenn sich die Amplitude von 1 nach -1 ändert. Die Tonhöhe, Phase und Pulsweite von Oszillator 1 können das Timing von Syncs beeinflussen, aber die Lautstärke hat keinen Effekt darauf. Sync-Signale werden unabhängig vom linken und rechten Kanal gesendet. - - - Hard sync: Every time the oscillator receives a sync signal from oscillator 1, its phase is reset to 0 + whatever its phase offset is. - Hard sync: Jedes Mal, wenn der Oszillator ein sync-Signal von Oszillator 1 empfängt, wird die Phase auf 0 zurückgesetzt, egal was die Phasendifferenz ist. - - - Reverse sync: Every time the oscillator receives a sync signal from oscillator 1, the amplitude of the oscillator gets inverted. - Reverse sync: Jedes Mal, wenn der Oszillator ein sync-Signal von Oszillator 1 empfängt, wird die Amplitude des Oszillators invertiert. - - - Choose waveform for oscillator 2. - Wellenform für Oszillator 2 auswählen. - - - Choose waveform for oscillator 3's first sub-osc. Oscillator 3 can smoothly interpolate between two different waveforms. - Wellenform für den ersten Unter-Oszillator von Oszillator 3 auswählen. Oszillator 3 kann gleitend zwischen zwei verschiedenen Wellenformen interpolieren. - - - Choose waveform for oscillator 3's second sub-osc. Oscillator 3 can smoothly interpolate between two different waveforms. - Wellenform für den zweiten Unter-Oszillator von Oszillator 3 auswählen. Oszillator 3 kann gleitend zwischen zwei verschiedenen Wellenformen interpolieren. - - - The SUB knob changes the mixing ratio of the two sub-oscs of oscillator 3. Each sub-osc can be set to produce a different waveform, and oscillator 3 can smoothly interpolate between them. All incoming modulations to oscillator 3 are applied to both sub-oscs/waveforms in the exact same way. - Der SUB-Regler ändert das Mischverhältnis der beiden Unter-Oszillatoren von Oszillator 3. Jeder Unter-Oszillator kann auf eine andere Wellenform eingestellt werden und Oszillator 3 kann zwischen diesen gleitend interpolieren. Alle eingehenden Modulationen zu Oszillator 3 werden auf beide Unter-Oszillator/-Wellenformen auf gleiche Weise angewandt. - - - In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. - -Mix mode means no modulation: the outputs of the oscillators are simply mixed together. - Zusätzlich zu fest zugeordneten Modulatoren ermöglicht Monstro es, Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. - -Mix-Modus bedeutet keine Modulation: Die Ausgaben der Oszillatoren werden einfach zusammengemischt. - - - In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. - -AM means amplitude modulation: Oscillator 3's amplitude (volume) is modulated by oscillator 2. - Zusätzlich zu fest zugeordneten Modulatoren, ermöglicht Monstro es Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. - -AM bedeutet Amplitudenmodulation: Die Amplitude (Lautstärke) von Oszillator 3 wird durch Oszillator 2 moduliert. - - - In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. - -FM means frequency modulation: Oscillator 3's frequency (pitch) is modulated by oscillator 2. The frequency modulation is implemented as phase modulation, which gives a more stable overall pitch than "pure" frequency modulation. - Zusätzlich zu fest zugeordneten Modulatoren, ermöglicht Monstro es Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. - -FM bedeutet Frequenzmodulation: Die Frequenz (Tonhöhe) von Oszillator 3 wird durch Oszillator 2 moduliert. Die Frequenzmodulation ist als Phasenmodulation implementiert, was eine stabilere Gesamttonhöhe erzeugt, als »reine« Frequenzmodulation. - - - In addition to dedicated modulators, Monstro allows oscillator 3 to be modulated by the output of oscillator 2. - -PM means phase modulation: Oscillator 3's phase is modulated by oscillator 2. It differs from frequency modulation in that the phase changes are not cumulative. - Zusätzlich zu fest zugeordneten Modulatoren, ermöglicht Monstro es Oszillator 3 mit der Ausgabe von Oszillator 2 zu modulieren. - -PM bedeutet Phasenmodulation: Die Phase von Oszillator 3 wird durch Oszillator 2 moduliert. Es unterscheidet sich von der Frequenzmodulation dadurch, dass die Phasenänderungen nicht zunehmend sind. - - - Select the waveform for LFO 1. -"Random" and "Random smooth" are special waveforms: they produce random output, where the rate of the LFO controls how often the state of the LFO changes. The smooth version interpolates between these states with cosine interpolation. These random modes can be used to give "life" to your presets - add some of that analog unpredictability... - Die Wellenform für LFO 1 auswählen. -»Zufällig« und »Zufällig gleitend« sind spzielle Wellenformen: Sie erzeugen zufällige Ausgabe, wobei die Rate des LFO regelt, wie oft sich der Zustand des LFO ändert. Die gleitende Version interpoliert zwischen diesen Zuständen mit Kosinus-Interpolation. Diese zufälligen Modi können benutzt werden, um Ihren Presets »Leben« zu geben – etwas von der analogen Unberechenbarkeit hinzuzufügen … - - - Select the waveform for LFO 2. -"Random" and "Random smooth" are special waveforms: they produce random output, where the rate of the LFO controls how often the state of the LFO changes. The smooth version interpolates between these states with cosine interpolation. These random modes can be used to give "life" to your presets - add some of that analog unpredictability... - Die Wellenform für LFO 2 auswählen. -»Zufällig« und »Zufällig gleitend« sind spzielle Wellenformen: Sie erzeugen zufällige Ausgabe, wobei die Rate des LFO regelt, wie oft sich der Zustand des LFO ändert. Die gleitende Version interpoliert zwischen diesen Zuständen mit Kosinus-Interpolation. Diese zufälligen Modi können benutzt werden, um Ihren Presets »Leben« zu geben – etwas von der analogen Unberechenbarkeit hinzuzufügen … - - - Attack causes the LFO to come on gradually from the start of the note. - Anschwellzeit verursacht, dass der LFO allmählich vom Anfang der Note angeht. - - - Rate sets the speed of the LFO, measured in milliseconds per cycle. Can be synced to tempo. - Rate setzt die Geschwindigkeit des LFO, in Millisekunden pro Durchlauf gemessen. Kann zum Tempo synchronisiert werden. - - - PHS controls the phase offset of the LFO. - PHS kontrolliert die Phasenverschiebung des LFO. - - - PRE, or pre-delay, delays the start of the envelope from the start of the note. 0 means no delay. - PRE, oder Vorverzögerung, verzögert den Beginn der Hüllkurve vom Anfang der Note. 0 bedeutet keine Verzögerung. - - - ATT, or attack, controls how fast the envelope ramps up at start, measured in milliseconds. A value of 0 means instant. - ATT, oder Anschwellzeit, regelt, wie schnell die Hüllkurve am Anfang steigt, in Millisekunden gemessen. Ein Wert von 0 bedeutet sofort. - - - HOLD controls how long the envelope stays at peak after the attack phase. - HOLD kontrolliert, wie lange die Hüllkurve nach der Anschwellphase an der Spitze bleibt. - - - DEC, or decay, controls how fast the envelope falls off from its peak, measured in milliseconds it would take to go from peak to zero. The actual decay may be shorter if sustain is used. - DEC, oder Abschwellzeit, regelt, wie schnell die Hüllkurve von ihrer Spitze auf Null abfällt, in Millisekunden gemessen. Die tatsächliche Abschwellzeit ist möglicherweise kürzer, wenn Dauerpegel benutzt wird. - - - SUS, or sustain, controls the sustain level of the envelope. The decay phase will not go below this level as long as the note is held. - SUS, oder Dauerpegel (sustain), regelt den Dauerpegel der Hüllkurve. Die Abfallphase geht nicht unter diesen Pegel, solange die Note gehalten wird. - - - REL, or release, controls how long the release is for the note, measured in how long it would take to fall from peak to zero. Actual release may be shorter, depending on at what phase the note is released. - REL, oder Ausklingzeit (release), regelt, wie lange die Ausklingzeit für die Note von ihrer Spitze auf Null ist, gemessen in Millisekunden. Die tatsächliche Ausklingzeit ist möglicherweise kürzer, abhängig davon, in welcher Phase die Note losgelassen wird. - - - The slope knob controls the curve or shape of the envelope. A value of 0 creates straight rises and falls. Negative values create curves that start slowly, peak quickly and fall of slowly again. Positive values create curves that start and end quickly, and stay longer near the peaks. - Der Neigungsregler steuert die Kurve oder Form der Hüllkurve. Ein Wert von 0 erzeugt einen direkten Anstieg und Abfall. Negative Werte erzeugen Kurven, die langsam starten, schnell die Spitze erreichen und wieder langsam abfallen. Positive Werte erzeugen Kurven, die schnell starten und enden und länger in der Nähe der Spitze bleiben. + + + + Volume - Lautstärke + + + + Panning - Balance + + + + Coarse detune - Grobverstimmung + + + + semitones - Halbtöne - - - Finetune left - Feinabstimmung links - - - cents - Cent - - - Finetune right - Feinabstimmung rechts - - - Stereo phase offset - Stereophasenversatz - - - deg - Grad - - - Pulse width - Pulsbreite - - - Send sync on pulse rise - Sync bei Pulsanstieg senden - - - Send sync on pulse fall - Sync bei Pulsabfall senden - - - Hard sync oscillator 2 - Hard-sync für Oszillator 2 - - - Reverse sync oscillator 2 - Reverse-sync für Oszillator 2 - - - Sub-osc mix - Sub-Osz-Mix - - - Hard sync oscillator 3 - Hard-sync für Oszillator 3 - - - Reverse sync oscillator 3 - Reverse-sync für Oszillator 3 - - - Attack - Anschwellzeit (attack) - - - Rate - Rate - - - Phase - Phase - - - Pre-delay - Vorverzögerung - - - Hold - Haltezeit (hold) - - - Decay - Abfallzeit - - - Sustain - Haltepegel (sustain) - - - Release - Ausklingzeit (release) - - - Slope - Neigung - - - Modulation amount - Modulationsintensität + + + Fine tune left - Feinabstimmung links + + + + + + cents + + + + + Fine tune right - Feinabstimmung rechts + + + + + Stereo phase offset + + + + + + + + + deg + + + + + Pulse width + + + + + Send sync on pulse rise + + + + + Send sync on pulse fall + + + + + Hard sync oscillator 2 + + + + + Reverse sync oscillator 2 + + + + + Sub-osc mix + + + + + Hard sync oscillator 3 + + + + + Reverse sync oscillator 3 + + + + + + + + Attack + + + + + + Rate + + + + + + Phase + + + + + + Pre-delay + + + + + + Hold + + + + + + Decay + + + + + + Sustain + + + + + + Release + + + + + + Slope + + + + Mix osc 2 with osc 3 - Oszillator 2 mit Oszillator 3 mischen + + Modulate amplitude of osc 3 by osc 2 - Amplitude von Oszillator 3 mit Oszillator 2 modulieren + + Modulate frequency of osc 3 by osc 2 - Frequenz von Oszillator 3 mit Oszillator 2 modulieren + + Modulate phase of osc 3 by osc 2 - Phase von Oszillator 3 mit Oszillator 2 modulieren + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modulation amount + lmms::gui::MultitapEchoControlDialog + Length - Länge + + Step length: - Schrittlänge: + + Dry - Dry - - - Dry Gain: - Dry-Verstärkung: - - - Stages - Stufen - - - Lowpass stages: - Tiefpassstufen: - - - Swap inputs - Eing. vert. - - - Swap left and right input channel for reflections - Linken und rechten Eingangskanal für Reflextionen vertauschen + + Dry gain: - Dry-Verstärkung: + + + Stages + + + + Low-pass stages: - Tiefpassstufen: + + + Swap inputs + + + + Swap left and right input channels for reflections - Linken und rechten Eingangskanal für Reflextionen vertauschen + lmms::gui::NesInstrumentView + + + + Volume - Lautstärke + + + + Coarse detune - Grobverstimmung + + + + Envelope length - Hüllkurvenlänge + + Enable channel 1 - Kanal 1 aktivieren + + Enable envelope 1 - Hüllkurve 1 aktivieren + + Enable envelope 1 loop - Hüllkurvenschleife 1 aktivieren + + Enable sweep 1 - Streichen 1 aktivieren + + + Sweep amount - Streichstärke + + + Sweep rate - Streichrate + + + 12.5% Duty cycle - 12,5 % Tastgrad + + + 25% Duty cycle - 25 % Tastgrad + + + 50% Duty cycle - 50 % Tastgrad + + + 75% Duty cycle - 75 % Tastgrad + + Enable channel 2 - Kanal 2 aktivieren + + Enable envelope 2 - Hüllkurve 2 aktivieren + + Enable envelope 2 loop - Hüllkurvenschleife 2 aktivieren + + Enable sweep 2 - Streichen 2 aktivieren + + Enable channel 3 - Kanal 3 aktivieren + + Noise Frequency - Rauschfrequenz + + Frequency sweep - Frequenzstreichen + + Enable channel 4 - Kanal 4 aktivieren + + Enable envelope 4 - Hüllkurve 4 aktivieren + + Enable envelope 4 loop - Hüllkurvenschleife 4 aktivieren + + Quantize noise frequency when using note frequency - Rauschfrequenz quantisieren, wenn Notenfrequenz benutzt wird + + Use note frequency for noise - Notenfrequenz für Rauschen verwenden + + Noise mode - Rauschmodus - - - Master Volume - Master-Lautstärke - - - Vibrato - Vibrato + + Master volume - Master-Lautstärke + + + + + Vibrato + lmms::gui::OpulenzInstrumentView + + Attack - Anschwellzeit (attack) + + + Decay - Abfallzeit + + + Release - Ausklingzeit (release) + + + Frequency multiplier - Frequenzfaktor + lmms::gui::OrganicInstrumentView + Distortion: - Verzerrung: + + Volume: - Lautstärke: + + Randomise - Zufallswerte + + + Osc %1 waveform: - Oszillator-%1-Wellenform: + + Osc %1 volume: - Oszillator-%1-Lautstärke: + + Osc %1 panning: - Oszillator-%1-Balance: - - - cents - Cent - - - The distortion knob adds distortion to the output of the instrument. - Der Verzerrungsregler fügt Verzerrung zur Ausgabe des Instruments hinzu. - - - The volume knob controls the volume of the output of the instrument. It is cumulative with the instrument window's volume control. - Der Lautstärkeregler kontrolliert die Lautstärke des Instruments. Er ist gleich dem Lautstärkeregler des Instrumentenfensters. - - - The randomize button randomizes all knobs except the harmonics,main volume and distortion knobs. - Der Zufallsknopf setzt alle Regler auf zufällige Werte, außer den Harmonien, der Hauptlautstärke und den Verzerrungsreglern. + + Osc %1 stereo detuning - Oszillator-%1-Stereoverstimmung + + + cents + + + + Osc %1 harmonic: - Oszillator-%1-Harmonie: + lmms::gui::Oscilloscope + Oscilloscope - Oszilloskop + + Click to enable - Klicken zum Aktivieren + lmms::gui::PatmanView - Open other patch - Andere Patch-Datei öffnen - - - Click here to open another patch-file. Loop and Tune settings are not reset. - Klicken Sie hier, um eine andere Patch-Datei zu laden. Wiederholungs- und Stimmungseinstellungen werden nicht zurückgesetzt. - - - Loop - Wiederholen - - - Loop mode - Modus beim Wiederholen - - - Here you can toggle the Loop mode. If enabled, PatMan will use the loop information available in the file. - Hier können Sie den Wiederholen-Modus (de-)aktivieren. Wenn aktiviert, verwendet PatMan die in der Datei verfügbaren Informationen zum Wiederholen. - - - Tune - Stimmung - - - Tune mode - Stimmungsmodus - - - Here you can toggle the Tune mode. If enabled, PatMan will tune the sample to match the note's frequency. - Hier können Sie den Stimmungs-Modus (de-)aktivieren. Wenn aktiviert, wird der Klang automatisch an die Frequenz der Note angepasst. - - - No file selected - Keine Datei ausgewählt - - - Open patch file - Patch-Datei öffnen - - - Patch-Files (*.pat) - Patch-Dateien (*.pat) - - + Open patch - Patch öffnen + + + + + Loop + + + + + Loop mode + + + + + Tune + + + + + Tune mode + + + + + No file selected + + + + + Open patch file + + + + + Patch-Files (*.pat) + lmms::gui::PatternClipView + Open in Pattern Editor - Im Pattern-Editor öffnen + + Reset name - Name zurücksetzen + + Change name - Name ändern + lmms::gui::PatternEditorWindow + Pattern Editor - Pattern-Editor + + Play/pause current pattern (Space) - Aktuelles Pattern abspielen/pausieren (Leertaste) + + Stop playback of current pattern (Space) - Wiedergabe des aktuellen Patterns stoppen (Leertaste) + + Pattern selector - Pattern-Wähler + + Track and step actions - Spur-und-Schritt-Aktionen + + New pattern - Neues Pattern + + Clone pattern - Pattern klonen + + Add sample-track - Sample-Spur hinzufügen + + Add automation-track - Automations-Spur hinzufügen + + Remove steps - Schritte entfernen + + Add steps - Schritte hinzufügen + + Clone Steps - Schritte klonen + lmms::gui::PeakControllerDialog + PEAK - PEAK + + LFO Controller - LFO-Controller + lmms::gui::PeakControllerEffectControlDialog + BASE - BASI + + Base: - Basis: + + AMNT - INTE + + Modulation amount: - Modulationsintensität: + + MULT - FAKT + + Amount multiplicator: - Intensitätsfaktor: + + ATCK - ATCK + + Attack: - Anschwellzeit (attack): + + DCAY - DCAY + + Release: - Ausklingzeit (release): + + TRSH - SCHW + + Treshold: - Schwellwert: + + Mute output - Ausgang stumm + + Absolute value - Absolutwert + lmms::gui::PeakIndicator + -inf - -unendl. + lmms::gui::PianoRoll - Please open a pattern by double-clicking on it! - Bitte öffnen Sie einen Pattern, indem Sie ihn doppelklicken! - - - Last note - Letzte Note - - - Note lock - Notenraster - - + Note Velocity - Noten-Lautst. + + Note Panning - Noten-Balance + + Mark/unmark current semitone - Aktuellen Halbton markieren/demarkieren - - - Mark current scale - Aktuelle Tonleiter markieren - - - Mark current chord - Aktuellen Akkord markieren - - - Unmark all - Alles Markierungen entfernen - - - No scale - Keine Tonleiter - - - No chord - Kein Akkord - - - Velocity: %1% - Lautstärke: %1 % - - - Panning: %1% left - Balance: %1 % links - - - Panning: %1% right - Balance: %1 % rechts - - - Panning: center - Balance: mittig - - - Please enter a new value between %1 and %2: - Bitte geben Sie einen neuen Wert zwischen %1 und %2 ein: + + Mark/unmark all corresponding octave semitones - Alle korrespondierenden Oktavenhalbtöne markieren/demarkieren + + + Mark current scale + + + + + Mark current chord + + + + + Unmark all + + + + Select all notes on this key - Alle Noten an dieser Taste auswählen + + + Note lock + + + + + Last note + + + + No key - Keine Tonart + + + No scale + + + + + No chord + + + + Nudge - + + Snap - Einrasten + + + Velocity: %1% + + + + + Panning: %1% left + + + + + Panning: %1% right + + + + + Panning: center + + + + Glue notes failed - Notenkleben fehlgeschlagen + + Please select notes to glue first. - Bitte wählen Sie zuerest die zu klebenden Noten. + + Please open a clip by double-clicking on it! - Bitte öffnen Sie einen Clip, indem Sie ihn doppelklicken! + + + + + + Please enter a new value between %1 and %2: + lmms::gui::PianoRollWindow - Play/pause current pattern (Space) - Aktuelles Pattern abspielen/pausieren (Leertaste) - - - Record notes from MIDI-device/channel-piano - Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen - - - Record notes from MIDI-device/channel-piano while playing song or BB track - Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen, während der Song bzw. die BB-Spur abgespielt wird - - - Stop playing of current pattern (Space) - Abspielen des aktuellen Patterns stoppen (Leertaste) - - - Click here to play the current pattern. This is useful while editing it. The pattern is automatically looped when its end is reached. - Klicken Sie hier, um das aktuelle Pattern abzuspielen. Dies ist nützlich bei der Bearbeitung. Das Pattern wird automatisch wiederholt, wenn das Ende erreicht wird. - - - Click here to record notes from a MIDI-device or the virtual test-piano of the according channel-window to the current pattern. When recording all notes you play will be written to this pattern and you can play and edit them afterwards. - Klicken Sie hier, um Noten von einem MIDI-Gerät oder dem virtuellen Testpiano des dazugehörigen Kanalfensters zum aktuellen Pattern aufzunehmen. Bei der Aufnahme werden alle von Ihnen gespielte Noten in das Pattern geschrieben. Sie können diese anschließend abspielen und bearbeiten. - - - Click here to record notes from a MIDI-device or the virtual test-piano of the according channel-window to the current pattern. When recording all notes you play will be written to this pattern and you will hear the song or BB track in the background. - Klicken Sie hier, um Noten von einem MIDI-Gerät oder dem virtuellen Testpiano des dazugehörigen Kanalfensters zum aktuellen Pattern aufzunehmen. Bei der Aufnahme werden alle von Ihnen gespielte Noten in das Pattern geschrieben, dabei werden den Song oder die BB-Spur im Hintergrund hören. - - - Click here to stop playback of current pattern. - Klicken Sie hier, um die Wiedergabe des aktuellen Patterns zu stoppen. - - - Draw mode (Shift+D) - Zeichnenmodus (Umschalt+D) - - - Erase mode (Shift+E) - Radiermodus (Umschalt+E) - - - Select mode (Shift+S) - Auswahlmodus (Umschalt+S) - - - Detune mode (Shift+T) - Verstimmungsmodus (Umschalt+T) - - - Click here and draw mode will be activated. In this mode you can add, resize and move notes. This is the default mode which is used most of the time. You can also press 'Shift+D' on your keyboard to activate this mode. In this mode, hold %1 to temporarily go into select mode. - Klicken Sie hier, um den Zeichenmodus zu aktivieren. In diesem Modus können Sie Noten hinzufügen, skalieren und verschieben. Dies ist der Standardmodus, der die meiste Zeit benutzt wird. Sie können auch »Umschalt+D« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. Wenn Sie in diesen Modus »%1« gedrückt halten, können Sie temporär in den Auswahlmodus gehen. - - - Click here and erase mode will be activated. In this mode you can erase notes. You can also press 'Shift+E' on your keyboard to activate this mode. - Klicken Sie hier, um den Löschmodus zu aktivieren. In diesen Modus können Sie Noten löschen. Sie können auch »Umschalt+E« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. - - - Click here and select mode will be activated. In this mode you can select notes. Alternatively, you can hold %1 in draw mode to temporarily use select mode. - Klicken Sie hier, um den Auswahlmodus zu aktivieren. In diesen Modus können Sie Noten auswählen. Alternativ können Sie %1 gedrückt halten, um den Auswahlmodus temporär zu benutzen. - - - Click here and detune mode will be activated. In this mode you can click a note to open its automation detuning. You can utilize this to slide notes from one to another. You can also press 'Shift+T' on your keyboard to activate this mode. - Klicken Sie hier, um den Verstimmungsmodus zu aktivieren. In diesem Modus können Sie eine Note anklicken, um ihre Automationsverstimmung zu öffnen. Sie können dies benutzen, um Noten von einer zur nächsten zu schieben. Sie können auch »Umschalt+T« auf Ihrer Tastatur drücken, um diesen Modus zu aktivieren. - - - Cut selected notes (%1+X) - Ausgewählte Noten ausschneiden (%1+X) - - - Copy selected notes (%1+C) - Ausgewählte Noten kopieren (%1+C) - - - Paste notes from clipboard (%1+V) - Noten aus Zwischenablage einfügen (%1+V) - - - Click here and the selected notes will be cut into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. - Klicken Sie hier, um die ausgewählten Noten auszuschneiden und in die Zwischenablage abzulegen. Sie können sie an einer beliebigen Stelle in einem beliebigen Pattern einfügen, indem Sie auf den Einfügen-Knopf klicken. - - - Click here and the selected notes will be copied into the clipboard. You can paste them anywhere in any pattern by clicking on the paste button. - Klicken Sie hier, um die ausgewählten Noten in die Zwischenablage zu kopieren. Sie können sie an einer beliebigen Stelle in einem beliebigen Pattern einfügen, indem Sie auf den Einfügen-Knopf klicken. - - - Click here and the notes from the clipboard will be pasted at the first visible measure. - Klicken Sie hier, um die Noten aus der Zwischenablage im ersten sichtbaren Takt einzufügen. - - - This controls the magnification of an axis. It can be helpful to choose magnification for a specific task. For ordinary editing, the magnification should be fitted to your smallest notes. - Dies steuert die Vergrößerung einer Achse. Es kann hilfreich für bestimmte Aufgaben sein, eine Vergrößerung auszuwählen. Für die normale Bearbeitung sollte die Vergrößerung an Ihre kleinsten Noten angepasst sein. - - - The 'Q' stands for quantization, and controls the grid size notes and control points snap to. With smaller quantization values, you can draw shorter notes in Piano Roll, and more exact control points in the Automation Editor. - Das »Q« steht für Quantisierung und legt die Rastergröße fest, in der Noten und Steuerungspunkte eingerastet werden. Mit kleineren Quantisierungswerten können Sie kürzere Noten in der Piano-Roll zeichnen und exaktere Kontrollpunkte im Automations-Editor zeichnen. - - - This lets you select the length of new notes. 'Last Note' means that LMMS will use the note length of the note you last edited - Damit können Sie die Länge neuer Noten festlegen. »Letzte Note« bedeutet, dass LMMS die Notenlänge der Note, die sie als letzte bearbeitet haben, benutzen wird - - - The feature is directly connected to the context-menu on the virtual keyboard, to the left in Piano Roll. After you have chosen the scale you want in this drop-down menu, you can right click on a desired key in the virtual keyboard, and then choose 'Mark current Scale'. LMMS will highlight all notes that belongs to the chosen scale, and in the key you have selected! - Das Feature ist direkt mit dem Kontextmenü des virtuellen Keyboards an der linken Seite des Piano-Rolls verbunden. Nachdem Sie die von Ihnen gewünschte Tonleiter in diesem Aufklappmenü ausgewählt haben, können Sie auf eine gewünschte Taste auf dem virtuellen Keyboard rechtsklicken, und dann »Aktuelle Tonleiter markieren« auswählen. LMMS wird alle Noten, welche zur gewählten Tonleiter gehören, hervorheben, und zwar im Bezug auf der von Ihnen gewählten Taste. - - - Let you select a chord which LMMS then can draw or highlight.You can find the most common chords in this drop-down menu. After you have selected a chord, click anywhere to place the chord, and right click on the virtual keyboard to open context menu and highlight the chord. To return to single note placement, you need to choose 'No chord' in this drop-down menu. - Damit können Sie einen Akkord auswählen, den LMMS anschließend zeichnen oder hervorheben wird. Sie können die am meisten verwendeten Akkorde in diesem Aufklappmenü finden. Nachdem Sie einen Akkord ausgewählt haben, klicken Sie an eine beliebige Stelle, um ihn zu platzieren, und rechtsklicken Sie auf dem virtuellen Keyboard, um das Kontextmenü zu öffnen und den Akkord hervorzuheben. Um zur Platzierung einzelner Noten zurückzukehren, müssen Sie »Kein Akkord« in diesem Aufklappmenü auswählen. - - - Edit actions - Aktionen bearbeiten - - - Copy paste controls - Kopieren-Einfügen-Steuerung - - - Timeline controls - Zeitachsensteuerung - - - Zoom and note controls - Zoom- und Notensteuerung - - - Piano-Roll - %1 - Piano-Roll – %1 - - - Piano-Roll - no pattern - Piano-Roll – kein Pattern - - - Quantize - Quantisieren - - + Play/pause current clip (Space) - Aktuellen Clip abspielen/pausieren (Leertaste) + + + Record notes from MIDI-device/channel-piano + + + + Record notes from MIDI-device/channel-piano while playing song or pattern track - Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen, während der Song oder die Pattern-Spur abgespielt wird + + Record notes from MIDI-device/channel-piano, one step at the time - Noten von einem MIDI-Gerät/Kanal-Piano aufzeichnen, Schritt für Schritt + + Stop playing of current clip (Space) - Wiedergabe des aktuellen Clips stoppen (Leertaste) + + + Edit actions + + + + + Draw mode (Shift+D) + + + + + Erase mode (Shift+E) + + + + + Select mode (Shift+S) + + + + Pitch Bend mode (Shift+T) - Tonhöhenverzerrungsmodus (Umschalt+T) + + + Quantize + + + + Quantize positions - Positionen quantisieren + + Quantize lengths - Längen quantisieren + + File actions - Dateiaktionen + + Import clip - Clip importieren + + + Export clip - Clip exportieren + + + Copy paste controls + + + + Cut (%1+X) - Ausschneiden (%1+X) + + Copy (%1+C) - Kopieren (%1+C) + + Paste (%1+V) - Einfügen (%1+V) + + + Timeline controls + + + + Glue - Klebstoff + + Knife - Messer + + Fill - Füllen + + Cut overlaps - Überlappungen ausschneiden + + Min length as last - Min. Länge als letzte + + Max length as last - Max. Länge als letzte + + + Zoom and note controls + + + + Horizontal zooming - Horizontales zoomen + + Vertical zooming - Vertikales zoomen + + Quantization - Quantisierung + + Note length - Notenlänge + + Key - Tonart + + Scale - Tonleiter + + Chord - Akkord + + Snap mode - Einrastmodus + + Clear ghost notes - Geistnoten leeren + + + + Piano-Roll - %1 + + + + + Piano-Roll - no clip - Piano-Roll – kein Clip + + + XML clip file (*.xpt *.xptz) - XML-Clipdatei (*.xpt *xptz) + + Export clip success - Clip-Export erfolgreich + + Clip saved to %1 - Clip nach %1 abgespeichert + + Import clip. - Clip importieren. + + You are about to import a clip, this will overwrite your current clip. Do you want to continue? - Sie sind im Begriff, einen Clip zu importieren, dies wird Ihren aktuellen Clip überschreiben. Möchten Sie fortfahren? + + Open clip - Clip öffnen + + Import clip success - Clip-Import erfolgreich + + Imported clip %1! - Clip %1 importiert! + lmms::gui::PianoView + Base note - Grundton + + First note - Erste Note + + Last note - Letzte Note + lmms::gui::PluginBrowser + Instrument Plugins - Instrument-Plugins + + Instrument browser - Instrument-Browser + + Drag an instrument into either the Song Editor, the Pattern Editor or an existing instrument track. - Ziehen Sie ein Instrument entweder in den Song-Editor, den Pattern-Editor oder einer existierenden Instrumentspur. + + Search - Suchen + lmms::gui::PluginDescWidget + Send to new instrument track - Zu neuer Instrumentspur senden + lmms::gui::ProjectNotes - Project notes - Projektnotizen - - - Put down your project notes here. - Schreiben Sie hier Ihre Projektnotizen auf. - - - Edit Actions - Aktionen bearbeiten - - - &Undo - &Rückgängig - - - %1+Z - %1+Z - - - &Redo - &Wiederholen - - - %1+Y - %1+Y - - - &Copy - &Kopieren - - - %1+C - %1+C - - - Cu&t - Ausschnei&den - - - %1+X - %1+X - - - &Paste - &Einfügen - - - %1+V - %1+V - - - Format Actions - Formataktionen - - - &Bold - &Fett - - - %1+B - %1+B - - - &Italic - &Kursiv - - - %1+I - %1+l - - - &Underline - &Unterstrichen - - - %1+U - %1+U - - - &Left - &Links - - - %1+L - %1+L - - - C&enter - Z&entrieren - - - %1+E - %1+E - - - &Right - &Rechts - - - %1+R - %1+R - - - &Justify - &Blocksatz - - - %1+J - %1+J - - - &Color... - &Farbe … - - + Project Notes - Projektnotizen + + Enter project notes here - Hier Projektnotizen eingeben + + + + + Edit Actions + + + + + &Undo + + + + + %1+Z + + + + + &Redo + + + + + %1+Y + + + + + &Copy + + + + + %1+C + + + + + Cu&t + + + + + %1+X + + + + + &Paste + + + + + %1+V + + + + + Format Actions + + + + + &Bold + + + + + %1+B + + + + + &Italic + + + + + %1+I + + + + + &Underline + + + + + %1+U + + + + + &Left + + + + + %1+L + + + + + C&enter + + + + + %1+E + + + + + &Right + + + + + %1+R + + + + + &Justify + + + + + %1+J + + + + + &Color... + lmms::gui::RecentProjectsMenu + &Recently Opened Projects - &Zuletzt geöffnete Projekte + lmms::gui::RenameDialog + Rename... - Umbenennen … + lmms::gui::ReverbSCControlDialog + Input - Eingang + + Input gain: - Eingangsverstärkung: + + Size - Größe + + Size: - Größe: + + Color - Farbe + + Color: - Farbe: + + Output - Ausgabe + + Output gain: - Ausgabeverstärkung: + lmms::gui::SaControlsDialog + Pause - Pause + + Pause data acquisition - Datensammlung pausieren + + Reference freeze - Referenz einfrieren + + Freeze current input as a reference / disable falloff in peak-hold mode. - Aktuellen Eingang als Referenz einfrieren / Falloff im »Peak halten«-Modus deaktivieren. + + Waterfall - Wasserfall + + Display real-time spectrogram - Echtzeitspektrogramm anzeigen + + Averaging - Mittelung + + Enable exponential moving average - Exponentiellen gleitenden Durchschnitt aktivieren + + Stereo - Stereo + + Display stereo channels separately - Stereokanäle separat anzeigen + + Peak hold - Peak halten + + Display envelope of peak values - Hüllkurve von Spitzenwerten anzeigen + + Logarithmic frequency - Logarithmische Frequenz + + Switch between logarithmic and linear frequency scale - Zwischen logarithmischer und linearer Frequenzskala wechseln + + + Frequency range - Frequenzbereich + + Logarithmic amplitude - Logarithmische Amplitude + + Switch between logarithmic and linear amplitude scale - Zwischen logarithmischer und linearer Amplitudenskala wechseln + + + Amplitude range - Amplitudenbereich + + + FFT block size - FFT-Blockgröße + + + FFT window type - FFT-Fenster-Typ + + Envelope res. - Hüllkurven-Res. + + Increase envelope resolution for better details, decrease for better GUI performance. - Hüllkurvenauflösung für bessere Details erhöhen; verringern für bessere GUI-Performanz. + + Maximum number of envelope points drawn per pixel: - Maximale Anzahl gezeichneter Hüllkurvenpunkte pro Pixel: + + Spectrum res. - Spektrumsres. + + Increase spectrum resolution for better details, decrease for better GUI performance. - Spektrumsresolution für bessere Details erhöhen; verringern für bessere GUI-Performanz. + + Maximum number of spectrum points drawn per pixel: - Maximale Anzahl gezeichneter Spektrumspunkte pro Pixel: + + Falloff factor - Falloff-Faktor + + Decrease to make peaks fall faster. - Verringern, damit Spitzen schneller fallen. + + Multiply buffered value by - Gepufferten Wert multiplizieren mit + + Averaging weight - Mittelungsgewicht + + Decrease to make averaging slower and smoother. - Verringern, damit die Mittelung langsamer und weicher abläuft. + + New sample contributes - Neues Sample gibt + + Waterfall height - Wasserfallhöhe + + Increase to get slower scrolling, decrease to see fast transitions better. Warning: medium CPU usage. - Erhöhen, um ein langsameres Scrollen zu erhalten, verringern, um schnelle Übergänge schneller zu sehen. Achtung: Hoher CPU-Bedarf. + + Number of lines to keep: - Anzahl der zu behaltenden Zeilen: + + Waterfall gamma - Wasserfallgamma + + Decrease to see very weak signals, increase to get better contrast. - Verringern, um sehr schwache Signale zu sehen, erhöhen, um besseren Kontrast zu erhalten. + + Gamma value: - Gammawert: + + Window overlap - Fensterüberlappung + + Increase to prevent missing fast transitions arriving near FFT window edges. Warning: high CPU usage. - Erhöhen, um das Verfehlen von schnellen Übergängen beim Erreichen der Nähe von FFT-Fensterkanten zu verhindern. Achtung: Hoher CPU-Bedarf. + + Number of times each sample is processed: - Wie oft jedes Sample verarbeitet wird: + + Zero padding - Zero-Padding + + Increase to get smoother-looking spectrum. Warning: high CPU usage. - Erhöhen, um ein weicher aussehendes Spektrum zu erhalten. Achtung: Hoher CPU-Bedarf. + + Processing buffer is - Verarbeitungspuffer ist + + steps larger than input block - Schritte größer als Eingangsblock + + Advanced settings - Erweiterte Einstellungen + + Access advanced settings - Auf erweiterte Einstellungen zugreifen + lmms::gui::SampleClipView + Double-click to open sample - Doppelklick, um Sample zu öffnen + + Reverse sample - Sample umkehren + + Set as ghost in automation editor - Als Geist im Automations-Editor setzen + lmms::gui::SampleTrackView + Mixer channel - Mischkanal + + Track volume - Spurlautstärke + + Channel volume: - Kanallautstärke: + + VOL - LAU + + Panning - Balance + + Panning: - Balance: + + PAN - BAL + + %1: %2 - %1: %2 + lmms::gui::SampleTrackWindow + Sample volume - Sample-Lautstärke + + Volume: - Lautstärke: + + VOL - LAU + + Panning - Balance + + Panning: - Balance: + + PAN - BAL + + Mixer channel - Mixerkanal + + CHANNEL - KANAL + lmms::gui::SaveOptionsWidget + Discard MIDI connections - MIDI-Verbindungen verwerfen + + Save As Project Bundle (with resources) - Als Projekt-Bundle (mit Ressourcen) speichern + lmms::gui::SetupDialog + Settings - Einstellungen + + + General - Allgemein + + Graphical user interface (GUI) - Grafische Benutzeroberfläche (GUI) + + Display volume as dBFS - Lautstärke als dbFS anzeigen + + Enable tooltips - Tooltips aktivieren + + Enable master oscilloscope by default - Master-Oszilloskop standardmäßig aktivieren + + Enable all note labels in piano roll - Alle Notenbeschriftungen im Piano-Roll aktivieren + + Enable compact track buttons - Kompakte Spurknöpfe aktivieren + + Enable one instrument-track-window mode - Ein-Instrument-Spur-Fenster-Modus aktivieren + + Show sidebar on the right-hand side - Seitenleiste an der rechten Seite anzeigen + + Let sample previews continue when mouse is released - Sample-Vorschauen weiterlaufen lassen, wenn Maus losgelassen wird + + Mute automation tracks during solo - Automations-Spuren beim Solo stummschalten + + Show warning when deleting tracks - Warnung beim Löschen von Spuren anzeigen + + Show warning when deleting a mixer channel that is in use - Warnung beim Löschen eines Mischkanals, der benutzt wird, anzeigen + + Dual-button - Zweifachknopf + + Grab closest - Nächsten fangen + + Handles - Greifer + + Loop edit mode - Schleifenbearbeitungsmodus + + Projects - Projekte + + Compress project files by default - Projektdateien standardmäßig komprimieren + + Create a backup file when saving a project - Wiederherstellungsdatei beim Speichern eines Projekts erstellen + + Reopen last project on startup - Zuletzt geöffnetes Projekt automatisch öffnen + + Language - Sprache + + + Performance - Performanz + + Autosave - Autospeichern + + Enable autosave - Automatisches Speichern aktivieren + + Allow autosave while playing - Auto-Speichern während der Wiedergabe erlauben + + User interface (UI) effects vs. performance - UI-Effekte vs. Performanz + + Smooth scroll in song editor - Weiches Scrollen im Song-Editor + + Display playback cursor in AudioFileProcessor - Wiedergabecursor in AudioFileProcessor anzeigen + + Plugins - Plugins + + VST plugins embedding: - VST-Plugins-Einbettung: + + No embedding - Keine Einbettung + + Embed using Qt API - Mit Qt-API einbetten + + Embed using native Win32 API - Mit nativer Win32-API einbetten + + Embed using XEmbed protocol - Mit XEmbed-Protokoll einbetten + + Keep plugin windows on top when not embedded - Pluginfenster oben halten, wenn nicht eingebettet + + Keep effects running even without input - Effekte auch ohne Eingabe weiterlaufen lassen + + + Audio - Audio + + Audio interface - Audio-Interface + + Buffer size - Puffergröße + + Reset to default value - Auf Standardwert zurücksetzen + + + MIDI - MIDI + + MIDI interface - MIDI-Interface + + Automatically assign MIDI controller to selected track - Automatisch MIDI-Controller zur gewählten Spur zuweisen + + Behavior when recording - Verhalten bei Aufnahme + + Auto-quantize notes in Piano Roll - Noten im Piano-Roll automatisch quantisieren + + If enabled, notes will be automatically quantized when recording them from a MIDI controller. If disabled, they are always recorded at the highest possible resolution. - Falls aktiviert, werden die Noten bei der Aufnahme von einem MIDI-Controller automatisch quantisiert. Falls deaktiviert, werden sie immer an der höchst möglichen Auflösung aufgenommen. + + + Paths - Pfade + + LMMS working directory - LMMS-Arbeitsverzeichnis + + VST plugins directory - VST-Plugin-Verzeichnis + + LADSPA plugins directories - LADSPA-Plugin-Verzeichnisse + + SF2 directory - SF2-Verzeichnis + + Default SF2 - Standard-SF2 + + GIG directory - GIG-Verzeichnis + + Theme directory - Themen-Verzeichnis + + Background artwork - Hintergrundgrafik + + Some changes require restarting. - Einige Änderungen benötigen einen Neustart. + + OK - OK + + Cancel - Abbrechen + + minutes - Minuten + + minute - Minute + + Disabled - Deaktiviert + + Autosave interval: %1 - Autospeichern-Intervall: %1 + + The currently selected value is not a power of 2 (32, 64, 128, 256). Some plugins may not be available. - Der momentan gewählte Wert ist keine Zweierpotenz (32, 64, 128, 256). Einige Plugins könnten nicht verfügbar sein. + + The currently selected value is less than or equal to 32. Some plugins may not be available. - Der momentan gewählte Wert ist kleinergleich 32. Einige Plugins könnten nicht verfügbar sein. + + Frames: %1 Latency: %2 ms - Frames: %1 -Latenz: %2 ms + + Choose the LMMS working directory - Wählen Sie das LMMS-Arbeitsverzeichnis + + Choose your VST plugins directory - Wählen Sie Ihr VST-Plugin-Verzeichnis + + Choose your LADSPA plugins directory - Wählen Sie Ihr VST-Plugin-Verzeichnis + + Choose your SF2 directory - Wählen Sie Ihr SF2-Verzeichnis + + Choose your default SF2 - Wählen Sie Ihr Standard-SF2 + + Choose your GIG directory - Wählen Sie Ihr GIG-Verzeichnis + + Choose your theme directory - Wählen Sie Ihr Themen-Verzeichnis + + Choose your background picture - Wählen Sie Ihr Hintergrundbild + lmms::gui::Sf2InstrumentView + + Open SoundFont file - SoundFont-Datei öffnen + + Choose patch - Patch wählen + + Gain: - Verstärkung: + + Apply reverb (if supported) - Hall anwenden (wenn unterstützt) + + Room size: - Raumgröße: + + Damping: - Dämpfung: + + Width: - Weite: + + + Level: - Stufe: + + Apply chorus (if supported) - Chorus-Effekt anwenden (wenn unterstützt) + + Voices: - Stimmen: + + Speed: - Geschwindigkeit: + + Depth: - Tiefe: + + SoundFont Files (*.sf2 *.sf3) - SoundFont-Dateien (*.sf2 *.sf3) + lmms::gui::SidInstrumentView + Volume: - Lautstärke: + + Resonance: - Resonanz: + + + Cutoff frequency: - Kennfrequenz: + + High-pass filter - Hochpassfilter + + Band-pass filter - Bandpassfilter + + Low-pass filter - Tiefpassfilter + + Voice 3 off - Stimme 3 lautlos + + MOS6581 SID - MOS6581 SID + + MOS8580 SID - MOS8580 SID + + + Attack: - Anschwellzeit (attack): + + + Decay: - Abfallzeit (decay): + + Sustain: - Dauerpegel (sustain): + + + Release: - Ausklingzeit (release): + + Pulse Width: - Pulsbreite: + + Coarse: - Grob: + + Pulse wave - Pulswelle + + Triangle wave - Dreieckwelle + + Saw wave - Sägezahnwelle + + Noise - Rauschen + + Sync - Synchron + + Ring modulation - Ringmodulation + + Filtered - Gefiltert + + Test - Test + + Pulse width: - Pulsbreite: + lmms::gui::SideBarWidget + Close - Schließen + lmms::gui::SlicerTView + Slice snap - Slice einrasten + + Set slice snapping for detection - Slice-Einrastung für Erkennung setzen + + Sync sample - Sample synchronisieren + + Enable BPM sync - BMP-Sync. aktivieren + + Original sample BPM - Originale Sample-BPM + + Threshold used for slicing - Schwellwert für das Slicing + + Fade Out per note in milliseconds - Ausblendung je Note in Millisekunden + + Copy midi pattern to clipboard - MIDI-Pattern in Zwischenablage kopieren + + Open sample selector - Sample-Wähler öffnen + + Reset slices - Slices zurücksetzen + + Threshold - Schwellwert + + Fade Out - Ausblenden + + Reset - Zurücksetzen + + Midi - Midi + + BPM - BPM + + Snap - Einrasten + lmms::gui::SlicerTWaveform + Click to load sample - Klicken, um Sample zu laden + lmms::gui::SongEditor + Could not open file - Konnte Datei nicht öffnen + + Could not open file %1. You probably have no permissions to read this file. Please make sure to have at least read permissions to the file and try again. - Konnte die Datei %1 nicht öffnen. Sie sind wahrscheinlich nicht berechtigt, diese Datei zu lesen. - Bitte stellen Sie sicher, dass Sie wenigstens Leserechte auf diese Datei besitzen und versuchen es erneut. + + Operation denied - Aktion verweigert + + A bundle folder with that name already eists on the selected path. Can't overwrite a project bundle. Please select a different name. - Ein Bundle-Ordner mit diesem Namen existiert bereits am gewählten Pfad. Ein Projekt-Bundle kann nicht überschrieben werden. Bitte wählen Sie einen anderen Namen. + + + + Error - Fehler + + Couldn't create bundle folder. - Konnte Bundle-Ordner nicht erstellen. + + Couldn't create resources folder. - Konnte Ressourcenordner nicht erstellen. + + Failed to copy resources. - Fehler beim Kopieren von Ressourcen. + + + Could not write file - Konnte Datei nicht schreiben + + Could not open %1 for writing. You probably are not permitted to write to this file. Please make sure you have write-access to the file and try again. - Konnte %1 nicht zum Schreiben öffnen. Sie sind wahrscheinlich nicht dazu berechtigt, in diese Datei zu schreiben. Bitte stellen Sie sicher, dass Sie Schreibrechte für diese Datei haben und versuchen Sie es erneut. + + An unknown error has occurred and the file could not be saved. - Ein unbekannter Fehler ist aufgetreten und die Datei konnte nicht gespeichert werden. + + Error in file - Fehler in Datei + + The file %1 seems to contain errors and therefore can't be loaded. - Die Datei %1 scheint fehlerhaft zu sein und kann daher nicht geladen werden. + + template - Vorlage + + project - Projekt + + Version difference - Versionsunterschied + + This %1 was created with LMMS %2 - %1 wurde mit LMMS %2 erstellt + + Zoom - Zoom + + Tempo - Tempo + + TEMPO - TEMPO + + Tempo in BPM - Tempo in BPM + + + + Master volume - Master-Lautstärke + + + + Global transposition - Globale Transponierung + + 1/%1 Bar - 1/%1 Takt + + %1 Bars - %1 Takte + + Value: %1% - Wert: %1 % + + Value: %1 keys - Wert: %1 Tonarten + lmms::gui::SongEditorWindow + Song-Editor - Song-Editor + + Play song (Space) - Song abspielen (Leertaste) + + Record samples from Audio-device - Samples vom Audiogerät aufzeichnen + + Record samples from Audio-device while playing song or pattern track - Samples vom Audiogerät beim Abspielen des Songs oder der Pattern-Spur aufzeichnen + + Stop song (Space) - Song stoppen (Leertaste) + + Track actions - Spuraktionen + + Add pattern-track - Pattern-Spur hinzufügen + + Add sample-track - Sample-Spur hinzufügen + + Add automation-track - Automations-Spur hinzufügen + + Edit actions - Aktionen bearbeiten + + Draw mode - Zeichenmodus + + Knife mode (split sample clips) - Messermodus (Sample-Clips teilen) + + Edit mode (select and move) - Bearbeitungsmodus (auswählen und verschieben) + + Timeline controls - Zeitachsensteuerung + + Bar insert controls - Takteinfügesteuerung + + Insert bar - Takt einfügen + + Remove bar - Takt entfernen + + Zoom controls - Zoomsteuerung + + + Zoom - Zoom + + Snap controls - Einraststeuerung + + + Clip snapping size - Clip-Einrastgröße + + Toggle proportional snap on/off - Proportionales Einrasten ein-/ausschalten + + Base snapping size - Basiseinrastgröße + lmms::gui::StepRecorderWidget + Hint - Tipp + + Move recording curser using <Left/Right> arrows - Verschieben Sie den Aufnahmecursor mit den <Links/Rechts>-Pfeilen + lmms::gui::StereoEnhancerControlDialog - WIDE - WEITE - - - Width: - Weite: - - + WIDTH - WEITE + + + + + Width: + lmms::gui::StereoMatrixControlDialog + Left to Left Vol: - Links-nach-links-Lautstärke: + + Left to Right Vol: - Links-nach-rechts-Lautstärke: + + Right to Left Vol: - Rechts-nach-links-Lautstärke: + + Right to Right Vol: - Rechts-nach-rechts-Lautstärke: + lmms::gui::SubWindow + Close - Schließen + + Maximize - Maximieren + + Restore - Wiederherstellen + lmms::gui::TapTempoView + 0 - 0 + + + Precision - Präzision + + Display in high precision - In hoher Präzision anzeigen + + 0.0 ms - 0,0 ms + + Mute metronome - Metronom stumm + + Mute - Stumm + + BPM in milliseconds - BPM in Millisekunden + + 0 ms - 0 ms + + Frequency of BPM - Frequenz von BPM + + 0.0000 hz - 0,0000 Hz + + Reset - Zurücksetzen + + Reset counter and sidebar information - Zähler und Seitenleisteninformation zurücksetzen + + Sync - Sync + + Sync with project tempo - Mit Projekt-Tempo synchronisieren + + %1 ms - %1 ms + + %1 hz - %1 Hz + lmms::gui::TemplatesMenu + New from template - Neu aus Vorlage + lmms::gui::TempoSyncBarModelEditor + + Tempo Sync - Tempo-Synchronisation + + No Sync - Keine Synchronisation + + Eight beats - Acht Schläge + + Whole note - Ganze Note + + Half note - Halbe Note + + Quarter note - Viertelnote + + 8th note - Achtelnote + + 16th note - 16tel Note + + 32nd note - 32tel Note + + Custom... - Benutzerdefiniert … + + Custom - Benutzerdefiniert + + Synced to Eight Beats - Mit acht Schlägen synchronisiert + + Synced to Whole Note - Mit ganzer Note synchronisiert + + Synced to Half Note - Mit halber Note synchronisiert + + Synced to Quarter Note - Mit Viertelnote synchronisiert + + Synced to 8th Note - Mit Achtelnote synchronisiert + + Synced to 16th Note - Mit 16tel Note synchronisiert + + Synced to 32nd Note - Mit 32tel Note synchronisiert + lmms::gui::TempoSyncKnob + + Tempo Sync - Tempo-Synchronisation + + No Sync - Keine Synchronisation + + Eight beats - Acht Schläge + + Whole note - Ganze Note + + Half note - Halbe Note + + Quarter note - Viertelnote + + 8th note - Achtelnote + + 16th note - 16tel Note + + 32nd note - 32tel Note + + Custom... - Benutzerdefiniert … + + Custom - Benutzerdefiniert + + Synced to Eight Beats - Mit acht Schlägen synchronisiert + + Synced to Whole Note - Mit ganzer Note synchronisiert + + Synced to Half Note - Mit halber Note synchronisiert + + Synced to Quarter Note - Mit Viertelnote synchronisiert + + Synced to 8th Note - Mit Achtelnote synchronisiert + + Synced to 16th Note - Mit 16tel Note synchronisiert + + Synced to 32nd Note - Mit 32tel Note synchronisiert + lmms::gui::TimeDisplayWidget + Time units - Zeiteinheiten + + MIN - MIN + + SEC - SEK + + MSEC - MSEK + + BAR - TAKT + + BEAT - BEAT + + TICK - TICK + lmms::gui::TimeLineWidget + Auto scrolling - Autoscrollen + + Stepped auto scrolling - Schrittweises Autoscrollen + + Continuous auto scrolling - Kontinuierliches Autoscrollen + + Auto scrolling disabled - Autoscrollen deaktiviert + + Loop points - Schleifenpunkte + + After stopping go back to beginning - Nach dem Stopp zurück zum Anfang springen + + After stopping go back to position at which playing was started - Nach dem Stopp zurück zur Position, wo die Wiedergabe gestartet wurde, springen + + After stopping keep position - Nach dem Stopp die Position halten + + Hint - Tipp + + Press <%1> to disable magnetic loop points. - Drücken Sie <%1>, um magnetische Schleifenpunkte zu deaktivieren. + + Set loop begin here - Schleifenanfang hier setzen + + Set loop end here - Schleifenende hier setzen + + Loop edit mode (hold shift) - Schleifenbearbeitungsmodus (Umschalt halten) + + Dual-button - Zweifachknopf + + Grab closest - Nächsten fangen + + Handles - Greifer + lmms::gui::TrackContentWidget + Paste - Einfügen + lmms::gui::TrackOperationsWidget + Press <%1> while clicking on move-grip to begin a new drag'n'drop action. - Drücken Sie <%1> während des Klicks auf den Verschiebegriff, um eine neue Drag-and-Drop-Aktion zu beginnen. + + Actions - Aktionen + + + Mute - Stumm + + + Solo - Solo + + After removing a track, it can not be recovered. Are you sure you want to remove track "%1"? - Nachdem Sie eine Spur entfernt haben, kann sie nicht wiederhergestellt werden. Möchten Sie die Spur »%1« wirklich entfernen? + + Confirm removal - Entfernen bestätigen + + Don't ask again - Nicht erneut fragen + + Clone this track - Diese Spur klonen + + Remove this track - Diese Spur entfernen + + Clear this track - Diese Spur leeren + + Channel %1: %2 - Kanal %1: %2 + + Assign to new Mixer Channel - Zu neuem Mischkanal zuweisen + + Turn all recording on - Alle Aufnahmen einschalten + + Turn all recording off - Alle Aufnahmen ausschalten + + Track color - Spurfarbe + + Change - Ändern + + Reset - Zurücksetzen + + Pick random - Zufällig wählen + + Reset clip colors - Clip-Farben zurücksetzen + lmms::gui::TripleOscillatorView - Use phase modulation for modulating oscillator 1 with oscillator 2 - Phasenmodulation benutzen, um Oszillator 2 mit Oszillator 1 zu modulieren - - - Use amplitude modulation for modulating oscillator 1 with oscillator 2 - Amplitudenmodulation benutzen, um Oszillator 2 mit Oszillator 1 zu modulieren - - - Mix output of oscillator 1 & 2 - Mische Ausgang von Oszillator 1 & 2 - - - Synchronize oscillator 1 with oscillator 2 - Synchronisiere Oszillator 1 mit Oszillator 2 - - - Use frequency modulation for modulating oscillator 1 with oscillator 2 - Frequenzmodulation benutzen, um Oszillator 2 mit Oszillator 1 zu modulieren - - - Use phase modulation for modulating oscillator 2 with oscillator 3 - Phasenmodulation benutzen, um Oszillator 3 mit Oszillator 2 zu modulieren - - - Use amplitude modulation for modulating oscillator 2 with oscillator 3 - Amplitudenmodulation benutzen, um Oszillator 3 mit Oszillator 2 zu modulieren - - - Mix output of oscillator 2 & 3 - Mische Ausgang von Oszillator 2 & 3 - - - Synchronize oscillator 2 with oscillator 3 - Synchronisiere Oszillator 2 mit Oszillator 3 - - - Use frequency modulation for modulating oscillator 2 with oscillator 3 - Frequenzmodulation benutzen, um Oszillator 3 mit Oszillator 2 zu modulieren - - - Osc %1 volume: - Oszillator %1 Lautstärke: - - - With this knob you can set the volume of oscillator %1. When setting a value of 0 the oscillator is turned off. Otherwise you can hear the oscillator as loud as you set it here. - Mit diesem Regler können Sie die Lautstärke von Oszillator %1 setzen. Wenn Sie einen Wert von 0 setzen, wird der Oszillator ausgeschaltet. Ansonsten können Sie ihn so laut hören, wie Sie es hier einstellen. - - - Osc %1 panning: - Oszillator %1 Balance: - - - With this knob you can set the panning of the oscillator %1. A value of -100 means 100% left and a value of 100 moves oscillator-output right. - Mit diesem Regler können Sie die Balance von Oszillator %1 setzen. Ein Wert von -100 heißt 100 % links und ein Wert von 100 verschiebt den Oszillator-Ausgang nach rechts. - - - Osc %1 coarse detuning: - Oszillator %1 Grobverstimmung: - - - semitones - Halbtöne - - - With this knob you can set the coarse detuning of oscillator %1. You can detune the oscillator 24 semitones (2 octaves) up and down. This is useful for creating sounds with a chord. - Mit diesem Regler können Sie die grobe Verstimmung von Oszillator %1 setzen. Sie können den Oszillator 24 Halbtöne (2 Oktaven) nach oben und unten verstimmen. Das ist nützlich, wenn Sie einen Sound mit einem Akkord erstellen möchten. - - - Osc %1 fine detuning left: - Oszillator %1 Feinverstimmung links: - - - cents - Cent - - - With this knob you can set the fine detuning of oscillator %1 for the left channel. The fine-detuning is ranged between -100 cents and +100 cents. This is useful for creating "fat" sounds. - Mit diesem Regler können Sie die Feinverstimmung von Oszillator %1 für den linken Kanal einstellen. Die Feinverstimmung liegt zwischen -100 Cent und +100 Cent. Das ist nützlich, um »fette« Sounds zu erzeugen. - - - Osc %1 fine detuning right: - Oszillator %1 Feinverstimmung rechts: - - - With this knob you can set the fine detuning of oscillator %1 for the right channel. The fine-detuning is ranged between -100 cents and +100 cents. This is useful for creating "fat" sounds. - Mit diesem Regler können Sie die Feinverstimmung von Oszillator %1 für den rechten Kanal einstellen. Die Feinverstimmung liegt zwischen -100 Cent und +100 Cent. Das ist nützlich, um »fette« Sounds zu erzeugen. - - - Osc %1 phase-offset: - Oszillator %1 Phasenverschiebung: - - - degrees - Grad - - - With this knob you can set the phase-offset of oscillator %1. That means you can move the point within an oscillation where the oscillator begins to oscillate. For example if you have a sine-wave and have a phase-offset of 180 degrees the wave will first go down. It's the same with a square-wave. - Mit diesem Regler können Sie die Phasenverschiebung von Oszillator %1 setzen. Das heißt, Sie können den Punkt innerhalb einer Schwingung verschieben, an dem der Oszillator anfangen soll zu schwingen. Wenn Sie zum Beispiel eine Sinuswelle haben und eine Phasenverschiebung von 180 Grad einstellen, wird die Welle zu erst runter gehen. Das gleiche trifft auch bei einer Rechteckwelle zu. - - - Osc %1 stereo phase-detuning: - Oszillator %1 Stereophasenverschiebung: - - - With this knob you can set the stereo phase-detuning of oscillator %1. The stereo phase-detuning specifies the size of the difference between the phase-offset of left and right channel. This is very good for creating wide stereo sounds. - Mit diesem Regler können Sie die Stereophasenverschiebung von Oszillator %1 setzen. Die Stereophasenverschiebung gibt die Differenz zwischen den Phasenverschiebungen zwischen dem linken und rechten Kanal an. Dies eignet sich gut, um großräumig-klingende Stereo-Klänge zu erzeugen. - - - Use a sine-wave for current oscillator. - Sinuswelle für aktuellen Oszillator nutzen. - - - Use a triangle-wave for current oscillator. - Dreieckwelle für aktuellen Oszillator nutzen. - - - Use a saw-wave for current oscillator. - Sägezahnwelle für aktuellen Oszillator nutzen. - - - Use a square-wave for current oscillator. - Rechteckwelle für aktuellen Oszillator nutzen. - - - Use a moog-like saw-wave for current oscillator. - Moog-ähnliche Sägezahnwelle für aktuellen Oszillator nutzen. - - - Use an exponential wave for current oscillator. - Exponentielle Welle für aktuellen Oszillator nutzen. - - - Use white-noise for current oscillator. - Weißes Rauschen für aktuellen Oszillator nutzen. - - - Use a user-defined waveform for current oscillator. - Benutzerdefinierte Wellenform für aktuellen Oszillator nutzen. - - + Modulate phase of oscillator 1 by oscillator 2 - Phase von Oszillator 1 mit Oszillator 2 modulieren + + Modulate amplitude of oscillator 1 by oscillator 2 - Amplitude von Oszillator 1 mit Oszillator 2 modulieren + + Mix output of oscillators 1 & 2 - Mische Ausgang von Oszillator 1 & 2 + + + Synchronize oscillator 1 with oscillator 2 + + + + Modulate frequency of oscillator 1 by oscillator 2 - Frequenz von Oszillator 1 mit Oszillator 2 modulieren + + Modulate phase of oscillator 2 by oscillator 3 - Phase von Oszillator 2 mit Oszillator 3 modulieren + + Modulate amplitude of oscillator 2 by oscillator 3 - Amplitude von Oszillator 2 mit Oszillator 3 modulieren + + Mix output of oscillators 2 & 3 - Mische Ausgang von Oszillator 2 & 3 + + + Synchronize oscillator 2 with oscillator 3 + + + + Modulate frequency of oscillator 2 by oscillator 3 - Frequenz von Oszillator 2 mit Oszillator 3 modulieren + + + Osc %1 volume: + + + + + Osc %1 panning: + + + + + Osc %1 coarse detuning: + + + + + semitones + + + + + Osc %1 fine detuning left: + + + + + + cents + + + + + Osc %1 fine detuning right: + + + + + Osc %1 phase-offset: + + + + + + degrees + + + + + Osc %1 stereo phase-detuning: + + + + Sine wave - Sinuswelle + + Triangle wave - Dreieckwelle + + Saw wave - Sägezahnwelle + + Square wave - Rechteckwelle + + Moog-like saw wave - Moog-ähnliche Sägezahnwelle + + Exponential wave - Exponentielle Welle + + White noise - Weißes Rauschen + + User-defined wave - Benutzerdefinierte Welle + + Use alias-free wavetable oscillators. - Aliasfreie Wellentabellenoszillatoren benutzen. + lmms::gui::VecControlsDialog + HQ - HQ + + Double the resolution and simulate continuous analog-like trace. - Die Auflösung verdoppeln und einen kontinuierlichen analogähnlichen Trace simulieren. + + Log. scale - Log. Skala + + Display amplitude on logarithmic scale to better see small values. - Amplitude auf einer logarithmischen Skala anzeigen, um kleinere Werte besser sehen zu können. + + Persist. - Persist. + + Trace persistence: higher amount means the trace will stay bright for longer time. - Persistenz tracen: eine höhere Anzahl bedeutet, dass der Trace für eine längere Zeit hell bleiben wird. + + Trace persistence - Persistenz tracen + lmms::gui::VersionedSaveDialog + Increment version number - Versionsnummer erhöhen + + Decrement version number - Versionsnummer vermindern + + Save Options - Speicheroptionen + + already exists. Do you want to replace it? - existiert bereits. Möchten Sie es überschreiben? + lmms::gui::VestigeInstrumentView - Open other VST-plugin - Anderes VST-Plugin laden - - - Click here, if you want to open another VST-plugin. After clicking on this button, a file-open-dialog appears and you can select your file. - Klicken Sie hier, um ein anderes VST-Plugin zu öffnen. Nachdem Sie auf diesen Knopf geklickt haben, erscheint ein Datei-öffnen-Dialog und Sie können Ihre Datei wählen. - - - Show/hide GUI - GUI zeigen/verstecken - - - Click here to show or hide the graphical user interface (GUI) of your VST-plugin. - Klicken Sie hier, um die grafische Oberfläche (GUI) Ihres VST-Plugins anzuzeigen bzw. zu verstecken. - - - Turn off all notes - Alle Noten ausschalten - - - Open VST-plugin - VST-Plugin öffnen - - - DLL-files (*.dll) - DLL-Dateien (*.dll) - - - EXE-files (*.exe) - EXE-Dateien (*.exe) - - - No VST-plugin loaded - Kein VST-Plugin geladen - - - Control VST-plugin from LMMS host - VST-Plugin von LMMS fernsteuern - - - Click here, if you want to control VST-plugin from host. - Klicken Sie hier, um das VST-Plugin von LMMS aus fernzusteuern. - - - Open VST-plugin preset - VST-Plugin-Preset öffnen - - - Click here, if you want to open another *.fxp, *.fxb VST-plugin preset. - Klicken Sie hier, um eine andere »*.fxp«- bzw. »*.fxb«-Presetpatei für das VST-Plugin zu laden. - - - Previous (-) - Vorheriges (-) - - - Click here, if you want to switch to another VST-plugin preset program. - Klicken Sie hier, um zu einem anderen VST-Plugin-Presetprogramm zu wechseln. - - - Save preset - Preset speichern - - - Click here, if you want to save current VST-plugin preset program. - Klicken Sie hier, um das aktuelle VST-Plugin-Presetprogramm zu speichern. - - - Next (+) - Nächstes (+) - - - Click here to select presets that are currently loaded in VST. - Klicken Sie hier, um aktuell geladene VST-Presets auszuwählen. - - - Preset - Preset - - - by - von - - - - VST plugin control - - VST-Plugin-Controller - - + + Open VST plugin - VST-Plugin öffnen + + Control VST plugin from LMMS host - VST-Plugin von LMMS-Host steuern + + Open VST plugin preset - VST-Plugin-Preset öffnen + + + Previous (-) + + + + + Save preset + + + + + Next (+) + + + + + Show/hide GUI + + + + + Turn off all notes + + + + + DLL-files (*.dll) + + + + + EXE-files (*.exe) + + + + SO-files (*.so) - SO-Dateien (*.so) + + No VST plugin loaded - Kein VST-Plugin geladen + + + + + Preset + + + + + by + + + + + - VST plugin control + lmms::gui::VibedView + Enable waveform - Wellenform aktivieren + + + Smooth waveform - Wellenform glätten + + + Normalize waveform - Wellenform normalisieren + + + Sine wave - Sinuswelle + + + Triangle wave - Dreieckwelle + + + Saw wave - Sägezahnwelle + + + Square wave - Rechteckwelle + + + White noise - Weißes Rauschen + + + User-defined wave - Benutzerdefinierte Welle + + String volume: - Saitenlautstärke: + + String stiffness: - Saitenhärte: + + Pick position: - Zupf-Position: + + Pickup position: - Abnehmer-Position: + + String panning: - Saitenbalance: + + String detune: - Saitenverstimmung: + + String fuzziness: - Saitenunschärfe: + + String length: - Saitenlänge: + + Impulse Editor - Impuls-Editor + + Impulse - Impuls + + Enable/disable string - Saite aktivieren/deaktivieren + + Octave - Oktave + + String - Saite + lmms::gui::VstEffectControlDialog + Show/hide - Anzeigen/ausblenden - - - Control VST-plugin from LMMS host - VST-Plugin von LMMS fernsteuern - - - Click here, if you want to control VST-plugin from host. - Klicken Sie hier, um das VST-Plugin von LMMS aus fernzusteuern. - - - Open VST-plugin preset - VST-Plugin-Preset öffnen - - - Click here, if you want to open another *.fxp, *.fxb VST-plugin preset. - Klicken Sie hier, um eine andere »*.fxp«- bzw. »*.fxb«-Presetdatei für das VST-Plugin zu laden. - - - Previous (-) - Vorheriges (-) - - - Click here, if you want to switch to another VST-plugin preset program. - Klicken Sie hier, um zu einem anderen VST-Plugin-Presetprogramm zu wechseln. - - - Next (+) - Nächstes (+) - - - Click here to select presets that are currently loaded in VST. - Klicken Sie hier, um aktuell geladene VST-Presets auszuwählen. - - - Save preset - Preset speichern - - - Click here, if you want to save current VST-plugin preset program. - Klicken Sie hier, um das aktuelle VST-Plugin-Presetprogramm zu speichern. - - - Effect by: - Effekt von: - - - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + + Control VST plugin from LMMS host - VST-Plugin von LMMS-Host steuern + + Open VST plugin preset - VST-Plugin-Preset öffnen + + + + + Previous (-) + + + + + Next (+) + + + + + Save preset + + + + + + Effect by: + + + + + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /> + lmms::gui::WatsynView - Select oscillator A1 - Oszillator A1 auswählen - - - Select oscillator A2 - Oszillator A2 auswählen - - - Select oscillator B1 - Oszillator B1 auswählen - - - Select oscillator B2 - Oszillator B2 auswählen - - - Mix output of A2 to A1 - Mische Ausgang von A2 zu A1 - - - Modulate amplitude of A1 with output of A2 - Amplitude von A1 mit der Ausgabe von A2 modulieren - - - Ring-modulate A1 and A2 - A1 und A2 ringmodulieren - - - Modulate phase of A1 with output of A2 - Phase von A1 mit der Ausgabe von A2 modulieren - - - Mix output of B2 to B1 - Mische Ausgang von B2 zu B1 - - - Modulate amplitude of B1 with output of B2 - Amplitude von B1 mit der Ausgabe von B2 modulieren - - - Ring-modulate B1 and B2 - B1 und B2 ringmodulieren - - - Modulate phase of B1 with output of B2 - Phase von B1 mit der Ausgabe von B2 modulieren - - - Draw your own waveform here by dragging your mouse on this graph. - Zeichnen Sie heier eigene Wellenformen, indem Sie die Maus über den Graph ziehen. - - - Load waveform - Wellenform laden - - - Click to load a waveform from a sample file - Klicken Sie hier, um eine Wellenform aus einer Sampledatei zu laden - - - Phase left - Nach links verschieben - - - Click to shift phase by -15 degrees - Klicken Sie hier, um die Phase um -15 Grad zu verschieben - - - Phase right - Nach rechts verschieben - - - Click to shift phase by +15 degrees - Klicken Sie hier, um die Phase um +15 Grad zu verschieben - - - Normalize - Normalisieren - - - Click to normalize - Klicken zum Normalisieren - - - Invert - Invertieren - - - Click to invert - Klicken zum Invertieren - - - Smooth - Glätten - - - Click to smooth - Klicken zum Glätten - - - Sine wave - Sinuswelle - - - Click for sine wave - Klicken für Sinuswelle - - - Triangle wave - Dreieckwelle - - - Click for triangle wave - Klicken für Dreieckwelle - - - Click for saw wave - Klicken für Sägezahnwelle - - - Square wave - Rechteckwelle - - - Click for square wave - Klicken für Rechteckwelle - - + + + + Volume - Lautstärke + + + + + Panning - Balance + + + + + Freq. multiplier - Freq.-Faktor + + + + + Left detune - Linke Verstimmung + + + + + + + + + cents - Cent + + + + + Right detune - Rechte Verstimmung + + A-B Mix - A-B-Mischung + + Mix envelope amount - Hüllkurvenstärke mischen + + Mix envelope attack - Hüllkurven-Attack mischen + + Mix envelope hold - Hüllkurven-Hold mischen + + Mix envelope decay - Hüllkurven-Decay mischen + + Crosstalk - Übersprechen + + + Select oscillator A1 + + + + + Select oscillator A2 + + + + + Select oscillator B1 + + + + + Select oscillator B2 + + + + + Mix output of A2 to A1 + + + + Modulate amplitude of A1 by output of A2 - Amplitude von A1 mit der Ausgabe von A2 modulieren + + Ring modulate A1 and A2 - A1 und A2 ringmodulieren + + Modulate phase of A1 by output of A2 - Phase von A1 mit der Ausgabe von A2 modulieren + + + Mix output of B2 to B1 + + + + Modulate amplitude of B1 by output of B2 - Amplitude von B1 mit der Ausgabe von B2 modulieren + + Ring modulate B1 and B2 - B1 und B2 ringmodulieren + + Modulate phase of B1 by output of B2 - Phase von B1 mit der Ausgabe von B2 modulieren + + + + + + Draw your own waveform here by dragging your mouse on this graph. + + + + + Load waveform + + + + Load a waveform from a sample file - Eine Wellenform aus einer Sampledatei laden + + + Phase left + + + + Shift phase by -15 degrees - Phase um -15 Grad verschieben + + + Phase right + + + + Shift phase by +15 degrees - Phase um +15 Grad verschieben + + + + Normalize + + + + + + Invert + + + + + + Smooth + + + + + + Sine wave + + + + + + + Triangle wave + + + + Saw wave - Sägezahnwelle + + + + + + Square wave + lmms::gui::WaveShaperControlDialog + INPUT - EING + + Input gain: - Eingangsverstärkung: + + OUTPUT - AUSG + + Output gain: - Ausgabeverstärkung: - - - Reset waveform - Wellenform zurücksetzen - - - Click here to reset the wavegraph back to default - Klicken Sie hier, um den Wellengraph zum Standard zurückzusetzen - - - Smooth waveform - Wellenform glätten - - - Click here to apply smoothing to wavegraph - Klicken Sie hier, um den Wellengraph zu glätten - - - Increase graph amplitude by 1dB - Die Amplitude des Wellengraphs um 1dB erhöhen - - - Click here to increase wavegraph amplitude by 1dB - Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu erhöhen - - - Decrease graph amplitude by 1dB - Die Amplitude des Wellengraphs um 1dB vermindern - - - Click here to decrease wavegraph amplitude by 1dB - Klicken Sie hier, um die Amplitude des Wellengraphs um 1dB zu vermindern - - - Clip input - Eingang begrenzen - - - Clip input signal to 0dB - Eingangssignal auf 0dB begrenzen + + + Reset wavegraph - Wellenform zurücksetzen + + + Smooth wavegraph - Wellengraph glätten + + + Increase wavegraph amplitude by 1 dB - Die Amplitude des Wellengraphen um 1 dB erhöhen + + + Decrease wavegraph amplitude by 1 dB - Die Amplitude des Wellengraphen um 1 dB verringern + + + Clip input + + + + Clip input signal to 0 dB - Eingangssignal auf 0 dB begrenzen + lmms::gui::XpressiveView + Draw your own waveform here by dragging your mouse on this graph. - Zeichnen Sie eigene Wellenformen, indem Sie die Maus über den Graph ziehen. + + Select oscillator W1 - Oszillator W1 auswählen + + Select oscillator W2 - Oszillator W2 auswählen + + Select oscillator W3 - Oszillator W3 auswählen + + Select output O1 - Ausgabe O1 auswählen + + Select output O2 - Ausgabe O2 auswählen + + Open help window - Hilfefenster öffnen + + + Sine wave - Sinuswelle + + + Moog-saw wave - Moog-Sägezahnwelle + + + Exponential wave - Exponentielle Welle + + + Saw wave - Sägezahnwelle + + + User-defined wave - Benutzerdefinierte Welle + + + Triangle wave - Dreieckwelle + + + Square wave - Rechteckwelle + + + White noise - Weißes Rauschen + + WaveInterpolate - WellenInterpolation + + ExpressionValid - AusdruckGültig + + General purpose 1: - Universal 1: + + General purpose 2: - Universal 2: + + General purpose 3: - Universal 3: + + O1 panning: - O1-Balance: + + O2 panning: - O2-Balance: + + Release transition: - Release-Übergang: + + Smoothness - Glättung + lmms::gui::ZynAddSubFxView - Show GUI - GUI anzeigen - - - Click here to show or hide the graphical user interface (GUI) of ZynAddSubFX. - Klicken Sie hier, um die grafische Oberfläche (GUI) von ZynAddSubFX anzuzeigen bzw. auszublenden. - - + Portamento: - Portamento: + + PORT - PORT - - - Filter Frequency: - Filterfrequenz: - - - FREQ - FREQ - - - Filter Resonance: - Filterresonanz: - - - RES - RES - - - Bandwidth: - Bandbreite: - - - BW - BB - - - FM Gain: - FM-Verstärkung: - - - FM GAIN - FM-VRST - - - Resonance center frequency: - Zentrale Resonanzfrequenz: - - - RES CF - RES Z - - - Resonance bandwidth: - Resonanzbandbreite: - - - RES BW - RES-BB - - - Forward MIDI Control Changes - MIDI-Control-Änderungen weiterleiten + + Filter frequency: - Filterfrequenz: + + + FREQ + + + + Filter resonance: - Filterresonanz: + + + RES + + + + + Bandwidth: + + + + + BW + + + + FM gain: - FM-Verstärkung: + + + FM GAIN + + + + + Resonance center frequency: + + + + + RES CF + + + + + Resonance bandwidth: + + + + + RES BW + + + + Forward MIDI control changes - MIDI-Steuerungsänderungen weiterleiten + + + + + Show GUI + - - lmms::gui::ladspaDescription - - Plugins - Plugins - - - Description - Beschreibung - - - - lmms::gui::sf2InstrumentView - - Open other SoundFont file - Eine andere SoundFont-Datei öffnen - - - Click here to open another SF2 file - Klicken Sie hier, um eine andere SF2-Datei zu öffnen - - - Choose the patch - Patch wählen - - - Gain - Verstärkung - - - Apply reverb (if supported) - Hall anwenden (wenn unterstützt) - - - This button enables the reverb effect. This is useful for cool effects, but only works on files that support it. - Dieser Knopf aktiviert den Hall-Effekt, welcher jedoch nur mit Dateien funktioniert, die dies unterstützen. - - - Reverb Roomsize: - Hall/Raumgröße: - - - Reverb Damping: - Hall/Dämpfung: - - - Reverb Width: - Hall/Weite: - - - Reverb Level: - Reverb/Stärke: - - - Apply chorus (if supported) - Chorus-Effekt anwenden (wenn unterstützt) - - - This button enables the chorus effect. This is useful for cool echo effects, but only works on files that support it. - Dieser Knopf aktiviert den Chorus-Effekt. Das ist nützlich für Echo-Effekte, funktioniert jedoch nur mit Dateien, die dies unterstützen. - - - Chorus Lines: - Chorus/Anzahl: - - - Chorus Level: - Chorus/Stärke: - - - Chorus Speed: - Chorus/Geschwindigkeit: - - - Chorus Depth: - Chorus/Tiefe: - - - Open SoundFont file - SoundFont-Datei öffnen - - - SoundFont2 Files (*.sf2) - SoundFont2-Dateien (*.sf2) - - - - lmms::gui::sidInstrumentView - - Volume: - Lautstärke: - - - Resonance: - Resonanz: - - - Cutoff frequency: - Kennfrequenz: - - - High-Pass filter - Hochpassfilter - - - Band-Pass filter - Bandpassfilter - - - Low-Pass filter - Tiefpassfilter - - - Voice3 Off - Stimme 3 lautlos - - - MOS6581 SID - MOS6581 SID - - - MOS8580 SID - MOS8580 SID - - - Attack: - Anschwellzeit (attack): - - - Attack rate determines how rapidly the output of Voice %1 rises from zero to peak amplitude. - Anschwellzeit gibt an, wie schnell die Ausgabe von Stimme %1 von Null zur Spitzenamplitude anschwellt. - - - Decay: - Abfallzeit (decay): - - - Decay rate determines how rapidly the output falls from the peak amplitude to the selected Sustain level. - Abfallzeit gibt an, wie schnell die Ausgabe von der Spitzenamplitude bis zum ausgewählten Dauerpegel fällt. - - - Sustain: - Dauerpegel (sustain): - - - Output of Voice %1 will remain at the selected Sustain amplitude as long as the note is held. - Die Ausgabe von Stimme %1 wird solange bei dem ausgewählten Dauerpegel verbleiben, wie die Note gehalten wird. - - - Release: - Ausklingzeit (release): - - - The output of of Voice %1 will fall from Sustain amplitude to zero amplitude at the selected Release rate. - Die Ausgabe von Stimme %1 wird vom Dauerpegel mit der ausgewählten Ausklingzeit auf Null abfallen. - - - Pulse Width: - Pulsweite: - - - The Pulse Width resolution allows the width to be smoothly swept with no discernable stepping. The Pulse waveform on Oscillator %1 must be selected to have any audible effect. - Die Pulsweitenauflösung ermöglicht es die Weite gleitend, ohne erkennbare Schritte zu ändern. Die Puls-Wellenform von Oszillator %1 muss ausgewählt werden, um einen hörbaren Effekt zu haben. - - - Coarse: - Grob: - - - The Coarse detuning allows to detune Voice %1 one octave up or down. - Die Grobverstimmung ermöglicht es, die Stimme %1 um eine Oktave nach oben oder unten zu verstimmen. - - - Pulse Wave - Pulswelle - - - Triangle Wave - Dreieckwelle - - - SawTooth - Sägezahn - - - Noise - Rauschen - - - Sync - Synchron - - - Sync synchronizes the fundamental frequency of Oscillator %1 with the fundamental frequency of Oscillator %2 producing "Hard Sync" effects. - Synchron synchronisiert die Grundfrequenz von Oszillator %1 mit der Grundfrequenz von Oszillator %2, was einen »Hard Sync« Effekt hervorruft. - - - Ring-Mod - Ringmodulation - - - Ring-mod replaces the Triangle Waveform output of Oscillator %1 with a "Ring Modulated" combination of Oscillators %1 and %2. - Ringmodulation ersetzt die Dreieckwellenform-Ausgabe von Oszillator %1 mit einer ringmodulierten Kombination der Oszillatoren %1 und %2. - - - Filtered - Gefiltert - - - When Filtered is on, Voice %1 will be processed through the Filter. When Filtered is off, Voice %1 appears directly at the output, and the Filter has no effect on it. - Wenn Gefiltert an ist, wird Stimme %1 durch den Filter verarbeitet. Wenn Gefiltert aus ist, wird Stimme %1 direkt an die Ausgabe weitergeleitet und der Filter hat keine Auswirkung darauf. - - - Test - Test - - - Test, when set, resets and locks Oscillator %1 at zero until Test is turned off. - Der Test, wenn aktiviert, wird Oszillator %1 zurücksetzen und auf Null sperren, bis der Test ausgeschaltet wird. - - - - lmms::gui::stereoMatrixControlDialog - - Left to Left Vol: - Links-nach-links-Lautstärke: - - - Left to Right Vol: - Links-nach-rechts-Lautstärke: - - - Right to Left Vol: - Rechts-nach-links-Lautstärke: - - - Right to Right Vol: - Rechts-nach-rechts-Lautstärke: - - - - lmms::gui::vibedView - - Volume: - Lautstärke: - - - The 'V' knob sets the volume of the selected string. - Der »V«-Regler setzt die Lautstärke der gewählten Saite. - - - String stiffness: - Härte der Saite: - - - The 'S' knob sets the stiffness of the selected string. The stiffness of the string affects how long the string will ring out. The lower the setting, the longer the string will ring. - Der »S«-Regler setzt die Härte der gewählten Saite. Die Härte der Saite beeinflusst deren Ausklangdauer. Je kleiner die Einstellung, desto länger klingt die Saite aus. - - - Pick position: - Zupf-Position: - - - The 'P' knob sets the position where the selected string will be 'picked'. The lower the setting the closer the pick is to the bridge. - Der »P«-Regler bestimmt die Position, an der die Saite angezupft wird. Je kleiner die Einstellung, desto näher wird am Steg gezupft. - - - Pickup position: - Abnehmer-Position: - - - The 'PU' knob sets the position where the vibrations will be monitored for the selected string. The lower the setting, the closer the pickup is to the bridge. - Der »PU«-Regler bestimmt die Position, an der die Schwingungen an der gewählten Saite abgenommen werden. Je kleiner die Einstellung, desto näher ist der Abnehmer am Steg. - - - Pan: - Balance: - - - The Pan knob determines the location of the selected string in the stereo field. - Der Balance-Regler bestimmt den Ort der gewählten Saite im Stereo-Raum. - - - Detune: - Verstimmung: - - - The Detune knob modifies the pitch of the selected string. Settings less than zero will cause the string to sound flat. Settings greater than zero will cause the string to sound sharp. - Der Verstimmungs-Regler verändert die Tonhöhe der gewählten Saite. Einstellungen kleiner als 0 lassen die Saite flacher klingen, während Werte über 0 zu einem eher scharfen Klang führen. - - - Fuzziness: - Unschärfe: - - - The Slap knob adds a bit of fuzz to the selected string which is most apparent during the attack, though it can also be used to make the string sound more 'metallic'. - Der Unschärfe-Regler fügt dem Klang der Saite etwas »Fuzz« hinzu, welcher hauptsächlich während des Anschlages zum Tragen kommt, wenngleich er auch genutzt werden kann, um den Klang etwas metallischer zu gestalten. - - - Length: - Länge: - - - The Length knob sets the length of the selected string. Longer strings will both ring longer and sound brighter, however, they will also eat up more CPU cycles. - Der Länge-Regler bestimmt die Länge der gewählten Saite. Längere Saiten klingen länger und klingen heller, wobei sie gleichzeitig auch mehr CPU-Leistung fressen. - - - Impulse or initial state - Impuls oder Grundstellung - - - The 'Imp' selector determines whether the waveform in the graph is to be treated as an impulse imparted to the string by the pick or the initial state of the string. - Mit dem »Imp«-Knopf legen Sie fest, ob die Wellenform in diesem Graph als Impuls zum Anzupfen der Saite oder als Grundstellung für die Saite genutzt werden soll. - - - Octave - Oktave - - - The Octave selector is used to choose which harmonic of the note the string will ring at. For example, '-2' means the string will ring two octaves below the fundamental, 'F' means the string will ring at the fundamental, and '6' means the string will ring six octaves above the fundamental. - Mit dem Oktaven-Wähler kann der Oktavenversatz gegenüber der Note verändert werden. So meint beispielsweise eine Einstellung von »-2«, dass die Saite zwei Oktaven unterhalb des Grundtons (»F«) schwingen wird und »6« dementsprechend 6 Oktaven über dem Grundton. - - - Impulse Editor - Impuls-Editor - - - The waveform editor provides control over the initial state or impulse that is used to start the string vibrating. The buttons to the right of the graph will initialize the waveform to the selected type. The '?' button will load a waveform from a file--only the first 128 samples will be loaded. - -The waveform can also be drawn in the graph. - -The 'S' button will smooth the waveform. - -The 'N' button will normalize the waveform. - Der Wellenform-Editor ermöglicht die Kontrolle über die Grundstellung oder den Impuls, der genutzt wird, um die Saite zum Schwingen zu bringen. Die Knöpfe rechts des Graphen initialisieren die Wellenform mit dem gewünschten Typ. Der »?«-Knopf lässt Sie eine Wellenform aus einer Datei laden – allerdings werden nur die ersten 128 Samples geladen. - -Die Wellenform kann ebenfalls in dem Graph gezeichnet werden. - -Der »S«-Knopf glättet die Wellenform. - -Der »N«-Knopf normalisiert die Wellenform. - - - Vibed models up to nine independently vibrating strings. The 'String' selector allows you to choose which string is being edited. The 'Imp' selector chooses whether the graph represents an impulse or the initial state of the string. The 'Octave' selector chooses which harmonic the string should vibrate at. - -The graph allows you to control the initial state or impulse used to set the string in motion. - -The 'V' knob controls the volume. The 'S' knob controls the string's stiffness. The 'P' knob controls the pick position. The 'PU' knob controls the pickup position. - -'Pan' and 'Detune' hopefully don't need explanation. The 'Slap' knob adds a bit of fuzz to the sound of the string. - -The 'Length' knob controls the length of the string. - -The LED in the lower right corner of the waveform editor determines whether the string is active in the current instrument. - Vibed modelliert bis zu 9 unabhängige schwingende Saiten. Der Saiten-Wähler ermöglicht die Wahl der gerade aktiven Saite. Der »Imp«-Knopf bestimmt, ob der Graph einen Impuls oder die Grundstellung der Saite repräsentiert. Der Oktaven-Wähler gibt den Oktavenversatz der Saite gegenüber dem Grundton an. - -Der Graph ermöglicht die Kontrolle über die Grundstellung der Saite oder den Impuls, der zum Anzupfen der Saite genutzt wird. - -Der »V«-Regler bestimmt die Lautstärke. Mit dem »S«-Regler wird die Härte der Saite eingestellt. Der »P«-Regler beeinflusst den Ort, an dem die Saite angezupft wird, während der »PU«-Regler die Position des Abnehmers bestimmt. - -»Balance« und »Verstimmung« bedürfen hoffentlich keiner Erklärung. Der Unschärfe-Regler fügt dem Klang der Saite etwas »Fuzz« hinzu. - -Der Länge-Regler bestimmt die Länge der Saite. - -Die LED rechts unterhalb der Wellenform gibt an, ob die Saite aktiviert ist. - - - Enable waveform - Wellenform aktivieren - - - Click here to enable/disable waveform. - Hier klicken, um die Wellenform zu aktivieren/deaktiveren. - - - String - Saite - - - The String selector is used to choose which string the controls are editing. A Vibed instrument can contain up to nine independently vibrating strings. The LED in the lower right corner of the waveform editor indicates whether the selected string is active. - Der Saiten-Wähler bestimmt die derzeit bearbeitete Saite. Ein Vibed-Instrument kann aus bis zu neun voneinander unabhängig schwingenden Saiten bestehen. Die LED in der Ecke rechts unterhalb der Wellenform gibt an, ob die gewählte Saite aktiv ist. - - - Sine wave - Sinuswelle - - - Triangle wave - Dreieckwelle - - - Saw wave - Sägezahnwelle - - - Square wave - Rechteckwelle - - - White noise wave - Weißes Rauschen - - - User defined wave - Benutzerdefinierte Welle - - - Smooth - Glätten - - - Click here to smooth waveform. - Klicken Sie hier, um die Wellenform zu glätten. - - - Normalize - Normalisieren - - - Click here to normalize waveform. - Hier klicken, um die Wellenform zu normalisieren. - - - Use a sine-wave for current oscillator. - Sinuswelle für aktuellen Oszillator nutzen. - - - Use a triangle-wave for current oscillator. - Dreieckwelle für aktuellen Oszillator nutzen. - - - Use a saw-wave for current oscillator. - Sägezahnwelle für aktuellen Oszillator nutzen. - - - Use a square-wave for current oscillator. - Rechteckwelle für aktuellen Oszillator nutzen. - - - Use white-noise for current oscillator. - Weißes Rauschen für aktuellen Oszillator nutzen. - - - Use a user-defined waveform for current oscillator. - Benutzerdefinierte Wellenform für aktuellen Oszillator nutzen. - - - - lmms::waveShaperControls - - Input gain - Eingangsverstärkung - - - Output gain - Ausgabeverstärkung - - - - lmms:Lb302Synth - - VCF Cutoff Frequency - VCF-Kennfrequenz - - - VCF Resonance - VCF-Resonanz - - - VCF Envelope Mod - VCF-Hüllkurvenintensität - - - VCF Envelope Decay - VCF-Hüllkurvenabfallzeit - - - Distortion - Verzerrung - - - Waveform - Wellenform - - - Slide Decay - Slide-Abfallzeit - - - Slide - Slide - - - Accent - Betonung - - - Dead - Stumpf - - - 24dB/oct Filter - 24db/Okt-Filter - - - - papuInstrument - - Sweep time - Streichzeit - - - Sweep direction - Streichrichtung - - - Sweep RtShift amount - Streichstärke RtShift - - - Wave Pattern Duty - Wellenmustertastgrad - - - Channel 1 volume - Kanal-1-Lautstärke - - - Volume sweep direction - Lautstärken-Streichrichtung - - - Length of each step in sweep - Länge jedes Schritts beim Streichen - - - Channel 2 volume - Kanal-2-Lautstärke - - - Channel 3 volume - Kanal-3-Lautstärke - - - Channel 4 volume - Kanal-4-Lautstärke - - - Right Output level - Rechter Ausgabepegel - - - Left Output level - Linker Ausgabepegel - - - Channel 1 to SO2 (Left) - Kanal 1 zu SO2 (Links) - - - Channel 2 to SO2 (Left) - Kanal 2 zu SO2 (Links) - - - Channel 3 to SO2 (Left) - Kanal 3 zu SO2 (Links) - - - Channel 4 to SO2 (Left) - Kanal 4 zu SO2 (Links) - - - Channel 1 to SO1 (Right) - Kanal 1 zu SO1 (Rechts) - - - Channel 2 to SO1 (Right) - Kanal 2 zu SO1 (Rechts) - - - Channel 3 to SO1 (Right) - Kanal 3 zu SO1 (Rechts) - - - Channel 4 to SO1 (Right) - Kanal 4 zu SO1 (Rechts) - - - Treble - Höhe - - - Bass - Bass - - - Shift Register width - Schieberegister-Breite - - - - papuInstrumentView - - Sweep Time: - Streichzeit: - - - Sweep Time - Streichzeit - - - Sweep RtShift amount: - Streichstärke RtShift: - - - Sweep RtShift amount - Streichstärke RtShift - - - Wave pattern duty: - Wellenmustertastgrad: - - - Wave Pattern Duty - Wellenmustertastgrad - - - Square Channel 1 Volume: - Quadratkanal-1-Lautstärke: - - - Length of each step in sweep: - Länge jedes Schritts beim Streichen: - - - Length of each step in sweep - Länge jedes Schritts beim Streichen - - - Wave pattern duty - Wellenmustertastgrad - - - Square Channel 2 Volume: - Quadratkanal-2-Lautstärke: - - - Square Channel 2 Volume - Quadratkanal-2-Lautstärke - - - Wave Channel Volume: - Wellenkanal-Lautstärke: - - - Wave Channel Volume - Wellenkanal-Lautstärke - - - Noise Channel Volume: - Rauschkanal-Lautstärke: - - - Noise Channel Volume - Rauschkanal-Lautstärke - - - SO1 Volume (Right): - SO1-Lautstärke (Rechts): - - - SO1 Volume (Right) - SO1-Lautstärke (Rechts) - - - SO2 Volume (Left): - SO2-Lautstärke (Links): - - - SO2 Volume (Left) - SO2-Lautstärke (Links) - - - Treble: - Höhe: - - - Treble - Höhe - - - Bass: - Bass: - - - Bass - Bass - - - Sweep Direction - Streichrichtung - - - Volume Sweep Direction - Lautstärken-Streichrichtung - - - Shift Register Width - Schieberegister-Breite - - - Channel1 to SO1 (Right) - Kanal1 zu SO1 (Rechts) - - - Channel2 to SO1 (Right) - Kanal2 zu SO1 (Rechts) - - - Channel3 to SO1 (Right) - Kanal3 zu SO1 (Rechts) - - - Channel4 to SO1 (Right) - Kanal4 zu SO1 (Rechts) - - - Channel1 to SO2 (Left) - Kanal1 zu SO2 (Links) - - - Channel2 to SO2 (Left) - Kanal2 zu SO2 (Links) - - - Channel3 to SO2 (Left) - Kanal3 zu SO2 (Links) - - - Channel4 to SO2 (Left) - Kanal4 zu SO2 (Links) - - - Wave Pattern - Wellenmuster - - - The amount of increase or decrease in frequency - Die Menge an Erhöhung oder Verminderung in der Frequenz - - - The rate at which increase or decrease in frequency occurs - Die Rate, mit der Erhöhung oder Verminderung in der Frequenz geschieht - - - The duty cycle is the ratio of the duration (time) that a signal is ON versus the total period of the signal. - Der Tastgrad ist das Verhältnis der Dauer (Zeit), in dem das Signal AN ist, im Gegensatz zur gesamten Periodendauer des Signals. - - - Square Channel 1 Volume - Quadratkanal-1-Lautstärke - - - The delay between step change - Die Verzögerung zwischen Schrittänderung - - - Draw the wave here - Die Welle hier zeichnen - - - - testcontext - - test string - Test-String - - - test plural %n - - Test-Plural %n - Test-Plurale %n - - - - + \ No newline at end of file From 23db892d5583e1974f93fef24569854a25dcdc3e Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Tue, 24 Dec 2024 18:06:18 +0530 Subject: [PATCH 058/112] Remove 32 bit CI support for windows builds (#7619) * remove 32 bit from msvc ci * remove 32 bit from mingw builds * remove fail fast --- .github/workflows/build.yml | 50 +++++++++++++------------------------ 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 65fe8225a..9c3e6560f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -168,11 +168,7 @@ jobs: key: "homebrew-${{ matrix.arch }}\ -${{ hashFiles('Brewfile.lock.json') }}" mingw: - strategy: - fail-fast: false - matrix: - arch: ['32', '64'] - name: mingw${{ matrix.arch }} + name: mingw64 runs-on: ubuntu-latest container: ghcr.io/lmms/linux.mingw:20.04 env: @@ -201,11 +197,11 @@ jobs: - name: Cache ccache data uses: actions/cache@v3 with: - key: "ccache-${{ github.job }}-${{ matrix.arch }}-${{ github.ref }}\ + key: "ccache-${{ github.job }}-64-${{ github.ref }}\ -${{ github.run_id }}" restore-keys: | - ccache-${{ github.job }}-${{ matrix.arch }}-${{ github.ref }}- - ccache-${{ github.job }}-${{ matrix.arch }}- + ccache-${{ github.job }}-64-${{ github.ref }}- + ccache-${{ github.job }}-64- path: ~/.ccache - name: Configure run: | @@ -213,7 +209,7 @@ jobs: cmake -S . \ -B build \ -DCMAKE_INSTALL_PREFIX=./install \ - -DCMAKE_TOOLCHAIN_FILE="./cmake/toolchains/MinGW-W64-${{ matrix.arch }}.cmake" \ + -DCMAKE_TOOLCHAIN_FILE="./cmake/toolchains/MinGW-W64-64.cmake" \ $CMAKE_OPTS - name: Build run: cmake --build build @@ -222,7 +218,7 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v4 with: - name: mingw${{ matrix.arch }} + name: mingw64 path: build/lmms-*.exe - name: Trim ccache and print statistics run: | @@ -234,11 +230,7 @@ jobs: env: CCACHE_MAXSIZE: 500M msvc: - strategy: - fail-fast: false - matrix: - arch: ['x86', 'x64'] - name: msvc-${{ matrix.arch }} + name: msvc-x64 runs-on: windows-2019 env: CCACHE_MAXSIZE: 0 @@ -259,19 +251,19 @@ jobs: id: cache-deps uses: actions/cache@v3 with: - key: vcpkg-${{ matrix.arch }}-${{ hashFiles('vcpkg.json') }} + key: vcpkg-x64-${{ hashFiles('vcpkg.json') }} restore-keys: | - vcpkg-${{ matrix.arch }}- + vcpkg-x64- path: build\vcpkg_installed - name: Cache ccache data uses: actions/cache@v3 with: # yamllint disable rule:line-length - key: "ccache-${{ github.job }}-${{ matrix.arch }}-${{ github.ref }}\ + key: "ccache-${{ github.job }}-x64-${{ github.ref }}\ -${{ github.run_id }}" restore-keys: | - ccache-${{ github.job }}-${{ matrix.arch }}-${{ github.ref }}- - ccache-${{ github.job }}-${{ matrix.arch }}- + ccache-${{ github.job }}-x64-${{ github.ref }}- + ccache-${{ github.job }}-x64- path: ~\AppData\Local\ccache # yamllint enable rule:line-length - name: Install tools @@ -280,21 +272,13 @@ jobs: uses: jurplel/install-qt-action@b3ea5275e37b734d027040e2c7fe7a10ea2ef946 with: version: '5.15.2' - arch: |- - ${{ - fromJSON(' - { - "x86": "win32_msvc2019", - "x64": "win64_msvc2019_64" - } - ')[matrix.arch] - }} + arch: "win64_msvc2019_64" archives: qtbase qtsvg qttools cache: true - name: Set up build environment uses: ilammy/msvc-dev-cmd@cec98b9d092141f74527d0afa6feb2af698cfe89 with: - arch: ${{ matrix.arch }} + arch: x64 - name: Configure run: | ccache --zero-stats @@ -307,8 +291,8 @@ jobs: -DCMAKE_BUILD_TYPE=RelWithDebInfo ` -DUSE_COMPILE_CACHE=ON ` -DUSE_WERROR=ON ` - -DVCPKG_TARGET_TRIPLET="${{ matrix.arch }}-windows" ` - -DVCPKG_HOST_TRIPLET="${{ matrix.arch }}-windows" ` + -DVCPKG_TARGET_TRIPLET="x64-windows" ` + -DVCPKG_HOST_TRIPLET="x64-windows" ` -DVCPKG_MANIFEST_INSTALL="${{ env.should_install_manifest }}" env: should_install_manifest: @@ -324,7 +308,7 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v4 with: - name: msvc-${{ matrix.arch }} + name: msvc-x64 path: build\lmms-*.exe - name: Trim ccache and print statistics run: | From 3fcbb4ca773293bb6c82869981db8cea834cd544 Mon Sep 17 00:00:00 2001 From: Niyonkuru-AI-Crazy Date: Thu, 26 Dec 2024 10:34:06 -0800 Subject: [PATCH 059/112] Fix 3 minor typos (#7635) --- src/core/DataFile.cpp | 2 +- src/core/midi/MidiJack.cpp | 2 +- src/gui/editors/StepRecorderWidget.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/DataFile.cpp b/src/core/DataFile.cpp index 8bd3a776b..503a0b6a9 100644 --- a/src/core/DataFile.cpp +++ b/src/core/DataFile.cpp @@ -353,7 +353,7 @@ bool DataFile::writeFile(const QString& filename, bool withResources) if (QDir(bundleDir).exists()) { showError(SongEditor::tr("Operation denied"), - SongEditor::tr("A bundle folder with that name already eists on the " + SongEditor::tr("A bundle folder with that name already exists on the " "selected path. Can't overwrite a project bundle. Please select a different " "name.")); diff --git a/src/core/midi/MidiJack.cpp b/src/core/midi/MidiJack.cpp index 29e7e27ec..a549059ab 100644 --- a/src/core/midi/MidiJack.cpp +++ b/src/core/midi/MidiJack.cpp @@ -57,7 +57,7 @@ static void JackMidiShutdown(void *arg) //: When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (title) QString msg_short = MidiJack::tr("JACK server down"); //: When JACK(JACK Audio Connection Kit) disconnects, it will show the following message (dialog message) - QString msg_long = MidiJack::tr("The JACK server seems to be shuted down."); + QString msg_long = MidiJack::tr("The JACK server seems to be shut down."); QMessageBox::information(gui::getGUI()->mainWindow(), msg_short, msg_long); } diff --git a/src/gui/editors/StepRecorderWidget.cpp b/src/gui/editors/StepRecorderWidget.cpp index ffb45aa53..93fd59cf7 100644 --- a/src/gui/editors/StepRecorderWidget.cpp +++ b/src/gui/editors/StepRecorderWidget.cpp @@ -94,7 +94,7 @@ void StepRecorderWidget::setEndPosition(TimePos pos) void StepRecorderWidget::showHint() { - TextFloat::displayMessage(tr( "Hint" ), tr("Move recording curser using arrows"), + TextFloat::displayMessage(tr( "Hint" ), tr("Move recording cursor using arrows"), embed::getIconPixmap("hint")); } From 303215f8b1c6d6a684a47a618565dbf83141b916 Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Wed, 1 Jan 2025 14:25:40 +0100 Subject: [PATCH 060/112] Maximize button for resizable instruments (#7514) * Maximize button for resizable instruments Show the maximize button for resizable instruments. Most other changes have the character of refactorings and code reorganizations. Remove the negation in the if condition for resizable instruments to make the code better readable. Only manipulate the system menu if the instrument is not resizable. Add a TODO to the special code that sets a size. * Fix rendering of maximized sub windows In `SubWindow::paintEvent` don't paint anything if the sub window is maximized . Otherwise some gradients are visible behind the maximized child content. In `SubWindow::adjustTitleBar` hide the title label and the buttons if the sub window is maximized. Always show the title and close button if not maximized. This is needed to reset the state correctly after maximization. * Add SubWindow::addTitleButton Add the helper method `SubWindow::addTitleButton` to reduce code repetition in the constructor. * Only disable the minimize button Disable the minimize button by taking the current flags and removing the minimize button hint from them instead of giving a list which might become incomplete in the future. So only do what we want to do. * Remove dependency on MdiArea Remove a dependency on the `MdiArea` when checking if the sub window is the active one. Query its own window state to find out if it is active. * Clear Qt::MSWindowsFixedSizeDialogHint Clear the `Qt::MSWindowsFixedSizeDialogHint` flag for resizable instruments (symmetric to the `else` case). * Update the sub window title bar of exchanged instruments Update the title bar of an instrument's sub window if the model changes, e.g. if an instrument is exchanged via drag & drop. The main fix is to call the new method `updateSubWindowState` in `InstrumentTrackWindow::modelChanged`. It contains mostly the code that was previously executed in the constructor of `InstrumentTrackWindow`. The constructor now simply calls this method after it has put the constructed instance into a sub window. With the current implementation the sub window needs to be explicitly triggered to update its title bar once the flags have been adjusted in `updateSubWindowState`. This is done with the new public method `SubWindow::updateTitleBar`. Please note that such an explicit update is not needed if the instrument windows are managed by a `QMdiSubWindow` instead of a `SubWindow`. This means that the implementation of `SubWindow` is still missing something that `QMdiSubWindow` does. However, debugging also showed that setting the window flags of the sub window does not seem to lead to an event that could be caught in `SubWindow::changeEvent`. This was found out by simply dumping the event types of all events that arrive in that method and exchanging an instrument. The method `updateSubWindowState` uses the added method `findSubWindowInParents` to find the sub window it is contained in. The latter method should be considered to be moved into a templated helper class because it might be useful in other contexts as well. ## Technical details If you want to experiment with using QMdiSubWindows then simply add the following method to `MainWindow` (right next to `addWindowedWidget`): ``` QMdiSubWindow* MainWindow::addQMdiSubWindow(QWidget *w, Qt::WindowFlags windowFlags) { // wrap the widget in our own *custom* window that patches some errors in QMdiSubWindow auto win = new QMdiSubWindow(m_workspace->viewport(), windowFlags); win->setAttribute(Qt::WA_DeleteOnClose); win->setWidget(w); m_workspace->addSubWindow(win); return win; } ``` Then call that method instead of `addWindowedWidget` in the constructor of `InstrumentTrackWindow`: ``` QMdiSubWindow* subWin = getGUI()->mainWindow()->addQMdiSubWindow( this ); ``` You can then comment out the cast and the call of `updateTitleBar` in `updateSubWindowState` and everything will still work. * Update the system menu Show or hide the "Size" and "Maximize" entries in the system menu depending on whether the instrument view is resizable or not. * Show non-resizable instruments as normal Show the sub windows of non-resizable instruments as normal if the sub window is maximized because it was previously used with a resizable instrument. * Fix typo * Rename updateSubWindowState Rename `updateSubWindowState` to `updateSubWindow`. --- include/InstrumentTrackWindow.h | 4 + include/SubWindow.h | 4 + src/gui/SubWindow.cpp | 4 + src/gui/instrument/InstrumentTrackWindow.cpp | 94 ++++++++++++++++---- 4 files changed, 88 insertions(+), 18 deletions(-) diff --git a/include/InstrumentTrackWindow.h b/include/InstrumentTrackWindow.h index f44430d0e..d4b285ccd 100644 --- a/include/InstrumentTrackWindow.h +++ b/include/InstrumentTrackWindow.h @@ -34,6 +34,7 @@ class QLabel; class QLineEdit; class QWidget; +class QMdiSubWindow; namespace lmms { @@ -134,6 +135,9 @@ private: //! required to keep the old look when using a variable sized tab widget void adjustTabSize(QWidget *w); + QMdiSubWindow* findSubWindowInParents(); + void updateSubWindow(); + InstrumentTrack * m_track; InstrumentTrackView * m_itv; diff --git a/include/SubWindow.h b/include/SubWindow.h index c5e3f02d4..cc9ff38a3 100644 --- a/include/SubWindow.h +++ b/include/SubWindow.h @@ -71,6 +71,10 @@ public: int titleBarHeight() const; int frameWidth() const; + // TODO Needed to update the title bar when replacing instruments. + // Update works automatically if QMdiSubWindows are used. + void updateTitleBar(); + protected: // hook the QWidget move/resize events to update the tracked geometry void moveEvent( QMoveEvent * event ) override; diff --git a/src/gui/SubWindow.cpp b/src/gui/SubWindow.cpp index 1fa0f25a7..a76f4055e 100644 --- a/src/gui/SubWindow.cpp +++ b/src/gui/SubWindow.cpp @@ -246,6 +246,10 @@ int SubWindow::frameWidth() const } +void SubWindow::updateTitleBar() +{ + adjustTitleBar(); +} /** diff --git a/src/gui/instrument/InstrumentTrackWindow.cpp b/src/gui/instrument/InstrumentTrackWindow.cpp index 221338138..f6f30d020 100644 --- a/src/gui/instrument/InstrumentTrackWindow.cpp +++ b/src/gui/instrument/InstrumentTrackWindow.cpp @@ -59,7 +59,6 @@ #include "MainWindow.h" #include "PianoView.h" #include "PluginFactory.h" -#include "PluginView.h" #include "Song.h" #include "StringPairDrag.h" #include "SubWindow.h" @@ -284,25 +283,12 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : updateInstrumentView(); QMdiSubWindow* subWin = getGUI()->mainWindow()->addWindowedWidget( this ); - Qt::WindowFlags flags = subWin->windowFlags(); - if (!m_instrumentView->isResizable()) { - flags |= Qt::MSWindowsFixedSizeDialogHint; - // any better way than this? - } else { - subWin->setMaximumSize(m_instrumentView->maximumHeight() + 12, m_instrumentView->maximumWidth() + 208); - subWin->setMinimumSize( m_instrumentView->minimumWidth() + 12, m_instrumentView->minimumHeight() + 208); - } - flags &= ~Qt::WindowMaximizeButtonHint; - subWin->setWindowFlags( flags ); + // The previous call should have given us a sub window parent. Therefore + // we can reuse this method. + updateSubWindow(); - // Hide the Size and Maximize options from the system menu - // since the dialog size is fixed. - QMenu * systemMenu = subWin->systemMenu(); - systemMenu->actions().at( 2 )->setVisible( false ); // Size - systemMenu->actions().at( 4 )->setVisible( false ); // Maximize - - subWin->setWindowIcon( embed::getIconPixmap( "instrument_track" ) ); + subWin->setWindowIcon(embed::getIconPixmap("instrument_track")); subWin->hide(); } @@ -406,6 +392,8 @@ void InstrumentTrackWindow::modelChanged() m_tuningView->keymapCombo()->setModel(m_track->m_microtuner.keymapModel()); m_tuningView->rangeImportCheckbox()->setModel(m_track->m_microtuner.keyRangeImportModel()); updateName(); + + updateSubWindow(); } @@ -710,5 +698,75 @@ void InstrumentTrackWindow::adjustTabSize(QWidget *w) w->update(); } +QMdiSubWindow* InstrumentTrackWindow::findSubWindowInParents() +{ + // TODO Move to helper? Does not seem to be provided by Qt. + auto p = parentWidget(); + + while (p != nullptr) + { + auto mdiSubWindow = dynamic_cast(p); + if (mdiSubWindow) + { + return mdiSubWindow; + } + else + { + p = p->parentWidget(); + } + } + + return nullptr; +} + +void InstrumentTrackWindow::updateSubWindow() +{ + auto subWindow = findSubWindowInParents(); + if (subWindow && m_instrumentView) + { + Qt::WindowFlags flags = subWindow->windowFlags(); + + const auto instrumentViewResizable = m_instrumentView->isResizable(); + + if (instrumentViewResizable) + { + // TODO As of writing SlicerT is the only resizable instrument. Is this code specific to SlicerT? + const auto extraSpace = QSize(12, 208); + subWindow->setMaximumSize(m_instrumentView->maximumSize() + extraSpace); + subWindow->setMinimumSize(m_instrumentView->minimumSize() + extraSpace); + + flags &= ~Qt::MSWindowsFixedSizeDialogHint; + flags |= Qt::WindowMaximizeButtonHint; + } + else + { + flags |= Qt::MSWindowsFixedSizeDialogHint; + flags &= ~Qt::WindowMaximizeButtonHint; + + // The sub window might be reused from an instrument that was maximized. Show the sub window + // as normal, i.e. not maximized, if the instrument view is not resizable. + if (subWindow->isMaximized()) + { + subWindow->showNormal(); + } + } + + subWindow->setWindowFlags(flags); + + // Show or hide the Size and Maximize options from the system menu depending on whether the view is resizable or not + QMenu * systemMenu = subWindow->systemMenu(); + systemMenu->actions().at(2)->setVisible(instrumentViewResizable); // Size + systemMenu->actions().at(4)->setVisible(instrumentViewResizable); // Maximize + + // TODO This is only needed if the sub window is implemented with LMMS' own SubWindow class. + // If an QMdiSubWindow is used everything works automatically. It seems that SubWindow is + // missing some implementation details that QMdiSubWindow has. + auto subWin = dynamic_cast(subWindow); + if (subWin) + { + subWin->updateTitleBar(); + } + } +} } // namespace lmms::gui From 3ee0afb2a15ccb6862f780ab381b723f6ae2b03b Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Thu, 9 Jan 2025 23:34:33 -0500 Subject: [PATCH 061/112] Add support for MSYS2 CLANGARM64 Adds initial Windows ARM64 support --- cmake/modules/DetectMachine.cmake | 16 +++++++++------- cmake/nsis/CMakeLists.txt | 6 +++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake index b9aa4c8c6..8d6b84af4 100644 --- a/cmake/modules/DetectMachine.cmake +++ b/cmake/modules/DetectMachine.cmake @@ -77,13 +77,15 @@ IF(WIN32) unset(MSVC_VER) else() # Cross-compiled - # TODO: Handle Windows ARM64 targets - IF(WIN64) - SET(IS_X86_64 TRUE) - SET(LMMS_BUILD_WIN64 TRUE) - ELSE(WIN64) - SET(IS_X86 TRUE) - ENDIF(WIN64) + if($ENV{MSYSTEM_CARCH} MATCHES "aarch64") + set(IS_ARM64 TRUE) + set(LMMS_BUILD_WIN64 TRUE) + elseif(WIN64) + set(IS_X86_64 TRUE) + set(LMMS_BUILD_WIN64 TRUE) + else() + set(IS_X86 TRUE) + endif() endif() ELSE() # Detect target architecture based on compiler target triple e.g. "x86_64-pc-linux" diff --git a/cmake/nsis/CMakeLists.txt b/cmake/nsis/CMakeLists.txt index e926e074d..8363cacf7 100644 --- a/cmake/nsis/CMakeLists.txt +++ b/cmake/nsis/CMakeLists.txt @@ -35,7 +35,11 @@ SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS " " PARENT_SCOPE) IF(WIN64) - SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${WIN_PLATFORM}-win64") + if(IS_ARM64) + set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${WIN_PLATFORM}-arm64") + else() + set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-${WIN_PLATFORM}-win64") + endif() SET(CPACK_INSTALL_FIX "$PROGRAMFILES64\\\\${CPACK_PACKAGE_INSTALL_DIRECTORY}\\\\") SET(CPACK_NSIS_DEFINES " ${CPACK_NSIS_DEFINES} From 0b0833bf5455daffb7e08d8d47498ddc54b1084e Mon Sep 17 00:00:00 2001 From: Daniel Iisak Mikael Kristiansson <145011902+dkristia@users.noreply.github.com> Date: Fri, 10 Jan 2025 16:04:21 +0200 Subject: [PATCH 062/112] Bump project year (#7645) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5bb4adc4a..89320bd9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ include(StaticDependencies) STRING(TOUPPER "${CMAKE_PROJECT_NAME}" PROJECT_NAME_UCASE) -SET(PROJECT_YEAR 2024) +SET(PROJECT_YEAR 2025) SET(PROJECT_AUTHOR "LMMS Developers") SET(PROJECT_URL "https://lmms.io") From b21a2696a9b06effa0f4edd9a22e38ff13240643 Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Thu, 16 Jan 2025 21:05:43 -0500 Subject: [PATCH 063/112] Change tooltip window flags (#7613) * Change tooltip window flags --- src/gui/widgets/TextFloat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/TextFloat.cpp b/src/gui/widgets/TextFloat.cpp index 4eb14bd50..bd3ed03bc 100644 --- a/src/gui/widgets/TextFloat.cpp +++ b/src/gui/widgets/TextFloat.cpp @@ -44,7 +44,7 @@ TextFloat::TextFloat() : } TextFloat::TextFloat(const QString & title, const QString & text, const QPixmap & pixmap) : - QWidget(getGUI()->mainWindow(), Qt::ToolTip) + QWidget(getGUI()->mainWindow(), Qt::Tool | Qt::FramelessWindowHint) { QHBoxLayout * mainLayout = new QHBoxLayout(); setLayout(mainLayout); From 80a46d3c7627d5adba2f5bc63b07dc8425101db9 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:20:04 +0530 Subject: [PATCH 064/112] Add gprof profiling support. (#7547) --- CMakeLists.txt | 18 ++++++++++++++++++ plugins/LadspaEffect/swh/CMakeLists.txt | 2 +- plugins/LadspaEffect/tap/CMakeLists.txt | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89320bd9b..2bad6de0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,6 +102,7 @@ option(WANT_DEBUG_ASAN "Enable AddressSanitizer" OFF) option(WANT_DEBUG_TSAN "Enable ThreadSanitizer" OFF) option(WANT_DEBUG_MSAN "Enable MemorySanitizer" OFF) option(WANT_DEBUG_UBSAN "Enable UndefinedBehaviorSanitizer" OFF) +option(WANT_DEBUG_GPROF "Enable gprof profiler" OFF) OPTION(BUNDLE_QT_TRANSLATIONS "Install Qt translation files for LMMS" OFF) @@ -664,6 +665,22 @@ elseif(MSVC) add_compile_options("/utf-8") ENDIF() +# gcc builds support gprof for profiling +# clang too seems to support gprof, but i couldn't get it working. +# if needed, change the if condition to "GNU|CLANG" +if(NOT CMAKE_CXX_COMPILER_ID MATCHES "GNU") + set(STATUS_GPROF ", NOT SUPPORTED BY THIS COMPILER") + set(WANT_DEBUG_GPROF OFF) +endif() + +if(WANT_DEBUG_GPROF) + add_compile_options(-pg) + add_link_options(-pg) + set(STATUS_GPROF "OK") +else() + set(STATUS_GPROF "DISABLED ${STATUS_GPROF}") +endif() + # add enabled sanitizers function(add_sanitizer sanitizer supported_compilers want_flag status_flag) if(${want_flag}) @@ -831,6 +848,7 @@ MESSAGE( "* Debug using ThreadSanitizer : ${STATUS_DEBUG_TSAN}\n" "* Debug using MemorySanitizer : ${STATUS_DEBUG_MSAN}\n" "* Debug using UBSanitizer : ${STATUS_DEBUG_UBSAN}\n" +"* Profile using GNU profiler : ${STATUS_GPROF}\n" ) MESSAGE( diff --git a/plugins/LadspaEffect/swh/CMakeLists.txt b/plugins/LadspaEffect/swh/CMakeLists.txt index 203c3168f..27796cc9d 100644 --- a/plugins/LadspaEffect/swh/CMakeLists.txt +++ b/plugins/LadspaEffect/swh/CMakeLists.txt @@ -13,7 +13,7 @@ ENDIF() # Additional compile flags if(NOT MSVC) set(COMPILE_FLAGS ${COMPILE_FLAGS} -O3 -c - -fomit-frame-pointer -funroll-loops -ffast-math -fno-strict-aliasing + -funroll-loops -ffast-math -fno-strict-aliasing ${PIC_FLAGS} ) endif() diff --git a/plugins/LadspaEffect/tap/CMakeLists.txt b/plugins/LadspaEffect/tap/CMakeLists.txt index 84c469465..93b54ae47 100644 --- a/plugins/LadspaEffect/tap/CMakeLists.txt +++ b/plugins/LadspaEffect/tap/CMakeLists.txt @@ -6,7 +6,7 @@ LIST(SORT PLUGIN_SOURCES) if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:fast") else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -fomit-frame-pointer -fno-strict-aliasing -funroll-loops -ffast-math") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -fno-strict-aliasing -funroll-loops -ffast-math") endif() FOREACH(_item ${PLUGIN_SOURCES}) GET_FILENAME_COMPONENT(_plugin "${_item}" NAME_WE) From 501011e57389e84d3e702b8b2aae993069c5c8ff Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Wed, 22 Jan 2025 22:40:17 +0100 Subject: [PATCH 065/112] Vectorscope render fix (#7652) * Fix rendering for Vectorscope The rendering of the Vectorscope is broken on Wayland if the size of the Vectorscope is increased. This is caused by using a `QImage` to render the scope traces which is then scaled up. Introduce a new way to paint the vector scope (goniometer) which simply paints lines or points that progressively get dimmer and which does not make use of a QImage anymore. It supports the following features: * Log mode * Zooming * Rendering the drawing performance * Selecting a different color for the traces It does not support: * HQ Mode: The new implementation provides a performance that's equivalent to Non-HQ mode and look similar or better than the HQ mode. * Blurring of old data * Persistence: Might be implemented by using a factor for the dimming Rendering of the samples/trances uses the composition mode "Plus" so that overlapping elements will appear like adding brightness. Painting the grid and lines is done using the normal composition mode "Source Over" so that it simply replaces existing pixels. Painting of the lines/points and the grids and lines is done in a "signal space", i.e. a transform where elements in the interval of [-1, 1] feel "natural". The text is painted in "widget space". * Remove old implementation Remove HQ mode and persistence. Also remove the legacy option again. This removes the models, loading, saving and the GUI controls. Remove all unnecessary members from `VectorView`, adjust the constructor. Move the implementation of `paintLinesMode` into `paintEvent`. Remove methods `paintLegacyMode` and `paintLinesMode`. * Move colors into VectorView Move the colors out of `VecControls` into `VectorView` as they are related to presentation. * Remove friend relationship to VectorView Remove a friend relationship to `VectorView` from `VecControls` by introducing const getters for the models. * Remove VectorView::m_visible Remove the unnecessary member `m_visible` from `VectorView`. It was not initialized and only written to but never read. * Make Vectorscope themeable Make the Vectorscope themeable by introducing Qt properties for the relevant colors. The default theme gets the values from the code whereas the classic theme gets a trace with amber color. * Rename m_colorFG Rename `m_colorFG` to `m_colorTrace`. Adjust the Qt property accordingly. Remove local variable `traceColor` from paint method and use member `m_colorTrace` directly. * Remove m_colorOutline Remove unused member `m_colorOutline`. * Fix horizontal lines on silence Fix the horizontal lines that are rendered on silence. They seem to be produced when rendering lines that start and end at the same point. Therefore we only draw a point if the current and last point are the same. * Add some margin to the VectorView Add some margin to the rendering of the `VectorView` so that the circle does not touch the bounary of the widget. * Clean up the layout of the Vectorscope Clean up the layout of the Vectorscope. The checkboxes are not put on top of the vector view anymore but are organized in a horizontal layout beneath it. This gives a much tidier look. --- data/themes/classic/style.css | 6 + data/themes/default/style.css | 6 + plugins/Vectorscope/VecControls.cpp | 14 +- plugins/Vectorscope/VecControls.h | 12 +- plugins/Vectorscope/VecControlsDialog.cpp | 39 +-- plugins/Vectorscope/VectorView.cpp | 361 +++++++++------------- plugins/Vectorscope/VectorView.h | 25 +- 7 files changed, 199 insertions(+), 264 deletions(-) diff --git a/data/themes/classic/style.css b/data/themes/classic/style.css index 1667ea5fe..13047dc5d 100644 --- a/data/themes/classic/style.css +++ b/data/themes/classic/style.css @@ -1038,6 +1038,12 @@ lmms--gui--CompressorControlDialog lmms--gui--Knob { qproperty-lineWidth: 2; } +lmms--gui--VectorView { + qproperty-colorTrace: rgba(255, 170, 33, 255); + qproperty-colorGrid: rgba(76, 80, 84, 128); + qproperty-colorLabels: rgba(76, 80, 84, 255); +} + lmms--gui--BarModelEditor { qproperty-backgroundBrush: rgba(28, 73, 51, 255); qproperty-barBrush: rgba(17, 136, 71, 255); diff --git a/data/themes/default/style.css b/data/themes/default/style.css index e3e2eec6a..184bc9b56 100644 --- a/data/themes/default/style.css +++ b/data/themes/default/style.css @@ -1077,6 +1077,12 @@ lmms--gui--CompressorControlDialog lmms--gui--Knob { qproperty-lineWidth: 2; } +lmms--gui--VectorView { + qproperty-colorTrace: rgba(60, 255, 130, 255); + qproperty-colorGrid: rgba(76, 80, 84, 128); + qproperty-colorLabels: rgba(76, 80, 84, 255); +} + lmms--gui--BarModelEditor { qproperty-backgroundBrush: rgba(28, 73, 51, 255); qproperty-barBrush: rgba(17, 136, 71, 255); diff --git a/plugins/Vectorscope/VecControls.cpp b/plugins/Vectorscope/VecControls.cpp index cd0f21f61..19158865d 100644 --- a/plugins/Vectorscope/VecControls.cpp +++ b/plugins/Vectorscope/VecControls.cpp @@ -38,15 +38,9 @@ VecControls::VecControls(Vectorscope *effect) : m_effect(effect), // initialize models and set default values - m_persistenceModel(0.5f, 0.0f, 1.0f, 0.05f, this, tr("Display persistence amount")), m_logarithmicModel(false, this, tr("Logarithmic scale")), - m_highQualityModel(false, this, tr("High quality")) + m_linesModeModel(true, this, tr("Lines rendering")) { - // Colors (percentages include sRGB gamma correction) - m_colorFG = QColor(60, 255, 130, 255); // ~LMMS green - m_colorGrid = QColor(76, 80, 84, 128); // ~60 % gray (slightly cold / blue), 50 % transparent - m_colorLabels = QColor(76, 80, 84, 255); // ~60 % gray (slightly cold / blue) - m_colorOutline = QColor(30, 34, 38, 255); // ~40 % gray (slightly cold / blue) } @@ -59,17 +53,15 @@ gui::EffectControlDialog* VecControls::createView() void VecControls::loadSettings(const QDomElement &element) { - m_persistenceModel.loadSettings(element, "Persistence"); m_logarithmicModel.loadSettings(element, "Logarithmic"); - m_highQualityModel.loadSettings(element, "HighQuality"); + m_linesModeModel.loadSettings(element, "LinesMode"); } void VecControls::saveSettings(QDomDocument &document, QDomElement &element) { - m_persistenceModel.saveSettings(document, element, "Persistence"); m_logarithmicModel.saveSettings(document, element, "Logarithmic"); - m_highQualityModel.saveSettings(document, element, "HighQuality"); + m_linesModeModel.saveSettings(document, element, "LinesMode"); } diff --git a/plugins/Vectorscope/VecControls.h b/plugins/Vectorscope/VecControls.h index 71b1c122e..2bdb3b157 100644 --- a/plugins/Vectorscope/VecControls.h +++ b/plugins/Vectorscope/VecControls.h @@ -57,20 +57,16 @@ public: QString nodeName() const override {return "Vectorscope";} int controlCount() override {return 3;} + const BoolModel& getLogarithmicModel() const { return m_logarithmicModel; } + const BoolModel& getLinesModel() const { return m_linesModeModel; } + private: Vectorscope *m_effect; - FloatModel m_persistenceModel; BoolModel m_logarithmicModel; - BoolModel m_highQualityModel; - - QColor m_colorFG; - QColor m_colorGrid; - QColor m_colorLabels; - QColor m_colorOutline; + BoolModel m_linesModeModel; friend class gui::VecControlsDialog; - friend class gui::VectorView; }; diff --git a/plugins/Vectorscope/VecControlsDialog.cpp b/plugins/Vectorscope/VecControlsDialog.cpp index cd2805089..16cf7f8bd 100644 --- a/plugins/Vectorscope/VecControlsDialog.cpp +++ b/plugins/Vectorscope/VecControlsDialog.cpp @@ -44,45 +44,31 @@ VecControlsDialog::VecControlsDialog(VecControls *controls) : m_controls(controls) { auto master_layout = new QVBoxLayout; - master_layout->setContentsMargins(0, 2, 0, 0); + master_layout->setContentsMargins(0, 0, 0, 0); setLayout(master_layout); // Visualizer widget - // The size of 768 pixels seems to offer a good balance of speed, accuracy and trace thickness. - auto display = new VectorView(controls, m_controls->m_effect->getBuffer(), 768, this); + auto display = new VectorView(controls, m_controls->m_effect->getBuffer(), this); master_layout->addWidget(display); - // Config area located inside visualizer - auto internal_layout = new QVBoxLayout(display); - auto config_layout = new QHBoxLayout(); - auto switch_layout = new QVBoxLayout(); - internal_layout->addStretch(); - internal_layout->addLayout(config_layout); - config_layout->addLayout(switch_layout); - - // High-quality switch - auto highQualityButton = new LedCheckBox(tr("HQ"), this); - highQualityButton->setToolTip(tr("Double the resolution and simulate continuous analog-like trace.")); - highQualityButton->setCheckable(true); - highQualityButton->setModel(&controls->m_highQualityModel); - switch_layout->addWidget(highQualityButton); + auto controlLayout = new QHBoxLayout(); + master_layout->addLayout(controlLayout); // Log. scale switch auto logarithmicButton = new LedCheckBox(tr("Log. scale"), this); logarithmicButton->setToolTip(tr("Display amplitude on logarithmic scale to better see small values.")); logarithmicButton->setCheckable(true); logarithmicButton->setModel(&controls->m_logarithmicModel); - switch_layout->addWidget(logarithmicButton); + controlLayout->addWidget(logarithmicButton); - config_layout->addStretch(); + controlLayout->addStretch(); - // Persistence knob - auto persistenceKnob = new Knob(KnobType::Small17, this); - persistenceKnob->setModel(&controls->m_persistenceModel); - persistenceKnob->setLabel(tr("Persist.")); - persistenceKnob->setToolTip(tr("Trace persistence: higher amount means the trace will stay bright for longer time.")); - persistenceKnob->setHintText(tr("Trace persistence"), ""); - config_layout->addWidget(persistenceKnob); + // Switch between lines mode and point mode + auto linesMode = new LedCheckBox(tr("Lines"), this); + linesMode->setToolTip(tr("Render with lines.")); + linesMode->setCheckable(true); + linesMode->setModel(&controls->m_linesModeModel); + controlLayout->addWidget(linesMode); } @@ -92,5 +78,4 @@ QSize VecControlsDialog::sizeHint() const return QSize(275, 300); } - } // namespace lmms::gui \ No newline at end of file diff --git a/plugins/Vectorscope/VectorView.cpp b/plugins/Vectorscope/VectorView.cpp index a9b5e51b2..e10d6845e 100644 --- a/plugins/Vectorscope/VectorView.cpp +++ b/plugins/Vectorscope/VectorView.cpp @@ -1,6 +1,7 @@ /* VectorView.cpp - implementation of VectorView class. * * Copyright (c) 2019 Martin Pavelek + * Copyright (c) 2025- Michael Gregorius * * This file is part of LMMS - https://lmms.io * This program is free software; you can redistribute it and/or @@ -25,6 +26,7 @@ #include #include #include + #include #include @@ -38,32 +40,24 @@ namespace lmms::gui { -VectorView::VectorView(VecControls *controls, LocklessRingBuffer *inputBuffer, unsigned short displaySize, QWidget *parent) : +VectorView::VectorView(VecControls* controls, LocklessRingBuffer* inputBuffer, QWidget* parent) : QWidget(parent), m_controls(controls), m_inputBuffer(inputBuffer), m_bufferReader(*inputBuffer), - m_displaySize(displaySize), m_zoom(1.f), - m_persistTimestamp(0), - m_zoomTimestamp(0), - m_oldHQ(m_controls->m_highQualityModel.value()), - m_oldX(m_displaySize / 2), - m_oldY(m_displaySize / 2) + m_zoomTimestamp(0) { setMinimumSize(200, 200); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); connect(getGUI()->mainWindow(), SIGNAL(periodicUpdate()), this, SLOT(periodicUpdate())); - m_displayBuffer.resize(sizeof qRgb(0,0,0) * m_displaySize * m_displaySize, 0); - #ifdef VEC_DEBUG m_executionAvg = 0; #endif } - // Compose and draw all the content; called by Qt. void VectorView::paintEvent(QPaintEvent *event) { @@ -71,228 +65,153 @@ void VectorView::paintEvent(QPaintEvent *event) unsigned int drawTime = std::chrono::high_resolution_clock::now().time_since_epoch().count(); #endif - // All drawing done in this method, local variables are sufficient for the boundary - const int displayTop = 2; - const int displayBottom = height() - 2; - const int displayLeft = 2; - const int displayRight = width() - 2; - const int displayWidth = displayRight - displayLeft; - const int displayHeight = displayBottom - displayTop; + const bool logScale = m_controls->getLogarithmicModel().value(); + const bool linesMode = m_controls->getLinesModel().value(); - const float centerX = displayLeft + (displayWidth / 2.f); - const float centerY = displayTop + (displayWidth / 2.f); - - const int margin = 4; - const int gridCorner = 30; - - // Setup QPainter and font sizes QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); - QFont normalFont, boldFont; - boldFont.setBold(true); - const int labelWidth = 26; - const int labelHeight = 26; + // Paint background + painter.fillRect(rect(), Qt::black); - bool hq = m_controls->m_highQualityModel.value(); + const qreal widthF = qreal(width()); + const qreal heightF = qreal(height()); - // Clear display buffer if quality setting was changed - if (hq != m_oldHQ) - { - m_oldHQ = hq; - for (std::size_t i = 0; i < m_displayBuffer.size(); i++) - { - m_displayBuffer.data()[i] = 0; - } - } + const auto minOfWidthAndHeight = std::min(widthF, heightF); + // If we would divide by 4 then the circle would go to the boundaries + // of the widget. We increase the value at bit more to get some margin. + const auto scaleValue = minOfWidthAndHeight / 4.1; - // Dim stored image based on persistence setting and elapsed time. - // Update period is limited to 50 ms (20 FPS) for non-HQ mode and 10 ms (100 FPS) for HQ mode. - const unsigned int currentTimestamp = std::chrono::duration_cast - ( - std::chrono::high_resolution_clock::now().time_since_epoch() - ).count(); - const unsigned int elapsed = currentTimestamp - m_persistTimestamp; - const unsigned int threshold = hq ? 10 : 50; - if (elapsed > threshold) - { - m_persistTimestamp = currentTimestamp; - // Non-HQ mode uses half the resolution → use limited buffer space. - const std::size_t useableBuffer = hq ? m_displayBuffer.size() : m_displayBuffer.size() / 4; - // The knob value is interpreted on log. scale, otherwise the effect would ramp up too slowly. - // Persistence value specifies fraction of light intensity that remains after 10 ms. - // → Compensate it based on elapsed time (exponential decay). - const float persist = log10(1 + 9 * m_controls->m_persistenceModel.value()); - const float persistPerFrame = pow(persist, elapsed / 10.f); - // Note that for simplicity and performance reasons, this implementation only dims all stored - // values by a given factor. A true simulation would also do the inverse of desaturation that - // occurs in high-intensity traces in HQ mode. - for (std::size_t i = 0; i < useableBuffer; i++) - { - m_displayBuffer.data()[i] *= persistPerFrame; - } - } + // Compute several transforms that are used to paint various elements + + // This transform moves the origin/center to the middle of the widget width and to the correct height + QTransform centerTransform; + centerTransform.translate(widthF / 2., minOfWidthAndHeight / 2.); + + // This transform is used to center and scale the painting of data and of the grid and labels + QTransform gridAndLabelTransform(centerTransform); + // Invert the Y axis while we are at it so that we can paint in a "normal" coordinate system + gridAndLabelTransform.scale(scaleValue, -scaleValue); + + // This transform is used to paint the traces. It takes the zoom factor as an "extra" scale into account as well. + QTransform tracePaintingTransform(gridAndLabelTransform); + tracePaintingTransform.scale(m_zoom, m_zoom); + + const auto traceWidth = 2. / (scaleValue * m_zoom); + + // This will add colors so that line intersections produce lighter colors/intensities + painter.setCompositionMode(QPainter::CompositionMode_Plus); + painter.setTransform(tracePaintingTransform); // Get new samples from the lockless input FIFO buffer - auto inBuffer = m_bufferReader.read_max(m_inputBuffer->capacity()); - std::size_t frameCount = inBuffer.size(); + const auto inBuffer = m_bufferReader.read_max(m_inputBuffer->capacity()); + const std::size_t frameCount = inBuffer.size(); - // Draw new points on top - - const bool logScale = m_controls->m_logarithmicModel.value(); - const unsigned short activeSize = hq ? m_displaySize : m_displaySize / 2; - - // Helper lambda functions for better readability - // Make sure pixel stays within display bounds: - auto saturate = [=](short pixelPos) {return qBound((short)0, pixelPos, (short)(activeSize - 1));}; - // Take existing pixel and brigthen it. Very bright light should reduce saturation and become - // white. This effect is easily approximated by capping elementary colors to 255 individually. - auto updatePixel = [&](unsigned short x, unsigned short y, QColor addedColor) + for (std::size_t frame = 0; frame < frameCount; ++frame) { - QColor currentColor = ((QRgb*)m_displayBuffer.data())[x + y * activeSize]; - currentColor.setRed(std::min(currentColor.red() + addedColor.red(), 255)); - currentColor.setGreen(std::min(currentColor.green() + addedColor.green(), 255)); - currentColor.setBlue(std::min(currentColor.blue() + addedColor.blue(), 255)); - ((QRgb*)m_displayBuffer.data())[x + y * activeSize] = currentColor.rgb(); - }; + auto sampleFrame = inBuffer[frame]; - if (hq) - { - // High quality mode: check distance between points and draw a line. - // The longer the line is, the dimmer, simulating real electron trace on luminescent screen. - for (std::size_t frame = 0; frame < frameCount; frame++) + if (logScale) { - float left = 0.0f; - float right = 0.0f; - float inLeft = inBuffer[frame][0] * m_zoom; - float inRight = inBuffer[frame][1] * m_zoom; - // Scale left and right channel from (-1.0, 1.0) to display range - if (logScale) + const float distance = std::sqrt(sampleFrame.sumOfSquaredAmplitudes()); + const float distanceLog = std::log10(1 + 9 * std::abs(distance)); + + if (distance != 0) { - // To better preserve shapes, the log scale is applied to the distance from origin, - // not the individual channels. - const float distance = sqrt(inLeft * inLeft + inRight * inRight); - const float distanceLog = log10(1 + 9 * std::abs(distance)); - const float angleCos = inLeft / distance; - const float angleSin = inRight / distance; - left = distanceLog * angleCos * (activeSize - 1) / 4; - right = distanceLog * angleSin * (activeSize - 1) / 4; + const float factor = distanceLog / distance; + sampleFrame *= factor; } - else - { - left = inLeft * (activeSize - 1) / 4; - right = inRight * (activeSize - 1) / 4; - } - - // Rotate display coordinates 45 degrees, flip Y axis and make sure the result stays within bounds - int x = saturate(right - left + activeSize / 2.f); - int y = saturate(activeSize - (right + left + activeSize / 2.f)); - - // Estimate number of points needed to fill space between the old and new pixel. Cap at 100. - unsigned char points = std::min((int)sqrt((m_oldX - x) * (m_oldX - x) + (m_oldY - y) * (m_oldY - y)), 100); - - // Large distance = dim trace. The curve for darker() is choosen so that: - // - no movement (0 points) actually _increases_ brightness slightly, - // - one point between samples = returns exactly the specified color, - // - one to 99 points between samples = follows a sharp "1/x" decaying curve, - // - 100 points between samples = returns approximately 5 % brightness. - // Everything else is discarded (by the 100 point cap) because there is not much to see anyway. - QColor addedColor = m_controls->m_colorFG.darker(75 + 20 * points).rgb(); - - // Draw the new pixel: the beam sweeps across area that may have been excited before - // → add new value to existing pixel state. - updatePixel(x, y, addedColor); - - // Draw interpolated points between the old pixel and the new one - int newX = right - left + activeSize / 2.f; - int newY = activeSize - (right + left + activeSize / 2.f); - for (unsigned char i = 1; i < points; i++) - { - x = saturate(((points - i) * m_oldX + i * newX) / points); - y = saturate(((points - i) * m_oldY + i * newY) / points); - updatePixel(x, y, addedColor); - } - m_oldX = newX; - m_oldY = newY; } - } - else - { - // To improve performance, non-HQ mode uses smaller display size and only - // one full-color pixel per sample. - for (std::size_t frame = 0; frame < frameCount; frame++) + + // Perform a mid/side split which will potentially boost signals + // + // Represent the side by the x coordinate and the mid by the y coordinate. + // + // A mono signal which just contains a mid signal will just show as a line + // along the y axis because it carries the same information in the left and right channel. + // So we can say: left == right. So lets replace "right" with "left" in the formula below: + // (left - left, -(left + left)) = (0, -2*left). + // If two signals are completely out of phase the show as a line along the x axis. That's because + // each signal is the opposite of the other one, e.g. right = -left. Let's replace again: + // (left - (-left), -(left - left)) = (2*left, 0). + // + const auto mid = sampleFrame.left() + sampleFrame.right(); + const auto side = sampleFrame.left() - sampleFrame.right(); + + // We negate the mid value of the coordinate so that it tilts correctly if we pan hard left and hard right + QPointF currentPoint(side, -mid); + + const auto darkenedColor(m_colorTrace.darker(100 + frame)); + painter.setPen(QPen(darkenedColor, traceWidth)); + + // Only draw a line if we can draw a line, i.e. if the point really changes. + // Otherwise just produce a point. + // Without this check Qt will draw horizontal lines when silence is processed. + if (linesMode && m_lastPoint != currentPoint) { - float left = 0.0f; - float right = 0.0f; - float inLeft = inBuffer[frame][0] * m_zoom; - float inRight = inBuffer[frame][1] * m_zoom; - if (logScale) { - const float distance = sqrt(inLeft * inLeft + inRight * inRight); - const float distanceLog = log10(1 + 9 * std::abs(distance)); - const float angleCos = inLeft / distance; - const float angleSin = inRight / distance; - left = distanceLog * angleCos * (activeSize - 1) / 4; - right = distanceLog * angleSin * (activeSize - 1) / 4; - } else { - left = inLeft * (activeSize - 1) / 4; - right = inRight * (activeSize - 1) / 4; - } - int x = saturate(right - left + activeSize / 2.f); - int y = saturate(activeSize - (right + left + activeSize / 2.f)); - ((QRgb*)m_displayBuffer.data())[x + y * activeSize] = m_controls->m_colorFG.rgb(); + painter.drawLine(QLineF(m_lastPoint, currentPoint)); } + else + { + painter.drawPoint(currentPoint); + } + + m_lastPoint = currentPoint; } - // Draw background - painter.fillRect(displayLeft, displayTop, displayWidth, displayHeight, QColor(0,0,0)); + // Draw grid and labels overlay + painter.setCompositionMode(QPainter::CompositionMode_SourceOver); + painter.setTransform(gridAndLabelTransform); - // Draw the final image - QImage temp = QImage(m_displayBuffer.data(), - activeSize, - activeSize, - QImage::Format_RGB32); - temp.setDevicePixelRatio(devicePixelRatio()); - painter.drawImage(displayLeft, displayTop, - temp.scaledToWidth(displayWidth * devicePixelRatio(), - Qt::SmoothTransformation)); + const QPointF origin(0, 0); + painter.setPen(QPen(m_colorGrid, 2.5 / scaleValue, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); + painter.drawEllipse(origin, 2.f, 2.f); - // Draw the grid and labels - painter.setPen(QPen(m_controls->m_colorGrid, 1.5, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); - painter.drawEllipse(QPointF(centerX, centerY), displayWidth / 2.f, displayWidth / 2.f); - painter.setPen(QPen(m_controls->m_colorGrid, 1.5, Qt::DotLine, Qt::RoundCap, Qt::BevelJoin)); - painter.drawLine(QPointF(centerX, centerY), QPointF(displayLeft + gridCorner, displayTop + gridCorner)); - painter.drawLine(QPointF(centerX, centerY), QPointF(displayRight - gridCorner, displayTop + gridCorner)); + const qreal root = std::sqrt(qreal(2.1)); + painter.setPen(QPen(m_colorGrid, 2.5 / scaleValue, Qt::DotLine, Qt::RoundCap, Qt::BevelJoin)); + painter.drawLine(origin, QPointF(-root, root)); + painter.drawLine(origin, QPointF(root, root)); - painter.setPen(QPen(m_controls->m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); - painter.setFont(adjustedToPixelSize(boldFont, 26)); - painter.drawText(displayLeft + margin, displayTop, - labelWidth, labelHeight, Qt::AlignLeft | Qt::AlignTop | Qt::TextDontClip, - QString("L")); - painter.drawText(displayRight - margin - labelWidth, displayTop, - labelWidth, labelHeight, Qt::AlignRight| Qt::AlignTop | Qt::TextDontClip, - QString("R")); + painter.resetTransform(); - // Draw the outline - painter.setPen(QPen(m_controls->m_colorOutline, 2, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); - painter.drawRoundedRect(1, 1, width() - 2, height() - 2, 2.f, 2.f); + // Draw L/R text + const auto lText = QString("L"); + const auto rText = QString("R"); - // Draw zoom info if changed within last second (re-using timestamp acquired for dimming) - if (currentTimestamp - m_zoomTimestamp < 1000) - { - painter.setPen(QPen(m_controls->m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); - painter.setFont(normalFont); - painter.drawText(displayWidth / 2 - 50, displayBottom - 20, 100, 16, Qt::AlignCenter, - QString("Zoom: ").append(std::to_string((int)round(m_zoom * 100)).c_str()).append(" %")); - } + QFont boldFont = adjustedToPixelSize(painter.font(), 26); + boldFont.setBold(true); - // Optionally measure drawing performance + QFontMetrics fm(boldFont); + const auto boundingRectL = fm.boundingRect(lText); + const auto boundingRectR = fm.boundingRect(rText); + + painter.setPen(QPen(m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); + painter.setFont(boldFont); + + QTransform transformL(centerTransform); + transformL.rotate(-45.); + transformL.translate(-boundingRectL.width() / 2, -(minOfWidthAndHeight / 2) - 10); + painter.setTransform(transformL); + painter.drawText(0, 0, lText); + + QTransform transformR(centerTransform); + transformR.rotate(45.); + transformR.translate(-boundingRectR.width() / 2, -(minOfWidthAndHeight / 2) - 10); + painter.setTransform(transformR); + painter.drawText(0, 0, rText); + + drawZoomInfo(); + + // Optionally measure drawing performance #ifdef VEC_DEBUG + QPainter debugPainter(this); + drawTime = std::chrono::high_resolution_clock::now().time_since_epoch().count() - drawTime; m_executionAvg = 0.95f * m_executionAvg + 0.05f * drawTime / 1000000.f; - painter.setPen(QPen(m_controls->m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); - painter.setFont(normalFont); - painter.drawText(displayWidth / 2 - 50, displayBottom - 16, 100, 16, Qt::AlignLeft, - QString("Exec avg.: ").append(std::to_string(m_executionAvg).substr(0, 5).c_str()).append(" ms")); + + QString debugText = tr("Exec avg.: %1 ms").arg(static_cast(round(m_executionAvg))); + debugPainter.setPen(QPen(m_controls->m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); + debugPainter.drawText(0, height(), debugText); #endif } @@ -300,8 +219,10 @@ void VectorView::paintEvent(QPaintEvent *event) // Periodically trigger repaint and check if the widget is visible void VectorView::periodicUpdate() { - m_visible = isVisible(); - if (m_visible) {update();} + if (isVisible()) + { + update(); + } } @@ -309,10 +230,10 @@ void VectorView::periodicUpdate() // More of an Easter egg, to avoid cluttering the interface with non-essential functionality. void VectorView::mouseDoubleClickEvent(QMouseEvent *event) { - auto colorDialog = new ColorChooser(m_controls->m_colorFG, this); + auto colorDialog = new ColorChooser(m_colorTrace, this); if (colorDialog->exec()) { - m_controls->m_colorFG = colorDialog->currentColor(); + m_colorTrace = colorDialog->currentColor(); } } @@ -333,5 +254,29 @@ void VectorView::wheelEvent(QWheelEvent *event) } +void VectorView::drawZoomInfo() +{ + const unsigned int currentTimestamp = std::chrono::duration_cast + ( + std::chrono::high_resolution_clock::now().time_since_epoch() + ).count(); -} // namespace lmms::gui \ No newline at end of file + if (currentTimestamp - m_zoomTimestamp < 1000) + { + QPainter painter(this); + + const auto zoomValue = static_cast(std::round(m_zoom * 100.)); + const auto text = tr("Zoom: %1 %").arg(zoomValue); + + // Measure text + const auto fm = painter.fontMetrics(); + const auto boundingRect = fm.boundingRect(text); + const auto descent = fm.descent(); + + painter.setPen(QPen(m_colorLabels, 1, Qt::SolidLine, Qt::RoundCap, Qt::BevelJoin)); + painter.drawText((width() - boundingRect.width()) / 2, height() - descent - 2, text); + } +} + + +} // namespace lmms::gui diff --git a/plugins/Vectorscope/VectorView.h b/plugins/Vectorscope/VectorView.h index c828fd139..88604cbe0 100644 --- a/plugins/Vectorscope/VectorView.h +++ b/plugins/Vectorscope/VectorView.h @@ -1,6 +1,7 @@ /* VectorView.h - declaration of VectorView class. * * Copyright (c) 2019 Martin Pavelek + * Copyright (c) 2025- Michael Gregorius * * This file is part of LMMS - https://lmms.io * @@ -44,11 +45,15 @@ class VectorView : public QWidget { Q_OBJECT public: - explicit VectorView(VecControls *controls, LocklessRingBuffer *inputBuffer, unsigned short displaySize, QWidget *parent = 0); + VectorView(VecControls* controls, LocklessRingBuffer* inputBuffer, QWidget* parent = nullptr); ~VectorView() override = default; QSize sizeHint() const override {return QSize(300, 300);} + Q_PROPERTY(QColor colorTrace MEMBER m_colorTrace) + Q_PROPERTY(QColor colorGrid MEMBER m_colorGrid) + Q_PROPERTY(QColor colorLabels MEMBER m_colorLabels) + protected: void paintEvent(QPaintEvent *event) override; void mouseDoubleClickEvent(QMouseEvent *event) override; @@ -57,25 +62,25 @@ protected: private slots: void periodicUpdate(); +private: + void drawZoomInfo(); + private: VecControls *m_controls; LocklessRingBuffer *m_inputBuffer; LocklessRingBufferReader m_bufferReader; - std::vector m_displayBuffer; - const unsigned short m_displaySize; - - bool m_visible; - float m_zoom; // State variables for comparison with previous repaint - unsigned int m_persistTimestamp; unsigned int m_zoomTimestamp; - bool m_oldHQ; - int m_oldX; - int m_oldY; + + QPointF m_lastPoint = QPoint(); + + QColor m_colorTrace = QColor(60, 255, 130, 255); // ~LMMS green + QColor m_colorGrid = QColor(76, 80, 84, 128); // ~60 % gray (slightly cold / blue), 50 % transparent + QColor m_colorLabels = QColor(76, 80, 84, 255); // ~60 % gray (slightly cold / blue) #ifdef VEC_DEBUG float m_executionAvg = 0; From 6259561fc77e9ca9d41843fc48e084c8beee9bd5 Mon Sep 17 00:00:00 2001 From: slidey-wotter <70292567+slidey-wotter@users.noreply.github.com> Date: Sat, 25 Jan 2025 15:59:58 -0300 Subject: [PATCH 066/112] Add VST support for Gentoo linux (#7665) Gentoo wine uses the eselect system; support /etc/eselect/wine/bin --- cmake/modules/FindWine.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake/modules/FindWine.cmake b/cmake/modules/FindWine.cmake index 19a0cffbb..eeef8d9c2 100644 --- a/cmake/modules/FindWine.cmake +++ b/cmake/modules/FindWine.cmake @@ -35,6 +35,8 @@ list(APPEND WINE_LOCATIONS /opt/wine-staging /opt/wine-devel /opt/wine-stable + # Gentoo Systems + /etc/eselect/wine /usr/lib/wine) # Prepare bin search From 2c674eca3accbc6dab6f5aacbf34f7bd85af767e Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Mon, 27 Jan 2025 21:58:15 -0500 Subject: [PATCH 067/112] Fix icons in Spectrum Analyzer (#7667) Make Qt::Svg mandatory; bundle svg libraries --- CMakeLists.txt | 3 ++- cmake/install/CMakeLists.txt | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bad6de0a..66dc307e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -171,7 +171,7 @@ check_library_exists(rt shm_open "" LMMS_HAVE_LIBRT) LIST(APPEND CMAKE_PREFIX_PATH "${CMAKE_INSTALL_PREFIX}") -FIND_PACKAGE(Qt5 5.9.0 COMPONENTS Core Gui Widgets Xml REQUIRED) +FIND_PACKAGE(Qt5 5.9.0 COMPONENTS Core Gui Widgets Xml Svg REQUIRED) FIND_PACKAGE(Qt5 COMPONENTS LinguistTools QUIET) include_directories(SYSTEM @@ -186,6 +186,7 @@ SET(QT_LIBRARIES Qt5::Gui Qt5::Widgets Qt5::Xml + Qt5::Svg ) IF(LMMS_BUILD_LINUX AND WANT_VST) diff --git a/cmake/install/CMakeLists.txt b/cmake/install/CMakeLists.txt index 3f6e3624e..fea9b62ce 100644 --- a/cmake/install/CMakeLists.txt +++ b/cmake/install/CMakeLists.txt @@ -1,6 +1,9 @@ SET(PLUGIN_FILES "") IF(LMMS_BUILD_WIN32) - INSTALL(FILES $ DESTINATION platforms) + INSTALL(FILES $ DESTINATION platforms) + INSTALL(FILES $ DESTINATION iconengines) + INSTALL(FILES $ DESTINATION imageformats) + INSTALL(FILES $ DESTINATION .) ENDIF() IF(LMMS_BUILD_WIN32 OR LMMS_INSTALL_DEPENDENCIES) From 77ca0f89943085c8a11ed127e1a4aa78eee4bec6 Mon Sep 17 00:00:00 2001 From: Sotonye Atemie Date: Fri, 31 Jan 2025 00:58:37 -0500 Subject: [PATCH 068/112] Improve mono compatibility with LADSPA plugins (#7674) --- include/AudioDevice.h | 11 +++++------ plugins/LadspaBrowser/LadspaDescription.cpp | 3 +-- plugins/LadspaEffect/LadspaEffect.cpp | 3 +-- plugins/LadspaEffect/LadspaSubPluginFeatures.cpp | 2 +- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/include/AudioDevice.h b/include/AudioDevice.h index 376aee26b..80e392450 100644 --- a/include/AudioDevice.h +++ b/include/AudioDevice.h @@ -65,7 +65,6 @@ public: virtual void unregisterPort( AudioPort * _port ); virtual void renamePort( AudioPort * _port ); - inline bool supportsCapture() const { return m_supportsCapture; @@ -76,11 +75,6 @@ public: return m_sampleRate; } - ch_cnt_t channels() const - { - return m_channels; - } - void processNextBuffer(); virtual void startProcessing() @@ -109,6 +103,11 @@ protected: void clearS16Buffer( int_sample_t * _outbuf, const fpp_t _frames ); + ch_cnt_t channels() const + { + return m_channels; + } + inline void setSampleRate( const sample_rate_t _new_sr ) { m_sampleRate = _new_sr; diff --git a/plugins/LadspaBrowser/LadspaDescription.cpp b/plugins/LadspaBrowser/LadspaDescription.cpp index 7b1ede1c3..a61e7f233 100644 --- a/plugins/LadspaBrowser/LadspaDescription.cpp +++ b/plugins/LadspaBrowser/LadspaDescription.cpp @@ -74,8 +74,7 @@ LadspaDescription::LadspaDescription( QWidget * _parent, QList pluginNames; for (const auto& plugin : plugins) { - ch_cnt_t audioDeviceChannels = Engine::audioEngine()->audioDev()->channels(); - if (_type != LadspaPluginType::Valid || manager->getDescription(plugin.second)->inputChannels <= audioDeviceChannels) + if (_type != LadspaPluginType::Valid || manager->getDescription(plugin.second)->inputChannels <= DEFAULT_CHANNELS) { pluginNames.push_back(plugin.first); m_pluginKeys.push_back(plugin.second); diff --git a/plugins/LadspaEffect/LadspaEffect.cpp b/plugins/LadspaEffect/LadspaEffect.cpp index 5baa3834c..eebe6938c 100644 --- a/plugins/LadspaEffect/LadspaEffect.cpp +++ b/plugins/LadspaEffect/LadspaEffect.cpp @@ -279,9 +279,8 @@ void LadspaEffect::pluginInstantiation() Ladspa2LMMS * manager = Engine::getLADSPAManager(); // Calculate how many processing units are needed. - const ch_cnt_t lmms_chnls = Engine::audioEngine()->audioDev()->channels(); int effect_channels = manager->getDescription( m_key )->inputChannels; - setProcessorCount( lmms_chnls / effect_channels ); + setProcessorCount(DEFAULT_CHANNELS / effect_channels); // get inPlaceBroken property m_inPlaceBroken = manager->isInplaceBroken( m_key ); diff --git a/plugins/LadspaEffect/LadspaSubPluginFeatures.cpp b/plugins/LadspaEffect/LadspaSubPluginFeatures.cpp index fc4667152..4349f621f 100644 --- a/plugins/LadspaEffect/LadspaSubPluginFeatures.cpp +++ b/plugins/LadspaEffect/LadspaSubPluginFeatures.cpp @@ -157,7 +157,7 @@ void LadspaSubPluginFeatures::listSubPluginKeys( for( l_sortable_plugin_t::const_iterator it = plugins.begin(); it != plugins.end(); ++it ) { - if( lm->getDescription( ( *it ).second )->inputChannels <= Engine::audioEngine()->audioDev()->channels() ) + if (lm->getDescription((*it).second)->inputChannels <= DEFAULT_CHANNELS) { _kl.push_back( ladspaKeyToSubPluginKey( _desc, ( *it ).first, ( *it ).second ) ); } From 10bdf122f89d6a3b5a01544d0d2d3169ed4cc17f Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Sat, 1 Feb 2025 04:02:19 -0500 Subject: [PATCH 069/112] CPack: Refactor AppImage and Apple DMG Generation (#7252) * CPack: Refactor AppImage and Apple DMG Generation * Switch from linuxdeployqt to linuxdelpoy * Add ARM64 AppImage support * Add support for `.run` installers using `makeself`, an alternative to AppImage * Refactor BashCompletion.cmake * Enable CPack debugging via `WANT_DEBUG_CPACK` * Add `download_binary`, `create_symlink` macros * Qt6: Fix @rpath bug on macOS * Detect and bundle LV2 UI Suil modules (Related #7201) * Allow remote plugins to honor `LMMS_PLUGIN_DIR` * Add .github/workflows/deps-ubuntu-24.04-gcc.txt * Fix waveforms FileDialog Co-authored-by: Dalton Messmer --- .github/workflows/build.yml | 78 ++++- .github/workflows/deps-ubuntu-24.04-gcc.txt | 52 +++ CMakeLists.txt | 19 +- cmake/CMakeLists.txt | 12 +- cmake/apple/CMakeLists.txt | 60 ++-- cmake/apple/MacDeployQt.cmake | 172 ++++++++++ cmake/apple/appdmg.json.in | 9 + .../{dmg_branding.png => background.png} | Bin cmake/apple/background@2x.png | Bin 0 -> 116338 bytes cmake/apple/dmg_branding@2x.png | Bin 115793 -> 0 bytes cmake/apple/install_apple.sh.in | 104 ------ cmake/apple/lmms.plist.in | 50 +-- cmake/apple/package_apple.json.in | 9 - cmake/install/CMakeLists.txt | 9 +- cmake/linux/CMakeLists.txt | 66 +++- cmake/linux/LinuxDeploy.cmake | 295 ++++++++++++++++++ cmake/linux/icons/256x256/apps/lmms.png | Bin 0 -> 11360 bytes .../mimetypes/application-x-lmms-project.png | Bin 0 -> 7689 bytes cmake/linux/launch_lmms.sh | 8 +- cmake/linux/makeself_setup.sh.in | 35 +++ cmake/linux/package_linux.sh.in | 213 ------------- cmake/modules/BashCompletion.cmake | 143 ++++----- cmake/modules/CreateSymlink.cmake | 34 ++ cmake/modules/DownloadBinary.cmake | 143 +++++++++ cmake/modules/FindSuilModules.cmake | 40 +++ cmake/nsis/CMakeLists.txt | 9 + src/CMakeLists.txt | 4 +- src/core/RemotePlugin.cpp | 7 +- src/core/audio/AudioSoundIo.cpp | 6 +- src/gui/SampleLoader.cpp | 2 +- 30 files changed, 1069 insertions(+), 510 deletions(-) create mode 100644 .github/workflows/deps-ubuntu-24.04-gcc.txt create mode 100644 cmake/apple/MacDeployQt.cmake create mode 100644 cmake/apple/appdmg.json.in rename cmake/apple/{dmg_branding.png => background.png} (100%) create mode 100644 cmake/apple/background@2x.png delete mode 100644 cmake/apple/dmg_branding@2x.png delete mode 100644 cmake/apple/install_apple.sh.in delete mode 100644 cmake/apple/package_apple.json.in create mode 100644 cmake/linux/LinuxDeploy.cmake create mode 100644 cmake/linux/icons/256x256/apps/lmms.png create mode 100644 cmake/linux/icons/256x256/mimetypes/application-x-lmms-project.png create mode 100644 cmake/linux/makeself_setup.sh.in delete mode 100644 cmake/linux/package_linux.sh.in create mode 100644 cmake/modules/CreateSymlink.cmake create mode 100644 cmake/modules/DownloadBinary.cmake create mode 100644 cmake/modules/FindSuilModules.cmake diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9c3e6560f..293f5dab6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,8 +5,8 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - linux: - name: linux + linux-x86_64: + name: linux-x86_64 runs-on: ubuntu-latest container: ghcr.io/lmms/linux.gcc:20.04 env: @@ -39,7 +39,6 @@ jobs: source /opt/qt5*/bin/qt5*-env.sh || true cmake -S . \ -B build \ - -DCMAKE_INSTALL_PREFIX=./install \ $CMAKE_OPTS - name: Build run: cmake --build build @@ -49,8 +48,7 @@ jobs: ctest --output-on-failure -j2 - name: Package run: | - cmake --build build --target install - cmake --build build --target appimage + cmake --build build --target package - name: Upload artifacts uses: actions/upload-artifact@v4 with: @@ -65,6 +63,71 @@ jobs: ccache --show-stats env: CCACHE_MAXSIZE: 500M + linux-arm64: + name: linux-arm64 + runs-on: ubuntu-24.04-arm + env: + CMAKE_OPTS: >- + -DUSE_WERROR=ON + -DCMAKE_BUILD_TYPE=RelWithDebInfo + -DUSE_COMPILE_CACHE=ON + -DWANT_DEBUG_CPACK=ON + CCACHE_MAXSIZE: 0 + CCACHE_NOCOMPRESS: 1 + MAKEFLAGS: -j2 + DEBIAN_FRONTEND: noninteractive + steps: + - name: Configure git + run: git config --global --add safe.directory "$GITHUB_WORKSPACE" + - name: Check out + uses: actions/checkout@v3 + with: + fetch-depth: 0 + submodules: recursive + - name: Install system packages + run: | + sudo apt-get update -y + sudo apt-get install -y --no-install-recommends \ + $(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt) + - name: Cache ccache data + uses: actions/cache@v3 + with: + key: ccache-${{ github.job }}-${{ github.ref }}-${{ github.run_id }} + restore-keys: | + ccache-${{ github.job }}-${{ github.ref }}- + ccache-${{ github.job }}- + path: ~/.ccache + - name: Configure + run: | + ccache --zero-stats + cmake -S . \ + -B build \ + -DWANT_VST_32=OFF \ + -DWANT_VST_64=OFF \ + $CMAKE_OPTS + - name: Build + run: cmake --build build + - name: Run tests + run: | + cd build/tests + ctest --output-on-failure -j2 + - name: Package + run: | + cmake --build build --target package + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: linux-arm64 + path: build/lmms-*.AppImage + - name: Trim ccache and print statistics + run: | + ccache --cleanup + echo "[ccache config]" + ccache --show-config + echo "[ccache stats]" + ccache --show-stats + env: + CCACHE_MAXSIZE: 500M macos: strategy: fail-fast: false @@ -129,7 +192,6 @@ jobs: mkdir build cmake -S . \ -B build \ - -DCMAKE_INSTALL_PREFIX="../target" \ -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)" \ -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \ $CMAKE_OPTS \ @@ -142,8 +204,7 @@ jobs: ctest --output-on-failure -j3 - name: Package run: | - cmake --build build --target install - cmake --build build --target dmg + cmake --build build --target package - name: Upload artifacts uses: actions/upload-artifact@v4 with: @@ -208,7 +269,6 @@ jobs: ccache --zero-stats cmake -S . \ -B build \ - -DCMAKE_INSTALL_PREFIX=./install \ -DCMAKE_TOOLCHAIN_FILE="./cmake/toolchains/MinGW-W64-64.cmake" \ $CMAKE_OPTS - name: Build diff --git a/.github/workflows/deps-ubuntu-24.04-gcc.txt b/.github/workflows/deps-ubuntu-24.04-gcc.txt new file mode 100644 index 000000000..f1b705eeb --- /dev/null +++ b/.github/workflows/deps-ubuntu-24.04-gcc.txt @@ -0,0 +1,52 @@ +binutils +ca-certificates +ccache +cmake +file +fluid +gcc +git +gpg +g++ +libasound2-dev +libc6-dev +libfftw3-dev +libfltk1.3-dev +libfluidsynth-dev +libgig-dev +libgtk2.0-0 +libjack-jackd2-dev +liblilv-dev +liblist-moreutils-perl +libmp3lame-dev +libogg-dev +libqt5svg5-dev +libqt5x11extras5-dev +libsamplerate0-dev +libsdl2-dev +libsndfile1-dev +libsoundio-dev +libstk-dev +libsuil-dev +libvorbis-dev +libx11-xcb-dev +libxcb-keysyms1-dev +libxcb-util0-dev +libxft-dev +libxinerama-dev +libxml2-utils +libxml-perl +lsb-release +lv2-dev +make +perl +portaudio19-dev +qt5-qmake +qtbase5-dev +qtbase5-dev-tools +qtbase5-private-dev +qttools5-dev-tools +software-properties-common +ssh-client +stk +wget diff --git a/CMakeLists.txt b/CMakeLists.txt index 66dc307e3..84089ede3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,6 +104,8 @@ option(WANT_DEBUG_MSAN "Enable MemorySanitizer" OFF) option(WANT_DEBUG_UBSAN "Enable UndefinedBehaviorSanitizer" OFF) option(WANT_DEBUG_GPROF "Enable gprof profiler" OFF) OPTION(BUNDLE_QT_TRANSLATIONS "Install Qt translation files for LMMS" OFF) +option(WANT_DEBUG_CPACK "Show detailed logs for packaging commands" OFF) +option(WANT_CPACK_TARBALL "Request CPack to create a tarball instead of an installer" OFF) IF(LMMS_BUILD_APPLE) @@ -268,6 +270,7 @@ IF(WANT_SUIL) IF(SUIL_FOUND) SET(LMMS_HAVE_SUIL TRUE) SET(STATUS_SUIL "OK") + find_package(SuilModules) ELSE() SET(STATUS_SUIL "not found, install it or set PKG_CONFIG_PATH appropriately") ENDIF() @@ -606,6 +609,17 @@ ELSE() SET (STATUS_DEBUG_FPE "Disabled") ENDIF(WANT_DEBUG_FPE) +if(WANT_DEBUG_CPACK) + if((LMMS_BUILD_WIN32 AND CMAKE_VERSION VERSION_LESS "3.19") OR WANT_CPACK_TARBALL) + set(STATUS_DEBUG_CPACK "Wanted but disabled due to unsupported configuration") + else() + set(CPACK_DEBUG TRUE) + set(STATUS_DEBUG_CPACK "Enabled") + endif() +else() + set(STATUS_DEBUG_CPACK "Disabled") +endif() + # check for libsamplerate FIND_PACKAGE(Samplerate 0.1.8 MODULE REQUIRED) @@ -679,7 +693,7 @@ if(WANT_DEBUG_GPROF) add_link_options(-pg) set(STATUS_GPROF "OK") else() - set(STATUS_GPROF "DISABLED ${STATUS_GPROF}") + set(STATUS_GPROF "Disabled ${STATUS_GPROF}") endif() # add enabled sanitizers @@ -745,7 +759,7 @@ IF(LMMS_BUILD_LINUX) "${CMAKE_BINARY_DIR}/lmmsconfig.h" "${CMAKE_BINARY_DIR}/lmmsversion.h" "${CMAKE_SOURCE_DIR}/src/gui/embed.cpp" - DESTINATION "${CMAKE_INSTALL_PREFIX}/include/lmms/") + DESTINATION "include/lmms/") ENDIF(LMMS_BUILD_LINUX) # @@ -849,6 +863,7 @@ MESSAGE( "* Debug using ThreadSanitizer : ${STATUS_DEBUG_TSAN}\n" "* Debug using MemorySanitizer : ${STATUS_DEBUG_MSAN}\n" "* Debug using UBSanitizer : ${STATUS_DEBUG_UBSAN}\n" +"* Debug packaging commands : ${STATUS_DEBUG_CPACK}\n" "* Profile using GNU profiler : ${STATUS_GPROF}\n" ) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 833fad581..439a68852 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -14,10 +14,14 @@ ENDIF() SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME_UCASE}") SET(CPACK_SOURCE_GENERATOR "TBZ2") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}") -IF(NOT DEFINED WIN32) - SET(CPACK_STRIP_FILES "bin/${CMAKE_PROJECT_NAME};${PLUGIN_DIR}/*.so") - SET(CPACK_PACKAGE_EXECUTABLES "${CMAKE_PROJECT_NAME}" "${PROJECT_NAME_UCASE} binary") -ENDIF() +SET(CPACK_PACKAGE_EXECUTABLES "${CMAKE_PROJECT_NAME}" "${PROJECT_NAME_UCASE} binary") + +# Disable strip for Debug|RelWithDebInfo +if(CMAKE_BUILD_TYPE MATCHES "Deb") + unset(CPACK_STRIP_FILES) +else() + set(CPACK_STRIP_FILES TRUE) +endif() IF(LMMS_BUILD_WIN32) ADD_SUBDIRECTORY(nsis) diff --git a/cmake/apple/CMakeLists.txt b/cmake/apple/CMakeLists.txt index 3fd0a4da4..71be84f81 100644 --- a/cmake/apple/CMakeLists.txt +++ b/cmake/apple/CMakeLists.txt @@ -1,24 +1,3 @@ -SET(MACOSX_BUNDLE_ICON_FILE "icon.icns") -SET(MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME_UCASE}") -SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}") -SET(MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME_UCASE}") -SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}") -SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}") -SET(MACOSX_BUNDLE_COPYRIGHT "${PROJECT_COPYRIGHT}") -SET(MACOSX_BUNDLE_MIMETYPE "application/x-lmms-project") -SET(MACOSX_BUNDLE_MIMETYPE_ICON "project.icns") -SET(MACOSX_BUNDLE_MIMETYPE_ID "io.lmms") -SET(MACOSX_BUNDLE_PROJECT_URL "${PROJECT_URL}") -SET(MACOSX_BUNDLE_DMG_TITLE "${MACOSX_BUNDLE_BUNDLE_NAME} ${MACOSX_BUNDLE_LONG_VERSION_STRING}") - -# FIXME: appdmg won't allow volume names > 27 char -# See also https://github.com/LinusU/node-appdmg/issues/48 -STRING(SUBSTRING "${MACOSX_BUNDLE_DMG_TITLE}" 0 27 MACOSX_BUNDLE_DMG_TITLE) - -CONFIGURE_FILE("lmms.plist.in" "${CMAKE_BINARY_DIR}/Info.plist") -CONFIGURE_FILE("install_apple.sh.in" "${CMAKE_BINARY_DIR}/install_apple.sh" @ONLY) -CONFIGURE_FILE("package_apple.json.in" "${CMAKE_BINARY_DIR}/package_apple.json" @ONLY) - IF(CMAKE_OSX_ARCHITECTURES) SET(DMG_ARCH "${CMAKE_OSX_ARCHITECTURES}") ELSEIF(IS_ARM64) @@ -29,18 +8,31 @@ ELSE() SET(DMG_ARCH "x86_64") ENDIF() -# DMG creation target -SET(DMG_FILE "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}-mac${APPLE_OS_VER}-${DMG_ARCH}.dmg") +# Standard CPack options +set(CPACK_GENERATOR "External" PARENT_SCOPE) +set(CPACK_EXTERNAL_ENABLE_STAGING TRUE PARENT_SCOPE) +set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-mac${APPLE_OS_VER}-${DMG_ARCH}") +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}" PARENT_SCOPE) +set(CPACK_PRE_BUILD_SCRIPTS "${CMAKE_CURRENT_SOURCE_DIR}/MacDeployQt.cmake" PARENT_SCOPE) +# disable cpack's strip: causes missing symbols on macOS +set(CPACK_STRIP_FILES_ORIG "${CPACK_STRIP_FILES}" PARENT_SCOPE) +set(CPACK_STRIP_FILES FALSE PARENT_SCOPE) -FILE(REMOVE "${DMG_FILE}") -ADD_CUSTOM_TARGET(removedmg - COMMAND touch "\"${DMG_FILE}\"" && rm "\"${DMG_FILE}\"" - COMMENT "Removing old DMG") -ADD_CUSTOM_TARGET(dmg - COMMAND appdmg "\"${CMAKE_BINARY_DIR}/package_apple.json\"" "\"${DMG_FILE}\"" - DEPENDS "${CMAKE_BINARY_DIR}/package_apple.json" - COMMENT "Generating DMG") -ADD_DEPENDENCIES(dmg removedmg) - -# see also ../postinstall/CMakeLists.txt +# Custom vars to expose to Cpack +# must be prefixed with "CPACK_" per https://stackoverflow.com/a/46526757/3196753) +set(CPACK_CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" PARENT_SCOPE) +set(CPACK_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE) +set(CPACK_BINARY_DIR "${CMAKE_BINARY_DIR}" PARENT_SCOPE) +set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}" PARENT_SCOPE) +set(CPACK_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}" PARENT_SCOPE) +set(CPACK_CARLA_LIBRARIES "${CARLA_LIBRARIES}" PARENT_SCOPE) +set(CPACK_PROJECT_NAME "${PROJECT_NAME}" PARENT_SCOPE) +set(CPACK_PROJECT_VERSION "${VERSION}" PARENT_SCOPE) +set(CPACK_PROJECT_NAME_UCASE "${PROJECT_NAME_UCASE}" PARENT_SCOPE) +set(CPACK_PROJECT_URL "${PROJECT_URL}" PARENT_SCOPE) +set(CPACK_SUIL_MODULES "${Suil_MODULES}" PARENT_SCOPE) +set(CPACK_SUIL_MODULES_PREFIX "${Suil_MODULES_PREFIX}" PARENT_SCOPE) +if(CMAKE_VERSION VERSION_LESS "3.19") + message(WARNING "DMG creation requires at least CMake 3.19") +endif() diff --git a/cmake/apple/MacDeployQt.cmake b/cmake/apple/MacDeployQt.cmake new file mode 100644 index 000000000..bee22cf42 --- /dev/null +++ b/cmake/apple/MacDeployQt.cmake @@ -0,0 +1,172 @@ +# Create a macOS .dmg desktop installer using macdeployqt +# +# Copyright (c) 2025, Tres Finocchiaro, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# Variables must be prefixed with "CPACK_" to be visible here +set(lmms "${CPACK_PROJECT_NAME}") +set(APP "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PROJECT_NAME_UCASE}.app") + +# Toggle command echoing & verbosity +# 0 = no output, 1 = error/warning, 2 = normal, 3 = debug +if(NOT CPACK_DEBUG) + set(VERBOSITY 1) + set(COMMAND_ECHO NONE) +else() + set(VERBOSITY 2) + set(COMMAND_ECHO STDOUT) +endif() + +# Detect release|debug build +if(NOT CPACK_STRIP_FILES_ORIG) + # -use-debug-libs implies -no-strip + if(CPACK_QMAKE_EXECUTABLE MATCHES "/homebrew/|/usr/local") + message(STATUS "Homebrew does not provide debug qt libraries, replacing \"-use-debug-libs\" with \"-no-strip\" instead") + set(USE_DEBUG_LIBS -no-strip) + else() + set(USE_DEBUG_LIBS -use-debug-libs) + endif() +endif() + +# Cleanup CPack "External" json, txt files, old DMG files +file(GLOB cleanup "${CPACK_BINARY_DIR}/${lmms}-*.json" + "${CPACK_BINARY_DIR}/${lmms}-*.dmg" + "${CPACK_BINARY_DIR}/install_manifest.txt") +list(SORT cleanup) +file(REMOVE ${cleanup}) + +# Create bundle structure +file(MAKE_DIRECTORY "${APP}/Contents/MacOS") +file(MAKE_DIRECTORY "${APP}/Contents/Frameworks") +file(MAKE_DIRECTORY "${APP}/Contents/Resources") + +# Fix layout +file(RENAME "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib" "${APP}/Contents/lib") +file(RENAME "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/share" "${APP}/Contents/share") +file(RENAME "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/bin" "${APP}/Contents/bin") + +# Move binaries into Contents/MacOS +file(RENAME "${APP}/Contents/bin/${lmms}" "${APP}/Contents/MacOS/${lmms}") +file(RENAME "${APP}/Contents/lib/${lmms}/RemoteZynAddSubFx" "${APP}/Contents/MacOS/RemoteZynAddSubFx") +file(REMOVE_RECURSE "${APP}/Contents/bin") +file(REMOVE_RECURSE "${APP}/Contents/share/man1") +file(REMOVE_RECURSE "${APP}/Contents/include") + +# Copy missing files +# Convert https://lmms.io to io.lmms +string(REPLACE "." ";" mime_parts "${CPACK_PROJECT_URL}") +string(REPLACE ":" ";" mime_parts "${mime_parts}") +string(REPLACE "/" "" mime_parts "${mime_parts}") +list(REMOVE_AT mime_parts 0) +list(REVERSE mime_parts) +list(JOIN mime_parts "." MACOS_MIMETYPE_ID) +configure_file("${CPACK_CURRENT_SOURCE_DIR}/lmms.plist.in" "${APP}/Contents/Info.plist" @ONLY) +file(COPY "${CPACK_CURRENT_SOURCE_DIR}/project.icns" DESTINATION "${APP}/Contents/Resources") +file(COPY "${CPACK_CURRENT_SOURCE_DIR}/icon.icns" DESTINATION "${APP}/Contents/Resources") +file(RENAME "${APP}/Contents/Resources/icon.icns" "${APP}/Contents/Resources/${lmms}.icns") + +# Copy Suil modules +if(CPACK_SUIL_MODULES) + set(SUIL_MODULES_TARGET "${APP}/Contents/Frameworks/${CPACK_SUIL_MODULES_PREFIX}") + file(MAKE_DIRECTORY "${SUIL_MODULES_TARGET}") + file(COPY ${CPACK_SUIL_MODULES} DESTINATION "${SUIL_MODULES_TARGET}") +endif() + +# Make all libraries writable for macdeployqt +file(CHMOD_RECURSE "${APP}/Contents" PERMISSIONS + OWNER_EXECUTE OWNER_WRITE OWNER_READ + GROUP_EXECUTE GROUP_WRITE GROUP_READ + WORLD_READ) + +# Qt6: Fix @rpath bug https://github.com/orgs/Homebrew/discussions/2823 +include(CreateSymlink) +get_filename_component(QTBIN "${CPACK_QMAKE_EXECUTABLE}" DIRECTORY) +get_filename_component(QTDIR "${QTBIN}" DIRECTORY) +create_symlink("${QTDIR}/lib" "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib") + +# Replace @rpath with @loader_path for Carla +execute_process(COMMAND install_name_tool -change + "@rpath/libcarlabase.dylib" + "@loader_path/libcarlabase.dylib" + "${APP}/Contents/lib/${lmms}/libcarlapatchbay.so" + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) +execute_process(COMMAND install_name_tool -change + "@rpath/libcarlabase.dylib" + "@loader_path/libcarlabase.dylib" + "${APP}/Contents/lib/${lmms}/libcarlarack.so" + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + +# Build list of executables to inform macdeployqt about +# e.g. -executable=foo.dylib -executable=bar.dylib +file(GLOB LIBS "${APP}/Contents/lib/${lmms}/*.so") + +# Inform macdeployqt about LADSPA plugins; may depend on bundled fftw3f, etc. +file(GLOB LADSPA "${APP}/Contents/lib/${lmms}/ladspa/*.so") + +# Inform linuxdeploy about remote plugins +list(APPEND REMOTE_PLUGINS "${APP}/Contents/MacOS/*Remote*") + +# Collect, sort and dedupe all libraries +list(APPEND LIBS ${LADSPA}) +list(APPEND LIBS ${REMOTE_PLUGINS}) +list(APPEND LIBS ${CPACK_SUIL_MODULES}) +list(REMOVE_DUPLICATES LIBS) +list(SORT LIBS) + +# Construct macdeployqt parameters +foreach(_lib IN LISTS LIBS) + if(EXISTS "${_lib}") + list(APPEND EXECUTABLES "-executable=${_lib}") + endif() +endforeach() + +# Call macdeployqt +get_filename_component(QTBIN "${CPACK_QMAKE_EXECUTABLE}" DIRECTORY) +message(STATUS "Calling ${QTBIN}/macdeployqt ${APP} [... executables]") +execute_process(COMMAND "${QTBIN}/macdeployqt" "${APP}" ${EXECUTABLES} + -verbose=${VERBOSITY} + ${USE_DEBUG_LIBS} + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + +# Cleanup symlink +file(REMOVE "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib") + +# Remove dummy carla libs, relink to a sane location (e.g. /Applications/Carla.app/...) +# (must be done after calling macdeployqt) +file(GLOB CARLALIBS "${APP}/Contents/lib/${lmms}/libcarla*") +foreach(_carlalib IN LISTS CARLALIBS) + foreach(_lib "${CPACK_CARLA_LIBRARIES}") + set(_oldpath "../../Frameworks/lib${_lib}.dylib") + set(_newpath "Carla.app/Contents/MacOS/lib${_lib}.dylib") + execute_process(COMMAND install_name_tool -change + "@loader_path/${_oldpath}" + "@executable_path/../../../${_newpath}" + "${_carlalib}" + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + file(REMOVE "${APP}/Contents/Frameworks/lib${_lib}.dylib") + endforeach() +endforeach() + +# Call ad-hoc codesign manually (CMake offers this as well) +execute_process(COMMAND codesign --force --deep --sign - "${APP}" + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + +# Create DMG +# appdmg won't allow volume names > 27 char https://github.com/LinusU/node-alias/issues/7 +find_program(APPDMG_BIN appdmg REQUIRED) +string(SUBSTRING "${CPACK_PROJECT_NAME_UCASE} ${CPACK_PROJECT_VERSION}" 0 27 APPDMG_VOLUME_NAME) +# We'll configure this file twice (again in MacDeployQt.cmake once we know CPACK_TEMPORARY_INSTALL_DIRECTORY) +configure_file("${CPACK_CURRENT_SOURCE_DIR}/appdmg.json.in" "${CPACK_CURRENT_BINARY_DIR}/appdmg.json" @ONLY) + +execute_process(COMMAND "${APPDMG_BIN}" + "${CPACK_CURRENT_BINARY_DIR}/appdmg.json" + "${CPACK_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.dmg" + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) \ No newline at end of file diff --git a/cmake/apple/appdmg.json.in b/cmake/apple/appdmg.json.in new file mode 100644 index 000000000..6e4f048a6 --- /dev/null +++ b/cmake/apple/appdmg.json.in @@ -0,0 +1,9 @@ +{ + "title": "@APPDMG_VOLUME_NAME@", + "background": "@CPACK_SOURCE_DIR@/cmake/apple/background.png", + "icon-size": 128, + "contents": [ + { "x": 139, "y": 200, "type": "file", "path": "@CPACK_TEMPORARY_INSTALL_DIRECTORY@/@CPACK_PROJECT_NAME_UCASE@.app" }, + { "x": 568, "y": 200, "type": "link", "path": "/Applications" } + ] +} diff --git a/cmake/apple/dmg_branding.png b/cmake/apple/background.png similarity index 100% rename from cmake/apple/dmg_branding.png rename to cmake/apple/background.png diff --git a/cmake/apple/background@2x.png b/cmake/apple/background@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..da44ceb8b63a8b941e341ce45afd7c3a32a5a822 GIT binary patch literal 116338 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
  • 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�?{L57&z2prW2ldA&+Gdf5c;E?e>dc^vE=9 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

    &vY2oq4mDp~DO~sE{$uAiQAS7R+u3nQ{<8ynz=Z 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 EALL?rr2qf` diff --git a/cmake/apple/install_apple.sh.in b/cmake/apple/install_apple.sh.in deleted file mode 100644 index fc27d78b3..000000000 --- a/cmake/apple/install_apple.sh.in +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash -# Creates Apple ".app" bundle for @PROJECT_NAME_UCASE@ -# Note: -# Examine linkings using `otool -L somelib.so` -# Debug the loading of dynamic libraries using `export DYLD_PRINT_LIBRARIES=1` - -set -e - -# Place to create ".app" bundle -APP="@CMAKE_BINARY_DIR@/@PROJECT_NAME_UCASE@.app" - -MSG_COLOR='\x1B[1;36m' -COLOR_RESET='\x1B[0m' -echo -e "$MSG_COLOR\n\nCreating App Bundle \"$APP\"...$COLOR_RESET" - -qtpath="$(dirname "@QT_QMAKE_EXECUTABLE@")" -export PATH="$PATH:$qtpath" - -# Remove any old .app bundles -rm -Rf "$APP" - -# Copy/overwrite Info.plist -command cp "@CMAKE_BINARY_DIR@/Info.plist" "@CMAKE_INSTALL_PREFIX@/" - -# Create .app bundle containing contents from CMAKE_INSTALL_PREFIX -mkdir -p "$APP/Contents/MacOS" -mkdir -p "$APP/Contents/Frameworks" -mkdir -p "$APP/Contents/Resources" -cd "@CMAKE_INSTALL_PREFIX@" -cp -R ./* "$APP/Contents" -cp "@CMAKE_SOURCE_DIR@/cmake/apple/"*.icns "$APP/Contents/Resources/" - -# Make all libraries writable for macdeployqt -cd "$APP" -find . -type f -print0 | xargs -0 chmod u+w - -lmmsbin="MacOS/@CMAKE_PROJECT_NAME@" -zynbin="MacOS/RemoteZynAddSubFx" - -# Move lmms binary -mv "$APP/Contents/bin/@CMAKE_PROJECT_NAME@" "$APP/Contents/$lmmsbin" - -# Fix zyn linking -mv "$APP/Contents/lib/lmms/RemoteZynAddSubFx" "$APP/Contents/$zynbin" - -# Replace @rpath with @loader_path for Carla -# See also plugins/CarlaBase/CMakeLists.txt -# This MUST be done BEFORE calling macdeployqt -install_name_tool -change @rpath/libcarlabase.dylib \ - @loader_path/libcarlabase.dylib \ - "$APP/Contents/lib/lmms/libcarlapatchbay.so" - -install_name_tool -change @rpath/libcarlabase.dylib \ - @loader_path/libcarlabase.dylib \ - "$APP/Contents/lib/lmms/libcarlarack.so" - -# Link lmms binary -_executables="${_executables} -executable=$APP/Contents/$zynbin" - -# Build a list of shared objects in target/lib/lmms -for file in "$APP/Contents/lib/lmms/"*.so; do - _thisfile="$APP/Contents/lib/lmms/${file##*/}" - _executables="${_executables} -executable=$_thisfile" -done - -# Build a list of shared objects in target/lib/lmms/ladspa -for file in "$APP/Contents/lib/lmms/ladspa/"*.so; do - _thisfile="$APP/Contents/lib/lmms/ladspa/${file##*/}" - _executables="${_executables} -executable=$_thisfile" -done - -# Finalize .app -# shellcheck disable=SC2086 -macdeployqt "$APP" $_executables - -# Carla is a standalone plugin. Remove library, look for it side-by-side LMMS.app -# This MUST be done AFTER calling macdeployqt -# -# For example: -# /Applications/LMMS.app -# /Applications/Carla.app -carlalibs=$(echo "@CARLA_LIBRARIES@"|tr ";" "\n") - -# Loop over all libcarlas, fix linking -for file in "$APP/Contents/lib/lmms/"libcarla*; do - _thisfile="$APP/Contents/lib/lmms/${file##*/}" - for lib in $carlalibs; do - _oldpath="../../Frameworks/lib${lib}.dylib" - _newpath="Carla.app/Contents/MacOS/lib${lib}.dylib" - # shellcheck disable=SC2086 - install_name_tool -change @loader_path/$_oldpath \ - @executable_path/../../../$_newpath \ - "$_thisfile" - rm -f "$APP/Contents/Frameworks/lib${lib}.dylib" - done -done - -# Cleanup -rm -rf "$APP/Contents/bin" - -# Codesign -codesign --force --deep --sign - "$APP" - -echo -e "\nFinished.\n\n" diff --git a/cmake/apple/lmms.plist.in b/cmake/apple/lmms.plist.in index 88fe0b0bf..dd656a1d5 100644 --- a/cmake/apple/lmms.plist.in +++ b/cmake/apple/lmms.plist.in @@ -7,13 +7,13 @@ English CFBundleIconFile - @MACOSX_BUNDLE_ICON_FILE@ + @CPACK_PROJECT_NAME@ CFBundlePackageType APPL CFBundleGetInfoString - @MACOSX_BUNDLE_GUI_IDENTIFIER@ @MACOSX_BUNDLE_LONG_VERSION_STRING@ + @CPACK_PROJECT_NAME_UCASE@ @CPACK_PROJECT_VERSION@ CFBundleSignature - @MACOSX_BUNDLE_GUI_IDENTIFIER@ + @CPACK_PROJECT_NAME_UCASE@ CFBundleExecutable - @MACOSX_BUNDLE_GUI_IDENTIFIER@ + @CPACK_PROJECT_NAME@ CFBundleVersion - @MACOSX_BUNDLE_LONG_VERSION_STRING@ + @CPACK_PROJECT_VERSION@ CFBundleShortVersionString - @MACOSX_BUNDLE_LONG_VERSION_STRING@ + @VERSIONCPACK_PROJECT_VERSION@ CFBundleName - @MACOSX_BUNDLE_BUNDLE_NAME@ + @CPACK_PROJECT_NAME_UCASE@ CFBundleInfoDictionaryVersion 6.0 CFBundleIdentifier - @MACOSX_BUNDLE_MIMETYPE_ID@ + @MACOS_MIMETYPE_ID@ CFBundleDocumentTypes - + CFBundleTypeExtensions mmpz CFBundleTypeIconFile - @MACOSX_BUNDLE_MIMETYPE_ICON@ + project CFBundleTypeName - @MACOSX_BUNDLE_GUI_IDENTIFIER@ Project + @CPACK_PROJECT_NAME_UCASE@ Project CFBundleTypeOSTypes mmpz @@ -69,19 +69,19 @@ Editor CFBundleTypeMIMETypes - @MACOSX_BUNDLE_MIMETYPE@ + application/x-@CPACK_PROJECT_NAME@-project - + CFBundleTypeExtensions mmp CFBundleTypeIconFile - @MACOSX_BUNDLE_MIMETYPE_ICON@ + project CFBundleTypeName - @MACOSX_BUNDLE_GUI_IDENTIFIER@ Project (uncompressed) + @CPACK_PROJECT_NAME_UCASE@ Project (uncompressed) CFBundleTypeOSTypes mmp @@ -90,23 +90,23 @@ Editor CFBundleTypeMIMETypes - @MACOSX_BUNDLE_MIMETYPE@ + application/x-@CPACK_PROJECT_NAME@-project - + UTExportedTypeDeclarations UTTypeIdentifier - @MACOSX_BUNDLE_MIMETYPE_ID@.mmpz + @MACOS_MIMETYPE_ID@.mmpz UTTypeReferenceURL - @MACOSX_BUNDLE_PROJECT_URL@ + @CPACK_PROJECT_URL@ UTTypeDescription - @MACOSX_BUNDLE_GUI_IDENTIFIER@ Project + @CPACK_PROJECT_VERSIONPROJECT_NAME_UCASE@ Project UTTypeIconFile - @MACOSX_BUNDLE_MIMETYPE_ICON@ + project UTTypeConformsTo public.data @@ -122,13 +122,13 @@ UTTypeIdentifier - @MACOSX_BUNDLE_MIMETYPE_ID@.mmp + @MACOS_MIMETYPE_ID@.mmp UTTypeReferenceURL - @MACOSX_BUNDLE_PROJECT_URL@ + @CPACK_PROJECT_URL@ UTTypeDescription - @MACOSX_BUNDLE_GUI_IDENTIFIER@ Project (uncompressed) + @CPACK_PROJECT_NAME_UCASE@ Project (uncompressed) UTTypeIconFile - @MACOSX_BUNDLE_MIMETYPE_ICON@ + project UTTypeConformsTo public.xml diff --git a/cmake/apple/package_apple.json.in b/cmake/apple/package_apple.json.in deleted file mode 100644 index f6660b345..000000000 --- a/cmake/apple/package_apple.json.in +++ /dev/null @@ -1,9 +0,0 @@ -{ - "title": "@MACOSX_BUNDLE_DMG_TITLE@", - "background": "@CMAKE_SOURCE_DIR@/cmake/apple/dmg_branding.png", - "icon-size": 128, - "contents": [ - { "x": 139, "y": 200, "type": "file", "path": "@CMAKE_BINARY_DIR@/@MACOSX_BUNDLE_BUNDLE_NAME@.app" }, - { "x": 568, "y": 200, "type": "link", "path": "/Applications" } - ] -} diff --git a/cmake/install/CMakeLists.txt b/cmake/install/CMakeLists.txt index fea9b62ce..0b81039ab 100644 --- a/cmake/install/CMakeLists.txt +++ b/cmake/install/CMakeLists.txt @@ -43,17 +43,10 @@ ENDIF() if(LMMS_HAVE_STK AND (LMMS_BUILD_WIN32 OR LMMS_BUILD_APPLE)) if(STK_RAWWAVE_ROOT) file(GLOB RAWWAVES "${STK_RAWWAVE_ROOT}/*.raw") + list(SORT RAWWAVES) install(FILES ${RAWWAVES} DESTINATION "${DATA_DIR}/stk/rawwaves") else() message(WARNING "Can't find STK rawwave root!") endif() endif() -IF(LMMS_BUILD_APPLE) - INSTALL(CODE "EXECUTE_PROCESS(COMMAND chmod u+x ${CMAKE_BINARY_DIR}/install_apple.sh)") - INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_BINARY_DIR}/install_apple.sh RESULT_VARIABLE EXIT_CODE) - IF(NOT EXIT_CODE EQUAL 0) - MESSAGE(FATAL_ERROR \"Execution of install_apple.sh failed\") - ENDIF() - ") -ENDIF() diff --git a/cmake/linux/CMakeLists.txt b/cmake/linux/CMakeLists.txt index 27c6655eb..afdb57dd2 100644 --- a/cmake/linux/CMakeLists.txt +++ b/cmake/linux/CMakeLists.txt @@ -1,19 +1,53 @@ -INSTALL(DIRECTORY icons/ DESTINATION "${DATA_DIR}/icons/hicolor") -INSTALL(FILES lmms.desktop DESTINATION "${DATA_DIR}/applications") -INSTALL(FILES lmms.xml DESTINATION "${DATA_DIR}/mime/packages") +install(DIRECTORY icons/ DESTINATION "${DATA_DIR}/icons/hicolor") +install(FILES lmms.desktop DESTINATION "${DATA_DIR}/applications") +install(FILES lmms.xml DESTINATION "${DATA_DIR}/mime/packages") -# AppImage creation target -SET(APPIMAGE_FILE "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}-linux-${CMAKE_SYSTEM_PROCESSOR}.AppImage") +# Preserve old CPack behavior +if(WANT_CPACK_TARBALL) + message(STATUS "Skipping AppImage creation") + return() +endif() -CONFIGURE_FILE("package_linux.sh.in" "${CMAKE_BINARY_DIR}/package_linux.sh" @ONLY) +install(FILES launch_lmms.sh DESTINATION bin) -FILE(REMOVE "${APPIMAGE_FILE}") -ADD_CUSTOM_TARGET(removeappimage - COMMAND rm -f "${APPIMAGE_FILE}" - COMMENT "Removing old AppImage") -ADD_CUSTOM_TARGET(appimage - COMMAND chmod +x "${CMAKE_BINARY_DIR}/package_linux.sh" - COMMAND "${CMAKE_BINARY_DIR}/package_linux.sh" - COMMENT "Generating AppImage" - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}") -ADD_DEPENDENCIES(appimage removeappimage) +# Standard CPack options +set(CPACK_GENERATOR "External" PARENT_SCOPE) +set(CPACK_EXTERNAL_ENABLE_STAGING true PARENT_SCOPE) +set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-linux-${CMAKE_SYSTEM_PROCESSOR}") +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}" PARENT_SCOPE) +set(CPACK_PRE_BUILD_SCRIPTS "${CMAKE_CURRENT_SOURCE_DIR}/LinuxDeploy.cmake" PARENT_SCOPE) + +# Custom vars to expose to Cpack +# must be prefixed with "CPACK_" per https://stackoverflow.com/a/46526757/3196753) +set(CPACK_CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" PARENT_SCOPE) +set(CPACK_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE) +set(CPACK_BINARY_DIR "${CMAKE_BINARY_DIR}" PARENT_SCOPE) +set(CPACK_SOURCE_DIR "${CMAKE_SOURCE_DIR}" PARENT_SCOPE) +set(CPACK_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}" PARENT_SCOPE) +set(CPACK_CARLA_LIBRARIES "${CARLA_LIBRARIES}" PARENT_SCOPE) +set(CPACK_WINE_32_LIBRARY_DIRS "${WINE_32_LIBRARY_DIRS}" PARENT_SCOPE) +set(CPACK_WINE_64_LIBRARY_DIRS "${WINE_64_LIBRARY_DIRS}" PARENT_SCOPE) +set(CPACK_PROJECT_NAME "${PROJECT_NAME}" PARENT_SCOPE) +set(CPACK_PROJECT_NAME_UCASE "${PROJECT_NAME_UCASE}" PARENT_SCOPE) +set(CPACK_PROJECT_VERSION "${VERSION}" PARENT_SCOPE) +set(CPACK_CMAKE_COMMAND "${CMAKE_COMMAND}" PARENT_SCOPE) +set(CPACK_SUIL_MODULES "${Suil_MODULES}" PARENT_SCOPE) +set(CPACK_SUIL_MODULES_PREFIX "${Suil_MODULES_PREFIX}" PARENT_SCOPE) +set(CPACK_STK_RAWWAVE_ROOT "${STK_RAWWAVE_ROOT}" PARENT_SCOPE) + +# TODO: Canidate for DetectMachine.cmake +if(IS_X86_64) + set(CPACK_TARGET_ARCH x86_64 PARENT_SCOPE) +elseif(IS_X86) + set(CPACK_TARGET_ARCH i386 PARENT_SCOPE) +elseif(IS_ARM64) + set(CPACK_TARGET_ARCH aarch64 PARENT_SCOPE) +elseif(IS_ARM32) + set(CPACK_TARGET_ARCH armhf PARENT_SCOPE) +else() + set(CPACK_TARGET_ARCH unknown PARENT_SCOPE) +endif() + +if(CMAKE_VERSION VERSION_LESS "3.19") + message(WARNING "AppImage creation requires at least CMake 3.19") +endif() \ No newline at end of file diff --git a/cmake/linux/LinuxDeploy.cmake b/cmake/linux/LinuxDeploy.cmake new file mode 100644 index 000000000..032c52675 --- /dev/null +++ b/cmake/linux/LinuxDeploy.cmake @@ -0,0 +1,295 @@ +# Create a Linux desktop installer using linuxdeploy +# * Creates a relocatable LMMS.AppDir installation in build/_CPack_Packages using linuxdeploy +# * If CPACK_TOOL=appimagetool or is not set, bundles AppDir into redistributable ".AppImage" file +# * If CPACK_TOOL=makeself is provided, bundles into a redistributable ".run" file +# +# Copyright (c) 2025, Tres Finocchiaro, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# Variables must be prefixed with "CPACK_" to be visible here +set(lmms "${CPACK_PROJECT_NAME}") +set(LMMS "${CPACK_PROJECT_NAME_UCASE}") +set(ARCH "${CPACK_TARGET_ARCH}") +set(APP "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${LMMS}.AppDir") + +# Target AppImage file +set(APPIMAGE_FILE "${CPACK_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.AppImage") +set(APPIMAGE_BEFORE_RENAME "${CPACK_BINARY_DIR}/${LMMS}-${ARCH}.AppImage") + +set(DESKTOP_FILE "${APP}/usr/share/applications/${lmms}.desktop") + +# Determine which packaging tool to use +if(NOT CPACK_TOOL) + # Pick up environmental variable + if(DEFINED ENV{CPACK_TOOL}) + set(CPACK_TOOL "$ENV{CPACK_TOOL}") + else() + set(CPACK_TOOL "appimagetool") + endif() +endif() + +# Toggle command echoing & verbosity +# 0 = no output, 1 = error/warning, 2 = normal, 3 = debug +if(NOT CPACK_DEBUG) + set(VERBOSITY 1) + set(APPIMAGETOOL_VERBOSITY "") + set(COMMAND_ECHO NONE) + set(OUTPUT_QUIET OUTPUT_QUIET) +else() + set(VERBOSITY 2) + set(APPIMAGETOOL_VERBOSITY "--verbose") + set(COMMAND_ECHO STDOUT) + unset(OUTPUT_QUIET) +endif() + +include(DownloadBinary) +include(CreateSymlink) + +# Cleanup CPack "External" json, txt files, old AppImage files +file(GLOB cleanup "${CPACK_BINARY_DIR}/${lmms}-*.json" + "${CPACK_BINARY_DIR}/${lmms}-*.AppImage" + "${CPACK_BINARY_DIR}/install_manifest.txt") +list(SORT cleanup) +file(REMOVE ${cleanup}) + +# Download linuxdeploy, expose bundled appimagetool to PATH +download_binary(LINUXDEPLOY_BIN + "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${ARCH}.AppImage" + linuxdeploy-${ARCH}.AppImage + FALSE) + +# Symlink nested appimagetool +set(_APPIMAGETOOL_LINK "${CPACK_CURRENT_BINARY_DIR}/appimagetool") +if(NOT EXISTS "${_APPIMAGETOOL_LINK}") + set(_APPIMAGETOOL "${CPACK_CURRENT_BINARY_DIR}/.linuxdeploy-${ARCH}.AppImage/squashfs-root/plugins/linuxdeploy-plugin-appimage/appimagetool-prefix/AppRun") + message(STATUS "Creating a symbolic link ${_APPIMAGETOOL_LINK} which points to ${_APPIMAGETOOL}") + create_symlink("${_APPIMAGETOOL}" "${_APPIMAGETOOL_LINK}") +endif() + +# Download linuxdeploy-plugin-qt +download_binary(LINUXDEPLOY_PLUGIN_BIN + "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-${ARCH}.AppImage" + linuxdeploy-plugin-qt-${ARCH}.AppImage + FALSE) + +message(STATUS "Creating AppDir ${APP}...") + +file(REMOVE_RECURSE "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/include") +file(MAKE_DIRECTORY "${APP}/usr") + +# Setup AppDir structure (/usr/bin, /usr/lib, /usr/share... etc) +file(GLOB files "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/*") +list(SORT files) +foreach(_file ${files}) + get_filename_component(_filename "${_file}" NAME) + if(NOT _filename MATCHES ".AppDir") + file(RENAME "${_file}" "${APP}/usr/${_filename}") + endif() +endforeach() + +# Copy Suil modules +if(CPACK_SUIL_MODULES) + set(SUIL_MODULES_TARGET "${APP}/usr/lib/${CPACK_SUIL_MODULES_PREFIX}") + file(MAKE_DIRECTORY "${SUIL_MODULES_TARGET}") + file(COPY ${CPACK_SUIL_MODULES} DESTINATION "${SUIL_MODULES_TARGET}") +endif() + +# Copy stk/rawwaves +if(CPACK_STK_RAWWAVE_ROOT) + set(STK_RAWWAVE_TARGET "${APP}/usr/share/stk/rawwaves/") + file(MAKE_DIRECTORY "${STK_RAWWAVE_TARGET}") + file(GLOB RAWWAVES "${CPACK_STK_RAWWAVE_ROOT}/*.raw") + file(COPY ${RAWWAVES} DESTINATION "${STK_RAWWAVE_TARGET}") +endif() + +# Ensure project's "qmake" executable is first on the PATH +get_filename_component(QTBIN "${CPACK_QMAKE_EXECUTABLE}" DIRECTORY) +set(ENV{PATH} "${QTBIN}:$ENV{PATH}") + +# Ensure "linuxdeploy-.AppImage" and "appimagetool" binaries are first on the PATH +set(ENV{PATH} "${CPACK_CURRENT_BINARY_DIR}:$ENV{PATH}") + +# Promote finding our own libraries first +set(ENV{LD_LIBRARY_PATH} "${APP}/usr/lib/${lmms}/:${APP}/usr/lib/${lmms}/optional:$ENV{LD_LIBRARY_PATH}") + +# Skip slow searching of copyright files https://github.com/linuxdeploy/linuxdeploy/issues/278 +set(ENV{DISABLE_COPYRIGHT_FILES_DEPLOYMENT} 1) + +# Patch desktop file +file(APPEND "${DESKTOP_FILE}" "X-AppImage-Version=${CPACK_PROJECT_VERSION}\n") + +# Prefer a hard-copy of .DirIcon over appimagetool's symlinking +# 256x256 default for Cinnamon Desktop https://forums.linuxmint.com/viewtopic.php?p=2585952 +file(COPY "${APP}/usr/share/icons/hicolor/256x256/apps/${lmms}.png" DESTINATION "${APP}") +file(RENAME "${APP}/${lmms}.png" "${APP}/.DirIcon") +file(COPY "${APP}/usr/share/icons/hicolor/256x256/apps/${lmms}.png" DESTINATION "${APP}") + +# Build list of libraries to inform linuxdeploy about +# e.g. --library=foo.so --library=bar.so +file(GLOB LIBS "${APP}/usr/lib/${lmms}/*.so") + +# Inform linuxdeploy about LADSPA plugins; may depend on bundled fftw3f, etc. +file(GLOB LADSPA "${APP}/usr/lib/${lmms}/ladspa/*.so") + +# Inform linuxdeploy about remote plugins +file(GLOB REMOTE_PLUGINS "${APP}/usr/lib/${lmms}/*Remote*") + +# Collect, sort and dedupe all libraries +list(APPEND LIBS ${LADSPA}) +list(APPEND LIBS ${REMOTE_PLUGINS}) +list(APPEND LIBS ${CPACK_SUIL_MODULES}) +list(REMOVE_DUPLICATES LIBS) +list(SORT LIBS) + +# Handle non-relinkable files (e.g. RemoveVstPlugin[32|64], but not NativeLinuxRemoteVstPlugin) +list(FILTER LIBS EXCLUDE REGEX "\\/RemoteVst") + +# Construct linuxdeploy parameters +foreach(_lib IN LISTS LIBS) + if(EXISTS "${_lib}") + list(APPEND LIBRARIES "--library=${_lib}") + endif() +endforeach() + +# Call linuxdeploy +message(STATUS "Calling ${LINUXDEPLOY_BIN} --appdir \"${APP}\" ... [... libraries].") +execute_process(COMMAND "${LINUXDEPLOY_BIN}" + --appdir "${APP}" + --desktop-file "${DESKTOP_FILE}" + --custom-apprun "${CPACK_SOURCE_DIR}/cmake/linux/launch_lmms.sh" + --plugin qt + ${LIBRARIES} + --verbosity ${VERBOSITY} + ${OUTPUT_QUIET} + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + +# Remove svg ambitiously placed by linuxdeploy +file(REMOVE "${APP}/${lmms}.svg") + +# Remove libraries that are normally sytem-provided +file(GLOB EXCLUDE_LIBS + "${APP}/usr/lib/libwine*" + "${APP}/usr/lib/libcarla_native*" + "${APP}/usr/lib/${lmms}/optional/libcarla*" + "${APP}/usr/lib/libjack*") + +list(SORT EXCLUDE_LIBS) +foreach(_lib IN LISTS EXCLUDE_LIBS) + if(EXISTS "${_lib}") + file(REMOVE "${_lib}") + endif() +endforeach() + +# FIXME: Remove when linuxdeploy supports subfolders https://github.com/linuxdeploy/linuxdeploy/issues/305 +foreach(_lib IN LISTS LIBS) + if(EXISTS "${_lib}") + file(REMOVE "${_lib}") + endif() +endforeach() +# Move RemotePlugins into to LMMS_PLUGIN_DIR +file(GLOB WINE_VST_LIBS + "${APP}/usr/lib/${lmms}/RemoteVstPlugin*" + "${APP}/usr/lib/${lmms}/32") +foreach(_file IN LISTS WINE_VST_LIBS) + if(EXISTS "${_file}") + get_filename_component(_name "${_file}" NAME) + file(RENAME "${_file}" "${APP}/usr/lib/${_name}") + endif() +endforeach() +file(GLOB WINE_32_LIBS + "${APP}/usr/lib/${lmms}/RemoteVstPlugin*") +foreach(_lib IN LISTS WINE_64_LIBS) + if(EXISTS "${_lib}") + get_filename_component(_file "${_lib}" NAME) + file(RENAME "${_lib}" "${APP}/usr/lib/${_file}") + endif() +endforeach() + +file(REMOVE_RECURSE "${SUIL_MODULES_TARGET}" "${APP}/usr/lib/${lmms}/ladspa/") + +# Bundle jack to avoid crash for systems without it +# See https://github.com/LMMS/lmms/pull/4186 +execute_process(COMMAND ldd "${APP}/usr/bin/${lmms}" + OUTPUT_VARIABLE LDD_OUTPUT + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) +string(REPLACE "\n" ";" LDD_LIST "${LDD_OUTPUT}") +foreach(line ${LDD_LIST}) + if(line MATCHES "libjack\\.so") + # Assume format "libjack.so.0 => /lib/x86_64-linux-gnu/libjack.so.0 (0x00007f48d0b0e000)" + string(REPLACE " " ";" parts "${line}") + list(LENGTH parts len) + math(EXPR index "${len}-2") + list(GET parts ${index} lib) + # Get symlink target + file(REAL_PATH "${lib}" libreal) + get_filename_component(symname "${lib}" NAME) + get_filename_component(realname "${libreal}" NAME) + file(MAKE_DIRECTORY "${APP}/usr/lib/${lmms}/optional/") + # Copy, but with original symlink name + file(COPY "${libreal}" DESTINATION "${APP}/usr/lib/${lmms}/optional/") + file(RENAME "${APP}/usr/lib/${lmms}/optional/${realname}" "${APP}/usr/lib/${lmms}/optional/${symname}") + continue() + endif() +endforeach() + +if(CPACK_TOOL STREQUAL "appimagetool") + # Create ".AppImage" file using appimagetool (default) + + # appimage plugin needs ARCH set when running in extracted form from squashfs-root / CI + set(ENV{ARCH} "${ARCH}") + message(STATUS "Finishing the AppImage...") + execute_process(COMMAND ${CPACK_TOOL} "${APP}" "${APPIMAGE_FILE}" + ${APPIMAGETOOL_VERBOSITY} + ${OUTPUT_QUIET} + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + + message(STATUS "AppImage created: ${APPIMAGE_FILE}") +elseif(CPACK_TOOL STREQUAL "makeself") + # Create self-extracting ".run" script using makeself + find_program(MAKESELF_BIN makeself REQUIRED) + + message(STATUS "Finishing the .run file using ${MAKESELF_BIN}...") + string(REPLACE ".AppImage" ".run" RUN_FILE "${APPIMAGE_FILE}") + configure_file( + "${CPACK_SOURCE_DIR}/cmake/linux/makeself_setup.sh.in" "${APP}/setup.sh" @ONLY + FILE_PERMISSIONS + OWNER_EXECUTE OWNER_WRITE OWNER_READ + GROUP_EXECUTE GROUP_WRITE GROUP_READ + WORLD_READ) + + if(OUTPUT_QUIET) + set(MAKESELF_QUIET "--quiet") + set(ERROR_QUIET ERROR_QUIET) + endif() + + # makeself.sh [args] archive_dir file_name label startup_script [script_args] + file(REMOVE "${RUN_FILE}") + execute_process(COMMAND "${MAKESELF_BIN}" + --keep-umask + --nox11 + ${MAKESELF_QUIET} + "${APP}" + "${RUN_FILE}" + "${LMMS} Installer" + "./setup.sh" + ${OUTPUT_QUIET} + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + + # ensure the installer can be executed as a script file + execute_process(COMMAND "${RUN_FILE}" --help + ${OUTPUT_QUIET} + ${ERROR_QUIET} + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + + message(STATUS "Installer created: ${RUN_FILE}") +else() + message(FATAL_ERROR "Packaging tool CPACK_TOOL=\"${CPACK_TOOL}\" is not yet supported") +endif() diff --git a/cmake/linux/icons/256x256/apps/lmms.png b/cmake/linux/icons/256x256/apps/lmms.png new file mode 100644 index 0000000000000000000000000000000000000000..c069239dd0522d69c50f63b7286918b2fe3c78e0 GIT binary patch literal 11360 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 Ty-!OQfPNHYUPxC-ng#tI#nNH0 literal 0 HcmV?d00001 diff --git a/cmake/linux/icons/256x256/mimetypes/application-x-lmms-project.png b/cmake/linux/icons/256x256/mimetypes/application-x-lmms-project.png new file mode 100644 index 0000000000000000000000000000000000000000..0e03e70125550254df4191f7737b566db2f8d71d GIT binary patch literal 7689 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 literal 0 HcmV?d00001 diff --git a/cmake/linux/launch_lmms.sh b/cmake/linux/launch_lmms.sh index ba26fb9c7..131d2b92d 100644 --- a/cmake/linux/launch_lmms.sh +++ b/cmake/linux/launch_lmms.sh @@ -21,4 +21,10 @@ else echo "Jack does not appear to be installed. That's OK, we'll use a dummy version instead." >&2 export LD_LIBRARY_PATH=$DIR/usr/lib/lmms/optional:$LD_LIBRARY_PATH fi -QT_X11_NO_NATIVE_MENUBAR=1 "$DIR"/usr/bin/lmms.real "$@" + +# FIXME: Remove when linuxdeploy supports subfolders https://github.com/linuxdeploy/linuxdeploy/issues/305 +export LMMS_PLUGIN_DIR="$DIR/usr/lib/" +export LADSPA_PATH="$DIR/usr/lib/" +export SUIL_MODULE_DIR="$DIR/usr/lib/" + +QT_X11_NO_NATIVE_MENUBAR=1 "$DIR"/usr/bin/lmms "$@" diff --git a/cmake/linux/makeself_setup.sh.in b/cmake/linux/makeself_setup.sh.in new file mode 100644 index 000000000..22aa5c474 --- /dev/null +++ b/cmake/linux/makeself_setup.sh.in @@ -0,0 +1,35 @@ +#!/bin/bash + +# Halt on first error +set -e + +DESTDIR="/opt/@CPACK_PROJECT_NAME@" +BASHCOMPLETIONS="/usr/share/bash-completion/completions" +if [ "$(id -u)" != "0" ]; then + # Prepend "$HOME" so we can install to a writable location + DESTDIR="${HOME}${DESTDIR}" + BASHCOMPLETIONS="${HOME}/.local/share/bash-completion/completions" + echo "Installing as a regular user to ${DESTDIR}/..." +else + echo "Installing as elevated user to ${DESTDIR}/..." +fi + +# Deploy @CPACK_PROJECT_NAME_UCASE@ +mkdir -p "${DESTDIR}" +unalias cp &> /dev/null || true +cp -rf ./* "${DESTDIR}" +rm -f "${DESTDIR}/setup.sh" +mv "${DESTDIR}/AppRun" "${DESTDIR}/@CPACK_PROJECT_NAME@" + +# Install bash completions +mkdir -p "${BASHCOMPLETIONS}" +ln -sf "${DESTDIR}/usr/share/@CPACK_PROJECT_NAME@/bash-completion/completions/@CPACK_PROJECT_NAME@" "${BASHCOMPLETIONS}/@CPACK_PROJECT_NAME@" + +# Test @CPACK_PROJECT_NAME_UCASE@ +echo "Installation complete... Testing \"@CPACK_PROJECT_NAME@\"..." +"${DESTDIR}/@CPACK_PROJECT_NAME@" --allowroot --version &> /dev/null + +# TODO: Register file associations, desktop icon, etc + +echo "@CPACK_PROJECT_NAME_UCASE@ was installed successfully to ${DESTDIR}. To run:" +echo " ${DESTDIR}/@CPACK_PROJECT_NAME@" \ No newline at end of file diff --git a/cmake/linux/package_linux.sh.in b/cmake/linux/package_linux.sh.in deleted file mode 100644 index 16cd5719b..000000000 --- a/cmake/linux/package_linux.sh.in +++ /dev/null @@ -1,213 +0,0 @@ -#!/usr/bin/env bash -# Creates Linux ".AppImage" for @PROJECT_NAME_UCASE@ -# -# Depends: linuxdeployqt -# -# Notes: Will attempt to fetch linuxdeployqt automatically (x86_64 only) -# See Also: https://github.com/probonopd/linuxdeployqt/blob/master/BUILDING.md - -VERBOSITY=2 # 3=debug -LOGFILE="@CMAKE_BINARY_DIR@/appimage.log" -APPDIR="@CMAKE_BINARY_DIR@/@PROJECT_NAME_UCASE@.AppDir/" -DESKTOPFILE="${APPDIR}usr/share/applications/lmms.desktop" -STRIP="" - -# Don't strip for Debug|RelWithDebInfo builds -# shellcheck disable=SC2193 -if [[ "@CMAKE_BUILD_TYPE@" == *"Deb"* ]]; then - STRIP="-no-strip" -fi - -# Console colors -RED="\\x1B[1;31m" -GREEN="\\x1B[1;32m" -YELLOW="\\x1B[1;33m" -PLAIN="\\x1B[0m" - -function error { - echo -e " ${PLAIN}[${RED}error${PLAIN}] ${1}" - return 1 -} - -function success { - echo -e " ${PLAIN}[${GREEN}success${PLAIN}] ${1}" -} - -function skipped { - echo -e " ${PLAIN}[${YELLOW}skipped${PLAIN}] ${1}" -} - -# Exit with error message if any command fails -trap "error 'Failed to generate AppImage'; exit 1" ERR - -# Run a command silently, but print output if it fails -function run_and_log { - echo -e "\n\n>>>>> $1" >> "$LOGFILE" - output="$("$@" 2>&1)" - status=$? - echo "$output" >> "$LOGFILE" - [[ $status != 0 ]] && echo "$output" - return $status -} - -# Blindly assume system arch is appimage arch -ARCH=$(uname -m) -export ARCH - -# Check for problematic install locations -INSTALL=$(echo "@CMAKE_INSTALL_PREFIX@" | sed 's/\/*$//g') -if [ "$INSTALL" == "/usr/local" ] || [ "$INSTALL" == "/usr" ] ; then - error "Incompatible CMAKE_INSTALL_PREFIX for creating AppImage: @CMAKE_INSTALL_PREFIX@" -fi - -# Ensure linuxdeployqt uses the same qmake version as cmake -PATH="$(dirname "@QT_QMAKE_EXECUTABLE@"):$PATH" -export PATH - -# Use linuxdeployqt from env or in PATH -[[ $LINUXDEPLOYQT ]] || LINUXDEPLOYQT="$(which linuxdeployqt 2>/dev/null)" || true -[[ $APPIMAGETOOL ]] || APPIMAGETOOL="$(which appimagetool 2>/dev/null)" || true - -# Fetch portable linuxdeployqt if not in PATH -if [[ -z $LINUXDEPLOYQT || -z $APPIMAGETOOL ]]; then - filename="linuxdeployqt-continuous-$ARCH.AppImage" - url="https://github.com/probonopd/linuxdeployqt/releases/download/continuous/$filename" - echo " [.......] Downloading: ${url}" - wget -N -q "$url" && err=0 || err=$? - case "$err" in - 0) success "Downloaded $PWD/$filename" ;; - # 8 == server issued 4xx error - 8) error "Download failed (perhaps no package available for $ARCH)" ;; - *) error "Download failed" ;; - esac - - # Extract AppImage and replace LINUXDEPLOYQT variable with extracted binary - # to support systems without fuse - # Also, we need to set LD_LIBRARY_PATH, but linuxdepoyqt's AppRun unsets it - # See https://github.com/probonopd/linuxdeployqt/pull/370/ - chmod +x "$filename" - ./"$filename" --appimage-extract >/dev/null - success "Extracted $filename" - - # Use the extracted linuxdeployqt and appimagetool - PATH="$(pwd -P)/squashfs-root/usr/bin:$PATH" - [[ $LINUXDEPLOYQT ]] || LINUXDEPLOYQT="$(which linuxdeployqt)" - [[ $APPIMAGETOOL ]] || APPIMAGETOOL="$(which appimagetool)" -fi - -# Make skeleton AppDir -echo -e "\nCreating ${APPDIR}..." -rm -rf "${APPDIR}" -mkdir -p "${APPDIR}usr" -success "Created ${APPDIR}" - -# Clone install to AppDir -echo -e "\nCopying @CMAKE_INSTALL_PREFIX@ to ${APPDIR}..." -cp -R "@CMAKE_INSTALL_PREFIX@/." "${APPDIR}usr" -rm -rf "${APPDIR}usr/include" -success "${APPDIR}" - -# Copy rawwaves directory for stk/mallets -mkdir -p "${APPDIR}usr/share/stk/" -cp -R /usr/share/stk/rawwaves/ "${APPDIR}usr/share/stk/" - -# Create a wrapper script which calls the lmms executable -mv "${APPDIR}usr/bin/lmms" "${APPDIR}usr/bin/lmms.real" - -cp "@CMAKE_CURRENT_SOURCE_DIR@/launch_lmms.sh" "${APPDIR}usr/bin/lmms" - -chmod +x "${APPDIR}usr/bin/lmms" - -# Per https://github.com/probonopd/linuxdeployqt/issues/129 -unset LD_LIBRARY_PATH - -# Ensure linuxdeployqt can find shared objects -export LD_LIBRARY_PATH="${APPDIR}"usr/lib/lmms/:"${APPDIR}"usr/lib/lmms/optional:"$LD_LIBRARY_PATH" - -# Move executables so linuxdeployqt can find them -ZYNLIB="${APPDIR}usr/lib/lmms/RemoteZynAddSubFx" -VSTLIB32="${APPDIR}usr/lib/lmms/32/RemoteVstPlugin32.exe.so" -VSTLIB64="${APPDIR}usr/lib/lmms/RemoteVstPlugin64.exe.so" - -ZYNBIN="${APPDIR}usr/bin/RemoteZynAddSubFx" -VSTBIN32="${APPDIR}usr/bin/RemoteVstPlugin32.exe.so" -VSTBIN64="${APPDIR}usr/bin/RemoteVstPlugin64.exe.so" - -mv "$ZYNLIB" "$ZYNBIN" -mv "$VSTLIB32" "$VSTBIN32" || true -mv "$VSTLIB64" "$VSTBIN64" || true - -# Handle wine linking -if [ -d "@WINE_32_LIBRARY_DIR@" ] && \ - ldd "$VSTBIN32" | grep "libwine\.so" | grep "not found"; then - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"@WINE_32_LIBRARY_DIRS@" -fi -if [ -d "@WINE_64_LIBRARY_DIR@" ] && \ - ldd "$VSTBIN64" | grep "libwine\.so" | grep "not found"; then - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"@WINE_64_LIBRARY_DIRS@" -fi - -# Patch the desktop file -sed -i 's/.*Exec=.*/Exec=lmms.real/' "$DESKTOPFILE" -echo "X-AppImage-Version=@VERSION@" >> "$DESKTOPFILE" - -# Fix linking for soft-linked plugins -for file in "${APPDIR}usr/lib/lmms/"*.so; do - thisfile="${APPDIR}usr/lib/lmms/${file##*/}" - executables="${executables} -executable=$thisfile" -done -executables="${executables} -executable=${ZYNBIN}" -executables="${executables} -executable=${VSTBIN32}" -executables="${executables} -executable=${VSTBIN64}" -executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/imp_1199.so" -executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/imbeq_1197.so" -executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/pitch_scale_1193.so" -executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/pitch_scale_1194.so" - -echo -e "\nWriting verbose output to \"${LOGFILE}\"" -echo -n > "$LOGFILE" - -# Bundle both qt and non-qt dependencies into appimage format -echo -e "\nBundling and relinking system dependencies..." - -# shellcheck disable=SC2086 -run_and_log "$LINUXDEPLOYQT" "$DESKTOPFILE" $executables -bundle-non-qt-libs -verbose=$VERBOSITY $STRIP -success "Bundled and relinked dependencies" - -# Link to original location so lmms can find them -ln -sr "$ZYNBIN" "$ZYNLIB" -ln -sr "$VSTBIN32" "$VSTLIB32" || true -ln -sr "$VSTBIN64" "$VSTLIB64" || true - -# Remove wine library conflict -rm -f "${APPDIR}/usr/lib/libwine.so.1" - -# Use system-provided carla -rm -f "${APPDIR}usr/lib/"libcarla*.so -rm -f "${APPDIR}usr/lib/lmms/optional/"libcarla*.so - -# Remove bundled jack in LD_LIBRARY_PATH if exists -if [ -e "${APPDIR}/usr/lib/libjack.so.0" ]; then - rm "${APPDIR}/usr/lib/libjack.so.0" -fi - -# Bundle jack out of LD_LIBRARY_PATH -JACK_LIB=$(ldd "${APPDIR}/usr/bin/lmms.real" | sed -n 's/\tlibjack\.so\.0 => \(.\+\) (0x[0-9a-f]\+)/\1/p') -if [ -e "$JACK_LIB" ]; then - mkdir -p "${APPDIR}usr/lib/lmms/optional/" - cp "$JACK_LIB" "${APPDIR}usr/lib/lmms/optional/" -fi - -# Point the AppRun to the shim launcher -rm -f "${APPDIR}/AppRun" -ln -sr "${APPDIR}/usr/bin/lmms" "${APPDIR}/AppRun" - -# Add icon -ln -srf "${APPDIR}/lmms.png" "${APPDIR}/.DirIcon" - -# Create AppImage -echo -e "\nFinishing the AppImage..." -run_and_log "$APPIMAGETOOL" "${APPDIR}" "@APPIMAGE_FILE@" -success "Created @APPIMAGE_FILE@" - -echo -e "\nFinished" diff --git a/cmake/modules/BashCompletion.cmake b/cmake/modules/BashCompletion.cmake index 7301e82aa..7ce5a4886 100644 --- a/cmake/modules/BashCompletion.cmake +++ b/cmake/modules/BashCompletion.cmake @@ -1,93 +1,78 @@ -# A wrapper around pkg-config-provided and cmake-provided bash completion that -# will have dynamic behavior at INSTALL() time to allow both root-level -# INSTALL() as well as user-level INSTALL(). -# -# See also https://github.com/scop/bash-completion -# -# Copyright (c) 2018, Tres Finocchiaro, +# Copyright (c) 2024, Tres Finocchiaro, # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # +# Description: +# Fail-safe bash-completion installation support +# - Installs to ${CMAKE_INSTALL_PREFIX}/share/bash-completion/completions +# - Attempts to calculate and install to system-wide location +# - See also https://github.com/scop/bash-completion +# # Usage: # INCLUDE(BashCompletion) # BASHCOMP_INSTALL(foo) # ... where "foo" is a shell script adjacent to the CMakeLists.txt -# -# How it determines BASHCOMP_PKG_PATH, in order: -# 1. Uses BASHCOMP_PKG_PATH if already set (e.g. -DBASHCOMP_PKG_PATH=...) -# a. If not, uses pkg-config's PKG_CHECK_MODULES to determine path -# b. Fallback to cmake's FIND_PACKAGE(bash-completion) path -# c. Fallback to hard-coded /usr/share/bash-completion/completions -# 2. Final fallback to ${CMAKE_INSTALL_PREFIX}/share/bash-completion/completions if -# detected path is unwritable. -# - Windows does not support bash completion -# - macOS support should eventually be added for Homebrew (TODO) -IF(WIN32) - MESSAGE(STATUS "Bash completion is not supported on this platform.") -ELSEIF(APPLE) - MESSAGE(STATUS "Bash completion is not yet implemented for this platform.") -ELSE() - INCLUDE(FindUnixCommands) - # Honor manual override if provided - IF(NOT BASHCOMP_PKG_PATH) - # First, use pkg-config, which is the most reliable - FIND_PACKAGE(PkgConfig QUIET) - IF(PKGCONFIG_FOUND) - PKG_CHECK_MODULES(BASH_COMPLETION bash-completion) - PKG_GET_VARIABLE(BASHCOMP_PKG_PATH bash-completion completionsdir) - ELSE() - # Second, use cmake (preferred but less common) - FIND_PACKAGE(bash-completion QUIET) - IF(BASH_COMPLETION_FOUND) - SET(BASHCOMP_PKG_PATH "${BASH_COMPLETION_COMPLETIONSDIR}") - ENDIF() - ENDIF() +# Honor manual override if provided +if(NOT BASHCOMP_PKG_PATH) + # First, use pkg-config, which is the most reliable + find_package(PkgConfig QUIET) + if(PKGCONFIG_FOUND) + PKG_CHECK_MODULES(BASH_COMPLETION bash-completion) + PKG_GET_VARIABLE(BASHCOMP_PKG_PATH bash-completion completionsdir) + else() + # Second, use cmake (preferred but less common) + find_package(bash-completion QUIET) + if(BASH_COMPLETION_FOUND) + set(BASHCOMP_PKG_PATH "${BASH_COMPLETION_COMPLETIONSDIR}") + endif() + endif() - # Third, use a hard-coded fallback value - IF("${BASHCOMP_PKG_PATH}" STREQUAL "") - SET(BASHCOMP_PKG_PATH "/usr/share/bash-completion/completions") - ENDIF() - ENDIF() + # Third, use a hard-coded fallback value + if("${BASHCOMP_PKG_PATH}" STREQUAL "") + set(BASHCOMP_PKG_PATH "/usr/share/bash-completion/completions") + endif() +endif() - # Always provide a fallback for non-root INSTALL() - SET(BASHCOMP_USER_PATH "${CMAKE_INSTALL_PREFIX}/share/bash-completion/completions") +# Always provide a fallback for non-root INSTALL() +# * "lmms" subfolder ensures we don't pollute /usr/local/share/ on default "make install" +set(BASHCOMP_USER_PATH "share/${PROJECT_NAME}/bash-completion/completions") - # Cmake doesn't allow easy use of conditional logic at INSTALL() time - # this is a problem because ${BASHCOMP_PKG_PATH} may not be writable and we - # need sane fallback behavior for bundled INSTALL() (e.g. .AppImage, etc). - # - # The reason this can't be detected by cmake is that it's fairly common to - # run "cmake" as a one user (i.e. non-root) and "make install" as another user - # (i.e. root). - # - # - Creates a script called "install_${SCRIPT_NAME}_completion.sh" into the - # working binary directory and invokes this script at install. - # - Script handles INSTALL()-time conditional logic for sane ballback behavior - # when ${BASHCOMP_PKG_PATH} is unwritable (i.e. non-root); Something cmake - # can't handle on its own at INSTALL() time) - MACRO(BASHCOMP_INSTALL SCRIPT_NAME) - # A shell script for wrapping conditionl logic - SET(BASHCOMP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install_${SCRIPT_NAME}_completion.sh") +macro(BASHCOMP_INSTALL SCRIPT_NAME) + # Note: When running from CPack, message(...) will be supressed unless WARNING + if(WIN32) + message(STATUS "Bash completion is not supported on this platform.") + else() + # Install a copy of bash completion to the default install prefix + # See also: https://github.com/LMMS/lmms/pull/7252/files#r1815749125 + install(FILES "${SCRIPT_NAME}" DESTINATION "${BASHCOMP_USER_PATH}") + + # Next, blindly attempt a system-wide install, ignoring failure + # See also: https://stackoverflow.com/q/58448332 + # * CPack doesn't use CMAKE_INSTALL_PREFIX, so the original will be missing when packaging + # and this step will be skipped + # * For non-root installs (e.g. ../target), this will silently fail + set(BASHCOMP_ORIG "${CMAKE_INSTALL_PREFIX}/${BASHCOMP_USER_PATH}/${CMAKE_PROJECT_NAME}") + set(BASHCOMP_LINK "${BASHCOMP_PKG_PATH}/${CMAKE_PROJECT_NAME}") + + if(BASHCOMP_PKG_PATH) + # TODO: CMake 3.21 Use "file(COPY_FILE ...)" + install(CODE " + if(EXISTS \"${BASHCOMP_ORIG}\") + file(REMOVE \"${BASHCOMP_LINK}\") + execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink + \"${BASHCOMP_ORIG}\" + \"${BASHCOMP_LINK}\" + ERROR_QUIET + RESULT_VARIABLE result) + if(result EQUAL 0) + message(STATUS \"Bash completion-support has been installed to ${BASHCOMP_LINK}\") + endif() + endif() + ") + endif() + endif() +endmacro() - FILE(WRITE ${BASHCOMP_SCRIPT} "\ -#!${BASH}\n\ -set -e\n\ -if [ -w \"${BASHCOMP_PKG_PATH}\" ]; then\n\ - BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\ -else \n\ - BASHCOMP_PKG_PATH=\"\$DESTDIR${BASHCOMP_USER_PATH}\"\n\ -fi\n\ -echo -e \"\\nInstalling bash completion...\\n\"\n\ -mkdir -p \"\$BASHCOMP_PKG_PATH\"\n\ -cp \"${CMAKE_CURRENT_SOURCE_DIR}/${SCRIPT_NAME}\" \"\$BASHCOMP_PKG_PATH\"\n\ -chmod a+r \"\$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\ -echo -e \"Bash completion for ${SCRIPT_NAME} has been installed to \$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\ -") - INSTALL(CODE "EXECUTE_PROCESS(COMMAND chmod u+x \"install_${SCRIPT_NAME}_completion.sh\" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )") - INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"./install_${SCRIPT_NAME}_completion.sh\" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )") - MESSAGE(STATUS "Bash completion script for ${SCRIPT_NAME} will be installed to ${BASHCOMP_PKG_PATH} or fallback to ${BASHCOMP_USER_PATH} if unwritable.") - ENDMACRO() -ENDIF() diff --git a/cmake/modules/CreateSymlink.cmake b/cmake/modules/CreateSymlink.cmake new file mode 100644 index 000000000..41af2eb6f --- /dev/null +++ b/cmake/modules/CreateSymlink.cmake @@ -0,0 +1,34 @@ +# Offer relative symlink support via "cmake -E create_symlink" +# For verbose, set COMMAND_ECHO to STDOUT in calling script +macro(create_symlink filepath sympath) + if(CMAKE_COMMAND) + set(_cmake_command "${CMAKE_COMMAND}") + elseif(CPACK_CMAKE_COMMAND) + set(_cmake_command "${CPACK_CMAKE_COMMAND}") + else() + message(FATAL_ERROR "Sorry, can't resolve variable CMAKE_COMMAND") + endif() + + if(NOT IS_ABSOLUTE "${sympath}") + message(FATAL_ERROR "Sorry, this command only works with absolute paths") + endif() + + if(NOT DEFINED COMMAND_ECHO) + set(_command_echo NONE) + else() + set(_command_echo "${COMMAND_ECHO}") + endif() + + # Calculate the relative path + file(RELATIVE_PATH reldir "${sympath}/../" "${filepath}") + get_filename_component(symname "${sympath}" NAME) + + # Calculate the working directory + get_filename_component(sympath_parent "${sympath}" DIRECTORY) + + # Create the symbolic link + execute_process(COMMAND "${_cmake_command}" -E create_symlink "${reldir}" "${symname}" + WORKING_DIRECTORY "${sympath_parent}" + COMMAND_ECHO ${_command_echo} + COMMAND_ERROR_IS_FATAL ANY) +endmacro() \ No newline at end of file diff --git a/cmake/modules/DownloadBinary.cmake b/cmake/modules/DownloadBinary.cmake new file mode 100644 index 000000000..a6b92dc44 --- /dev/null +++ b/cmake/modules/DownloadBinary.cmake @@ -0,0 +1,143 @@ +# Downloads an executable from the provided URL for use in a build system +# and optionally prepends it to the PATH +# +# Assumes: +# - CMAKE_CURRENT_BINARY_DIR/[${_name}] +# - CPACK_CURRENT_BINARY_DIR/[${_name}] +# - Fallback to $ENV{TMPDIR}/[RANDOM]/[${_name}] +# - For verbose, set COMMAND_ECHO to STDOUT in calling script +# +macro(download_binary RESULT_VARIABLE _url _name _prepend_to_path) + if(NOT COMMAND_ECHO OR "${COMMAND_ECHO}" STREQUAL "NONE") + set(_command_echo NONE) + set(_output_quiet OUTPUT_QUIET) + set(_error_quiet ERROR_QUIET) + else() + set(_command_echo "${COMMAND_ECHO}") + set(_output_quiet "") + set(_error_quiet "") + endif() + + # Check if fuse is needed + if("${RESULT_VARIABLE}" MATCHES "\\.AppImage$" OR "${_name}" MATCHES "\\.AppImage$") + message(STATUS "AppImage detected, we'll extract the AppImage before using") + set(_${RESULT_VARIABLE}_IS_APPIMAGE TRUE) + endif() + + # Determine a suitable working directory + if(CMAKE_CURRENT_BINARY_DIR) + # Assume we're called from configure step + set(_working_dir "${CMAKE_CURRENT_BINARY_DIR}") + elseif(CPACK_CURRENT_BINARY_DIR) + # Assume cpack (non-standard variable name, but used throughout) + set(_working_dir "${CPACK_CURRENT_BINARY_DIR}") + else() + # Fallback to somewhere temporary, writable + if($ENV{_tmpdir}) + # POSIX + set(_tmpdir "$ENV{_tmpdir}") + elseif($ENV{TEMP}) + # Windows + set(_tmpdir "$ENV{TEMP}") + else() + # Linux, shame on you! + find_program(MKTEMP mktemp) + if(MKTEMP) + execute_process(COMMAND mktemp + OUTPUT_VARIABLE _working_dir + OUTPUT_STRIP_TRAILING_WHITESPACE + ${_output_quiet} + COMMAND_ECHO ${_command_echo}) + # mktemp formats it how we want it + else() + # Ummm... Linux you can do better! + set(_tmpdir "/tmp") + endif() + endif() + if(NOT DEFINED _working_dir) + string(RANDOM subdir) + set(_working_dir "${_tmpdir}/tmp.${subdir}") + endif() + if(NOT EXISTS "${_working_dir}") + file(MAKE_DIRECTORY "${_working_dir}") + endif() + endif() + + if(_prepend_to_path) + # Ensure the PATH is configured + string(FIND "$ENV{PATH}" "${_working_dir}" _pathloc) + if(NOT $_pathloc EQUAL 0) + set(ENV{PATH} "${_working_dir}:$ENV{PATH}") + endif() + endif() + + # First ensure the binary doesn't already exist + find_program(_${RESULT_VARIABLE} "${_name}" HINTS "${_working_dir}") + + set(_binary_path "${_working_dir}/${_name}") + if(NOT _${RESULT_VARIABLE}) + message(STATUS "Downloading ${_name} from ${_url}...") + file(DOWNLOAD + "${_url}" + "${_binary_path}" + STATUS DOWNLOAD_STATUS) + # Check if download was successful. + list(GET DOWNLOAD_STATUS 0 STATUS_CODE) + list(GET DOWNLOAD_STATUS 1 ERROR_MESSAGE) + if(NOT ${STATUS_CODE} EQUAL 0) + file(REMOVE "${_binary_path}") + message(FATAL_ERROR "Error downloading ${_url} ${ERROR_MESSAGE}") + endif() + + # Ensure the file is executable + file(CHMOD "${_binary_path}" PERMISSIONS + OWNER_EXECUTE OWNER_WRITE OWNER_READ + GROUP_EXECUTE GROUP_WRITE GROUP_READ) + + # Ensure it's found + find_program(_${RESULT_VARIABLE} "${_name}" HINTS "${_working_dir}" REQUIRED) + endif() + + # We need to create a subdirectory for this binary and symlink it's AppRun to where it's expected + if(_${RESULT_VARIABLE}_IS_APPIMAGE AND NOT IS_SYMLINK "${_${RESULT_VARIABLE}}") + if(NOT COMMAND create_symlink) + include(CreateSymlink) + endif() + + message(STATUS "Extracting ${_${RESULT_VARIABLE}} to ${_working_dir}/.${_name}/") + + # extract appimage + execute_process(COMMAND "${_${RESULT_VARIABLE}}" --appimage-extract + WORKING_DIRECTORY "${_working_dir}" + COMMAND_ECHO ${_command_echo} + ${_output_quiet} + ${_error_quiet} + COMMAND_ERROR_IS_FATAL ANY) + + # move extracted files to dedicated location (e.g. ".linuxdeploy-x86_64.AppImage/squashfs-root/") + file(MAKE_DIRECTORY "${_working_dir}/.${_name}/") + file(RENAME "${_working_dir}/squashfs-root/" "${_working_dir}/.${_name}/squashfs-root/") + + # remove the unusable binary + file(REMOVE "${_${RESULT_VARIABLE}}") + + # symlink the expected binary name to the AppRun file + message(STATUS "Creating a symbolic link ${_${RESULT_VARIABLE}} which points to ${_working_dir}/.${_name}/squashfs-root/AppRun") + create_symlink("${_working_dir}/.${_name}/squashfs-root/AppRun" "${_${RESULT_VARIABLE}}") + endif() + + # Test the binary + # - TODO: Add support for bad binaries that set "$?" to an error code for no good reason + # - TODO: Add support for Windows binaries expecting "/?" instead of "--help" + message(STATUS "Testing that ${_name} works on this system...") + set(_test_param "--help") + + execute_process(COMMAND "${_${RESULT_VARIABLE}}" ${_test_param} + COMMAND_ECHO ${_command_echo} + ${_output_quiet} + ${_error_quiet} + COMMAND_ERROR_IS_FATAL ANY) + + message(STATUS "The binary \"${_${RESULT_VARIABLE}}\" is now available") + set(${RESULT_VARIABLE} "${_${RESULT_VARIABLE}}") +endmacro() \ No newline at end of file diff --git a/cmake/modules/FindSuilModules.cmake b/cmake/modules/FindSuilModules.cmake new file mode 100644 index 000000000..998521c7a --- /dev/null +++ b/cmake/modules/FindSuilModules.cmake @@ -0,0 +1,40 @@ +# Copyright (c) 2024 Tres Finocchiaro +# +# Redistribution and use is allowed according to the terms of the New BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# This module defines +# Suil_MODULES: List of full paths to Suil modules (e.g. "/usr/lib/suil-0/libsuil_x11.so;...") +# Suil_MODULES_PREFIX: Only the directory name of the Suil_MODULES path (e.g. "suil-0") + +pkg_check_modules(Suil QUIET suil-0) + +if(Suil_FOUND) + if(APPLE) + set(_lib_ext "dylib") + elseif(WIN32) + set(_lib_ext "dll") + else() + set(_lib_ext "so") + endif() + + # Isolate -- if needed -- the first suil library path (e.g. "/usr/lib/libsuil-0.so") + list(GET Suil_LINK_LIBRARIES 0 _lib) + if(EXISTS "${_lib}") + # Isolate -- if needed -- the first suil library name (e.g. "suil-0") + list(GET Suil_LIBRARIES 0 _modules_prefix) + get_filename_component(_lib_dir "${_lib}" DIRECTORY) + # Construct modules path (e.g. "/usr/lib/suil-0") + set(_modules_dir "${_lib_dir}/${_modules_prefix}") + if(IS_DIRECTORY "${_modules_dir}") + set(Suil_MODULES_PREFIX "${_modules_prefix}") + file(GLOB Suil_MODULES "${_modules_dir}/*.${_lib_ext}") + list(SORT Suil_MODULES) + endif() + endif() +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(SuilModules + REQUIRED_VARS Suil_MODULES Suil_MODULES_PREFIX +) \ No newline at end of file diff --git a/cmake/nsis/CMakeLists.txt b/cmake/nsis/CMakeLists.txt index 8363cacf7..a978b4ee4 100644 --- a/cmake/nsis/CMakeLists.txt +++ b/cmake/nsis/CMakeLists.txt @@ -53,6 +53,15 @@ SET(CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}" PARENT_SCOPE) SET(CPACK_PACKAGE_ICON "${CPACK_PACKAGE_ICON}" PARENT_SCOPE) SET(CPACK_NSIS_MUI_ICON "${CPACK_NSIS_MUI_ICON}" PARENT_SCOPE) +# Disable cpack's strip for historic reasons +set(CPACK_STRIP_FILES_ORIG "${CPACK_STRIP_FILES}" PARENT_SCOPE) +set(CPACK_STRIP_FILES FALSE PARENT_SCOPE) + +if(CPACK_DEBUG) + # CMake 3.19+ + set(CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS "-V4") +endif() + # Windows resource compilers CONFIGURE_FILE("lmms.rc.in" "${CMAKE_BINARY_DIR}/lmms.rc") CONFIGURE_FILE("zynaddsubfx.rc.in" "${CMAKE_BINARY_DIR}/plugins/ZynAddSubFx/zynaddsubfx.rc") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c458a5cd2..55f416fae 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -181,11 +181,11 @@ set_target_properties(lmms PROPERTIES set_target_properties(lmmsobjs PROPERTIES AUTOUIC_SEARCH_PATHS "gui/modals") -IF(NOT WIN32) +IF(NOT WIN32 AND NOT LMMS_BUILD_APPLE) if(CMAKE_INSTALL_MANDIR) SET(INSTALL_MANDIR ${CMAKE_INSTALL_MANDIR}) ELSE(CMAKE_INSTALL_MANDIR) - SET(INSTALL_MANDIR ${CMAKE_INSTALL_PREFIX}/share/man) + SET(INSTALL_MANDIR share/man) ENDIF(CMAKE_INSTALL_MANDIR) INSTALL(FILES "${CMAKE_BINARY_DIR}/lmms.1.gz" DESTINATION "${INSTALL_MANDIR}/man1/" diff --git a/src/core/RemotePlugin.cpp b/src/core/RemotePlugin.cpp index dc26bf2b5..28f5f915a 100644 --- a/src/core/RemotePlugin.cpp +++ b/src/core/RemotePlugin.cpp @@ -235,6 +235,11 @@ bool RemotePlugin::init(const QString &pluginExecutable, m_failed = false; } QString exec = QFileInfo(QDir("plugins:"), pluginExecutable).absoluteFilePath(); + + // We may have received a directory via a environment variable + if (const char* env_path = std::getenv("LMMS_PLUGIN_DIR")) + exec = QFileInfo(QDir(env_path), pluginExecutable).absoluteFilePath(); + #ifdef LMMS_BUILD_APPLE // search current directory first QString curDir = QCoreApplication::applicationDirPath() + "/" + pluginExecutable; @@ -252,7 +257,7 @@ bool RemotePlugin::init(const QString &pluginExecutable, if( ! QFile( exec ).exists() ) { - qWarning( "Remote plugin '%s' not found.", + qWarning( "Remote plugin '%s' not found", exec.toUtf8().constData() ); m_failed = true; invalidate(); diff --git a/src/core/audio/AudioSoundIo.cpp b/src/core/audio/AudioSoundIo.cpp index c7fa380e4..1d63ada3a 100644 --- a/src/core/audio/AudioSoundIo.cpp +++ b/src/core/audio/AudioSoundIo.cpp @@ -467,7 +467,8 @@ AudioSoundIo::setupWidget::setupWidget( QWidget * _parent ) : reconnectSoundIo(); - bool ok = connect( &m_backendModel, SIGNAL(dataChanged()), &m_setupUtil, SLOT(reconnectSoundIo())); + [[maybe_unused]] bool ok = connect(&m_backendModel, &ComboBoxModel::dataChanged, + &m_setupUtil, &AudioSoundIoSetupUtil::reconnectSoundIo); assert(ok); m_backend->setModel( &m_backendModel ); @@ -476,7 +477,8 @@ AudioSoundIo::setupWidget::setupWidget( QWidget * _parent ) : AudioSoundIo::setupWidget::~setupWidget() { - bool ok = disconnect( &m_backendModel, SIGNAL(dataChanged()), &m_setupUtil, SLOT(reconnectSoundIo())); + [[maybe_unused]] bool ok = disconnect(&m_backendModel, &ComboBoxModel::dataChanged, + &m_setupUtil, &AudioSoundIoSetupUtil::reconnectSoundIo); assert(ok); if (m_soundio) { diff --git a/src/gui/SampleLoader.cpp b/src/gui/SampleLoader.cpp index f2340852d..d72b0ba5c 100644 --- a/src/gui/SampleLoader.cpp +++ b/src/gui/SampleLoader.cpp @@ -39,7 +39,7 @@ namespace lmms::gui { QString SampleLoader::openAudioFile(const QString& previousFile) { auto openFileDialog = FileDialog(nullptr, QObject::tr("Open audio file")); - auto dir = !previousFile.isEmpty() ? PathUtil::toAbsolute(previousFile) : ConfigManager::inst()->userSamplesDir(); + auto dir = !previousFile.isEmpty() ? QFileInfo(PathUtil::toAbsolute(previousFile)).absolutePath() : ConfigManager::inst()->userSamplesDir(); // change dir to position of previously opened file openFileDialog.setDirectory(dir); From fc125bc7ba3d7daf29773aea1eaa5a33cba66748 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Mon, 3 Feb 2025 02:03:41 -0500 Subject: [PATCH 070/112] CI: Switch linux-x86_64 to Ubuntu 22.04 (#7678) Switches nightly builds from 20.04 to 22.04 Switches from container to actions-native runner --- .github/workflows/build.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 293f5dab6..de57a2a5c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,13 +7,13 @@ concurrency: jobs: linux-x86_64: name: linux-x86_64 - runs-on: ubuntu-latest - container: ghcr.io/lmms/linux.gcc:20.04 + runs-on: ubuntu-22.04 env: CMAKE_OPTS: >- -DUSE_WERROR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_COMPILE_CACHE=ON + -DWANT_DEBUG_CPACK=ON CCACHE_MAXSIZE: 0 CCACHE_NOCOMPRESS: 1 MAKEFLAGS: -j2 @@ -25,6 +25,20 @@ jobs: with: fetch-depth: 0 submodules: recursive + - name: Configure winehq + run: | + sudo dpkg --add-architecture i386 + sudo mkdir -pm755 /etc/apt/keyrings + wget -O - https://dl.winehq.org/wine-builds/winehq.key | \ + sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - + sudo wget -NP /etc/apt/sources.list.d/ \ + https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources + - name: Install packages + run: | + sudo apt-get update -y + sudo apt-get install -y --no-install-recommends \ + $(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt) + sudo apt-get install -y --install-recommends g++-multilib gcc-multilib winehq-stable wine-stable-dev - name: Cache ccache data uses: actions/cache@v3 with: From 9aa937d3919f9d80a4b870ccaba0d74c72687691 Mon Sep 17 00:00:00 2001 From: Fawn Date: Mon, 3 Feb 2025 09:52:13 -0700 Subject: [PATCH 071/112] Use templates for common geometric constants (#7558) * add templates for common geometric constants * oops missed one * LD_2PI -> LD_PI i re-added the wrong constant ffs * CamelCase names and also verify compilation without -DLMMS_MINIMAL * C++20 stuff Updated to account for `` and C++20: - Marked all `lmms_constants.h` constants with an exact equivalent in `` as deprecated - Removed all `lmms_constants.h` constants where no variant is currently in use - Using `inline constexpr` - Using `std::floating_point` concept instead of `typename` * add lmms::numbers namespace * Remove panning_constants.h Moves the four constants in panning_constants.h into panning.h, then removes panning.h. * Use std::exp(n) instead of powf(numbers::e, n) * Use C++ std math functions Co-authored-by: Dalton Messmer * Use overloaded std math functions An attempt to fix compiler warnings on some platforms * Remove uses of __USE_XOPEN And also update two functions I missed from the previous commit * Missed a few * Fix ANOTHER std math function use Of course there's another one --------- Co-authored-by: Dalton Messmer --- include/BasicFilters.h | 27 +++----- include/DspEffectLibrary.h | 2 +- include/MidiEvent.h | 2 +- include/Oscillator.h | 2 +- include/QuadratureLfo.h | 9 +-- include/interpolation.h | 6 +- include/lmms_constants.h | 68 ++++++++++++------- include/lmms_math.h | 25 ++++--- include/panning.h | 5 +- include/panning_constants.h | 41 ----------- plugins/Compressor/Compressor.cpp | 2 +- plugins/Delay/Lfo.cpp | 2 +- plugins/Delay/Lfo.h | 7 +- plugins/Dispersion/Dispersion.cpp | 2 +- plugins/Eq/EqCurve.cpp | 21 ++---- plugins/Eq/EqFilter.h | 10 +-- plugins/Eq/EqSpectrumView.cpp | 6 +- plugins/Flanger/FlangerEffect.cpp | 2 +- .../GranularPitchShifterEffect.cpp | 2 +- .../GranularPitchShifterEffect.h | 6 +- plugins/MultitapEcho/MultitapEcho.h | 2 +- plugins/Xpressive/ExprSynth.cpp | 4 +- plugins/Xpressive/Xpressive.cpp | 4 +- src/core/BandLimitedWave.cpp | 16 ++--- src/core/Instrument.cpp | 4 +- src/core/Oscillator.cpp | 8 ++- src/core/fft_helpers.cpp | 6 +- src/gui/editors/AutomationEditor.cpp | 4 -- src/gui/editors/PianoRoll.cpp | 4 -- src/gui/widgets/FloatModelEditorBase.cpp | 4 -- src/gui/widgets/GroupBox.cpp | 5 -- src/gui/widgets/Knob.cpp | 6 +- src/tracks/SampleTrack.cpp | 2 +- 33 files changed, 127 insertions(+), 189 deletions(-) delete mode 100644 include/panning_constants.h diff --git a/include/BasicFilters.h b/include/BasicFilters.h index 8d21b3657..1ca68d82f 100644 --- a/include/BasicFilters.h +++ b/include/BasicFilters.h @@ -31,10 +31,6 @@ #ifndef LMMS_BASIC_FILTERS_H #define LMMS_BASIC_FILTERS_H -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include #include @@ -74,21 +70,20 @@ public: inline void setCoeffs( float freq ) { // wc - const double wc = D_2PI * freq; + const double wc = numbers::tau * freq; const double wc2 = wc * wc; const double wc3 = wc2 * wc; m_wc4 = wc2 * wc2; // k - const double k = wc / tan( D_PI * freq / m_sampleRate ); + const double k = wc / std::tan(numbers::pi * freq / m_sampleRate); const double k2 = k * k; const double k3 = k2 * k; m_k4 = k2 * k2; // a - static const double sqrt2 = sqrt( 2.0 ); - const double sq_tmp1 = sqrt2 * wc3 * k; - const double sq_tmp2 = sqrt2 * wc * k3; + const double sq_tmp1 = numbers::sqrt2 * wc3 * k; + const double sq_tmp2 = numbers::sqrt2 * wc * k3; m_a = 1.0 / ( 4.0 * wc2 * k2 + 2.0 * sq_tmp1 + m_k4 + 2.0 * sq_tmp2 + m_wc4 ); @@ -718,7 +713,7 @@ public: { _freq = std::clamp(_freq, 50.0f, 20000.0f); const float sr = m_sampleRatio * 0.25f; - const float f = 1.0f / ( _freq * F_2PI ); + const float f = 1.0f / (_freq * numbers::tau_v); m_rca = 1.0f - sr / ( f + sr ); m_rcb = 1.0f - m_rca; @@ -751,8 +746,8 @@ public: const float fract = vowelf - vowel; // interpolate between formant frequencies - const float f0 = 1.0f / ( linearInterpolate( _f[vowel+0][0], _f[vowel+1][0], fract ) * F_2PI ); - const float f1 = 1.0f / ( linearInterpolate( _f[vowel+0][1], _f[vowel+1][1], fract ) * F_2PI ); + const float f0 = 1.0f / (linearInterpolate(_f[vowel+0][0], _f[vowel+1][0], fract) * numbers::tau_v); + const float f1 = 1.0f / (linearInterpolate(_f[vowel+0][1], _f[vowel+1][1], fract) * numbers::tau_v); // samplerate coeff: depends on oversampling const float sr = m_type == FilterType::FastFormant ? m_sampleRatio : m_sampleRatio * 0.25f; @@ -774,7 +769,7 @@ public: // (Empirical tunning) m_p = ( 3.6f - 3.2f * f ) * f; m_k = 2.0f * m_p - 1; - m_r = _q * powf( F_E, ( 1 - m_p ) * 1.386249f ); + m_r = _q * std::exp((1 - m_p) * 1.386249f); if( m_doubleFilter ) { @@ -791,7 +786,7 @@ public: m_p = ( 3.6f - 3.2f * f ) * f; m_k = 2.0f * m_p - 1.0f; - m_r = _q * 0.1f * powf( F_E, ( 1 - m_p ) * 1.386249f ); + m_r = _q * 0.1f * std::exp((1 - m_p) * 1.386249f); return; } @@ -801,7 +796,7 @@ public: m_type == FilterType::Highpass_SV || m_type == FilterType::Notch_SV ) { - const float f = sinf(std::max(minFreq(), _freq) * m_sampleRatio * F_PI); + const float f = std::sin(std::max(minFreq(), _freq) * m_sampleRatio * numbers::pi_v); m_svf1 = std::min(f, 0.825f); m_svf2 = std::min(f * 2.0f, 0.825f); m_svq = std::max(0.0001f, 2.0f - (_q * 0.1995f)); @@ -810,7 +805,7 @@ public: // other filters _freq = std::clamp(_freq, minFreq(), 20000.0f); - const float omega = F_2PI * _freq * m_sampleRatio; + const float omega = numbers::tau_v * _freq * m_sampleRatio; const float tsin = sinf( omega ) * 0.5f; const float tcos = cosf( omega ); diff --git a/include/DspEffectLibrary.h b/include/DspEffectLibrary.h index 348c70765..ddd7dc14d 100644 --- a/include/DspEffectLibrary.h +++ b/include/DspEffectLibrary.h @@ -328,7 +328,7 @@ namespace lmms::DspEffectLibrary void nextSample( sample_t& inLeft, sample_t& inRight ) { - const float toRad = F_PI / 180; + const float toRad = numbers::pi_v / 180; const sample_t tmp = inLeft; inLeft += inRight * sinf( m_wideCoeff * ( .5 * toRad ) ); inRight -= tmp * sinf( m_wideCoeff * ( .5 * toRad ) ); diff --git a/include/MidiEvent.h b/include/MidiEvent.h index 453f65410..b23f6a99f 100644 --- a/include/MidiEvent.h +++ b/include/MidiEvent.h @@ -27,7 +27,7 @@ #include #include "Midi.h" -#include "panning_constants.h" +#include "panning.h" #include "volume.h" namespace lmms diff --git a/include/Oscillator.h b/include/Oscillator.h index 501002b8e..10fc64925 100644 --- a/include/Oscillator.h +++ b/include/Oscillator.h @@ -114,7 +114,7 @@ public: // now follow the wave-shape-routines... static inline sample_t sinSample( const float _sample ) { - return sinf( _sample * F_2PI ); + return std::sin(_sample * numbers::tau_v); } static inline sample_t triangleSample( const float _sample ) diff --git a/include/QuadratureLfo.h b/include/QuadratureLfo.h index 6f007e072..7d4190cf0 100644 --- a/include/QuadratureLfo.h +++ b/include/QuadratureLfo.h @@ -37,7 +37,7 @@ public: QuadratureLfo( int sampleRate ) : m_frequency(0), m_phase(0), - m_offset(D_PI / 2) + m_offset(numbers::pi_half) { setSampleRate(sampleRate); } @@ -64,7 +64,7 @@ public: inline void setSampleRate ( int samplerate ) { m_samplerate = samplerate; - m_twoPiOverSr = F_2PI / samplerate; + m_twoPiOverSr = numbers::tau_v / samplerate; m_increment = m_frequency * m_twoPiOverSr; } @@ -81,10 +81,7 @@ public: *r = sinf( m_phase + m_offset ); m_phase += m_increment; - while (m_phase >= D_2PI) - { - m_phase -= D_2PI; - } + while (m_phase >= numbers::tau) { m_phase -= numbers::tau; } } private: diff --git a/include/interpolation.h b/include/interpolation.h index 0b972bc27..de9a94480 100644 --- a/include/interpolation.h +++ b/include/interpolation.h @@ -25,10 +25,6 @@ #ifndef LMMS_INTERPOLATION_H #define LMMS_INTERPOLATION_H -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include #include "lmms_constants.h" #include "lmms_math.h" @@ -82,7 +78,7 @@ inline float cubicInterpolate( float v0, float v1, float v2, float v3, float x ) inline float cosinusInterpolate( float v0, float v1, float x ) { - const float f = ( 1.0f - cosf( x * F_PI ) ) * 0.5f; + const float f = (1.0f - std::cos(x * numbers::pi_v)) * 0.5f; return f * (v1 - v0) + v0; } diff --git a/include/lmms_constants.h b/include/lmms_constants.h index 4390b81ea..266604fa8 100644 --- a/include/lmms_constants.h +++ b/include/lmms_constants.h @@ -25,36 +25,54 @@ #ifndef LMMS_CONSTANTS_H #define LMMS_CONSTANTS_H -namespace lmms +// #include +// #include + +namespace lmms::numbers { +//TODO C++20: Use std::floating_point instead of typename +//TODO C++20: Use std::numbers::pi_v instead of literal value +template +inline constexpr T pi_v = T(3.14159265358979323846264338327950288419716939937510); +inline constexpr double pi = pi_v; -constexpr long double LD_PI = 3.14159265358979323846264338327950288419716939937510; -constexpr long double LD_2PI = LD_PI * 2.0; -constexpr long double LD_PI_2 = LD_PI * 0.5; -constexpr long double LD_PI_R = 1.0 / LD_PI; -constexpr long double LD_PI_SQR = LD_PI * LD_PI; -constexpr long double LD_E = 2.71828182845904523536028747135266249775724709369995; -constexpr long double LD_E_R = 1.0 / LD_E; -constexpr long double LD_SQRT_2 = 1.41421356237309504880168872420969807856967187537695; +//TODO C++20: Use std::floating_point instead of typename +template +inline constexpr T tau_v = T(pi_v * 2.0); +inline constexpr double tau = tau_v; -constexpr double D_PI = (double) LD_PI; -constexpr double D_2PI = (double) LD_2PI; -constexpr double D_PI_2 = (double) LD_PI_2; -constexpr double D_PI_R = (double) LD_PI_R; -constexpr double D_PI_SQR = (double) LD_PI_SQR; -constexpr double D_E = (double) LD_E; -constexpr double D_E_R = (double) LD_E_R; -constexpr double D_SQRT_2 = (double) LD_SQRT_2; +//TODO C++20: Use std::floating_point instead of typename +template +inline constexpr T pi_half_v = T(pi_v / 2.0); +inline constexpr double pi_half = pi_half_v; -constexpr float F_PI = (float) LD_PI; -constexpr float F_2PI = (float) LD_2PI; -constexpr float F_PI_2 = (float) LD_PI_2; -constexpr float F_PI_R = (float) LD_PI_R; -constexpr float F_PI_SQR = (float) LD_PI_SQR; -constexpr float F_E = (float) LD_E; -constexpr float F_E_R = (float) LD_E_R; -constexpr float F_SQRT_2 = (float) LD_SQRT_2; +//TODO C++20: Use std::floating_point instead of typename +template +inline constexpr T pi_sqr_v = T(pi_v * pi_v); +inline constexpr double pi_sqr = pi_sqr_v; + +//TODO C++20: Use std::floating_point instead of typename +//TODO C++20: Use std::numbers::e_v instead of literal value +template +inline constexpr T e_v = T(2.71828182845904523536028747135266249775724709369995); +inline constexpr double e = e_v; + +//TODO C++20: Use std::floating_point instead of typename +template +inline constexpr T inv_e_v = T(1.0 / e_v); +inline constexpr double inv_e = e_v; + +//TODO C++20: Use std::floating_point instead of typename +//TODO C++20: Use std::numbers::sqrt2_v instead of literal value +template +inline constexpr T sqrt2_v = T(1.41421356237309504880168872420969807856967187537695); +inline constexpr double sqrt2 = sqrt2_v; + +} + +namespace lmms +{ constexpr float F_EPSILON = 1.0e-10f; // 10^-10 diff --git a/include/lmms_math.h b/include/lmms_math.h index bdadd7ba0..9d1088a01 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -136,32 +136,31 @@ inline float signedPowf(float v, float e) //! Value should be within [0,1] inline float logToLinearScale(float min, float max, float value) { - if( min < 0 ) + if (min < 0) { const float mmax = std::max(std::abs(min), std::abs(max)); - const float val = value * ( max - min ) + min; - float result = signedPowf( val / mmax, F_E ) * mmax; - return std::isnan( result ) ? 0 : result; + const float val = value * (max - min) + min; + float result = signedPowf(val / mmax, numbers::e_v) * mmax; + return std::isnan(result) ? 0 : result; } - float result = powf( value, F_E ) * ( max - min ) + min; - return std::isnan( result ) ? 0 : result; + float result = std::pow(value, numbers::e_v) * (max - min) + min; + return std::isnan(result) ? 0 : result; } //! @brief Scales value from logarithmic to linear. Value should be in min-max range. inline float linearToLogScale(float min, float max, float value) { - static const float EXP = 1.0f / F_E; const float valueLimited = std::clamp(value, min, max); - const float val = ( valueLimited - min ) / ( max - min ); - if( min < 0 ) + const float val = (valueLimited - min) / (max - min); + if (min < 0) { const float mmax = std::max(std::abs(min), std::abs(max)); - float result = signedPowf( valueLimited / mmax, EXP ) * mmax; - return std::isnan( result ) ? 0 : result; + float result = signedPowf(valueLimited / mmax, numbers::inv_e_v) * mmax; + return std::isnan(result) ? 0 : result; } - float result = powf( val, EXP ) * ( max - min ) + min; - return std::isnan( result ) ? 0 : result; + float result = std::pow(val, numbers::inv_e_v) * (max - min) + min; + return std::isnan(result) ? 0 : result; } inline float fastPow10f(float x) diff --git a/include/panning.h b/include/panning.h index 0fd74d1cc..2945988ba 100644 --- a/include/panning.h +++ b/include/panning.h @@ -27,7 +27,6 @@ #define LMMS_PANNING_H #include "lmms_basics.h" -#include "panning_constants.h" #include "Midi.h" #include "volume.h" @@ -36,6 +35,10 @@ namespace lmms { +inline constexpr panning_t PanningRight = 100; +inline constexpr panning_t PanningLeft = -PanningRight; +inline constexpr panning_t PanningCenter = 0; +inline constexpr panning_t DefaultPanning = PanningCenter; inline StereoVolumeVector panningToVolumeVector( panning_t _p, float _scale = 1.0f ) diff --git a/include/panning_constants.h b/include/panning_constants.h deleted file mode 100644 index 8f40219f8..000000000 --- a/include/panning_constants.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * panning_constants.h - declaration of some constants, concerning the - * panning of a note - * - * Copyright (c) 2004-2009 Tobias Doerffel - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#ifndef LMMS_PANNING_CONSTANTS_H -#define LMMS_PANNING_CONSTANTS_H - -namespace lmms -{ - - -constexpr panning_t PanningRight = ( 0 + 100 ); -constexpr panning_t PanningLeft = - PanningRight; -constexpr panning_t PanningCenter = 0; -constexpr panning_t DefaultPanning = PanningCenter; - - -} // namespace lmms - -#endif // LMMS_PANNING_CONSTANTS_H diff --git a/plugins/Compressor/Compressor.cpp b/plugins/Compressor/Compressor.cpp index 1e4c0d0f6..78d695750 100755 --- a/plugins/Compressor/Compressor.cpp +++ b/plugins/Compressor/Compressor.cpp @@ -220,7 +220,7 @@ void CompressorEffect::calcTiltCoeffs() m_lgain = exp(g1 / amp) - 1; m_hgain = exp(g2 / amp) - 1; - const float omega = 2 * F_PI * m_compressorControls.m_tiltFreqModel.value(); + const float omega = numbers::tau_v * m_compressorControls.m_tiltFreqModel.value(); const float n = 1 / (m_sampleRate * 3 + omega); m_a0 = 2 * omega * n; m_b1 = (m_sampleRate * 3 - omega) * n; diff --git a/plugins/Delay/Lfo.cpp b/plugins/Delay/Lfo.cpp index 5a449243a..a6d490d40 100644 --- a/plugins/Delay/Lfo.cpp +++ b/plugins/Delay/Lfo.cpp @@ -33,7 +33,7 @@ namespace lmms Lfo::Lfo( int samplerate ) { m_samplerate = samplerate; - m_twoPiOverSr = F_2PI / samplerate; + m_twoPiOverSr = numbers::tau_v / samplerate; } diff --git a/plugins/Delay/Lfo.h b/plugins/Delay/Lfo.h index ea8435d13..8f69412ea 100644 --- a/plugins/Delay/Lfo.h +++ b/plugins/Delay/Lfo.h @@ -50,10 +50,7 @@ public: m_frequency = frequency; m_increment = m_frequency * m_twoPiOverSr; - if( m_phase >= F_2PI ) - { - m_phase -= F_2PI; - } + if (m_phase >= numbers::tau_v) { m_phase -= numbers::tau_v; } } @@ -62,7 +59,7 @@ public: inline void setSampleRate ( int samplerate ) { m_samplerate = samplerate; - m_twoPiOverSr = F_2PI / samplerate; + m_twoPiOverSr = numbers::tau_v / samplerate; m_increment = m_frequency * m_twoPiOverSr; } diff --git a/plugins/Dispersion/Dispersion.cpp b/plugins/Dispersion/Dispersion.cpp index 4d8dd40b0..624c161e6 100644 --- a/plugins/Dispersion/Dispersion.cpp +++ b/plugins/Dispersion/Dispersion.cpp @@ -70,7 +70,7 @@ Effect::ProcessStatus DispersionEffect::processImpl(SampleFrame* buf, const fpp_ const bool dc = m_dispersionControls.m_dcModel.value(); // All-pass coefficient calculation - const float w0 = (F_2PI / m_sampleRate) * freq; + const float w0 = (numbers::tau_v / m_sampleRate) * freq; const float a0 = 1 + (std::sin(w0) / (reso * 2.f)); float apCoeff1 = (1 - (a0 - 1)) / a0; float apCoeff2 = (-2 * std::cos(w0)) / a0; diff --git a/plugins/Eq/EqCurve.cpp b/plugins/Eq/EqCurve.cpp index 417f101f7..e0d2e43d3 100644 --- a/plugins/Eq/EqCurve.cpp +++ b/plugins/Eq/EqCurve.cpp @@ -201,8 +201,7 @@ bool EqHandle::mousePressed() const float EqHandle::getPeakCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - const int SR = Engine::audioEngine()->outputSampleRate(); - double w0 = 2 * LD_PI * freqZ / SR ; + double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); double c = cosf( w0 ); double s = sinf( w0 ); double Q = getResonance(); @@ -238,8 +237,7 @@ float EqHandle::getPeakCurve( float x ) float EqHandle::getHighShelfCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - const int SR = Engine::audioEngine()->outputSampleRate(); - double w0 = 2 * LD_PI * freqZ / SR; + double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); double c = cosf( w0 ); double s = sinf( w0 ); double A = pow( 10, yPixelToGain( EqHandle::y(), m_heigth, m_pixelsPerUnitHeight ) * 0.025 ); @@ -274,8 +272,7 @@ float EqHandle::getHighShelfCurve( float x ) float EqHandle::getLowShelfCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - const int SR = Engine::audioEngine()->outputSampleRate(); - double w0 = 2 * LD_PI * freqZ / SR ; + double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); double c = cosf( w0 ); double s = sinf( w0 ); double A = pow( 10, yPixelToGain( EqHandle::y(), m_heigth, m_pixelsPerUnitHeight ) / 40 ); @@ -310,8 +307,7 @@ float EqHandle::getLowShelfCurve( float x ) float EqHandle::getLowCutCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - const int SR = Engine::audioEngine()->outputSampleRate(); - double w0 = 2 * LD_PI * freqZ / SR ; + double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); double c = cosf( w0 ); double s = sinf( w0 ); double resonance = getResonance(); @@ -353,8 +349,7 @@ float EqHandle::getLowCutCurve( float x ) float EqHandle::getHighCutCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - const int SR = Engine::audioEngine()->outputSampleRate(); - double w0 = 2 * LD_PI * freqZ / SR ; + double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); double c = cosf( w0 ); double s = sinf( w0 ); double resonance = getResonance(); @@ -527,10 +522,8 @@ void EqHandle::setlp48() double EqHandle::calculateGain(const double freq, const double a1, const double a2, const double b0, const double b1, const double b2 ) { - const int SR = Engine::audioEngine()->outputSampleRate(); - - const double w = 2 * LD_PI * freq / SR ; - const double PHI = pow( sin( w / 2 ), 2 ) * 4; + const double w = std::sin(numbers::pi * freq / Engine::audioEngine()->outputSampleRate()); + const double PHI = w * w * 4; double gain = 10 * log10( pow( b0 + b1 + b2 , 2 ) + ( b0 * b2 * PHI - ( b1 * ( b0 + b2 ) + 4 * b0 * b2 ) ) * PHI ) - 10 * log10( pow( 1 + a1 + a2, 2 ) diff --git a/plugins/Eq/EqFilter.h b/plugins/Eq/EqFilter.h index 5408d131c..03a1f385d 100644 --- a/plugins/Eq/EqFilter.h +++ b/plugins/Eq/EqFilter.h @@ -185,7 +185,7 @@ public : { // calc intermediate - float w0 = F_2PI * m_freq / m_sampleRate; + float w0 = numbers::tau_v * m_freq / m_sampleRate; float c = cosf( w0 ); float s = sinf( w0 ); float alpha = s / ( 2 * m_res ); @@ -228,7 +228,7 @@ public : { // calc intermediate - float w0 = F_2PI * m_freq / m_sampleRate; + float w0 = numbers::tau_v * m_freq / m_sampleRate; float c = cosf( w0 ); float s = sinf( w0 ); float alpha = s / ( 2 * m_res ); @@ -269,7 +269,7 @@ public: void calcCoefficents() override { // calc intermediate - float w0 = F_2PI * m_freq / m_sampleRate; + float w0 = numbers::tau_v * m_freq / m_sampleRate; float c = cosf( w0 ); float s = sinf( w0 ); float A = pow( 10, m_gain * 0.025); @@ -332,7 +332,7 @@ public : { // calc intermediate - float w0 = F_2PI * m_freq / m_sampleRate; + float w0 = numbers::tau_v * m_freq / m_sampleRate; float c = cosf( w0 ); float s = sinf( w0 ); float A = pow( 10, m_gain * 0.025); @@ -369,7 +369,7 @@ public : { // calc intermediate - float w0 = F_2PI * m_freq / m_sampleRate; + float w0 = numbers::tau_v * m_freq / m_sampleRate; float c = cosf( w0 ); float s = sinf( w0 ); float A = pow( 10, m_gain * 0.025 ); diff --git a/plugins/Eq/EqSpectrumView.cpp b/plugins/Eq/EqSpectrumView.cpp index 99df328ef..261dbeacd 100644 --- a/plugins/Eq/EqSpectrumView.cpp +++ b/plugins/Eq/EqSpectrumView.cpp @@ -56,9 +56,9 @@ EqAnalyser::EqAnalyser() : for (auto i = std::size_t{0}; i < FFT_BUFFER_SIZE; i++) { - m_fftWindow[i] = (a0 - a1 * cos(2 * F_PI * i / ((float)FFT_BUFFER_SIZE - 1.0)) - + a2 * cos(4 * F_PI * i / ((float)FFT_BUFFER_SIZE - 1.0)) - - a3 * cos(6 * F_PI * i / ((float)FFT_BUFFER_SIZE - 1.0))); + m_fftWindow[i] = (a0 - a1 * std::cos(2 * numbers::pi_v * i / ((float)FFT_BUFFER_SIZE - 1.0)) + + a2 * std::cos(4 * numbers::pi_v * i / ((float)FFT_BUFFER_SIZE - 1.0)) + - a3 * std::cos(6 * numbers::pi_v * i / ((float)FFT_BUFFER_SIZE - 1.0))); } clear(); } diff --git a/plugins/Flanger/FlangerEffect.cpp b/plugins/Flanger/FlangerEffect.cpp index c13de47cd..9aa765ff4 100644 --- a/plugins/Flanger/FlangerEffect.cpp +++ b/plugins/Flanger/FlangerEffect.cpp @@ -94,7 +94,7 @@ Effect::ProcessStatus FlangerEffect::processImpl(SampleFrame* buf, const fpp_t f float amplitude = m_flangerControls.m_lfoAmountModel.value() * Engine::audioEngine()->outputSampleRate(); bool invertFeedback = m_flangerControls.m_invertFeedbackModel.value(); m_lfo->setFrequency( 1.0/m_flangerControls.m_lfoFrequencyModel.value() ); - m_lfo->setOffset( m_flangerControls.m_lfoPhaseModel.value() / 180 * D_PI ); + m_lfo->setOffset(m_flangerControls.m_lfoPhaseModel.value() / 180 * numbers::pi); m_lDelay->setFeedback( m_flangerControls.m_feedbackModel.value() ); m_rDelay->setFeedback( m_flangerControls.m_feedbackModel.value() ); auto dryS = std::array{}; diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp index 27c935ab9..2a48f0e3c 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp @@ -271,7 +271,7 @@ void GranularPitchShifterEffect::changeSampleRate() m_grainCount = 0; m_grains.reserve(8);// arbitrary - m_dcCoeff = std::exp(-2.0 * F_PI * DcRemovalHz / m_sampleRate); + m_dcCoeff = std::exp(-numbers::tau_v * DcRemovalHz / m_sampleRate); const double pitch = m_granularpitchshifterControls.m_pitchModel.value() * (1. / 12.); const double pitchSpread = m_granularpitchshifterControls.m_pitchSpreadModel.value() * (1. / 24.); diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.h b/plugins/GranularPitchShifter/GranularPitchShifterEffect.h index 09b8025cd..d844b852f 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.h +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.h @@ -118,10 +118,10 @@ private: void setCoefs(float sampleRate, float cutoff) { - const float g = std::tan(F_PI * cutoff / sampleRate); - const float ginv = g / (1.f + g * (g + F_SQRT_2)); + const float g = std::tan(numbers::pi_v * cutoff / sampleRate); + const float ginv = g / (1.f + g * (g + numbers::sqrt2_v)); m_g1 = ginv; - m_g2 = 2.f * (g + F_SQRT_2) * ginv; + m_g2 = 2.f * (g + numbers::sqrt2_v) * ginv; m_g3 = g * ginv; m_g4 = 2.f * ginv; } diff --git a/plugins/MultitapEcho/MultitapEcho.h b/plugins/MultitapEcho/MultitapEcho.h index 8c8a007aa..63d6ac5d6 100644 --- a/plugins/MultitapEcho/MultitapEcho.h +++ b/plugins/MultitapEcho/MultitapEcho.h @@ -54,7 +54,7 @@ private: inline void setFilterFreq( float fc, StereoOnePole & f ) { - const float b1 = expf( -2.0f * F_PI * fc ); + const float b1 = std::exp(-numbers::tau_v * fc); f.setCoeffs( 1.0f - b1, b1 ); } diff --git a/plugins/Xpressive/ExprSynth.cpp b/plugins/Xpressive/ExprSynth.cpp index e6783211d..cd2cfca5c 100644 --- a/plugins/Xpressive/ExprSynth.cpp +++ b/plugins/Xpressive/ExprSynth.cpp @@ -413,7 +413,7 @@ struct sin_wave static inline float process(float x) { x = positiveFraction(x); - return sinf(x * F_2PI); + return std::sin(x * numbers::tau_v); } }; static freefunc1 sin_wave_func; @@ -535,7 +535,7 @@ ExprFront::ExprFront(const char * expr, int last_func_samples) m_data->m_expression_string = expr; m_data->m_symbol_table.add_pi(); - m_data->m_symbol_table.add_constant("e", F_E); + m_data->m_symbol_table.add_constant("e", numbers::e_v); m_data->m_symbol_table.add_constant("seed", SimpleRandom::generator() & max_float_integer_mask); diff --git a/plugins/Xpressive/Xpressive.cpp b/plugins/Xpressive/Xpressive.cpp index 5ee7dcf8d..6e3a91343 100644 --- a/plugins/Xpressive/Xpressive.cpp +++ b/plugins/Xpressive/Xpressive.cpp @@ -252,14 +252,14 @@ void Xpressive::smooth(float smoothness,const graphModel * in,graphModel * out) const int guass_size = (int)(smoothness * 5) | 1; const int guass_center = guass_size/2; const float delta = smoothness; - const float a= 1.0f / (sqrtf(2.0f * F_PI) * delta); + const float a = 1.0f / (std::sqrt(numbers::tau_v) * delta); auto const guassian = new float[guass_size]; float sum = 0.0f; float temp = 0.0f; for (int i = 0; i < guass_size; i++) { temp = (i - guass_center) / delta; - sum += guassian[i] = a * powf(F_E, -0.5f * temp * temp); + sum += guassian[i] = a * std::exp(-0.5f * temp * temp); } for (int i = 0; i < guass_size; i++) { diff --git a/src/core/BandLimitedWave.cpp b/src/core/BandLimitedWave.cpp index 060ff510a..2eb6d5eb0 100644 --- a/src/core/BandLimitedWave.cpp +++ b/src/core/BandLimitedWave.cpp @@ -103,8 +103,8 @@ void BandLimitedWave::generateWaves() { hlen = static_cast( len ) / static_cast( harm ); const double amp = -1.0 / static_cast( harm ); - //const double a2 = cos( om * harm * F_2PI ); - s += amp * /*a2 **/sin( static_cast( ph * harm ) / static_cast( len ) * F_2PI ); + //const double a2 = std::cos(om * harm * numbers::tau_v); + s += amp * /*a2 **/ std::sin(static_cast(ph * harm) / static_cast(len) * numbers::tau_v); harm++; } while( hlen > 2.0 ); s_waveforms[static_cast(BandLimitedWave::Waveform::BLSaw)].setSampleAt( i, ph, s ); @@ -145,8 +145,8 @@ void BandLimitedWave::generateWaves() { hlen = static_cast( len ) / static_cast( harm ); const double amp = 1.0 / static_cast( harm ); - //const double a2 = cos( om * harm * F_2PI ); - s += amp * /*a2 **/ sin( static_cast( ph * harm ) / static_cast( len ) * F_2PI ); + //const double a2 = std::cos(om * harm * numbers::tau_v); + s += amp * /*a2 **/ std::sin(static_cast(ph * harm) / static_cast(len) * numbers::tau_v); harm += 2; } while( hlen > 2.0 ); s_waveforms[static_cast(BandLimitedWave::Waveform::BLSquare)].setSampleAt( i, ph, s ); @@ -186,9 +186,9 @@ void BandLimitedWave::generateWaves() { hlen = static_cast( len ) / static_cast( harm ); const double amp = 1.0 / static_cast( harm * harm ); - //const double a2 = cos( om * harm * F_2PI ); - s += amp * /*a2 **/ sin( ( static_cast( ph * harm ) / static_cast( len ) + - ( ( harm + 1 ) % 4 == 0 ? 0.5 : 0.0 ) ) * F_2PI ); + //const double a2 = std::cos(om * harm * numbers::tau_v); + s += amp * /*a2 **/ std::sin((static_cast(ph * harm) / static_cast(len) + + ((harm + 1) % 4 == 0 ? 0.5 : 0.0)) * numbers::tau_v); harm += 2; } while( hlen > 2.0 ); s_waveforms[static_cast(BandLimitedWave::Waveform::BLTriangle)].setSampleAt( i, ph, s ); @@ -273,4 +273,4 @@ moogfile.close(); } -} // namespace lmms \ No newline at end of file +} // namespace lmms diff --git a/src/core/Instrument.cpp b/src/core/Instrument.cpp index 9237ad70d..fca3549f1 100644 --- a/src/core/Instrument.cpp +++ b/src/core/Instrument.cpp @@ -152,7 +152,7 @@ void Instrument::applyFadeIn(SampleFrame* buf, NotePlayHandle * n) { for (ch_cnt_t ch = 0; ch < DEFAULT_CHANNELS; ++ch) { - buf[offset + f][ch] *= 0.5 - 0.5 * cosf(F_PI * (float) f / (float) n->m_fadeInLength); + buf[offset + f][ch] *= 0.5 - 0.5 * std::cos(numbers::pi_v * (float) f / (float) n->m_fadeInLength); } } } @@ -168,7 +168,7 @@ void Instrument::applyFadeIn(SampleFrame* buf, NotePlayHandle * n) for (ch_cnt_t ch = 0; ch < DEFAULT_CHANNELS; ++ch) { float currentLength = n->m_fadeInLength * (1.0f - (float) f / frames) + new_length * ((float) f / frames); - buf[f][ch] *= 0.5 - 0.5 * cosf(F_PI * (float) (total + f) / currentLength); + buf[f][ch] *= 0.5 - 0.5 * std::cos(numbers::pi_v * (float) (total + f) / currentLength); if (total + f >= currentLength) { n->m_fadeInLength = currentLength; diff --git a/src/core/Oscillator.cpp b/src/core/Oscillator.cpp index a875cf2d4..6c3d51643 100644 --- a/src/core/Oscillator.cpp +++ b/src/core/Oscillator.cpp @@ -127,7 +127,7 @@ void Oscillator::generateSawWaveTable(int bands, sample_t* table, int firstBand) const float imod = (i - OscillatorConstants::WAVETABLE_LENGTH / 2.f) / OscillatorConstants::WAVETABLE_LENGTH; for (int n = firstBand; n <= bands; n++) { - table[i] += (n % 2 ? 1.0f : -1.0f) / n * sinf(F_2PI * n * imod) / F_PI_2; + table[i] += (n % 2 ? 1.0f : -1.0f) / n * std::sin(numbers::tau_v * n * imod) / numbers::pi_half_v; } } } @@ -143,7 +143,7 @@ void Oscillator::generateTriangleWaveTable(int bands, sample_t* table, int first for (int n = firstBand | 1; n <= bands; n += 2) { table[i] += (n & 2 ? -1.0f : 1.0f) / powf(n, 2.0f) * - sinf(F_2PI * n * i / (float)OscillatorConstants::WAVETABLE_LENGTH) / (F_PI_SQR / 8); + std::sin(numbers::tau_v * n * i / (float)OscillatorConstants::WAVETABLE_LENGTH) / (numbers::pi_sqr_v / 8); } } } @@ -158,7 +158,9 @@ void Oscillator::generateSquareWaveTable(int bands, sample_t* table, int firstBa { for (int n = firstBand | 1; n <= bands; n += 2) { - table[i] += (1.0f / n) * sinf(F_2PI * i * n / OscillatorConstants::WAVETABLE_LENGTH) / (F_PI / 4); + table[i] += (1.0f / n) + * std::sin(numbers::tau_v * i * n / OscillatorConstants::WAVETABLE_LENGTH) + / (numbers::pi_v / 4); } } } diff --git a/src/core/fft_helpers.cpp b/src/core/fft_helpers.cpp index c24310341..2af0829fb 100644 --- a/src/core/fft_helpers.cpp +++ b/src/core/fft_helpers.cpp @@ -144,9 +144,9 @@ int precomputeWindow(float *window, unsigned int length, FFTWindow type, bool no // common computation for cosine-sum based windows for (unsigned int i = 0; i < length; i++) { - window[i] = (a0 - a1 * cos(2 * F_PI * i / ((float)length - 1.0)) - + a2 * cos(4 * F_PI * i / ((float)length - 1.0)) - - a3 * cos(6 * F_PI * i / ((float)length - 1.0))); + window[i] = (a0 - a1 * std::cos(2 * numbers::pi_v * i / ((float)length - 1.0)) + + a2 * std::cos(4 * numbers::pi_v * i / ((float)length - 1.0)) + - a3 * std::cos(6 * numbers::pi_v * i / ((float)length - 1.0))); gain += window[i]; } diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index 0e56b934e..39016d54d 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -41,10 +41,6 @@ #include "SampleClip.h" #include "SampleWaveform.h" -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include "ActionGroup.h" #include "AutomationNode.h" #include "ComboBox.h" diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index efe903cc2..4700372ce 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -41,10 +41,6 @@ #include #include -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include #include diff --git a/src/gui/widgets/FloatModelEditorBase.cpp b/src/gui/widgets/FloatModelEditorBase.cpp index ebd0d3d9d..32ce564b6 100644 --- a/src/gui/widgets/FloatModelEditorBase.cpp +++ b/src/gui/widgets/FloatModelEditorBase.cpp @@ -29,10 +29,6 @@ #include #include -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include "lmms_math.h" #include "CaptionMenu.h" #include "ControllerConnection.h" diff --git a/src/gui/widgets/GroupBox.cpp b/src/gui/widgets/GroupBox.cpp index e55052823..041e11c43 100644 --- a/src/gui/widgets/GroupBox.cpp +++ b/src/gui/widgets/GroupBox.cpp @@ -25,15 +25,10 @@ #include #include -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include "GroupBox.h" #include "embed.h" #include "FontHelper.h" - namespace lmms::gui { diff --git a/src/gui/widgets/Knob.cpp b/src/gui/widgets/Knob.cpp index 8941dcc29..2f7812993 100644 --- a/src/gui/widgets/Knob.cpp +++ b/src/gui/widgets/Knob.cpp @@ -26,10 +26,6 @@ #include -#ifndef __USE_XOPEN -#define __USE_XOPEN -#endif - #include "lmms_math.h" #include "DeprecationHelper.h" #include "embed.h" @@ -316,7 +312,7 @@ void Knob::setTextColor( const QColor & c ) QLineF Knob::calculateLine( const QPointF & _mid, float _radius, float _innerRadius ) const { - const float rarc = m_angle * F_PI / 180.0; + const float rarc = m_angle * numbers::pi_v / 180.0; const float ca = cos( rarc ); const float sa = -sin( rarc ); diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index 8ad75799d..c17e3718c 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -29,7 +29,7 @@ #include "EffectChain.h" #include "Mixer.h" -#include "panning_constants.h" +#include "panning.h" #include "PatternStore.h" #include "PatternTrack.h" #include "SampleClip.h" From 36c1deae428f0dee95ec9ca190d6d52365abd713 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Mon, 3 Feb 2025 12:52:33 -0500 Subject: [PATCH 072/112] CI: Switch mingw64 to Ubuntu 24.04 (#7682) Switch mingw64 from Ubuntu 20.04 to Ubuntu 24.04 --- .github/workflows/build.yml | 15 +++++---- .github/workflows/deps-ubuntu-24.04-mingw.txt | 32 +++++++++++++++++++ 2 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/deps-ubuntu-24.04-mingw.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de57a2a5c..dba43292d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -245,7 +245,6 @@ jobs: mingw: name: mingw64 runs-on: ubuntu-latest - container: ghcr.io/lmms/linux.mingw:20.04 env: CMAKE_OPTS: >- -Werror=dev @@ -256,12 +255,12 @@ jobs: CCACHE_NOCOMPRESS: 1 MAKEFLAGS: -j2 steps: - - name: Enable POSIX MinGW + - name: Configure apt run: | - update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix - update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix - update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + sudo sh -c 'echo "deb http://ppa.launchpad.net/tobydox/mingw-w64/ubuntu focal main" > \ + /etc/apt/sources.list.d/tobydox-mingw-w64.list' + sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72931B477E22FEFD47F8DECE02FE5F12ADDE29B2 + sudo apt-get update -y - name: Configure git run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Check out @@ -278,6 +277,10 @@ jobs: ccache-${{ github.job }}-64-${{ github.ref }}- ccache-${{ github.job }}-64- path: ~/.ccache + - name: Install dependencies + run: | + sudo apt-get install -y --no-install-recommends \ + $(xargs < .github/workflows/deps-ubuntu-24.04-mingw.txt) - name: Configure run: | ccache --zero-stats diff --git a/.github/workflows/deps-ubuntu-24.04-mingw.txt b/.github/workflows/deps-ubuntu-24.04-mingw.txt new file mode 100644 index 000000000..765a6712d --- /dev/null +++ b/.github/workflows/deps-ubuntu-24.04-mingw.txt @@ -0,0 +1,32 @@ +binutils-mingw-w64 +ccache +cmake +fftw-mingw-w64 +file +flac-mingw-w64 +fltk-mingw-w64 +fluidsynth-mingw-w64 +g++-mingw-w64-i686 +g++-mingw-w64-x86-64 +gcc-mingw-w64 +gcc-mingw-w64-i686 +gcc-mingw-w64-x86-64 +git +glib2-mingw-w64 +lame-mingw-w64 +libgig-mingw-w64 +liblist-moreutils-perl +libsamplerate-mingw-w64 +libsndfile-mingw-w64 +libsoundio-mingw-w64 +libvorbis-mingw-w64 +libxml-parser-perl +libz-mingw-w64-dev +mingw-w64-tools +nsis +portaudio-mingw-w64 +qt5base-mingw-w64 +qt5svg-mingw-w64 +qttools5-dev-tools +sdl2-mingw-w64 +stk-mingw-w64 \ No newline at end of file From f38c649923e5d9cf793e5b3085241af0dbec4891 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Mon, 3 Feb 2025 14:18:02 -0500 Subject: [PATCH 073/112] SharedMemory: Make key optional, default to shorter UID on macOS (#7681) * SharedMemory: Make key optional, shorter on macOS * Add getters for shared memory size * macOS: Fix linking regression for RemoteZynAddSubFx introduced with #7252 --------- Co-authored-by: Dalton Messmer --- cmake/apple/MacDeployQt.cmake | 4 +-- include/RemotePluginBase.h | 3 +- include/SharedMemory.h | 18 +++++++++++ src/common/SharedMemory.cpp | 55 ++++++++++++++++++++++++++++++---- src/core/RemotePlugin.cpp | 2 +- src/core/VstSyncController.cpp | 3 +- 6 files changed, 73 insertions(+), 12 deletions(-) diff --git a/cmake/apple/MacDeployQt.cmake b/cmake/apple/MacDeployQt.cmake index bee22cf42..acd7aae8d 100644 --- a/cmake/apple/MacDeployQt.cmake +++ b/cmake/apple/MacDeployQt.cmake @@ -107,8 +107,8 @@ file(GLOB LIBS "${APP}/Contents/lib/${lmms}/*.so") # Inform macdeployqt about LADSPA plugins; may depend on bundled fftw3f, etc. file(GLOB LADSPA "${APP}/Contents/lib/${lmms}/ladspa/*.so") -# Inform linuxdeploy about remote plugins -list(APPEND REMOTE_PLUGINS "${APP}/Contents/MacOS/*Remote*") +# Inform macdeployqt about remote plugins +file(GLOB REMOTE_PLUGINS "${APP}/Contents/MacOS/*Remote*") # Collect, sort and dedupe all libraries list(APPEND LIBS ${LADSPA}) diff --git a/include/RemotePluginBase.h b/include/RemotePluginBase.h index bbf14207a..787742fc0 100644 --- a/include/RemotePluginBase.h +++ b/include/RemotePluginBase.h @@ -71,7 +71,6 @@ #include #include #include -#include #ifndef SYNC_WITH_SHM_FIFO #include @@ -125,7 +124,7 @@ public: m_master( true ), m_lockDepth( 0 ) { - m_data.create(QUuid::createUuid().toString().toStdString()); + m_data.create(); m_data->startPtr = m_data->endPtr = 0; static int k = 0; m_data->dataSem.semKey = ( getpid()<<10 ) + ++k; diff --git a/include/SharedMemory.h b/include/SharedMemory.h index c2790c78b..3ed1330d4 100644 --- a/include/SharedMemory.h +++ b/include/SharedMemory.h @@ -44,6 +44,7 @@ public: SharedMemoryData() noexcept; SharedMemoryData(std::string&& key, bool readOnly); SharedMemoryData(std::string&& key, std::size_t size, bool readOnly); + SharedMemoryData(std::size_t size, bool readOnly); ~SharedMemoryData(); SharedMemoryData(SharedMemoryData&& other) noexcept; @@ -64,6 +65,7 @@ public: const std::string& key() const noexcept { return m_key; } void* get() const noexcept { return m_ptr; } + std::size_t size_bytes() const noexcept; private: std::string m_key; @@ -95,6 +97,11 @@ public: m_data = detail::SharedMemoryData{std::move(key), sizeof(T), std::is_const_v}; } + void create() + { + m_data = detail::SharedMemoryData{sizeof(T), std::is_const_v}; + } + void detach() noexcept { m_data = detail::SharedMemoryData{}; @@ -103,6 +110,9 @@ public: const std::string& key() const noexcept { return m_data.key(); } T* get() const noexcept { return static_cast(m_data.get()); } + std::size_t size() const noexcept { return get() ? 1 : 0; } + std::size_t size_bytes() const noexcept { return get() ? sizeof(T) : 0; } + T* operator->() const noexcept { return get(); } T& operator*() const noexcept { return *get(); } explicit operator bool() const noexcept { return get() != nullptr; } @@ -132,6 +142,11 @@ public: m_data = detail::SharedMemoryData{std::move(key), size * sizeof(T), std::is_const_v}; } + void create(std::size_t size) + { + m_data = detail::SharedMemoryData{size * sizeof(T), std::is_const_v}; + } + void detach() noexcept { m_data = detail::SharedMemoryData{}; @@ -140,6 +155,9 @@ public: const std::string& key() const noexcept { return m_data.key(); } T* get() const noexcept { return static_cast(m_data.get()); } + std::size_t size() const noexcept { return m_data.size_bytes() / sizeof(T); } + std::size_t size_bytes() const noexcept { return m_data.size_bytes(); } + T& operator[](std::size_t index) const noexcept { return get()[index]; } explicit operator bool() const noexcept { return get() != nullptr; } diff --git a/src/common/SharedMemory.cpp b/src/common/SharedMemory.cpp index 19d3dba1b..6ef815c6d 100644 --- a/src/common/SharedMemory.cpp +++ b/src/common/SharedMemory.cpp @@ -23,6 +23,7 @@ #include "SharedMemory.h" +#include #include #include @@ -75,7 +76,7 @@ class SharedMemoryImpl { public: SharedMemoryImpl(const std::string& key, bool readOnly) : - m_key{"/" + key} + m_key{'/' + key} { const auto openFlags = readOnly ? O_RDONLY : O_RDWR; const auto fd = FileDescriptor{ @@ -93,7 +94,7 @@ public: } SharedMemoryImpl(const std::string& key, std::size_t size, bool readOnly) : - m_key{"/" + key}, + m_key{'/' + key}, m_size{size} { const auto fd = FileDescriptor{ @@ -120,11 +121,12 @@ public: } auto get() const noexcept -> void* { return m_mapping; } + auto size_bytes() const noexcept -> std::size_t { return m_size; } private: std::string m_key; - std::size_t m_size; - void* m_mapping; + std::size_t m_size = 0; + void* m_mapping = nullptr; ShmObject m_object; }; @@ -163,9 +165,18 @@ public: m_view.reset(MapViewOfFile(m_mapping.get(), access, 0, 0, 0)); if (!m_view) { throwLastError("SharedMemoryImpl: MapViewOfFile() failed"); } + + MEMORY_BASIC_INFORMATION mbi; + if (VirtualQuery(m_view.get(), &mbi, sizeof(mbi)) == 0) + { + throwLastError("SharedMemoryImpl: VirtualQuery() failed"); + } + + m_size = static_cast(mbi.RegionSize); } - SharedMemoryImpl(const std::string& key, std::size_t size, bool readOnly) + SharedMemoryImpl(const std::string& key, std::size_t size, bool readOnly) : + m_size{size} { const auto [high, low] = sizeToHighAndLow(size); m_mapping.reset(CreateFileMappingA(INVALID_HANDLE_VALUE, nullptr, PAGE_READWRITE, high, low, key.c_str())); @@ -186,14 +197,39 @@ public: auto operator=(const SharedMemoryImpl&) -> SharedMemoryImpl& = delete; auto get() const noexcept -> void* { return m_view.get(); } + auto size_bytes() const noexcept -> std::size_t { return m_size; } private: UniqueHandle m_mapping; FileView m_view; + std::size_t m_size = 0; }; #endif +namespace { + +auto createKey() -> std::string +{ + // Max length (minus prepended '/') on macOS (PSHMNAMLEN=31) + constexpr int length = 30; + + std::string key; + std::random_device rd; + auto gen = std::mt19937{rd()}; // mersenne twister, seeded + auto distrib = std::uniform_int_distribution{0, 15}; // hex range (0-15) + + key.reserve(length + 1); + for (int i = 0; i < length; ++i) + { + key += "0123456789ABCDEF"[distrib(gen)]; + } + + return key; +} + +} // namespace + SharedMemoryData::SharedMemoryData() noexcept = default; SharedMemoryData::SharedMemoryData(std::string&& key, bool readOnly) : @@ -208,6 +244,10 @@ SharedMemoryData::SharedMemoryData(std::string&& key, std::size_t size, bool rea m_ptr{m_impl->get()} { } +SharedMemoryData::SharedMemoryData(std::size_t size, bool readOnly) : + SharedMemoryData{createKey(), size, readOnly} +{ } + SharedMemoryData::~SharedMemoryData() = default; SharedMemoryData::SharedMemoryData(SharedMemoryData&& other) noexcept : @@ -216,4 +256,9 @@ SharedMemoryData::SharedMemoryData(SharedMemoryData&& other) noexcept : m_ptr{std::exchange(other.m_ptr, nullptr)} { } +auto SharedMemoryData::size_bytes() const noexcept -> std::size_t +{ + return m_impl ? m_impl->size_bytes() : 0; +} + } // namespace lmms::detail diff --git a/src/core/RemotePlugin.cpp b/src/core/RemotePlugin.cpp index 28f5f915a..e0eeff524 100644 --- a/src/core/RemotePlugin.cpp +++ b/src/core/RemotePlugin.cpp @@ -485,7 +485,7 @@ void RemotePlugin::resizeSharedProcessingMemory() const size_t s = (m_inputCount + m_outputCount) * Engine::audioEngine()->framesPerPeriod(); try { - m_audioBuffer.create(QUuid::createUuid().toString().toStdString(), s); + m_audioBuffer.create(s); } catch (const std::runtime_error& error) { diff --git a/src/core/VstSyncController.cpp b/src/core/VstSyncController.cpp index 79344a5b5..984b1b32c 100644 --- a/src/core/VstSyncController.cpp +++ b/src/core/VstSyncController.cpp @@ -28,7 +28,6 @@ #include #include -#include #include "AudioEngine.h" #include "ConfigManager.h" @@ -44,7 +43,7 @@ VstSyncController::VstSyncController() { try { - m_syncData.create(QUuid::createUuid().toString().toStdString()); + m_syncData.create(); } catch (const std::runtime_error& error) { From 516b8dbca8c27b6073f87d84942fb09ed6f2cbf2 Mon Sep 17 00:00:00 2001 From: firewall1110 <57725851+firewall1110@users.noreply.github.com> Date: Tue, 4 Feb 2025 02:02:06 +0200 Subject: [PATCH 074/112] Fix dropout with SID instrument when used for the first time (#7673) Co-authored-by: Sotonye Atemie --- plugins/Sid/SidInstrument.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/Sid/SidInstrument.cpp b/plugins/Sid/SidInstrument.cpp index 4d21abd4d..9a5a74f71 100644 --- a/plugins/Sid/SidInstrument.cpp +++ b/plugins/Sid/SidInstrument.cpp @@ -128,6 +128,10 @@ SidInstrument::SidInstrument( InstrumentTrack * _instrument_track ) : m_volumeModel( 15.0f, 0.0f, 15.0f, 1.0f, this, tr( "Volume" ) ), m_chipModel( static_cast(ChipModel::MOS8580), 0, NumChipModels-1, this, tr( "Chip model" ) ) { + // A Filter object needs to be created only once to do some initialization, avoiding + // dropouts down the line when we have to play a note for the first time. + [[maybe_unused]] static auto s_filter = reSID::Filter{}; + for( int i = 0; i < 3; ++i ) { m_voice[i] = new VoiceObject( this, i ); From 6a0a4cd2b2a966d8e9eb4105f808c4cf5a31fba1 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Wed, 5 Feb 2025 12:22:08 -0500 Subject: [PATCH 075/112] AppImage: Don't set LD_LIBRARY_PATH (#7686) Don't set LD_LIBRARY_PATH Move launch_lmms.sh to dedicated apprun-hooks --- cmake/apple/MacDeployQt.cmake | 3 ++ cmake/linux/CMakeLists.txt | 2 -- cmake/linux/LinuxDeploy.cmake | 8 ++++- cmake/linux/apprun-hooks/README.md | 11 ++++++ cmake/linux/apprun-hooks/carla-hook.sh | 44 +++++++++++++++++++++++ cmake/linux/apprun-hooks/jack-hook.sh | 11 ++++++ cmake/linux/apprun-hooks/unity-hook.sh | 8 +++++ cmake/linux/apprun-hooks/usr-lib-hooks.sh | 8 +++++ cmake/linux/apprun-hooks/vbox-hook.sh | 7 ++++ cmake/linux/launch_lmms.sh | 30 ---------------- 10 files changed, 99 insertions(+), 33 deletions(-) create mode 100644 cmake/linux/apprun-hooks/README.md create mode 100644 cmake/linux/apprun-hooks/carla-hook.sh create mode 100644 cmake/linux/apprun-hooks/jack-hook.sh create mode 100644 cmake/linux/apprun-hooks/unity-hook.sh create mode 100644 cmake/linux/apprun-hooks/usr-lib-hooks.sh create mode 100644 cmake/linux/apprun-hooks/vbox-hook.sh delete mode 100644 cmake/linux/launch_lmms.sh diff --git a/cmake/apple/MacDeployQt.cmake b/cmake/apple/MacDeployQt.cmake index acd7aae8d..d754b83c4 100644 --- a/cmake/apple/MacDeployQt.cmake +++ b/cmake/apple/MacDeployQt.cmake @@ -11,6 +11,9 @@ set(APP "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PROJECT_NAME_UCASE}.app") # Toggle command echoing & verbosity # 0 = no output, 1 = error/warning, 2 = normal, 3 = debug +if(DEFINED ENV{CPACK_DEBUG}) + set(CPACK_DEBUG "$ENV{CPACK_DEBUG}") +endif() if(NOT CPACK_DEBUG) set(VERBOSITY 1) set(COMMAND_ECHO NONE) diff --git a/cmake/linux/CMakeLists.txt b/cmake/linux/CMakeLists.txt index afdb57dd2..04efa1869 100644 --- a/cmake/linux/CMakeLists.txt +++ b/cmake/linux/CMakeLists.txt @@ -8,8 +8,6 @@ if(WANT_CPACK_TARBALL) return() endif() -install(FILES launch_lmms.sh DESTINATION bin) - # Standard CPack options set(CPACK_GENERATOR "External" PARENT_SCOPE) set(CPACK_EXTERNAL_ENABLE_STAGING true PARENT_SCOPE) diff --git a/cmake/linux/LinuxDeploy.cmake b/cmake/linux/LinuxDeploy.cmake index 032c52675..a7f5400ad 100644 --- a/cmake/linux/LinuxDeploy.cmake +++ b/cmake/linux/LinuxDeploy.cmake @@ -32,6 +32,9 @@ endif() # Toggle command echoing & verbosity # 0 = no output, 1 = error/warning, 2 = normal, 3 = debug +if(DEFINED ENV{CPACK_DEBUG}) + set(CPACK_DEBUG "$ENV{CPACK_DEBUG}") +endif() if(NOT CPACK_DEBUG) set(VERBOSITY 1) set(APPIMAGETOOL_VERBOSITY "") @@ -120,6 +123,10 @@ set(ENV{DISABLE_COPYRIGHT_FILES_DEPLOYMENT} 1) # Patch desktop file file(APPEND "${DESKTOP_FILE}" "X-AppImage-Version=${CPACK_PROJECT_VERSION}\n") +# Custom scripts to run immediately before lmms is executed +file(COPY "${CPACK_SOURCE_DIR}/cmake/linux/apprun-hooks" DESTINATION "${APP}") +file(REMOVE "${APP}/apprun-hooks/README.md") + # Prefer a hard-copy of .DirIcon over appimagetool's symlinking # 256x256 default for Cinnamon Desktop https://forums.linuxmint.com/viewtopic.php?p=2585952 file(COPY "${APP}/usr/share/icons/hicolor/256x256/apps/${lmms}.png" DESTINATION "${APP}") @@ -158,7 +165,6 @@ message(STATUS "Calling ${LINUXDEPLOY_BIN} --appdir \"${APP}\" ... [... librarie execute_process(COMMAND "${LINUXDEPLOY_BIN}" --appdir "${APP}" --desktop-file "${DESKTOP_FILE}" - --custom-apprun "${CPACK_SOURCE_DIR}/cmake/linux/launch_lmms.sh" --plugin qt ${LIBRARIES} --verbosity ${VERBOSITY} diff --git a/cmake/linux/apprun-hooks/README.md b/cmake/linux/apprun-hooks/README.md new file mode 100644 index 000000000..2bac9f1cb --- /dev/null +++ b/cmake/linux/apprun-hooks/README.md @@ -0,0 +1,11 @@ +# AppRun Hooks + +Scripts placed in this directory will automatically be bundled into AppImages +(e.g. `LMMS.AppDir/apprun-hooks`) and executed immediately before lmms. + +Quoting: + +> "Sometimes it's important to perform actions before running the actual app. Some plugins might have to set e.g., +> environment variables to work properly." + +See also: https://github.com/linuxdeploy/linuxdeploy/wiki/Plugin-system#apprun-hooks \ No newline at end of file diff --git a/cmake/linux/apprun-hooks/carla-hook.sh b/cmake/linux/apprun-hooks/carla-hook.sh new file mode 100644 index 000000000..c505267bb --- /dev/null +++ b/cmake/linux/apprun-hooks/carla-hook.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Workaround nuances with carla being an optional-yet-hard-linked plugin +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" +ME="$( basename "${BASH_SOURCE[0]}")" +CARLA_LIB_NAME="libcarla_native-plugin.so" +KNOWN_LOCATIONS=("lib" "lib64") +unset CARLA_LIB_FILE + +# Check for carla at "known" locations +if command -v carla > /dev/null 2>&1; then + CARLA_PATH="$(command -v carla)" + CARLA_PREFIX="${CARLA_PATH%/bin*}" + + # Look for libcarla_native-plugin.so in adjacent lib directory + for lib in "${KNOWN_LOCATIONS[@]}"; do + if [ -e "$CARLA_PREFIX/$lib/carla/$CARLA_LIB_NAME" ]; then + # Add directory to LD_LIBRARY_PATH so libcarlabase.so can find it + CARLA_LIB_FILE="$CARLA_PREFIX/$lib/carla/$CARLA_LIB_NAME" + export LD_LIBRARY_PATH="$CARLA_PREFIX/$lib/carla/:$LD_LIBRARY_PATH" + echo "[$ME] Carla appears to be installed on this system at $CARLA_PREFIX/$lib/carla so we'll use it." >&2 + break + fi + done +else + echo "[$ME] Carla does not appear to be installed. That's OK, please ignore any related library errors." >&2 +fi + +# Additional workarounds for library conflicts +# libgobject has been versioned "2.0" for over 20 years, but the ABI is constantly changing +KNOWN_CONFLICTS=("libgobject-2.0.so.0") +if [ -n "$CARLA_LIB_FILE" ]; then + for conflict in "${KNOWN_CONFLICTS[@]}"; do + # Only prepend LD_PRELOAD if we bundle the same version + if [ -e "$DIR/usr/lib/$conflict" ]; then + conflict_sys="$(ldd "$CARLA_LIB_FILE" | grep "$conflict" | awk '{print $3}')" + if [ -e "$conflict_sys" ]; then + # Add library to LD_PRELOAD so lmms can find it over its bundled version + echo "[$ME] Preferring the system's \"$conflict\" over the version bundled." >&2 + export LD_PRELOAD="$conflict_sys:$LD_PRELOAD" + fi + fi + done +fi diff --git a/cmake/linux/apprun-hooks/jack-hook.sh b/cmake/linux/apprun-hooks/jack-hook.sh new file mode 100644 index 000000000..1e8321ecf --- /dev/null +++ b/cmake/linux/apprun-hooks/jack-hook.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Workaround crash when jack is missing by providing a dummy version +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" +ME="$( basename "${BASH_SOURCE[0]}")" +if ldconfig -p | grep libjack.so.0 > /dev/null 2>&1; then + echo "[$ME] Jack appears to be installed on this system, so we'll use it." >&2 +else + echo "[$ME] Jack does not appear to be installed. That's OK, we'll use a dummy version instead." >&2 + export LD_LIBRARY_PATH=$DIR/usr/lib/lmms/optional:$LD_LIBRARY_PATH +fi diff --git a/cmake/linux/apprun-hooks/unity-hook.sh b/cmake/linux/apprun-hooks/unity-hook.sh new file mode 100644 index 000000000..7b0052ff7 --- /dev/null +++ b/cmake/linux/apprun-hooks/unity-hook.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Workaround Unity desktop menubar integration +# - Unity's menubar relocation breaks Qt's MDI window handling in Linux +# - Unity was default in Ubuntu 11.04 - 18.04 +if [ "$XDG_CURRENT_DESKTOP" = "Unity" ]; then + export QT_X11_NO_NATIVE_MENUBAR=1 +fi diff --git a/cmake/linux/apprun-hooks/usr-lib-hooks.sh b/cmake/linux/apprun-hooks/usr-lib-hooks.sh new file mode 100644 index 000000000..d33b8a22d --- /dev/null +++ b/cmake/linux/apprun-hooks/usr-lib-hooks.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Workaround libraries being incorrectly placed in usr/lib (e.g. instead of usr/lib/lmms, etc) +# FIXME: Remove when linuxdeploy supports subfolders https://github.com/linuxdeploy/linuxdeploy/issues/305 +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" +export LMMS_PLUGIN_DIR="$DIR/usr/lib/" +export LADSPA_PATH="$DIR/usr/lib/" +export SUIL_MODULE_DIR="$DIR/usr/lib/" diff --git a/cmake/linux/apprun-hooks/vbox-hook.sh b/cmake/linux/apprun-hooks/vbox-hook.sh new file mode 100644 index 000000000..e2ff1f6e0 --- /dev/null +++ b/cmake/linux/apprun-hooks/vbox-hook.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +ME="$( basename "${BASH_SOURCE[0]}")" +# Workaround crash in VirtualBox when hardware rendering is enabled +if lsmod |grep vboxguest > /dev/null 2>&1; then + echo "[$ME] VirtualBox detected. Forcing libgl software rendering." >&2 + export LIBGL_ALWAYS_SOFTWARE=1; +fi diff --git a/cmake/linux/launch_lmms.sh b/cmake/linux/launch_lmms.sh deleted file mode 100644 index 131d2b92d..000000000 --- a/cmake/linux/launch_lmms.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -export PATH="$PATH:/sbin" -if command -v carla > /dev/null 2>&1; then - CARLAPATH="$(command -v carla)" - CARLAPREFIX="${CARLAPATH%/bin*}" - echo "Carla appears to be installed on this system at $CARLAPREFIX/lib[64]/carla so we'll use it." >&2 - export LD_LIBRARY_PATH=$CARLAPREFIX/lib/carla:$CARLAPREFIX/lib64/carla:$LD_LIBRARY_PATH -else - echo "Carla does not appear to be installed. That's OK, please ignore any related library errors." >&2 -fi -export LD_LIBRARY_PATH=$DIR/usr/lib/:$DIR/usr/lib/lmms:$LD_LIBRARY_PATH -# Prevent segfault on VirualBox -if lsmod |grep vboxguest > /dev/null 2>&1; then - echo "VirtualBox detected. Forcing libgl software rendering." >&2 - export LIBGL_ALWAYS_SOFTWARE=1; -fi -if ldconfig -p | grep libjack.so.0 > /dev/null 2>&1; then - echo "Jack appears to be installed on this system, so we'll use it." >&2 -else - echo "Jack does not appear to be installed. That's OK, we'll use a dummy version instead." >&2 - export LD_LIBRARY_PATH=$DIR/usr/lib/lmms/optional:$LD_LIBRARY_PATH -fi - -# FIXME: Remove when linuxdeploy supports subfolders https://github.com/linuxdeploy/linuxdeploy/issues/305 -export LMMS_PLUGIN_DIR="$DIR/usr/lib/" -export LADSPA_PATH="$DIR/usr/lib/" -export SUIL_MODULE_DIR="$DIR/usr/lib/" - -QT_X11_NO_NATIVE_MENUBAR=1 "$DIR"/usr/bin/lmms "$@" From c81d497cda85d9ddf2d69c5c1e6901fe89661a61 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Sat, 8 Feb 2025 15:11:55 -0500 Subject: [PATCH 076/112] Fix libjack.so.0 detection for openSUSE (#7690) Fix libjack.so.0 detection for openSUSE Add libdb-5.so to optional as symlink --- cmake/linux/LinuxDeploy.cmake | 75 +++++++++++++++++---------- cmake/linux/apprun-hooks/jack-hook.sh | 12 +++-- 2 files changed, 57 insertions(+), 30 deletions(-) diff --git a/cmake/linux/LinuxDeploy.cmake b/cmake/linux/LinuxDeploy.cmake index a7f5400ad..974c1d272 100644 --- a/cmake/linux/LinuxDeploy.cmake +++ b/cmake/linux/LinuxDeploy.cmake @@ -175,7 +175,7 @@ execute_process(COMMAND "${LINUXDEPLOY_BIN}" # Remove svg ambitiously placed by linuxdeploy file(REMOVE "${APP}/${lmms}.svg") -# Remove libraries that are normally sytem-provided +# Remove libraries that are normally system-provided file(GLOB EXCLUDE_LIBS "${APP}/usr/lib/libwine*" "${APP}/usr/lib/libcarla_native*" @@ -216,32 +216,55 @@ endforeach() file(REMOVE_RECURSE "${SUIL_MODULES_TARGET}" "${APP}/usr/lib/${lmms}/ladspa/") -# Bundle jack to avoid crash for systems without it -# See https://github.com/LMMS/lmms/pull/4186 -execute_process(COMMAND ldd "${APP}/usr/bin/${lmms}" - OUTPUT_VARIABLE LDD_OUTPUT - OUTPUT_STRIP_TRAILING_WHITESPACE - COMMAND_ECHO ${COMMAND_ECHO} - COMMAND_ERROR_IS_FATAL ANY) -string(REPLACE "\n" ";" LDD_LIST "${LDD_OUTPUT}") -foreach(line ${LDD_LIST}) - if(line MATCHES "libjack\\.so") - # Assume format "libjack.so.0 => /lib/x86_64-linux-gnu/libjack.so.0 (0x00007f48d0b0e000)" - string(REPLACE " " ";" parts "${line}") - list(LENGTH parts len) - math(EXPR index "${len}-2") - list(GET parts ${index} lib) - # Get symlink target - file(REAL_PATH "${lib}" libreal) - get_filename_component(symname "${lib}" NAME) - get_filename_component(realname "${libreal}" NAME) - file(MAKE_DIRECTORY "${APP}/usr/lib/${lmms}/optional/") - # Copy, but with original symlink name - file(COPY "${libreal}" DESTINATION "${APP}/usr/lib/${lmms}/optional/") - file(RENAME "${APP}/usr/lib/${lmms}/optional/${realname}" "${APP}/usr/lib/${lmms}/optional/${symname}") - continue() +# Copy "exclude-list" lib(s) into specified location +macro(copy_excluded ldd_target name_match destination relocated_lib) + execute_process(COMMAND ldd + "${ldd_target}" + OUTPUT_VARIABLE ldd_output + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ECHO ${COMMAND_ECHO} + COMMAND_ERROR_IS_FATAL ANY) + + # escape periods to avoid double-escaping + string(REPLACE "." "\\." name_match "${name_match}") + + # cli output --> list + string(REPLACE "\n" ";" ldd_list "${ldd_output}") + + foreach(line ${ldd_list}) + if(line MATCHES "${name_match}") + # Assumes format "libname.so.0 => /lib/location/libname.so.0 (0x00007f48d0b0e000)" + string(REPLACE " " ";" parts "${line}") + list(LENGTH parts len) + math(EXPR index "${len}-2") + list(GET parts ${index} lib) + # Resolve any possible symlinks + file(REAL_PATH "${lib}" libreal) + get_filename_component(symname "${lib}" NAME) + get_filename_component(realname "${libreal}" NAME) + file(MAKE_DIRECTORY "${destination}") + # Copy, but with original symlink name + file(COPY "${libreal}" DESTINATION "${destination}") + file(RENAME "${destination}/${realname}" "${destination}/${symname}") + set("${relocated_lib}" "${destination}/${symname}") + break() + endif() + endforeach() +endmacro() + +# copy libjack +copy_excluded("${APP}/usr/bin/${lmms}" "libjack.so" "${APP}/usr/lib/jack" relocated_jack) +if(relocated_jack) + # libdb's not excluded however we'll re-use the macro as a convenient path calculation + # See https://github.com/LMMS/lmms/issues/7689s + copy_excluded("${relocated_jack}" "libdb-" "${APP}/usr/lib/jack" relocated_libdb) + get_filename_component(libdb_name "${relocated_libdb}" NAME) + if(relocated_libdb AND EXISTS "${APP}/usr/lib/${libdb_name}") + # assume a copy already resides in usr/lib and symlink + file(REMOVE "${relocated_libdb}") + create_symlink("${APP}/usr/lib/${libdb_name}" "${relocated_libdb}") endif() -endforeach() +endif() if(CPACK_TOOL STREQUAL "appimagetool") # Create ".AppImage" file using appimagetool (default) diff --git a/cmake/linux/apprun-hooks/jack-hook.sh b/cmake/linux/apprun-hooks/jack-hook.sh index 1e8321ecf..e8a2d16c3 100644 --- a/cmake/linux/apprun-hooks/jack-hook.sh +++ b/cmake/linux/apprun-hooks/jack-hook.sh @@ -3,9 +3,13 @@ # Workaround crash when jack is missing by providing a dummy version DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" ME="$( basename "${BASH_SOURCE[0]}")" -if ldconfig -p | grep libjack.so.0 > /dev/null 2>&1; then - echo "[$ME] Jack appears to be installed on this system, so we'll use it." >&2 +# Set language to English +export LC_ALL=C +if ldd "$DIR/usr/bin/lmms" |grep "libjack.so" |grep "not found" > /dev/null 2>&1; then + echo "[$ME] Jack does not appear to be installed. That's OK, we'll use a dummy version instead." >&2 + export LD_LIBRARY_PATH="$DIR/usr/lib/jack:$LD_LIBRARY_PATH" else - echo "[$ME] Jack does not appear to be installed. That's OK, we'll use a dummy version instead." >&2 - export LD_LIBRARY_PATH=$DIR/usr/lib/lmms/optional:$LD_LIBRARY_PATH + echo "[$ME] Jack appears to be installed on this system, so we'll use it." >&2 fi +# Restore language +unset LC_ALL From fe0e8ba3799bfc52e1f159abae0a38644a4ea150 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Sat, 8 Feb 2025 17:13:07 -0500 Subject: [PATCH 077/112] Remove libgallium from the appimage (#7693) * Remove libgallium from the appimage * Remove "optional" directory from AppImage --- cmake/linux/LinuxDeploy.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmake/linux/LinuxDeploy.cmake b/cmake/linux/LinuxDeploy.cmake index 974c1d272..e5f398fd1 100644 --- a/cmake/linux/LinuxDeploy.cmake +++ b/cmake/linux/LinuxDeploy.cmake @@ -160,6 +160,8 @@ foreach(_lib IN LISTS LIBS) endif() endforeach() +list(APPEND SKIP_LIBRARIES "--exclude-library=*libgallium*") + # Call linuxdeploy message(STATUS "Calling ${LINUXDEPLOY_BIN} --appdir \"${APP}\" ... [... libraries].") execute_process(COMMAND "${LINUXDEPLOY_BIN}" @@ -167,6 +169,7 @@ execute_process(COMMAND "${LINUXDEPLOY_BIN}" --desktop-file "${DESKTOP_FILE}" --plugin qt ${LIBRARIES} + ${SKIP_LIBRARIES} --verbosity ${VERBOSITY} ${OUTPUT_QUIET} COMMAND_ECHO ${COMMAND_ECHO} @@ -266,6 +269,9 @@ if(relocated_jack) endif() endif() +# cleanup empty directories +file(REMOVE_RECURSE "${APP}/usr/lib/${lmms}/optional/") + if(CPACK_TOOL STREQUAL "appimagetool") # Create ".AppImage" file using appimagetool (default) From 786088baec64bec452cbf7fc736582c0a4ac9cb2 Mon Sep 17 00:00:00 2001 From: Cas Pascal <81458575+khoidauminh@users.noreply.github.com> Date: Sun, 9 Feb 2025 08:05:19 +0700 Subject: [PATCH 078/112] Improve performance when rendering sample waveforms (#7366) This PR attempts a number of improvements to the sample rendering (in the song editor, automation editor, AudioFileProcessor, SlicerT, etc) in LMMS: Thumbnails: Samples are aggregated into a set of thumbnails of multiple resolutions. The smallest larger thumbnail is then chosen for rendering during sample drawing. Each set of thumbnails is stored with its sample file metadata in an unordered_map, so that duplicate samples will use the same set of thumbnails. Partial rendering: additionally, this PR only renders the portions of the sample clips visible to the viewer to save rendering time. * Experimental sample thumbnail * Rename some classes and type aliases. Make some type declarations explicit * Use a combination of audioFile name and shared_ptrs to track samples; refactor some loops * That weird line at the end of the sample is now gone * Small changes to the code; Add comments * Add missing word to comment; Fix typo * Track `SharedSampleThumbnailList`s instead * Major refactor; implement thumbnailing for SlicerT, AFP and Automation editor * Code clean up, renames and documenting * Add the namespace lmms comments * More code updates and documentation * Fix error in comment * Comment out `qDebug`s * Fix formatting * Use alternative initialization of `SampleThumbnailVisualizeParameters` * Remove commented code * Fix style and simplify code * Use auto * Draw lines using floating point * Merge the classes into one nested class + Replace while loop with std::find_if * Fix comparison of different signedness * Include memory header * Fix a logic error when selecting samples; Rename a const * Fix more issues with signedness * Fix sample drawing error in `visualizeOriginal` * Only render regions in view of the sample * Allow partial repaints of sample clips * Remove unused variable * Limit most of the painting to the visible region * Revert back to using rect() in some places * Partial rendering for AutomationEditor * Don't redraw painted regions; allowHighResolution; remove `visualizeOriginal`; Remove s_sampleThumbnailCacheMap * Add s_sampleThumbnailCacheMap back for testing convenience * Minor change to the way `thumbnailSizeDivisor` is calculated * Extend update region by an amount * forgot about this * Adapt to master; Redesign VisualizeParameters; Don't rely entirely on needsUpdate() * Don't try to preserve painted regions * Allow for a bit more thumbnails; Fix incorrect rendering when vertically scrolling * Fix missing include statement * Remove the unused variable * Code optimization; Remove RMS member from Bit; Rename viewRect to drawRect * More code optimizations * Fix formatting * Use begin instead of cbegin * Improve generation of thumbnails * Improve expressiveness of the draw code * Add support for reversing * Fix drawing code * Fix draw code (part 2) * Apply more fixes and simplifications * Undo some out of scope changes * Remove SampleWaveform * Improve documentation * Use size_t for some counters * Change width parameter to be size_t * Remove temporary aggregated peak variable * Bump up AggregationPerZoomStep to 10 * Zoom out only requested range of thumbnail instead of clipping it separately * Rename targetSampleWidth to targetThumbnailWidth * Handle reversing for AFP; Iterate in reverse instead of reversing the entire thumbnail * Change names to be more accurate * Improve implementation of sample thumbnail cache map * Move AggregationPerZoomStep back down to 2, do not cap smallest thumbnail width to display width To improve performance with especially long samples (~20 minutes) * Simplify sample thumbnail cache handling in constructor * Call drawLines instead of drawLine in a loop QPainter::drawLine calls drawLines with a line count of 1. Therefore, calling drawLine in a loop means we are simply calling drawLines a lot more times than necessary. * Bump up AggregationPerZoomStep to 10 again Thought using 2 would help performance (when rendering). Maybe it does, but it's still quite slow when rendering a bunch of thumbnails at once. * Fix off-by-one error when constructing Thumbnail from buffer * Fix crash when viewport is not in bounds * Apply performance improvements Performance in the zoomOut function was bad because of the dynamic memory allocation. Huge chunks of memory were being allocated quite often, casuing a ton of cache misses and all around slower performance. To fix this, all the necessary downsampling is now done within the for loop and handled one pixel after another, instead of all at once. To further avoid allocations in the draw call, the change to use drawLines has been reverted. We now pass VisualizeParameters by value (it is only 64 bytes, which will fit quite nicely in a cache line, which is more benefical than reaching for that data by reference to some other part of the code). After applying these changes, we are now practically only bounded by the painting done by Qt (according to profiling done by Valgrind). Proper use of OpenGL could resolve this issue, which should finally make the performance quite optimal in variety of situations. * Apply minor changes Update copyright and unused functions. Move in newly created thumbnail into the cache instead of copying it. * Use C++20's designated initializers * Create param right before visualizing * Fix regressions with reversing * Fix incorrect rendering in AFP and SlicerT * Move MaxSampleThumbnailCacheSize and AggregationPerZoomStep into implementation file * Remove static keyword * Remove getter and setter for peak data --------- Co-authored-by: Sotonye Atemie --- include/AutomationEditor.h | 3 + include/SampleClipView.h | 3 + include/SampleThumbnail.h | 143 ++++++++++++++++ include/SampleWaveform.h | 49 ------ .../AudioFileProcessorWaveView.cpp | 24 ++- .../AudioFileProcessorWaveView.h | 2 + plugins/SlicerT/SlicerTWaveform.cpp | 37 +++-- plugins/SlicerT/SlicerTWaveform.h | 4 + src/gui/CMakeLists.txt | 2 +- src/gui/SampleThumbnail.cpp | 157 ++++++++++++++++++ src/gui/SampleWaveform.cpp | 95 ----------- src/gui/clips/SampleClipView.cpp | 25 ++- src/gui/editors/AutomationEditor.cpp | 19 ++- 13 files changed, 386 insertions(+), 177 deletions(-) create mode 100644 include/SampleThumbnail.h delete mode 100644 include/SampleWaveform.h create mode 100644 src/gui/SampleThumbnail.cpp delete mode 100644 src/gui/SampleWaveform.cpp diff --git a/include/AutomationEditor.h b/include/AutomationEditor.h index 15f6dd22e..eb3d229a3 100644 --- a/include/AutomationEditor.h +++ b/include/AutomationEditor.h @@ -38,6 +38,7 @@ #include "SampleClip.h" #include "TimePos.h" #include "lmms_basics.h" +#include "SampleThumbnail.h" class QPainter; class QPixmap; @@ -290,6 +291,8 @@ private: QColor m_ghostNoteColor; QColor m_detuningNoteColor; QColor m_ghostSampleColor; + + SampleThumbnail m_sampleThumbnail; friend class AutomationEditorWindow; diff --git a/include/SampleClipView.h b/include/SampleClipView.h index 4ff218fb0..10ce5b2f3 100644 --- a/include/SampleClipView.h +++ b/include/SampleClipView.h @@ -27,6 +27,8 @@ #include "ClipView.h" +#include "SampleThumbnail.h" + namespace lmms { @@ -63,6 +65,7 @@ protected: private: SampleClip * m_clip; + SampleThumbnail m_sampleThumbnail; QPixmap m_paintPixmap; bool splitClip( const TimePos pos ) override; } ; diff --git a/include/SampleThumbnail.h b/include/SampleThumbnail.h new file mode 100644 index 000000000..b8e1e85af --- /dev/null +++ b/include/SampleThumbnail.h @@ -0,0 +1,143 @@ +/* + * SampleThumbnail.h + * + * Copyright (c) 2024 Khoi Dau + * Copyright (c) 2024 Sotonye Atemie + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef LMMS_SAMPLE_THUMBNAIL_H +#define LMMS_SAMPLE_THUMBNAIL_H + +#include +#include +#include +#include + +#include "Sample.h" +#include "lmms_export.h" + +namespace lmms { + +/** + Allows for visualizing sample data. + + On construction, thumbnails will be generated + at logarathmic intervals of downsampling. Those cached thumbnails will then be further downsampled on the fly and + transformed in various ways to create the desired waveform. + + Given that we are dealing with far less data to generate + the visualization however (i.e., we are not reading from original sample data when drawing), this provides a + significant performance boost that wouldn't be possible otherwise. + */ +class LMMS_EXPORT SampleThumbnail +{ +public: + struct VisualizeParameters + { + QRect sampleRect; //!< A rectangle that covers the entire range of samples. + + QRect drawRect; //!< Specifies the location in `sampleRect` where the waveform will be drawn. Equals + //!< `sampleRect` when null. + + QRect viewportRect; //!< Clips `drawRect`. Equals `drawRect` when null. + + float amplification = 1.0f; //!< The amount of amplification to apply to the waveform. + + float sampleStart = 0.0f; //!< Where the sample begins for drawing. + + float sampleEnd = 1.0f; //!< Where the sample ends for drawing. + + bool reversed = false; //!< Determines if the waveform is drawn in reverse or not. + }; + + SampleThumbnail() = default; + SampleThumbnail(const Sample& sample); + void visualize(VisualizeParameters parameters, QPainter& painter) const; + +private: + class Thumbnail + { + public: + struct Peak + { + Peak() = default; + + Peak(float min, float max) + : min(min) + , max(max) + { + } + + Peak(const SampleFrame& frame) + : min(std::min(frame.left(), frame.right())) + , max(std::max(frame.left(), frame.right())) + { + } + + Peak operator+(const Peak& other) const { return Peak(std::min(min, other.min), std::max(max, other.max)); } + Peak operator+(const SampleFrame& frame) const { return *this + Peak{frame}; } + + float min = std::numeric_limits::max(); + float max = std::numeric_limits::min(); + }; + + Thumbnail() = default; + Thumbnail(std::vector peaks, double samplesPerPeak); + Thumbnail(const float* buffer, size_t size, size_t width); + + Thumbnail zoomOut(float factor) const; + + Peak& operator[](size_t index) { return m_peaks[index]; } + const Peak& operator[](size_t index) const { return m_peaks[index]; } + + int width() const { return m_peaks.size(); } + double samplesPerPeak() const { return m_samplesPerPeak; } + + private: + std::vector m_peaks; + double m_samplesPerPeak = 0.0; + }; + + struct SampleThumbnailEntry + { + QString filePath; + QDateTime lastModified; + + friend bool operator==(const SampleThumbnailEntry& first, const SampleThumbnailEntry& second) + { + return first.filePath == second.filePath && first.lastModified == second.lastModified; + } + }; + + struct Hash + { + std::size_t operator()(const SampleThumbnailEntry& entry) const noexcept { return qHash(entry.filePath); } + }; + + using ThumbnailCache = std::vector; + std::shared_ptr m_thumbnailCache = std::make_shared(); + + inline static std::unordered_map, Hash> s_sampleThumbnailCacheMap; +}; + +} // namespace lmms + +#endif // LMMS_SAMPLE_THUMBNAIL_H diff --git a/include/SampleWaveform.h b/include/SampleWaveform.h deleted file mode 100644 index ccfc9fb60..000000000 --- a/include/SampleWaveform.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * SampleWaveform.h - * - * Copyright (c) 2023 saker - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#ifndef LMMS_GUI_SAMPLE_WAVEFORM_H -#define LMMS_GUI_SAMPLE_WAVEFORM_H - -#include - -#include "Sample.h" -#include "lmms_export.h" - -namespace lmms::gui { -class LMMS_EXPORT SampleWaveform -{ -public: - struct Parameters - { - const SampleFrame* buffer; - size_t size; - float amplification; - bool reversed; - }; - - static void visualize(Parameters parameters, QPainter& painter, const QRect& rect); -}; -} // namespace lmms::gui - -#endif // LMMS_GUI_SAMPLE_WAVEFORM_H diff --git a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp index b41af33e0..f120fbf25 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp +++ b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp @@ -24,16 +24,16 @@ #include "AudioFileProcessorWaveView.h" +#include "Sample.h" #include "ConfigManager.h" +#include "SampleThumbnail.h" #include "FontHelper.h" -#include "SampleWaveform.h" #include #include #include - namespace lmms { @@ -81,7 +81,8 @@ AudioFileProcessorWaveView::AudioFileProcessorWaveView(QWidget* parent, int w, i m_isDragging(false), m_reversed(false), m_framesPlayed(0), - m_animation(ConfigManager::inst()->value("ui", "animateafp").toInt()) + m_animation(ConfigManager::inst()->value("ui", "animateafp").toInt()), + m_sampleThumbnail(*buf) { setFixedSize(w, h); setMouseTracking(true); @@ -338,13 +339,18 @@ void AudioFileProcessorWaveView::updateGraph() m_graph.fill(Qt::transparent); QPainter p(&m_graph); p.setPen(QColor(255, 255, 255)); - - const auto dataOffset = m_reversed ? m_sample->sampleSize() - m_to : m_from; - const auto rect = QRect{0, 0, m_graph.width(), m_graph.height()}; - const auto waveform = SampleWaveform::Parameters{ - m_sample->data() + dataOffset, static_cast(range()), m_sample->amplification(), m_sample->reversed()}; - SampleWaveform::visualize(waveform, p, rect); + m_sampleThumbnail = SampleThumbnail{*m_sample}; + + const auto param = SampleThumbnail::VisualizeParameters{ + .sampleRect = m_graph.rect(), + .amplification = m_sample->amplification(), + .sampleStart = static_cast(m_from) / m_sample->sampleSize(), + .sampleEnd = static_cast(m_to) / m_sample->sampleSize(), + .reversed = m_sample->reversed(), + }; + + m_sampleThumbnail.visualize(param, p); } void AudioFileProcessorWaveView::zoom(const bool out) diff --git a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h index 1251501b0..6440570e6 100644 --- a/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h +++ b/plugins/AudioFileProcessor/AudioFileProcessorWaveView.h @@ -27,6 +27,7 @@ #include "Knob.h" +#include "SampleThumbnail.h" namespace lmms @@ -144,6 +145,7 @@ private: bool m_reversed; f_cnt_t m_framesPlayed; bool m_animation; + SampleThumbnail m_sampleThumbnail; friend class AudioFileProcessorView; diff --git a/plugins/SlicerT/SlicerTWaveform.cpp b/plugins/SlicerT/SlicerTWaveform.cpp index 17fab42e2..37f55572f 100644 --- a/plugins/SlicerT/SlicerTWaveform.cpp +++ b/plugins/SlicerT/SlicerTWaveform.cpp @@ -27,7 +27,7 @@ #include #include -#include "SampleWaveform.h" +#include "SampleThumbnail.h" #include "SlicerT.h" #include "SlicerTView.h" #include "embed.h" @@ -115,10 +115,19 @@ void SlicerTWaveform::drawSeekerWaveform() brush.setPen(s_waveformColor); const auto& sample = m_slicerTParent->m_originalSample; - const auto waveform - = SampleWaveform::Parameters{sample.data(), sample.sampleSize(), sample.amplification(), sample.reversed()}; - const auto rect = QRect(0, 0, m_seekerWaveform.width(), m_seekerWaveform.height()); - SampleWaveform::visualize(waveform, brush, rect); + + m_sampleThumbnail = SampleThumbnail{sample}; + + const auto param = SampleThumbnail::VisualizeParameters{ + .sampleRect = m_seekerWaveform.rect(), + .amplification = sample.amplification(), + .sampleStart = static_cast(sample.startFrame()) / sample.sampleSize(), + .sampleEnd = static_cast(sample.endFrame()) / sample.sampleSize(), + .reversed = sample.reversed() + }; + + m_sampleThumbnail.visualize(param, brush); + // increase brightness in inner color QBitmap innerMask = m_seekerWaveform.createMaskFromColor(s_waveformMaskColor, Qt::MaskMode::MaskOutColor); @@ -171,13 +180,21 @@ void SlicerTWaveform::drawEditorWaveform() size_t endFrame = m_seekerEnd * m_slicerTParent->m_originalSample.sampleSize(); brush.setPen(s_waveformColor); - float zoomOffset = (m_editorHeight - m_zoomLevel * m_editorHeight) / 2; + long zoomOffset = (m_editorHeight - m_zoomLevel * m_editorHeight) / 2; const auto& sample = m_slicerTParent->m_originalSample; - const auto waveform = SampleWaveform::Parameters{ - sample.data() + startFrame, endFrame - startFrame, sample.amplification(), sample.reversed()}; - const auto rect = QRect(0, zoomOffset, m_editorWidth, m_zoomLevel * m_editorHeight); - SampleWaveform::visualize(waveform, brush, rect); + + m_sampleThumbnail = SampleThumbnail{sample}; + + const auto param = SampleThumbnail::VisualizeParameters{ + .sampleRect = QRect(0, zoomOffset, m_editorWidth, static_cast(m_zoomLevel * m_editorHeight)), + .amplification = sample.amplification(), + .sampleStart = static_cast(startFrame) / sample.sampleSize(), + .sampleEnd = static_cast(endFrame) / sample.sampleSize(), + .reversed = sample.reversed(), + }; + + m_sampleThumbnail.visualize(param, brush); // increase brightness in inner color QBitmap innerMask = m_editorWaveform.createMaskFromColor(s_waveformMaskColor, Qt::MaskMode::MaskOutColor); diff --git a/plugins/SlicerT/SlicerTWaveform.h b/plugins/SlicerT/SlicerTWaveform.h index d22e83f5e..029b69320 100644 --- a/plugins/SlicerT/SlicerTWaveform.h +++ b/plugins/SlicerT/SlicerTWaveform.h @@ -32,6 +32,8 @@ #include #include +#include "SampleThumbnail.h" + namespace lmms { class SlicerT; @@ -108,6 +110,8 @@ private: QPixmap m_editorWaveform; QPixmap m_sliceEditor; QPixmap m_emptySampleIcon; + + SampleThumbnail m_sampleThumbnail; SlicerT* m_slicerTParent; diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index fe4a2c462..51f463832 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -35,7 +35,7 @@ SET(LMMS_SRCS gui/RowTableView.cpp gui/SampleLoader.cpp gui/SampleTrackWindow.cpp - gui/SampleWaveform.cpp + gui/SampleThumbnail.cpp gui/SendButtonIndicator.cpp gui/SideBar.cpp gui/SideBarWidget.cpp diff --git a/src/gui/SampleThumbnail.cpp b/src/gui/SampleThumbnail.cpp new file mode 100644 index 000000000..c31c0d93e --- /dev/null +++ b/src/gui/SampleThumbnail.cpp @@ -0,0 +1,157 @@ +/* + * SampleThumbnail.cpp + * + * Copyright (c) 2024 Khoi Dau + * Copyright (c) 2024 Sotonye Atemie + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#include "SampleThumbnail.h" + +#include +#include + +namespace { + constexpr auto MaxSampleThumbnailCacheSize = 32; + constexpr auto AggregationPerZoomStep = 10; +} + +namespace lmms { + +SampleThumbnail::Thumbnail::Thumbnail(std::vector peaks, double samplesPerPeak) + : m_peaks(std::move(peaks)) + , m_samplesPerPeak(samplesPerPeak) +{ +} + +SampleThumbnail::Thumbnail::Thumbnail(const float* buffer, size_t size, size_t width) + : m_peaks(width) + , m_samplesPerPeak(std::max(static_cast(size) / width, 1.0)) +{ + for (auto peakIndex = std::size_t{0}; peakIndex < width; ++peakIndex) + { + const auto beginSample = buffer + static_cast(std::floor(peakIndex * m_samplesPerPeak)); + const auto endSample = buffer + static_cast(std::ceil((peakIndex + 1) * m_samplesPerPeak)); + const auto [min, max] = std::minmax_element(beginSample, endSample); + m_peaks[peakIndex] = Peak{*min, *max}; + } +} + +SampleThumbnail::Thumbnail SampleThumbnail::Thumbnail::zoomOut(float factor) const +{ + assert(factor >= 1 && "Invalid zoom out factor"); + + auto peaks = std::vector(m_peaks.size() / factor); + for (auto peakIndex = std::size_t{0}; peakIndex < peaks.size(); ++peakIndex) + { + const auto beginAggregationAt = m_peaks.begin() + static_cast(std::floor(peakIndex * factor)); + const auto endAggregationAt = m_peaks.begin() + static_cast(std::ceil((peakIndex + 1) * factor)); + peaks[peakIndex] = std::accumulate(beginAggregationAt, endAggregationAt, Peak{}); + } + + return Thumbnail{std::move(peaks), m_samplesPerPeak * factor}; +} + +SampleThumbnail::SampleThumbnail(const Sample& sample) +{ + auto entry = SampleThumbnailEntry{sample.sampleFile(), QFileInfo{sample.sampleFile()}.lastModified()}; + if (!entry.filePath.isEmpty()) + { + const auto it = s_sampleThumbnailCacheMap.find(entry); + if (it != s_sampleThumbnailCacheMap.end()) + { + m_thumbnailCache = it->second; + return; + } + + if (s_sampleThumbnailCacheMap.size() == MaxSampleThumbnailCacheSize) + { + const auto leastUsed = std::min_element(s_sampleThumbnailCacheMap.begin(), s_sampleThumbnailCacheMap.end(), + [](const auto& a, const auto& b) { return a.second.use_count() < b.second.use_count(); }); + s_sampleThumbnailCacheMap.erase(leastUsed->first); + } + + s_sampleThumbnailCacheMap[std::move(entry)] = m_thumbnailCache; + } + + if (!sample.buffer()) { throw std::runtime_error{"Cannot create a sample thumbnail with no buffer"}; } + if (sample.sampleSize() == 0) { return; } + + const auto fullResolutionWidth = sample.sampleSize() * DEFAULT_CHANNELS; + m_thumbnailCache->emplace_back(&sample.buffer()->data()->left(), fullResolutionWidth, fullResolutionWidth); + + while (m_thumbnailCache->back().width() >= AggregationPerZoomStep) + { + auto zoomedOutThumbnail = m_thumbnailCache->back().zoomOut(AggregationPerZoomStep); + m_thumbnailCache->emplace_back(std::move(zoomedOutThumbnail)); + } +} + +void SampleThumbnail::visualize(VisualizeParameters parameters, QPainter& painter) const +{ + const auto& sampleRect = parameters.sampleRect; + const auto& drawRect = parameters.drawRect.isNull() ? sampleRect : parameters.drawRect; + const auto& viewportRect = parameters.viewportRect.isNull() ? drawRect : parameters.viewportRect; + + const auto renderRect = sampleRect.intersected(drawRect).intersected(viewportRect); + if (renderRect.isNull()) { return; } + + const auto sampleRange = parameters.sampleEnd - parameters.sampleStart; + if (sampleRange <= 0 || sampleRange > 1) { return; } + + const auto targetThumbnailWidth = static_cast(static_cast(sampleRect.width()) / sampleRange); + const auto finerThumbnail = std::find_if(m_thumbnailCache->rbegin(), m_thumbnailCache->rend(), + [&](const auto& thumbnail) { return thumbnail.width() >= targetThumbnailWidth; }); + + if (finerThumbnail == m_thumbnailCache->rend()) + { + qDebug() << "Could not find closest finer thumbnail for a target width of" << targetThumbnailWidth; + return; + } + + painter.save(); + painter.setRenderHint(QPainter::Antialiasing, true); + + const auto thumbnailBeginForward = std::max(renderRect.x() - sampleRect.x(), static_cast(parameters.sampleStart * targetThumbnailWidth)); + const auto thumbnailEndForward = std::max(renderRect.x() + renderRect.width() - sampleRect.x(), static_cast(parameters.sampleEnd * targetThumbnailWidth)); + const auto thumbnailBegin = parameters.reversed ? targetThumbnailWidth - thumbnailBeginForward - 1 : thumbnailBeginForward; + const auto thumbnailEnd = parameters.reversed ? targetThumbnailWidth - thumbnailEndForward : thumbnailEndForward; + const auto advanceThumbnailBy = parameters.reversed ? -1 : 1; + + const auto finerThumbnailScaleFactor = static_cast(finerThumbnail->width()) / targetThumbnailWidth; + const auto yScale = drawRect.height() / 2 * parameters.amplification; + + for (auto x = renderRect.x(), i = thumbnailBegin; x < renderRect.x() + renderRect.width() && i != thumbnailEnd; + ++x, i += advanceThumbnailBy) + { + const auto beginAggregationAt = &(*finerThumbnail)[static_cast(std::floor(i * finerThumbnailScaleFactor))]; + const auto endAggregationAt = &(*finerThumbnail)[static_cast(std::ceil((i + 1) * finerThumbnailScaleFactor))]; + const auto peak = std::accumulate(beginAggregationAt, endAggregationAt, Thumbnail::Peak{}); + + const auto yMin = drawRect.center().y() - peak.min * yScale; + const auto yMax = drawRect.center().y() - peak.max * yScale; + + painter.drawLine(x, yMin, x, yMax); + } + + painter.restore(); +} + +} // namespace lmms diff --git a/src/gui/SampleWaveform.cpp b/src/gui/SampleWaveform.cpp deleted file mode 100644 index 165ede4ee..000000000 --- a/src/gui/SampleWaveform.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* - * SampleWaveform.cpp - * - * Copyright (c) 2023 saker - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#include "SampleWaveform.h" - -namespace lmms::gui { - -void SampleWaveform::visualize(Parameters parameters, QPainter& painter, const QRect& rect) -{ - const int x = rect.x(); - const int height = rect.height(); - const int width = rect.width(); - const int centerY = rect.center().y(); - - const int halfHeight = height / 2; - - const auto color = painter.pen().color(); - const auto rmsColor = color.lighter(123); - - const float framesPerPixel = std::max(1.0f, static_cast(parameters.size) / width); - - constexpr float maxFramesPerPixel = 512.0f; - const float resolution = std::max(1.0f, framesPerPixel / maxFramesPerPixel); - const float framesPerResolution = framesPerPixel / resolution; - - size_t numPixels = std::min(parameters.size, static_cast(width)); - auto min = std::vector(numPixels, 1); - auto max = std::vector(numPixels, -1); - auto squared = std::vector(numPixels, 0); - - const size_t maxFrames = static_cast(numPixels * framesPerPixel); - - auto pixelIndex = std::size_t{0}; - - for (auto i = std::size_t{0}; i < maxFrames; i += static_cast(resolution)) - { - pixelIndex = i / framesPerPixel; - const auto frameIndex = !parameters.reversed ? i : maxFrames - i; - - const auto& frame = parameters.buffer[frameIndex]; - const auto value = frame.average(); - - if (value > max[pixelIndex]) { max[pixelIndex] = value; } - if (value < min[pixelIndex]) { min[pixelIndex] = value; } - - squared[pixelIndex] += value * value; - } - - if (pixelIndex < numPixels) - { - numPixels = pixelIndex; - } - - for (auto i = std::size_t{0}; i < numPixels; i++) - { - const int lineY1 = centerY - max[i] * halfHeight * parameters.amplification; - const int lineY2 = centerY - min[i] * halfHeight * parameters.amplification; - const int lineX = static_cast(i) + x; - painter.drawLine(lineX, lineY1, lineX, lineY2); - - const float rms = std::sqrt(squared[i] / framesPerResolution); - const float maxRMS = std::clamp(rms, min[i], max[i]); - const float minRMS = std::clamp(-rms, min[i], max[i]); - - const int rmsLineY1 = centerY - maxRMS * halfHeight * parameters.amplification; - const int rmsLineY2 = centerY - minRMS * halfHeight * parameters.amplification; - - painter.setPen(rmsColor); - painter.drawLine(lineX, rmsLineY1, lineX, rmsLineY2); - painter.setPen(color); - } -} - -} // namespace lmms::gui diff --git a/src/gui/clips/SampleClipView.cpp b/src/gui/clips/SampleClipView.cpp index a7251be8d..d5cfb211e 100644 --- a/src/gui/clips/SampleClipView.cpp +++ b/src/gui/clips/SampleClipView.cpp @@ -34,7 +34,7 @@ #include "PathUtil.h" #include "SampleClip.h" #include "SampleLoader.h" -#include "SampleWaveform.h" +#include "SampleThumbnail.h" #include "Song.h" #include "StringPairDrag.h" @@ -61,6 +61,9 @@ SampleClipView::SampleClipView( SampleClip * _clip, TrackView * _tv ) : void SampleClipView::updateSample() { update(); + + m_sampleThumbnail = SampleThumbnail{m_clip->m_sample}; + // set tooltip to filename so that user can see what sample this // sample-clip contains setToolTip( @@ -267,14 +270,22 @@ void SampleClipView::paintEvent( QPaintEvent * pe ) float nom = Engine::getSong()->getTimeSigModel().getNumerator(); float den = Engine::getSong()->getTimeSigModel().getDenominator(); float ticksPerBar = DefaultTicksPerBar * nom / den; - - float offset = m_clip->startTimeOffset() / ticksPerBar * pixelsPerBar(); - QRect r = QRect( offset, spacing, - qMax( static_cast( m_clip->sampleLength() * ppb / ticksPerBar ), 1 ), rect().bottom() - 2 * spacing ); + float offsetStart = m_clip->startTimeOffset() / ticksPerBar * pixelsPerBar(); + float sampleLength = m_clip->sampleLength() * ppb / ticksPerBar; const auto& sample = m_clip->m_sample; - const auto waveform = SampleWaveform::Parameters{sample.data(), sample.sampleSize(), sample.amplification(), sample.reversed()}; - SampleWaveform::visualize(waveform, p, r); + if (sample.sampleSize() > 0) + { + const auto param = SampleThumbnail::VisualizeParameters{ + .sampleRect = QRect(offsetStart, spacing, sampleLength, height() - spacing), + .drawRect = QRect(0, spacing, width(), height() - spacing), + .viewportRect = pe->rect(), + .amplification = sample.amplification(), + .reversed = sample.reversed() + }; + + m_sampleThumbnail.visualize(param, p); + } QString name = PathUtil::cleanName(m_clip->m_sample.sampleFile()); paintTextLabel(name, p); diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index 39016d54d..ad7d11bd0 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -39,7 +39,7 @@ #include #include "SampleClip.h" -#include "SampleWaveform.h" +#include "SampleThumbnail.h" #include "ActionGroup.h" #include "AutomationNode.h" @@ -1021,6 +1021,7 @@ void AutomationEditor::setGhostSample(SampleClip* newGhostSample) // Expects a pointer to a Sample buffer or nullptr. m_ghostSample = newGhostSample; m_renderSample = true; + m_sampleThumbnail = SampleThumbnail{newGhostSample->sample()}; } void AutomationEditor::paintEvent(QPaintEvent * pe ) @@ -1213,12 +1214,18 @@ void AutomationEditor::paintEvent(QPaintEvent * pe ) int yOffset = (editorHeight - sampleHeight) / 2.0f + TOP_MARGIN; p.setPen(m_ghostSampleColor); - + const auto& sample = m_ghostSample->sample(); - const auto waveform = SampleWaveform::Parameters{ - sample.data(), sample.sampleSize(), sample.amplification(), sample.reversed()}; - const auto rect = QRect(startPos, yOffset, sampleWidth, sampleHeight); - SampleWaveform::visualize(waveform, p, rect); + + const auto param = SampleThumbnail::VisualizeParameters{ + .sampleRect = QRect(startPos, yOffset, sampleWidth, sampleHeight), + .amplification = sample.amplification(), + .sampleStart = static_cast(sample.startFrame()) / sample.sampleSize(), + .sampleEnd = static_cast(sample.endFrame()) / sample.sampleSize(), + .reversed = sample.reversed() + }; + + m_sampleThumbnail.visualize(param, p); } // draw ghost notes From cb7c6d16cbfc3fed930257142c70282729e4e4d1 Mon Sep 17 00:00:00 2001 From: Dominic Clark Date: Sun, 9 Feb 2025 04:33:44 +0000 Subject: [PATCH 079/112] Reload stylesheet when CSS file changes (#6331) * Reload stylesheet when CSS file changes --------- Co-authored-by: Tres Finocchiaro --- include/LmmsStyle.h | 2 ++ src/gui/LmmsStyle.cpp | 28 +++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/include/LmmsStyle.h b/include/LmmsStyle.h index d17bbed98..4c1c60e3d 100644 --- a/include/LmmsStyle.h +++ b/include/LmmsStyle.h @@ -26,6 +26,7 @@ #ifndef LMMS_GUI_LMMS_STYLE_H #define LMMS_GUI_LMMS_STYLE_H +#include #include @@ -60,6 +61,7 @@ public: private: QImage colorizeXpm( const char * const * xpm, const QBrush& fill ) const; void hoverColors( bool sunken, bool hover, bool active, QColor& color, QColor& blend ) const; + QFileSystemWatcher m_styleReloader; }; diff --git a/src/gui/LmmsStyle.cpp b/src/gui/LmmsStyle.cpp index 50a2a9de4..26f4c853c 100644 --- a/src/gui/LmmsStyle.cpp +++ b/src/gui/LmmsStyle.cpp @@ -25,14 +25,17 @@ #include -#include #include +#include +#include #include #include #include #include +#include "embed.h" #include "LmmsStyle.h" +#include "TextFloat.h" namespace lmms::gui @@ -137,6 +140,29 @@ LmmsStyle::LmmsStyle() : file.open( QIODevice::ReadOnly ); qApp->setStyleSheet( file.readAll() ); + m_styleReloader.addPath(QFileInfo{file}.absoluteFilePath()); + connect(&m_styleReloader, &QFileSystemWatcher::fileChanged, this, + [this](const QString& path) + { + if (auto file = QFile{path}; file.exists()) + { + file.open(QIODevice::ReadOnly); + qApp->setStyleSheet(file.readAll()); + TextFloat::displayMessage( + tr("Theme updated"), + tr("LMMS theme file %1 has been reloaded.").arg(file.fileName()), + embed::getIconPixmap("colorize"), + 3000 + ); + // Handle delete + overwrite events + if (!m_styleReloader.files().contains(path)) + { + m_styleReloader.addPath(path); + } + } + } + ); + if( s_palette != nullptr ) { qApp->setPalette( *s_palette ); } setBaseStyle( QStyleFactory::create( "Fusion" ) ); From 4a089a19dc1ed243f4f033d1d0eb91fae683bbe3 Mon Sep 17 00:00:00 2001 From: Fawn Date: Sat, 8 Feb 2025 21:50:02 -0700 Subject: [PATCH 080/112] Update math functions to C++ standard library (#7685) * use c++ std::* math functions This updates usages of sin, cos, tan, pow, exp, log, log10, sqrt, fmod, fabs, and fabsf, excluding any usages that look like they might be part of a submodule or 3rd-party code. There's probably some std math functions not listed here that haven't been updated yet. * fix std::sqrt typo lmao one always sneaks by * Apply code review suggestions - std::pow(2, x) -> std::exp2(x) - std::pow(10, x) -> lmms::fastPow10f(x) - std::pow(x, 2) -> x * x, std::pow(x, 3) -> x * x * x, etc. - Resolve TODOs, fix typos, and so forth Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> * Fix double -> float truncation, DrumSynth fix I mistakenly introduced a bug in my recent PR regarding template constants, in which a -1 that was supposed to appear outside of an abs() instead was moved inside it, screwing up the generated waveform. I fixed that and also simplified the function by factoring out the phase domain wrapping using the new `ediv()` function from this PR. It should behave how it's supposed to now... assuming all my parentheses are in the right place lol * Annotate magic numbers with TODOs for C++20 * On second thought, why wait? What else is lmms::numbers for? * begone inline Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> * begone other inline Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> * Re-inline function in lmms_math.h For functions, constexpr implies inline so this just re-adds inline to the one that isn't constexpr yet * Formatting fixes, readability improvements Co-authored-by: Dalton Messmer * Fix previously missed pow() calls, cleanup Co-authored-by: Dalton Messmer * Just delete ediv() entirely lmao No ediv(), no std::fmod(), no std::remainder(), just std::floor(). It should all work for negative phase inputs as well. If I end up needing ediv() in the future, I can add it then. * Simplify DrumSynth triangle waveform This reuses more work and is also a lot more easy to visualize. It's probably a meaningless micro-optimization, but it might be worth changing it back to a switch-case and just calculating ph_tau and saw01 at the beginning of the function in all code paths, even if it goes unused for the first two cases. Guess I'll see if anybody has strong opinions about it. * Move multiplication inside abs() * Clean up a few more pow(x, 2) -> x * x * Remove numbers::inv_pi, numbers::inv_tau * delete spooky leading 0 Co-authored-by: Dalton Messmer --------- Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Co-authored-by: Dalton Messmer --- include/BasicFilters.h | 4 +- include/DspEffectLibrary.h | 8 +- include/QuadratureLfo.h | 7 +- include/RmsHelper.h | 2 +- include/lmms_constants.h | 1 + include/lmms_math.h | 2 +- plugins/BitInvader/BitInvader.cpp | 6 +- plugins/Compressor/Compressor.cpp | 28 ++----- plugins/Compressor/Compressor.h | 2 - plugins/Delay/Lfo.cpp | 2 +- plugins/Eq/EqCurve.cpp | 51 ++++++------ plugins/Eq/EqFilter.h | 34 ++++---- plugins/Eq/EqSpectrumView.cpp | 4 +- plugins/GigPlayer/GigPlayer.cpp | 6 +- plugins/LOMM/LOMM.cpp | 4 +- plugins/LOMM/LOMM.h | 2 +- plugins/Lb302/Lb302.cpp | 20 ++--- plugins/Monstro/Monstro.cpp | 20 ++--- plugins/Nes/Nes.cpp | 6 +- plugins/OpulenZ/OpulenZ.cpp | 4 +- plugins/Organic/Organic.cpp | 14 ++-- plugins/ReverbSC/ReverbSC.cpp | 11 ++- plugins/Sf2Player/Sf2Player.cpp | 2 +- plugins/Sfxr/Sfxr.cpp | 71 ++++++++-------- plugins/Sid/SidInstrument.cpp | 4 +- plugins/SpectrumAnalyzer/SaProcessor.cpp | 27 +++--- plugins/SpectrumAnalyzer/SaSpectrumView.cpp | 17 ++-- plugins/TripleOscillator/TripleOscillator.cpp | 10 +-- plugins/Watsyn/Watsyn.cpp | 28 +++---- plugins/Xpressive/ExprSynth.cpp | 4 +- src/core/AutomationClip.cpp | 3 +- src/core/DrumSynth.cpp | 83 +++++++------------ src/core/LadspaManager.cpp | 11 ++- src/core/Microtuner.cpp | 6 +- src/core/MixHelpers.cpp | 2 +- src/core/NotePlayHandle.cpp | 8 +- src/core/Oscillator.cpp | 4 +- src/core/Scale.cpp | 4 +- src/core/audio/AudioSoundIo.cpp | 2 +- src/core/lv2/Lv2Proc.cpp | 2 +- src/gui/GuiApplication.cpp | 2 +- src/gui/clips/ClipView.cpp | 4 +- src/gui/editors/AutomationEditor.cpp | 2 +- src/gui/editors/PianoRoll.cpp | 4 +- src/gui/instrument/PianoView.cpp | 4 +- src/gui/widgets/Graph.cpp | 2 +- src/gui/widgets/Knob.cpp | 4 +- src/gui/widgets/LcdFloatSpinBox.cpp | 3 +- 48 files changed, 256 insertions(+), 295 deletions(-) diff --git a/include/BasicFilters.h b/include/BasicFilters.h index 1ca68d82f..c4664009c 100644 --- a/include/BasicFilters.h +++ b/include/BasicFilters.h @@ -806,8 +806,8 @@ public: // other filters _freq = std::clamp(_freq, minFreq(), 20000.0f); const float omega = numbers::tau_v * _freq * m_sampleRatio; - const float tsin = sinf( omega ) * 0.5f; - const float tcos = cosf( omega ); + const float tsin = std::sin(omega) * 0.5f; + const float tcos = std::cos(omega); const float alpha = tsin / _q; diff --git a/include/DspEffectLibrary.h b/include/DspEffectLibrary.h index ddd7dc14d..55afb69f7 100644 --- a/include/DspEffectLibrary.h +++ b/include/DspEffectLibrary.h @@ -289,7 +289,7 @@ namespace lmms::DspEffectLibrary { if( in >= m_threshold || in < -m_threshold ) { - return ( fabsf( fabsf( fmodf( in - m_threshold, m_threshold*4 ) ) - m_threshold*2 ) - m_threshold ) * m_gain; + return (std::abs(std::abs(std::fmod(in - m_threshold, m_threshold * 4)) - m_threshold * 2) - m_threshold) * m_gain; } return in * m_gain; } @@ -303,7 +303,7 @@ namespace lmms::DspEffectLibrary sample_t nextSample( sample_t in ) { - return m_gain * ( in * ( fabsf( in )+m_threshold ) / ( in*in +( m_threshold-1 )* fabsf( in ) + 1 ) ); + return m_gain * (in * (std::abs(in) + m_threshold) / (in * in + (m_threshold - 1) * std::abs(in) + 1)); } } ; @@ -330,8 +330,8 @@ namespace lmms::DspEffectLibrary { const float toRad = numbers::pi_v / 180; const sample_t tmp = inLeft; - inLeft += inRight * sinf( m_wideCoeff * ( .5 * toRad ) ); - inRight -= tmp * sinf( m_wideCoeff * ( .5 * toRad ) ); + inLeft += inRight * std::sin(m_wideCoeff * toRad * .5f); + inRight -= tmp * std::sin(m_wideCoeff * toRad * .5f); } private: diff --git a/include/QuadratureLfo.h b/include/QuadratureLfo.h index 7d4190cf0..72734a8b0 100644 --- a/include/QuadratureLfo.h +++ b/include/QuadratureLfo.h @@ -77,11 +77,10 @@ public: void tick( float *l, float *r ) { - *l = sinf( m_phase ); - *r = sinf( m_phase + m_offset ); + *l = std::sin(m_phase); + *r = std::sin(m_phase + m_offset); m_phase += m_increment; - - while (m_phase >= numbers::tau) { m_phase -= numbers::tau; } + while (m_phase >= numbers::tau) { m_phase -= numbers::tau; } } private: diff --git a/include/RmsHelper.h b/include/RmsHelper.h index a50d5ff6d..ae0fb71b3 100644 --- a/include/RmsHelper.h +++ b/include/RmsHelper.h @@ -84,7 +84,7 @@ public: m_sum -= m_buffer[ m_pos ]; m_sum += m_buffer[ m_pos ] = in * in; ++m_pos %= m_size; - return sqrtf( m_sum * m_sizef ); + return std::sqrt(m_sum * m_sizef); } private: diff --git a/include/lmms_constants.h b/include/lmms_constants.h index 266604fa8..6ac0fac77 100644 --- a/include/lmms_constants.h +++ b/include/lmms_constants.h @@ -65,6 +65,7 @@ inline constexpr double inv_e = e_v; //TODO C++20: Use std::floating_point instead of typename //TODO C++20: Use std::numbers::sqrt2_v instead of literal value +//TODO C++26: Remove since std::sqrt(2.0) is constexpr template inline constexpr T sqrt2_v = T(1.41421356237309504880168872420969807856967187537695); inline constexpr double sqrt2 = sqrt2_v; diff --git a/include/lmms_math.h b/include/lmms_math.h index 9d1088a01..be58e6805 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -119,7 +119,7 @@ inline float sign(float val) } -//! if val >= 0.0f, returns sqrtf(val), else: -sqrtf(-val) +//! if val >= 0.0f, returns sqrt(val), else: -sqrt(-val) inline float sqrt_neg(float val) { return std::sqrt(std::abs(val)) * sign(val); diff --git a/plugins/BitInvader/BitInvader.cpp b/plugins/BitInvader/BitInvader.cpp index 8d9bef4d3..2f31449c7 100644 --- a/plugins/BitInvader/BitInvader.cpp +++ b/plugins/BitInvader/BitInvader.cpp @@ -86,7 +86,7 @@ BSynth::BSynth( float * _shape, NotePlayHandle * _nph, bool _interpolation, i.e., the absolute value of all samples is <= 1.0 if _factor is different to the default normalization factor. If there is a value > 1.0, clip the sample to 1.0 to limit the range. */ - if ((_factor != defaultNormalizationFactor) && (fabsf(buf) > 1.0f)) + if ((_factor != defaultNormalizationFactor) && (std::abs(buf) > 1.0f)) { buf = (buf < 0) ? -1.0f : 1.0f; } @@ -238,7 +238,7 @@ void BitInvader::normalize() const float* samples = m_graph.samples(); for(int i=0; i < m_graph.length(); i++) { - const float f = fabsf( samples[i] ); + const float f = std::abs(samples[i]); if (f > max) { max = f; } } m_normalizeFactor = 1.0 / max; @@ -554,4 +554,4 @@ PLUGIN_EXPORT Plugin * lmms_plugin_main( Model *m, void * ) } -} // namespace lmms \ No newline at end of file +} // namespace lmms diff --git a/plugins/Compressor/Compressor.cpp b/plugins/Compressor/Compressor.cpp index 78d695750..06d4f1d0d 100755 --- a/plugins/Compressor/Compressor.cpp +++ b/plugins/Compressor/Compressor.cpp @@ -61,7 +61,7 @@ CompressorEffect::CompressorEffect(Model* parent, const Descriptor::SubPluginFea m_yL[0] = m_yL[1] = COMP_NOISE_FLOOR; // 200 ms - m_crestTimeConst = exp(-1.f / (0.2f * m_sampleRate)); + m_crestTimeConst = std::exp(-1.f / (0.2f * m_sampleRate)); connect(&m_compressorControls.m_attackModel, SIGNAL(dataChanged()), this, SLOT(calcAttack()), Qt::DirectConnection); connect(&m_compressorControls.m_releaseModel, SIGNAL(dataChanged()), this, SLOT(calcRelease()), Qt::DirectConnection); @@ -97,7 +97,7 @@ CompressorEffect::CompressorEffect(Model* parent, const Descriptor::SubPluginFea float CompressorEffect::msToCoeff(float ms) { // Convert time in milliseconds to applicable lowpass coefficient - return exp(m_coeffPrecalc / ms); + return std::exp(m_coeffPrecalc / ms); } @@ -175,7 +175,7 @@ void CompressorEffect::calcRange() void CompressorEffect::resizeRMS() { const float rmsValue = m_compressorControls.m_rmsModel.value(); - m_rmsTimeConst = (rmsValue > 0) ? exp(-1.f / (rmsValue * 0.001f * m_sampleRate)) : 0; + m_rmsTimeConst = (rmsValue > 0) ? std::exp(-1.f / (rmsValue * 0.001f * m_sampleRate)) : 0; } void CompressorEffect::calcLookaheadLength() @@ -211,14 +211,14 @@ void CompressorEffect::calcTiltCoeffs() { m_tiltVal = m_compressorControls.m_tiltModel.value(); - const float amp = 6 / log(2); + const float amp = 6.f / std::log(2.f); const float gfactor = 5; const float g1 = m_tiltVal > 0 ? -gfactor * m_tiltVal : -m_tiltVal; const float g2 = m_tiltVal > 0 ? m_tiltVal : gfactor * m_tiltVal; - m_lgain = exp(g1 / amp) - 1; - m_hgain = exp(g2 / amp) - 1; + m_lgain = std::exp(g1 / amp) - 1; + m_hgain = std::exp(g2 / amp) - 1; const float omega = numbers::tau_v * m_compressorControls.m_tiltFreqModel.value(); const float n = 1 / (m_sampleRate * 3 + omega); @@ -528,20 +528,6 @@ void CompressorEffect::processBypassedImpl() } } -// Regular modulo doesn't handle negative numbers correctly. This does. -inline int CompressorEffect::realmod(int k, int n) -{ - return (k %= n) < 0 ? k+n : k; -} - -// Regular fmod doesn't handle negative numbers correctly. This does. -inline float CompressorEffect::realfmod(float k, float n) -{ - return (k = fmod(k, n)) < 0 ? k+n : k; -} - - - inline void CompressorEffect::calcTiltFilter(sample_t inputSample, sample_t &outputSample, int filtNum) { m_tiltOut[filtNum] = m_a0 * inputSample + m_b1 * m_tiltOut[filtNum]; @@ -557,7 +543,7 @@ void CompressorEffect::changeSampleRate() m_coeffPrecalc = COMP_LOG / (m_sampleRate * 0.001f); // 200 ms - m_crestTimeConst = exp(-1.f / (0.2f * m_sampleRate)); + m_crestTimeConst = std::exp(-1.f / (0.2f * m_sampleRate)); m_lookBufLength = std::ceil((20.f / 1000.f) * m_sampleRate) + 2; for (int i = 0; i < 2; ++i) diff --git a/plugins/Compressor/Compressor.h b/plugins/Compressor/Compressor.h index d4c9625c9..f5649411a 100755 --- a/plugins/Compressor/Compressor.h +++ b/plugins/Compressor/Compressor.h @@ -78,8 +78,6 @@ private: float msToCoeff(float ms); inline void calcTiltFilter(sample_t inputSample, sample_t &outputSample, int filtNum); - inline int realmod(int k, int n); - inline float realfmod(float k, float n); enum class StereoLinkMode { Unlinked, Maximum, Average, Minimum, Blend }; diff --git a/plugins/Delay/Lfo.cpp b/plugins/Delay/Lfo.cpp index a6d490d40..e4e002b79 100644 --- a/plugins/Delay/Lfo.cpp +++ b/plugins/Delay/Lfo.cpp @@ -41,7 +41,7 @@ Lfo::Lfo( int samplerate ) float Lfo::tick() { - float output = sinf( m_phase ); + float output = std::sin(m_phase); m_phase += m_increment; return output; diff --git a/plugins/Eq/EqCurve.cpp b/plugins/Eq/EqCurve.cpp index e0d2e43d3..a0654054b 100644 --- a/plugins/Eq/EqCurve.cpp +++ b/plugins/Eq/EqCurve.cpp @@ -68,10 +68,10 @@ QRectF EqHandle::boundingRect() const float EqHandle::freqToXPixel( float freq , int w ) { if (approximatelyEqual(freq, 0.0f)) { return 0.0f; } - float min = log10f( 20 ); - float max = log10f( 20000 ); + float min = std::log10(20); + float max = std::log10(20000); float range = max - min; - return ( log10f( freq ) - min ) / range * w; + return (std::log10(freq) - min) / range * w; } @@ -79,10 +79,10 @@ float EqHandle::freqToXPixel( float freq , int w ) float EqHandle::xPixelToFreq( float x , int w ) { - float min = log10f( 20 ); - float max = log10f( 20000 ); + float min = std::log10(20); + float max = std::log10(20000); float range = max - min; - return powf( 10 , x * ( range / w ) + min ); + return fastPow10f(x * (range / w) + min); } @@ -202,11 +202,11 @@ float EqHandle::getPeakCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); - double c = cosf( w0 ); - double s = sinf( w0 ); + double c = std::cos(w0); + double s = std::sin(w0); double Q = getResonance(); - double A = pow( 10, yPixelToGain( EqHandle::y(), m_heigth, m_pixelsPerUnitHeight ) / 40 ); - double alpha = s * sinh( log( 2 ) / 2 * Q * w0 / sinf( w0 ) ); + double A = fastPow10f(yPixelToGain(EqHandle::y(), m_heigth, m_pixelsPerUnitHeight) / 40); + double alpha = s * std::sinh(std::log(2.0) / 2 * Q * w0 / std::sin(w0)); //calc coefficents double b0 = 1 + alpha * A; @@ -238,10 +238,10 @@ float EqHandle::getHighShelfCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); - double c = cosf( w0 ); - double s = sinf( w0 ); - double A = pow( 10, yPixelToGain( EqHandle::y(), m_heigth, m_pixelsPerUnitHeight ) * 0.025 ); - double beta = sqrt( A ) / m_resonance; + double c = std::cos(w0); + double s = std::sin(w0); + double A = fastPow10f(yPixelToGain(EqHandle::y(), m_heigth, m_pixelsPerUnitHeight) * 0.025); + double beta = std::sqrt(A) / m_resonance; //calc coefficents double b0 = A * ((A + 1) + (A - 1) * c + beta * s); @@ -273,10 +273,10 @@ float EqHandle::getLowShelfCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); - double c = cosf( w0 ); - double s = sinf( w0 ); - double A = pow( 10, yPixelToGain( EqHandle::y(), m_heigth, m_pixelsPerUnitHeight ) / 40 ); - double beta = sqrt( A ) / m_resonance; + double c = std::cos(w0); + double s = std::sin(w0); + double A = fastPow10f(yPixelToGain(EqHandle::y(), m_heigth, m_pixelsPerUnitHeight) / 40); + double beta = std::sqrt(A) / m_resonance; //calc coefficents double b0 = A * ((A + 1) - (A - 1) * c + beta * s); @@ -308,8 +308,8 @@ float EqHandle::getLowCutCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); - double c = cosf( w0 ); - double s = sinf( w0 ); + double c = std::cos(w0); + double s = std::sin(w0); double resonance = getResonance(); double alpha = s / (2 * resonance); @@ -350,8 +350,8 @@ float EqHandle::getHighCutCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); - double c = cosf( w0 ); - double s = sinf( w0 ); + double c = std::cos(w0); + double s = std::sin(w0); double resonance = getResonance(); double alpha = s / (2 * resonance); @@ -525,9 +525,10 @@ double EqHandle::calculateGain(const double freq, const double a1, const double const double w = std::sin(numbers::pi * freq / Engine::audioEngine()->outputSampleRate()); const double PHI = w * w * 4; - double gain = 10 * log10( pow( b0 + b1 + b2 , 2 ) + ( b0 * b2 * PHI - ( b1 * ( b0 + b2 ) - + 4 * b0 * b2 ) ) * PHI ) - 10 * log10( pow( 1 + a1 + a2, 2 ) - + ( 1 * a2 * PHI - ( a1 * ( 1 + a2 ) + 4 * 1 * a2 ) ) * PHI ); + auto bb = b0 + b1 + b2; + auto aa = 1 + a1 + a2; + double gain = 10 * std::log10(bb * bb + (b0 * b2 * PHI - (b1 * (b0 + b2) + 4 * b0 * b2)) * PHI) + - 10 * std::log10(aa * aa + (1 * a2 * PHI - (a1 * (1 + a2) + 4 * 1 * a2)) * PHI); return gain; } diff --git a/plugins/Eq/EqFilter.h b/plugins/Eq/EqFilter.h index 03a1f385d..c5685dd88 100644 --- a/plugins/Eq/EqFilter.h +++ b/plugins/Eq/EqFilter.h @@ -186,8 +186,8 @@ public : // calc intermediate float w0 = numbers::tau_v * m_freq / m_sampleRate; - float c = cosf( w0 ); - float s = sinf( w0 ); + float c = std::cos(w0); + float s = std::sin(w0); float alpha = s / ( 2 * m_res ); //calc coefficents @@ -229,8 +229,8 @@ public : // calc intermediate float w0 = numbers::tau_v * m_freq / m_sampleRate; - float c = cosf( w0 ); - float s = sinf( w0 ); + float c = std::cos(w0); + float s = std::sin(w0); float alpha = s / ( 2 * m_res ); //calc coefficents @@ -270,10 +270,10 @@ public: { // calc intermediate float w0 = numbers::tau_v * m_freq / m_sampleRate; - float c = cosf( w0 ); - float s = sinf( w0 ); - float A = pow( 10, m_gain * 0.025); - float alpha = s * sinh( log( 2 ) / 2 * m_bw * w0 / sinf(w0) ); + float c = std::cos(w0); + float s = std::sin(w0); + float A = fastPow10f(m_gain * 0.025); + float alpha = s * std::sinh(std::log(2.f) / 2 * m_bw * w0 / std::sin(w0)); //calc coefficents float b0 = 1 + alpha * A; @@ -333,11 +333,11 @@ public : // calc intermediate float w0 = numbers::tau_v * m_freq / m_sampleRate; - float c = cosf( w0 ); - float s = sinf( w0 ); - float A = pow( 10, m_gain * 0.025); - // float alpha = s / ( 2 * m_res ); - float beta = sqrt( A ) / m_res; + float c = std::cos(w0); + float s = std::sin(w0); + float A = fastPow10f(m_gain * 0.025); + // float alpha = s / (2 * m_res); + float beta = std::sqrt(A) / m_res; //calc coefficents float b0 = A * ((A + 1) - (A - 1) * c + beta * s); @@ -370,10 +370,10 @@ public : // calc intermediate float w0 = numbers::tau_v * m_freq / m_sampleRate; - float c = cosf( w0 ); - float s = sinf( w0 ); - float A = pow( 10, m_gain * 0.025 ); - float beta = sqrt( A ) / m_res; + float c = std::cos(w0); + float s = std::sin(w0); + float A = fastPow10f(m_gain * 0.025); + float beta = std::sqrt(A) / m_res; //calc coefficents float b0 = A * ((A + 1) + (A - 1) * c + beta * s); diff --git a/plugins/Eq/EqSpectrumView.cpp b/plugins/Eq/EqSpectrumView.cpp index 261dbeacd..7dc398bfb 100644 --- a/plugins/Eq/EqSpectrumView.cpp +++ b/plugins/Eq/EqSpectrumView.cpp @@ -193,7 +193,7 @@ EqSpectrumView::EqSpectrumView(EqAnalyser *b, QWidget *_parent) : connect( getGUI()->mainWindow(), SIGNAL( periodicUpdate() ), this, SLOT( periodicalUpdate() ) ); setAttribute( Qt::WA_TranslucentBackground, true ); m_skipBands = MAX_BANDS * 0.5; - float totalLength = log10( 20000 ); + const float totalLength = std::log10(20000); m_pixelsPerUnitWidth = width() / totalLength ; m_scale = 1.5; m_color = QColor( 255, 255, 255, 255 ); @@ -233,7 +233,7 @@ void EqSpectrumView::paintEvent(QPaintEvent *event) const float fallOff = 1.07f; for( int x = 0; x < MAX_BANDS; ++x, ++bands ) { - float peak = *bands != 0. ? (fh * 2.0 / 3.0 * (20. * log10(*bands / energy) - LOWER_Y) / (-LOWER_Y)) : 0.; + float peak = *bands != 0. ? (fh * 2.0 / 3.0 * (20. * std::log10(*bands / energy) - LOWER_Y) / (-LOWER_Y)) : 0.; if( peak < 0 ) { diff --git a/plugins/GigPlayer/GigPlayer.cpp b/plugins/GigPlayer/GigPlayer.cpp index b72e30b33..c2d27f1e6 100644 --- a/plugins/GigPlayer/GigPlayer.cpp +++ b/plugins/GigPlayer/GigPlayer.cpp @@ -1101,9 +1101,7 @@ GigSample::GigSample( gig::Sample * pSample, gig::DimensionRegion * pDimRegion, if( region->PitchTrack == true ) { // Calculate what frequency the provided sample is - sampleFreq = 440.0 * powf( 2, 1.0 / 12 * ( - 1.0 * region->UnityNote - 69 - - 0.01 * region->FineTune ) ); + sampleFreq = 440.0f * std::exp2((region->UnityNote - 69 - region->FineTune * 0.01) / 12.0f); freqFactor = sampleFreq / desiredFreq; } @@ -1342,7 +1340,7 @@ float ADSR::value() { // Maybe not the best way of doing this, but it appears to be about right // Satisfies f(0) = sustain and f(releaseLength) = very small - amplitude = ( sustain + 1e-3 ) * expf( -5.0 / releaseLength * releasePosition ) - 1e-3; + amplitude = (sustain + 1e-3) * std::exp(-5.0f / releaseLength * releasePosition) - 1e-3; // Don't have an infinite exponential decay if( amplitude <= 0 || releasePosition >= releaseLength ) diff --git a/plugins/LOMM/LOMM.cpp b/plugins/LOMM/LOMM.cpp index 14f254eab..32c77e3db 100644 --- a/plugins/LOMM/LOMM.cpp +++ b/plugins/LOMM/LOMM.cpp @@ -82,7 +82,7 @@ void LOMMEffect::changeSampleRate() m_coeffPrecalc = -2.2f / (m_sampleRate * 0.001f); m_needsUpdate = true; - m_crestTimeConst = exp(-1.f / (0.2f * m_sampleRate)); + m_crestTimeConst = std::exp(-1.f / (0.2f * m_sampleRate)); m_lookBufLength = std::ceil((LOMM_MAX_LOOKAHEAD / 1000.f) * m_sampleRate) + 2; for (int i = 0; i < 2; ++i) @@ -171,7 +171,7 @@ Effect::ProcessStatus LOMMEffect::processImpl(SampleFrame* buf, const fpp_t fram float rel[3] = {relH, relM, relL}; float relCoef[3] = {relCoefH, relCoefM, relCoefL}; const float rmsTime = m_lommControls.m_rmsTimeModel.value(); - const float rmsTimeConst = (rmsTime == 0) ? 0 : exp(-1.f / (rmsTime * 0.001f * m_sampleRate)); + const float rmsTimeConst = (rmsTime == 0) ? 0 : std::exp(-1.f / (rmsTime * 0.001f * m_sampleRate)); const float knee = m_lommControls.m_kneeModel.value() * 0.5f; const float range = m_lommControls.m_rangeModel.value(); const float rangeAmp = dbfsToAmp(range); diff --git a/plugins/LOMM/LOMM.h b/plugins/LOMM/LOMM.h index 0dd209e07..36aa12dea 100644 --- a/plugins/LOMM/LOMM.h +++ b/plugins/LOMM/LOMM.h @@ -55,7 +55,7 @@ public: inline float msToCoeff(float ms) { - return (ms == 0) ? 0 : exp(m_coeffPrecalc / ms); + return (ms == 0) ? 0 : std::exp(m_coeffPrecalc / ms); } private slots: diff --git a/plugins/Lb302/Lb302.cpp b/plugins/Lb302/Lb302.cpp index 9cb82bd7c..5a085df4d 100644 --- a/plugins/Lb302/Lb302.cpp +++ b/plugins/Lb302/Lb302.cpp @@ -109,20 +109,20 @@ Lb302Filter::Lb302Filter(Lb302FilterKnobState* p_fs) : void Lb302Filter::recalc() { - vcf_e1 = exp(6.109 + 1.5876*(fs->envmod) + 2.1553*(fs->cutoff) - 1.2*(1.0-(fs->reso))); - vcf_e0 = exp(5.613 - 0.8*(fs->envmod) + 2.1553*(fs->cutoff) - 0.7696*(1.0-(fs->reso))); + vcf_e1 = std::exp(6.109f + 1.5876f * fs->envmod + 2.1553f * fs->cutoff - 1.2f * (1.0f - fs->reso)); + vcf_e0 = std::exp(5.613f - 0.8f * fs->envmod + 2.1553f * fs->cutoff - 0.7696f * (1.0f - fs->reso)); vcf_e0*=M_PI/Engine::audioEngine()->outputSampleRate(); vcf_e1*=M_PI/Engine::audioEngine()->outputSampleRate(); vcf_e1 -= vcf_e0; - vcf_rescoeff = exp(-1.20 + 3.455*(fs->reso)); + vcf_rescoeff = std::exp(-1.20f + 3.455f * fs->reso); }; void Lb302Filter::envRecalc() { vcf_c0 *= fs->envdecay; // Filter Decay. vcf_decay is adjusted for Hz and ENVINC - // vcf_rescoeff = exp(-1.20 + 3.455*(fs->reso)); moved above + // vcf_rescoeff = std::exp(-1.20f + 3.455f * fs->reso); moved above }; @@ -169,9 +169,9 @@ void Lb302FilterIIR2::envRecalc() Lb302Filter::envRecalc(); float w = vcf_e0 + vcf_c0; // e0 is adjusted for Hz and doesn't need ENVINC - float k = exp(-w/vcf_rescoeff); // Does this mean c0 is inheritantly? + float k = std::exp(-w / vcf_rescoeff); // Does this mean c0 is inheritantly? - vcf_a = 2.0*cos(2.0*w) * k; + vcf_a = 2.0 * std::cos(2.0 * w) * k; vcf_b = -k*k; vcf_c = 1.0 - vcf_a - vcf_b; } @@ -241,7 +241,7 @@ void Lb302Filter3Pole::envRecalc() kp1 = kp+1.0; kp1h = 0.5*kp1; #ifdef LB_24_RES_TRICK - k = exp(-w/vcf_rescoeff); + k = std::exp(-w / vcf_rescoeff); kres = (((k))) * (((-2.7079*kp1 + 10.963)*kp1 - 14.934)*kp1 + 8.4974); #else kres = (((fs->reso))) * (((-2.7079*kp1 + 10.963)*kp1 - 14.934)*kp1 + 8.4974); @@ -415,7 +415,7 @@ void Lb302Synth::filterChanged() float d = 0.2 + (2.3*vcf_dec_knob.value()); d *= Engine::audioEngine()->outputSampleRate(); // d *= smpl rate - fs.envdecay = pow(0.1, 1.0/d * ENVINC); // decay is 0.1 to the 1/d * ENVINC + fs.envdecay = std::pow(0.1f, 1.0f / d * ENVINC); // decay is 0.1 to the 1/d * ENVINC // vcf_envdecay is now adjusted for both // sampling rate and ENVINC recalcFilter(); @@ -563,7 +563,7 @@ int Lb302Synth::process(SampleFrame* outbuf, const std::size_t size) break; case VcoShape::RoundSquare: // p0: width of round - vco_k = (vco_c<0)?(sqrtf(1-(vco_c*vco_c*4))-0.5):-0.5; + vco_k = (vco_c < 0.f) ? (std::sqrt(1.f - (vco_c * vco_c * 4.f)) - 0.5f) : -0.5f; break; case VcoShape::Moog: // Maybe the fall should be exponential/sinsoidal instead of quadric. @@ -574,7 +574,7 @@ int Lb302Synth::process(SampleFrame* outbuf, const std::size_t size) } else if (vco_k>0.5) { float w = 2.0 * (vco_k - 0.5) - 1.0; - vco_k = 0.5 - sqrtf(1.0-(w*w)); + vco_k = 0.5 - std::sqrt(1.0 - (w * w)); } vco_k *= 2.0; // MOOG wave gets filtered away break; diff --git a/plugins/Monstro/Monstro.cpp b/plugins/Monstro/Monstro.cpp index c7d22edfe..367ef7f71 100644 --- a/plugins/Monstro/Monstro.cpp +++ b/plugins/Monstro/Monstro.cpp @@ -120,7 +120,7 @@ void MonstroSynth::renderOutput( fpp_t _frames, SampleFrame* _buf ) if( mod##_e2 != 0.0f ) modtmp += m_env[1][f] * mod##_e2; \ if( mod##_l1 != 0.0f ) modtmp += m_lfo[0][f] * mod##_l1; \ if( mod##_l2 != 0.0f ) modtmp += m_lfo[1][f] * mod##_l2; \ - car = qBound( MIN_FREQ, car * powf( 2.0f, modtmp ), MAX_FREQ ); + (car) = qBound( MIN_FREQ, (car) * std::exp2(modtmp), MAX_FREQ); #define modulateabs( car, mod ) \ if( mod##_e1 != 0.0f ) car += m_env[0][f] * mod##_e1; \ @@ -1361,25 +1361,25 @@ void MonstroInstrument::updateVolume3() void MonstroInstrument::updateFreq1() { - m_osc1l_freq = powf( 2.0f, m_osc1Crs.value() / 12.0f ) * - powf( 2.0f, m_osc1Ftl.value() / 1200.0f ); - m_osc1r_freq = powf( 2.0f, m_osc1Crs.value() / 12.0f ) * - powf( 2.0f, m_osc1Ftr.value() / 1200.0f ); + m_osc1l_freq = std::exp2(m_osc1Crs.value() / 12.0f) + * std::exp2(m_osc1Ftl.value() / 1200.0f); + m_osc1r_freq = std::exp2(m_osc1Crs.value() / 12.0f) + * std::exp2(m_osc1Ftr.value() / 1200.0f); } void MonstroInstrument::updateFreq2() { - m_osc2l_freq = powf( 2.0f, m_osc2Crs.value() / 12.0f ) * - powf( 2.0f, m_osc2Ftl.value() / 1200.0f ); - m_osc2r_freq = powf( 2.0f, m_osc2Crs.value() / 12.0f ) * - powf( 2.0f, m_osc2Ftr.value() / 1200.0f ); + m_osc2l_freq = std::exp2(m_osc2Crs.value() / 12.0f) + * std::exp2(m_osc2Ftl.value() / 1200.0f); + m_osc2r_freq = std::exp2(m_osc2Crs.value() / 12.0f) + * std::exp2(m_osc2Ftr.value() / 1200.0f); } void MonstroInstrument::updateFreq3() { - m_osc3_freq = powf( 2.0f, m_osc3Crs.value() / 12.0f ); + m_osc3_freq = std::exp2(m_osc3Crs.value() / 12.0f); } diff --git a/plugins/Nes/Nes.cpp b/plugins/Nes/Nes.cpp index 6aea0ebdf..d91130ef1 100644 --- a/plugins/Nes/Nes.cpp +++ b/plugins/Nes/Nes.cpp @@ -700,19 +700,19 @@ gui::PluginView* NesInstrument::instantiateView( QWidget * parent ) void NesInstrument::updateFreq1() { - m_freq1 = powf( 2, m_ch1Crs.value() / 12.0f ); + m_freq1 = std::exp2(m_ch1Crs.value() / 12.0f); } void NesInstrument::updateFreq2() { - m_freq2 = powf( 2, m_ch2Crs.value() / 12.0f ); + m_freq2 = std::exp2(m_ch2Crs.value() / 12.0f); } void NesInstrument::updateFreq3() { - m_freq3 = powf( 2, m_ch3Crs.value() / 12.0f ); + m_freq3 = std::exp2(m_ch3Crs.value() / 12.0f); } diff --git a/plugins/OpulenZ/OpulenZ.cpp b/plugins/OpulenZ/OpulenZ.cpp index 5fd4bf58a..48dfb6c8c 100644 --- a/plugins/OpulenZ/OpulenZ.cpp +++ b/plugins/OpulenZ/OpulenZ.cpp @@ -497,7 +497,7 @@ void OpulenzInstrument::loadPatch(const unsigned char inst[14]) { void OpulenzInstrument::tuneEqual(int center, float Hz) { for(int n=0; n<128; ++n) { - float tmp = Hz * pow(2.0, (n - center) * (1.0 / 12.0) + pitchbend * (1.0 / 1200.0)); + float tmp = Hz * std::exp2((n - center) / 12.0f + pitchbend / 1200.0f); fnums[n] = Hz2fnum( tmp ); } } @@ -505,7 +505,7 @@ void OpulenzInstrument::tuneEqual(int center, float Hz) { // Find suitable F number in lowest possible block int OpulenzInstrument::Hz2fnum(float Hz) { for(int block=0; block<8; ++block) { - unsigned int fnum = Hz * pow( 2.0, 20.0 - (double)block ) * ( 1.0 / 49716.0 ); + auto fnum = static_cast(Hz * std::exp2(20.0f - static_cast(block)) / 49716.0f); if(fnum<1023) { return fnum + (block << 10); } diff --git a/plugins/Organic/Organic.cpp b/plugins/Organic/Organic.cpp index c167bcec2..558a7d542 100644 --- a/plugins/Organic/Organic.cpp +++ b/plugins/Organic/Organic.cpp @@ -342,8 +342,7 @@ void OrganicInstrument::deleteNotePluginData( NotePlayHandle * _n ) float inline OrganicInstrument::waveshape(float in, float amount) { float k = 2.0f * amount / ( 1.0f - amount ); - - return( ( 1.0f + k ) * in / ( 1.0f + k * fabs( in ) ) ); + return (1.0f + k) * in / (1.0f + k * std::abs(in)); } @@ -603,12 +602,11 @@ void OscillatorObject::updateVolume() void OscillatorObject::updateDetuning() { - m_detuningLeft = powf( 2.0f, OrganicInstrument::s_harmonics[ static_cast( m_harmModel.value() ) ] - + (float)m_detuneModel.value() * CENT ) / - Engine::audioEngine()->outputSampleRate(); - m_detuningRight = powf( 2.0f, OrganicInstrument::s_harmonics[ static_cast( m_harmModel.value() ) ] - - (float)m_detuneModel.value() * CENT ) / - Engine::audioEngine()->outputSampleRate(); + const auto harmonic = OrganicInstrument::s_harmonics[static_cast(m_harmModel.value())]; + const auto sr = Engine::audioEngine()->outputSampleRate(); + + m_detuningLeft = std::exp2(harmonic + m_detuneModel.value() * CENT) / sr; + m_detuningRight = std::exp2(harmonic - m_detuneModel.value() * CENT) / sr; } diff --git a/plugins/ReverbSC/ReverbSC.cpp b/plugins/ReverbSC/ReverbSC.cpp index 1383d5266..4eae13129 100644 --- a/plugins/ReverbSC/ReverbSC.cpp +++ b/plugins/ReverbSC/ReverbSC.cpp @@ -24,10 +24,9 @@ #include "ReverbSC.h" #include "embed.h" +#include "lmms_math.h" #include "plugin_export.h" -#define DB2LIN(X) pow(10, X / 20.0f); - namespace lmms { @@ -92,10 +91,10 @@ Effect::ProcessStatus ReverbSCEffect::processImpl(SampleFrame* buf, const fpp_t { auto s = std::array{buf[f][0], buf[f][1]}; - const auto inGain - = (SPFLOAT)DB2LIN((inGainBuf ? inGainBuf->values()[f] : m_reverbSCControls.m_inputGainModel.value())); - const auto outGain - = (SPFLOAT)DB2LIN((outGainBuf ? outGainBuf->values()[f] : m_reverbSCControls.m_outputGainModel.value())); + const auto inGain = static_cast(fastPow10f( + (inGainBuf ? inGainBuf->values()[f] : m_reverbSCControls.m_inputGainModel.value()) / 20.f)); + const auto outGain = static_cast(fastPow10f( + (outGainBuf ? outGainBuf->values()[f] : m_reverbSCControls.m_outputGainModel.value()) / 20.f)); s[0] *= inGain; s[1] *= inGain; diff --git a/plugins/Sf2Player/Sf2Player.cpp b/plugins/Sf2Player/Sf2Player.cpp index 13dab7b8a..020364151 100644 --- a/plugins/Sf2Player/Sf2Player.cpp +++ b/plugins/Sf2Player/Sf2Player.cpp @@ -556,7 +556,7 @@ void Sf2Instrument::updateTuning() if (instrumentTrack()->microtuner()->enabledModel()->value()) { auto centArray = std::array{}; - double lowestHz = pow(2., -69. / 12.) * 440.;// Frequency of MIDI note 0, which is approximately 8.175798916 Hz + double lowestHz = std::exp2(-69. / 12.) * 440.; // Frequency of MIDI note 0, which is approximately 8.175798916 Hz for (int i = 0; i < 128; ++i) { // Get desired Hz of note diff --git a/plugins/Sfxr/Sfxr.cpp b/plugins/Sfxr/Sfxr.cpp index 0279eb41a..b941d8f0a 100644 --- a/plugins/Sfxr/Sfxr.cpp +++ b/plugins/Sfxr/Sfxr.cpp @@ -97,33 +97,34 @@ void SfxrSynth::resetSample( bool restart ) fperiod=100.0/(s->m_startFreqModel.value()*s->m_startFreqModel.value()+0.001); period=(int)fperiod; fmaxperiod=100.0/(s->m_minFreqModel.value()*s->m_minFreqModel.value()+0.001); - fslide=1.0-pow((double)s->m_slideModel.value(), 3.0)*0.01; - fdslide=-pow((double)s->m_dSlideModel.value(), 3.0)*0.000001; + const auto sv = static_cast(s->m_slideModel.value()); + const auto dsv = static_cast(s->m_dSlideModel.value()); + fslide = 1.0 - sv * sv * sv * 0.01; + fdslide = -dsv * dsv * dsv * 0.000001; square_duty=0.5f-s->m_sqrDutyModel.value()*0.5f; square_slide=-s->m_sqrSweepModel.value()*0.00005f; - if(s->m_changeAmtModel.value()>=0.0f) - arp_mod=1.0-pow((double)s->m_changeAmtModel.value(), 2.0)*0.9; - else - arp_mod=1.0+pow((double)s->m_changeAmtModel.value(), 2.0)*10.0; - arp_time=0; - arp_limit=(int)(pow(1.0f-s->m_changeSpeedModel.value(), 2.0f)*20000+32); - if(s->m_changeSpeedModel.value()==1.0f) - arp_limit=0; + const auto cha = static_cast(s->m_changeAmtModel.value()); + arp_mod = (cha >= 0.0) + ? 1.0 - cha * cha * 0.9 + : 1.0 + cha * cha * 10.0; + arp_time = 0; + const auto chs = 1.f - s->m_changeSpeedModel.value(); + arp_limit = (chs == 0.f) ? 0 : static_cast(chs * chs * 20000 + 32); if(!restart) { // reset filter fltp=0.0f; fltdp=0.0f; - fltw=pow(s->m_lpFilCutModel.value(), 3.0f)*0.1f; + fltw = std::pow(s->m_lpFilCutModel.value(), 3.f) * 0.1f; fltw_d=1.0f+s->m_lpFilCutSweepModel.value()*0.0001f; - fltdmp=5.0f/(1.0f+pow(s->m_lpFilResoModel.value(), 2.0f)*20.0f)*(0.01f+fltw); + fltdmp = 5.0f / (1.0f + std::pow(s->m_lpFilResoModel.value(), 2.0f) * 20.0f) * (0.01f + fltw); if(fltdmp>0.8f) fltdmp=0.8f; fltphp=0.0f; - flthp=pow(s->m_hpFilCutModel.value(), 2.0f)*0.1f; + flthp = std::pow(s->m_hpFilCutModel.value(), 2.f) * 0.1f; flthp_d=1.0+s->m_hpFilCutSweepModel.value()*0.0003f; // reset vibrato vib_phase=0.0f; - vib_speed=pow(s->m_vibSpeedModel.value(), 2.0f)*0.01f; + vib_speed = std::pow(s->m_vibSpeedModel.value(), 2.f) * 0.01f; vib_amp=s->m_vibDepthModel.value()*0.5f; // reset envelope env_vol=0.0f; @@ -134,9 +135,9 @@ void SfxrSynth::resetSample( bool restart ) env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*99999.0f)+1; env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*99999.0f)+1; - fphase=pow(s->m_phaserOffsetModel.value(), 2.0f)*1020.0f; + fphase = std::pow(s->m_phaserOffsetModel.value(), 2.f) * 1020.f; if(s->m_phaserOffsetModel.value()<0.0f) fphase=-fphase; - fdphase=pow(s->m_phaserSweepModel.value(), 2.0f)*1.0f; + fdphase = std::pow(s->m_phaserSweepModel.value(), 2.f) * 1.f; if(s->m_phaserSweepModel.value()<0.0f) fdphase=-fdphase; iphase=abs((int)fphase); ipp=0; @@ -148,10 +149,10 @@ void SfxrSynth::resetSample( bool restart ) } rep_time=0; - rep_limit=(int)(pow(1.0f-s->m_repeatSpeedModel.value(), 2.0f)*20000+32); + rep_limit = static_cast(std::pow(1.0f - s->m_repeatSpeedModel.value(), 2.0f) * 20000 + 32); if(s->m_repeatSpeedModel.value()==0.0f) rep_limit=0; - } + } } @@ -195,7 +196,7 @@ void SfxrSynth::update( SampleFrame* buffer, const int32_t frameNum ) if(vib_amp>0.0f) { vib_phase+=vib_speed; - rfperiod=fperiod*(1.0+sin(vib_phase)*vib_amp); + rfperiod = fperiod * (1.0 + std::sin(vib_phase) * vib_amp); } period=(int)rfperiod; if(period<8) period=8; @@ -214,7 +215,7 @@ void SfxrSynth::update( SampleFrame* buffer, const int32_t frameNum ) if(env_stage==0) env_vol=(float)env_time/env_length[0]; if(env_stage==1) - env_vol=1.0f+pow(1.0f-(float)env_time/env_length[1], 1.0f)*2.0f*s->m_susModel.value(); + { env_vol = 1.0f + (1.0f - static_cast(env_time) / env_length[1]) * 2.0f * s->m_susModel.value(); } if(env_stage==2) env_vol=1.0f-(float)env_time/env_length[2]; @@ -1000,13 +1001,13 @@ void SfxrInstrumentView::randomize() { auto s = castModel(); - s->m_startFreqModel.setValue( pow(frnd(2.0f)-1.0f, 2.0f) ); + s->m_startFreqModel.setValue(std::pow(frnd(2.0f) - 1.0f, 2.0f)); if(rnd(1)) { - s->m_startFreqModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f)+0.5f ); + s->m_startFreqModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f) + 0.5f); } s->m_minFreqModel.setValue( 0.0f ); - s->m_slideModel.setValue( pow(frnd(2.0f)-1.0f, 5.0f) ); + s->m_slideModel.setValue(std::pow(frnd(2.0f) - 1.0f, 5.0f)); if( s->m_startFreqModel.value()>0.7f && s->m_slideModel.value()>0.2f ) { s->m_slideModel.setValue( -s->m_slideModel.value() ); @@ -1015,19 +1016,19 @@ void SfxrInstrumentView::randomize() { s->m_slideModel.setValue( -s->m_slideModel.value() ); } - s->m_dSlideModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_dSlideModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); s->m_sqrDutyModel.setValue( frnd(2.0f)-1.0f ); - s->m_sqrSweepModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_sqrSweepModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); - s->m_vibDepthModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_vibDepthModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); s->m_vibSpeedModel.setValue( frnd(2.0f)-1.0f ); //s->m_vibDelayModel.setValue( frnd(2.0f)-1.0f ); - s->m_attModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); - s->m_holdModel.setValue( pow(frnd(2.0f)-1.0f, 2.0f) ); + s->m_attModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); + s->m_holdModel.setValue(std::pow(frnd(2.0f) - 1.0f, 2.0f)); s->m_decModel.setValue( frnd(2.0f)-1.0f ); - s->m_susModel.setValue( pow(frnd(0.8f), 2.0f) ); + s->m_susModel.setValue(std::pow(frnd(0.8f), 2.0f)); if(s->m_attModel.value()+s->m_holdModel.value()+s->m_decModel.value()<0.2f) { s->m_holdModel.setValue( s->m_holdModel.value()+0.2f+frnd(0.3f) ); @@ -1035,17 +1036,17 @@ void SfxrInstrumentView::randomize() } s->m_lpFilResoModel.setValue( frnd(2.0f)-1.0f ); - s->m_lpFilCutModel.setValue( 1.0f-pow(frnd(1.0f), 3.0f) ); - s->m_lpFilCutSweepModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_lpFilCutModel.setValue(1.0f - std::pow(frnd(1.0f), 3.0f)); + s->m_lpFilCutSweepModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); if(s->m_lpFilCutModel.value()<0.1f && s->m_lpFilCutSweepModel.value()<-0.05f) { s->m_lpFilCutSweepModel.setValue( -s->m_lpFilCutSweepModel.value() ); } - s->m_hpFilCutModel.setValue( pow(frnd(1.0f), 5.0f) ); - s->m_hpFilCutSweepModel.setValue( pow(frnd(2.0f)-1.0f, 5.0f) ); + s->m_hpFilCutModel.setValue(std::pow(frnd(1.0f), 5.0f)); + s->m_hpFilCutSweepModel.setValue(std::pow(frnd(2.0f) - 1.0f, 5.0f)); - s->m_phaserOffsetModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); - s->m_phaserSweepModel.setValue( pow(frnd(2.0f)-1.0f, 3.0f) ); + s->m_phaserOffsetModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); + s->m_phaserSweepModel.setValue(std::pow(frnd(2.0f) - 1.0f, 3.0f)); s->m_repeatSpeedModel.setValue( frnd(2.0f)-1.0f ); diff --git a/plugins/Sid/SidInstrument.cpp b/plugins/Sid/SidInstrument.cpp index 9a5a74f71..fbb68b4e4 100644 --- a/plugins/Sid/SidInstrument.cpp +++ b/plugins/Sid/SidInstrument.cpp @@ -341,9 +341,9 @@ void SidInstrument::playNote( NotePlayHandle * _n, base = i*7; // freq ( Fn = Fout / Fclk * 16777216 ) + coarse detuning freq = _n->frequency(); - note = 69.0 + 12.0 * log( freq / 440.0 ) / log( 2 ); + note = 69.0 + 12.0 * std::log2(freq / 440.0); note += m_voice[i]->m_coarseModel.value(); - freq = 440.0 * pow( 2.0, (note-69.0)/12.0 ); + freq = 440.0 * std::exp2((note - 69.0) / 12.0); data16 = int( freq / float(clockrate) * 16777216.0 ); sidreg[base+0] = data16&0x00FF; diff --git a/plugins/SpectrumAnalyzer/SaProcessor.cpp b/plugins/SpectrumAnalyzer/SaProcessor.cpp index d9e7ac8a4..1ea80f126 100644 --- a/plugins/SpectrumAnalyzer/SaProcessor.cpp +++ b/plugins/SpectrumAnalyzer/SaProcessor.cpp @@ -26,6 +26,7 @@ #include "SaProcessor.h" #include +#include "lmms_math.h" #ifdef SA_DEBUG #include #endif @@ -331,15 +332,15 @@ QRgb SaProcessor::makePixel(float left, float right) const const float gamma_correction = m_controls->m_waterfallGammaModel.value(); if (m_controls->m_stereoModel.value()) { - float ampL = pow(left, gamma_correction); - float ampR = pow(right, gamma_correction); + float ampL = std::pow(left, gamma_correction); + float ampR = std::pow(right, gamma_correction); return qRgb(m_controls->m_colorL.red() * ampL + m_controls->m_colorR.red() * ampR, m_controls->m_colorL.green() * ampL + m_controls->m_colorR.green() * ampR, m_controls->m_colorL.blue() * ampL + m_controls->m_colorR.blue() * ampR); } else { - float ampL = pow(left, gamma_correction); + float ampL = std::pow(left, gamma_correction); // make mono color brighter to compensate for the fact it is not summed return qRgb(m_controls->m_colorMonoW.red() * ampL, m_controls->m_colorMonoW.green() * ampL, @@ -576,9 +577,9 @@ float SaProcessor::freqToXPixel(float freq, unsigned int width) const if (m_controls->m_logXModel.value()) { if (freq <= 1) {return 0;} - float min = log10(getFreqRangeMin()); - float range = log10(getFreqRangeMax()) - min; - return (log10(freq) - min) / range * width; + float min = std::log10(getFreqRangeMin()); + float range = std::log10(getFreqRangeMax()) - min; + return (std::log10(freq) - min) / range * width; } else { @@ -594,10 +595,10 @@ float SaProcessor::xPixelToFreq(float x, unsigned int width) const { if (m_controls->m_logXModel.value()) { - float min = log10(getFreqRangeMin()); - float max = log10(getFreqRangeMax()); + float min = std::log10(getFreqRangeMin()); + float max = std::log10(getFreqRangeMax()); float range = max - min; - return pow(10, min + x / width * range); + return fastPow10f(min + x / width * range); } else { @@ -662,8 +663,8 @@ float SaProcessor::ampToYPixel(float amplitude, unsigned int height) const else { // linear scale: convert returned ranges from dB to linear scale - float max = pow(10, getAmpRangeMax() / 10); - float range = pow(10, getAmpRangeMin() / 10) - max; + float max = fastPow10f(getAmpRangeMax() / 10); + float range = fastPow10f(getAmpRangeMin() / 10) - max; return (amplitude - max) / range * height; } } @@ -683,8 +684,8 @@ float SaProcessor::yPixelToAmp(float y, unsigned int height) const else { // linear scale: convert returned ranges from dB to linear scale - float max = pow(10, getAmpRangeMax() / 10); - float range = pow(10, getAmpRangeMin() / 10) - max; + float max = fastPow10f(getAmpRangeMax() / 10); + float range = fastPow10f(getAmpRangeMin() / 10) - max; return max + range * (y / height); } } diff --git a/plugins/SpectrumAnalyzer/SaSpectrumView.cpp b/plugins/SpectrumAnalyzer/SaSpectrumView.cpp index 2d15da7f4..e8d4ff8e0 100644 --- a/plugins/SpectrumAnalyzer/SaSpectrumView.cpp +++ b/plugins/SpectrumAnalyzer/SaSpectrumView.cpp @@ -38,6 +38,7 @@ #include "MainWindow.h" #include "SaControls.h" #include "SaProcessor.h" +#include "lmms_math.h" #ifdef SA_DEBUG #include @@ -668,7 +669,7 @@ std::vector> SaSpectrumView::makeLogFreqTics(int low } } // also insert denser series if high and low values are close - if ((log10(high) - log10(low) < 2) && (i * b[j] >= low && i * b[j] <= high)) + if ((std::log10(high) - std::log10(low) < 2) && (i * b[j] >= low && i * b[j] <= high)) { if (i * b[j] < 1500) { @@ -729,11 +730,11 @@ std::vector> SaSpectrumView::makeLogAmpTics(int lo // to the sizeHint() (denser scale for bigger window). if ((high - low) < 20 * ((float)height() / sizeHint().height())) { - increment = pow(10, 0.3); // 3 dB steps when really zoomed in + increment = fastPow10f(0.3f); // 3 dB steps when really zoomed in } else if (high - low < 45 * ((float)height() / sizeHint().height())) { - increment = pow(10, 0.6); // 6 dB steps when sufficiently zoomed in + increment = fastPow10f(0.6f); // 6 dB steps when sufficiently zoomed in } else { @@ -742,11 +743,11 @@ std::vector> SaSpectrumView::makeLogAmpTics(int lo // Generate n dB increments, start checking at -90 dB. Limits are tweaked // just a little bit to make sure float comparisons do not miss edges. - for (float i = 0.000000001f; 10 * log10(i) <= (high + 0.001); i *= increment) + for (float i = 0.000000001f; 10 * std::log10(i) <= (high + 0.001); i *= increment) { - if (10 * log10(i) >= (low - 0.001)) + if (10 * std::log10(i) >= (low - 0.001)) { - result.emplace_back(i, std::to_string((int)std::round(10 * log10(i)))); + result.emplace_back(i, std::to_string((int)std::round(10 * std::log10(i)))); } } return result; @@ -766,8 +767,8 @@ std::vector> SaSpectrumView::makeLinearAmpTics(int float split = (float)height() / sizeHint().height() >= 1.5 ? 10.0 : 5.0; // convert limits to linear scale - float lin_low = pow(10, low / 10.0); - float lin_high = pow(10, high / 10.0); + float lin_low = fastPow10f(low / 10.0); + float lin_high = fastPow10f(high / 10.0); // Linear scale will vary widely, so instead of trying to craft extra nice // multiples, just generate a few evenly spaced increments across the range, diff --git a/plugins/TripleOscillator/TripleOscillator.cpp b/plugins/TripleOscillator/TripleOscillator.cpp index f04cee818..61a6c4919 100644 --- a/plugins/TripleOscillator/TripleOscillator.cpp +++ b/plugins/TripleOscillator/TripleOscillator.cpp @@ -175,9 +175,8 @@ void OscillatorObject::updateVolume() void OscillatorObject::updateDetuningLeft() { - m_detuningLeft = powf( 2.0f, ( (float)m_coarseModel.value() * 100.0f - + (float)m_fineLeftModel.value() ) / 1200.0f ) - / Engine::audioEngine()->outputSampleRate(); + m_detuningLeft = std::exp2((m_coarseModel.value() * 100.0f + m_fineLeftModel.value()) / 1200.0f) + / Engine::audioEngine()->outputSampleRate(); } @@ -185,9 +184,8 @@ void OscillatorObject::updateDetuningLeft() void OscillatorObject::updateDetuningRight() { - m_detuningRight = powf( 2.0f, ( (float)m_coarseModel.value() * 100.0f - + (float)m_fineRightModel.value() ) / 1200.0f ) - / Engine::audioEngine()->outputSampleRate(); + m_detuningRight = std::exp2((m_coarseModel.value() * 100.0f + m_fineRightModel.value()) / 1200.0f) + / Engine::audioEngine()->outputSampleRate(); } diff --git a/plugins/Watsyn/Watsyn.cpp b/plugins/Watsyn/Watsyn.cpp index 2749b2daf..6ce1beced 100644 --- a/plugins/Watsyn/Watsyn.cpp +++ b/plugins/Watsyn/Watsyn.cpp @@ -132,9 +132,9 @@ void WatsynObject::renderOutput( fpp_t _frames ) // if phase mod, add to phases if( m_amod == MOD_PM ) { - A1_lphase = fmodf( A1_lphase + A2_L * PMOD_AMT, WAVELEN ); + A1_lphase = std::fmod(A1_lphase + A2_L * PMOD_AMT, WAVELEN); if( A1_lphase < 0 ) A1_lphase += WAVELEN; - A1_rphase = fmodf( A1_rphase + A2_R * PMOD_AMT, WAVELEN ); + A1_rphase = std::fmod(A1_rphase + A2_R * PMOD_AMT, WAVELEN); if( A1_rphase < 0 ) A1_rphase += WAVELEN; } // A1 @@ -166,9 +166,9 @@ void WatsynObject::renderOutput( fpp_t _frames ) // if phase mod, add to phases if( m_bmod == MOD_PM ) { - B1_lphase = fmodf( B1_lphase + B2_L * PMOD_AMT, WAVELEN ); + B1_lphase = std::fmod(B1_lphase + B2_L * PMOD_AMT, WAVELEN); if( B1_lphase < 0 ) B1_lphase += WAVELEN; - B1_rphase = fmodf( B1_rphase + B2_R * PMOD_AMT, WAVELEN ); + B1_rphase = std::fmod(B1_rphase + B2_R * PMOD_AMT, WAVELEN); if( B1_rphase < 0 ) B1_rphase += WAVELEN; } // B1 @@ -222,9 +222,9 @@ void WatsynObject::renderOutput( fpp_t _frames ) for( int i = 0; i < NUM_OSCS; i++ ) { m_lphase[i] += ( static_cast( WAVELEN ) / ( m_samplerate / ( m_nph->frequency() * m_parent->m_lfreq[i] ) ) ); - m_lphase[i] = fmodf( m_lphase[i], WAVELEN ); + m_lphase[i] = std::fmod(m_lphase[i], WAVELEN); m_rphase[i] += ( static_cast( WAVELEN ) / ( m_samplerate / ( m_nph->frequency() * m_parent->m_rfreq[i] ) ) ); - m_rphase[i] = fmodf( m_rphase[i], WAVELEN ); + m_rphase[i] = std::fmod(m_rphase[i], WAVELEN); } } @@ -596,32 +596,32 @@ void WatsynInstrument::updateVolumes() void WatsynInstrument::updateFreqA1() { // calculate frequencies - m_lfreq[A1_OSC] = ( a1_mult.value() / 8 ) * powf( 2, a1_ltune.value() / 1200 ); - m_rfreq[A1_OSC] = ( a1_mult.value() / 8 ) * powf( 2, a1_rtune.value() / 1200 ); + m_lfreq[A1_OSC] = (a1_mult.value() / 8) * std::exp2(a1_ltune.value() / 1200); + m_rfreq[A1_OSC] = (a1_mult.value() / 8) * std::exp2(a1_rtune.value() / 1200); } void WatsynInstrument::updateFreqA2() { // calculate frequencies - m_lfreq[A2_OSC] = ( a2_mult.value() / 8 ) * powf( 2, a2_ltune.value() / 1200 ); - m_rfreq[A2_OSC] = ( a2_mult.value() / 8 ) * powf( 2, a2_rtune.value() / 1200 ); + m_lfreq[A2_OSC] = (a2_mult.value() / 8) * std::exp2(a2_ltune.value() / 1200); + m_rfreq[A2_OSC] = (a2_mult.value() / 8) * std::exp2(a2_rtune.value() / 1200); } void WatsynInstrument::updateFreqB1() { // calculate frequencies - m_lfreq[B1_OSC] = ( b1_mult.value() / 8 ) * powf( 2, b1_ltune.value() / 1200 ); - m_rfreq[B1_OSC] = ( b1_mult.value() / 8 ) * powf( 2, b1_rtune.value() / 1200 ); + m_lfreq[B1_OSC] = (b1_mult.value() / 8) * std::exp2(b1_ltune.value() / 1200); + m_rfreq[B1_OSC] = (b1_mult.value() / 8) * std::exp2(b1_rtune.value() / 1200); } void WatsynInstrument::updateFreqB2() { // calculate frequencies - m_lfreq[B2_OSC] = ( b2_mult.value() / 8 ) * powf( 2, b2_ltune.value() / 1200 ); - m_rfreq[B2_OSC] = ( b2_mult.value() / 8 ) * powf( 2, b2_rtune.value() / 1200 ); + m_lfreq[B2_OSC] = (b2_mult.value() / 8) * std::exp2(b2_ltune.value() / 1200); + m_rfreq[B2_OSC] = (b2_mult.value() / 8) * std::exp2(b2_rtune.value() / 1200); } diff --git a/plugins/Xpressive/ExprSynth.cpp b/plugins/Xpressive/ExprSynth.cpp index cd2cfca5c..715bf453c 100644 --- a/plugins/Xpressive/ExprSynth.cpp +++ b/plugins/Xpressive/ExprSynth.cpp @@ -511,7 +511,7 @@ struct harmonic_cent { static inline float process(float x) { - return powf(2, x / 1200); + return std::exp2(x / 1200); } }; static freefunc1 harmonic_cent_func; @@ -519,7 +519,7 @@ struct harmonic_semitone { static inline float process(float x) { - return powf(2, x / 12); + return std::exp2(x / 12); } }; static freefunc1 harmonic_semitone_func; diff --git a/src/core/AutomationClip.cpp b/src/core/AutomationClip.cpp index dc496fa04..6d99abcc1 100644 --- a/src/core/AutomationClip.cpp +++ b/src/core/AutomationClip.cpp @@ -647,8 +647,7 @@ float AutomationClip::valueAt( timeMap::const_iterator v, int offset ) const float m1 = OUTTAN(v) * numValues * m_tension; float m2 = INTAN(v + 1) * numValues * m_tension; - auto t2 = pow(t, 2); - auto t3 = pow(t, 3); + auto t2 = t * t, t3 = t2 * t; return (2 * t3 - 3 * t2 + 1) * OUTVAL(v) + (t3 - 2 * t2 + t) * m1 + (-2 * t3 + 3 * t2) * INVAL(v + 1) diff --git a/src/core/DrumSynth.cpp b/src/core/DrumSynth.cpp index 5421886f8..85c2a1d17 100644 --- a/src/core/DrumSynth.cpp +++ b/src/core/DrumSynth.cpp @@ -42,7 +42,6 @@ namespace lmms { using namespace std; // const int Fs = 44100; -const float TwoPi = 6.2831853f; const int MAX = 0; const int ENV = 1; const int PNT = 2; @@ -172,37 +171,19 @@ void DrumSynth::GetEnv(int env, const char* sec, const char* key, QString ini) float DrumSynth::waveform(float ph, int form) { - float w; - - switch (form) - { - case 0: - w = static_cast(sin(fmod(ph, TwoPi))); - break; // sine - case 1: - w = static_cast(fabs(2.0f * static_cast(sin(fmod(0.5f * ph, TwoPi))) - 1.f)); - break; // sine^2 - case 2: - while (ph < TwoPi) - { - ph += TwoPi; - } - w = 0.6366197f * static_cast(fmod(ph, TwoPi) - 1.f); // tri - if (w > 1.f) - { - w = 2.f - w; - } - break; - case 3: - w = ph - TwoPi * static_cast(static_cast(ph / TwoPi)); // saw - w = (0.3183098f * w) - 1.f; - break; - default: - w = (sin(fmod(ph, TwoPi)) > 0.0) ? 1.f : -1.f; - break; // square - } - - return w; + // sine + if (form == 0) { return std::sin(ph); } + // sine^2 + if (form == 1) { return std::abs(2.f * std::sin(0.5f * ph)) - 1.f; } + // sawtooth with range [0, 1], used to generate triangle, sawtooth, and square + auto ph_tau = ph / numbers::tau_v; + auto saw01 = ph_tau - std::floor(ph_tau); + // triangle + if (form == 2) { return 1.f - 4.f * std::abs(saw01 - 0.5f); } + // sawtooth + if (form == 3) { return 2.f * saw01 - 1.f; } + // square + return (saw01 < 0.5f) ? 1.f : -1.f; } int DrumSynth::GetPrivateProfileString( @@ -434,7 +415,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa { a = 1.f; b = -NT / 50.f; - c = static_cast(fabs(static_cast(NT))) / 100.f; + c = std::abs(static_cast(NT)) / 100.f; g = NL; } @@ -448,19 +429,19 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa sliLev[0] = GetPrivateProfileInt(sec, "Level", 128, dsfile); TL = static_cast(sliLev[0] * sliLev[0]) * mem_t; GetEnv(1, sec, "Envelope", dsfile); - F1 = MasterTune * TwoPi * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; - if (fabs(F1) < 0.001f) + F1 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; + if (std::abs(F1) < 0.001f) { F1 = 0.001f; // to prevent overtone ratio div0 } - F2 = MasterTune * TwoPi * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; + F2 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; TDroopRate = GetPrivateProfileFloat(sec, "Droop", 0.f, dsfile); if (TDroopRate > 0.f) { TDroopRate = fastPow10f((TDroopRate - 20.0f) / 30.0f); TDroopRate = TDroopRate * -4.f / envData[1][MAX]; TDroop = 1; - F2 = F1 + ((F2 - F1) / (1.f - static_cast(exp(TDroopRate * envData[1][MAX])))); + F2 = F1 + ((F2 - F1) / (1.f - std::exp(TDroopRate * envData[1][MAX]))); ddF = F1 - F2; } else @@ -479,8 +460,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa GetEnv(3, sec, "Envelope1", dsfile); GetEnv(4, sec, "Envelope2", dsfile); OMode = GetPrivateProfileInt(sec, "Method", 2, dsfile); - OF1 = MasterTune * TwoPi * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; - OF2 = MasterTune * TwoPi * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; + OF1 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; + OF2 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; OW1 = GetPrivateProfileInt(sec, "Wave1", 0, dsfile); OW2 = GetPrivateProfileInt(sec, "Wave2", 0, dsfile); OBal2 = static_cast(GetPrivateProfileInt(sec, "Param", 50, dsfile)); @@ -508,8 +489,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa OcQ = OcA * OcA; OcF = (1.8f - 0.7f * OcQ) * 0.92f; // multiply by env 2 OcA *= 1.0f + 4.0f * OBal1; // level is a compromise! - Ocf1 = TwoPi / OF1; - Ocf2 = TwoPi / OF2; + Ocf1 = numbers::tau_v / OF1; + Ocf2 = numbers::tau_v / OF2; for (i = 0; i < 6; i++) { Oc[i][0] = Oc[i][1] = Ocf1 + (Ocf2 - Ocf1) * 0.2f * static_cast(i); @@ -521,12 +502,12 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa BON = chkOn[3]; sliLev[3] = GetPrivateProfileInt(sec, "Level", 128, dsfile); BL = static_cast(sliLev[3] * sliLev[3]) * mem_b; - BF = MasterTune * TwoPi * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; - BPhi = TwoPi / 8.f; + BF = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; + BPhi = numbers::tau_v / 8.f; GetEnv(5, sec, "Envelope", dsfile); BFStep = GetPrivateProfileInt(sec, "dF", 50, dsfile); BQ = static_cast(BFStep); - BQ = BQ * BQ / (10000.f - 6600.f * (static_cast(sqrt(BF)) - 0.19f)); + BQ = BQ * BQ / (10000.f - 6600.f * (std::sqrt(BF) - 0.19f)); BFStep = 1 + static_cast((40.f - (BFStep / 2.5f)) / (BQ + 1.f + (1.f * BF))); strcpy(sec, "NoiseBand2"); @@ -534,12 +515,12 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa BON2 = chkOn[4]; sliLev[4] = GetPrivateProfileInt(sec, "Level", 128, dsfile); BL2 = static_cast(sliLev[4] * sliLev[4]) * mem_b; - BF2 = MasterTune * TwoPi * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; - BPhi2 = TwoPi / 8.f; + BF2 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; + BPhi2 = numbers::tau_v / 8.f; GetEnv(6, sec, "Envelope", dsfile); BFStep2 = GetPrivateProfileInt(sec, "dF", 50, dsfile); BQ2 = static_cast(BFStep2); - BQ2 = BQ2 * BQ2 / (10000.f - 6600.f * (static_cast(sqrt(BF2)) - 0.19f)); + BQ2 = BQ2 * BQ2 / (10000.f - 6600.f * (std::sqrt(BF2) - 0.19f)); BFStep2 = 1 + static_cast((40 - (BFStep2 / 2.5)) / (BQ2 + 1 + (1 * BF2))); // read distortion parameters @@ -659,7 +640,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa { for (t = tpos; t <= tplus; t++) { - phi[t - tpos] = F2 + (ddF * static_cast(exp(t * TDroopRate))); + phi[t - tpos] = F2 + (ddF * std::exp(t * TDroopRate)); } } else @@ -681,7 +662,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa UpdateEnv(1, t); } Tphi = Tphi + phi[totmp]; - DF[totmp] += TL * envData[1][ENV] * static_cast(sin(fmod(Tphi, TwoPi))); // overflow? + DF[totmp] += TL * envData[1][ENV] * std::sin(std::fmod(Tphi, numbers::tau_v)); // overflow? } if (t >= envData[1][MAX]) { @@ -714,7 +695,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa } BPhi = BPhi + BF + BQ * BdF; botmp = t - tpos; - DF[botmp] = DF[botmp] + static_cast(cos(fmod(BPhi, TwoPi))) * envData[5][ENV] * BL; + DF[botmp] = DF[botmp] + std::cos(std::fmod(BPhi, numbers::tau_v)) * envData[5][ENV] * BL; } if (t >= envData[5][MAX]) { @@ -740,7 +721,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa } BPhi2 = BPhi2 + BF2 + BQ2 * BdF2; botmp = t - tpos; - DF[botmp] = DF[botmp] + static_cast(cos(fmod(BPhi2, TwoPi))) * envData[6][ENV] * BL2; + DF[botmp] = DF[botmp] + std::cos(std::fmod(BPhi2, numbers::tau_v)) * envData[6][ENV] * BL2; } if (t >= envData[6][MAX]) { diff --git a/src/core/LadspaManager.cpp b/src/core/LadspaManager.cpp index e4d472bd1..481b52a2e 100644 --- a/src/core/LadspaManager.cpp +++ b/src/core/LadspaManager.cpp @@ -436,8 +436,8 @@ float LadspaManager::getDefaultSetting( const ladspa_key_t & _plugin, if( LADSPA_IS_HINT_LOGARITHMIC ( hintDescriptor ) ) { - return( exp( log( portRangeHint->LowerBound ) * 0.75 + - log( portRangeHint->UpperBound ) * 0.25 ) ); + return std::exp(std::log(portRangeHint->LowerBound) + * 0.75 + std::log(portRangeHint->UpperBound) * 0.25); } else { @@ -448,8 +448,7 @@ float LadspaManager::getDefaultSetting( const ladspa_key_t & _plugin, if( LADSPA_IS_HINT_LOGARITHMIC ( hintDescriptor ) ) { - return( sqrt( portRangeHint->LowerBound - * portRangeHint->UpperBound ) ); + return std::sqrt(portRangeHint->LowerBound * portRangeHint->UpperBound); } else { @@ -460,8 +459,8 @@ float LadspaManager::getDefaultSetting( const ladspa_key_t & _plugin, if( LADSPA_IS_HINT_LOGARITHMIC ( hintDescriptor ) ) { - return( exp( log( portRangeHint->LowerBound ) * 0.25 + - log( portRangeHint->UpperBound ) * 0.75 ) ); + return std::exp(std::log(portRangeHint->LowerBound) + * 0.25 + std::log(portRangeHint->UpperBound) * 0.75); } else { diff --git a/src/core/Microtuner.cpp b/src/core/Microtuner.cpp index 46d83017f..59f550141 100644 --- a/src/core/Microtuner.cpp +++ b/src/core/Microtuner.cpp @@ -102,10 +102,10 @@ float Microtuner::keyToFreq(int key, int userBaseNote) const // Compute frequency of the middle note and return the final frequency const double octaveRatio = intervals[octaveDegree].getRatio(); - const float middleFreq = (keymap->getBaseFreq() / pow(octaveRatio, (baseScaleOctave + baseKeymapOctave))) - / intervals[baseScaleDegree].getRatio(); + const float middleFreq = (keymap->getBaseFreq() / std::pow(octaveRatio, baseScaleOctave + baseKeymapOctave)) + / intervals[baseScaleDegree].getRatio(); - return middleFreq * intervals[scaleDegree].getRatio() * pow(octaveRatio, keymapOctave + scaleOctave); + return middleFreq * intervals[scaleDegree].getRatio() * std::pow(octaveRatio, keymapOctave + scaleOctave); } int Microtuner::octaveSize() const diff --git a/src/core/MixHelpers.cpp b/src/core/MixHelpers.cpp index 01ea0386e..c10e4c50c 100644 --- a/src/core/MixHelpers.cpp +++ b/src/core/MixHelpers.cpp @@ -71,7 +71,7 @@ bool isSilent( const SampleFrame* src, int frames ) for( int i = 0; i < frames; ++i ) { - if( fabsf( src[i][0] ) >= silenceThreshold || fabsf( src[i][1] ) >= silenceThreshold ) + if (std::abs(src[i][0]) >= silenceThreshold || std::abs(src[i][1]) >= silenceThreshold) { return false; } diff --git a/src/core/NotePlayHandle.cpp b/src/core/NotePlayHandle.cpp index 7d649e1dd..e2aa02ddc 100644 --- a/src/core/NotePlayHandle.cpp +++ b/src/core/NotePlayHandle.cpp @@ -532,8 +532,8 @@ void NotePlayHandle::updateFrequency() if (m_instrumentTrack->isKeyMapped(transposedKey)) { const auto frequency = m_instrumentTrack->m_microtuner.keyToFreq(transposedKey, baseNote); - m_frequency = frequency * powf(2.f, (detune + instrumentPitch / 100) / 12.f); - m_unpitchedFrequency = frequency * powf(2.f, detune / 12.f); + m_frequency = frequency * std::exp2((detune + instrumentPitch / 100) / 12.f); + m_unpitchedFrequency = frequency * std::exp2(detune / 12.f); } else { @@ -544,8 +544,8 @@ void NotePlayHandle::updateFrequency() { // default key mapping and 12-TET frequency computation with default 440 Hz base note frequency const float pitch = (key() - baseNote + masterPitch + detune) / 12.0f; - m_frequency = DefaultBaseFreq * powf(2.0f, pitch + instrumentPitch / (100 * 12.0f)); - m_unpitchedFrequency = DefaultBaseFreq * powf(2.0f, pitch); + m_frequency = DefaultBaseFreq * std::exp2(pitch + instrumentPitch / (100 * 12.0f)); + m_unpitchedFrequency = DefaultBaseFreq * std::exp2(pitch); } for (auto it : m_subNotes) diff --git a/src/core/Oscillator.cpp b/src/core/Oscillator.cpp index 6c3d51643..82d6dfe81 100644 --- a/src/core/Oscillator.cpp +++ b/src/core/Oscillator.cpp @@ -142,8 +142,8 @@ void Oscillator::generateTriangleWaveTable(int bands, sample_t* table, int first { for (int n = firstBand | 1; n <= bands; n += 2) { - table[i] += (n & 2 ? -1.0f : 1.0f) / powf(n, 2.0f) * - std::sin(numbers::tau_v * n * i / (float)OscillatorConstants::WAVETABLE_LENGTH) / (numbers::pi_sqr_v / 8); + table[i] += (n & 2 ? -1.0f : 1.0f) / (n * n) * + std::sin(numbers::tau_v * n * i / (float)OscillatorConstants::WAVETABLE_LENGTH) / (numbers::pi_sqr_v / 8.0f); } } } diff --git a/src/core/Scale.cpp b/src/core/Scale.cpp index 93279f2bc..6f5c8a59c 100644 --- a/src/core/Scale.cpp +++ b/src/core/Scale.cpp @@ -36,7 +36,7 @@ Interval::Interval(float cents) : m_denominator(0), m_cents(cents) { - m_ratio = powf(2.f, m_cents / 1200.f); + m_ratio = std::exp2(m_cents / 1200.f); } Interval::Interval(uint32_t numerator, uint32_t denominator) : @@ -68,7 +68,7 @@ void Interval::loadSettings(const QDomElement &element) m_denominator = element.attribute("den", "0").toULong(); m_cents = element.attribute("cents", "0").toDouble(); if (m_denominator) {m_ratio = static_cast(m_numerator) / m_denominator;} - else {m_ratio = powf(2.f, m_cents / 1200.f);} + else { m_ratio = std::exp2(m_cents / 1200.f); } } diff --git a/src/core/audio/AudioSoundIo.cpp b/src/core/audio/AudioSoundIo.cpp index 1d63ada3a..851592018 100644 --- a/src/core/audio/AudioSoundIo.cpp +++ b/src/core/audio/AudioSoundIo.cpp @@ -152,7 +152,7 @@ AudioSoundIo::AudioSoundIo( bool & outSuccessful, AudioEngine * _audioEngine ) : break; } if (closestSupportedSampleRate == -1 || - abs(range->max - currentSampleRate) < abs(closestSupportedSampleRate - currentSampleRate)) + std::abs(range->max - currentSampleRate) < std::abs(closestSupportedSampleRate - currentSampleRate)) { closestSupportedSampleRate = range->max; } diff --git a/src/core/lv2/Lv2Proc.cpp b/src/core/lv2/Lv2Proc.cpp index 7cd9d3a50..e656f0cf1 100644 --- a/src/core/lv2/Lv2Proc.cpp +++ b/src/core/lv2/Lv2Proc.cpp @@ -591,7 +591,7 @@ void Lv2Proc::createPort(std::size_t portNum) // make multiples of 0.01 (or 0.1 for larger values) float minStep = (stepSize >= 1.0f) ? 0.1f : 0.01f; - stepSize -= fmodf(stepSize, minStep); + stepSize -= std::fmod(stepSize, minStep); stepSize = std::max(stepSize, minStep); ctrl->m_connectedModel.reset( diff --git a/src/gui/GuiApplication.cpp b/src/gui/GuiApplication.cpp index 31b989a92..8c674112d 100644 --- a/src/gui/GuiApplication.cpp +++ b/src/gui/GuiApplication.cpp @@ -253,7 +253,7 @@ QFont GuiApplication::getWin32SystemFont() { // height is in pixels, convert to points HDC hDC = GetDC( nullptr ); - pointSize = MulDiv( abs( pointSize ), 72, GetDeviceCaps( hDC, LOGPIXELSY ) ); + pointSize = MulDiv(std::abs(pointSize), 72, GetDeviceCaps(hDC, LOGPIXELSY)); ReleaseDC( nullptr, hDC ); } diff --git a/src/gui/clips/ClipView.cpp b/src/gui/clips/ClipView.cpp index 9eb6acb6b..09dc79607 100644 --- a/src/gui/clips/ClipView.cpp +++ b/src/gui/clips/ClipView.cpp @@ -1414,7 +1414,7 @@ TimePos ClipView::draggedClipPos( QMouseEvent * me ) endQ = endQ - m_clip->length(); // Select the position closest to actual position - if ( abs(newPos - startQ) < abs(newPos - endQ) ) newPos = startQ; + if (std::abs(newPos - startQ) < std::abs(newPos - endQ)) { newPos = startQ; } else newPos = endQ; } else @@ -1457,7 +1457,7 @@ TimePos ClipView::quantizeSplitPos( TimePos midiPos, bool shiftMode ) const TimePos rightOff = m_clip->length() - midiPos; const TimePos rightPos = m_clip->length() - rightOff.quantize( snapSize ); //...whichever gives a position closer to the cursor - if ( abs(leftPos - midiPos) < abs(rightPos - midiPos) ) { return leftPos; } + if (std::abs(leftPos - midiPos) < std::abs(rightPos - midiPos)) { return leftPos; } else { return rightPos; } } else diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index ad7d11bd0..e3867e7ab 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -1630,7 +1630,7 @@ void AutomationEditor::wheelEvent(QWheelEvent * we ) } // FIXME: Reconsider if determining orientation is necessary in Qt6. - else if(abs(we->angleDelta().x()) > abs(we->angleDelta().y())) // scrolling is horizontal + else if (std::abs(we->angleDelta().x()) > std::abs(we->angleDelta().y())) // scrolling is horizontal { adjustLeftRightScoll(we->angleDelta().x()); } diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index 4700372ce..387a10ab4 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -2813,7 +2813,7 @@ void PianoRoll::dragNotes(int x, int y, bool alt, bool shift, bool ctrl) TimePos mousePosQ = mousePos.quantize(static_cast(quantization()) / DefaultTicksPerBar); TimePos mousePosEndQ = mousePosEnd.quantize(static_cast(quantization()) / DefaultTicksPerBar); - bool snapEnd = abs(mousePosEndQ - mousePosEnd) < abs(mousePosQ - mousePos); + bool snapEnd = std::abs(mousePosEndQ - mousePosEnd) < std::abs(mousePosQ - mousePos); // Set the offset noteOffset = snapEnd @@ -3878,7 +3878,7 @@ void PianoRoll::wheelEvent(QWheelEvent * we ) } // FIXME: Reconsider if determining orientation is necessary in Qt6. - else if(abs(we->angleDelta().x()) > abs(we->angleDelta().y())) // scrolling is horizontal + else if (std::abs(we->angleDelta().x()) > std::abs(we->angleDelta().y())) // scrolling is horizontal { adjustLeftRightScoll(we->angleDelta().x()); } diff --git a/src/gui/instrument/PianoView.cpp b/src/gui/instrument/PianoView.cpp index aeeb1fbbc..88bb48332 100644 --- a/src/gui/instrument/PianoView.cpp +++ b/src/gui/instrument/PianoView.cpp @@ -777,12 +777,12 @@ IntModel* PianoView::getNearestMarker(int key, QString* title) const int first = m_piano->instrumentTrack()->firstKey(); const int last = m_piano->instrumentTrack()->lastKey(); - if (abs(key - base) < abs(key - first) && abs(key - base) < abs(key - last)) + if (std::abs(key - base) < std::abs(key - first) && std::abs(key - base) < std::abs(key - last)) { if (title) {*title = tr("Base note");} return m_piano->instrumentTrack()->baseNoteModel(); } - else if (abs(key - first) < abs(key - last)) + else if (std::abs(key - first) < std::abs(key - last)) { if (title) {*title = tr("First note");} return m_piano->instrumentTrack()->firstKeyModel(); diff --git a/src/gui/widgets/Graph.cpp b/src/gui/widgets/Graph.cpp index 0781d4f11..4e06e2f1a 100644 --- a/src/gui/widgets/Graph.cpp +++ b/src/gui/widgets/Graph.cpp @@ -735,7 +735,7 @@ void graphModel::clearInvisible() void graphModel::drawSampleAt( int x, float val ) { //snap to the grid - val -= ( m_step != 0.0 ) ? fmod( val, m_step ) * m_step : 0; + val -= (m_step != 0.0) ? std::fmod(val, m_step) * m_step : 0; // boundary crop x = qMax( 0, qMin( length()-1, x ) ); diff --git a/src/gui/widgets/Knob.cpp b/src/gui/widgets/Knob.cpp index 2f7812993..7aa676953 100644 --- a/src/gui/widgets/Knob.cpp +++ b/src/gui/widgets/Knob.cpp @@ -313,8 +313,8 @@ void Knob::setTextColor( const QColor & c ) QLineF Knob::calculateLine( const QPointF & _mid, float _radius, float _innerRadius ) const { const float rarc = m_angle * numbers::pi_v / 180.0; - const float ca = cos( rarc ); - const float sa = -sin( rarc ); + const float ca = std::cos(rarc); + const float sa = -std::sin(rarc); return QLineF( _mid.x() - sa*_innerRadius, _mid.y() - ca*_innerRadius, _mid.x() - sa*_radius, _mid.y() - ca*_radius ); diff --git a/src/gui/widgets/LcdFloatSpinBox.cpp b/src/gui/widgets/LcdFloatSpinBox.cpp index 37d262e4b..4b476bc0c 100644 --- a/src/gui/widgets/LcdFloatSpinBox.cpp +++ b/src/gui/widgets/LcdFloatSpinBox.cpp @@ -43,6 +43,7 @@ #include "GuiApplication.h" #include "FontHelper.h" #include "MainWindow.h" +#include "lmms_math.h" namespace lmms::gui { @@ -109,7 +110,7 @@ void LcdFloatSpinBox::layoutSetup(const QString &style) void LcdFloatSpinBox::update() { - const int digitValue = std::pow(10.f, m_fractionDisplay.numDigits()); + const int digitValue = fastPow10f(m_fractionDisplay.numDigits()); float value = model()->value(); int fraction = std::abs(std::round((value - static_cast(value)) * digitValue)); if (fraction == digitValue) From 30216aac51a403d943ebda093972c07b603cb00b Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Sun, 9 Feb 2025 02:50:38 -0500 Subject: [PATCH 081/112] macOS: Change drag copy shortcut from Command to Option (#7325) macOS: Replace Command + Drag shortcut key with Option + Drag Add new header `KeyboardShortcuts.h` for platform-specific keyboard mappings --------- Co-authored-by: Michael Gregorius --- include/KeyboardShortcuts.h | 77 ++++++++++++++++++++++++ include/lmms_basics.h | 9 --- src/core/AutomationClip.cpp | 3 +- src/gui/AutomatableModelView.cpp | 3 +- src/gui/FileBrowser.cpp | 1 + src/gui/ProjectNotes.cpp | 1 + src/gui/StringPairDrag.cpp | 2 +- src/gui/clips/ClipView.cpp | 7 ++- src/gui/editors/PianoRoll.cpp | 1 + src/gui/editors/TimeLineWidget.cpp | 1 + src/gui/tracks/TrackOperationsWidget.cpp | 6 +- src/gui/widgets/Fader.cpp | 3 +- src/gui/widgets/FloatModelEditorBase.cpp | 3 +- src/gui/widgets/LcdFloatSpinBox.cpp | 3 +- src/gui/widgets/LcdSpinBox.cpp | 3 +- 15 files changed, 101 insertions(+), 22 deletions(-) create mode 100644 include/KeyboardShortcuts.h diff --git a/include/KeyboardShortcuts.h b/include/KeyboardShortcuts.h new file mode 100644 index 000000000..63f6be6bb --- /dev/null +++ b/include/KeyboardShortcuts.h @@ -0,0 +1,77 @@ +/* + * KeyboardShortcuts.h - Cross-platform handling of keyboard modifier keys + * + * Copyright (c) 2025 Michael Gregorius + * Copyright (c) 2025 Tres Finocchiaro + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef LMMS_KEYBOARDSHORTCUTS_H +#define LMMS_KEYBOARDSHORTCUTS_H + +#include "lmmsconfig.h" + +#include "qnamespace.h" + + +namespace lmms +{ + +// Qt on macOS maps: +// - ControlModifier --> Command keys +// - MetaModifier value --> Control keys +// - Qt::AltModifier --> Option keys +// +// Our UI hints need to be adjusted to accommodate for this +constexpr const char* UI_CTRL_KEY = +#ifdef LMMS_BUILD_APPLE +"⌘"; +#else +"Ctrl"; +#endif + +constexpr const char* UI_ALT_KEY = +#ifdef LMMS_BUILD_APPLE +"Option"; +#else +"Alt"; +#endif + +// UI hint for copying OR linking a UI component +// this MUST be consistent with KBD_COPY_MODIFIER +constexpr const char* UI_COPY_KEY = +#ifdef LMMS_BUILD_APPLE +UI_ALT_KEY; +#else +UI_CTRL_KEY; +#endif + +// Shortcut for copying OR linking a UI component +// this MUST be consistent with UI_COPY_KEY +constexpr Qt::KeyboardModifier KBD_COPY_MODIFIER = +#ifdef LMMS_BUILD_APPLE +Qt::AltModifier; +#else +Qt::ControlModifier; +#endif + +} // namespace lmms + +#endif // LMMS_KEYBOARDSHORTCUTS_H diff --git a/include/lmms_basics.h b/include/lmms_basics.h index 63a2bf3ad..ea9371603 100644 --- a/include/lmms_basics.h +++ b/include/lmms_basics.h @@ -69,15 +69,6 @@ constexpr char LADSPA_PATH_SEPERATOR = #define LMMS_STRINGIFY(s) LMMS_STR(s) #define LMMS_STR(PN) #PN -// Abstract away GUI CTRL key (linux/windows) vs ⌘ (apple) -constexpr const char* UI_CTRL_KEY = -#ifdef LMMS_BUILD_APPLE -"⌘"; -#else -"Ctrl"; -#endif - - } // namespace lmms #endif // LMMS_TYPES_H diff --git a/src/core/AutomationClip.cpp b/src/core/AutomationClip.cpp index 6d99abcc1..ef57a60d5 100644 --- a/src/core/AutomationClip.cpp +++ b/src/core/AutomationClip.cpp @@ -29,6 +29,7 @@ #include "AutomationNode.h" #include "AutomationClipView.h" #include "AutomationTrack.h" +#include "KeyboardShortcuts.h" #include "LocaleHelper.h" #include "Note.h" #include "PatternStore.h" @@ -952,7 +953,7 @@ QString AutomationClip::name() const { return m_objects.front()->fullDisplayName(); } - return tr( "Drag a control while pressing <%1>" ).arg(UI_CTRL_KEY); + return tr( "Drag a control while pressing <%1>" ).arg(UI_COPY_KEY); } diff --git a/src/gui/AutomatableModelView.cpp b/src/gui/AutomatableModelView.cpp index 0e364993f..2faf74064 100644 --- a/src/gui/AutomatableModelView.cpp +++ b/src/gui/AutomatableModelView.cpp @@ -31,6 +31,7 @@ #include "ControllerConnection.h" #include "embed.h" #include "GuiApplication.h" +#include "KeyboardShortcuts.h" #include "MainWindow.h" #include "StringPairDrag.h" #include "Clipboard.h" @@ -171,7 +172,7 @@ void AutomatableModelView::unsetModel() void AutomatableModelView::mousePressEvent( QMouseEvent* event ) { - if( event->button() == Qt::LeftButton && event->modifiers() & Qt::ControlModifier ) + if (event->button() == Qt::LeftButton && event->modifiers() & KBD_COPY_MODIFIER) { new gui::StringPairDrag( "automatable_model", QString::number( modelUntyped()->id() ), QPixmap(), widget() ); event->accept(); diff --git a/src/gui/FileBrowser.cpp b/src/gui/FileBrowser.cpp index a9f18d6fd..8985a0475 100644 --- a/src/gui/FileBrowser.cpp +++ b/src/gui/FileBrowser.cpp @@ -52,6 +52,7 @@ #include "Instrument.h" #include "InstrumentTrack.h" #include "InstrumentTrackWindow.h" +#include "KeyboardShortcuts.h" #include "MainWindow.h" #include "PatternStore.h" #include "PluginFactory.h" diff --git a/src/gui/ProjectNotes.cpp b/src/gui/ProjectNotes.cpp index a71f146c6..bf760ec21 100644 --- a/src/gui/ProjectNotes.cpp +++ b/src/gui/ProjectNotes.cpp @@ -40,6 +40,7 @@ #include "embed.h" #include "Engine.h" #include "GuiApplication.h" +#include "KeyboardShortcuts.h" #include "MainWindow.h" #include "Song.h" diff --git a/src/gui/StringPairDrag.cpp b/src/gui/StringPairDrag.cpp index 54f52c784..7dc123c36 100644 --- a/src/gui/StringPairDrag.cpp +++ b/src/gui/StringPairDrag.cpp @@ -61,7 +61,7 @@ StringPairDrag::StringPairDrag( const QString & _key, const QString & _value, auto m = new QMimeData(); m->setData( mimeType( MimeType::StringPair ), txt.toUtf8() ); setMimeData( m ); - exec( Qt::LinkAction, Qt::LinkAction ); + exec( Qt::CopyAction, Qt::CopyAction ); } diff --git a/src/gui/clips/ClipView.cpp b/src/gui/clips/ClipView.cpp index 09dc79607..194132819 100644 --- a/src/gui/clips/ClipView.cpp +++ b/src/gui/clips/ClipView.cpp @@ -41,6 +41,7 @@ #include "GuiApplication.h" #include "InstrumentTrack.h" #include "InstrumentTrackView.h" +#include "KeyboardShortcuts.h" #include "MidiClip.h" #include "MidiClipView.h" #include "Note.h" @@ -633,7 +634,7 @@ void ClipView::mousePressEvent( QMouseEvent * me ) auto pClip = dynamic_cast(m_clip); const bool knifeMode = m_trackView->trackContainerView()->knifeMode(); - if ( me->modifiers() & Qt::ControlModifier && !(sClip && knifeMode) ) + if (me->modifiers() & KBD_COPY_MODIFIER && !(sClip && knifeMode)) { if( isSelected() ) { @@ -726,7 +727,7 @@ void ClipView::mousePressEvent( QMouseEvent * me ) QString hint = m_action == Action::Move || m_action == Action::MoveSelection ? tr( "Press <%1> and drag to make a copy." ) : tr( "Press <%1> for free resizing." ); - m_hint = TextFloat::displayMessage( tr( "Hint" ), hint.arg(UI_CTRL_KEY), + m_hint = TextFloat::displayMessage( tr( "Hint" ), hint.arg(UI_COPY_KEY), embed::getIconPixmap( "hint" ), 0 ); } } @@ -824,7 +825,7 @@ void ClipView::mouseMoveEvent( QMouseEvent * me ) } } - if( me->modifiers() & Qt::ControlModifier ) + if (me->modifiers() & KBD_COPY_MODIFIER) { delete m_hint; m_hint = nullptr; diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index 387a10ab4..cbd68e7ff 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -57,6 +57,7 @@ #include "GuiApplication.h" #include "FontHelper.h" #include "InstrumentTrack.h" +#include "KeyboardShortcuts.h" #include "MainWindow.h" #include "MidiClip.h" #include "PatternStore.h" diff --git a/src/gui/editors/TimeLineWidget.cpp b/src/gui/editors/TimeLineWidget.cpp index f75b1cabf..bea6d43c0 100644 --- a/src/gui/editors/TimeLineWidget.cpp +++ b/src/gui/editors/TimeLineWidget.cpp @@ -37,6 +37,7 @@ #include "ConfigManager.h" #include "embed.h" #include "GuiApplication.h" +#include "KeyboardShortcuts.h" #include "NStateButton.h" #include "TextFloat.h" diff --git a/src/gui/tracks/TrackOperationsWidget.cpp b/src/gui/tracks/TrackOperationsWidget.cpp index def0a82cc..06e434674 100644 --- a/src/gui/tracks/TrackOperationsWidget.cpp +++ b/src/gui/tracks/TrackOperationsWidget.cpp @@ -40,6 +40,7 @@ #include "embed.h" #include "Engine.h" #include "InstrumentTrackView.h" +#include "KeyboardShortcuts.h" #include "PixmapButton.h" #include "Song.h" #include "StringPairDrag.h" @@ -180,9 +181,8 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : */ void TrackOperationsWidget::mousePressEvent( QMouseEvent * me ) { - if( me->button() == Qt::LeftButton && - me->modifiers() & Qt::ControlModifier && - m_trackView->getTrack()->type() != Track::Type::Pattern) + if (me->button() == Qt::LeftButton && me->modifiers() & KBD_COPY_MODIFIER && + m_trackView->getTrack()->type() != Track::Type::Pattern) { DataFile dataFile( DataFile::Type::DragNDropData ); m_trackView->getTrack()->saveState( dataFile, dataFile.content() ); diff --git a/src/gui/widgets/Fader.cpp b/src/gui/widgets/Fader.cpp index a647df416..9337f9258 100644 --- a/src/gui/widgets/Fader.cpp +++ b/src/gui/widgets/Fader.cpp @@ -55,6 +55,7 @@ #include "embed.h" #include "CaptionMenu.h" #include "ConfigManager.h" +#include "KeyboardShortcuts.h" #include "SimpleTextFloat.h" namespace lmms::gui @@ -125,7 +126,7 @@ void Fader::mouseMoveEvent(QMouseEvent* mouseEvent) void Fader::mousePressEvent(QMouseEvent* mouseEvent) { if (mouseEvent->button() == Qt::LeftButton && - !(mouseEvent->modifiers() & Qt::ControlModifier)) + !(mouseEvent->modifiers() & KBD_COPY_MODIFIER)) { AutomatableModel* thisModel = model(); if (thisModel) diff --git a/src/gui/widgets/FloatModelEditorBase.cpp b/src/gui/widgets/FloatModelEditorBase.cpp index 32ce564b6..540a586f5 100644 --- a/src/gui/widgets/FloatModelEditorBase.cpp +++ b/src/gui/widgets/FloatModelEditorBase.cpp @@ -33,6 +33,7 @@ #include "CaptionMenu.h" #include "ControllerConnection.h" #include "GuiApplication.h" +#include "KeyboardShortcuts.h" #include "LocaleHelper.h" #include "MainWindow.h" #include "ProjectJournal.h" @@ -155,7 +156,7 @@ void FloatModelEditorBase::dropEvent(QDropEvent * de) void FloatModelEditorBase::mousePressEvent(QMouseEvent * me) { if (me->button() == Qt::LeftButton && - ! (me->modifiers() & Qt::ControlModifier) && + ! (me->modifiers() & KBD_COPY_MODIFIER) && ! (me->modifiers() & Qt::ShiftModifier)) { AutomatableModel *thisModel = model(); diff --git a/src/gui/widgets/LcdFloatSpinBox.cpp b/src/gui/widgets/LcdFloatSpinBox.cpp index 4b476bc0c..75762b8a1 100644 --- a/src/gui/widgets/LcdFloatSpinBox.cpp +++ b/src/gui/widgets/LcdFloatSpinBox.cpp @@ -42,6 +42,7 @@ #include "embed.h" #include "GuiApplication.h" #include "FontHelper.h" +#include "KeyboardShortcuts.h" #include "MainWindow.h" #include "lmms_math.h" @@ -139,7 +140,7 @@ void LcdFloatSpinBox::mousePressEvent(QMouseEvent* event) m_intStep = event->x() < m_wholeDisplay.width(); if (event->button() == Qt::LeftButton && - !(event->modifiers() & Qt::ControlModifier) && + !(event->modifiers() & KBD_COPY_MODIFIER) && event->y() < m_wholeDisplay.cellHeight() + 2) { m_mouseMoving = true; diff --git a/src/gui/widgets/LcdSpinBox.cpp b/src/gui/widgets/LcdSpinBox.cpp index 3f12360cc..9d04d5fdb 100644 --- a/src/gui/widgets/LcdSpinBox.cpp +++ b/src/gui/widgets/LcdSpinBox.cpp @@ -28,6 +28,7 @@ #include #include "LcdSpinBox.h" +#include "KeyboardShortcuts.h" #include "CaptionMenu.h" @@ -79,7 +80,7 @@ void LcdSpinBox::contextMenuEvent(QContextMenuEvent* event) void LcdSpinBox::mousePressEvent( QMouseEvent* event ) { if( event->button() == Qt::LeftButton && - ! ( event->modifiers() & Qt::ControlModifier ) && + ! (event->modifiers() & KBD_COPY_MODIFIER) && event->y() < cellHeight() + 2 ) { m_mouseMoving = true; From 67d4a1ca6199dee69fa24f325526a995e5ec9693 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Mon, 10 Feb 2025 02:06:21 -0500 Subject: [PATCH 082/112] Improve Qt5 detection on macOS (#7699) * Improve Qt5 detection on macOS --- .github/workflows/build.yml | 1 - cmake/modules/DetectMachine.cmake | 29 ++++++++++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dba43292d..d15cf93b9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -206,7 +206,6 @@ jobs: mkdir build cmake -S . \ -B build \ - -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)" \ -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \ $CMAKE_OPTS \ -DUSE_WERROR=OFF diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake index 8d6b84af4..7c3da342c 100644 --- a/cmake/modules/DetectMachine.cmake +++ b/cmake/modules/DetectMachine.cmake @@ -165,15 +165,26 @@ IF(LMMS_BUILD_APPLE) # Detect Homebrew versus Macports environment EXECUTE_PROCESS(COMMAND brew --prefix RESULT_VARIABLE DETECT_HOMEBREW OUTPUT_VARIABLE HOMEBREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) EXECUTE_PROCESS(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - IF(${DETECT_HOMEBREW} EQUAL 0) - SET(HOMEBREW 1) - SET(APPLE_PREFIX "${HOMEBREW_PREFIX}") - ELSEIF(${DETECT_MACPORTS} EQUAL 0) - SET(MACPORTS 1) - GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY) - GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY) - SET(APPLE_PREFIX "${MACPORTS_PREFIX}") - LINK_DIRECTORIES(${LINK_DIRECTORIES} ${APPLE_PREFIX}/lib) + IF(DETECT_HOMEBREW EQUAL 0) + SET(HOMEBREW 1) + SET(APPLE_PREFIX "${HOMEBREW_PREFIX}") + # Configure Qt + SET(Qt5_DIR "${HOMEBREW_PREFIX}/opt/qt@5/lib/cmake/Qt5") + SET(Qt5Test_DIR "${HOMEBREW_PREFIX}/opt/qt@5/lib/cmake/Qt5Test") + SET(Qt6_DIR "${HOMEBREW_PREFIX}/opt/qt@6/lib/cmake/Qt6") + SET(Qt6Test_DIR "${HOMEBREW_PREFIX}/opt/qt@6/lib/cmake/Qt6Test") + ELSEIF(DETECT_MACPORTS EQUAL 0) + SET(MACPORTS 1) + # move up two directories + GET_FILENAME_COMPONENT(MACPORTS_PREFIX "${MACPORTS_PREFIX}" DIRECTORY) + GET_FILENAME_COMPONENT(MACPORTS_PREFIX "${MACPORTS_PREFIX}" DIRECTORY) + SET(APPLE_PREFIX "${MACPORTS_PREFIX}") + # Configure Qt + SET(Qt5_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt5") + SET(Qt5Test_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt5Test") + SET(Qt6_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt6") + SET(Qt6Test_DIR "${MACPORTS_PREFIX}/lib/cmake/Qt6Test") + LINK_DIRECTORIES(${LINK_DIRECTORIES} ${APPLE_PREFIX}/lib) ENDIF() # Detect OS Version From 7d271e4f397abe73739d59dd9b916bda394821b3 Mon Sep 17 00:00:00 2001 From: Dalton Messmer Date: Wed, 12 Feb 2025 20:19:13 -0500 Subject: [PATCH 083/112] Fix vcpkg builds (#7702) * Try to fix MSVC linker error related to lilv * Remove temporary workaround * Temporary debugging messages * oops * Temporary debugging * Try to find FluidSynth using Config mode first * Try again to fix lilv * Fix FluidSynth installed with vcpkg on Windows * Fix lilv from vcpkg * Remove debug flag * Fix for when lilv is not found (*-NOTFOUND evaluates to false) * Use lowercase package name for lv2 * Try using only pkg_check_modules for lv2 * Use Lilv::lilv * Add pkg-config guard back in * Fix package name Co-authored-by: Tres Finocchiaro * Fix Lilv_INCLUDE_DIRS * Rename vcpkg cache key --------- Co-authored-by: Tres Finocchiaro --- .github/workflows/build.yml | 10 ++----- CMakeLists.txt | 45 ++++++++++++++-------------- cmake/modules/FindFluidSynth.cmake | 2 +- cmake/modules/FindLilv.cmake | 19 ++++++++++++ plugins/Lv2Effect/CMakeLists.txt | 2 +- plugins/Lv2Instrument/CMakeLists.txt | 2 +- src/CMakeLists.txt | 10 +++---- 7 files changed, 51 insertions(+), 39 deletions(-) create mode 100644 cmake/modules/FindLilv.cmake diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d15cf93b9..f63ab83ee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -317,19 +317,13 @@ jobs: with: fetch-depth: 0 submodules: recursive - - name: Update vcpkg (TEMPORARY) - run: | - cd $env:VCPKG_INSTALLATION_ROOT - git pull - .\bootstrap-vcpkg.bat - shell: pwsh - name: Cache vcpkg dependencies id: cache-deps uses: actions/cache@v3 with: - key: vcpkg-x64-${{ hashFiles('vcpkg.json') }} + key: vcpkg-msvc-x86_64-${{ hashFiles('vcpkg.json') }} restore-keys: | - vcpkg-x64- + vcpkg-msvc-x86_64- path: build\vcpkg_installed - name: Cache ccache data uses: actions/cache@v3 diff --git a/CMakeLists.txt b/CMakeLists.txt index 84089ede3..3c01bebf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,29 +240,28 @@ if(LMMS_BUILD_APPLE) endif() find_package(Perl) -IF(WANT_LV2) - IF(PKG_CONFIG_FOUND) - PKG_CHECK_MODULES(LV2 lv2) - PKG_CHECK_MODULES(LILV lilv-0) - ENDIF() - IF(NOT LV2_FOUND AND NOT LILV_FOUND) - UNSET(LV2_FOUND CACHE) - UNSET(LILV_FOUND CACHE) - FIND_PACKAGE(LV2 CONFIG) - FIND_PACKAGE(LILV CONFIG) - IF(LILV_FOUND) - SET(LILV_LIBRARIES "lilv::lilv") - ENDIF() - ENDIF() - IF(LV2_FOUND AND LILV_FOUND) - SET(LMMS_HAVE_LV2 TRUE) - SET(STATUS_LV2 "OK") - ELSE() - SET(STATUS_LV2 "not found, install it or set PKG_CONFIG_PATH appropriately") - ENDIF() -ELSE(WANT_LV2) - SET(STATUS_LV2 "not built as requested") -ENDIF(WANT_LV2) +if(WANT_LV2) + if(PKG_CONFIG_FOUND) + pkg_check_modules(LV2 lv2) + endif() + + find_package(Lilv) + if(Lilv_FOUND) + set(LILV_LIBRARIES Lilv::lilv) + endif() + + # Ensure both dependencies are found + if(NOT LV2_FOUND) + set(STATUS_LV2 "not found, install lv2 or set PKG_CONFIG_PATH appropriately") + elseif(NOT Lilv_FOUND) + set(STATUS_LV2 "not found, install lilv or set PKG_CONFIG_PATH appropriately") + else() + set(LMMS_HAVE_LV2 TRUE) + set(STATUS_LV2 "OK") + endif() +else() + set(STATUS_LV2 "not built as requested") +endif() IF(WANT_SUIL) IF(PKG_CONFIG_FOUND) diff --git a/cmake/modules/FindFluidSynth.cmake b/cmake/modules/FindFluidSynth.cmake index 70c40b8d8..d83fd31ca 100644 --- a/cmake/modules/FindFluidSynth.cmake +++ b/cmake/modules/FindFluidSynth.cmake @@ -22,7 +22,7 @@ find_path(FluidSynth_INCLUDE_DIR ) find_library(FluidSynth_LIBRARY - NAMES "fluidsynth" + NAMES "fluidsynth" "fluidsynth-3" "fluidsynth-2" "fluidsynth-1" HINTS ${FLUIDSYNTH_PKG_LIBRARY_DIRS} ) diff --git a/cmake/modules/FindLilv.cmake b/cmake/modules/FindLilv.cmake new file mode 100644 index 000000000..d9124de38 --- /dev/null +++ b/cmake/modules/FindLilv.cmake @@ -0,0 +1,19 @@ +# Copyright (c) 2025 Dalton Messmer +# +# Redistribution and use is allowed according to the terms of the New BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +include(ImportedTargetHelpers) + +find_package_config_mode_with_fallback(Lilv Lilv::lilv + LIBRARY_NAMES "lilv" "lilv-0" + INCLUDE_NAMES "lilv/lilv.h" + PKG_CONFIG "lilv-0" +) + +include(FindPackageHandleStandardArgs) + +find_package_handle_standard_args(Lilv + REQUIRED_VARS Lilv_LIBRARY Lilv_INCLUDE_DIRS + VERSION_VAR Lilv_VERSION +) diff --git a/plugins/Lv2Effect/CMakeLists.txt b/plugins/Lv2Effect/CMakeLists.txt index e0427eaa3..ca5658172 100644 --- a/plugins/Lv2Effect/CMakeLists.txt +++ b/plugins/Lv2Effect/CMakeLists.txt @@ -1,6 +1,6 @@ IF(LMMS_HAVE_LV2) include_directories(SYSTEM ${LV2_INCLUDE_DIRS}) - include_directories(SYSTEM ${LILV_INCLUDE_DIRS}) + include_directories(SYSTEM ${Lilv_INCLUDE_DIRS}) include_directories(SYSTEM ${SUIL_INCLUDE_DIRS}) INCLUDE(BuildPlugin) BUILD_PLUGIN(lv2effect Lv2Effect.cpp Lv2FxControls.cpp Lv2FxControlDialog.cpp Lv2Effect.h Lv2FxControls.h Lv2FxControlDialog.h diff --git a/plugins/Lv2Instrument/CMakeLists.txt b/plugins/Lv2Instrument/CMakeLists.txt index e10eff692..a316a0fa7 100644 --- a/plugins/Lv2Instrument/CMakeLists.txt +++ b/plugins/Lv2Instrument/CMakeLists.txt @@ -1,6 +1,6 @@ IF(LMMS_HAVE_LV2) include_directories(SYSTEM ${LV2_INCLUDE_DIRS}) - include_directories(SYSTEM ${LILV_INCLUDE_DIRS}) + include_directories(SYSTEM ${Lilv_INCLUDE_DIRS}) include_directories(SYSTEM ${SUIL_INCLUDE_DIRS}) INCLUDE(BuildPlugin) BUILD_PLUGIN(lv2instrument Lv2Instrument.cpp Lv2Instrument.h MOCFILES Lv2Instrument.h EMBEDDED_RESOURCES logo.png) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55f416fae..9612190bf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -60,19 +60,19 @@ include_directories(SYSTEM ${FFTW3F_INCLUDE_DIRS} ) -IF(NOT ("${PULSEAUDIO_INCLUDE_DIR}" STREQUAL "")) +IF(PULSEAUDIO_INCLUDE_DIR) include_directories(SYSTEM "${PULSEAUDIO_INCLUDE_DIR}") ENDIF() -IF(NOT ("${LV2_INCLUDE_DIRS}" STREQUAL "")) +IF(LV2_INCLUDE_DIRS) include_directories(SYSTEM ${LV2_INCLUDE_DIRS}) ENDIF() -IF(NOT ("${LILV_INCLUDE_DIRS}" STREQUAL "")) - include_directories(SYSTEM ${LILV_INCLUDE_DIRS}) +IF(Lilv_INCLUDE_DIRS) + include_directories(SYSTEM ${Lilv_INCLUDE_DIRS}) ENDIF() -IF(NOT ("${SUIL_INCLUDE_DIRS}" STREQUAL "")) +IF(SUIL_INCLUDE_DIRS) include_directories(SYSTEM ${SUIL_INCLUDE_DIRS}) ENDIF() From e615046d781f544d16d2ba73f37591308989bf2b Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Thu, 13 Feb 2025 01:23:37 -0500 Subject: [PATCH 084/112] Add VST64 targets for Linux ARM64 (#7687) Initial support for winegcc on ARM64 --- .github/workflows/build.yml | 2 -- cmake/modules/CheckWineGcc.cmake | 14 +++++++++++++- cmake/modules/FindWine.cmake | 9 +++++++-- plugins/VstBase/RemoteVstPlugin64.cmake | 5 ++++- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f63ab83ee..a46420ef2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -116,8 +116,6 @@ jobs: ccache --zero-stats cmake -S . \ -B build \ - -DWANT_VST_32=OFF \ - -DWANT_VST_64=OFF \ $CMAKE_OPTS - name: Build run: cmake --build build diff --git a/cmake/modules/CheckWineGcc.cmake b/cmake/modules/CheckWineGcc.cmake index 2956198d8..d1694924b 100644 --- a/cmake/modules/CheckWineGcc.cmake +++ b/cmake/modules/CheckWineGcc.cmake @@ -9,7 +9,19 @@ FUNCTION(CheckWineGcc BITNESS WINEGCC_EXECUTABLE RESULT) return 0; } ") - EXECUTE_PROCESS(COMMAND ${WINEGCC_EXECUTABLE} "-m${BITNESS}" + + # Handle non-Intel platforms + IF(LMMS_HOST_X86_64 OR LMMS_HOST_X86) + SET(MPLATFORM "-m${BITNESS}") + ELSEIF(BITNESS EQUAL 64) + SET(MPLATFORM "") + ELSE() + # Skip 32-bit for non-Intel + SET(${RESULT} False PARENT_SCOPE) + RETURN() + ENDIF() + + EXECUTE_PROCESS(COMMAND ${WINEGCC_EXECUTABLE} "${MPLATFORM}" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test.cxx" "-o" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test" OUTPUT_QUIET ERROR_QUIET diff --git a/cmake/modules/FindWine.cmake b/cmake/modules/FindWine.cmake index eeef8d9c2..ea8d90cd2 100644 --- a/cmake/modules/FindWine.cmake +++ b/cmake/modules/FindWine.cmake @@ -73,8 +73,13 @@ FIND_PROGRAM(WINE_BUILD NAMES winebuild PATHS ${WINE_CXX_LOCATIONS} NO_DEFAULT_P # Detect wine paths and handle linking problems IF(WINE_CXX) # call wineg++ to obtain implied includes and libs - execute_process(COMMAND ${WINE_CXX} -m32 -v /dev/zero OUTPUT_VARIABLE WINEBUILD_OUTPUT_32 ERROR_QUIET) - execute_process(COMMAND ${WINE_CXX} -m64 -v /dev/zero OUTPUT_VARIABLE WINEBUILD_OUTPUT_64 ERROR_QUIET) + if(LMMS_HOST_X86_64 OR LMMS_HOST_X86) + execute_process(COMMAND ${WINE_CXX} -m32 -v /dev/zero OUTPUT_VARIABLE WINEBUILD_OUTPUT_32 ERROR_QUIET) + execute_process(COMMAND ${WINE_CXX} -m64 -v /dev/zero OUTPUT_VARIABLE WINEBUILD_OUTPUT_64 ERROR_QUIET) + else() + execute_process(COMMAND ${WINE_CXX} -v /dev/zero OUTPUT_VARIABLE WINEBUILD_OUTPUT_64 ERROR_QUIET) + endif() + _findwine_find_flags("${WINEBUILD_OUTPUT_32}" "^-isystem/usr/include$" BUGGED_WINEGCC) _findwine_find_flags("${WINEBUILD_OUTPUT_32}" "^-isystem" WINEGCC_INCLUDE_DIR) _findwine_find_flags("${WINEBUILD_OUTPUT_32}" "libwinecrt0\\.a.*" WINECRT_32) diff --git a/plugins/VstBase/RemoteVstPlugin64.cmake b/plugins/VstBase/RemoteVstPlugin64.cmake index 2f4a745ac..a36d1777f 100644 --- a/plugins/VstBase/RemoteVstPlugin64.cmake +++ b/plugins/VstBase/RemoteVstPlugin64.cmake @@ -1,12 +1,15 @@ IF(LMMS_BUILD_WIN64) ADD_SUBDIRECTORY(RemoteVstPlugin) ELSEIF(LMMS_BUILD_LINUX) + if(LMMS_HOST_X86_64) + set(CXX_FLAGS -m64) + endif() ExternalProject_Add(RemoteVstPlugin64 "${EXTERNALPROJECT_ARGS}" CMAKE_ARGS "${EXTERNALPROJECT_CMAKE_ARGS}" "-DCMAKE_CXX_COMPILER=${WINEGCC}" - "-DCMAKE_CXX_FLAGS=-m64" + "-DCMAKE_CXX_FLAGS=${CXX_FLAGS}" ) INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64.exe.so" DESTINATION "${PLUGIN_DIR}") ENDIF() From e328a136fc882672859e10ed7d67af60cb5bff8f Mon Sep 17 00:00:00 2001 From: Fawn Date: Thu, 13 Feb 2025 11:15:08 -0700 Subject: [PATCH 085/112] Use C++20 std::numbers, std::lerp() (#7696) * use c++20 concepts and numbers for lmms_constants.h * replace lmms::numbers::sqrt2 with std::numbers::sqrt2 * replace lmms::numbers::e with std::numbers::e Also replace the only use of lmms::numbers::inv_e with a local constexpr instead * remove lmms::numbers::pi_half and lmms::numbers::pi_sqr They were only used in one or two places each * replace lmms::numbers::pi with std::numbers::pi * add #include to every file touched so far This is probably not needed for some of these files. I'll remove those later * Remove lmms::numbers Rest in peace lmms::numbers::tau, my beloved * Add missing #include * replace stray use of F_EPSILON with approximatelyEqual() * make many constants inline constexpr A lot of the remaining constants in lmms_constants.h are specific to SaProcessor. If they are only used there, shouldn't they be in SaProcessor.h? * ok then, it's allowed to be signed * remove #include "lmms_constants.h" for files that don't need it - And also move F_EPSILON into lmms_math.h - And also add an overload for fast_rand() to specify a higher and lower bound - And a bunch of other nonsense * ok then, it's allowed to be inferred * ok then, it can accept an integral * fix typo * appease msvc * appease msvc again * Replace linearInterpolate with std::lerp() As well as time travel to undo several foolish decisions and squash tiny commits together * Fix msvc constexpr warnings * Fix msvc float to double truncation warning * Apply two suggestions from code review Co-authored-by: Dalton Messmer * Apply suggestions from code review Co-authored-by: Dalton Messmer * fix silly mistake * Remove SlicerT's dependence on lmms_math.h * Allow more type inference on fastRand() and fastPow10f() * Apply suggestions from code review Co-authored-by: Dalton Messmer * Clean up fastRand() a little bit more --------- Co-authored-by: Dalton Messmer --- include/BandLimitedWave.h | 4 +- include/BasicFilters.h | 30 ++++--- include/ColorHelper.h | 10 ++- include/Delay.h | 14 +-- include/DspEffectLibrary.h | 5 +- include/Oscillator.h | 21 ++--- include/QuadratureLfo.h | 9 +- include/interpolation.h | 11 +-- include/lmms_constants.h | 90 +++++-------------- include/lmms_math.h | 78 +++++++++------- plugins/BitInvader/BitInvader.cpp | 7 +- plugins/Bitcrush/Bitcrush.cpp | 5 +- plugins/Compressor/Compressor.cpp | 19 ++-- .../Compressor/CompressorControlDialog.cpp | 16 +++- plugins/Delay/Lfo.cpp | 3 +- plugins/Delay/Lfo.h | 8 +- plugins/Dispersion/Dispersion.cpp | 2 +- .../DynamicsProcessor/DynamicsProcessor.cpp | 6 +- plugins/Eq/EqCurve.cpp | 16 ++-- plugins/Eq/EqFilter.h | 16 ++-- plugins/Eq/EqParameterWidget.cpp | 3 +- plugins/Eq/EqSpectrumView.cpp | 9 +- plugins/Flanger/FlangerEffect.cpp | 9 +- .../GranularPitchShifterEffect.cpp | 12 ++- .../GranularPitchShifterEffect.h | 15 ++-- plugins/Kicker/KickerOsc.h | 5 +- plugins/LOMM/LOMM.cpp | 13 +-- plugins/LOMM/LOMM.h | 1 - plugins/Monstro/Monstro.cpp | 12 ++- plugins/MultitapEcho/MultitapEcho.cpp | 1 + plugins/MultitapEcho/MultitapEcho.h | 2 +- plugins/Nes/Nes.cpp | 5 +- plugins/SlicerT/SlicerT.cpp | 4 +- plugins/Stk/Mallets/Mallets.cpp | 13 +-- plugins/Watsyn/Watsyn.cpp | 65 ++++++++------ plugins/WaveShaper/WaveShaper.cpp | 5 +- plugins/Xpressive/ExprSynth.cpp | 9 +- plugins/Xpressive/Xpressive.cpp | 5 +- src/core/BandLimitedWave.cpp | 13 +-- src/core/DrumSynth.cpp | 30 +++---- src/core/Effect.cpp | 4 +- src/core/Instrument.cpp | 7 +- src/core/NotePlayHandle.cpp | 2 +- src/core/Oscillator.cpp | 15 ++-- src/core/ValueBuffer.cpp | 7 +- src/core/fft_helpers.cpp | 9 +- src/gui/widgets/Knob.cpp | 3 +- 47 files changed, 327 insertions(+), 321 deletions(-) diff --git a/include/BandLimitedWave.h b/include/BandLimitedWave.h index 1c1a052ca..c70b8f6eb 100644 --- a/include/BandLimitedWave.h +++ b/include/BandLimitedWave.h @@ -156,11 +156,11 @@ public: t += 1; const sample_t s3 = s_waveforms[ static_cast(_wave) ].sampleAt( t, lookup ); const sample_t s4 = s_waveforms[ static_cast(_wave) ].sampleAt( t, ( lookup + 1 ) % tlen ); - const sample_t s34 = linearInterpolate( s3, s4, ip ); + const sample_t s34 = std::lerp(s3, s4, ip); const float ip2 = ( ( tlen - _wavelen ) / tlen - 0.5 ) * 2.0; - return linearInterpolate( s12, s34, ip2 ); + return std::lerp(s12, s34, ip2); */ }; diff --git a/include/BasicFilters.h b/include/BasicFilters.h index c4664009c..51d617480 100644 --- a/include/BasicFilters.h +++ b/include/BasicFilters.h @@ -31,12 +31,12 @@ #ifndef LMMS_BASIC_FILTERS_H #define LMMS_BASIC_FILTERS_H -#include +#include #include +#include +#include #include "lmms_basics.h" -#include "lmms_constants.h" -#include "interpolation.h" namespace lmms { @@ -69,21 +69,22 @@ public: inline void setCoeffs( float freq ) { + using namespace std::numbers; // wc - const double wc = numbers::tau * freq; + const double wc = 2 * pi * freq; const double wc2 = wc * wc; const double wc3 = wc2 * wc; m_wc4 = wc2 * wc2; // k - const double k = wc / std::tan(numbers::pi * freq / m_sampleRate); + const double k = wc / std::tan(pi * freq / m_sampleRate); const double k2 = k * k; const double k3 = k2 * k; m_k4 = k2 * k2; // a - const double sq_tmp1 = numbers::sqrt2 * wc3 * k; - const double sq_tmp2 = numbers::sqrt2 * wc * k3; + const double sq_tmp1 = sqrt2 * wc3 * k; + const double sq_tmp2 = sqrt2 * wc * k3; m_a = 1.0 / ( 4.0 * wc2 * k2 + 2.0 * sq_tmp1 + m_k4 + 2.0 * sq_tmp2 + m_wc4 ); @@ -206,7 +207,7 @@ public: inline float update( float s, ch_cnt_t ch ) { - if (std::abs(s) < 1.0e-10f && std::abs(m_z1[ch]) < 1.0e-10f) return 0.0f; + if (std::abs(s) < 1.0e-10f && std::abs(m_z1[ch]) < 1.0e-10f) { return 0.0f; } return m_z1[ch] = s * m_a0 + m_z1[ch] * m_b1; } @@ -375,7 +376,7 @@ public: for( int i = 0; i < 4; ++i ) { ip += 0.25f; - sample_t x = linearInterpolate( m_last[_chnl], _in0, ip ) - m_r * m_y3[_chnl]; + sample_t x = std::lerp(m_last[_chnl], _in0, ip) - m_r * m_y3[_chnl]; m_y1[_chnl] = std::clamp((x + m_oldx[_chnl]) * m_p - m_k * m_y1[_chnl], -10.0f, @@ -701,6 +702,7 @@ public: inline void calcFilterCoeffs( float _freq, float _q ) { + using namespace std::numbers; // temp coef vars _q = std::max(_q, minQ()); @@ -713,7 +715,7 @@ public: { _freq = std::clamp(_freq, 50.0f, 20000.0f); const float sr = m_sampleRatio * 0.25f; - const float f = 1.0f / (_freq * numbers::tau_v); + const float f = 1.0f / (_freq * 2 * pi_v); m_rca = 1.0f - sr / ( f + sr ); m_rcb = 1.0f - m_rca; @@ -746,8 +748,8 @@ public: const float fract = vowelf - vowel; // interpolate between formant frequencies - const float f0 = 1.0f / (linearInterpolate(_f[vowel+0][0], _f[vowel+1][0], fract) * numbers::tau_v); - const float f1 = 1.0f / (linearInterpolate(_f[vowel+0][1], _f[vowel+1][1], fract) * numbers::tau_v); + const float f0 = 1.f / (std::lerp(_f[vowel+0][0], _f[vowel+1][0], fract) * 2 * pi_v); + const float f1 = 1.f / (std::lerp(_f[vowel+0][1], _f[vowel+1][1], fract) * 2 * pi_v); // samplerate coeff: depends on oversampling const float sr = m_type == FilterType::FastFormant ? m_sampleRatio : m_sampleRatio * 0.25f; @@ -796,7 +798,7 @@ public: m_type == FilterType::Highpass_SV || m_type == FilterType::Notch_SV ) { - const float f = std::sin(std::max(minFreq(), _freq) * m_sampleRatio * numbers::pi_v); + const float f = std::sin(std::max(minFreq(), _freq) * m_sampleRatio * pi_v); m_svf1 = std::min(f, 0.825f); m_svf2 = std::min(f * 2.0f, 0.825f); m_svq = std::max(0.0001f, 2.0f - (_q * 0.1995f)); @@ -805,7 +807,7 @@ public: // other filters _freq = std::clamp(_freq, minFreq(), 20000.0f); - const float omega = numbers::tau_v * _freq * m_sampleRatio; + const float omega = 2 * pi_v * _freq * m_sampleRatio; const float tsin = std::sin(omega) * 0.5f; const float tcos = std::cos(omega); diff --git a/include/ColorHelper.h b/include/ColorHelper.h index 78f99b9e2..b313d9b46 100644 --- a/include/ColorHelper.h +++ b/include/ColorHelper.h @@ -24,6 +24,7 @@ #ifndef LMMS_GUI_COLOR_HELPER_H #define LMMS_GUI_COLOR_HELPER_H +#include #include namespace lmms::gui @@ -40,10 +41,11 @@ public: qreal br, bg, bb, ba; b.getRgbF(&br, &bg, &bb, &ba); - const float interH = lerp(ar, br, t); - const float interS = lerp(ag, bg, t); - const float interV = lerp(ab, bb, t); - const float interA = lerp(aa, ba, t); + const auto t2 = static_cast(t); + const float interH = std::lerp(ar, br, t2); + const float interS = std::lerp(ag, bg, t2); + const float interV = std::lerp(ab, bb, t2); + const float interA = std::lerp(aa, ba, t2); return QColor::fromRgbF(interH, interS, interV, interA); } diff --git a/include/Delay.h b/include/Delay.h index 71fbe1b00..8ead1c37b 100644 --- a/include/Delay.h +++ b/include/Delay.h @@ -26,9 +26,9 @@ #ifndef LMMS_DELAY_H #define LMMS_DELAY_H +#include + #include "lmms_basics.h" -#include "lmms_math.h" -#include "interpolation.h" namespace lmms { @@ -114,7 +114,7 @@ public: int readPos = m_position - m_delay; if( readPos < 0 ) { readPos += m_size; } - const double y = linearInterpolate( m_buffer[readPos][ch], m_buffer[( readPos + 1 ) % m_size][ch], m_fraction ); + const double y = std::lerp(m_buffer[readPos][ch], m_buffer[(readPos + 1) % m_size][ch], m_fraction); ++m_position %= m_size; @@ -185,7 +185,7 @@ class CombFeedfwd int readPos = m_position - m_delay; if( readPos < 0 ) { readPos += m_size; } - const double y = linearInterpolate( m_buffer[readPos][ch], m_buffer[( readPos + 1 ) % m_size][ch], m_fraction ) + in * m_gain; + const double y = std::lerp(m_buffer[readPos][ch], m_buffer[(readPos + 1) % m_size][ch], m_fraction) + in * m_gain; ++m_position %= m_size; @@ -262,8 +262,8 @@ class CombFeedbackDualtap int readPos2 = m_position - m_delay2; if( readPos2 < 0 ) { readPos2 += m_size; } - const double y = linearInterpolate( m_buffer[readPos1][ch], m_buffer[( readPos1 + 1 ) % m_size][ch], m_fraction1 ) + - linearInterpolate( m_buffer[readPos2][ch], m_buffer[( readPos2 + 1 ) % m_size][ch], m_fraction2 ); + const double y = std::lerp(m_buffer[readPos1][ch], m_buffer[(readPos1 + 1) % m_size][ch], m_fraction1) + + std::lerp(m_buffer[readPos2][ch], m_buffer[(readPos2 + 1) % m_size][ch], m_fraction2); ++m_position %= m_size; @@ -337,7 +337,7 @@ public: int readPos = m_position - m_delay; if( readPos < 0 ) { readPos += m_size; } - const double y = linearInterpolate( m_buffer[readPos][ch], m_buffer[( readPos + 1 ) % m_size][ch], m_fraction ) + in * -m_gain; + const double y = std::lerp(m_buffer[readPos][ch], m_buffer[(readPos + 1) % m_size][ch], m_fraction) + in * -m_gain; const double x = in + m_gain * y; ++m_position %= m_size; diff --git a/include/DspEffectLibrary.h b/include/DspEffectLibrary.h index 55afb69f7..656d5b1dd 100644 --- a/include/DspEffectLibrary.h +++ b/include/DspEffectLibrary.h @@ -25,8 +25,9 @@ #ifndef LMMS_DSPEFFECTLIBRARY_H #define LMMS_DSPEFFECTLIBRARY_H +#include + #include "lmms_math.h" -#include "lmms_constants.h" #include "lmms_basics.h" #include "SampleFrame.h" @@ -328,7 +329,7 @@ namespace lmms::DspEffectLibrary void nextSample( sample_t& inLeft, sample_t& inRight ) { - const float toRad = numbers::pi_v / 180; + constexpr float toRad = std::numbers::pi_v / 180.f; const sample_t tmp = inLeft; inLeft += inRight * std::sin(m_wideCoeff * toRad * .5f); inRight -= tmp * std::sin(m_wideCoeff * toRad * .5f); diff --git a/include/Oscillator.h b/include/Oscillator.h index 10fc64925..648fe3bb8 100644 --- a/include/Oscillator.h +++ b/include/Oscillator.h @@ -30,10 +30,10 @@ #include #include #include -#include "interpolation.h" +#include #include "Engine.h" -#include "lmms_constants.h" +#include "lmms_math.h" #include "lmmsconfig.h" #include "AudioEngine.h" #include "OscillatorConstants.h" @@ -114,7 +114,7 @@ public: // now follow the wave-shape-routines... static inline sample_t sinSample( const float _sample ) { - return std::sin(_sample * numbers::tau_v); + return std::sin(_sample * 2 * std::numbers::pi_v); } static inline sample_t triangleSample( const float _sample ) @@ -173,7 +173,7 @@ public: const auto frame = absFraction(sample) * frames; const auto f1 = static_cast(frame); - return linearInterpolate(buffer->data()[f1][0], buffer->data()[(f1 + 1) % frames][0], fraction(frame)); + return std::lerp(buffer->data()[f1][0], buffer->data()[(f1 + 1) % frames][0], fraction(frame)); } struct wtSampleControl { @@ -202,24 +202,25 @@ public: { assert(table != nullptr); wtSampleControl control = getWtSampleControl(sample); - return linearInterpolate(table[control.band][control.f1], - table[control.band][control.f2], fraction(control.frame)); + return std::lerp(table[control.band][control.f1], table[control.band][control.f2], fraction(control.frame)); } sample_t wtSample(const OscillatorConstants::waveform_t* table, const float sample) const { assert(table != nullptr); wtSampleControl control = getWtSampleControl(sample); - return linearInterpolate((*table)[control.band][control.f1], - (*table)[control.band][control.f2], fraction(control.frame)); + return std::lerp( + (*table)[control.band][control.f1], + (*table)[control.band][control.f2], + fraction(control.frame) + ); } inline sample_t wtSample(sample_t **table, const float sample) const { assert(table != nullptr); wtSampleControl control = getWtSampleControl(sample); - return linearInterpolate(table[control.band][control.f1], - table[control.band][control.f2], fraction(control.frame)); + return std::lerp(table[control.band][control.f1], table[control.band][control.f2], fraction(control.frame)); } static inline int waveTableBandFromFreq(float freq) diff --git a/include/QuadratureLfo.h b/include/QuadratureLfo.h index 72734a8b0..bece17c5a 100644 --- a/include/QuadratureLfo.h +++ b/include/QuadratureLfo.h @@ -25,7 +25,8 @@ #ifndef LMMS_QUADRATURE_LFO_H #define LMMS_QUADRATURE_LFO_H -#include "lmms_math.h" +#include +#include namespace lmms { @@ -37,7 +38,7 @@ public: QuadratureLfo( int sampleRate ) : m_frequency(0), m_phase(0), - m_offset(numbers::pi_half) + m_offset(std::numbers::pi * 0.5) { setSampleRate(sampleRate); } @@ -64,7 +65,7 @@ public: inline void setSampleRate ( int samplerate ) { m_samplerate = samplerate; - m_twoPiOverSr = numbers::tau_v / samplerate; + m_twoPiOverSr = 2 * std::numbers::pi_v / samplerate; m_increment = m_frequency * m_twoPiOverSr; } @@ -80,7 +81,7 @@ public: *l = std::sin(m_phase); *r = std::sin(m_phase + m_offset); m_phase += m_increment; - while (m_phase >= numbers::tau) { m_phase -= numbers::tau; } + m_phase = std::fmod(m_phase, 2 * std::numbers::pi); } private: diff --git a/include/interpolation.h b/include/interpolation.h index de9a94480..83e24e5ae 100644 --- a/include/interpolation.h +++ b/include/interpolation.h @@ -26,8 +26,7 @@ #define LMMS_INTERPOLATION_H #include -#include "lmms_constants.h" -#include "lmms_math.h" +#include namespace lmms { @@ -78,17 +77,11 @@ inline float cubicInterpolate( float v0, float v1, float v2, float v3, float x ) inline float cosinusInterpolate( float v0, float v1, float x ) { - const float f = (1.0f - std::cos(x * numbers::pi_v)) * 0.5f; + const float f = (1.0f - std::cos(x * std::numbers::pi_v)) * 0.5f; return f * (v1 - v0) + v0; } -inline float linearInterpolate( float v0, float v1, float x ) -{ - return x * (v1 - v0) + v0; -} - - inline float optimalInterpolate( float v0, float v1, float x ) { const float z = x - 0.5f; diff --git a/include/lmms_constants.h b/include/lmms_constants.h index 6ac0fac77..782e6849d 100644 --- a/include/lmms_constants.h +++ b/include/lmms_constants.h @@ -25,65 +25,20 @@ #ifndef LMMS_CONSTANTS_H #define LMMS_CONSTANTS_H -// #include -// #include - -namespace lmms::numbers -{ - -//TODO C++20: Use std::floating_point instead of typename -//TODO C++20: Use std::numbers::pi_v instead of literal value -template -inline constexpr T pi_v = T(3.14159265358979323846264338327950288419716939937510); -inline constexpr double pi = pi_v; - -//TODO C++20: Use std::floating_point instead of typename -template -inline constexpr T tau_v = T(pi_v * 2.0); -inline constexpr double tau = tau_v; - -//TODO C++20: Use std::floating_point instead of typename -template -inline constexpr T pi_half_v = T(pi_v / 2.0); -inline constexpr double pi_half = pi_half_v; - -//TODO C++20: Use std::floating_point instead of typename -template -inline constexpr T pi_sqr_v = T(pi_v * pi_v); -inline constexpr double pi_sqr = pi_sqr_v; - -//TODO C++20: Use std::floating_point instead of typename -//TODO C++20: Use std::numbers::e_v instead of literal value -template -inline constexpr T e_v = T(2.71828182845904523536028747135266249775724709369995); -inline constexpr double e = e_v; - -//TODO C++20: Use std::floating_point instead of typename -template -inline constexpr T inv_e_v = T(1.0 / e_v); -inline constexpr double inv_e = e_v; - -//TODO C++20: Use std::floating_point instead of typename -//TODO C++20: Use std::numbers::sqrt2_v instead of literal value -//TODO C++26: Remove since std::sqrt(2.0) is constexpr -template -inline constexpr T sqrt2_v = T(1.41421356237309504880168872420969807856967187537695); -inline constexpr double sqrt2 = sqrt2_v; - -} - namespace lmms { -constexpr float F_EPSILON = 1.0e-10f; // 10^-10 +// Prefer using `approximatelyEqual()` from lmms_math.h rather than +// using this directly +inline constexpr float F_EPSILON = 1.0e-10f; // 10^-10 // Microtuner -constexpr unsigned int MaxScaleCount = 10; //!< number of scales per project -constexpr unsigned int MaxKeymapCount = 10; //!< number of keyboard mappings per project +inline constexpr unsigned MaxScaleCount = 10; //!< number of scales per project +inline constexpr unsigned MaxKeymapCount = 10; //!< number of keyboard mappings per project // Frequency ranges (in Hz). // Arbitrary low limit for logarithmic frequency scale; >1 Hz. -constexpr int LOWEST_LOG_FREQ = 5; +inline constexpr auto LOWEST_LOG_FREQ = 5; // Full range is defined by LOWEST_LOG_FREQ and current sample rate. enum class FrequencyRange @@ -95,14 +50,14 @@ enum class FrequencyRange High }; -constexpr int FRANGE_AUDIBLE_START = 20; -constexpr int FRANGE_AUDIBLE_END = 20000; -constexpr int FRANGE_BASS_START = 20; -constexpr int FRANGE_BASS_END = 300; -constexpr int FRANGE_MIDS_START = 200; -constexpr int FRANGE_MIDS_END = 5000; -constexpr int FRANGE_HIGH_START = 4000; -constexpr int FRANGE_HIGH_END = 20000; +inline constexpr auto FRANGE_AUDIBLE_START = 20; +inline constexpr auto FRANGE_AUDIBLE_END = 20000; +inline constexpr auto FRANGE_BASS_START = 20; +inline constexpr auto FRANGE_BASS_END = 300; +inline constexpr auto FRANGE_MIDS_START = 200; +inline constexpr auto FRANGE_MIDS_END = 5000; +inline constexpr auto FRANGE_HIGH_START = 4000; +inline constexpr auto FRANGE_HIGH_END = 20000; // Amplitude ranges (in dBFS). // Reference: full scale sine wave (-1.0 to 1.0) is 0 dB. @@ -115,15 +70,14 @@ enum class AmplitudeRange Silent }; -constexpr int ARANGE_EXTENDED_START = -80; -constexpr int ARANGE_EXTENDED_END = 20; -constexpr int ARANGE_AUDIBLE_START = -50; -constexpr int ARANGE_AUDIBLE_END = 0; -constexpr int ARANGE_LOUD_START = -30; -constexpr int ARANGE_LOUD_END = 0; -constexpr int ARANGE_SILENT_START = -60; -constexpr int ARANGE_SILENT_END = -10; - +inline constexpr auto ARANGE_EXTENDED_START = -80; +inline constexpr auto ARANGE_EXTENDED_END = 20; +inline constexpr auto ARANGE_AUDIBLE_START = -50; +inline constexpr auto ARANGE_AUDIBLE_END = 0; +inline constexpr auto ARANGE_LOUD_START = -30; +inline constexpr auto ARANGE_LOUD_END = 0; +inline constexpr auto ARANGE_SILENT_START = -60; +inline constexpr auto ARANGE_SILENT_END = -10; } // namespace lmms diff --git a/include/lmms_math.h b/include/lmms_math.h index be58e6805..1d3de249d 100644 --- a/include/lmms_math.h +++ b/include/lmms_math.h @@ -31,18 +31,22 @@ #include #include #include +#include +#include -#include "lmms_constants.h" #include "lmmsconfig.h" +#include "lmms_constants.h" namespace lmms { -inline bool approximatelyEqual(float x, float y) +// TODO C++23: Make constexpr since std::abs() will be constexpr +inline bool approximatelyEqual(float x, float y) noexcept { - return x == y ? true : std::abs(x - y) < F_EPSILON; + return x == y || std::abs(x - y) < F_EPSILON; } +// TODO C++23: Make constexpr since std::trunc() will be constexpr /*! * @brief Returns the fractional part of a float, a value between -1.0f and 1.0f. * @@ -52,11 +56,13 @@ inline bool approximatelyEqual(float x, float y) * Note that if the return value is used as a phase of an oscillator, that the oscillator must support * negative phases. */ -inline float fraction(const float x) +inline auto fraction(std::floating_point auto x) noexcept { return x - std::trunc(x); } + +// TODO C++23: Make constexpr since std::floor() will be constexpr /*! * @brief Returns the wrapped fractional part of a float, a value between 0.0f and 1.0f. * @@ -67,25 +73,30 @@ inline float fraction(const float x) * If the result is interpreted as a phase of an oscillator, it makes that negative phases are * converted to positive phases. */ -inline float absFraction(const float x) +inline auto absFraction(std::floating_point auto x) noexcept { return x - std::floor(x); } - -constexpr float FAST_RAND_RATIO = 1.0f / 32767; -inline int fast_rand() +inline auto fastRand() noexcept { static unsigned long next = 1; next = next * 1103515245 + 12345; - return( (unsigned)( next / 65536 ) % 32768 ); + return next / 65536 % 32768; } -inline float fastRandf(float range) +template +inline auto fastRand(T range) noexcept { - return fast_rand() * range * FAST_RAND_RATIO; + constexpr T FAST_RAND_RATIO = static_cast(1.0 / 32767); + return fastRand() * range * FAST_RAND_RATIO; } +template +inline auto fastRand(T from, T to) noexcept +{ + return from + fastRand(to - from); +} //! Round `value` to `where` depending on step size template @@ -112,10 +123,11 @@ inline double fastPow(double a, double b) } -//! returns 1.0f if val >= 0.0f, -1.0 else -inline float sign(float val) +//! returns +1 if val >= 0, else -1 +template +constexpr T sign(T val) noexcept { - return val >= 0.0f ? 1.0f : -1.0f; + return val >= 0 ? 1 : -1; } @@ -136,14 +148,15 @@ inline float signedPowf(float v, float e) //! Value should be within [0,1] inline float logToLinearScale(float min, float max, float value) { + using namespace std::numbers; if (min < 0) { const float mmax = std::max(std::abs(min), std::abs(max)); const float val = value * (max - min) + min; - float result = signedPowf(val / mmax, numbers::e_v) * mmax; + float result = signedPowf(val / mmax, e_v) * mmax; return std::isnan(result) ? 0 : result; } - float result = std::pow(value, numbers::e_v) * (max - min) + min; + float result = std::pow(value, e_v) * (max - min) + min; return std::isnan(result) ? 0 : result; } @@ -151,26 +164,37 @@ inline float logToLinearScale(float min, float max, float value) //! @brief Scales value from logarithmic to linear. Value should be in min-max range. inline float linearToLogScale(float min, float max, float value) { + constexpr auto inv_e = static_cast(1.0 / std::numbers::e); const float valueLimited = std::clamp(value, min, max); const float val = (valueLimited - min) / (max - min); if (min < 0) { const float mmax = std::max(std::abs(min), std::abs(max)); - float result = signedPowf(valueLimited / mmax, numbers::inv_e_v) * mmax; + float result = signedPowf(valueLimited / mmax, inv_e) * mmax; return std::isnan(result) ? 0 : result; } - float result = std::pow(val, numbers::inv_e_v) * (max - min) + min; + float result = std::pow(val, inv_e) * (max - min) + min; return std::isnan(result) ? 0 : result; } -inline float fastPow10f(float x) +// TODO C++26: Make constexpr since std::exp() will be constexpr +template +inline auto fastPow10f(T x) { - return std::exp(2.302585092994046f * x); + return std::exp(std::numbers::ln10_v * x); } -inline float fastLog10f(float x) +// TODO C++26: Make constexpr since std::exp() will be constexpr +inline auto fastPow10f(std::integral auto x) { - return std::log(x) * 0.4342944819032518f; + return std::exp(std::numbers::ln10_v * x); +} + +// TODO C++26: Make constexpr since std::log() will be constexpr +inline auto fastLog10f(float x) +{ + constexpr auto inv_ln10 = static_cast(1.0 / std::numbers::ln10); + return std::log(x) * inv_ln10; } //! @brief Converts linear amplitude (>0-1.0) to dBFS scale. @@ -209,16 +233,8 @@ inline float safeDbfsToAmp(float dbfs) } - -//! Returns the linear interpolation of the two values -template -constexpr T lerp(T a, T b, F t) -{ - return (1. - t) * a + t * b; -} - +// TODO C++20: use std::formatted_size // @brief Calculate number of digits which LcdSpinBox would show for a given number -// @note Once we upgrade to C++20, we could probably use std::formatted_size inline int numDigitsAsInt(float f) { // use rounding: diff --git a/plugins/BitInvader/BitInvader.cpp b/plugins/BitInvader/BitInvader.cpp index 2f31449c7..dcd24e8e9 100644 --- a/plugins/BitInvader/BitInvader.cpp +++ b/plugins/BitInvader/BitInvader.cpp @@ -22,7 +22,7 @@ * */ - +#include #include #include "BitInvader.h" @@ -36,10 +36,9 @@ #include "NotePlayHandle.h" #include "PixmapButton.h" #include "Song.h" -#include "interpolation.h" +#include "lmms_math.h" #include "embed.h" - #include "plugin_export.h" namespace lmms @@ -121,7 +120,7 @@ sample_t BSynth::nextStringSample( float sample_length ) } const auto nextIndex = currentIndex < sample_length - 1 ? currentIndex + 1 : 0; - return linearInterpolate(sample_shape[currentIndex], sample_shape[nextIndex], fraction(currentRealIndex)); + return std::lerp(sample_shape[currentIndex], sample_shape[nextIndex], fraction(currentRealIndex)); } /*********************************************************************** diff --git a/plugins/Bitcrush/Bitcrush.cpp b/plugins/Bitcrush/Bitcrush.cpp index 7b9e8f8ef..624cdd90b 100644 --- a/plugins/Bitcrush/Bitcrush.cpp +++ b/plugins/Bitcrush/Bitcrush.cpp @@ -24,6 +24,7 @@ */ #include "Bitcrush.h" +#include "lmms_math.h" #include "embed.h" #include "plugin_export.h" @@ -97,7 +98,7 @@ inline float BitcrushEffect::depthCrush( float in ) inline float BitcrushEffect::noise( float amt ) { - return fastRandf( amt * 2.0f ) - amt; + return fastRand(-amt, +amt); } Effect::ProcessStatus BitcrushEffect::processImpl(SampleFrame* buf, const fpp_t frames) @@ -248,4 +249,4 @@ PLUGIN_EXPORT Plugin * lmms_plugin_main( Model* parent, void* data ) } -} // namespace lmms \ No newline at end of file +} // namespace lmms diff --git a/plugins/Compressor/Compressor.cpp b/plugins/Compressor/Compressor.cpp index 06d4f1d0d..a6f6c79dc 100755 --- a/plugins/Compressor/Compressor.cpp +++ b/plugins/Compressor/Compressor.cpp @@ -24,8 +24,10 @@ #include "Compressor.h" +#include +#include + #include "embed.h" -#include "interpolation.h" #include "lmms_math.h" #include "plugin_export.h" @@ -209,18 +211,19 @@ void CompressorEffect::redrawKnee() void CompressorEffect::calcTiltCoeffs() { + using namespace std::numbers; m_tiltVal = m_compressorControls.m_tiltModel.value(); - const float amp = 6.f / std::log(2.f); + constexpr float amp = 6.f / ln2_v; - const float gfactor = 5; + constexpr float gfactor = 5; const float g1 = m_tiltVal > 0 ? -gfactor * m_tiltVal : -m_tiltVal; const float g2 = m_tiltVal > 0 ? m_tiltVal : gfactor * m_tiltVal; m_lgain = std::exp(g1 / amp) - 1; m_hgain = std::exp(g2 / amp) - 1; - const float omega = numbers::tau_v * m_compressorControls.m_tiltFreqModel.value(); + const float omega = 2 * pi_v * m_compressorControls.m_tiltFreqModel.value(); const float n = 1 / (m_sampleRate * 3 + omega); m_a0 = 2 * omega * n; m_b1 = (m_sampleRate * 3 - omega) * n; @@ -402,21 +405,21 @@ Effect::ProcessStatus CompressorEffect::processImpl(SampleFrame* buf, const fpp_ if (blend <= 1)// Blend to minimum volume { const float temp1 = qMin(m_gainResult[0], m_gainResult[1]); - m_gainResult[0] = linearInterpolate(m_gainResult[0], temp1, blend); - m_gainResult[1] = linearInterpolate(m_gainResult[1], temp1, blend); + m_gainResult[0] = std::lerp(m_gainResult[0], temp1, blend); + m_gainResult[1] = std::lerp(m_gainResult[1], temp1, blend); } else if (blend <= 2)// Blend to average volume { const float temp1 = qMin(m_gainResult[0], m_gainResult[1]); const float temp2 = (m_gainResult[0] + m_gainResult[1]) * 0.5f; - m_gainResult[0] = linearInterpolate(temp1, temp2, blend - 1); + m_gainResult[0] = std::lerp(temp1, temp2, blend - 1); m_gainResult[1] = m_gainResult[0]; } else// Blend to maximum volume { const float temp1 = (m_gainResult[0] + m_gainResult[1]) * 0.5f; const float temp2 = qMax(m_gainResult[0], m_gainResult[1]); - m_gainResult[0] = linearInterpolate(temp1, temp2, blend - 2); + m_gainResult[0] = std::lerp(temp1, temp2, blend - 2); m_gainResult[1] = m_gainResult[0]; } } diff --git a/plugins/Compressor/CompressorControlDialog.cpp b/plugins/Compressor/CompressorControlDialog.cpp index d7350ba59..2622fbc2b 100755 --- a/plugins/Compressor/CompressorControlDialog.cpp +++ b/plugins/Compressor/CompressorControlDialog.cpp @@ -26,6 +26,7 @@ #include "CompressorControlDialog.h" #include "CompressorControls.h" +#include #include #include #include @@ -34,7 +35,6 @@ #include "embed.h" #include "../Eq/EqFader.h" #include "GuiApplication.h" -#include "interpolation.h" #include "Knob.h" #include "MainWindow.h" #include "PixmapButton.h" @@ -437,7 +437,11 @@ void CompressorControlDialog::drawVisPixmap() m_p.setPen(QPen(m_inVolAreaColor, 1)); for (int i = 0; i < m_compPixelMovement; ++i) { - const int temp = linearInterpolate(m_lastPoint, m_yPoint, float(i) / float(m_compPixelMovement)); + const int temp = std::lerp( + m_lastPoint, + m_yPoint, + static_cast(i) / static_cast(m_compPixelMovement) + ); m_p.drawLine(m_windowSizeX-m_compPixelMovement+i, temp, m_windowSizeX-m_compPixelMovement+i, m_windowSizeY); } @@ -449,7 +453,11 @@ void CompressorControlDialog::drawVisPixmap() m_p.setPen(QPen(m_outVolAreaColor, 1)); for (int i = 0; i < m_compPixelMovement; ++i) { - const int temp = linearInterpolate(m_lastPoint+m_lastGainPoint, m_yPoint+m_yGainPoint, float(i) / float(m_compPixelMovement)); + const int temp = std::lerp( + m_lastPoint + m_lastGainPoint, + m_yPoint + m_yGainPoint, + static_cast(i) / static_cast(m_compPixelMovement) + ); m_p.drawLine(m_windowSizeX-m_compPixelMovement+i, temp, m_windowSizeX-m_compPixelMovement+i, m_windowSizeY); } @@ -512,7 +520,7 @@ void CompressorControlDialog::redrawKnee() // Draw knee curve using many straight lines. for (int i = 0; i < COMP_KNEE_LINES; ++i) { - newPoint[0] = linearInterpolate(kneePoint1, kneePoint2X, (i + 1) / (float)COMP_KNEE_LINES); + newPoint[0] = std::lerp(kneePoint1, kneePoint2X, (i + 1) / static_cast(COMP_KNEE_LINES)); const float temp = newPoint[0] - thresholdVal + kneeVal; newPoint[1] = (newPoint[0] + (actualRatio - 1) * temp * temp / (4 * kneeVal)); diff --git a/plugins/Delay/Lfo.cpp b/plugins/Delay/Lfo.cpp index e4e002b79..ce5903baa 100644 --- a/plugins/Delay/Lfo.cpp +++ b/plugins/Delay/Lfo.cpp @@ -25,6 +25,7 @@ #include "Lfo.h" #include +#include namespace lmms { @@ -33,7 +34,7 @@ namespace lmms Lfo::Lfo( int samplerate ) { m_samplerate = samplerate; - m_twoPiOverSr = numbers::tau_v / samplerate; + m_twoPiOverSr = 2 * std::numbers::pi_v / samplerate; } diff --git a/plugins/Delay/Lfo.h b/plugins/Delay/Lfo.h index 8f69412ea..f3fc22cf7 100644 --- a/plugins/Delay/Lfo.h +++ b/plugins/Delay/Lfo.h @@ -25,8 +25,8 @@ #ifndef LFO_H #define LFO_H -#include "lmms_constants.h" - +#include +#include namespace lmms { @@ -50,7 +50,7 @@ public: m_frequency = frequency; m_increment = m_frequency * m_twoPiOverSr; - if (m_phase >= numbers::tau_v) { m_phase -= numbers::tau_v; } + m_phase = std::fmod(m_phase, 2 * std::numbers::pi_v); } @@ -59,7 +59,7 @@ public: inline void setSampleRate ( int samplerate ) { m_samplerate = samplerate; - m_twoPiOverSr = numbers::tau_v / samplerate; + m_twoPiOverSr = 2 * std::numbers::pi_v / samplerate; m_increment = m_frequency * m_twoPiOverSr; } diff --git a/plugins/Dispersion/Dispersion.cpp b/plugins/Dispersion/Dispersion.cpp index 624c161e6..52dd60136 100644 --- a/plugins/Dispersion/Dispersion.cpp +++ b/plugins/Dispersion/Dispersion.cpp @@ -70,7 +70,7 @@ Effect::ProcessStatus DispersionEffect::processImpl(SampleFrame* buf, const fpp_ const bool dc = m_dispersionControls.m_dcModel.value(); // All-pass coefficient calculation - const float w0 = (numbers::tau_v / m_sampleRate) * freq; + const float w0 = (2 * std::numbers::pi_v / m_sampleRate) * freq; const float a0 = 1 + (std::sin(w0) / (reso * 2.f)); float apCoeff1 = (1 - (a0 - 1)) / a0; float apCoeff2 = (-2 * std::cos(w0)) / a0; diff --git a/plugins/DynamicsProcessor/DynamicsProcessor.cpp b/plugins/DynamicsProcessor/DynamicsProcessor.cpp index 752e63e23..4f8db97ce 100644 --- a/plugins/DynamicsProcessor/DynamicsProcessor.cpp +++ b/plugins/DynamicsProcessor/DynamicsProcessor.cpp @@ -25,8 +25,10 @@ #include "DynamicsProcessor.h" + +#include + #include "lmms_math.h" -#include "interpolation.h" #include "RmsHelper.h" #include "embed.h" @@ -189,7 +191,7 @@ Effect::ProcessStatus DynProcEffect::processImpl(SampleFrame* buf, const fpp_t f { float gain; if (lookup < 1) { gain = frac * samples[0]; } - else if (lookup < 200) { gain = linearInterpolate(samples[lookup - 1], samples[lookup], frac); } + else if (lookup < 200) { gain = std::lerp(samples[lookup - 1], samples[lookup], frac); } else { gain = samples[199]; } s[i] *= gain; diff --git a/plugins/Eq/EqCurve.cpp b/plugins/Eq/EqCurve.cpp index a0654054b..c07b98dd3 100644 --- a/plugins/Eq/EqCurve.cpp +++ b/plugins/Eq/EqCurve.cpp @@ -31,7 +31,6 @@ #include "embed.h" #include "Engine.h" #include "FontHelper.h" -#include "lmms_constants.h" #include "lmms_math.h" @@ -200,13 +199,14 @@ bool EqHandle::mousePressed() const float EqHandle::getPeakCurve( float x ) { + using namespace std::numbers; double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); + double w0 = 2 * pi * freqZ / Engine::audioEngine()->outputSampleRate(); double c = std::cos(w0); double s = std::sin(w0); double Q = getResonance(); double A = fastPow10f(yPixelToGain(EqHandle::y(), m_heigth, m_pixelsPerUnitHeight) / 40); - double alpha = s * std::sinh(std::log(2.0) / 2 * Q * w0 / std::sin(w0)); + double alpha = s * std::sinh(ln2 / 2 * Q * w0 / std::sin(w0)); //calc coefficents double b0 = 1 + alpha * A; @@ -237,7 +237,7 @@ float EqHandle::getPeakCurve( float x ) float EqHandle::getHighShelfCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); + double w0 = 2 * std::numbers::pi * freqZ / Engine::audioEngine()->outputSampleRate(); double c = std::cos(w0); double s = std::sin(w0); double A = fastPow10f(yPixelToGain(EqHandle::y(), m_heigth, m_pixelsPerUnitHeight) * 0.025); @@ -272,7 +272,7 @@ float EqHandle::getHighShelfCurve( float x ) float EqHandle::getLowShelfCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); + double w0 = 2 * std::numbers::pi * freqZ / Engine::audioEngine()->outputSampleRate(); double c = std::cos(w0); double s = std::sin(w0); double A = fastPow10f(yPixelToGain(EqHandle::y(), m_heigth, m_pixelsPerUnitHeight) / 40); @@ -307,7 +307,7 @@ float EqHandle::getLowShelfCurve( float x ) float EqHandle::getLowCutCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); + double w0 = 2 * std::numbers::pi * freqZ / Engine::audioEngine()->outputSampleRate(); double c = std::cos(w0); double s = std::sin(w0); double resonance = getResonance(); @@ -349,7 +349,7 @@ float EqHandle::getLowCutCurve( float x ) float EqHandle::getHighCutCurve( float x ) { double freqZ = xPixelToFreq( EqHandle::x(), m_width ); - double w0 = numbers::tau * freqZ / Engine::audioEngine()->outputSampleRate(); + double w0 = 2 * std::numbers::pi * freqZ / Engine::audioEngine()->outputSampleRate(); double c = std::cos(w0); double s = std::sin(w0); double resonance = getResonance(); @@ -522,7 +522,7 @@ void EqHandle::setlp48() double EqHandle::calculateGain(const double freq, const double a1, const double a2, const double b0, const double b1, const double b2 ) { - const double w = std::sin(numbers::pi * freq / Engine::audioEngine()->outputSampleRate()); + const double w = std::sin(std::numbers::pi * freq / Engine::audioEngine()->outputSampleRate()); const double PHI = w * w * 4; auto bb = b0 + b1 + b2; diff --git a/plugins/Eq/EqFilter.h b/plugins/Eq/EqFilter.h index c5685dd88..a6e7d558a 100644 --- a/plugins/Eq/EqFilter.h +++ b/plugins/Eq/EqFilter.h @@ -25,13 +25,14 @@ #ifndef EQFILTER_H #define EQFILTER_H +#include + #include "BasicFilters.h" #include "lmms_math.h" namespace lmms { - /// /// \brief The EqFilter class. /// A wrapper for the StereoBiQuad class, giving it freq, res, and gain controls. @@ -185,7 +186,7 @@ public : { // calc intermediate - float w0 = numbers::tau_v * m_freq / m_sampleRate; + float w0 = 2 * std::numbers::pi_v * m_freq / m_sampleRate; float c = std::cos(w0); float s = std::sin(w0); float alpha = s / ( 2 * m_res ); @@ -228,7 +229,7 @@ public : { // calc intermediate - float w0 = numbers::tau_v * m_freq / m_sampleRate; + float w0 = 2 * std::numbers::pi_v * m_freq / m_sampleRate; float c = std::cos(w0); float s = std::sin(w0); float alpha = s / ( 2 * m_res ); @@ -268,12 +269,13 @@ public: void calcCoefficents() override { + using namespace std::numbers; // calc intermediate - float w0 = numbers::tau_v * m_freq / m_sampleRate; + float w0 = 2 * pi_v * m_freq / m_sampleRate; float c = std::cos(w0); float s = std::sin(w0); float A = fastPow10f(m_gain * 0.025); - float alpha = s * std::sinh(std::log(2.f) / 2 * m_bw * w0 / std::sin(w0)); + float alpha = s * std::sinh(ln2 / 2 * m_bw * w0 / std::sin(w0)); //calc coefficents float b0 = 1 + alpha * A; @@ -332,7 +334,7 @@ public : { // calc intermediate - float w0 = numbers::tau_v * m_freq / m_sampleRate; + float w0 = 2 * std::numbers::pi_v * m_freq / m_sampleRate; float c = std::cos(w0); float s = std::sin(w0); float A = fastPow10f(m_gain * 0.025); @@ -369,7 +371,7 @@ public : { // calc intermediate - float w0 = numbers::tau_v * m_freq / m_sampleRate; + float w0 = 2 * std::numbers::pi_v * m_freq / m_sampleRate; float c = std::cos(w0); float s = std::sin(w0); float A = fastPow10f(m_gain * 0.025); diff --git a/plugins/Eq/EqParameterWidget.cpp b/plugins/Eq/EqParameterWidget.cpp index ceccb669f..a7c75b70d 100644 --- a/plugins/Eq/EqParameterWidget.cpp +++ b/plugins/Eq/EqParameterWidget.cpp @@ -35,7 +35,6 @@ #include "AutomatableModel.h" #include "EqCurve.h" #include "EqParameterWidget.h" -#include "lmms_constants.h" namespace lmms::gui @@ -239,4 +238,4 @@ EqBand::EqBand() : } -} // namespace lmms::gui \ No newline at end of file +} // namespace lmms::gui diff --git a/plugins/Eq/EqSpectrumView.cpp b/plugins/Eq/EqSpectrumView.cpp index 7dc398bfb..5441df287 100644 --- a/plugins/Eq/EqSpectrumView.cpp +++ b/plugins/Eq/EqSpectrumView.cpp @@ -23,6 +23,7 @@ #include "EqSpectrumView.h" #include +#include #include #include @@ -31,7 +32,6 @@ #include "EqCurve.h" #include "GuiApplication.h" #include "MainWindow.h" -#include "lmms_constants.h" namespace lmms { @@ -43,6 +43,7 @@ EqAnalyser::EqAnalyser() : m_sampleRate ( 1 ), m_active ( true ) { + using namespace std::numbers; m_inProgress=false; m_specBuf = ( fftwf_complex * ) fftwf_malloc( ( FFT_BUFFER_SIZE + 1 ) * sizeof( fftwf_complex ) ); m_fftPlan = fftwf_plan_dft_r2c_1d( FFT_BUFFER_SIZE*2, m_buffer, m_specBuf, FFTW_MEASURE ); @@ -56,9 +57,9 @@ EqAnalyser::EqAnalyser() : for (auto i = std::size_t{0}; i < FFT_BUFFER_SIZE; i++) { - m_fftWindow[i] = (a0 - a1 * std::cos(2 * numbers::pi_v * i / ((float)FFT_BUFFER_SIZE - 1.0)) - + a2 * std::cos(4 * numbers::pi_v * i / ((float)FFT_BUFFER_SIZE - 1.0)) - - a3 * std::cos(6 * numbers::pi_v * i / ((float)FFT_BUFFER_SIZE - 1.0))); + m_fftWindow[i] = a0 - a1 * std::cos(2 * pi_v * i / static_cast(FFT_BUFFER_SIZE - 1.0)) + + a2 * std::cos(4 * pi_v * i / static_cast(FFT_BUFFER_SIZE - 1.0)) + - a3 * std::cos(6 * pi_v * i / static_cast(FFT_BUFFER_SIZE - 1.0)); } clear(); } diff --git a/plugins/Flanger/FlangerEffect.cpp b/plugins/Flanger/FlangerEffect.cpp index 9aa765ff4..2072156f5 100644 --- a/plugins/Flanger/FlangerEffect.cpp +++ b/plugins/Flanger/FlangerEffect.cpp @@ -23,6 +23,9 @@ */ #include "FlangerEffect.h" + +#include + #include "Engine.h" #include "MonoDelay.h" #include "QuadratureLfo.h" @@ -94,7 +97,7 @@ Effect::ProcessStatus FlangerEffect::processImpl(SampleFrame* buf, const fpp_t f float amplitude = m_flangerControls.m_lfoAmountModel.value() * Engine::audioEngine()->outputSampleRate(); bool invertFeedback = m_flangerControls.m_invertFeedbackModel.value(); m_lfo->setFrequency( 1.0/m_flangerControls.m_lfoFrequencyModel.value() ); - m_lfo->setOffset(m_flangerControls.m_lfoPhaseModel.value() / 180 * numbers::pi); + m_lfo->setOffset(m_flangerControls.m_lfoPhaseModel.value() / 180 * std::numbers::pi); m_lDelay->setFeedback( m_flangerControls.m_feedbackModel.value() ); m_rDelay->setFeedback( m_flangerControls.m_feedbackModel.value() ); auto dryS = std::array{}; @@ -103,8 +106,8 @@ Effect::ProcessStatus FlangerEffect::processImpl(SampleFrame* buf, const fpp_t f float leftLfo; float rightLfo; - buf[f][0] += (fastRandf(2.0f) - 1.0f) * noise; - buf[f][1] += (fastRandf(2.0f) - 1.0f) * noise; + buf[f][0] += fastRand(-1.f, +1.f) * noise; + buf[f][1] += fastRand(-1.f, +1.f) * noise; dryS[0] = buf[f][0]; dryS[1] = buf[f][1]; m_lfo->tick(&leftLfo, &rightLfo); diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp index 2a48f0e3c..f59030105 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.cpp @@ -26,6 +26,7 @@ #include #include "embed.h" +#include "lmms_math.h" #include "plugin_export.h" @@ -155,18 +156,15 @@ Effect::ProcessStatus GranularPitchShifterEffect::processImpl(SampleFrame* buf, if (++m_timeSinceLastGrain >= m_nextWaitRandomization * waitMult) { m_timeSinceLastGrain = 0; - double randThing = fast_rand() * static_cast(FAST_RAND_RATIO) * 2. - 1.; + auto randThing = fastRand(-1.0, +1.0); m_nextWaitRandomization = std::exp2(randThing * twitch); double grainSpeed = 1. / std::exp2(randThing * jitter); std::array sprayResult = {0, 0}; if (spray > 0) { - sprayResult[0] = fast_rand() * FAST_RAND_RATIO * spray * m_sampleRate; - sprayResult[1] = linearInterpolate( - sprayResult[0], - fast_rand() * FAST_RAND_RATIO * spray * m_sampleRate, - spraySpread); + sprayResult[0] = fastRand(spray * m_sampleRate); + sprayResult[1] = std::lerp(sprayResult[0], fastRand(spray * m_sampleRate), spraySpread); } std::array readPoint; @@ -271,7 +269,7 @@ void GranularPitchShifterEffect::changeSampleRate() m_grainCount = 0; m_grains.reserve(8);// arbitrary - m_dcCoeff = std::exp(-numbers::tau_v * DcRemovalHz / m_sampleRate); + m_dcCoeff = std::exp(-2 * std::numbers::pi_v * DcRemovalHz / m_sampleRate); const double pitch = m_granularpitchshifterControls.m_pitchModel.value() * (1. / 12.); const double pitchSpread = m_granularpitchshifterControls.m_pitchSpreadModel.value() * (1. / 24.); diff --git a/plugins/GranularPitchShifter/GranularPitchShifterEffect.h b/plugins/GranularPitchShifter/GranularPitchShifterEffect.h index d844b852f..4b4eb55b2 100755 --- a/plugins/GranularPitchShifter/GranularPitchShifterEffect.h +++ b/plugins/GranularPitchShifter/GranularPitchShifterEffect.h @@ -25,6 +25,8 @@ #ifndef LMMS_GRANULAR_PITCH_SHIFTER_EFFECT_H #define LMMS_GRANULAR_PITCH_SHIFTER_EFFECT_H +#include + #include "Effect.h" #include "GranularPitchShifterControls.h" @@ -118,12 +120,13 @@ private: void setCoefs(float sampleRate, float cutoff) { - const float g = std::tan(numbers::pi_v * cutoff / sampleRate); - const float ginv = g / (1.f + g * (g + numbers::sqrt2_v)); - m_g1 = ginv; - m_g2 = 2.f * (g + numbers::sqrt2_v) * ginv; - m_g3 = g * ginv; - m_g4 = 2.f * ginv; + using namespace std::numbers; + const float g = std::tan(pi_v * cutoff / sampleRate); + const float ginv = g / (1.f + g * (g + sqrt2_v)); + m_g1 = ginv; + m_g2 = 2 * (g + sqrt2_v) * ginv; + m_g3 = g * ginv; + m_g4 = 2 * ginv; } float process(float input) diff --git a/plugins/Kicker/KickerOsc.h b/plugins/Kicker/KickerOsc.h index adcceaefe..6cac39134 100644 --- a/plugins/Kicker/KickerOsc.h +++ b/plugins/Kicker/KickerOsc.h @@ -26,11 +26,12 @@ #ifndef KICKER_OSC_H #define KICKER_OSC_H +#include + #include "DspEffectLibrary.h" #include "Oscillator.h" #include "lmms_math.h" -#include "interpolation.h" namespace lmms { @@ -72,7 +73,7 @@ public: // update distortion envelope if necessary if( m_hasDistEnv && m_counter < m_length ) { - float thres = linearInterpolate( m_distStart, m_distEnd, m_counter / m_length ); + float thres = std::lerp(m_distStart, m_distEnd, m_counter / m_length); m_FX.leftFX().setThreshold( thres ); m_FX.rightFX().setThreshold( thres ); } diff --git a/plugins/LOMM/LOMM.cpp b/plugins/LOMM/LOMM.cpp index 32c77e3db..aafbfcf41 100644 --- a/plugins/LOMM/LOMM.cpp +++ b/plugins/LOMM/LOMM.cpp @@ -24,6 +24,7 @@ #include "LOMM.h" +#include "lmms_math.h" #include "embed.h" #include "plugin_export.h" @@ -312,11 +313,11 @@ Effect::ProcessStatus LOMMEffect::processImpl(SampleFrame* buf, const fpp_t fram { if (downward * depth <= 1) { - aboveGain = linearInterpolate(yDbfs, aboveGain, downward * depth); + aboveGain = std::lerp(yDbfs, aboveGain, downward * depth); } else { - aboveGain = linearInterpolate(aboveGain, aThresh[j], downward * depth - 1); + aboveGain = std::lerp(aboveGain, aThresh[j], downward * depth - 1); } } @@ -338,11 +339,11 @@ Effect::ProcessStatus LOMMEffect::processImpl(SampleFrame* buf, const fpp_t fram { if (upward * depth <= 1) { - belowGain = linearInterpolate(yDbfs, belowGain, upward * depth); + belowGain = std::lerp(yDbfs, belowGain, upward * depth); } else { - belowGain = linearInterpolate(belowGain, bThresh[j], upward * depth - 1); + belowGain = std::lerp(belowGain, bThresh[j], upward * depth - 1); } } @@ -396,12 +397,12 @@ Effect::ProcessStatus LOMMEffect::processImpl(SampleFrame* buf, const fpp_t fram bands[j][i] *= outBandVol[j]; - bands[j][i] = linearInterpolate(bandsDry[j][i], bands[j][i], mix); + bands[j][i] = std::lerp(bandsDry[j][i], bands[j][i], mix); } s[i] = bands[0][i] + bands[1][i] + bands[2][i]; - s[i] *= linearInterpolate(1.f, outVol, mix * (depthScaling ? depth : 1)); + s[i] *= std::lerp(1.f, outVol, mix * (depthScaling ? depth : 1)); } // Convert mid/side back to left/right. diff --git a/plugins/LOMM/LOMM.h b/plugins/LOMM/LOMM.h index 36aa12dea..c0d2155c3 100644 --- a/plugins/LOMM/LOMM.h +++ b/plugins/LOMM/LOMM.h @@ -30,7 +30,6 @@ #include "Effect.h" #include "BasicFilters.h" -#include "lmms_math.h" namespace lmms { diff --git a/plugins/Monstro/Monstro.cpp b/plugins/Monstro/Monstro.cpp index 367ef7f71..57d423bca 100644 --- a/plugins/Monstro/Monstro.cpp +++ b/plugins/Monstro/Monstro.cpp @@ -22,11 +22,10 @@ * */ +#include "Monstro.h" #include -#include "Monstro.h" - #include "ComboBox.h" #include "Engine.h" #include "InstrumentTrack.h" @@ -34,7 +33,6 @@ #include "interpolation.h" #include "embed.h" - #include "plugin_export.h" namespace lmms @@ -625,8 +623,8 @@ void MonstroSynth::renderOutput( fpp_t _frames, SampleFrame* _buf ) sub = qBound( 0.0f, sub, 1.0f ); } - sample_t O3L = linearInterpolate( O3AL, O3BL, sub ); - sample_t O3R = linearInterpolate( O3AR, O3BR, sub ); + sample_t O3L = std::lerp(O3AL, O3BL, sub); + sample_t O3R = std::lerp(O3AR, O3BR, sub); // modulate volume O3L *= o3lv; @@ -665,8 +663,8 @@ void MonstroSynth::renderOutput( fpp_t _frames, SampleFrame* _buf ) sample_t L = O1L + O3L + ( omod == MOD_MIX ? O2L : 0.0f ); sample_t R = O1R + O3R + ( omod == MOD_MIX ? O2R : 0.0f ); - _buf[f][0] = linearInterpolate( L, m_l_last, m_parent->m_integrator ); - _buf[f][1] = linearInterpolate( R, m_r_last, m_parent->m_integrator ); + _buf[f][0] = std::lerp(L, m_l_last, m_parent->m_integrator); + _buf[f][1] = std::lerp(R, m_r_last, m_parent->m_integrator); m_l_last = L; m_r_last = R; diff --git a/plugins/MultitapEcho/MultitapEcho.cpp b/plugins/MultitapEcho/MultitapEcho.cpp index 96a828dcc..3d92e5ae8 100644 --- a/plugins/MultitapEcho/MultitapEcho.cpp +++ b/plugins/MultitapEcho/MultitapEcho.cpp @@ -26,6 +26,7 @@ #include "MultitapEcho.h" #include "embed.h" #include "lmms_basics.h" +#include "lmms_math.h" #include "plugin_export.h" namespace lmms diff --git a/plugins/MultitapEcho/MultitapEcho.h b/plugins/MultitapEcho/MultitapEcho.h index 63d6ac5d6..a7ed0c2c4 100644 --- a/plugins/MultitapEcho/MultitapEcho.h +++ b/plugins/MultitapEcho/MultitapEcho.h @@ -54,7 +54,7 @@ private: inline void setFilterFreq( float fc, StereoOnePole & f ) { - const float b1 = std::exp(-numbers::tau_v * fc); + const float b1 = std::exp(-2 * std::numbers::pi_v * fc); f.setCoeffs( 1.0f - b1, b1 ); } diff --git a/plugins/Nes/Nes.cpp b/plugins/Nes/Nes.cpp index d91130ef1..9fbb46db1 100644 --- a/plugins/Nes/Nes.cpp +++ b/plugins/Nes/Nes.cpp @@ -29,7 +29,6 @@ #include "AudioEngine.h" #include "Engine.h" #include "InstrumentTrack.h" -#include "interpolation.h" #include "Knob.h" #include "Oscillator.h" @@ -398,7 +397,7 @@ void NesObject::renderOutput( SampleFrame* buf, fpp_t frames ) pin1 = pin1 * 2.0f - 1.0f; // simple first order iir filter, to simulate the frequency response falloff in nes analog audio output - pin1 = linearInterpolate( pin1, m_12Last, m_nsf ); + pin1 = std::lerp(pin1, m_12Last, m_nsf); m_12Last = pin1; // compensate DC offset @@ -416,7 +415,7 @@ void NesObject::renderOutput( SampleFrame* buf, fpp_t frames ) pin2 = pin2 * 2.0f - 1.0f; // simple first order iir filter, to simulate the frequency response falloff in nes analog audio output - pin2 = linearInterpolate( pin2, m_34Last, m_nsf ); + pin2 = std::lerp(pin2, m_34Last, m_nsf); m_34Last = pin2; // compensate DC offset diff --git a/plugins/SlicerT/SlicerT.cpp b/plugins/SlicerT/SlicerT.cpp index e510e8cb9..ef533cd1a 100644 --- a/plugins/SlicerT/SlicerT.cpp +++ b/plugins/SlicerT/SlicerT.cpp @@ -34,7 +34,7 @@ #include "SampleLoader.h" #include "Song.h" #include "embed.h" -#include "lmms_constants.h" +#include "interpolation.h" #include "plugin_export.h" namespace lmms { @@ -183,7 +183,7 @@ void SlicerT::findSlices() for (auto i = std::size_t{0}; i < singleChannel.size(); i++) { singleChannel[i] /= maxMag; - if (sign(lastValue) != sign(singleChannel[i])) + if ((lastValue >= 0) != (singleChannel[i] >= 0)) { zeroCrossings.push_back(i); lastValue = singleChannel[i]; diff --git a/plugins/Stk/Mallets/Mallets.cpp b/plugins/Stk/Mallets/Mallets.cpp index 00ddbf422..fecb15a76 100644 --- a/plugins/Stk/Mallets/Mallets.cpp +++ b/plugins/Stk/Mallets/Mallets.cpp @@ -41,6 +41,7 @@ #include "InstrumentTrack.h" #include "embed.h" +#include "lmms_math.h" #include "plugin_export.h" namespace lmms @@ -305,26 +306,26 @@ void MalletsInstrument::playNote( NotePlayHandle * _n, if (p < 9) { - hardness += random * (static_cast(fast_rand() % 128) - 64.0); + hardness += random * fastRand(-64.f, +64.f); hardness = std::clamp(hardness, 0.0f, 128.0f); - position += random * (static_cast(fast_rand() % 64) - 32.0); + position += random * fastRand(-32.f, +32.f); position = std::clamp(position, 0.0f, 64.0f); } else if (p == 9) { - modulator += random * (static_cast(fast_rand() % 128) - 64.0); + modulator += random * fastRand(-64.f, +64.f); modulator = std::clamp(modulator, 0.0f, 128.0f); - crossfade += random * (static_cast(fast_rand() % 128) - 64.0); + crossfade += random * fastRand(-64.f, +64.f); crossfade = std::clamp(crossfade, 0.0f, 128.0f); } else { - pressure += random * (static_cast(fast_rand() % 128) - 64.0); + pressure += random * fastRand(-64.f, +64.f); pressure = std::clamp(pressure, 0.0f, 128.0f); - speed += random * (static_cast(fast_rand() % 128) - 64.0); + speed += random * fastRand(-64.f, +64.f); speed = std::clamp(speed, 0.0f, 128.0f); } diff --git a/plugins/Watsyn/Watsyn.cpp b/plugins/Watsyn/Watsyn.cpp index 6ce1beced..272ba5d46 100644 --- a/plugins/Watsyn/Watsyn.cpp +++ b/plugins/Watsyn/Watsyn.cpp @@ -32,7 +32,6 @@ #include "PixmapButton.h" #include "Song.h" #include "lmms_math.h" -#include "interpolation.h" #include "embed.h" #include "plugin_export.h" @@ -122,12 +121,16 @@ void WatsynObject::renderOutput( fpp_t _frames ) ///////////// A-series ///////////////// // A2 - sample_t A2_L = linearInterpolate( m_A2wave[ static_cast( m_lphase[A2_OSC] ) ], - m_A2wave[ static_cast( m_lphase[A2_OSC] + 1 ) % WAVELEN ], - fraction( m_lphase[A2_OSC] ) ) * m_parent->m_lvol[A2_OSC]; - sample_t A2_R = linearInterpolate( m_A2wave[ static_cast( m_rphase[A2_OSC] ) ], - m_A2wave[ static_cast( m_rphase[A2_OSC] + 1 ) % WAVELEN ], - fraction( m_rphase[A2_OSC] ) ) * m_parent->m_rvol[A2_OSC]; + sample_t A2_L = m_parent->m_lvol[A2_OSC] * std::lerp( + m_A2wave[static_cast(m_lphase[A2_OSC])], + m_A2wave[static_cast(m_lphase[A2_OSC] + 1) % WAVELEN], + fraction(m_lphase[A2_OSC]) + ); + sample_t A2_R = m_parent->m_rvol[A2_OSC] * std::lerp( + m_A2wave[static_cast(m_rphase[A2_OSC])], + m_A2wave[static_cast(m_rphase[A2_OSC] + 1) % WAVELEN], + fraction(m_rphase[A2_OSC]) + ); // if phase mod, add to phases if( m_amod == MOD_PM ) @@ -138,22 +141,30 @@ void WatsynObject::renderOutput( fpp_t _frames ) if( A1_rphase < 0 ) A1_rphase += WAVELEN; } // A1 - sample_t A1_L = linearInterpolate( m_A1wave[ static_cast( A1_lphase ) ], - m_A1wave[ static_cast( A1_lphase + 1 ) % WAVELEN ], - fraction( A1_lphase ) ) * m_parent->m_lvol[A1_OSC]; - sample_t A1_R = linearInterpolate( m_A1wave[ static_cast( A1_rphase ) ], - m_A1wave[ static_cast( A1_rphase + 1 ) % WAVELEN ], - fraction( A1_rphase ) ) * m_parent->m_rvol[A1_OSC]; + sample_t A1_L = m_parent->m_lvol[A1_OSC] * std::lerp( + m_A1wave[static_cast(A1_lphase)], + m_A1wave[static_cast(A1_lphase + 1) % WAVELEN], + fraction(A1_lphase) + ); + sample_t A1_R = m_parent->m_rvol[A1_OSC] * std::lerp( + m_A1wave[static_cast(A1_rphase)], + m_A1wave[static_cast(A1_rphase + 1) % WAVELEN], + fraction(A1_rphase) + ); ///////////// B-series ///////////////// // B2 - sample_t B2_L = linearInterpolate( m_B2wave[ static_cast( m_lphase[B2_OSC] ) ], - m_B2wave[ static_cast( m_lphase[B2_OSC] + 1 ) % WAVELEN ], - fraction( m_lphase[B2_OSC] ) ) * m_parent->m_lvol[B2_OSC]; - sample_t B2_R = linearInterpolate( m_B2wave[ static_cast( m_rphase[B2_OSC] ) ], - m_B2wave[ static_cast( m_rphase[B2_OSC] + 1 ) % WAVELEN ], - fraction( m_rphase[B2_OSC] ) ) * m_parent->m_rvol[B2_OSC]; + sample_t B2_L = m_parent->m_lvol[B2_OSC] * std::lerp( + m_B2wave[static_cast(m_lphase[B2_OSC])], + m_B2wave[static_cast(m_lphase[B2_OSC] + 1) % WAVELEN], + fraction(m_lphase[B2_OSC]) + ); + sample_t B2_R = m_parent->m_rvol[B2_OSC] * std::lerp( + m_B2wave[static_cast(m_rphase[B2_OSC])], + m_B2wave[static_cast(m_rphase[B2_OSC] + 1) % WAVELEN], + fraction(m_rphase[B2_OSC]) + ); // if crosstalk active, add a1 const float xt = m_parent->m_xtalk.value(); @@ -172,12 +183,16 @@ void WatsynObject::renderOutput( fpp_t _frames ) if( B1_rphase < 0 ) B1_rphase += WAVELEN; } // B1 - sample_t B1_L = linearInterpolate( m_B1wave[ static_cast( B1_lphase ) % WAVELEN ], - m_B1wave[ static_cast( B1_lphase + 1 ) % WAVELEN ], - fraction( B1_lphase ) ) * m_parent->m_lvol[B1_OSC]; - sample_t B1_R = linearInterpolate( m_B1wave[ static_cast( B1_rphase ) % WAVELEN ], - m_B1wave[ static_cast( B1_rphase + 1 ) % WAVELEN ], - fraction( B1_rphase ) ) * m_parent->m_rvol[B1_OSC]; + sample_t B1_L = m_parent->m_lvol[B1_OSC] * std::lerp( + m_B1wave[static_cast(B1_lphase) % WAVELEN], + m_B1wave[static_cast(B1_lphase + 1) % WAVELEN], + fraction(B1_lphase) + ); + sample_t B1_R = m_parent->m_rvol[B1_OSC] * std::lerp( + m_B1wave[static_cast(B1_rphase) % WAVELEN], + m_B1wave[static_cast(B1_rphase + 1) % WAVELEN], + fraction(B1_rphase) + ); // A-series modulation) diff --git a/plugins/WaveShaper/WaveShaper.cpp b/plugins/WaveShaper/WaveShaper.cpp index f21a2dff7..4915e40af 100644 --- a/plugins/WaveShaper/WaveShaper.cpp +++ b/plugins/WaveShaper/WaveShaper.cpp @@ -27,7 +27,6 @@ #include "WaveShaper.h" #include "lmms_math.h" #include "embed.h" -#include "interpolation.h" #include "plugin_export.h" @@ -116,9 +115,7 @@ Effect::ProcessStatus WaveShaperEffect::processImpl(SampleFrame* buf, const fpp_ } else if( lookup < 200 ) { - s[i] = linearInterpolate( samples[ lookup - 1 ], - samples[ lookup ], frac ) - * posneg; + s[i] = std::lerp(samples[lookup - 1], samples[lookup], frac) * posneg; } else { diff --git a/plugins/Xpressive/ExprSynth.cpp b/plugins/Xpressive/ExprSynth.cpp index 715bf453c..347bb6d80 100644 --- a/plugins/Xpressive/ExprSynth.cpp +++ b/plugins/Xpressive/ExprSynth.cpp @@ -29,9 +29,8 @@ #include #include #include +#include - -#include "interpolation.h" #include "lmms_math.h" #include "NotePlayHandle.h" #include "SampleFrame.h" @@ -220,7 +219,7 @@ struct WaveValueFunctionInterpolate : public exprtk::ifunction const T x = positiveFraction(index) * m_size; const int ix = (int)x; const float xfrc = fraction(x); - return linearInterpolate(m_vec[ix], m_vec[(ix + 1) % m_size], xfrc); + return std::lerp(m_vec[ix], m_vec[(ix + 1) % m_size], xfrc); } const T *m_vec; const std::size_t m_size; @@ -413,7 +412,7 @@ struct sin_wave static inline float process(float x) { x = positiveFraction(x); - return std::sin(x * numbers::tau_v); + return std::sin(x * 2 * std::numbers::pi_v); } }; static freefunc1 sin_wave_func; @@ -535,7 +534,7 @@ ExprFront::ExprFront(const char * expr, int last_func_samples) m_data->m_expression_string = expr; m_data->m_symbol_table.add_pi(); - m_data->m_symbol_table.add_constant("e", numbers::e_v); + m_data->m_symbol_table.add_constant("e", std::numbers::e_v); m_data->m_symbol_table.add_constant("seed", SimpleRandom::generator() & max_float_integer_mask); diff --git a/plugins/Xpressive/Xpressive.cpp b/plugins/Xpressive/Xpressive.cpp index 6e3a91343..37dcb16fa 100644 --- a/plugins/Xpressive/Xpressive.cpp +++ b/plugins/Xpressive/Xpressive.cpp @@ -40,8 +40,6 @@ #include "Song.h" #include "base64.h" -#include "lmms_constants.h" - #include "embed.h" #include "ExprSynth.h" @@ -252,7 +250,8 @@ void Xpressive::smooth(float smoothness,const graphModel * in,graphModel * out) const int guass_size = (int)(smoothness * 5) | 1; const int guass_center = guass_size/2; const float delta = smoothness; - const float a = 1.0f / (std::sqrt(numbers::tau_v) * delta); + constexpr float inv_sqrt2pi = std::numbers::inv_sqrtpi_v / std::numbers::sqrt2_v; + const float a = inv_sqrt2pi / delta; auto const guassian = new float[guass_size]; float sum = 0.0f; float temp = 0.0f; diff --git a/src/core/BandLimitedWave.cpp b/src/core/BandLimitedWave.cpp index 2eb6d5eb0..50b386786 100644 --- a/src/core/BandLimitedWave.cpp +++ b/src/core/BandLimitedWave.cpp @@ -64,6 +64,7 @@ QDataStream& operator>> ( QDataStream &in, WaveMipMap &waveMipMap ) void BandLimitedWave::generateWaves() { + using namespace std::numbers; // don't generate if they already exist if( s_wavesGenerated ) return; @@ -103,8 +104,8 @@ void BandLimitedWave::generateWaves() { hlen = static_cast( len ) / static_cast( harm ); const double amp = -1.0 / static_cast( harm ); - //const double a2 = std::cos(om * harm * numbers::tau_v); - s += amp * /*a2 **/ std::sin(static_cast(ph * harm) / static_cast(len) * numbers::tau_v); + //const double a2 = std::cos(om * harm * 2 * pi_v); + s += amp * /*a2 **/ std::sin(static_cast(ph * harm) / static_cast(len) * 2 * pi_v); harm++; } while( hlen > 2.0 ); s_waveforms[static_cast(BandLimitedWave::Waveform::BLSaw)].setSampleAt( i, ph, s ); @@ -145,8 +146,8 @@ void BandLimitedWave::generateWaves() { hlen = static_cast( len ) / static_cast( harm ); const double amp = 1.0 / static_cast( harm ); - //const double a2 = std::cos(om * harm * numbers::tau_v); - s += amp * /*a2 **/ std::sin(static_cast(ph * harm) / static_cast(len) * numbers::tau_v); + //const double a2 = std::cos(om * harm * 2 * pi_v); + s += amp * /*a2 **/ std::sin(static_cast(ph * harm) / static_cast(len) * 2 * pi_v); harm += 2; } while( hlen > 2.0 ); s_waveforms[static_cast(BandLimitedWave::Waveform::BLSquare)].setSampleAt( i, ph, s ); @@ -186,9 +187,9 @@ void BandLimitedWave::generateWaves() { hlen = static_cast( len ) / static_cast( harm ); const double amp = 1.0 / static_cast( harm * harm ); - //const double a2 = std::cos(om * harm * numbers::tau_v); + //const double a2 = std::cos(om * harm * 2 * pi_v); s += amp * /*a2 **/ std::sin((static_cast(ph * harm) / static_cast(len) + - ((harm + 1) % 4 == 0 ? 0.5 : 0.0)) * numbers::tau_v); + ((harm + 1) % 4 == 0 ? 0.5 : 0.0)) * 2 * pi_v); harm += 2; } while( hlen > 2.0 ); s_waveforms[static_cast(BandLimitedWave::Waveform::BLTriangle)].setSampleAt( i, ph, s ); diff --git a/src/core/DrumSynth.cpp b/src/core/DrumSynth.cpp index 85c2a1d17..e54476a19 100644 --- a/src/core/DrumSynth.cpp +++ b/src/core/DrumSynth.cpp @@ -176,8 +176,7 @@ float DrumSynth::waveform(float ph, int form) // sine^2 if (form == 1) { return std::abs(2.f * std::sin(0.5f * ph)) - 1.f; } // sawtooth with range [0, 1], used to generate triangle, sawtooth, and square - auto ph_tau = ph / numbers::tau_v; - auto saw01 = ph_tau - std::floor(ph_tau); + auto saw01 = absFraction(ph / (2 * std::numbers::pi_v)); // triangle if (form == 2) { return 1.f - 4.f * std::abs(saw01 - 0.5f); } // sawtooth @@ -304,6 +303,7 @@ float DrumSynth::GetPrivateProfileFloat(const char* sec, const char* key, float int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sample_rate_t Fs) { + using namespace std::numbers; // input file char sec[32]; char ver[32]; @@ -429,12 +429,12 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa sliLev[0] = GetPrivateProfileInt(sec, "Level", 128, dsfile); TL = static_cast(sliLev[0] * sliLev[0]) * mem_t; GetEnv(1, sec, "Envelope", dsfile); - F1 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; + F1 = MasterTune * 2 * pi_v * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; if (std::abs(F1) < 0.001f) { F1 = 0.001f; // to prevent overtone ratio div0 } - F2 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; + F2 = MasterTune * 2 * pi_v * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; TDroopRate = GetPrivateProfileFloat(sec, "Droop", 0.f, dsfile); if (TDroopRate > 0.f) { @@ -460,8 +460,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa GetEnv(3, sec, "Envelope1", dsfile); GetEnv(4, sec, "Envelope2", dsfile); OMode = GetPrivateProfileInt(sec, "Method", 2, dsfile); - OF1 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; - OF2 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; + OF1 = MasterTune * 2 * pi_v * GetPrivateProfileFloat(sec, "F1", 200.0, dsfile) / Fs; + OF2 = MasterTune * 2 * pi_v * GetPrivateProfileFloat(sec, "F2", 120.0, dsfile) / Fs; OW1 = GetPrivateProfileInt(sec, "Wave1", 0, dsfile); OW2 = GetPrivateProfileInt(sec, "Wave2", 0, dsfile); OBal2 = static_cast(GetPrivateProfileInt(sec, "Param", 50, dsfile)); @@ -489,8 +489,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa OcQ = OcA * OcA; OcF = (1.8f - 0.7f * OcQ) * 0.92f; // multiply by env 2 OcA *= 1.0f + 4.0f * OBal1; // level is a compromise! - Ocf1 = numbers::tau_v / OF1; - Ocf2 = numbers::tau_v / OF2; + Ocf1 = 2 * pi_v / OF1; + Ocf2 = 2 * pi_v / OF2; for (i = 0; i < 6; i++) { Oc[i][0] = Oc[i][1] = Ocf1 + (Ocf2 - Ocf1) * 0.2f * static_cast(i); @@ -502,8 +502,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa BON = chkOn[3]; sliLev[3] = GetPrivateProfileInt(sec, "Level", 128, dsfile); BL = static_cast(sliLev[3] * sliLev[3]) * mem_b; - BF = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; - BPhi = numbers::tau_v / 8.f; + BF = MasterTune * 2 * pi_v * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; + BPhi = pi_v / 4.f; GetEnv(5, sec, "Envelope", dsfile); BFStep = GetPrivateProfileInt(sec, "dF", 50, dsfile); BQ = static_cast(BFStep); @@ -515,8 +515,8 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa BON2 = chkOn[4]; sliLev[4] = GetPrivateProfileInt(sec, "Level", 128, dsfile); BL2 = static_cast(sliLev[4] * sliLev[4]) * mem_b; - BF2 = MasterTune * numbers::tau_v * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; - BPhi2 = numbers::tau_v / 8.f; + BF2 = MasterTune * 2 * pi_v * GetPrivateProfileFloat(sec, "F", 1000.0, dsfile) / Fs; + BPhi2 = pi_v / 4.f; GetEnv(6, sec, "Envelope", dsfile); BFStep2 = GetPrivateProfileInt(sec, "dF", 50, dsfile); BQ2 = static_cast(BFStep2); @@ -662,7 +662,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa UpdateEnv(1, t); } Tphi = Tphi + phi[totmp]; - DF[totmp] += TL * envData[1][ENV] * std::sin(std::fmod(Tphi, numbers::tau_v)); // overflow? + DF[totmp] += TL * envData[1][ENV] * std::sin(Tphi); // overflow? } if (t >= envData[1][MAX]) { @@ -695,7 +695,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa } BPhi = BPhi + BF + BQ * BdF; botmp = t - tpos; - DF[botmp] = DF[botmp] + std::cos(std::fmod(BPhi, numbers::tau_v)) * envData[5][ENV] * BL; + DF[botmp] = DF[botmp] + std::cos(BPhi) * envData[5][ENV] * BL; } if (t >= envData[5][MAX]) { @@ -721,7 +721,7 @@ int DrumSynth::GetDSFileSamples(QString dsfile, int16_t*& wave, int channels, sa } BPhi2 = BPhi2 + BF2 + BQ2 * BdF2; botmp = t - tpos; - DF[botmp] = DF[botmp] + std::cos(std::fmod(BPhi2, numbers::tau_v)) * envData[6][ENV] * BL2; + DF[botmp] = DF[botmp] + std::cos(BPhi2) * envData[6][ENV] * BL2; } if (t >= envData[6][MAX]) { diff --git a/src/core/Effect.cpp b/src/core/Effect.cpp index 1fb0b71b5..83df28b24 100644 --- a/src/core/Effect.cpp +++ b/src/core/Effect.cpp @@ -32,7 +32,7 @@ #include "ConfigManager.h" #include "SampleFrame.h" -#include "lmms_constants.h" +#include "lmms_math.h" namespace lmms { @@ -190,7 +190,7 @@ void Effect::checkGate(double outSum) // Check whether we need to continue processing input. Restart the // counter if the threshold has been exceeded. - if (outSum - gate() <= F_EPSILON) + if (approximatelyEqual(outSum, gate())) { incrementBufferCount(); if( bufferCount() > timeout() ) diff --git a/src/core/Instrument.cpp b/src/core/Instrument.cpp index fca3549f1..cae16dee8 100644 --- a/src/core/Instrument.cpp +++ b/src/core/Instrument.cpp @@ -25,12 +25,11 @@ #include "Instrument.h" #include +#include #include "DummyInstrument.h" #include "InstrumentTrack.h" #include "lmms_basics.h" -#include "lmms_constants.h" - namespace lmms { @@ -152,7 +151,7 @@ void Instrument::applyFadeIn(SampleFrame* buf, NotePlayHandle * n) { for (ch_cnt_t ch = 0; ch < DEFAULT_CHANNELS; ++ch) { - buf[offset + f][ch] *= 0.5 - 0.5 * std::cos(numbers::pi_v * (float) f / (float) n->m_fadeInLength); + buf[offset + f][ch] *= 0.5 - 0.5 * std::cos(std::numbers::pi_v * static_cast(f) / static_cast(n->m_fadeInLength)); } } } @@ -168,7 +167,7 @@ void Instrument::applyFadeIn(SampleFrame* buf, NotePlayHandle * n) for (ch_cnt_t ch = 0; ch < DEFAULT_CHANNELS; ++ch) { float currentLength = n->m_fadeInLength * (1.0f - (float) f / frames) + new_length * ((float) f / frames); - buf[f][ch] *= 0.5 - 0.5 * std::cos(numbers::pi_v * (float) (total + f) / currentLength); + buf[f][ch] *= 0.5 - 0.5 * std::cos(std::numbers::pi_v * static_cast(total + f) / currentLength); if (total + f >= currentLength) { n->m_fadeInLength = currentLength; diff --git a/src/core/NotePlayHandle.cpp b/src/core/NotePlayHandle.cpp index e2aa02ddc..326e63eaf 100644 --- a/src/core/NotePlayHandle.cpp +++ b/src/core/NotePlayHandle.cpp @@ -26,12 +26,12 @@ #include "NotePlayHandle.h" #include "AudioEngine.h" -#include "BasicFilters.h" #include "DetuningHelper.h" #include "InstrumentSoundShaping.h" #include "InstrumentTrack.h" #include "Instrument.h" #include "Song.h" +#include "lmms_math.h" namespace lmms { diff --git a/src/core/Oscillator.cpp b/src/core/Oscillator.cpp index 82d6dfe81..5b48ddf3e 100644 --- a/src/core/Oscillator.cpp +++ b/src/core/Oscillator.cpp @@ -29,6 +29,7 @@ #if !defined(__MINGW32__) && !defined(__MINGW64__) #include #endif +#include #include "BufferManager.h" #include "Engine.h" @@ -118,6 +119,7 @@ void Oscillator::update(SampleFrame* ab, const fpp_t frames, const ch_cnt_t chnl void Oscillator::generateSawWaveTable(int bands, sample_t* table, int firstBand) { + using namespace std::numbers; // sawtooth wave contain both even and odd harmonics // hence sinewaves are added for all bands // https://en.wikipedia.org/wiki/Sawtooth_wave @@ -127,7 +129,7 @@ void Oscillator::generateSawWaveTable(int bands, sample_t* table, int firstBand) const float imod = (i - OscillatorConstants::WAVETABLE_LENGTH / 2.f) / OscillatorConstants::WAVETABLE_LENGTH; for (int n = firstBand; n <= bands; n++) { - table[i] += (n % 2 ? 1.0f : -1.0f) / n * std::sin(numbers::tau_v * n * imod) / numbers::pi_half_v; + table[i] += (n % 2 ? 1.0f : -1.0f) / n * std::sin(2 * pi_v * n * imod) / (pi_v * 0.5f); } } } @@ -135,6 +137,8 @@ void Oscillator::generateSawWaveTable(int bands, sample_t* table, int firstBand) void Oscillator::generateTriangleWaveTable(int bands, sample_t* table, int firstBand) { + using namespace std::numbers; + constexpr float pi_sqr = pi_v * pi_v; // triangle waves contain only odd harmonics // hence sinewaves are added for alternate bands // https://en.wikipedia.org/wiki/Triangle_wave @@ -142,8 +146,8 @@ void Oscillator::generateTriangleWaveTable(int bands, sample_t* table, int first { for (int n = firstBand | 1; n <= bands; n += 2) { - table[i] += (n & 2 ? -1.0f : 1.0f) / (n * n) * - std::sin(numbers::tau_v * n * i / (float)OscillatorConstants::WAVETABLE_LENGTH) / (numbers::pi_sqr_v / 8.0f); + table[i] += (n & 2 ? -1.0f : 1.0f) / (n * n) + * std::sin(2 * pi_v * n * i / (float)OscillatorConstants::WAVETABLE_LENGTH) / (pi_sqr / 8.f); } } } @@ -151,6 +155,7 @@ void Oscillator::generateTriangleWaveTable(int bands, sample_t* table, int first void Oscillator::generateSquareWaveTable(int bands, sample_t* table, int firstBand) { + using namespace std::numbers; // square waves only contain odd harmonics, // at diffrent levels when compared to triangle waves // https://en.wikipedia.org/wiki/Square_wave @@ -159,8 +164,8 @@ void Oscillator::generateSquareWaveTable(int bands, sample_t* table, int firstBa for (int n = firstBand | 1; n <= bands; n += 2) { table[i] += (1.0f / n) - * std::sin(numbers::tau_v * i * n / OscillatorConstants::WAVETABLE_LENGTH) - / (numbers::pi_v / 4); + * std::sin(2 * pi_v * i * n / OscillatorConstants::WAVETABLE_LENGTH) + / (pi_v / 4.f); } } } diff --git a/src/core/ValueBuffer.cpp b/src/core/ValueBuffer.cpp index 01003dc3b..b77464023 100644 --- a/src/core/ValueBuffer.cpp +++ b/src/core/ValueBuffer.cpp @@ -1,6 +1,7 @@ #include "ValueBuffer.h" -#include "interpolation.h" +#include +#include namespace lmms { @@ -38,9 +39,7 @@ int ValueBuffer::length() const void ValueBuffer::interpolate(float start, float end_) { float i = 0; - std::generate(begin(), end(), [&]() { - return linearInterpolate( start, end_, i++ / length()); - }); + std::generate(begin(), end(), [&]() { return std::lerp(start, end_, i++ / length()); }); } diff --git a/src/core/fft_helpers.cpp b/src/core/fft_helpers.cpp index 2af0829fb..e4fd87aeb 100644 --- a/src/core/fft_helpers.cpp +++ b/src/core/fft_helpers.cpp @@ -27,7 +27,7 @@ #include "fft_helpers.h" #include -#include "lmms_constants.h" +#include namespace lmms { @@ -104,6 +104,7 @@ int notEmpty(const std::vector &spectrum) */ int precomputeWindow(float *window, unsigned int length, FFTWindow type, bool normalized) { + using namespace std::numbers; if (window == nullptr) {return -1;} float gain = 0; @@ -144,9 +145,9 @@ int precomputeWindow(float *window, unsigned int length, FFTWindow type, bool no // common computation for cosine-sum based windows for (unsigned int i = 0; i < length; i++) { - window[i] = (a0 - a1 * std::cos(2 * numbers::pi_v * i / ((float)length - 1.0)) - + a2 * std::cos(4 * numbers::pi_v * i / ((float)length - 1.0)) - - a3 * std::cos(6 * numbers::pi_v * i / ((float)length - 1.0))); + window[i] = (a0 - a1 * std::cos(2 * pi_v * i / (static_cast(length) - 1.0)) + + a2 * std::cos(4 * pi_v * i / (static_cast(length) - 1.0)) + - a3 * std::cos(6 * pi_v * i / (static_cast(length) - 1.0))); gain += window[i]; } diff --git a/src/gui/widgets/Knob.cpp b/src/gui/widgets/Knob.cpp index 7aa676953..25d2e3e3f 100644 --- a/src/gui/widgets/Knob.cpp +++ b/src/gui/widgets/Knob.cpp @@ -25,6 +25,7 @@ #include "Knob.h" #include +#include #include "lmms_math.h" #include "DeprecationHelper.h" @@ -312,7 +313,7 @@ void Knob::setTextColor( const QColor & c ) QLineF Knob::calculateLine( const QPointF & _mid, float _radius, float _innerRadius ) const { - const float rarc = m_angle * numbers::pi_v / 180.0; + const float rarc = m_angle * std::numbers::pi_v / 180.0; const float ca = std::cos(rarc); const float sa = -std::sin(rarc); From d145f78332efe5ccfdfe95d600a4aeb9bbb96d90 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Thu, 13 Feb 2025 17:01:40 -0500 Subject: [PATCH 086/112] AppImage: Use fully qualified path when calling appimagetool (#7707) AppImage: Use fully qualified path when calling appimagetool --- cmake/linux/LinuxDeploy.cmake | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/cmake/linux/LinuxDeploy.cmake b/cmake/linux/LinuxDeploy.cmake index e5f398fd1..8bc5d244a 100644 --- a/cmake/linux/LinuxDeploy.cmake +++ b/cmake/linux/LinuxDeploy.cmake @@ -57,19 +57,14 @@ file(GLOB cleanup "${CPACK_BINARY_DIR}/${lmms}-*.json" list(SORT cleanup) file(REMOVE ${cleanup}) -# Download linuxdeploy, expose bundled appimagetool to PATH +# Download and extract linuxdeploy download_binary(LINUXDEPLOY_BIN "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-${ARCH}.AppImage" linuxdeploy-${ARCH}.AppImage FALSE) -# Symlink nested appimagetool -set(_APPIMAGETOOL_LINK "${CPACK_CURRENT_BINARY_DIR}/appimagetool") -if(NOT EXISTS "${_APPIMAGETOOL_LINK}") - set(_APPIMAGETOOL "${CPACK_CURRENT_BINARY_DIR}/.linuxdeploy-${ARCH}.AppImage/squashfs-root/plugins/linuxdeploy-plugin-appimage/appimagetool-prefix/AppRun") - message(STATUS "Creating a symbolic link ${_APPIMAGETOOL_LINK} which points to ${_APPIMAGETOOL}") - create_symlink("${_APPIMAGETOOL}" "${_APPIMAGETOOL_LINK}") -endif() +# Guess the path to appimagetool +set(APPIMAGETOOL_BIN "${CPACK_CURRENT_BINARY_DIR}/.linuxdeploy-${ARCH}.AppImage/squashfs-root/plugins/linuxdeploy-plugin-appimage/appimagetool-prefix/AppRun") # Download linuxdeploy-plugin-qt download_binary(LINUXDEPLOY_PLUGIN_BIN @@ -111,9 +106,6 @@ endif() get_filename_component(QTBIN "${CPACK_QMAKE_EXECUTABLE}" DIRECTORY) set(ENV{PATH} "${QTBIN}:$ENV{PATH}") -# Ensure "linuxdeploy-.AppImage" and "appimagetool" binaries are first on the PATH -set(ENV{PATH} "${CPACK_CURRENT_BINARY_DIR}:$ENV{PATH}") - # Promote finding our own libraries first set(ENV{LD_LIBRARY_PATH} "${APP}/usr/lib/${lmms}/:${APP}/usr/lib/${lmms}/optional:$ENV{LD_LIBRARY_PATH}") @@ -171,6 +163,7 @@ execute_process(COMMAND "${LINUXDEPLOY_BIN}" ${LIBRARIES} ${SKIP_LIBRARIES} --verbosity ${VERBOSITY} + WORKING_DIRECTORY "${CPACK_CURRENT_BINARY_DIR}" ${OUTPUT_QUIET} COMMAND_ECHO ${COMMAND_ECHO} COMMAND_ERROR_IS_FATAL ANY) @@ -278,7 +271,7 @@ if(CPACK_TOOL STREQUAL "appimagetool") # appimage plugin needs ARCH set when running in extracted form from squashfs-root / CI set(ENV{ARCH} "${ARCH}") message(STATUS "Finishing the AppImage...") - execute_process(COMMAND ${CPACK_TOOL} "${APP}" "${APPIMAGE_FILE}" + execute_process(COMMAND "${APPIMAGETOOL_BIN}" "${APP}" "${APPIMAGE_FILE}" ${APPIMAGETOOL_VERBOSITY} ${OUTPUT_QUIET} COMMAND_ECHO ${COMMAND_ECHO} From bfacdd29f72443cdb51e67553a0aba907ed4f434 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Tue, 18 Feb 2025 01:22:54 -0500 Subject: [PATCH 087/112] VersionInfo: Mimic github's hash styling (#7694) --- cmake/modules/VersionInfo.cmake | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/cmake/modules/VersionInfo.cmake b/cmake/modules/VersionInfo.cmake index 6f4c371f1..18ed0db9f 100644 --- a/cmake/modules/VersionInfo.cmake +++ b/cmake/modules/VersionInfo.cmake @@ -8,6 +8,18 @@ IF(GIT_FOUND AND NOT FORCE_VERSION) # number from the environment and add it to the build metadata if("$ENV{GITHUB_REF}" MATCHES "refs/pull/([0-9]+)/merge") list(APPEND BUILD_METADATA "pr${CMAKE_MATCH_1}") + # Parse hash from merge description + # e.g. "Merge abc1234 into def4567" + execute_process( + COMMAND "${GIT_EXECUTABLE}" log -n 1 --format=%s + OUTPUT_VARIABLE COMMIT_HASH + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" + TIMEOUT 10 + OUTPUT_STRIP_TRAILING_WHITESPACE) + # If successful, use the first 7 characters to mimic github's hash style + if(COMMIT_HASH) + string(SUBSTRING "${COMMIT_HASH}" 6 7 COMMIT_HASH) + endif() endif() # Look for git tag information (e.g. Tagged: "v1.0.0", Untagged: "v1.0.0-123-a1b2c3d") @@ -44,7 +56,12 @@ IF(GIT_FOUND AND NOT FORCE_VERSION) ELSEIF(TAG_LIST_LENGTH EQUAL 3) # Get the number of commits and latest commit hash LIST(GET TAG_LIST 1 EXTRA_COMMITS) - LIST(GET TAG_LIST 2 COMMIT_HASH) + # Prefer PR hash from above if present + if(NOT COMMIT_HASH) + list(GET TAG_LIST 2 COMMIT_HASH) + # Mimic github's hash style + string(SUBSTRING "${COMMIT_HASH}" 1 7 COMMIT_HASH) + endif() list(APPEND PRERELEASE_DATA "${EXTRA_COMMITS}") list(APPEND BUILD_METADATA "${COMMIT_HASH}") # Bump the patch version, since a pre-release (as specified by the extra @@ -57,7 +74,12 @@ IF(GIT_FOUND AND NOT FORCE_VERSION) # Get the pre-release stage, number of commits, and latest commit hash LIST(GET TAG_LIST 1 VERSION_STAGE) LIST(GET TAG_LIST 2 EXTRA_COMMITS) - LIST(GET TAG_LIST 3 COMMIT_HASH) + # Prefer PR hash from above if present + if(NOT COMMIT_HASH) + list(GET TAG_LIST 3 COMMIT_HASH) + # Mimic github's hash style + string(SUBSTRING "${COMMIT_HASH}" 1 7 COMMIT_HASH) + endif() list(APPEND PRERELEASE_DATA "${VERSION_STAGE}") list(APPEND PRERELEASE_DATA "${EXTRA_COMMITS}") list(APPEND BUILD_METADATA "${COMMIT_HASH}") From 7725d0024ef30899fb2fa9dd130c135c9e49b755 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Tue, 18 Feb 2025 01:37:54 -0500 Subject: [PATCH 088/112] Allow plugins to be skipped at runtime (#7691) Allows plugins (such as carla) to be skipped when not installed --- cmake/linux/apprun-hooks/carla-hook.sh | 3 +- include/PluginFactory.h | 2 ++ src/core/PluginFactory.cpp | 44 ++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/cmake/linux/apprun-hooks/carla-hook.sh b/cmake/linux/apprun-hooks/carla-hook.sh index c505267bb..6f082d140 100644 --- a/cmake/linux/apprun-hooks/carla-hook.sh +++ b/cmake/linux/apprun-hooks/carla-hook.sh @@ -23,7 +23,8 @@ if command -v carla > /dev/null 2>&1; then fi done else - echo "[$ME] Carla does not appear to be installed. That's OK, please ignore any related library errors." >&2 + echo "[$ME] Carla does not appear to be installed, we'll remove it from the plugin listing." >&2 + export "LMMS_EXCLUDE_PLUGINS=libcarla,${LMMS_EXCLUDE_PLUGINS}" fi # Additional workarounds for library conflicts diff --git a/include/PluginFactory.h b/include/PluginFactory.h index 7221f2b09..126cb7d97 100644 --- a/include/PluginFactory.h +++ b/include/PluginFactory.h @@ -104,6 +104,8 @@ private: QHash m_errors; static std::unique_ptr s_instance; + + static void filterPlugins(QSet& files); }; //Short-hand function diff --git a/src/core/PluginFactory.cpp b/src/core/PluginFactory.cpp index ec0f4ec4e..71bdfef45 100644 --- a/src/core/PluginFactory.cpp +++ b/src/core/PluginFactory.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "lmmsconfig.h" @@ -157,6 +158,9 @@ void PluginFactory::discoverPlugins() #endif } + // Apply any plugin filters from environment LMMS_EXCLUDE_PLUGINS + filterPlugins(files); + // Cheap dependency handling: zynaddsubfx needs ZynAddSubFxCore. By loading // all libraries twice we ensure that libZynAddSubFxCore is found. for (const QFileInfo& file : files) @@ -245,7 +249,47 @@ void PluginFactory::discoverPlugins() m_descriptors = descriptors; } +// Filter plugins based on environment variable, e.g. export LMMS_EXCLUDE_PLUGINS="libcarla" +void PluginFactory::filterPlugins(QSet& files) { + // Get filter + QList excludedPatterns; + QString excludePatternString = std::getenv("LMMS_EXCLUDE_PLUGINS"); + if (!excludePatternString.isEmpty()) { + QStringList patterns = excludePatternString.split(','); + for (const QString& pattern : patterns) { + QRegularExpression regex(pattern.trimmed()); + if (!pattern.trimmed().isEmpty() && regex.isValid()) { + excludedPatterns << regex; + } else { + qWarning() << "Invalid regular expression:" << pattern; + } + } + } + + // Get files to remove + QSet filesToRemove; + for (const QFileInfo& fileInfo : files) { + bool excluded = false; + QString filePath = fileInfo.filePath(); + + for (const QRegularExpression& pattern : excludedPatterns) { + if (pattern.match(filePath).hasMatch()) { + excluded = true; + break; + } + } + + if (excluded) { + filesToRemove.insert(fileInfo); + } + } + + // Remove them + for (const QFileInfo& fileInfo : filesToRemove) { + files.remove(fileInfo); + } +} QString PluginFactory::PluginInfo::name() const { From 24bda4fa584274e113ccf271eba53e34b39fbb87 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Tue, 18 Feb 2025 03:31:12 -0500 Subject: [PATCH 089/112] AppImage: Initial support for wayland (#7704) Adds opt-in wayland support to the AppImage --- .github/workflows/deps-ubuntu-24.04-gcc.txt | 1 + cmake/linux/LinuxDeploy.cmake | 4 ++++ cmake/linux/apprun-hooks/wayland-hook.sh | 12 ++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 cmake/linux/apprun-hooks/wayland-hook.sh diff --git a/.github/workflows/deps-ubuntu-24.04-gcc.txt b/.github/workflows/deps-ubuntu-24.04-gcc.txt index f1b705eeb..a9e665d3c 100644 --- a/.github/workflows/deps-ubuntu-24.04-gcc.txt +++ b/.github/workflows/deps-ubuntu-24.04-gcc.txt @@ -46,6 +46,7 @@ qtbase5-dev qtbase5-dev-tools qtbase5-private-dev qttools5-dev-tools +qtwayland5 software-properties-common ssh-client stk diff --git a/cmake/linux/LinuxDeploy.cmake b/cmake/linux/LinuxDeploy.cmake index 8bc5d244a..f2530a10f 100644 --- a/cmake/linux/LinuxDeploy.cmake +++ b/cmake/linux/LinuxDeploy.cmake @@ -135,6 +135,10 @@ file(GLOB LADSPA "${APP}/usr/lib/${lmms}/ladspa/*.so") # Inform linuxdeploy about remote plugins file(GLOB REMOTE_PLUGINS "${APP}/usr/lib/${lmms}/*Remote*") +# Inform linuxdeploy-plugin-qt about wayland plugin +set(ENV{EXTRA_PLATFORM_PLUGINS} "libqwayland-generic.so") +set(ENV{EXTRA_QT_MODULES} "waylandcompositor") + # Collect, sort and dedupe all libraries list(APPEND LIBS ${LADSPA}) list(APPEND LIBS ${REMOTE_PLUGINS}) diff --git a/cmake/linux/apprun-hooks/wayland-hook.sh b/cmake/linux/apprun-hooks/wayland-hook.sh new file mode 100644 index 000000000..a24a1a563 --- /dev/null +++ b/cmake/linux/apprun-hooks/wayland-hook.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Configure QPlatform Abstraction (qpa) to prefer X-Protocol C-Bindings (xcb) over Wayland +ME="$( basename "${BASH_SOURCE[0]}")" + +if [ -n "$QT_QPA_PLATFORM" ]; then + echo "[$ME] QT_QPA_PLATFORM=\"$QT_QPA_PLATFORM\" was provided, using." >&2 +else + export QT_QPA_PLATFORM="xcb" + echo "[$ME] Defaulting to QT_QPA_PLATFORM=\"$QT_QPA_PLATFORM\" for compatibility purposes." >&2 + echo "[$ME] To force wayland, set QT_QPA_PLATFORM=\"wayland\" or call using \"-platform wayland\"." >&2 +fi From b440a029dfeecea9d1c18ddf413a60395ef92167 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Tue, 18 Feb 2025 18:41:28 -0500 Subject: [PATCH 090/112] Update FLTK in the AppImage (#7710) Bump fltk 1.3.x->1.4.1 Closes #5386 --- .github/workflows/build.yml | 36 +++++++++++++++++++- .github/workflows/deps-ubuntu-24.04-fltk.txt | 3 ++ .github/workflows/deps-ubuntu-24.04-gcc.txt | 1 - 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/deps-ubuntu-24.04-fltk.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a46420ef2..9c812fd9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,13 @@ jobs: with: fetch-depth: 0 submodules: recursive + - name: Clone fltk + uses: actions/checkout@v4 + with: + repository: fltk/fltk + path: fltk + ref: 27d991f046bdebb12bfd58f7c05a19f135979c29 + fetch-depth: 1 - name: Configure winehq run: | sudo dpkg --add-architecture i386 @@ -37,8 +44,10 @@ jobs: run: | sudo apt-get update -y sudo apt-get install -y --no-install-recommends \ - $(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt) + $(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt) sudo apt-get install -y --install-recommends g++-multilib gcc-multilib winehq-stable wine-stable-dev + sudo apt-get install -y --install-recommends \ + $(xargs < .github/workflows/deps-ubuntu-24.04-fltk.txt) - name: Cache ccache data uses: actions/cache@v3 with: @@ -47,6 +56,14 @@ jobs: ccache-${{ github.job }}-${{ github.ref }}- ccache-${{ github.job }}- path: ~/.ccache + - name: Configure fltk + run: | + cmake -S fltk -B fltk/build -DFLTK_BUILD_SHARED_LIBS=ON -DFLTK_BACKEND_WAYLAND=ON \ + -DFLTK_USE_LIBDECOR_GTK=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_BUILD_GL=OFF + - name: Install fltk + run: | + cmake --build fltk/build + sudo cmake --install fltk/build --prefix /usr - name: Configure run: | ccache --zero-stats @@ -98,11 +115,20 @@ jobs: with: fetch-depth: 0 submodules: recursive + - name: Clone fltk + uses: actions/checkout@v4 + with: + repository: fltk/fltk + path: fltk + ref: 27d991f046bdebb12bfd58f7c05a19f135979c29 + fetch-depth: 1 - name: Install system packages run: | sudo apt-get update -y sudo apt-get install -y --no-install-recommends \ $(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt) + sudo apt-get install -y --install-recommends \ + $(xargs < .github/workflows/deps-ubuntu-24.04-fltk.txt) - name: Cache ccache data uses: actions/cache@v3 with: @@ -111,6 +137,14 @@ jobs: ccache-${{ github.job }}-${{ github.ref }}- ccache-${{ github.job }}- path: ~/.ccache + - name: Configure fltk + run: | + cmake -S fltk -B fltk/build -DFLTK_BUILD_SHARED_LIBS=ON -DFLTK_BACKEND_WAYLAND=ON \ + -DFLTK_USE_LIBDECOR_GTK=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_BUILD_GL=OFF + - name: Install fltk + run: | + cmake --build fltk/build + sudo cmake --install fltk/build --prefix /usr - name: Configure run: | ccache --zero-stats diff --git a/.github/workflows/deps-ubuntu-24.04-fltk.txt b/.github/workflows/deps-ubuntu-24.04-fltk.txt new file mode 100644 index 000000000..05a127b94 --- /dev/null +++ b/.github/workflows/deps-ubuntu-24.04-fltk.txt @@ -0,0 +1,3 @@ +libcairo2-dev +libpango1.0-dev +wayland-protocols diff --git a/.github/workflows/deps-ubuntu-24.04-gcc.txt b/.github/workflows/deps-ubuntu-24.04-gcc.txt index a9e665d3c..ce5fb7560 100644 --- a/.github/workflows/deps-ubuntu-24.04-gcc.txt +++ b/.github/workflows/deps-ubuntu-24.04-gcc.txt @@ -11,7 +11,6 @@ g++ libasound2-dev libc6-dev libfftw3-dev -libfltk1.3-dev libfluidsynth-dev libgig-dev libgtk2.0-0 From ea02b3aba0aa110f5fb7e01f797bcb83faf6caed Mon Sep 17 00:00:00 2001 From: Sotonye Atemie Date: Wed, 19 Feb 2025 19:24:27 -0500 Subject: [PATCH 091/112] Do not set Qt::WA_OpaquePaintEvent (#7643) Attempts to fix child widgets -- such as clips from the song editor -- drawing on top on other --- plugins/Compressor/CompressorControlDialog.cpp | 1 - src/gui/clips/AutomationClipView.cpp | 2 -- src/gui/clips/ClipView.cpp | 1 - src/gui/editors/AutomationEditor.cpp | 2 -- src/gui/editors/PianoRoll.cpp | 2 -- src/gui/editors/TimeLineWidget.cpp | 1 - src/gui/instrument/PianoView.cpp | 1 - src/gui/tracks/FadeButton.cpp | 1 - src/gui/tracks/TrackLabelButton.cpp | 1 - src/gui/widgets/CPULoadWidget.cpp | 1 - src/gui/widgets/Fader.cpp | 1 - src/gui/widgets/Oscilloscope.cpp | 1 - 12 files changed, 15 deletions(-) diff --git a/plugins/Compressor/CompressorControlDialog.cpp b/plugins/Compressor/CompressorControlDialog.cpp index 2622fbc2b..b4b1b0146 100755 --- a/plugins/Compressor/CompressorControlDialog.cpp +++ b/plugins/Compressor/CompressorControlDialog.cpp @@ -48,7 +48,6 @@ CompressorControlDialog::CompressorControlDialog(CompressorControls* controls) : m_controls(controls) { setAutoFillBackground(false); - setAttribute(Qt::WA_OpaquePaintEvent, true); setAttribute(Qt::WA_NoSystemBackground, true); setMinimumSize(MIN_COMP_SCREEN_X, MIN_COMP_SCREEN_Y); diff --git a/src/gui/clips/AutomationClipView.cpp b/src/gui/clips/AutomationClipView.cpp index 9b71bb74c..e098710d9 100644 --- a/src/gui/clips/AutomationClipView.cpp +++ b/src/gui/clips/AutomationClipView.cpp @@ -55,8 +55,6 @@ AutomationClipView::AutomationClipView( AutomationClip * _clip, connect( getGUI()->automationEditor(), SIGNAL(currentClipChanged()), this, SLOT(update())); - setAttribute( Qt::WA_OpaquePaintEvent, true ); - setToolTip(m_clip->name()); setStyle( QApplication::style() ); update(); diff --git a/src/gui/clips/ClipView.cpp b/src/gui/clips/ClipView.cpp index 194132819..f98351f37 100644 --- a/src/gui/clips/ClipView.cpp +++ b/src/gui/clips/ClipView.cpp @@ -114,7 +114,6 @@ ClipView::ClipView( Clip * clip, s_textFloat->setPixmap( embed::getIconPixmap( "clock" ) ); } - setAttribute( Qt::WA_OpaquePaintEvent, true ); setAttribute( Qt::WA_DeleteOnClose, true ); setFocusPolicy( Qt::StrongFocus ); setCursor( m_cursorHand ); diff --git a/src/gui/editors/AutomationEditor.cpp b/src/gui/editors/AutomationEditor.cpp index e3867e7ab..78f5d112a 100644 --- a/src/gui/editors/AutomationEditor.cpp +++ b/src/gui/editors/AutomationEditor.cpp @@ -111,8 +111,6 @@ AutomationEditor::AutomationEditor() : connect( Engine::getSong(), SIGNAL(timeSignatureChanged(int,int)), this, SLOT(update())); - setAttribute( Qt::WA_OpaquePaintEvent, true ); - //keeps the direction of the widget, undepended on the locale setLayoutDirection( Qt::LeftToRight ); diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index cbd68e7ff..41b760495 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -271,8 +271,6 @@ PianoRoll::PianoRoll() : s_textFloat = new SimpleTextFloat; } - setAttribute( Qt::WA_OpaquePaintEvent, true ); - // add time-line m_timeLine = new TimeLineWidget(m_whiteKeyWidth, 0, m_ppb, Engine::getSong()->getPlayPos(Song::PlayMode::MidiClip), diff --git a/src/gui/editors/TimeLineWidget.cpp b/src/gui/editors/TimeLineWidget.cpp index bea6d43c0..e25ba74a3 100644 --- a/src/gui/editors/TimeLineWidget.cpp +++ b/src/gui/editors/TimeLineWidget.cpp @@ -59,7 +59,6 @@ TimeLineWidget::TimeLineWidget(const int xoff, const int yoff, const float ppb, m_begin{begin}, m_mode{mode} { - setAttribute( Qt::WA_OpaquePaintEvent, true ); move( 0, yoff ); setMouseTracking(true); diff --git a/src/gui/instrument/PianoView.cpp b/src/gui/instrument/PianoView.cpp index 88bb48332..8491927db 100644 --- a/src/gui/instrument/PianoView.cpp +++ b/src/gui/instrument/PianoView.cpp @@ -90,7 +90,6 @@ PianoView::PianoView(QWidget *parent) : m_lastKey(-1), /*!< The last key displayed? */ m_movedNoteModel(nullptr) /*!< Key marker which is being moved */ { - setAttribute(Qt::WA_OpaquePaintEvent, true); setFocusPolicy(Qt::StrongFocus); // Black keys are drawn halfway between successive white keys, so they do not diff --git a/src/gui/tracks/FadeButton.cpp b/src/gui/tracks/FadeButton.cpp index 2f4727e5e..386b5be41 100644 --- a/src/gui/tracks/FadeButton.cpp +++ b/src/gui/tracks/FadeButton.cpp @@ -47,7 +47,6 @@ FadeButton::FadeButton(const QColor & _normal_color, m_activatedColor( _activated_color ), m_holdColor( holdColor ) { - setAttribute(Qt::WA_OpaquePaintEvent, true); setCursor(QCursor(embed::getIconPixmap("hand"), 3, 3)); setFocusPolicy(Qt::NoFocus); activeNotes = 0; diff --git a/src/gui/tracks/TrackLabelButton.cpp b/src/gui/tracks/TrackLabelButton.cpp index dd19f3d19..c203fad8c 100644 --- a/src/gui/tracks/TrackLabelButton.cpp +++ b/src/gui/tracks/TrackLabelButton.cpp @@ -46,7 +46,6 @@ TrackLabelButton::TrackLabelButton( TrackView * _tv, QWidget * _parent ) : m_trackView( _tv ), m_iconName() { - setAttribute( Qt::WA_OpaquePaintEvent, true ); setAcceptDrops( true ); setCursor( QCursor( embed::getIconPixmap( "hand" ), 3, 3 ) ); setToolButtonStyle( Qt::ToolButtonTextBesideIcon ); diff --git a/src/gui/widgets/CPULoadWidget.cpp b/src/gui/widgets/CPULoadWidget.cpp index db1f5cacc..8362e6713 100644 --- a/src/gui/widgets/CPULoadWidget.cpp +++ b/src/gui/widgets/CPULoadWidget.cpp @@ -46,7 +46,6 @@ CPULoadWidget::CPULoadWidget( QWidget * _parent ) : m_changed( true ), m_updateTimer() { - setAttribute( Qt::WA_OpaquePaintEvent, true ); setFixedSize( m_background.width(), m_background.height() ); m_temp = QPixmap( width(), height() ); diff --git a/src/gui/widgets/Fader.cpp b/src/gui/widgets/Fader.cpp index 9337f9258..e8560c3c0 100644 --- a/src/gui/widgets/Fader.cpp +++ b/src/gui/widgets/Fader.cpp @@ -73,7 +73,6 @@ Fader::Fader(FloatModel* model, const QString& name, QWidget* parent) : } setWindowTitle(name); - setAttribute(Qt::WA_OpaquePaintEvent, false); // For now resize the widget to the size of the previous background image "fader_background.png" as it was found in the classic and default theme constexpr QSize minimumSize(23, 116); setMinimumSize(minimumSize); diff --git a/src/gui/widgets/Oscilloscope.cpp b/src/gui/widgets/Oscilloscope.cpp index 28ddff938..bf66fa465 100644 --- a/src/gui/widgets/Oscilloscope.cpp +++ b/src/gui/widgets/Oscilloscope.cpp @@ -51,7 +51,6 @@ Oscilloscope::Oscilloscope( QWidget * _p ) : m_clippingColor(255, 64, 64) { setFixedSize( m_background.width(), m_background.height() ); - setAttribute( Qt::WA_OpaquePaintEvent, true ); setActive( ConfigManager::inst()->value( "ui", "displaywaveform").toInt() ); const fpp_t frames = Engine::audioEngine()->framesPerPeriod(); From 055e0ba576c7fed3dcaa4dfed643c4e1fc4d40e6 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Fri, 21 Feb 2025 00:56:04 -0500 Subject: [PATCH 092/112] Fix additional warnings when Carla is missing (#7722) Fix additional warnings when Carla is missing Adds new env var LMMS_EXCLUDE_LADSPA --------- Co-authored-by: Dalton Messmer --- cmake/linux/apprun-hooks/carla-hook.sh | 1 + include/PluginFactory.h | 1 + src/core/LadspaManager.cpp | 14 ++++++++++- src/core/PluginFactory.cpp | 34 +++++++++++++++++--------- 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/cmake/linux/apprun-hooks/carla-hook.sh b/cmake/linux/apprun-hooks/carla-hook.sh index 6f082d140..8cbe43d02 100644 --- a/cmake/linux/apprun-hooks/carla-hook.sh +++ b/cmake/linux/apprun-hooks/carla-hook.sh @@ -25,6 +25,7 @@ if command -v carla > /dev/null 2>&1; then else echo "[$ME] Carla does not appear to be installed, we'll remove it from the plugin listing." >&2 export "LMMS_EXCLUDE_PLUGINS=libcarla,${LMMS_EXCLUDE_PLUGINS}" + export "LMMS_EXCLUDE_LADSPA=libcarla,${LMMS_EXCLUDE_LADSPA}" fi # Additional workarounds for library conflicts diff --git a/include/PluginFactory.h b/include/PluginFactory.h index 126cb7d97..6ed0bc40b 100644 --- a/include/PluginFactory.h +++ b/include/PluginFactory.h @@ -61,6 +61,7 @@ public: ~PluginFactory() = default; static void setupSearchPaths(); + static QList getExcludePatterns(const char* envVar); /// Returns the singleton instance of PluginFactory. You won't need to call /// this directly, use pluginFactory instead. diff --git a/src/core/LadspaManager.cpp b/src/core/LadspaManager.cpp index 481b52a2e..5b94cac3f 100644 --- a/src/core/LadspaManager.cpp +++ b/src/core/LadspaManager.cpp @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include @@ -45,6 +47,8 @@ LadspaManager::LadspaManager() // Make sure plugin search paths are set up PluginFactory::setupSearchPaths(); + QList excludePatterns = PluginFactory::getExcludePatterns("LMMS_EXCLUDE_LADSPA"); + QStringList ladspaDirectories = QString( getenv( "LADSPA_PATH" ) ). split( LADSPA_PATH_SEPERATOR ); ladspaDirectories += ConfigManager::inst()->ladspaDir().split( ',' ); @@ -67,7 +71,15 @@ LadspaManager::LadspaManager() QFileInfoList list = directory.entryInfoList(); for (const auto& f : list) { - if(!f.isFile() || f.fileName().right( 3 ).toLower() != + bool exclude = false; + for (const auto& pattern : excludePatterns) { + if (pattern.match(f.filePath()).hasMatch()) { + exclude = true; + break; + } + } + + if (exclude || !f.isFile() || f.fileName().right(3).toLower() != #ifdef LMMS_BUILD_WIN32 "dll" #else diff --git a/src/core/PluginFactory.cpp b/src/core/PluginFactory.cpp index 71bdfef45..38cd2dc58 100644 --- a/src/core/PluginFactory.cpp +++ b/src/core/PluginFactory.cpp @@ -249,38 +249,50 @@ void PluginFactory::discoverPlugins() m_descriptors = descriptors; } -// Filter plugins based on environment variable, e.g. export LMMS_EXCLUDE_PLUGINS="libcarla" -void PluginFactory::filterPlugins(QSet& files) { - // Get filter - QList excludedPatterns; - QString excludePatternString = std::getenv("LMMS_EXCLUDE_PLUGINS"); +// Builds QList based on environment variable envVar +QList PluginFactory::getExcludePatterns(const char* envVar) { + QList excludePatterns; + QString excludePatternString = std::getenv(envVar); if (!excludePatternString.isEmpty()) { QStringList patterns = excludePatternString.split(','); for (const QString& pattern : patterns) { + if (pattern.trimmed().isEmpty()) { + continue; + } QRegularExpression regex(pattern.trimmed()); - if (!pattern.trimmed().isEmpty() && regex.isValid()) { - excludedPatterns << regex; + if (regex.isValid()) { + excludePatterns << regex; } else { qWarning() << "Invalid regular expression:" << pattern; } } } + return excludePatterns; +} + +// Filter plugins based on environment variable, e.g. export LMMS_EXCLUDE_PLUGINS="libcarla" +void PluginFactory::filterPlugins(QSet& files) { + // Get filter + QList excludePatterns = getExcludePatterns("LMMS_EXCLUDE_PLUGINS"); + if (excludePatterns.isEmpty()) { + return; + } // Get files to remove QSet filesToRemove; for (const QFileInfo& fileInfo : files) { - bool excluded = false; + bool exclude = false; QString filePath = fileInfo.filePath(); - for (const QRegularExpression& pattern : excludedPatterns) { + for (const QRegularExpression& pattern : excludePatterns) { if (pattern.match(filePath).hasMatch()) { - excluded = true; + exclude = true; break; } } - if (excluded) { + if (exclude) { filesToRemove.insert(fileInfo); } } From 9b04e29c4e416449abe7a6a1b03a2e934a9f3633 Mon Sep 17 00:00:00 2001 From: Kevin Zander Date: Sat, 22 Feb 2025 02:54:29 -0600 Subject: [PATCH 093/112] Remove song import global automation (#5229) Co-authored-by: Hyunjin Song --- data/projects/templates/AcousticDrumset.mpt | 18 ------- data/projects/templates/CR8000.mpt | 18 ------- data/projects/templates/ClubMix.mpt | 18 ------- data/projects/templates/Empty.mpt | 13 ----- data/projects/templates/TR808.mpt | 18 ------- data/projects/templates/default.mpt | 18 ------- .../tutorials/editing_note_volumes.mmp | 17 ------- include/DataFile.h | 1 + src/core/DataFile.cpp | 48 ++++++++++++++++++- src/core/Song.cpp | 7 --- 10 files changed, 48 insertions(+), 128 deletions(-) diff --git a/data/projects/templates/AcousticDrumset.mpt b/data/projects/templates/AcousticDrumset.mpt index b134cd9e6..8faca3d4b 100644 --- a/data/projects/templates/AcousticDrumset.mpt +++ b/data/projects/templates/AcousticDrumset.mpt @@ -96,24 +96,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/projects/templates/CR8000.mpt b/data/projects/templates/CR8000.mpt index 7d7314b65..9f2b4bfc3 100644 --- a/data/projects/templates/CR8000.mpt +++ b/data/projects/templates/CR8000.mpt @@ -214,24 +214,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/projects/templates/ClubMix.mpt b/data/projects/templates/ClubMix.mpt index 41779d493..0b973548c 100644 --- a/data/projects/templates/ClubMix.mpt +++ b/data/projects/templates/ClubMix.mpt @@ -113,24 +113,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/projects/templates/Empty.mpt b/data/projects/templates/Empty.mpt index e558347dd..048bd4ee6 100644 --- a/data/projects/templates/Empty.mpt +++ b/data/projects/templates/Empty.mpt @@ -4,19 +4,6 @@ - - - - - - - - - - - - - diff --git a/data/projects/templates/TR808.mpt b/data/projects/templates/TR808.mpt index 08ad876ca..f0c1a23fd 100644 --- a/data/projects/templates/TR808.mpt +++ b/data/projects/templates/TR808.mpt @@ -282,24 +282,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/projects/templates/default.mpt b/data/projects/templates/default.mpt index 299aaff2d..e15b6210a 100644 --- a/data/projects/templates/default.mpt +++ b/data/projects/templates/default.mpt @@ -52,24 +52,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/data/projects/tutorials/editing_note_volumes.mmp b/data/projects/tutorials/editing_note_volumes.mmp index b54580618..6f7de11d3 100644 --- a/data/projects/tutorials/editing_note_volumes.mmp +++ b/data/projects/tutorials/editing_note_volumes.mmp @@ -50,23 +50,6 @@ - - - - - - - - - - - - - - diff --git a/include/DataFile.h b/include/DataFile.h index 7f5f5b888..38e67f102 100644 --- a/include/DataFile.h +++ b/include/DataFile.h @@ -134,6 +134,7 @@ private: void upgrade_fixCMTDelays(); void upgrade_fixBassLoopsTypo(); void findProblematicLadspaPlugins(); + void upgrade_noHiddenAutomationTracks(); // List of all upgrade methods static const std::vector UPGRADE_METHODS; diff --git a/src/core/DataFile.cpp b/src/core/DataFile.cpp index 503a0b6a9..a724f25c0 100644 --- a/src/core/DataFile.cpp +++ b/src/core/DataFile.cpp @@ -85,7 +85,8 @@ const std::vector DataFile::UPGRADE_METHODS = { &DataFile::upgrade_sampleAndHold , &DataFile::upgrade_midiCCIndexing, &DataFile::upgrade_loopsRename , &DataFile::upgrade_noteTypes, &DataFile::upgrade_fixCMTDelays , &DataFile::upgrade_fixBassLoopsTypo, - &DataFile::findProblematicLadspaPlugins + &DataFile::findProblematicLadspaPlugins, + &DataFile::upgrade_noHiddenAutomationTracks }; // Vector of all versions that have upgrade routines. @@ -1638,6 +1639,51 @@ void DataFile::upgrade_1_3_0() } } +void DataFile::upgrade_noHiddenAutomationTracks() +{ + // convert global automation tracks to non-hidden + QDomElement song = firstChildElement("lmms-project") + .firstChildElement("song"); + QDomElement trackContainer = song.firstChildElement("trackcontainer"); + QDomElement globalAutomationTrack = song.firstChildElement("track"); + if (!globalAutomationTrack.isNull() + && globalAutomationTrack.attribute("type").toInt() == static_cast(Track::Type::HiddenAutomation)) + { + // global automation clips + QDomNodeList automationClips = globalAutomationTrack.elementsByTagName("automationclip"); + QList tracksToInsert; + for (int i = 0; i < automationClips.length(); ++i) + { + QDomElement automationClip = automationClips.item(i).toElement(); + // If automationClip has time nodes, move it to trackcontainer + // There are times when an node is present without an + // object with the same ID in the file, so we ignore that node + if (automationClip.elementsByTagName("time").length() > 1) + { + QDomElement automationTrackForClip = createElement("track"); + automationTrackForClip.setAttribute("muted", QString::number(false)); + automationTrackForClip.setAttribute("solo", QString::number(false)); + automationTrackForClip.setAttribute("type", + QString::number(static_cast(Track::Type::Automation))); + automationTrackForClip.setAttribute("name", + automationClip.attribute("name", "Automation Track")); + QDomElement at = createElement("automationtrack"); + automationTrackForClip.appendChild(at); + automationTrackForClip.appendChild(automationClips.item(i).cloneNode()); + tracksToInsert.prepend(automationTrackForClip); // To preserve orders + } + } + + // Insert the tracks at the beginning of trackContainer, preserving their order + for (const auto& track : tracksToInsert) { + trackContainer.insertBefore(track, trackContainer.firstChild()); + } + + // Remove the track object just in case + globalAutomationTrack.parentNode().removeChild(globalAutomationTrack); + } +} + void DataFile::upgrade_noHiddenClipNames() { QDomNodeList tracks = elementsByTagName("track"); diff --git a/src/core/Song.cpp b/src/core/Song.cpp index 4e6bf6f58..ea60e349b 100644 --- a/src/core/Song.cpp +++ b/src/core/Song.cpp @@ -1079,12 +1079,6 @@ void Song::loadProject( const QString & fileName ) getTimeline(PlayMode::Song).setLoopEnabled(false); - if( !dataFile.content().firstChildElement( "track" ).isNull() ) - { - m_globalAutomationTrack->restoreState( dataFile.content(). - firstChildElement( "track" ) ); - } - //Backward compatibility for LMMS <= 0.4.15 PeakController::initGetControllerBySetting(); @@ -1239,7 +1233,6 @@ bool Song::saveProjectFile(const QString & filename, bool withResources) saveState( dataFile, dataFile.content() ); - m_globalAutomationTrack->saveState( dataFile, dataFile.content() ); Engine::mixer()->saveState( dataFile, dataFile.content() ); if( getGUI() != nullptr ) { From a4c91f8ba06ed1ab13340d906fee6a65bd46fbbe Mon Sep 17 00:00:00 2001 From: superpaik <68785450+superpaik@users.noreply.github.com> Date: Fri, 28 Feb 2025 15:52:41 +0100 Subject: [PATCH 094/112] Recursively unmute channels when soloing in the mixer (#6746) * unmute related FX channels When soled one FX channel, unmute send and receive channels, to allow complex FX channel routing (BUS, SENDs, etc.) * Comment change * SEND channels Activate also SEND channels recursively * Remove unnecessary whitespace * Encapsulate mixer channel index Make the mixer channel index `m_channelIndex` private and add getters and setters. Also add a method to determine if the channel is the master channel. Move `m_channelIndex` to the end of the initialization list of the `MixerChannel` constructor because it is now the last member in the header. Adjust all clients to make use of the new methods. * Replace const int& getIndex() with int index() const * Format changes --------- Co-authored-by: Michael Gregorius Co-authored-by: Sotonye Atemie --- include/Mixer.h | 14 ++++-- src/core/Mixer.cpp | 65 ++++++++++++++++++++++---- src/gui/tracks/InstrumentTrackView.cpp | 4 +- src/gui/tracks/SampleTrackView.cpp | 4 +- 4 files changed, 70 insertions(+), 17 deletions(-) diff --git a/include/Mixer.h b/include/Mixer.h index d74f9c11c..6e3c86565 100644 --- a/include/Mixer.h +++ b/include/Mixer.h @@ -63,7 +63,6 @@ class MixerChannel : public ThreadableJob FloatModel m_volumeModel; QString m_name; QMutex m_lock; - int m_channelIndex; // what channel index are we bool m_queued; // are we queued up for rendering yet? bool m_muted; // are we muted? updated per period so we don't have to call m_muteModel.value() twice @@ -73,8 +72,15 @@ class MixerChannel : public ThreadableJob // pointers to other channels that send to this one MixerRouteVector m_receives; + int index() const { return m_channelIndex; } + void setIndex(int index) { m_channelIndex = index; } + + bool isMaster() { return m_channelIndex == 0; } + bool requiresProcessing() const override { return true; } void unmuteForSolo(); + void unmuteSenderForSolo(); + void unmuteReceiverForSolo(); auto color() const -> const std::optional& { return m_color; } void setColor(const std::optional& color) { m_color = color; } @@ -85,7 +91,7 @@ class MixerChannel : public ThreadableJob private: void doProcessing() override; - + int m_channelIndex; std::optional m_color; }; @@ -98,12 +104,12 @@ public: mix_ch_t senderIndex() const { - return m_from->m_channelIndex; + return m_from->index(); } mix_ch_t receiverIndex() const { - return m_to->m_channelIndex; + return m_to->index(); } FloatModel * amount() diff --git a/src/core/Mixer.cpp b/src/core/Mixer.cpp index 7e3fc1f60..0add6008d 100644 --- a/src/core/Mixer.cpp +++ b/src/core/Mixer.cpp @@ -44,7 +44,7 @@ MixerRoute::MixerRoute( MixerChannel * from, MixerChannel * to, float amount ) : m_from( from ), m_to( to ), m_amount(amount, 0, 1, 0.001f, nullptr, - tr("Amount to send from channel %1 to channel %2").arg(m_from->m_channelIndex).arg(m_to->m_channelIndex)) + tr("Amount to send from channel %1 to channel %2").arg(m_from->index()).arg(m_to->index())) { //qDebug( "created: %d to %d", m_from->m_channelIndex, m_to->m_channelIndex ); // create send amount model @@ -54,7 +54,7 @@ MixerRoute::MixerRoute( MixerChannel * from, MixerChannel * to, float amount ) : void MixerRoute::updateName() { m_amount.setDisplayName( - tr( "Amount to send from channel %1 to channel %2" ).arg( m_from->m_channelIndex ).arg( m_to->m_channelIndex ) ); + tr("Amount to send from channel %1 to channel %2").arg(m_from->index()).arg(m_to->index())); } @@ -70,9 +70,9 @@ MixerChannel::MixerChannel( int idx, Model * _parent ) : m_volumeModel(1.f, 0.f, 2.f, 0.001f, _parent), m_name(), m_lock(), - m_channelIndex( idx ), m_queued( false ), - m_dependenciesMet(0) + m_dependenciesMet(0), + m_channelIndex(idx) { zeroSampleFrames(m_buffer, Engine::audioEngine()->framesPerPeriod()); } @@ -109,8 +109,55 @@ void MixerChannel::incrementDeps() void MixerChannel::unmuteForSolo() { - //TODO: Recursively activate every channel, this channel sends to m_muteModel.setValue(false); + + // if channel is not master, unmute also every channel it sends to/receives from + if (!isMaster()) + { + for (const MixerRoute* sendsRoute : m_sends) + { + sendsRoute->receiver()->unmuteSenderForSolo(); + } + + for (const MixerRoute* receiverRoute : m_receives) + { + receiverRoute->sender()->unmuteReceiverForSolo(); + } + } +} + +void MixerChannel::unmuteSenderForSolo() +{ + m_muteModel.setValue(false); + + // if channel is not master, unmute every channel it sends to + if (!isMaster()) + { + for (const MixerRoute* sendsRoute : m_sends) + { + sendsRoute->receiver()->unmuteSenderForSolo(); + } + } +} + + +void MixerChannel::unmuteReceiverForSolo() +{ + m_muteModel.setValue(false); + + // if channel is not master, unmute every channel it receives from, and of those, unmute the channels they send to + if (!isMaster()) + { + for (const MixerRoute* receiverRoute : m_receives) + { + receiverRoute->sender()->unmuteReceiverForSolo(); + } + + for (const MixerRoute* sendsRoute : m_sends) + { + sendsRoute->receiver()->unmuteSenderForSolo(); + } + } } @@ -275,7 +322,7 @@ void Mixer::toggledSolo() } else { activateSolo(); } - // unmute the soloed chan and every channel it sends to + // unmute the soloed chan and every channel it sends to/receives from m_mixerChannels[soloedChan]->unmuteForSolo(); } else { deactivateSolo(); @@ -360,7 +407,7 @@ void Mixer::deleteChannel( int index ) validateChannelName( i, i + 1 ); // set correct channel index - m_mixerChannels[i]->m_channelIndex = i; + m_mixerChannels[i]->setIndex(i); // now check all routes and update names of the send models for( MixerRoute * r : m_mixerChannels[i]->m_sends ) @@ -433,8 +480,8 @@ void Mixer::moveChannelLeft( int index ) qSwap(m_mixerChannels[index], m_mixerChannels[index - 1]); // Update m_channelIndex of both channels - m_mixerChannels[index]->m_channelIndex = index; - m_mixerChannels[index - 1]->m_channelIndex = index -1; + m_mixerChannels[index]->setIndex(index); + m_mixerChannels[index - 1]->setIndex(index - 1); } diff --git a/src/gui/tracks/InstrumentTrackView.cpp b/src/gui/tracks/InstrumentTrackView.cpp index 1d9991c31..b8ca43bcd 100644 --- a/src/gui/tracks/InstrumentTrackView.cpp +++ b/src/gui/tracks/InstrumentTrackView.cpp @@ -385,8 +385,8 @@ QMenu * InstrumentTrackView::createMixerMenu(QString title, QString newMixerLabe if ( currentChannel != mixerChannel ) { - auto index = currentChannel->m_channelIndex; - QString label = tr( "%1: %2" ).arg( currentChannel->m_channelIndex ).arg( currentChannel->m_name ); + auto index = currentChannel->index(); + QString label = tr( "%1: %2" ).arg(index).arg(currentChannel->m_name); mixerMenu->addAction(label, [this, index](){ assignMixerLine(index); }); diff --git a/src/gui/tracks/SampleTrackView.cpp b/src/gui/tracks/SampleTrackView.cpp index 8475f7fa9..064cc5206 100644 --- a/src/gui/tracks/SampleTrackView.cpp +++ b/src/gui/tracks/SampleTrackView.cpp @@ -155,8 +155,8 @@ QMenu * SampleTrackView::createMixerMenu(QString title, QString newMixerLabel) if (currentChannel != mixerChannel) { - const auto index = currentChannel->m_channelIndex; - QString label = tr("%1: %2").arg(currentChannel->m_channelIndex).arg(currentChannel->m_name); + const auto index = currentChannel->index(); + QString label = tr("%1: %2").arg(index).arg(currentChannel->m_name); mixerMenu->addAction(label, [this, index](){ assignMixerLine(index); }); From cf4b49229291788981e57ec427fe0fed5eee3c67 Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Fri, 28 Feb 2025 17:02:52 -0500 Subject: [PATCH 095/112] Fix logarithmic behavior when dragging knobs and sliders (#7647) * Initial fix * Remove stray m_leftOver reference * Fix shift-dragging * Revert to relative mouse control. I realize now that the maths don't actually change. * Change qRound to std::round * Fix scrolling behavior * Fix mouse relative position buildup at values < minValue * Use approximatelyEqual --- src/gui/widgets/FloatModelEditorBase.cpp | 39 +++++++++--------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/src/gui/widgets/FloatModelEditorBase.cpp b/src/gui/widgets/FloatModelEditorBase.cpp index 540a586f5..81f121a84 100644 --- a/src/gui/widgets/FloatModelEditorBase.cpp +++ b/src/gui/widgets/FloatModelEditorBase.cpp @@ -329,7 +329,10 @@ void FloatModelEditorBase::wheelEvent(QWheelEvent * we) } // Compute the number of steps but make sure that we always do at least one step - const float stepMult = std::max(range / numberOfStepsForFullSweep / step, 1.f); + const float currentValue = model()->value(); + const float valueOffset = range / numberOfStepsForFullSweep; + const float scaledValueOffset = model()->scaledValue(model()->inverseScaledValue(currentValue) + valueOffset) - currentValue; + const float stepMult = std::max(scaledValueOffset / step, 1.f); const int inc = direction * stepMult; model()->incValue(inc); @@ -343,40 +346,26 @@ void FloatModelEditorBase::wheelEvent(QWheelEvent * we) void FloatModelEditorBase::setPosition(const QPoint & p) { - const float value = getValue(p) + m_leftOver; + const float valueOffset = getValue(p) + m_leftOver; + const float currentValue = model()->value(); + const float scaledValueOffset = currentValue - model()->scaledValue(model()->inverseScaledValue(currentValue) - valueOffset); const auto step = model()->step(); - const float oldValue = model()->value(); + const float roundedValue = std::round((currentValue - scaledValueOffset) / step) * step; - if (model()->isScaleLogarithmic()) // logarithmic code + if (!approximatelyEqual(roundedValue, currentValue)) { - const float pos = model()->minValue() < 0 - ? oldValue / qMax(qAbs(model()->maxValue()), qAbs(model()->minValue())) - : (oldValue - model()->minValue()) / model()->range(); - const float ratio = 0.1f + qAbs(pos) * 15.f; - float newValue = value * ratio; - if (qAbs(newValue) >= step) - { - float roundedValue = qRound((oldValue - value) / step) * step; - model()->setValue(roundedValue); - m_leftOver = 0.0f; - } - else - { - m_leftOver = value; - } + model()->setValue(roundedValue); + m_leftOver = 0.0f; } - - else // linear code + else { - if (qAbs(value) >= step) + if (valueOffset > 0 && approximatelyEqual(currentValue, model()->minValue())) { - float roundedValue = qRound((oldValue - value) / step) * step; - model()->setValue(roundedValue); m_leftOver = 0.0f; } else { - m_leftOver = value; + m_leftOver = valueOffset; } } } From 3aa1a5dafa9c54d23139ec833d5abd9de336e651 Mon Sep 17 00:00:00 2001 From: Johannes Lorenz <1042576+JohannesLorenz@users.noreply.github.com> Date: Fri, 28 Feb 2025 23:44:58 +0100 Subject: [PATCH 096/112] Rename `AudioPort` -> `AudioBusHandle` (#7712) No functional changes. --- include/AudioBusHandle.h | 110 ++++++++ include/AudioDevice.h | 10 +- include/AudioEngine.h | 12 +- include/AudioJack.h | 16 +- include/AudioPort.h | 139 ---------- include/InstrumentTrack.h | 8 +- include/PlayHandle.h | 14 +- include/SamplePlayHandle.h | 6 +- include/SampleTrack.h | 8 +- src/core/AudioBusHandle.cpp | 254 +++++++++++++++++++ src/core/AudioEngine.cpp | 40 +-- src/core/CMakeLists.txt | 2 +- src/core/InstrumentPlayHandle.cpp | 2 +- src/core/NotePlayHandle.cpp | 2 +- src/core/PresetPreviewPlayHandle.cpp | 2 +- src/core/SamplePlayHandle.cpp | 30 +-- src/core/audio/AudioDevice.cpp | 8 +- src/core/audio/AudioJack.cpp | 18 +- src/core/audio/AudioPort.cpp | 253 ------------------ src/gui/SampleTrackWindow.cpp | 2 +- src/gui/instrument/InstrumentTrackWindow.cpp | 12 +- src/tracks/InstrumentTrack.cpp | 57 ++--- src/tracks/SampleTrack.cpp | 38 +-- 23 files changed, 510 insertions(+), 533 deletions(-) create mode 100644 include/AudioBusHandle.h delete mode 100644 include/AudioPort.h create mode 100644 src/core/AudioBusHandle.cpp delete mode 100644 src/core/audio/AudioPort.cpp diff --git a/include/AudioBusHandle.h b/include/AudioBusHandle.h new file mode 100644 index 000000000..c58cb9379 --- /dev/null +++ b/include/AudioBusHandle.h @@ -0,0 +1,110 @@ +/* + * AudioBusHandle.h - ThreadableJob between PlayHandle and MixerChannel + * + * Copyright (c) 2005-2014 Tobias Doerffel + * Copyright (c) 2025 Johannes Lorenz + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef LMMS_AUDIO_BUS_HANDLE_H +#define LMMS_AUDIO_BUS_HANDLE_H + +#include +#include +#include + +#include "PlayHandle.h" + +namespace lmms +{ + +class EffectChain; +class FloatModel; +class BoolModel; + +/** + @brief Job between @ref PlayHandle and @ref MixerChannel + + A @ref ThreadableJob class located at the exit point of each @ref PlayHandle into a @ref MixerChannel + (or into an audio device, in case of @ref AudioJack, but this is not supported in AudioBusHandle yet). + It contains an optional @ref EffectChain which is e.g. visualized in the + @ref InstrumentTrackWindow or @ref SampleTrackWindow. + For processing, it adds all input play handles into an internal buffer, + processes the @ref EffectChain (if existing) on that buffer + and finally merges the buffer into its @ref MixerChannel. +*/ +class AudioBusHandle : public ThreadableJob +{ +public: + AudioBusHandle(const QString& name, bool hasEffectChain = true, + FloatModel* volumeModel = nullptr, FloatModel* panningModel = nullptr, + BoolModel* mutedModel = nullptr); + virtual ~AudioBusHandle(); + + SampleFrame* buffer() { return m_buffer; } + + // indicate whether JACK & Co should provide output-buffer at ext. port + bool extOutputEnabled() const { return m_extOutputEnabled; } + void setExtOutputEnabled(bool enabled); + + // next mixer-channel after this audio-bus-handle + // (-1 = none 0 = master) + mix_ch_t nextMixerChannel() const { return m_nextMixerChannel; } + void setNextMixerChannel(const mix_ch_t chnl) { m_nextMixerChannel = chnl; } + + const QString& name() const { return m_name; } + void setName(const QString& newName); + + EffectChain* effects() { return m_effects.get(); } + bool processEffects(); + + // ThreadableJob stuff + void doProcessing() override; + bool requiresProcessing() const override { return true; } + + void addPlayHandle(PlayHandle* handle); + void removePlayHandle(PlayHandle* handle); + +private: + volatile bool m_bufferUsage; + + SampleFrame* const m_buffer; + + bool m_extOutputEnabled; + mix_ch_t m_nextMixerChannel; + + QString m_name; + + std::unique_ptr m_effects; + + PlayHandleList m_playHandles; + QMutex m_playHandleLock; + + FloatModel* m_volumeModel; + FloatModel* m_panningModel; + BoolModel* m_mutedModel; + + friend class AudioEngine; + friend class AudioEngineWorkerThread; +}; + +} // namespace lmms + +#endif // LMMS_AUDIO_BUS_HANDLE_H diff --git a/include/AudioDevice.h b/include/AudioDevice.h index 80e392450..228b1c1aa 100644 --- a/include/AudioDevice.h +++ b/include/AudioDevice.h @@ -36,7 +36,7 @@ namespace lmms { class AudioEngine; -class AudioPort; +class AudioBusHandle; class SampleFrame; @@ -57,13 +57,13 @@ public: } - // if audio-driver supports ports, classes inherting AudioPort + // if audio-driver supports ports, classes inherting AudioBusHandle // (e.g. channel-tracks) can register themselves for making // audio-driver able to collect their individual output and provide // them at a specific port - currently only supported by JACK - virtual void registerPort( AudioPort * _port ); - virtual void unregisterPort( AudioPort * _port ); - virtual void renamePort( AudioPort * _port ); + virtual void registerPort(AudioBusHandle* port); + virtual void unregisterPort(AudioBusHandle* port); + virtual void renamePort(AudioBusHandle* port); inline bool supportsCapture() const { diff --git a/include/AudioEngine.h b/include/AudioEngine.h index b22830221..13758284d 100644 --- a/include/AudioEngine.h +++ b/include/AudioEngine.h @@ -47,7 +47,7 @@ namespace lmms class AudioDevice; class MidiClient; -class AudioPort; +class AudioBusHandle; class AudioEngineWorkerThread; @@ -172,15 +172,15 @@ public: } - // audio-port-stuff - inline void addAudioPort(AudioPort * port) + // audio-bus-handle-stuff + inline void addAudioBusHandle(AudioBusHandle* busHandle) { requestChangeInModel(); - m_audioPorts.push_back(port); + m_audioBusHandles.push_back(busHandle); doneChangeInModel(); } - void removeAudioPort(AudioPort * port); + void removeAudioBusHandle(AudioBusHandle* busHandle); // MIDI-client-stuff @@ -366,7 +366,7 @@ private: bool m_renderOnly; - std::vector m_audioPorts; + std::vector m_audioBusHandles; fpp_t m_framesPerPeriod; diff --git a/include/AudioJack.h b/include/AudioJack.h index 234f6ebf2..e13b4a5ef 100644 --- a/include/AudioJack.h +++ b/include/AudioJack.h @@ -36,9 +36,15 @@ #include #include +#ifdef AUDIO_BUS_HANDLE_SUPPORT +#include +#endif #include "AudioDevice.h" #include "AudioDeviceSetupWidget.h" +#ifdef AUDIO_BUS_HANDLE_SUPPORT +#include "AudioBusHandle.h" +#endif class QLineEdit; @@ -94,9 +100,9 @@ private: void startProcessing() override; void stopProcessing() override; - void registerPort(AudioPort* port) override; - void unregisterPort(AudioPort* port) override; - void renamePort(AudioPort* port) override; + void registerPort(AudioBusHandle* port) override; + void unregisterPort(AudioBusHandle* port) override; + void renamePort(AudioBusHandle* port) override; int processCallback(jack_nframes_t nframes); @@ -116,13 +122,13 @@ private: f_cnt_t m_framesDoneInCurBuf; f_cnt_t m_framesToDoInCurBuf; -#ifdef AUDIO_PORT_SUPPORT +#ifdef AUDIO_BUS_HANDLE_SUPPORT struct StereoPort { jack_port_t* ports[2]; }; - using JackPortMap = QMap; + using JackPortMap = QMap; JackPortMap m_portMap; #endif diff --git a/include/AudioPort.h b/include/AudioPort.h deleted file mode 100644 index 12a0ec7d8..000000000 --- a/include/AudioPort.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - * AudioPort.h - base-class for objects providing sound at a port - * - * Copyright (c) 2005-2014 Tobias Doerffel - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#ifndef LMMS_AUDIO_PORT_H -#define LMMS_AUDIO_PORT_H - -#include -#include -#include - -#include "PlayHandle.h" - -namespace lmms -{ - -class EffectChain; -class FloatModel; -class BoolModel; - -class AudioPort : public ThreadableJob -{ -public: - AudioPort( const QString & _name, bool _has_effect_chain = true, - FloatModel * volumeModel = nullptr, FloatModel * panningModel = nullptr, - BoolModel * mutedModel = nullptr ); - virtual ~AudioPort(); - - inline SampleFrame* buffer() - { - return m_portBuffer; - } - - inline void lockBuffer() - { - m_portBufferLock.lock(); - } - - inline void unlockBuffer() - { - m_portBufferLock.unlock(); - } - - - // indicate whether JACK & Co should provide output-buffer at ext. port - inline bool extOutputEnabled() const - { - return m_extOutputEnabled; - } - - void setExtOutputEnabled( bool _enabled ); - - - // next mixer-channel after this audio-port - // (-1 = none 0 = master) - inline mix_ch_t nextMixerChannel() const - { - return m_nextMixerChannel; - } - - inline EffectChain * effects() - { - return m_effects.get(); - } - - void setNextMixerChannel( const mix_ch_t _chnl ) - { - m_nextMixerChannel = _chnl; - } - - - const QString & name() const - { - return m_name; - } - - void setName( const QString & _new_name ); - - - bool processEffects(); - - // ThreadableJob stuff - void doProcessing() override; - bool requiresProcessing() const override - { - return true; - } - - void addPlayHandle( PlayHandle * handle ); - void removePlayHandle( PlayHandle * handle ); - -private: - volatile bool m_bufferUsage; - - SampleFrame* m_portBuffer; - QMutex m_portBufferLock; - - bool m_extOutputEnabled; - mix_ch_t m_nextMixerChannel; - - QString m_name; - - std::unique_ptr m_effects; - - PlayHandleList m_playHandles; - QMutex m_playHandleLock; - - FloatModel * m_volumeModel; - FloatModel * m_panningModel; - BoolModel * m_mutedModel; - - friend class AudioEngine; - friend class AudioEngineWorkerThread; - -} ; - -} // namespace lmms - -#endif // LMMS_AUDIO_PORT_H diff --git a/include/InstrumentTrack.h b/include/InstrumentTrack.h index 689c962cd..17d3233da 100644 --- a/include/InstrumentTrack.h +++ b/include/InstrumentTrack.h @@ -28,7 +28,7 @@ #include -#include "AudioPort.h" +#include "AudioBusHandle.h" #include "InstrumentFunctions.h" #include "InstrumentSoundShaping.h" #include "Microtuner.h" @@ -144,9 +144,9 @@ public: const Plugin::Descriptor::SubPluginFeatures::Key* key = nullptr, bool keyFromDnd = false); - AudioPort * audioPort() + AudioBusHandle* audioBusHandle() { - return &m_audioPort; + return &m_audioBusHandle; } MidiPort * midiPort() @@ -293,7 +293,7 @@ private: FloatModel m_volumeModel; FloatModel m_panningModel; - AudioPort m_audioPort; + AudioBusHandle m_audioBusHandle; FloatModel m_pitchModel; IntModel m_pitchRangeModel; diff --git a/include/PlayHandle.h b/include/PlayHandle.h index f2e87136a..5f0256a1a 100644 --- a/include/PlayHandle.h +++ b/include/PlayHandle.h @@ -40,7 +40,7 @@ namespace lmms { class Track; -class AudioPort; +class AudioBusHandle; class SampleFrame; class LMMS_EXPORT PlayHandle : public ThreadableJob @@ -65,7 +65,7 @@ public: m_offset = p.m_offset; m_affinity = p.m_affinity; m_usesBuffer = p.m_usesBuffer; - m_audioPort = p.m_audioPort; + m_audioBusHandle = p.m_audioBusHandle; return *this; } @@ -134,14 +134,14 @@ public: m_usesBuffer = b; } - AudioPort * audioPort() + AudioBusHandle* audioBusHandle() { - return m_audioPort; + return m_audioBusHandle; } - void setAudioPort( AudioPort * port ) + void setAudioBusHandle(AudioBusHandle* busHandle) { - m_audioPort = port; + m_audioBusHandle = busHandle; } void releaseBuffer(); @@ -156,7 +156,7 @@ private: SampleFrame* m_playHandleBuffer; bool m_bufferReleased; bool m_usesBuffer; - AudioPort * m_audioPort; + AudioBusHandle* m_audioBusHandle; } ; using PlayHandleList = QList; diff --git a/include/SamplePlayHandle.h b/include/SamplePlayHandle.h index dde29b49b..b3fddd503 100644 --- a/include/SamplePlayHandle.h +++ b/include/SamplePlayHandle.h @@ -38,13 +38,13 @@ namespace lmms class PatternTrack; class SampleClip; class Track; -class AudioPort; +class AudioBusHandle; class LMMS_EXPORT SamplePlayHandle : public PlayHandle { public: - SamplePlayHandle(Sample* sample, bool ownAudioPort = true); + SamplePlayHandle(Sample* sample, bool ownAudioBusHandle = true); SamplePlayHandle( const QString& sampleFile ); SamplePlayHandle( SampleClip* clip ); ~SamplePlayHandle() override; @@ -88,7 +88,7 @@ private: f_cnt_t m_frame; Sample::PlaybackState m_state; - const bool m_ownAudioPort; + const bool m_ownAudioBusHandle; FloatModel m_defaultVolumeModel; FloatModel * m_volumeModel; diff --git a/include/SampleTrack.h b/include/SampleTrack.h index e79df0c2c..d333cd593 100644 --- a/include/SampleTrack.h +++ b/include/SampleTrack.h @@ -25,7 +25,7 @@ #ifndef LMMS_SAMPLE_TRACK_H #define LMMS_SAMPLE_TRACK_H -#include "AudioPort.h" +#include "AudioBusHandle.h" #include "Track.h" @@ -62,9 +62,9 @@ public: return &m_mixerChannelModel; } - inline AudioPort * audioPort() + inline AudioBusHandle* audioBusHandle() { - return &m_audioPort; + return &m_audioBusHandle; } QString nodeName() const override @@ -95,7 +95,7 @@ private: FloatModel m_volumeModel; FloatModel m_panningModel; IntModel m_mixerChannelModel; - AudioPort m_audioPort; + AudioBusHandle m_audioBusHandle; bool m_isPlaying; diff --git a/src/core/AudioBusHandle.cpp b/src/core/AudioBusHandle.cpp new file mode 100644 index 000000000..e27a8c8ad --- /dev/null +++ b/src/core/AudioBusHandle.cpp @@ -0,0 +1,254 @@ +/* + * AudioBusHandle.cpp - ThreadableJob between PlayHandle and MixerChannel + * + * Copyright (c) 2004-2014 Tobias Doerffel + * Copyright (c) 2025 Johannes Lorenz + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#include + +#include "AudioBusHandle.h" +#include "AudioDevice.h" +#include "AudioEngine.h" +#include "EffectChain.h" +#include "Mixer.h" +#include "Engine.h" +#include "MixHelpers.h" +#include "BufferManager.h" + +namespace lmms +{ + +AudioBusHandle::AudioBusHandle(const QString& name, bool hasEffectChain, + FloatModel* volumeModel, FloatModel* panningModel, + BoolModel* mutedModel) : + m_bufferUsage(false), + m_buffer(BufferManager::acquire()), + m_extOutputEnabled(false), + m_nextMixerChannel(0), + m_name(name), + m_effects(hasEffectChain ? new EffectChain(nullptr) : nullptr), + m_volumeModel(volumeModel), + m_panningModel(panningModel), + m_mutedModel(mutedModel) +{ + Engine::audioEngine()->addAudioBusHandle(this); + setExtOutputEnabled(true); +} + + + + +AudioBusHandle::~AudioBusHandle() +{ + setExtOutputEnabled(false); + Engine::audioEngine()->removeAudioBusHandle(this); + BufferManager::release(m_buffer); +} + + + + +void AudioBusHandle::setExtOutputEnabled(bool enabled) +{ + if (enabled != m_extOutputEnabled) + { + m_extOutputEnabled = enabled; + if (m_extOutputEnabled) + { + Engine::audioEngine()->audioDev()->registerPort(this); + } + else + { + Engine::audioEngine()->audioDev()->unregisterPort(this); + } + } +} + + + + +void AudioBusHandle::setName(const QString& newName) +{ + m_name = newName; + Engine::audioEngine()->audioDev()->renamePort(this); +} + + + + +bool AudioBusHandle::processEffects() +{ + if (m_effects) + { + bool more = m_effects->processAudioBuffer(m_buffer, Engine::audioEngine()->framesPerPeriod(), m_bufferUsage); + return more; + } + return false; +} + + +void AudioBusHandle::doProcessing() +{ + if (m_mutedModel && m_mutedModel->value()) + { + return; + } + + const fpp_t fpp = Engine::audioEngine()->framesPerPeriod(); + + // clear the buffer + zeroSampleFrames(m_buffer, fpp); + + //qDebug( "Playhandles: %d", m_playHandles.size() ); + for (PlayHandle* ph : m_playHandles) // now we mix all playhandle buffers into our internal buffer + { + if (ph->buffer()) + { + if (ph->usesBuffer() + && (ph->type() == PlayHandle::Type::NotePlayHandle + || !MixHelpers::isSilent(ph->buffer(), fpp))) + { + m_bufferUsage = true; + MixHelpers::add(m_buffer, ph->buffer(), fpp); + } + ph->releaseBuffer(); // gets rid of playhandle's buffer and sets + // pointer to null, so if it doesn't get re-acquired we know to skip it next time + } + } + + if (m_bufferUsage) + { + // handle volume and panning + // has both vol and pan models + if (m_volumeModel && m_panningModel) + { + ValueBuffer* volBuf = m_volumeModel->valueBuffer(); + ValueBuffer* panBuf = m_panningModel->valueBuffer(); + + // both vol and pan have s.ex.data: + if (volBuf && panBuf) + { + for (f_cnt_t f = 0; f < fpp; ++f) + { + float v = volBuf->values()[f] * 0.01f; + float p = panBuf->values()[f] * 0.01f; + m_buffer[f][0] *= (p <= 0 ? 1.0f : 1.0f - p) * v; + m_buffer[f][1] *= (p >= 0 ? 1.0f : 1.0f + p) * v; + } + } + + // only vol has s.ex.data: + else if (volBuf) + { + float p = m_panningModel->value() * 0.01f; + float l = (p <= 0 ? 1.0f : 1.0f - p); + float r = (p >= 0 ? 1.0f : 1.0f + p); + for (f_cnt_t f = 0; f < fpp; ++f) + { + float v = volBuf->values()[f] * 0.01f; + m_buffer[f][0] *= v * l; + m_buffer[f][1] *= v * r; + } + } + + // only pan has s.ex.data: + else if (panBuf) + { + float v = m_volumeModel->value() * 0.01f; + for (f_cnt_t f = 0; f < fpp; ++f) + { + float p = panBuf->values()[f] * 0.01f; + m_buffer[f][0] *= (p <= 0 ? 1.0f : 1.0f - p) * v; + m_buffer[f][1] *= (p >= 0 ? 1.0f : 1.0f + p) * v; + } + } + + // neither has s.ex.data: + else + { + float p = m_panningModel->value() * 0.01f; + float v = m_volumeModel->value() * 0.01f; + for (f_cnt_t f = 0; f < fpp; ++f) + { + m_buffer[f][0] *= (p <= 0 ? 1.0f : 1.0f - p) * v; + m_buffer[f][1] *= (p >= 0 ? 1.0f : 1.0f + p) * v; + } + } + } + + // has vol model only + else if (m_volumeModel) + { + ValueBuffer* volBuf = m_volumeModel->valueBuffer(); + + if (volBuf) + { + for (f_cnt_t f = 0; f < fpp; ++f) + { + float v = volBuf->values()[f] * 0.01f; + m_buffer[f][0] *= v; + m_buffer[f][1] *= v; + } + } + else + { + float v = m_volumeModel->value() * 0.01f; + for (f_cnt_t f = 0; f < fpp; ++f) + { + m_buffer[f][0] *= v; + m_buffer[f][1] *= v; + } + } + } + } + // as of now there's no situation where we only have panning model but no volume model + // if we have neither, we don't have to do anything here - just pass the audio as is + + // handle effects + const bool anyOutputAfterEffects = processEffects(); + if (anyOutputAfterEffects || m_bufferUsage) + { + Engine::mixer()->mixToChannel(m_buffer, m_nextMixerChannel); // send output to mixer + // TODO: improve the flow here - convert to pull model + m_bufferUsage = false; + } +} + + +void AudioBusHandle::addPlayHandle(PlayHandle* handle) +{ + QMutexLocker lockGuard(&m_playHandleLock); + m_playHandles.append(handle); +} + + +void AudioBusHandle::removePlayHandle(PlayHandle* handle) +{ + QMutexLocker lockGuard(&m_playHandleLock); + PlayHandleList::Iterator it = std::find(m_playHandles.begin(), m_playHandles.end(), handle); + if (it != m_playHandles.end()) + { + m_playHandles.erase(it); + } +} + +} // namespace lmms diff --git a/src/core/AudioEngine.cpp b/src/core/AudioEngine.cpp index 435fa38fa..8dcc37434 100644 --- a/src/core/AudioEngine.cpp +++ b/src/core/AudioEngine.cpp @@ -30,7 +30,7 @@ #include "lmmsconfig.h" #include "AudioEngineWorkerThread.h" -#include "AudioPort.h" +#include "AudioBusHandle.h" #include "Mixer.h" #include "Song.h" #include "EnvelopeAndLfoParameters.h" @@ -299,13 +299,13 @@ void AudioEngine::renderStageNoteSetup() if( it != m_playHandles.end() ) { - ( *it )->audioPort()->removePlayHandle( ( *it ) ); - if( ( *it )->type() == PlayHandle::Type::NotePlayHandle ) + (*it)->audioBusHandle()->removePlayHandle(*it); + if((*it)->type() == PlayHandle::Type::NotePlayHandle) { - NotePlayHandleManager::release( (NotePlayHandle*) *it ); + NotePlayHandleManager::release((NotePlayHandle*)*it); } else delete *it; - m_playHandles.erase( it ); + m_playHandles.erase(it); } it_rem = m_playHandlesToRemove.erase( it_rem ); @@ -347,7 +347,7 @@ void AudioEngine::renderStageEffects() AudioEngineProfiler::Probe profilerProbe(m_profiler, AudioEngineProfiler::DetailType::Effects); // STAGE 2: process effects of all instrument- and sampletracks - AudioEngineWorkerThread::fillJobQueue(m_audioPorts); + AudioEngineWorkerThread::fillJobQueue(m_audioBusHandles); AudioEngineWorkerThread::startAndWaitForJobs(); // removed all play handles which are done @@ -362,13 +362,13 @@ void AudioEngine::renderStageEffects() } if( ( *it )->isFinished() ) { - ( *it )->audioPort()->removePlayHandle( ( *it ) ); - if( ( *it )->type() == PlayHandle::Type::NotePlayHandle ) + (*it)->audioBusHandle()->removePlayHandle(*it); + if((*it)->type() == PlayHandle::Type::NotePlayHandle) { - NotePlayHandleManager::release( (NotePlayHandle*) *it ); + NotePlayHandleManager::release((NotePlayHandle*)*it); } else delete *it; - it = m_playHandles.erase( it ); + it = m_playHandles.erase(it); } else { @@ -556,14 +556,14 @@ void AudioEngine::restoreAudioDevice() -void AudioEngine::removeAudioPort(AudioPort * port) +void AudioEngine::removeAudioBusHandle(AudioBusHandle* busHandle) { requestChangeInModel(); - auto it = std::find(m_audioPorts.begin(), m_audioPorts.end(), port); - if (it != m_audioPorts.end()) + auto it = std::find(m_audioBusHandles.begin(), m_audioBusHandles.end(), busHandle); + if (it != m_audioBusHandles.end()) { - m_audioPorts.erase(it); + m_audioBusHandles.erase(it); } doneChangeInModel(); } @@ -577,7 +577,7 @@ bool AudioEngine::addPlayHandle( PlayHandle* handle ) if (handle->type() == PlayHandle::Type::InstrumentPlayHandle || !criticalXRuns()) { m_newPlayHandles.push( handle ); - handle->audioPort()->addPlayHandle( handle ); + handle->audioBusHandle()->addPlayHandle(handle); return true; } @@ -598,7 +598,7 @@ void AudioEngine::removePlayHandle(PlayHandle * ph) // which were created in a thread different than the audio engine thread if (ph->affinityMatters() && ph->affinity() == QThread::currentThread()) { - ph->audioPort()->removePlayHandle(ph); + ph->audioBusHandle()->removePlayHandle(ph); bool removedFromList = false; // Check m_newPlayHandles first because doing it the other way around // creates a race condition @@ -657,13 +657,13 @@ void AudioEngine::removePlayHandlesOfTypes(Track * track, PlayHandle::Types type { if ((*it)->isFromTrack(track) && ((*it)->type() & types)) { - ( *it )->audioPort()->removePlayHandle( ( *it ) ); - if( ( *it )->type() == PlayHandle::Type::NotePlayHandle ) + (*it)->audioBusHandle()->removePlayHandle(*it); + if((*it)->type() == PlayHandle::Type::NotePlayHandle) { - NotePlayHandleManager::release( (NotePlayHandle*) *it ); + NotePlayHandleManager::release((NotePlayHandle*)*it); } else delete *it; - it = m_playHandles.erase( it ); + it = m_playHandles.erase(it); } else { diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 1e2c4f3cf..74e3bf1b5 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1,6 +1,7 @@ set(LMMS_SRCS ${LMMS_SRCS} + core/AudioBusHandle.cpp core/AudioEngine.cpp core/AudioEngineProfiler.cpp core/AudioEngineWorkerThread.cpp @@ -100,7 +101,6 @@ set(LMMS_SRCS core/audio/AudioJack.cpp core/audio/AudioOss.cpp core/audio/AudioSndio.cpp - core/audio/AudioPort.cpp core/audio/AudioPortAudio.cpp core/audio/AudioSoundIo.cpp core/audio/AudioPulseAudio.cpp diff --git a/src/core/InstrumentPlayHandle.cpp b/src/core/InstrumentPlayHandle.cpp index afae852a0..0405944a9 100644 --- a/src/core/InstrumentPlayHandle.cpp +++ b/src/core/InstrumentPlayHandle.cpp @@ -37,7 +37,7 @@ InstrumentPlayHandle::InstrumentPlayHandle(Instrument * instrument, InstrumentTr PlayHandle(Type::InstrumentPlayHandle), m_instrument(instrument) { - setAudioPort(instrumentTrack->audioPort()); + setAudioBusHandle(instrumentTrack->audioBusHandle()); } void InstrumentPlayHandle::play(SampleFrame* working_buffer) diff --git a/src/core/NotePlayHandle.cpp b/src/core/NotePlayHandle.cpp index 326e63eaf..0c27529df 100644 --- a/src/core/NotePlayHandle.cpp +++ b/src/core/NotePlayHandle.cpp @@ -114,7 +114,7 @@ NotePlayHandle::NotePlayHandle( InstrumentTrack* instrumentTrack, setUsesBuffer( false ); } - setAudioPort( instrumentTrack->audioPort() ); + setAudioBusHandle(instrumentTrack->audioBusHandle()); unlock(); } diff --git a/src/core/PresetPreviewPlayHandle.cpp b/src/core/PresetPreviewPlayHandle.cpp index e7e67185e..1d6b00e4f 100644 --- a/src/core/PresetPreviewPlayHandle.cpp +++ b/src/core/PresetPreviewPlayHandle.cpp @@ -178,7 +178,7 @@ PresetPreviewPlayHandle::PresetPreviewPlayHandle( const QString & _preset_file, std::numeric_limits::max() / 2, Note( 0, 0, DefaultKey, 100 ) ); - setAudioPort( s_previewTC->previewInstrumentTrack()->audioPort() ); + setAudioBusHandle(s_previewTC->previewInstrumentTrack()->audioBusHandle()); s_previewTC->setPreviewNote( m_previewNote ); diff --git a/src/core/SamplePlayHandle.cpp b/src/core/SamplePlayHandle.cpp index f2ddc2a4a..eed727fc1 100644 --- a/src/core/SamplePlayHandle.cpp +++ b/src/core/SamplePlayHandle.cpp @@ -24,7 +24,7 @@ #include "SamplePlayHandle.h" #include "AudioEngine.h" -#include "AudioPort.h" +#include "AudioBusHandle.h" #include "Engine.h" #include "Note.h" #include "PatternTrack.h" @@ -35,20 +35,20 @@ namespace lmms { -SamplePlayHandle::SamplePlayHandle(Sample* sample, bool ownAudioPort) : - PlayHandle( Type::SamplePlayHandle ), +SamplePlayHandle::SamplePlayHandle(Sample* sample, bool ownAudioBusHandle) : + PlayHandle(Type::SamplePlayHandle), m_sample(sample), - m_doneMayReturnTrue( true ), - m_frame( 0 ), - m_ownAudioPort( ownAudioPort ), - m_defaultVolumeModel( DefaultVolume, MinVolume, MaxVolume, 1 ), - m_volumeModel( &m_defaultVolumeModel ), - m_track( nullptr ), - m_patternTrack( nullptr ) + m_doneMayReturnTrue(true), + m_frame(0), + m_ownAudioBusHandle(ownAudioBusHandle), + m_defaultVolumeModel(DefaultVolume, MinVolume, MaxVolume, 1), + m_volumeModel(&m_defaultVolumeModel), + m_track(nullptr), + m_patternTrack(nullptr) { - if (ownAudioPort) + if (ownAudioBusHandle) { - setAudioPort( new AudioPort( "SamplePlayHandle", false ) ); + setAudioBusHandle(new AudioBusHandle("SamplePlayHandle", false)); } } @@ -67,7 +67,7 @@ SamplePlayHandle::SamplePlayHandle( SampleClip* clip ) : SamplePlayHandle(&clip->sample(), false) { m_track = clip->getTrack(); - setAudioPort( ( (SampleTrack *)clip->getTrack() )->audioPort() ); + setAudioBusHandle(((SampleTrack *)clip->getTrack())->audioBusHandle()); } @@ -75,9 +75,9 @@ SamplePlayHandle::SamplePlayHandle( SampleClip* clip ) : SamplePlayHandle::~SamplePlayHandle() { - if( m_ownAudioPort ) + if(m_ownAudioBusHandle) { - delete audioPort(); + delete audioBusHandle(); delete m_sample; } } diff --git a/src/core/audio/AudioDevice.cpp b/src/core/audio/AudioDevice.cpp index 2047fffe9..c02ce5f99 100644 --- a/src/core/audio/AudioDevice.cpp +++ b/src/core/audio/AudioDevice.cpp @@ -109,21 +109,21 @@ void AudioDevice::stopProcessingThread( QThread * thread ) -void AudioDevice::registerPort( AudioPort * ) +void AudioDevice::registerPort(AudioBusHandle*) { } -void AudioDevice::unregisterPort( AudioPort * _port ) +void AudioDevice::unregisterPort(AudioBusHandle*) { } -void AudioDevice::renamePort( AudioPort * ) +void AudioDevice::renamePort(AudioBusHandle*) { } @@ -172,4 +172,4 @@ void AudioDevice::clearS16Buffer( int_sample_t * _outbuf, const fpp_t _frames ) memset( _outbuf, 0, _frames * channels() * BYTES_PER_INT_SAMPLE ); } -} // namespace lmms \ No newline at end of file +} // namespace lmms diff --git a/src/core/audio/AudioJack.cpp b/src/core/audio/AudioJack.cpp index bd5b8e514..b6da7c845 100644 --- a/src/core/audio/AudioJack.cpp +++ b/src/core/audio/AudioJack.cpp @@ -74,7 +74,7 @@ AudioJack::AudioJack(bool& successful, AudioEngine* audioEngineParam) AudioJack::~AudioJack() { AudioJack::stopProcessing(); -#ifdef AUDIO_PORT_SUPPORT +#ifdef AUDIO_BUS_HANDLE_SUPPORT while (m_portMap.size()) { unregisterPort(m_portMap.begin().key()); @@ -229,9 +229,9 @@ void AudioJack::stopProcessing() m_stopped = true; } -void AudioJack::registerPort(AudioPort* port) +void AudioJack::registerPort(AudioBusHandle* port) { -#ifdef AUDIO_PORT_SUPPORT +#ifdef AUDIO_BUS_HANDLE_SUPPORT // make sure, port is not already registered unregisterPort(port); const QString name[2] = {port->name() + " L", port->name() + " R"}; @@ -249,9 +249,9 @@ void AudioJack::registerPort(AudioPort* port) -void AudioJack::unregisterPort(AudioPort* port) +void AudioJack::unregisterPort(AudioBusHandle* port) { -#ifdef AUDIO_PORT_SUPPORT +#ifdef AUDIO_BUS_HANDLE_SUPPORT if (m_portMap.contains(port)) { for (ch_cnt_t ch = 0; ch < DEFAULT_CHANNELS; ++ch) @@ -265,9 +265,9 @@ void AudioJack::unregisterPort(AudioPort* port) #endif } -void AudioJack::renamePort(AudioPort* port) +void AudioJack::renamePort(AudioBusHandle* port) { -#ifdef AUDIO_PORT_SUPPORT +#ifdef AUDIO_BUS_HANDLE_SUPPORT if (m_portMap.contains(port)) { const QString name[2] = {port->name() + " L", port->name() + " R"}; @@ -282,7 +282,7 @@ void AudioJack::renamePort(AudioPort* port) } #else (void)port; -#endif // AUDIO_PORT_SUPPORT +#endif // AUDIO_BUS_HANDLE_SUPPORT } @@ -304,7 +304,7 @@ int AudioJack::processCallback(jack_nframes_t nframes) m_tempOutBufs[c] = (jack_default_audio_sample_t*)jack_port_get_buffer(m_outputPorts[c], nframes); } -#ifdef AUDIO_PORT_SUPPORT +#ifdef AUDIO_BUS_HANDLE_SUPPORT const int frames = std::min(nframes, audioEngine()->framesPerPeriod()); for (JackPortMap::iterator it = m_portMap.begin(); it != m_portMap.end(); ++it) { diff --git a/src/core/audio/AudioPort.cpp b/src/core/audio/AudioPort.cpp deleted file mode 100644 index 8efdd2c11..000000000 --- a/src/core/audio/AudioPort.cpp +++ /dev/null @@ -1,253 +0,0 @@ -/* - * AudioPort.cpp - base-class for objects providing sound at a port - * - * Copyright (c) 2004-2014 Tobias Doerffel - * - * This file is part of LMMS - https://lmms.io - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program (see COPYING); if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA. - * - */ - -#include "AudioPort.h" -#include "AudioDevice.h" -#include "AudioEngine.h" -#include "EffectChain.h" -#include "Mixer.h" -#include "Engine.h" -#include "MixHelpers.h" -#include "BufferManager.h" - -namespace lmms -{ - -AudioPort::AudioPort( const QString & _name, bool _has_effect_chain, - FloatModel * volumeModel, FloatModel * panningModel, - BoolModel * mutedModel ) : - m_bufferUsage( false ), - m_portBuffer( BufferManager::acquire() ), - m_extOutputEnabled( false ), - m_nextMixerChannel( 0 ), - m_name( "unnamed port" ), - m_effects( _has_effect_chain ? new EffectChain( nullptr ) : nullptr ), - m_volumeModel( volumeModel ), - m_panningModel( panningModel ), - m_mutedModel( mutedModel ) -{ - Engine::audioEngine()->addAudioPort( this ); - setExtOutputEnabled( true ); -} - - - - -AudioPort::~AudioPort() -{ - setExtOutputEnabled( false ); - Engine::audioEngine()->removeAudioPort( this ); - BufferManager::release( m_portBuffer ); -} - - - - -void AudioPort::setExtOutputEnabled( bool _enabled ) -{ - if( _enabled != m_extOutputEnabled ) - { - m_extOutputEnabled = _enabled; - if( m_extOutputEnabled ) - { - Engine::audioEngine()->audioDev()->registerPort( this ); - } - else - { - Engine::audioEngine()->audioDev()->unregisterPort( this ); - } - } -} - - - - -void AudioPort::setName( const QString & _name ) -{ - m_name = _name; - Engine::audioEngine()->audioDev()->renamePort( this ); -} - - - - -bool AudioPort::processEffects() -{ - if( m_effects ) - { - bool more = m_effects->processAudioBuffer( m_portBuffer, Engine::audioEngine()->framesPerPeriod(), m_bufferUsage ); - return more; - } - return false; -} - - -void AudioPort::doProcessing() -{ - if( m_mutedModel && m_mutedModel->value() ) - { - return; - } - - const fpp_t fpp = Engine::audioEngine()->framesPerPeriod(); - - // clear the buffer - zeroSampleFrames(m_portBuffer, fpp); - - //qDebug( "Playhandles: %d", m_playHandles.size() ); - for( PlayHandle * ph : m_playHandles ) // now we mix all playhandle buffers into the audioport buffer - { - if( ph->buffer() ) - { - if( ph->usesBuffer() - && ( ph->type() == PlayHandle::Type::NotePlayHandle - || !MixHelpers::isSilent( ph->buffer(), fpp ) ) ) - { - m_bufferUsage = true; - MixHelpers::add( m_portBuffer, ph->buffer(), fpp ); - } - ph->releaseBuffer(); // gets rid of playhandle's buffer and sets - // pointer to null, so if it doesn't get re-acquired we know to skip it next time - } - } - - if( m_bufferUsage ) - { - // handle volume and panning - // has both vol and pan models - if( m_volumeModel && m_panningModel ) - { - ValueBuffer * volBuf = m_volumeModel->valueBuffer(); - ValueBuffer * panBuf = m_panningModel->valueBuffer(); - - // both vol and pan have s.ex.data: - if( volBuf && panBuf ) - { - for( f_cnt_t f = 0; f < fpp; ++f ) - { - float v = volBuf->values()[ f ] * 0.01f; - float p = panBuf->values()[ f ] * 0.01f; - m_portBuffer[f][0] *= ( p <= 0 ? 1.0f : 1.0f - p ) * v; - m_portBuffer[f][1] *= ( p >= 0 ? 1.0f : 1.0f + p ) * v; - } - } - - // only vol has s.ex.data: - else if( volBuf ) - { - float p = m_panningModel->value() * 0.01f; - float l = ( p <= 0 ? 1.0f : 1.0f - p ); - float r = ( p >= 0 ? 1.0f : 1.0f + p ); - for( f_cnt_t f = 0; f < fpp; ++f ) - { - float v = volBuf->values()[ f ] * 0.01f; - m_portBuffer[f][0] *= v * l; - m_portBuffer[f][1] *= v * r; - } - } - - // only pan has s.ex.data: - else if( panBuf ) - { - float v = m_volumeModel->value() * 0.01f; - for( f_cnt_t f = 0; f < fpp; ++f ) - { - float p = panBuf->values()[ f ] * 0.01f; - m_portBuffer[f][0] *= ( p <= 0 ? 1.0f : 1.0f - p ) * v; - m_portBuffer[f][1] *= ( p >= 0 ? 1.0f : 1.0f + p ) * v; - } - } - - // neither has s.ex.data: - else - { - float p = m_panningModel->value() * 0.01f; - float v = m_volumeModel->value() * 0.01f; - for( f_cnt_t f = 0; f < fpp; ++f ) - { - m_portBuffer[f][0] *= ( p <= 0 ? 1.0f : 1.0f - p ) * v; - m_portBuffer[f][1] *= ( p >= 0 ? 1.0f : 1.0f + p ) * v; - } - } - } - - // has vol model only - else if( m_volumeModel ) - { - ValueBuffer * volBuf = m_volumeModel->valueBuffer(); - - if( volBuf ) - { - for( f_cnt_t f = 0; f < fpp; ++f ) - { - float v = volBuf->values()[ f ] * 0.01f; - m_portBuffer[f][0] *= v; - m_portBuffer[f][1] *= v; - } - } - else - { - float v = m_volumeModel->value() * 0.01f; - for( f_cnt_t f = 0; f < fpp; ++f ) - { - m_portBuffer[f][0] *= v; - m_portBuffer[f][1] *= v; - } - } - } - } - // as of now there's no situation where we only have panning model but no volume model - // if we have neither, we don't have to do anything here - just pass the audio as is - - // handle effects - const bool me = processEffects(); - if( me || m_bufferUsage ) - { - Engine::mixer()->mixToChannel( m_portBuffer, m_nextMixerChannel ); // send output to mixer - // TODO: improve the flow here - convert to pull model - m_bufferUsage = false; - } -} - - -void AudioPort::addPlayHandle( PlayHandle * handle ) -{ - m_playHandleLock.lock(); - m_playHandles.append( handle ); - m_playHandleLock.unlock(); -} - - -void AudioPort::removePlayHandle( PlayHandle * handle ) -{ - m_playHandleLock.lock(); - PlayHandleList::Iterator it = std::find( m_playHandles.begin(), m_playHandles.end(), handle ); - if( it != m_playHandles.end() ) - { - m_playHandles.erase( it ); - } - m_playHandleLock.unlock(); -} - -} // namespace lmms \ No newline at end of file diff --git a/src/gui/SampleTrackWindow.cpp b/src/gui/SampleTrackWindow.cpp index 1c7a56828..644ad291d 100644 --- a/src/gui/SampleTrackWindow.cpp +++ b/src/gui/SampleTrackWindow.cpp @@ -139,7 +139,7 @@ SampleTrackWindow::SampleTrackWindow(SampleTrackView * tv) : generalSettingsLayout->addLayout(basicControlsLayout); - m_effectRack = new EffectRackView(tv->model()->audioPort()->effects()); + m_effectRack = new EffectRackView(tv->model()->audioBusHandle()->effects()); m_effectRack->setFixedSize(EffectRackView::DEFAULT_WIDTH, 242); vlayout->addWidget(generalSettingsWidget); diff --git a/src/gui/instrument/InstrumentTrackWindow.cpp b/src/gui/instrument/InstrumentTrackWindow.cpp index f6f30d020..4df043041 100644 --- a/src/gui/instrument/InstrumentTrackWindow.cpp +++ b/src/gui/instrument/InstrumentTrackWindow.cpp @@ -251,7 +251,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : m_midiView = new InstrumentMidiIOView(m_tabWidget); // FX tab - m_effectView = new EffectRackView(m_track->m_audioPort.effects(), m_tabWidget); + m_effectView = new EffectRackView(m_track->m_audioBusHandle.effects(), m_tabWidget); // Tuning tab m_tuningView = new InstrumentTuningView(m_track, m_tabWidget); @@ -381,11 +381,11 @@ void InstrumentTrackWindow::modelChanged() m_tuningView->microtunerGroupBox()->show(); } - m_ssView->setModel( &m_track->m_soundShaping ); - m_noteStackingView->setModel( &m_track->m_noteStacking ); - m_arpeggioView->setModel( &m_track->m_arpeggio ); - m_midiView->setModel( &m_track->m_midiPort ); - m_effectView->setModel( m_track->m_audioPort.effects() ); + m_ssView->setModel(&m_track->m_soundShaping); + m_noteStackingView->setModel(&m_track->m_noteStacking); + m_arpeggioView->setModel(&m_track->m_arpeggio); + m_midiView->setModel(&m_track->m_midiPort); + m_effectView->setModel(m_track->m_audioBusHandle.effects()); m_tuningView->pitchGroupBox()->setModel(&m_track->m_useMasterPitchModel); m_tuningView->microtunerGroupBox()->setModel(m_track->m_microtuner.enabledModel()); m_tuningView->scaleCombo()->setModel(m_track->m_microtuner.scaleModel()); diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index 66992bc4f..70ac7432e 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -46,30 +46,29 @@ namespace lmms { -InstrumentTrack::InstrumentTrack( TrackContainer* tc ) : - Track( Track::Type::Instrument, tc ), +InstrumentTrack::InstrumentTrack(TrackContainer* tc) : + Track(Track::Type::Instrument, tc), MidiEventProcessor(), - m_midiPort( tr( "unnamed_track" ), Engine::audioEngine()->midiClient(), - this, this ), + m_midiPort(tr("unnamed_track"), Engine::audioEngine()->midiClient(), this, this), m_notes(), - m_sustainPedalPressed( false ), - m_silentBuffersProcessed( false ), - m_previewMode( false ), + m_sustainPedalPressed(false), + m_silentBuffersProcessed(false), + m_previewMode(false), m_baseNoteModel(0, 0, NumKeys - 1, this, tr("Base note")), m_firstKeyModel(0, 0, NumKeys - 1, this, tr("First note")), m_lastKeyModel(0, 0, NumKeys - 1, this, tr("Last note")), - m_hasAutoMidiDev( false ), - m_volumeModel( DefaultVolume, MinVolume, MaxVolume, 0.1f, this, tr( "Volume" ) ), - m_panningModel( DefaultPanning, PanningLeft, PanningRight, 0.1f, this, tr( "Panning" ) ), - m_audioPort( tr( "unnamed_track" ), true, &m_volumeModel, &m_panningModel, &m_mutedModel ), - m_pitchModel( 0, MinPitchDefault, MaxPitchDefault, 1, this, tr( "Pitch" ) ), - m_pitchRangeModel( 1, 1, 60, this, tr( "Pitch range" ) ), - m_mixerChannelModel( 0, 0, 0, this, tr( "Mixer channel" ) ), - m_useMasterPitchModel( true, this, tr( "Master pitch") ), - m_instrument( nullptr ), - m_soundShaping( this ), - m_arpeggio( this ), - m_noteStacking( this ), + m_hasAutoMidiDev(false), + m_volumeModel(DefaultVolume, MinVolume, MaxVolume, 0.1f, this, tr("Volume")), + m_panningModel(DefaultPanning, PanningLeft, PanningRight, 0.1f, this, tr("Panning")), + m_audioBusHandle(tr("unnamed_track"), true, &m_volumeModel, &m_panningModel, &m_mutedModel), + m_pitchModel(0, MinPitchDefault, MaxPitchDefault, 1, this, tr("Pitch")), + m_pitchRangeModel(1, 1, 60, this, tr("Pitch range")), + m_mixerChannelModel(0, 0, 0, this, tr("Mixer channel")), + m_useMasterPitchModel(true, this, tr("Master pitch")), + m_instrument(nullptr), + m_soundShaping(this), + m_arpeggio(this), + m_noteStacking(this), m_piano(this), m_microtuner() { @@ -250,7 +249,7 @@ void InstrumentTrack::processAudioBuffer( SampleFrame* buf, const fpp_t frames, // if effects "went to sleep" because there was no input, wake them up // now - m_audioPort.effects()->startRunning(); + m_audioBusHandle.effects()->startRunning(); // get volume knob data static const float DefaultVolumeRatio = 1.0f / DefaultVolume; @@ -620,11 +619,11 @@ void InstrumentTrack::deleteNotePluginData( NotePlayHandle* n ) -void InstrumentTrack::setName( const QString & _new_name ) +void InstrumentTrack::setName(const QString& new_name) { - Track::setName( _new_name ); - m_midiPort.setName( name() ); - m_audioPort.setName( name() ); + Track::setName(new_name); + m_midiPort.setName(name()); + m_audioBusHandle.setName(name()); } @@ -672,7 +671,7 @@ void InstrumentTrack::updatePitchRange() void InstrumentTrack::updateMixerChannel() { - m_audioPort.setNextMixerChannel( m_mixerChannelModel.value() ); + m_audioBusHandle.setNextMixerChannel(m_mixerChannelModel.value()); } @@ -877,7 +876,7 @@ void InstrumentTrack::saveTrackSpecificSettings(QDomDocument& doc, QDomElement& autoAssignMidiDevice(hasAuto); } - m_audioPort.effects()->saveState( doc, thisElement ); + m_audioBusHandle.effects()->saveState(doc, thisElement); } @@ -909,7 +908,7 @@ void InstrumentTrack::loadTrackSpecificSettings( const QDomElement & thisElement m_microtuner.loadSettings(thisElement); // clear effect-chain just in case we load an old preset without FX-data - m_audioPort.effects()->clear(); + m_audioBusHandle.effects()->clear(); // We set MIDI CC enable to false so the knobs don't trigger MIDI CC events while // they are being loaded. After all knobs are loaded we load the right value of m_midiCCEnable. @@ -936,9 +935,9 @@ void InstrumentTrack::loadTrackSpecificSettings( const QDomElement & thisElement { m_midiPort.restoreState( node.toElement() ); } - else if( m_audioPort.effects()->nodeName() == node.nodeName() ) + else if (m_audioBusHandle.effects()->nodeName() == node.nodeName()) { - m_audioPort.effects()->restoreState( node.toElement() ); + m_audioBusHandle.effects()->restoreState(node.toElement()); } else if(node.nodeName() == "instrument") { diff --git a/src/tracks/SampleTrack.cpp b/src/tracks/SampleTrack.cpp index c17e3718c..fe83b99e2 100644 --- a/src/tracks/SampleTrack.cpp +++ b/src/tracks/SampleTrack.cpp @@ -49,7 +49,7 @@ SampleTrack::SampleTrack(TrackContainer* tc) : m_volumeModel(DefaultVolume, MinVolume, MaxVolume, 0.1f, this, tr("Volume")), m_panningModel(DefaultPanning, PanningLeft, PanningRight, 0.1f, this, tr("Panning")), m_mixerChannelModel(0, 0, 0, this, tr("Mixer channel")), - m_audioPort(tr("Sample track"), true, &m_volumeModel, &m_panningModel, &m_mutedModel), + m_audioBusHandle(tr("Sample track"), true, &m_volumeModel, &m_panningModel, &m_mutedModel), m_isPlaying(false) { setName(tr("Sample track")); @@ -73,7 +73,7 @@ SampleTrack::~SampleTrack() bool SampleTrack::play( const TimePos & _start, const fpp_t _frames, const f_cnt_t _offset, int _clip_num ) { - m_audioPort.effects()->startRunning(); + m_audioBusHandle.effects()->startRunning(); bool played_a_note = false; // will be return variable @@ -188,36 +188,36 @@ Clip * SampleTrack::createClip(const TimePos & pos) -void SampleTrack::saveTrackSpecificSettings(QDomDocument& _doc, QDomElement& _this, bool presetMode) +void SampleTrack::saveTrackSpecificSettings(QDomDocument& doc, QDomElement& thisElem, bool /*presetMode*/) { - m_audioPort.effects()->saveState( _doc, _this ); - m_volumeModel.saveSettings( _doc, _this, "vol" ); - m_panningModel.saveSettings( _doc, _this, "pan" ); - m_mixerChannelModel.saveSettings( _doc, _this, "mixch" ); + m_audioBusHandle.effects()->saveState(doc, thisElem); + m_volumeModel.saveSettings(doc, thisElem, "vol"); + m_panningModel.saveSettings(doc, thisElem, "pan"); + m_mixerChannelModel.saveSettings(doc, thisElem, "mixch"); } -void SampleTrack::loadTrackSpecificSettings( const QDomElement & _this ) +void SampleTrack::loadTrackSpecificSettings(const QDomElement & thisElem) { - QDomNode node = _this.firstChild(); - m_audioPort.effects()->clear(); - while( !node.isNull() ) + QDomNode node = thisElem.firstChild(); + m_audioBusHandle.effects()->clear(); + while(!node.isNull()) { - if( node.isElement() ) + if (node.isElement()) { - if( m_audioPort.effects()->nodeName() == node.nodeName() ) + if (m_audioBusHandle.effects()->nodeName() == node.nodeName()) { - m_audioPort.effects()->restoreState( node.toElement() ); + m_audioBusHandle.effects()->restoreState(node.toElement()); } } node = node.nextSibling(); } - m_volumeModel.loadSettings( _this, "vol" ); - m_panningModel.loadSettings( _this, "pan" ); - m_mixerChannelModel.setRange( 0, Engine::mixer()->numChannels() - 1 ); - m_mixerChannelModel.loadSettings( _this, "mixch" ); + m_volumeModel.loadSettings(thisElem, "vol"); + m_panningModel.loadSettings(thisElem, "pan"); + m_mixerChannelModel.setRange(0, Engine::mixer()->numChannels() - 1); + m_mixerChannelModel.loadSettings(thisElem, "mixch"); } @@ -247,7 +247,7 @@ void SampleTrack::setPlayingClips( bool isPlaying ) void SampleTrack::updateMixerChannel() { - m_audioPort.setNextMixerChannel( m_mixerChannelModel.value() ); + m_audioBusHandle.setNextMixerChannel(m_mixerChannelModel.value()); } From 3417dfe86da0f6e9a41b3e71e30485a84213ffbf Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Fri, 28 Feb 2025 22:13:00 -0500 Subject: [PATCH 097/112] Fix Envelope and LFO Graph Size on Resizeable Instruments (#7738) --- src/gui/instrument/EnvelopeAndLfoView.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/instrument/EnvelopeAndLfoView.cpp b/src/gui/instrument/EnvelopeAndLfoView.cpp index 959264506..90e2aa30e 100644 --- a/src/gui/instrument/EnvelopeAndLfoView.cpp +++ b/src/gui/instrument/EnvelopeAndLfoView.cpp @@ -28,6 +28,7 @@ #include #include +#include #include "EnvelopeGraph.h" #include "LfoGraph.h" @@ -85,6 +86,7 @@ EnvelopeAndLfoView::EnvelopeAndLfoView(QWidget * parent) : m_envelopeGraph = new EnvelopeGraph(this); graphAndAmountLayout->addWidget(m_envelopeGraph); + m_envelopeGraph->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); m_amountKnob = buildKnob(tr("AMT"), tr("Modulation amount:")); graphAndAmountLayout->addWidget(m_amountKnob, 0, Qt::AlignCenter); @@ -124,6 +126,7 @@ EnvelopeAndLfoView::EnvelopeAndLfoView(QWidget * parent) : lfoLayout->addLayout(graphAndTypesLayout); m_lfoGraph = new LfoGraph(this); + m_lfoGraph->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); graphAndTypesLayout->addWidget(m_lfoGraph); QHBoxLayout* typesLayout = new QHBoxLayout(); From 3c3441bb0ca11b00af2d06e011c229caea3077c4 Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Sat, 1 Mar 2025 20:08:04 +0100 Subject: [PATCH 098/112] Faders with a dB scale (instead of linear/percentage) (#7636) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Use dbFS scale for the faders Make the faders use a linear dbFS scale. They now also change position on first click and can then be dragged. The `Fader` class now has a new property called `m_faderMinDb`. It's the minimum value before the amplification drops down fully to 0. It is needed because we cannot represent a scale from -inf to maxDB. Rename `knobPosY` to `calculateKnobPosYFromModel` and move the implementation into the cpp file. The method now first converts the model's current amplification value to dbFS and then computes a ratio based on that values and the minimum and maximum dbFS values. Add the method `setVolumeByLocalPixelValue` which takes a local y coordinate of the widget and sets the amplification of the model based on a dbFS scale. Adjust `mousePressEvent` and `mouseMoveEvent` so that they mostly take the local y coordinate of the event and use that to adjust the model via `setVolumeByLocalPixelValue`. Remove `m_moveStartPoint` and `m_startValue` and they are not needed anymore. * Apply curve to faders Apply a curve, i.e. the cube function and its inverse, to the fader positions to that we have more space to work with in the "interesting" areas around 0 dB and less space in the area where we tend to "-inf dB". Set the minimum dB value of the fader to -120 dB to increase the potential headroom. * Support for dB models Add support for models that are in dB. There's a new member `m_modelIsLinear` which can be set via the constructor. The default value in the constructor is `true`. Add the method `modelIsLinear` which can be used to query the parameter. It is used in `calculateKnobPosYFromModel` and `setVolumeByLocalPixelValue`. Both methods got extended to deal with models in dB. They were also refactored to extract code that is common for both cases. Ensure that the constructor of `Fader` is called with `false` for `CrossoverEQControlDialog` and `EqFader` because these use models that are in dB. * Show current dB value of fader in tool tip Show the current value of the fader in its tool tip. Please note that this value is always shown in dB because the goal should be to get rid of the linear values for the faders. Some of the code is extracted into the new method `Fader::getModelValueAsDbString` which is shared by `Fader::modelValueChanged` (also new) and `Fader::updateTextFloat`. Please note that `getModelValueAsDbString` will use "dB" instead of "dBFS" as the unit and that it will format "-inf dB" instead of "-∞ dB". These changes will also be visible in the text float that is used to show the new values as the fader is being dragged. * Let users enter values in dB Let users enter values in dB in the dialog that opens with a double click. The minimum value that can be entered is the minimum value that the fader allows to set, i.e. -120 dB. The maximum value is the maximum value of the model converted to dB. As of now this is ~6 dB. The current value is converted to dB. If it corresponds to "-inf dB", i.e. if the amplification is 0 then the minimum value is used. * Remove option "Display volume as dBFS" Remove the option "Display volume as dBFS" from the settings dialog and the check box option "Volume as dBFS" from the "View" menu. Volumes are now always treated as dB, i.e. all evaluations of the property "displaydbfs" have been removed which results in assuming that this option is always true. The upgrade code in `ConfigManager::upgrade_1_1_91` was left as is. However, a note was added which informs the reader that the value of "displaydbfs" is not evaluated anymore. * Extend Fader::wheelEvent Extend `Fader::wheelEvent` for the case where the model is not a dB model (`modelIsLinear() == true`), e.g. for the mixer faders. In that case it works as follows. Each step increments or decrements by 1 dB if no modifier is pressed. With "Shift" pressed the increment value is 3 dB. With "STRG" ("CTRL") pressed the increment value is reduced to 0.1 dB. If the value goes below the minimum positive dB value that is allowed by the fader then the fader is set to "-inf dB", i.e. zero amplification. If the fader is set to "-inf dB" and the users want to increase the value then it is first set to the minimum positive value that is allowed by the fader. If the model is a dB model then the same behavior as before is used. Although it should be considered to adjust this case as well. These models are used by the faders of the Crossover Equalizer, Equalizer, Compressor and Delay and they are not very usable with the mouse wheel. * Adjust the wheel behavior for faders with dB models Make the faders of the Crossover Equalizer, Equalizer, Compressor and Delay behave like the mixer faders, i.e. step in sizes of 3 dB, 1dB and 0.1 dB depending on whether a modifier key is pressed or not. Extract some common code to do so and add some `const` keywords. * Less "jumpy" knobs Implement a more stable knob behavior. Remove the jumping behavior if the users directly click on a volume knob. By storing the offset from the knob center and taking it into account during the changes it now also feels like the users are dragging the knob. Changes to the amplification are now only applied when the mouse is moved. This makes the double click behavior much more stable, i.e. if users click on the knob when it is at 0 dB the dialog will also show 0 dB and not something like 0.3 dB because the first click is already registered as a change of volume. If the users click next to the knob the amplification will still be changed immediately to that value. ## Technical details To make the knobs more stable a variable called `m_knobCenterOffset` was introduced. It stores the offset of the click from the knob center so that this value can be taken into account for in the method `setVolumeByLocalPixelValue`. * Make MSVC happy Add an indication that a float value is assigned to a float variable. * Introduce constexpr for scaling exponent Introduce the `constexpr c_dBScalingExponent` which describes the scaling exponent that's used to scale the dB scale in both directions. This will simplify potential adjustments by keeping the values consistent everywhere. * Draw fader ticks Draw fader ticks in case the model is a linear one. This means that for now they should only be painted for the mixer faders but not for the faders of the Compressor, Delay, etc. Extract the computation of the scaled ratio between the maximum model dB value and the minimum supported fader dB value into the new private method `computeScaledRatio`. This is necessary because it is needed to paint the fader knob at the correct position (using the knob bottom as the reference) and to paint the fader ticks at the correct position (using the knob center). Introduce the private method `paintFaderTicks` which paints the fader ticks. Note: to paint some non-evenly spaced fader ticks replace the `for` expression in `paintFaderTicks` with something like the following: ``` for (auto & i : {6.f, 0.f, -6.f, -12.f, -24.f, -36.f, -48.f, -60.f, -72.f, -84.f, -96.f, -108.f, -120.f}) ``` * Fader adjustments via keyboard Allow the adjustment of the faders via the keyboard. Using the up or plus key will increment the fader value whereas the down or minus key will decrement it. The same key modifiers as for the wheel event apply: * No modifier: adjust by 1 dB * Shift: adjust by 3 dB * Control: adjust by 0.1 dB Due to the very similar behavior of the mouse wheel and key press handling some common functionality was factored out: * Determinination of the (absolute) adjustment delta value by insprecting the modifier keys of an event. Factored into `determineAdjustmentDelta`. * Adjustment of the model by a given dB delta value. Factored into `adjustModelByDBDelta`. * 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. * Enter fader value when space key pressed Let the users enter the fader value via dialog when the space key is pressed. Extract the dialog logic into the new method `adjustByDialog` and call it from `MixerView::keyPressEvent`. Make `Fader::mouseDoubleClickEvent` delegate to `adjustByDialog` and also fix the behavior by accepting the event. * More prominent fader ticks around 0 dB Make the fader ticks around 0 dB more prominent but drawing them slightly wider and with a more opaque color. * Work around a Qt bug Work around a Qt bug in conjunction with the scroll wheel and the Alt key. Simply return 0 for the fader delta as soon as Alt is pressed. * Fix wheel events without any modifier Fix the handling of wheel events without any modifier key being pressed. Commit ff435d551b5 accidentally tested against Alt using a logical OR instead of an AND. * Code review changes First set of code review changes: * Use Doxygen style documentation comments * Remove comment about `displaydbfs` from upgrade routine * White-space changes for touched lines. * Make minimum dB value a constexpr Make the minimum dB value a constexpr in the implementation file because currently it's an implementation detail that should not be of any interest to any other client. So `m_faderMinDb` becomes `c_faderMinDb`. * More flexible painting of fader ticks Paint the fader ticks in a more systematic and flexible way. This also removes some "magic numbers", e.g. by using `c_faderMinDb` instead of `-120.f` as the lower limit. The upper limit, i.e. the "starting point" is now also computed using the maximum value of the model so that the fader will still paint correctly if it ever changes. * Make the zero indicator bolder Make the zero indicator tick of the fader bolder. * Make rendering of fader ticks a preference Make rendering of fader ticks a preference which is off by default. Introduce the new option "Show fader ticks" to the setup dialog and save it to the UI attribute `showfaderticks`. The configuration value is currently evaluated in `Fader::paintEvent`. If this leads to performance problems it might be better to introduce a boolean member to the `Fader` class which caches that value. * Move constexprs to anonymous namespace --- include/Fader.h | 55 ++- include/MixerChannelView.h | 2 + include/SetupDialog.h | 4 +- .../CrossoverEQ/CrossoverEQControlDialog.cpp | 8 +- plugins/Eq/EqFader.h | 2 +- src/gui/MainWindow.cpp | 15 +- src/gui/MixerView.cpp | 28 ++ src/gui/modals/SetupDialog.cpp | 22 +- src/gui/widgets/Fader.cpp | 405 +++++++++++++++--- src/gui/widgets/FloatModelEditorBase.cpp | 6 +- 10 files changed, 450 insertions(+), 97 deletions(-) diff --git a/include/Fader.h b/include/Fader.h index 53e353a3d..9d6e21590 100644 --- a/include/Fader.h +++ b/include/Fader.h @@ -74,8 +74,8 @@ public: Q_PROPERTY(bool renderUnityLine READ getRenderUnityLine WRITE setRenderUnityLine) Q_PROPERTY(QColor unityMarker MEMBER m_unityMarker) - Fader(FloatModel* model, const QString& name, QWidget* parent); - Fader(FloatModel* model, const QString& name, QWidget* parent, const QPixmap& knob); + Fader(FloatModel* model, const QString& name, QWidget* parent, bool modelIsLinear = true); + Fader(FloatModel* model, const QString& name, QWidget* parent, const QPixmap& knob, bool modelIsLinear = true); ~Fader() override = default; void setPeak_L(float fPeak); @@ -93,6 +93,17 @@ public: inline bool getRenderUnityLine() const { return m_renderUnityLine; } inline void setRenderUnityLine(bool value = true) { m_renderUnityLine = value; } + enum class AdjustmentDirection + { + Up, + Down + }; + + void adjust(const Qt::KeyboardModifiers & modifiers, AdjustmentDirection direction); + void adjustByDecibelDelta(float value); + + void adjustByDialog(); + void setDisplayConversion(bool b) { m_conversionFactor = b ? 100.0 : 1.0; @@ -118,18 +129,34 @@ private: void paintEvent(QPaintEvent* ev) override; void paintLevels(QPaintEvent* ev, QPainter& painter, bool linear = false); + void paintFaderTicks(QPainter& painter); - int knobPosY() const - { - float fRange = model()->maxValue() - model()->minValue(); - float realVal = model()->value() - model()->minValue(); + float determineAdjustmentDelta(const Qt::KeyboardModifiers & modifiers) const; + void adjustModelByDBDelta(float value); - return height() - ((height() - m_knob.height()) * (realVal / fRange)); - } + int calculateKnobPosYFromModel() const; + void setVolumeByLocalPixelValue(int y); + + /** + * @brief Computes the scaled ratio between the maximum dB value supported by the model and the minimum + * dB value that's supported by the fader from the given actual dB value. + * + * If the provided input value lies inside the aforementioned interval then the result will be + * a value between 0 (value == minimum value) and 1 (value == maximum model value). + * If you look at the graphical representation of the fader then 0 represents a point at the bottom + * of the fader and 1 a point at the top of the fader. + * The ratio is scaled by an internal exponent which is an implementation detail that cannot be + * changed for now. + */ + float computeScaledRatio(float dBValue) const; void setPeak(float fPeak, float& targetPeak, float& persistentPeak, QElapsedTimer& lastPeakTimer); void updateTextFloat(); + void modelValueChanged(); + QString getModelValueAsDbString() const; + + bool modelIsLinear() const { return m_modelIsLinear; } // Private members private: @@ -145,10 +172,16 @@ private: QPixmap m_knob {embed::getIconPixmap("fader_knob")}; - bool m_levelsDisplayedInDBFS {true}; + /** + * @brief Stores the offset to the knob center when the user drags the fader knob + * + * This is needed to make it feel like the users drag the knob without it + * jumping immediately to the click position. + */ + int m_knobCenterOffset {0}; - int m_moveStartPoint {-1}; - float m_startValue {0.}; + bool m_levelsDisplayedInDBFS {true}; + bool m_modelIsLinear {false}; static SimpleTextFloat* s_textFloat; diff --git a/include/MixerChannelView.h b/include/MixerChannelView.h index 6716aee09..3d5f4ffb6 100644 --- a/include/MixerChannelView.h +++ b/include/MixerChannelView.h @@ -82,6 +82,8 @@ public: QColor strokeInnerInactive() const { return m_strokeInnerInactive; } void setStrokeInnerInactive(const QColor& c) { m_strokeInnerInactive = c; } + Fader* fader() const { return m_fader; } + public slots: void renameChannel(); void resetColor(); diff --git a/include/SetupDialog.h b/include/SetupDialog.h index 871a80bcd..23589f91a 100644 --- a/include/SetupDialog.h +++ b/include/SetupDialog.h @@ -72,10 +72,10 @@ protected slots: private slots: // General settings widget. - void toggleDisplaydBFS(bool enabled); void toggleTooltips(bool enabled); void toggleDisplayWaveform(bool enabled); void toggleNoteLabels(bool enabled); + void toggleShowFaderTicks(bool enabled); void toggleCompactTrackButtons(bool enabled); void toggleOneInstrumentTrackWindow(bool enabled); void toggleSideBarOnRight(bool enabled); @@ -134,10 +134,10 @@ private: TabBar * m_tabBar; // General settings widgets. - bool m_displaydBFS; bool m_tooltips; bool m_displayWaveform; bool m_printNoteLabels; + bool m_showFaderTicks; bool m_compactTrackButtons; bool m_oneInstrumentTrackWindow; bool m_sideBarOnRight; diff --git a/plugins/CrossoverEQ/CrossoverEQControlDialog.cpp b/plugins/CrossoverEQ/CrossoverEQControlDialog.cpp index a4f44f5d3..e7202556b 100644 --- a/plugins/CrossoverEQ/CrossoverEQControlDialog.cpp +++ b/plugins/CrossoverEQ/CrossoverEQControlDialog.cpp @@ -70,25 +70,25 @@ CrossoverEQControlDialog::CrossoverEQControlDialog( CrossoverEQControls * contro QPixmap const fader_knob(PLUGIN_NAME::getIconPixmap("fader_knob2")); // faders - auto gain1 = new Fader(&controls->m_gain1, tr("Band 1 gain"), this, fader_knob); + auto gain1 = new Fader(&controls->m_gain1, tr("Band 1 gain"), this, fader_knob, false); gain1->move( 7, 56 ); gain1->setDisplayConversion( false ); gain1->setHintText( tr( "Band 1 gain:" ), " dBFS" ); gain1->setRenderUnityLine(false); - auto gain2 = new Fader(&controls->m_gain2, tr("Band 2 gain"), this, fader_knob); + auto gain2 = new Fader(&controls->m_gain2, tr("Band 2 gain"), this, fader_knob, false); gain2->move( 47, 56 ); gain2->setDisplayConversion( false ); gain2->setHintText( tr( "Band 2 gain:" ), " dBFS" ); gain2->setRenderUnityLine(false); - auto gain3 = new Fader(&controls->m_gain3, tr("Band 3 gain"), this, fader_knob); + auto gain3 = new Fader(&controls->m_gain3, tr("Band 3 gain"), this, fader_knob, false); gain3->move( 87, 56 ); gain3->setDisplayConversion( false ); gain3->setHintText( tr( "Band 3 gain:" ), " dBFS" ); gain3->setRenderUnityLine(false); - auto gain4 = new Fader(&controls->m_gain4, tr("Band 4 gain"), this, fader_knob); + auto gain4 = new Fader(&controls->m_gain4, tr("Band 4 gain"), this, fader_knob, false); gain4->move( 127, 56 ); gain4->setDisplayConversion( false ); gain4->setHintText( tr( "Band 4 gain:" ), " dBFS" ); diff --git a/plugins/Eq/EqFader.h b/plugins/Eq/EqFader.h index 3185d0879..5c9aa5e5d 100644 --- a/plugins/Eq/EqFader.h +++ b/plugins/Eq/EqFader.h @@ -43,7 +43,7 @@ public: Q_OBJECT public: EqFader( FloatModel * model, const QString & name, QWidget * parent, float* lPeak, float* rPeak ) : - Fader( model, name, parent ) + Fader(model, name, parent, false) { setMinimumSize( 23, 116 ); setMaximumSize( 23, 116 ); diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 48d2ddb30..225a3f0e9 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -1099,13 +1099,7 @@ void MainWindow::updateViewMenu() // Here we should put all look&feel -stuff from configmanager // that is safe to change on the fly. There is probably some // more elegant way to do this. - auto qa = new QAction(tr("Volume as dBFS"), this); - qa->setData("displaydbfs"); - qa->setCheckable( true ); - qa->setChecked( ConfigManager::inst()->value( "app", "displaydbfs" ).toInt() ); - m_viewMenu->addAction(qa); - - qa = new QAction(tr( "Smooth scroll" ), this); + auto qa = new QAction(tr("Smooth scroll"), this); qa->setData("smoothscroll"); qa->setCheckable( true ); qa->setChecked( ConfigManager::inst()->value( "ui", "smoothscroll" ).toInt() ); @@ -1135,12 +1129,7 @@ void MainWindow::updateConfig( QAction * _who ) QString tag = _who->data().toString(); bool checked = _who->isChecked(); - if( tag == "displaydbfs" ) - { - ConfigManager::inst()->setValue( "app", "displaydbfs", - QString::number(checked) ); - } - else if ( tag == "tooltips" ) + if (tag == "tooltips") { ConfigManager::inst()->setValue( "tooltips", "disabled", QString::number(!checked) ); diff --git a/src/gui/MixerView.cpp b/src/gui/MixerView.cpp index 0ba893be0..d05ff097d 100644 --- a/src/gui/MixerView.cpp +++ b/src/gui/MixerView.cpp @@ -481,6 +481,16 @@ void MixerView::renameChannel(int index) void MixerView::keyPressEvent(QKeyEvent * e) { + auto adjustCurrentFader = [this](const Qt::KeyboardModifiers& modifiers, Fader::AdjustmentDirection direction) + { + auto* mixerChannel = currentMixerChannel(); + + if (mixerChannel) + { + mixerChannel->fader()->adjust(modifiers, direction); + } + }; + switch(e->key()) { case Qt::Key_Delete: @@ -508,6 +518,14 @@ void MixerView::keyPressEvent(QKeyEvent * e) setCurrentMixerChannel(m_currentMixerChannel->channelIndex() + 1); } break; + case Qt::Key_Up: + case Qt::Key_Plus: + adjustCurrentFader(e->modifiers(), Fader::AdjustmentDirection::Up); + break; + case Qt::Key_Down: + case Qt::Key_Minus: + adjustCurrentFader(e->modifiers(), Fader::AdjustmentDirection::Down); + break; case Qt::Key_Insert: if (e->modifiers() & Qt::ShiftModifier) { @@ -519,6 +537,16 @@ void MixerView::keyPressEvent(QKeyEvent * e) case Qt::Key_F2: renameChannel(m_currentMixerChannel->channelIndex()); break; + case Qt::Key_Space: + { + auto* mixerChannel = currentMixerChannel(); + + if (mixerChannel) + { + mixerChannel->fader()->adjustByDialog(); + } + } + break; } } diff --git a/src/gui/modals/SetupDialog.cpp b/src/gui/modals/SetupDialog.cpp index d71ede03f..06f228ab7 100644 --- a/src/gui/modals/SetupDialog.cpp +++ b/src/gui/modals/SetupDialog.cpp @@ -91,14 +91,14 @@ inline void labelWidget(QWidget * w, const QString & txt) SetupDialog::SetupDialog(ConfigTab tab_to_open) : - m_displaydBFS(ConfigManager::inst()->value( - "app", "displaydbfs").toInt()), m_tooltips(!ConfigManager::inst()->value( "tooltips", "disabled").toInt()), m_displayWaveform(ConfigManager::inst()->value( "ui", "displaywaveform").toInt()), m_printNoteLabels(ConfigManager::inst()->value( "ui", "printnotelabels").toInt()), + m_showFaderTicks(ConfigManager::inst()->value( + "ui", "showfaderticks").toInt()), m_compactTrackButtons(ConfigManager::inst()->value( "ui", "compacttrackbuttons").toInt()), m_oneInstrumentTrackWindow(ConfigManager::inst()->value( @@ -231,14 +231,14 @@ SetupDialog::SetupDialog(ConfigTab tab_to_open) : QGroupBox * guiGroupBox = new QGroupBox(tr("Graphical user interface (GUI)"), generalControls); QVBoxLayout * guiGroupLayout = new QVBoxLayout(guiGroupBox); - addCheckBox(tr("Display volume as dBFS "), guiGroupBox, guiGroupLayout, - m_displaydBFS, SLOT(toggleDisplaydBFS(bool)), true); addCheckBox(tr("Enable tooltips"), guiGroupBox, guiGroupLayout, m_tooltips, SLOT(toggleTooltips(bool)), true); addCheckBox(tr("Enable master oscilloscope by default"), guiGroupBox, guiGroupLayout, m_displayWaveform, SLOT(toggleDisplayWaveform(bool)), true); addCheckBox(tr("Enable all note labels in piano roll"), guiGroupBox, guiGroupLayout, m_printNoteLabels, SLOT(toggleNoteLabels(bool)), false); + addCheckBox(tr("Show fader ticks"), guiGroupBox, guiGroupLayout, + m_showFaderTicks, SLOT(toggleShowFaderTicks(bool)), false); addCheckBox(tr("Enable compact track buttons"), guiGroupBox, guiGroupLayout, m_compactTrackButtons, SLOT(toggleCompactTrackButtons(bool)), true); addCheckBox(tr("Enable one instrument-track-window mode"), guiGroupBox, guiGroupLayout, @@ -913,14 +913,14 @@ void SetupDialog::accept() from taking mouse input, rendering the application unusable. */ QDialog::accept(); - ConfigManager::inst()->setValue("app", "displaydbfs", - QString::number(m_displaydBFS)); ConfigManager::inst()->setValue("tooltips", "disabled", QString::number(!m_tooltips)); ConfigManager::inst()->setValue("ui", "displaywaveform", QString::number(m_displayWaveform)); ConfigManager::inst()->setValue("ui", "printnotelabels", QString::number(m_printNoteLabels)); + ConfigManager::inst()->setValue("ui", "showfaderticks", + QString::number(m_showFaderTicks)); ConfigManager::inst()->setValue("ui", "compacttrackbuttons", QString::number(m_compactTrackButtons)); ConfigManager::inst()->setValue("ui", "oneinstrumenttrackwindow", @@ -1003,12 +1003,6 @@ void SetupDialog::accept() // General settings slots. -void SetupDialog::toggleDisplaydBFS(bool enabled) -{ - m_displaydBFS = enabled; -} - - void SetupDialog::toggleTooltips(bool enabled) { m_tooltips = enabled; @@ -1026,6 +1020,10 @@ void SetupDialog::toggleNoteLabels(bool enabled) m_printNoteLabels = enabled; } +void SetupDialog::toggleShowFaderTicks(bool enabled) +{ + m_showFaderTicks = enabled; +} void SetupDialog::toggleCompactTrackButtons(bool enabled) { diff --git a/src/gui/widgets/Fader.cpp b/src/gui/widgets/Fader.cpp index e8560c3c0..153d8ca1a 100644 --- a/src/gui/widgets/Fader.cpp +++ b/src/gui/widgets/Fader.cpp @@ -58,14 +58,22 @@ #include "KeyboardShortcuts.h" #include "SimpleTextFloat.h" +namespace +{ + constexpr auto c_dBScalingExponent = 3.f; + //! The dbFS amount after which we drop down to -inf dbFS + constexpr auto c_faderMinDb = -120.f; +} + namespace lmms::gui { SimpleTextFloat* Fader::s_textFloat = nullptr; -Fader::Fader(FloatModel* model, const QString& name, QWidget* parent) : +Fader::Fader(FloatModel* model, const QString& name, QWidget* parent, bool modelIsLinear) : QWidget(parent), - FloatModelView(model, this) + FloatModelView(model, this), + m_modelIsLinear(modelIsLinear) { if (s_textFloat == nullptr) { @@ -82,15 +90,74 @@ Fader::Fader(FloatModel* model, const QString& name, QWidget* parent) : setHintText("Volume:", "%"); m_conversionFactor = 100.0; + + if (model) + { + // We currently assume that the model is not changed later on and only connect here once + + // This is for example used to update the tool tip which shows the current value of the fader + connect(model, &FloatModel::dataChanged, this, &Fader::modelValueChanged); + + // Trigger manually so that the tool tip is initialized correctly + modelValueChanged(); + } } -Fader::Fader(FloatModel* model, const QString& name, QWidget* parent, const QPixmap& knob) : - Fader(model, name, parent) +Fader::Fader(FloatModel* model, const QString& name, QWidget* parent, const QPixmap& knob, bool modelIsLinear) : + Fader(model, name, parent, modelIsLinear) { m_knob = knob; } +void Fader::adjust(const Qt::KeyboardModifiers & modifiers, AdjustmentDirection direction) +{ + const auto adjustmentDb = determineAdjustmentDelta(modifiers) * (direction == AdjustmentDirection::Down ? -1. : 1.); + adjustByDecibelDelta(adjustmentDb); +} + +void Fader::adjustByDecibelDelta(float value) +{ + adjustModelByDBDelta(value); + + updateTextFloat(); + s_textFloat->setVisibilityTimeOut(1000); +} + +void Fader::adjustByDialog() +{ + bool ok; + + if (modelIsLinear()) + { + auto maxDB = ampToDbfs(model()->maxValue()); + const auto currentValue = model()->value() <= 0. ? c_faderMinDb : ampToDbfs(model()->value()); + + float enteredValue = QInputDialog::getDouble(this, tr("Set value"), + tr("Please enter a new value between %1 and %2:").arg(c_faderMinDb).arg(maxDB), + currentValue, c_faderMinDb, maxDB, model()->getDigitCount(), &ok); + + if (ok) + { + model()->setValue(dbfsToAmp(enteredValue)); + } + return; + } + else + { + // The model already is in dB + auto minv = model()->minValue() * m_conversionFactor; + auto maxv = model()->maxValue() * m_conversionFactor; + float enteredValue = QInputDialog::getDouble(this, tr("Set value"), + tr("Please enter a new value between %1 and %2:").arg(minv).arg(maxv), + model()->getRoundedValue() * m_conversionFactor, minv, maxv, model()->getDigitCount(), &ok); + + if (ok) + { + model()->setValue(enteredValue / m_conversionFactor); + } + } +} void Fader::contextMenuEvent(QContextMenuEvent* ev) { @@ -105,18 +172,13 @@ void Fader::contextMenuEvent(QContextMenuEvent* ev) void Fader::mouseMoveEvent(QMouseEvent* mouseEvent) { - if (m_moveStartPoint >= 0) - { - int dy = m_moveStartPoint - mouseEvent->globalY(); + const int localY = mouseEvent->y(); - float delta = dy * (model()->maxValue() - model()->minValue()) / (float)(height() - (m_knob).height()); + setVolumeByLocalPixelValue(localY); - const auto step = model()->step(); - float newValue = static_cast(static_cast((m_startValue + delta) / step + 0.5)) * step; - model()->setValue(newValue); + updateTextFloat(); - updateTextFloat(); - } + mouseEvent->accept(); } @@ -134,20 +196,37 @@ void Fader::mousePressEvent(QMouseEvent* mouseEvent) thisModel->saveJournallingState(false); } - if (mouseEvent->y() >= knobPosY() - (m_knob).height() && mouseEvent->y() < knobPosY()) + const int localY = mouseEvent->y(); + const auto knobLowerPosY = calculateKnobPosYFromModel(); + const auto knobUpperPosY = knobLowerPosY - m_knob.height(); + + const auto clickedOnKnob = localY >= knobUpperPosY && localY <= knobLowerPosY; + + if (clickedOnKnob) { - updateTextFloat(); - s_textFloat->show(); + // If the users clicked on the knob we want to compensate for the offset to the center line + // of the knob when dealing with mouse move events. + // This will make it feel like the users have grabbed the knob where they clicked. + const auto knobCenterPos = knobLowerPosY - (m_knob.height() / 2); + m_knobCenterOffset = localY - knobCenterPos; - m_moveStartPoint = mouseEvent->globalY(); - m_startValue = model()->value(); - - mouseEvent->accept(); + // In this case we also will not call setVolumeByLocalPixelValue, i.e. we do not make any immediate + // changes. This should only happen if the users actually move the mouse while grabbing the knob. + // This makes the knobs less "jumpy". } else { - m_moveStartPoint = -1; + // If the users did not click on the knob then we assume that the fader knob's center should move to + // the position of the click. We do not compensate for any offset. + m_knobCenterOffset = 0; + + setVolumeByLocalPixelValue(localY); } + + updateTextFloat(); + s_textFloat->show(); + + mouseEvent->accept(); } else { @@ -159,18 +238,9 @@ void Fader::mousePressEvent(QMouseEvent* mouseEvent) void Fader::mouseDoubleClickEvent(QMouseEvent* mouseEvent) { - bool ok; - // TODO: dbFS handling - auto minv = model()->minValue() * m_conversionFactor; - auto maxv = model()->maxValue() * m_conversionFactor; - float enteredValue = QInputDialog::getDouble(this, tr("Set value"), - tr("Please enter a new value between %1 and %2:").arg(minv).arg(maxv), - model()->getRoundedValue() * m_conversionFactor, minv, maxv, model()->getDigitCount(), &ok); + adjustByDialog(); - if (ok) - { - model()->setValue(enteredValue / m_conversionFactor); - } + mouseEvent->accept(); } @@ -186,20 +256,197 @@ void Fader::mouseReleaseEvent(QMouseEvent* mouseEvent) } } + // Always reset the offset to 0 regardless of which mouse button is pressed + m_knobCenterOffset = 0; + s_textFloat->hide(); } void Fader::wheelEvent (QWheelEvent* ev) { - ev->accept(); const int direction = (ev->angleDelta().y() > 0 ? 1 : -1) * (ev->inverted() ? -1 : 1); - model()->incValue(direction); - updateTextFloat(); - s_textFloat->setVisibilityTimeOut(1000); + const float increment = determineAdjustmentDelta(ev->modifiers()) * direction; + + adjustByDecibelDelta(increment); + + ev->accept(); } +float Fader::determineAdjustmentDelta(const Qt::KeyboardModifiers & modifiers) const +{ + if (modifiers == Qt::ShiftModifier) + { + // The shift is intended to go through the values in very coarse steps as in: + // "Shift into overdrive" + return 3.f; + } + else if (modifiers == Qt::ControlModifier) + { + // The control key gives more control, i.e. it enables more fine-grained adjustments + return 0.1f; + } + else if (modifiers & Qt::AltModifier) + { + // Work around a Qt bug in conjunction with the scroll wheel and the Alt key + return 0.f; + } + + return 1.f; +} + +void Fader::adjustModelByDBDelta(float value) +{ + if (modelIsLinear()) + { + const auto modelValue = model()->value(); + + if (modelValue <= 0.) + { + // We are at -inf dB. Do nothing if we user wishes to decrease. + if (value > 0) + { + // Otherwise set the model to the minimum value supported by the fader. + model()->setValue(dbfsToAmp(c_faderMinDb)); + } + } + else + { + // We can safely compute the dB value as the value is greater than 0 + const auto valueInDB = ampToDbfs(modelValue); + + const auto adjustedValue = valueInDB + value; + + model()->setValue(adjustedValue < c_faderMinDb ? 0. : dbfsToAmp(adjustedValue)); + } + } + else + { + const auto adjustedValue = std::clamp(model()->value() + value, model()->minValue(), model()->maxValue()); + + model()->setValue(adjustedValue); + } +} + +int Fader::calculateKnobPosYFromModel() const +{ + auto* m = model(); + + auto const minV = m->minValue(); + auto const maxV = m->maxValue(); + auto const value = m->value(); + + if (modelIsLinear()) + { + // This method calculates the pixel position where the lower end of + // the fader knob should be for the amplification value in the model. + // + // The following assumes that the model describes an amplification, + // i.e. that values are in [0, max] and that 1 is unity, i.e. 0 dbFS. + + auto const distanceToMin = value - minV; + + // Prevent dbFS calculations with zero or negative values + if (distanceToMin <= 0) + { + return height(); + } + else + { + // Make sure that we do not get values less that the minimum fader dbFS + // for the calculations that will follow. + auto const actualDb = std::max(c_faderMinDb, ampToDbfs(value)); + + const auto scaledRatio = computeScaledRatio(actualDb); + + // This returns results between: + // * m_knob.height() for a ratio of 1 + // * height() for a ratio of 0 + return height() - (height() - m_knob.height()) * scaledRatio; + } + } + else + { + // The model is in dB so we just show that in a linear fashion + + auto const clampedValue = std::clamp(value, minV, maxV); + + auto const ratio = (clampedValue - minV) / (maxV - minV); + + // This returns results between: + // * m_knob.height() for a ratio of 1 + // * height() for a ratio of 0 + return height() - (height() - m_knob.height()) * ratio; + } +} + + +void Fader::setVolumeByLocalPixelValue(int y) +{ + auto* m = model(); + + // Compensate the offset where users have actually clicked + y -= m_knobCenterOffset; + + // The y parameter gives us where the mouse click went. + // Assume that the middle of the fader should go there. + int const lowerFaderKnob = y + (m_knob.height() / 2); + + // In some cases we need the clamped lower position of the fader knob so we can ensure + // that we only set allowed values in the model range. + int const clampedLowerFaderKnob = std::clamp(lowerFaderKnob, m_knob.height(), height()); + + if (modelIsLinear()) + { + if (lowerFaderKnob >= height()) + { + // Check the non-clamped value because otherwise we wouldn't be able to set -inf dB! + model()->setValue(0); + } + else + { + // We are in the case where we set a value that's different from -inf dB so we use the clamped value + // of the lower knob position so that we only set allowed values in the model range. + + // First map the lower knob position to [0, 1] so that we can apply some curve mapping, e.g. + // square, cube, etc. + LinearMap knobMap(float(m_knob.height()), 1., float(height()), 0.); + + // Apply the inverse of what is done in calculateKnobPosYFromModel + auto const knobPos = std::pow(knobMap.map(clampedLowerFaderKnob), 1./c_dBScalingExponent); + + float const maxDb = ampToDbfs(m->maxValue()); + + LinearMap dbMap(1., maxDb, 0., c_faderMinDb); + + float const dbValue = dbMap.map(knobPos); + + // Pull everything that's quieter than the minimum fader dbFS value down to 0 amplification. + // This should not happen due to the steps above but let's be sure. + // Otherwise compute the amplification value from the mapped dbFS value but make sure that we + // do not exceed the maximum dbValue of the model + float ampValue = dbValue < c_faderMinDb ? 0. : dbfsToAmp(std::min(maxDb, dbValue)); + + model()->setValue(ampValue); + } + } + else + { + LinearMap valueMap(float(m_knob.height()), model()->maxValue(), float(height()), model()->minValue()); + + model()->setValue(valueMap.map(clampedLowerFaderKnob)); + } +} + +float Fader::computeScaledRatio(float dBValue) const +{ + const auto maxDb = ampToDbfs(model()->maxValue()); + + const auto ratio = (dBValue - c_faderMinDb) / (maxDb - c_faderMinDb); + + return std::pow(ratio, c_dBScalingExponent); +} /// @@ -246,28 +493,45 @@ void Fader::setPeak_R(float fPeak) // update tooltip showing value and adjust position while changing fader value void Fader::updateTextFloat() { - if (ConfigManager::inst()->value("app", "displaydbfs").toInt() && m_conversionFactor == 100.0) + if (m_conversionFactor == 100.0) { - QString label(tr("Volume: %1 dBFS")); - - auto const modelValue = model()->value(); - if (modelValue <= 0.) - { - s_textFloat->setText(label.arg("-∞")); - } - else - { - s_textFloat->setText(label.arg(ampToDbfs(modelValue), 3, 'f', 2)); - } + s_textFloat->setText(getModelValueAsDbString()); } else { s_textFloat->setText(m_description + " " + QString("%1 ").arg(model()->value() * m_conversionFactor) + " " + m_unit); } - s_textFloat->moveGlobal(this, QPoint(width() + 2, knobPosY() - s_textFloat->height() / 2)); + s_textFloat->moveGlobal(this, QPoint(width() + 2, calculateKnobPosYFromModel() - s_textFloat->height() / 2)); } +void Fader::modelValueChanged() +{ + setToolTip(getModelValueAsDbString()); +} + +QString Fader::getModelValueAsDbString() const +{ + const auto value = model()->value(); + + QString label(tr("Volume: %1 dB")); + + if (modelIsLinear()) + { + if (value <= 0.) + { + return label.arg(tr("-inf")); + } + else + { + return label.arg(ampToDbfs(value), 3, 'f', 2); + } + } + else + { + return label.arg(value, 3, 'f', 2); + } +} void Fader::paintEvent(QPaintEvent* ev) { @@ -276,8 +540,13 @@ void Fader::paintEvent(QPaintEvent* ev) // Draw the levels with peaks paintLevels(ev, painter, !m_levelsDisplayedInDBFS); + if (ConfigManager::inst()->value( "ui", "showfaderticks" ).toInt() && modelIsLinear()) + { + paintFaderTicks(painter); + } + // Draw the knob - painter.drawPixmap((width() - m_knob.width()) / 2, knobPosY() - m_knob.height(), m_knob); + painter.drawPixmap((width() - m_knob.width()) / 2, calculateKnobPosYFromModel() - m_knob.height(), m_knob); } void Fader::paintLevels(QPaintEvent* ev, QPainter& painter, bool linear) @@ -433,4 +702,40 @@ void Fader::paintLevels(QPaintEvent* ev, QPainter& painter, bool linear) painter.restore(); } +void Fader::paintFaderTicks(QPainter& painter) +{ + painter.save(); + + const QPen zeroPen(QColor(255, 255, 255, 216), 2.5); + const QPen nonZeroPen(QColor(255, 255, 255, 128), 1.); + + // We use the maximum dB value of the model to calculate the nearest multiple + // of the step size that we use to paint the ticks so that we know the start point. + // This code will paint ticks with steps that are defined by the step size around + // the 0 dB marker. + const auto maxDB = ampToDbfs(model()->maxValue()); + const auto stepSize = 6.f; + const auto startValue = std::floor(maxDB / stepSize) * stepSize; + + for (float i = startValue; i >= c_faderMinDb; i-= stepSize) + { + const auto scaledRatio = computeScaledRatio(i); + const auto maxHeight = height() - (height() - m_knob.height()) * scaledRatio - (m_knob.height() / 2); + + if (approximatelyEqual(i, 0.)) + { + painter.setPen(zeroPen); + } + else + { + painter.setPen(nonZeroPen); + } + + painter.drawLine(QPointF(0, maxHeight), QPointF(1, maxHeight)); + painter.drawLine(QPointF(width() - 1, maxHeight), QPointF(width(), maxHeight)); + } + + painter.restore(); +} + } // namespace lmms::gui diff --git a/src/gui/widgets/FloatModelEditorBase.cpp b/src/gui/widgets/FloatModelEditorBase.cpp index 81f121a84..3c7fe93c7 100644 --- a/src/gui/widgets/FloatModelEditorBase.cpp +++ b/src/gui/widgets/FloatModelEditorBase.cpp @@ -376,8 +376,7 @@ void FloatModelEditorBase::enterValue() bool ok; float new_val; - if (isVolumeKnob() && - ConfigManager::inst()->value("app", "displaydbfs").toInt()) + if (isVolumeKnob()) { auto const initalValue = model()->getRoundedValue() / 100.0; auto const initialDbValue = initalValue > 0. ? ampToDbfs(initalValue) : -96; @@ -430,8 +429,7 @@ void FloatModelEditorBase::friendlyUpdate() QString FloatModelEditorBase::displayValue() const { - if (isVolumeKnob() && - ConfigManager::inst()->value("app", "displaydbfs").toInt()) + if (isVolumeKnob()) { auto const valueToVolumeRatio = model()->getRoundedValue() / volumeRatio(); return m_description.trimmed() + ( From 050df381b014ba0977d40126b667dffde6a3bd00 Mon Sep 17 00:00:00 2001 From: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com> Date: Sun, 2 Mar 2025 03:18:37 +0530 Subject: [PATCH 099/112] Fix Clang warning due to implicit conversion from int to float for the RAND_MAX macro (#7717) * fix compiler warning due to implicit conversion * fix warnings from plugins too --- include/Oscillator.h | 2 +- plugins/Organic/Organic.cpp | 4 ++-- plugins/Vibed/VibratingString.cpp | 4 ++-- plugins/Vibed/VibratingString.h | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/Oscillator.h b/include/Oscillator.h index 648fe3bb8..13d8264be 100644 --- a/include/Oscillator.h +++ b/include/Oscillator.h @@ -163,7 +163,7 @@ public: static inline sample_t noiseSample( const float ) { - return 1.0f - rand() * 2.0f / RAND_MAX; + return 1.0f - rand() * 2.0f / static_cast(RAND_MAX); } static sample_t userWaveSample(const SampleBuffer* buffer, const float sample) diff --git a/plugins/Organic/Organic.cpp b/plugins/Organic/Organic.cpp index 558a7d542..b9e7716ef 100644 --- a/plugins/Organic/Organic.cpp +++ b/plugins/Organic/Organic.cpp @@ -236,9 +236,9 @@ void OrganicInstrument::playNote( NotePlayHandle * _n, for( int i = m_numOscillators - 1; i >= 0; --i ) { static_cast( _n->m_pluginData )->phaseOffsetLeft[i] - = rand() / ( RAND_MAX + 1.0f ); + = rand() / (static_cast(RAND_MAX) + 1.0f); static_cast( _n->m_pluginData )->phaseOffsetRight[i] - = rand() / ( RAND_MAX + 1.0f ); + = rand() / (static_cast(RAND_MAX) + 1.0f); // initialise ocillators diff --git a/plugins/Vibed/VibratingString.cpp b/plugins/Vibed/VibratingString.cpp index e4bb760e2..5a09a4549 100644 --- a/plugins/Vibed/VibratingString.cpp +++ b/plugins/Vibed/VibratingString.cpp @@ -40,7 +40,7 @@ VibratingString::VibratingString(float pitch, float pick, float pickup, const fl m_oversample{2 * oversample / static_cast(sampleRate / Engine::audioEngine()->baseSampleRate())}, m_randomize{randomize}, m_stringLoss{1.0f - stringLoss}, - m_choice{static_cast(m_oversample * static_cast(std::rand()) / RAND_MAX)}, + m_choice{static_cast(m_oversample * static_cast(std::rand()) / static_cast(RAND_MAX))}, m_state{0.1f}, m_outsamp{std::make_unique(m_oversample)} { @@ -78,7 +78,7 @@ std::unique_ptr VibratingString::initDelayLine(int l dl->data = std::make_unique(len); for (int i = 0; i < dl->length; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = offset; } diff --git a/plugins/Vibed/VibratingString.h b/plugins/Vibed/VibratingString.h index 0ad5a6e6e..d1691415b 100644 --- a/plugins/Vibed/VibratingString.h +++ b/plugins/Vibed/VibratingString.h @@ -107,13 +107,13 @@ private: { for (int i = 0; i < pick; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = scale * values[dl->length - i - 1] + offset; } for (int i = pick; i < dl->length; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = scale * values[i - pick] + offset; } @@ -124,7 +124,7 @@ private: { for (int i = pick; i < dl->length; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i] = scale * values[i - pick] + offset; } @@ -133,7 +133,7 @@ private: { for (int i = 0; i < len; ++i) { - float r = static_cast(std::rand()) / RAND_MAX; + float r = static_cast(std::rand()) / static_cast(RAND_MAX); float offset = (m_randomize / 2.0f - m_randomize) * r; dl->data[i+pick] = scale * values[i] + offset; } From 9159533814be65eaca4557d6d40ed388e1df2a2e Mon Sep 17 00:00:00 2001 From: Andrew Wiltshire <62200778+AW1534@users.noreply.github.com> Date: Sun, 2 Mar 2025 00:38:51 +0000 Subject: [PATCH 100/112] FileBrowser: "Open containing folder" automatically selects file in the OS's file manager (#7700) Introduces a new class FileRevealer to manage file selection across different platforms (Windows, macOS, Linux, and other *nix operating systems with xdg). Includes methods to open and select files or directories using the default file manager on the respective platform. --------- Co-authored-by: Tres Finocchiaro Co-authored-by: Hyunjin Song Co-authored-by: Sotonye Atemie Co-authored-by: Dalton Messmer --- include/FileBrowser.h | 2 - include/FileRevealer.h | 77 ++++++++++++++++ src/gui/CMakeLists.txt | 1 + src/gui/FileBrowser.cpp | 82 +++++++++--------- src/gui/FileRevealer.cpp | 183 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 300 insertions(+), 45 deletions(-) create mode 100644 include/FileRevealer.h create mode 100644 src/gui/FileRevealer.cpp diff --git a/include/FileBrowser.h b/include/FileBrowser.h index 9193da5e4..6c10ee763 100644 --- a/include/FileBrowser.h +++ b/include/FileBrowser.h @@ -195,8 +195,6 @@ private slots: bool openInNewSampleTrack( lmms::gui::FileItem* item ); void sendToActiveInstrumentTrack( lmms::gui::FileItem* item ); void updateDirectory( QTreeWidgetItem * item ); - void openContainingFolder( lmms::gui::FileItem* item ); - } ; diff --git a/include/FileRevealer.h b/include/FileRevealer.h new file mode 100644 index 000000000..feb6d1223 --- /dev/null +++ b/include/FileRevealer.h @@ -0,0 +1,77 @@ +/* + * FileRevealer.h - include file for FileRevealer + * + * Copyright (c) 2025 Andrew Wiltshire + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#ifndef LMMS_FILE_REVEALER_H +#define LMMS_FILE_REVEALER_H + +#include + +namespace lmms { + +/** + * @class FileRevealer + * @brief A utility class for revealing files and directories in the system's file manager. + */ +class FileRevealer +{ +public: + /** + * @brief Retrieves the default file manager for the current platform. + * @return The name or command of the default file manager. + */ + static const QString& getDefaultFileManager(); + + /** + * @brief Opens the directory containing the specified file or folder in the file manager. + * @param item The QFileInfo object representing the file or folder. + */ + static void openDir(const QFileInfo item); + + /** + * @brief Checks whether the file manager supports selecting a specific file. + * @return True if selection is supported, otherwise false. + */ + static const QStringList& getSelectCommand(); + + /** + * @brief Opens the file manager and selects the specified file if supported. + * @param item The QFileInfo object representing the file to reveal. + */ + static void reveal(const QFileInfo item); + +private: + static bool s_canSelect; + +protected: + /** + * @brief Determines if the given command supports the argument + * @param command The name of the file manager to check. + * @param arg The command line argument to parse for + * @return True if the file command the argument, otherwise false. + */ + static bool supportsArg(const QString& command, const QString& arg); +}; + +} // namespace lmms +#endif // LMMS_FILE_REVEALER_H diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 51f463832..f5e01a11c 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -14,6 +14,7 @@ SET(LMMS_SRCS gui/EffectView.cpp gui/embed.cpp gui/FileBrowser.cpp + gui/FileRevealer.cpp gui/GuiApplication.cpp gui/LadspaControlView.cpp gui/LfoControllerDialog.cpp diff --git a/src/gui/FileBrowser.cpp b/src/gui/FileBrowser.cpp index 8985a0475..5e8c84e33 100644 --- a/src/gui/FileBrowser.cpp +++ b/src/gui/FileBrowser.cpp @@ -26,15 +26,14 @@ #include "FileBrowser.h" #include -#include #include #include -#include #include #include #include #include #include +#include #include #include #include @@ -45,7 +44,7 @@ #include "ConfigManager.h" #include "DataFile.h" #include "Engine.h" -#include "FileBrowser.h" +#include "FileRevealer.h" #include "FileSearch.h" #include "GuiApplication.h" #include "ImportFilter.h" @@ -624,28 +623,35 @@ void FileBrowserTreeWidget::focusOutEvent(QFocusEvent* fe) QTreeWidget::focusOutEvent(fe); } - - - -void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent * e ) +void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent* e) { - auto file = dynamic_cast(itemAt(e->pos())); - if( file != nullptr && file->isTrack() ) +#ifdef LMMS_BUILD_APPLE + QString fileManager = tr("Finder"); +#elif defined(LMMS_BUILD_WIN32) + QString fileManager = tr("Explorer"); +#else + QString fileManager = tr("file manager"); +#endif + + QTreeWidgetItem* item = itemAt(e->pos()); + if (item == nullptr) { return; } // program hangs when right-clicking on empty space otherwise + + QMenu contextMenu(this); + + switch (item->type()) { - QMenu contextMenu( this ); + case TypeFileItem: { + auto file = dynamic_cast(item); - contextMenu.addAction( - tr( "Send to active instrument-track" ), - [=, this]{ sendToActiveInstrumentTrack(file); } - ); + if (file->isTrack()) + { + contextMenu.addAction( + tr("Send to active instrument-track"), [=, this] { sendToActiveInstrumentTrack(file); }); + contextMenu.addSeparator(); + } - contextMenu.addSeparator(); - - contextMenu.addAction( - QIcon(embed::getIconPixmap("folder")), - tr("Open containing folder"), - [=, this]{ openContainingFolder(file); } - ); + contextMenu.addAction(QIcon(embed::getIconPixmap("folder")), tr("Show in %1").arg(fileManager), + [=] { FileRevealer::reveal(file->fullName()); }); auto songEditorHeader = new QAction(tr("Song Editor"), nullptr); songEditorHeader->setDisabled(true); @@ -656,15 +662,21 @@ void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent * e ) patternEditorHeader->setDisabled(true); contextMenu.addAction(patternEditorHeader); contextMenu.addActions( getContextActions(file, false) ); - - // We should only show the menu if it contains items - if (!contextMenu.isEmpty()) { contextMenu.exec( e->globalPos() ); } + break; } + case TypeDirectoryItem: { + auto dir = dynamic_cast(item); + contextMenu.addAction(QIcon(embed::getIconPixmap("folder")), tr("Open in %1").arg(fileManager), [=] { + FileRevealer::openDir(dir->fullName()); + }); + break; + } + } + + // Only show the menu if it contains items + if (!contextMenu.isEmpty()) { contextMenu.exec(e->globalPos()); } } - - - QList FileBrowserTreeWidget::getContextActions(FileItem* file, bool songEditor) { QList result = QList(); @@ -991,22 +1003,6 @@ bool FileBrowserTreeWidget::openInNewSampleTrack(FileItem* item) - -void FileBrowserTreeWidget::openContainingFolder(FileItem* item) -{ - // Delegate to QDesktopServices::openUrl with the directory of the selected file. Please note that - // this will only open the directory but not select the file as this is much more complicated due - // to different implementations that are needed for different platforms (Linux/Windows/MacOS). - - // Using QDesktopServices::openUrl seems to be the most simple cross platform way which uses - // functionality that's already available in Qt. - QFileInfo fileInfo(item->fullName()); - QDesktopServices::openUrl(QUrl::fromLocalFile(fileInfo.dir().path())); -} - - - - void FileBrowserTreeWidget::sendToActiveInstrumentTrack( FileItem* item ) { // get all windows opened in the workspace diff --git a/src/gui/FileRevealer.cpp b/src/gui/FileRevealer.cpp new file mode 100644 index 000000000..e93cc7aed --- /dev/null +++ b/src/gui/FileRevealer.cpp @@ -0,0 +1,183 @@ +/* + * FileRevealer.cpp - Helper file for cross platform file revealing + * + * Copyright (c) 2025 Andrew Wiltshire + * + * This file is part of LMMS - https://lmms.io + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program (see COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + */ + +#include "FileRevealer.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "lmmsconfig.h" + +namespace lmms { +bool FileRevealer::s_canSelect = false; + +const QString& FileRevealer::getDefaultFileManager() +{ + static std::optional fileManagerCache; + if (fileManagerCache.has_value()) { return fileManagerCache.value(); } +#if defined(LMMS_BUILD_WIN32) + fileManagerCache = "explorer"; +#elif defined(LMMS_BUILD_APPLE) + fileManagerCache = "open"; +#else + + QString desktopEnv = qgetenv("XDG_CURRENT_DESKTOP").trimmed().toLower(); + + if (desktopEnv.contains("xfce")) + { + fileManagerCache = "exo-open"; + return fileManagerCache.value(); + } + + QProcess process; + if (desktopEnv.contains("gnome")) + { + process.start("gio", {"mime", "inode/directory"}); + } + else + { + process.start("xdg-mime", {"query", "default", "inode/directory"}); + } + + process.waitForFinished(3000); + + QString fileManager = QString::fromUtf8(process.readAllStandardOutput()).toLower().trimmed(); + + if (fileManager.contains("inode/directory")) + { + // gio format: split on ":" or "\n", take second element + QStringList fileManagers = fileManager.split(QRegularExpression("[:\n]"), Qt::SkipEmptyParts); + if (fileManagers.length() >= 2) + { + fileManagers.removeFirst(); + fileManager = fileManagers.first().trimmed(); + } + else + { + // Fallback to something sane + fileManager = "xdg-open"; + } + } + else + { + // xdg-mime format: split on ";", take the last non-empty element + QStringList fileManagers = fileManager.split(';', Qt::SkipEmptyParts); + if (!fileManagers.isEmpty()) + { + // The highest priority file manager is last + fileManager = fileManagers.last(); + } + } + + if (fileManager.endsWith(".desktop")) { fileManager.chop(8); } + + // If the fileManager contains dots (e.g., "org.kde.dolphin"), extract only the last part + fileManager = fileManager.section('.', -1); + fileManagerCache = fileManager; +#endif + qDebug() << "FileRevealer: Default app for inode/directory:" << fileManagerCache.value(); + return fileManagerCache.value(); +} + +void FileRevealer::openDir(const QFileInfo item) +{ + QString nativePath = QDir::toNativeSeparators(item.canonicalFilePath()); + + QProcess::startDetached(getDefaultFileManager(), {nativePath}); +} + +const QStringList& FileRevealer::getSelectCommand() +{ + static std::optional selectCommandCache; + + if (selectCommandCache.has_value()) { return selectCommandCache.value(); } + + static const std::map argMap = { + {"open", {"-R"}}, + {"explorer", {"/select,"}}, + {"nemo", {}}, + {"thunar", {}}, + {"exo-open", {"--launch", "FileManager"}}, + }; + + // Skip calling "--help" for file managers that we know + for (const auto& [fileManager, arg] : argMap) + { + if (fileManager == getDefaultFileManager()) + { + s_canSelect = true; + selectCommandCache = arg; + return selectCommandCache.value(); + } + } + + // Parse " --help" and look for the "--select" for file managers that we don't know + if (supportsArg(getDefaultFileManager(), "--select")) + { + s_canSelect = true; + selectCommandCache = {"--select"}; + return selectCommandCache.value(); + } + + // Fallback to empty list + selectCommandCache = {}; + return selectCommandCache.value(); +} + +void FileRevealer::reveal(const QFileInfo item) +{ + // Sets selectCommandCache, canSelect + const QStringList& selectCommand = getSelectCommand(); + if (!s_canSelect) + { + QDesktopServices::openUrl(QUrl::fromLocalFile(item.canonicalPath())); + return; + } + + QString path = QDir::toNativeSeparators(item.canonicalFilePath()); + QStringList params; + + if (!selectCommand.isEmpty()) { params << selectCommand; } + + params << path; + QProcess::startDetached(getDefaultFileManager(), params); +} + +bool FileRevealer::supportsArg(const QString& command, const QString& arg) +{ + QProcess process; + process.start(command, {"--help"}); + process.waitForFinished(3000); + + QString output = process.readAllStandardOutput() + process.readAllStandardError(); + return output.contains(arg); +} + +} // namespace lmms From ef1d86fa41c53cc0cd7477d20fbb5a85afcc8a92 Mon Sep 17 00:00:00 2001 From: Oskar Wallgren Date: Sun, 2 Mar 2025 20:37:26 +0100 Subject: [PATCH 101/112] ExportProjectDialog: Remove arbitrary loop count limit (#7724) Increases the number of max loops when exporting above 99 --- src/gui/modals/export_project.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/modals/export_project.ui b/src/gui/modals/export_project.ui index 797ae0790..9b15fa2db 100644 --- a/src/gui/modals/export_project.ui +++ b/src/gui/modals/export_project.ui @@ -71,7 +71,7 @@ 1 - 99 + 2147483647 1 From 5fa01e7dbc632f8fc073e96b99fdf33a1d230995 Mon Sep 17 00:00:00 2001 From: szeli1 <143485814+szeli1@users.noreply.github.com> Date: Mon, 3 Mar 2025 00:03:37 +0100 Subject: [PATCH 102/112] Navigate workspace in the main window by dragging the mouse (#7595) The scroll bars shown in the main window were removed in favor of a new navigation feature that utilizes dragging the mouse instead. Users can now hold the mouse down on an empty part of the workspace and drag the mouse around to navigate where necessary. --- include/MainWindow.h | 21 ++++++++++-- src/gui/MainWindow.cpp | 74 +++++++++++++++++++++++++++++++++++------- 2 files changed, 81 insertions(+), 14 deletions(-) diff --git a/include/MainWindow.h b/include/MainWindow.h index 6c140a1e6..1330de8c5 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -29,6 +29,7 @@ #include #include #include +#include #include "ConfigManager.h" @@ -57,7 +58,7 @@ class MainWindow : public QMainWindow public: QMdiArea* workspace() { - return m_workspace; + return static_cast(m_workspace); } QWidget* toolBar() @@ -203,7 +204,22 @@ private: bool guiSaveProject(); bool guiSaveProjectAs( const QString & filename ); - QMdiArea * m_workspace; + class MovableQMdiArea : public QMdiArea + { + public: + MovableQMdiArea(QWidget* parent = nullptr); + ~MovableQMdiArea() {} + protected: + void mousePressEvent(QMouseEvent* event) override; + void mouseMoveEvent(QMouseEvent* event) override; + void mouseReleaseEvent(QMouseEvent* event) override; + private: + bool m_isBeingMoved; + int m_lastX; + int m_lastY; + }; + + MovableQMdiArea * m_workspace; QWidget * m_toolBar; QGridLayout * m_toolBarLayout; @@ -258,7 +274,6 @@ signals: } ; - } // namespace gui } // namespace lmms diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 225a3f0e9..275ef4d29 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -159,7 +159,7 @@ MainWindow::MainWindow() : sideBar->appendTab(new FileBrowser(root_paths.join("*"), FileItem::defaultFilters(), title, embed::getIconPixmap("computer").transformed(QTransform().rotate(90)), splitter, dirs_as_items)); - m_workspace = new QMdiArea(splitter); + m_workspace = new MovableQMdiArea(splitter); // Load background emit initProgress(tr("Loading background picture")); @@ -179,8 +179,8 @@ MainWindow::MainWindow() : } m_workspace->setOption( QMdiArea::DontMaximizeSubWindowOnActivation ); - m_workspace->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded ); - m_workspace->setVerticalScrollBarPolicy( Qt::ScrollBarAsNeeded ); + m_workspace->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + m_workspace->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); hbox->addWidget(sideBar); hbox->addWidget(splitter); @@ -531,8 +531,6 @@ void MainWindow::finalize() } - - int MainWindow::addWidgetToToolBar( QWidget * _w, int _row, int _col ) { int col = ( _col == -1 ) ? m_toolBarLayout->columnCount() + 7 : _col; @@ -944,12 +942,6 @@ void MainWindow::toggleWindow( QWidget *window, bool forceShow ) parent->hide(); refocus(); } - - // Workaround for Qt Bug #260116 - m_workspace->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - m_workspace->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - m_workspace->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded ); - m_workspace->setVerticalScrollBarPolicy( Qt::ScrollBarAsNeeded ); } @@ -1601,4 +1593,64 @@ void MainWindow::onProjectFileNameChanged() } +MainWindow::MovableQMdiArea::MovableQMdiArea(QWidget* parent) : + QMdiArea(parent), + m_isBeingMoved(false), + m_lastX(0), + m_lastY(0) +{} + +void MainWindow::MovableQMdiArea::mousePressEvent(QMouseEvent* event) +{ + m_lastX = event->x(); + m_lastY = event->y(); + m_isBeingMoved = true; + setCursor(Qt::ClosedHandCursor); +} + +void MainWindow::MovableQMdiArea::mouseMoveEvent(QMouseEvent* event) +{ + if (m_isBeingMoved == false) { return; } + + int minXBoundary = window()->width() - 100; + int maxXBoundary = 100; + int minYBoundary = window()->height() - 100; + int maxYBoundary = 100; + + int minX = minXBoundary; + int maxX = maxXBoundary; + int minY = minYBoundary; + int maxY = maxYBoundary; + + auto subWindows = subWindowList(); + for (auto* curWindow : subWindows) + { + if (curWindow->isVisible()) + { + minX = std::min(minX, curWindow->x()); + maxX = std::max(maxX, curWindow->x() + curWindow->width()); + minY = std::min(minY, curWindow->y()); + maxY = std::max(maxY, curWindow->y() + curWindow->height()); + } + } + + int scrollX = m_lastX - event->x(); + int scrollY = m_lastY - event->y(); + + scrollX = scrollX < 0 && minX >= minXBoundary ? 0 : scrollX; + scrollX = scrollX > 0 && maxX <= maxXBoundary ? 0 : scrollX; + scrollY = scrollY < 0 && minY >= minYBoundary ? 0 : scrollY; + scrollY = scrollY > 0 && maxY <= maxYBoundary ? 0 : scrollY; + + scrollContentsBy(-scrollX, -scrollY); + m_lastX = event->x(); + m_lastY = event->y(); +} + +void MainWindow::MovableQMdiArea::mouseReleaseEvent(QMouseEvent* event) +{ + setCursor(Qt::ArrowCursor); + m_isBeingMoved = false; +} + } // namespace lmms::gui From c12fd571f543ddc6067014527c0551e90c420a83 Mon Sep 17 00:00:00 2001 From: regulus79 <117475203+regulus79@users.noreply.github.com> Date: Sun, 2 Mar 2025 18:29:29 -0500 Subject: [PATCH 103/112] Allow cutting multiple notes at once in Piano Roll (#7715) Adds the ability to cut multiple notes at once in the Piano Roll. Users can select the Knife tool and create a cut line by holding the mouse and dragging it across the notes that should be cut. This also allows cutting the notes at an angle. When releasing the mouse, the Shift key can be pressed to remove the shorter end of the notes that were cut. If any notes are selected, only they will be considered for the cut, even if the cut line covers more notes. --- include/MidiClip.h | 3 ++ include/PianoRoll.h | 11 +++-- src/gui/editors/PianoRoll.cpp | 76 +++++++++++++++-------------------- src/tracks/MidiClip.cpp | 42 +++++++++++++++++++ 4 files changed, 85 insertions(+), 47 deletions(-) diff --git a/include/MidiClip.h b/include/MidiClip.h index b3ed0d84a..f3150ba6f 100644 --- a/include/MidiClip.h +++ b/include/MidiClip.h @@ -82,6 +82,9 @@ public: // Split the list of notes on the given position void splitNotes(const NoteVector& notes, TimePos pos); + // Split the list of notes along a line + void splitNotesAlongLine(const NoteVector notes, TimePos pos1, int key1, TimePos pos2, int key2, bool deleteShortEnds); + // clip-type stuff inline Type type() const { diff --git a/include/PianoRoll.h b/include/PianoRoll.h index e9939101c..a1d045ff4 100644 --- a/include/PianoRoll.h +++ b/include/PianoRoll.h @@ -456,9 +456,14 @@ private: // did we start a mouseclick with shift pressed bool m_startedWithShift; - // Variable that holds the position in ticks for the knife action - int m_knifeTickPos; - void updateKnifePos(QMouseEvent* me); + // Variables that hold the start and end position for the knife line + TimePos m_knifeStartTickPos; + int m_knifeStartKey; + TimePos m_knifeEndTickPos; + int m_knifeEndKey; + bool m_knifeDown; + + void updateKnifePos(QMouseEvent* me, bool initial); friend class PianoRollWindow; diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index 41b760495..f0f54f0ba 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -1608,19 +1608,8 @@ void PianoRoll::mousePressEvent(QMouseEvent * me ) // -- Knife if (m_editMode == EditMode::Knife && me->button() == Qt::LeftButton) { - NoteVector n; - Note* note = noteUnderMouse(); - - if (note) - { - n.push_back(note); - - updateKnifePos(me); - - // Call splitNotes for the note - m_midiClip->splitNotes(n, TimePos(m_knifeTickPos)); - } - + updateKnifePos(me, true); + m_knifeDown = true; update(); return; } @@ -2138,6 +2127,7 @@ void PianoRoll::setKnifeAction() m_knifeMode = m_editMode; m_editMode = EditMode::Knife; m_action = Action::Knife; + m_knifeDown = false; setCursor(Qt::ArrowCursor); update(); } @@ -2147,6 +2137,7 @@ void PianoRoll::cancelKnifeAction() { m_editMode = m_knifeMode; m_action = Action::None; + m_knifeDown = false; update(); } @@ -2275,6 +2266,13 @@ void PianoRoll::mouseReleaseEvent( QMouseEvent * me ) m_midiClip->rearrangeAllNotes(); } + else if (m_action == Action::Knife && hasValidMidiClip()) + { + bool deleteShortEnds = me->modifiers() & Qt::ShiftModifier; + const NoteVector selectedNotes = getSelectedNotes(); + m_midiClip->splitNotesAlongLine(!selectedNotes.empty() ? selectedNotes : m_midiClip->notes(), TimePos(m_knifeStartTickPos), m_knifeStartKey, TimePos(m_knifeEndTickPos), m_knifeEndKey, deleteShortEnds); + m_knifeDown = false; + } if( m_action == Action::MoveNote || m_action == Action::ResizeNote ) { @@ -2378,7 +2376,7 @@ void PianoRoll::mouseMoveEvent( QMouseEvent * me ) // Update Knife position if we are on knife mode if (m_editMode == EditMode::Knife) { - updateKnifePos(me); + updateKnifePos(me, false); } if( me->y() > PR_TOP_MARGIN || m_action != Action::None ) @@ -2759,19 +2757,27 @@ void PianoRoll::mouseMoveEvent( QMouseEvent * me ) -void PianoRoll::updateKnifePos(QMouseEvent* me) +void PianoRoll::updateKnifePos(QMouseEvent* me, bool initial) { // Calculate the TimePos from the mouse - int mouseViewportPos = me->x() - m_whiteKeyWidth; - int mouseTickPos = mouseViewportPos * TimePos::ticksPerBar() / m_ppb + m_currentPosition; + int mouseViewportPosX = me->x() - m_whiteKeyWidth; + int mouseViewportPosY = keyAreaBottom() - 1 - me->y(); + int mouseTickPos = mouseViewportPosX * TimePos::ticksPerBar() / m_ppb + m_currentPosition; + int mouseKey = std::round(1.f * mouseViewportPosY / m_keyLineHeight) + m_startKey - 1; // If ctrl is not pressed, quantize the position if (!(me->modifiers() & Qt::ControlModifier)) { - mouseTickPos = floor(mouseTickPos / quantization()) * quantization(); + mouseTickPos = std::round(1.f * mouseTickPos / quantization()) * quantization(); } - m_knifeTickPos = mouseTickPos; + if (initial) + { + m_knifeStartTickPos = mouseTickPos; + m_knifeStartKey = mouseKey; + } + m_knifeEndTickPos = mouseTickPos; + m_knifeEndKey = mouseKey; } @@ -3531,37 +3537,19 @@ void PianoRoll::paintEvent(QPaintEvent * pe ) } // -- Knife tool (draw cut line) - if (m_action == Action::Knife) + if (m_action == Action::Knife && m_knifeDown) { auto xCoordOfTick = [this](int tick) { return m_whiteKeyWidth + ( (tick - m_currentPosition) * m_ppb / TimePos::ticksPerBar()); }; - Note* n = noteUnderMouse(); - if (n) - { - const int key = n->key() - m_startKey + 1; - int y = y_base - key * m_keyLineHeight; + int x1 = xCoordOfTick(m_knifeStartTickPos); + int y1 = y_base - (m_knifeStartKey - m_startKey + 1) * m_keyLineHeight; + int x2 = xCoordOfTick(m_knifeEndTickPos); + int y2 = y_base - (m_knifeEndKey - m_startKey + 1) * m_keyLineHeight; - int x = xCoordOfTick(m_knifeTickPos); - - if (x > xCoordOfTick(n->pos()) && - x < xCoordOfTick(n->pos() + n->length())) - { - p.setPen(QPen(m_knifeCutLineColor, 1)); - p.drawLine(x, y, x, y + m_keyLineHeight); - - setCursor(Qt::BlankCursor); - } - else - { - setCursor(Qt::ArrowCursor); - } - } - else - { - setCursor(Qt::ArrowCursor); - } + p.setPen(QPen(m_knifeCutLineColor, 1)); + p.drawLine(x1, y1, x2, y2); } // -- End knife tool diff --git a/src/tracks/MidiClip.cpp b/src/tracks/MidiClip.cpp index 409fb60ae..ab5321687 100644 --- a/src/tracks/MidiClip.cpp +++ b/src/tracks/MidiClip.cpp @@ -344,6 +344,48 @@ void MidiClip::splitNotes(const NoteVector& notes, TimePos pos) } } +void MidiClip::splitNotesAlongLine(const NoteVector notes, TimePos pos1, int key1, TimePos pos2, int key2, bool deleteShortEnds) +{ + if (notes.empty()) { return; } + + // Don't split if the line is horitzontal + if (key1 == key2) { return; } + + addJournalCheckPoint(); + + const auto slope = 1.f * (pos2 - pos1) / (key2 - key1); + const auto& [minKey, maxKey] = std::minmax(key1, key2); + + for (const auto& note : notes) + { + // Skip if the key is <= to minKey, since the line is drawn from the top of minKey to the top of maxKey, but only passes through maxKey - minKey - 1 total keys. + if (note->key() <= minKey || note->key() > maxKey) { continue; } + + // Subtracting 0.5 to get the line's intercept at the "center" of the key, not the top. + const TimePos keyIntercept = slope * (note->key() - 0.5 - key1) + pos1; + if (note->pos() < keyIntercept && note->endPos() > keyIntercept) + { + auto newNote1 = Note{*note}; + newNote1.setLength(keyIntercept - note->pos()); + + auto newNote2 = Note{*note}; + newNote2.setPos(keyIntercept); + newNote2.setLength(note->endPos() - keyIntercept); + + if (deleteShortEnds) + { + addNote(newNote1.length() >= newNote2.length() ? newNote1 : newNote2, false); + } + else + { + addNote(newNote1, false); + addNote(newNote2, false); + } + + removeNote(note); + } + } +} From f44aa3edc3f5b7a51962150de01fa6ea2b7ee084 Mon Sep 17 00:00:00 2001 From: Sotonye Atemie Date: Fri, 7 Mar 2025 10:23:30 -0500 Subject: [PATCH 104/112] Refactor OGG export and always use VBR (#7697) Refactors `AudioFileOgg`, a class used to export to OGG files. There were problems reported of the exported OGG file failing to be played back on some systems. To fix this issue as well as to improve code quality, the class was refactored. In addition, VBR (variable bit rate) is always used, with the quality of the export being determined by a ratio of the selected bit rate and the maximum bit rate allowed. This change naturally occurred when refactoring, though the libvorbisenc documentation recommend VBR for improved audio quality. --- include/AudioFileOgg.h | 56 +----- include/OutputSettings.h | 46 ++--- src/core/audio/AudioFileMP3.cpp | 3 +- src/core/audio/AudioFileOgg.cpp | 261 ++++++------------------- src/core/main.cpp | 6 +- src/gui/modals/ExportProjectDialog.cpp | 14 +- src/gui/modals/export_project.ui | 7 - 7 files changed, 89 insertions(+), 304 deletions(-) diff --git a/include/AudioFileOgg.h b/include/AudioFileOgg.h index 2608da359..40e9c1f88 100644 --- a/include/AudioFileOgg.h +++ b/include/AudioFileOgg.h @@ -56,56 +56,16 @@ public: return new AudioFileOgg( outputSettings, channels, successful, outputFilename, audioEngine ); } - private: void writeBuffer(const SampleFrame* _ab, const fpp_t _frames) override; - - bool startEncoding(); - void finishEncoding(); - inline int writePage(); - - inline bitrate_t nominalBitrate() const - { - return getOutputSettings().getBitRateSettings().getBitRate(); - } - - inline bitrate_t minBitrate() const - { - if (nominalBitrate() > 64) - { - return nominalBitrate() - 64; - } - else - { - return 64; - } - } - - inline bitrate_t maxBitrate() const - { - return nominalBitrate() + 64; - } - -private: - bool m_ok; - ch_cnt_t m_channels; - sample_rate_t m_rate; - - uint32_t m_serialNo; - - vorbis_comment * m_comments; - - // encoding setup - init by init_ogg_encoding - ogg_stream_state m_os; - ogg_page m_og; - ogg_packet m_op; - - vorbis_dsp_state m_vd; - vorbis_block m_vb; - vorbis_info m_vi; - -} ; - + vorbis_info m_vi; + vorbis_dsp_state m_vds; + vorbis_comment m_vc; + vorbis_block m_vb; + ogg_stream_state m_oss; + ogg_packet m_packet; + ogg_page m_page; +}; } // namespace lmms diff --git a/include/OutputSettings.h b/include/OutputSettings.h index 94de0612c..8a7ebc993 100644 --- a/include/OutputSettings.h +++ b/include/OutputSettings.h @@ -49,50 +49,26 @@ public: Mono }; - class BitRateSettings - { - public: - BitRateSettings(bitrate_t bitRate, bool isVariableBitRate) : - m_bitRate(bitRate), - m_isVariableBitRate(isVariableBitRate) - {} - - bool isVariableBitRate() const { return m_isVariableBitRate; } - void setVariableBitrate(bool variableBitRate = true) { m_isVariableBitRate = variableBitRate; } - - bitrate_t getBitRate() const { return m_bitRate; } - void setBitRate(bitrate_t bitRate) { m_bitRate = bitRate; } - - private: - bitrate_t m_bitRate; - bool m_isVariableBitRate; - }; - public: - OutputSettings( sample_rate_t sampleRate, - BitRateSettings const & bitRateSettings, - BitDepth bitDepth, - StereoMode stereoMode ) : - m_sampleRate(sampleRate), - m_bitRateSettings(bitRateSettings), - m_bitDepth(bitDepth), - m_stereoMode(stereoMode), - m_compressionLevel(0.625) // 5/8 + OutputSettings(sample_rate_t sampleRate, bitrate_t bitRate, BitDepth bitDepth, StereoMode stereoMode) + : m_sampleRate(sampleRate) + , m_bitRate(bitRate) + , m_bitDepth(bitDepth) + , m_stereoMode(stereoMode) + , m_compressionLevel(0.625) // 5/8 { } - OutputSettings( sample_rate_t sampleRate, - BitRateSettings const & bitRateSettings, - BitDepth bitDepth ) : - OutputSettings(sampleRate, bitRateSettings, bitDepth, StereoMode::Stereo ) + OutputSettings(sample_rate_t sampleRate, bitrate_t bitRate, BitDepth bitDepth) + : OutputSettings(sampleRate, bitRate, bitDepth, StereoMode::Stereo) { } sample_rate_t getSampleRate() const { return m_sampleRate; } void setSampleRate(sample_rate_t sampleRate) { m_sampleRate = sampleRate; } - BitRateSettings const & getBitRateSettings() const { return m_bitRateSettings; } - void setBitRateSettings(BitRateSettings const & bitRateSettings) { m_bitRateSettings = bitRateSettings; } + bitrate_t bitrate() const { return m_bitRate; } + void setBitrate(bitrate_t bitrate) { m_bitRate = bitrate; } BitDepth getBitDepth() const { return m_bitDepth; } void setBitDepth(BitDepth bitDepth) { m_bitDepth = bitDepth; } @@ -109,7 +85,7 @@ public: private: sample_rate_t m_sampleRate; - BitRateSettings m_bitRateSettings; + bitrate_t m_bitRate; BitDepth m_bitDepth; StereoMode m_stereoMode; double m_compressionLevel; diff --git a/src/core/audio/AudioFileMP3.cpp b/src/core/audio/AudioFileMP3.cpp index 4d1dbc020..9cd8b43bb 100644 --- a/src/core/audio/AudioFileMP3.cpp +++ b/src/core/audio/AudioFileMP3.cpp @@ -113,8 +113,7 @@ bool AudioFileMP3::initEncoder() lame_set_mode(m_lame, mapToMPEG_mode(stereoMode)); // Handle bit rate settings - OutputSettings::BitRateSettings bitRateSettings = getOutputSettings().getBitRateSettings(); - int bitRate = static_cast(bitRateSettings.getBitRate()); + int bitRate = static_cast(getOutputSettings().bitrate()); lame_set_VBR(m_lame, vbr_off); lame_set_brate(m_lame, bitRate); diff --git a/src/core/audio/AudioFileOgg.cpp b/src/core/audio/AudioFileOgg.cpp index 59b796730..165db430a 100644 --- a/src/core/audio/AudioFileOgg.cpp +++ b/src/core/audio/AudioFileOgg.cpp @@ -30,10 +30,6 @@ #ifdef LMMS_HAVE_OGGVORBIS -#if (QT_VERSION >= QT_VERSION_CHECK(5,10,0)) -#include -#endif -#include #include #include "AudioEngine.h" @@ -41,224 +37,93 @@ namespace lmms { -AudioFileOgg::AudioFileOgg( OutputSettings const & outputSettings, - const ch_cnt_t channels, - bool & successful, - const QString & file, - AudioEngine* audioEngine ) : - AudioFileDevice( outputSettings, channels, file, audioEngine ) +AudioFileOgg::AudioFileOgg(OutputSettings const& outputSettings, const ch_cnt_t channels, bool& successful, + const QString& file, AudioEngine* audioEngine) + : AudioFileDevice(outputSettings, channels, file, audioEngine) { - m_ok = successful = outputFileOpened() && startEncoding(); + vorbis_info_init(&m_vi); + + const auto bitrate = outputSettings.bitrate(); + static constexpr auto maxBitrate = 320; + + if (vorbis_encode_init_vbr(&m_vi, channels, sampleRate(), static_cast(bitrate) / maxBitrate)) + { + successful = false; + return; + } + + vorbis_analysis_init(&m_vds, &m_vi); + vorbis_comment_init(&m_vc); + vorbis_comment_add_tag(&m_vc, "Cool", "This song has been made using LMMS"); + + auto headerPackets = std::array{}; + vorbis_analysis_headerout(&m_vds, &m_vc, &headerPackets[0], &headerPackets[1], &headerPackets[2]); + + srand(time(nullptr)); + ogg_stream_init(&m_oss, rand()); + + ogg_stream_packetin(&m_oss, &headerPackets[0]); + ogg_stream_packetin(&m_oss, &headerPackets[1]); + ogg_stream_packetin(&m_oss, &headerPackets[2]); + + while (ogg_stream_flush(&m_oss, &m_page)) + { + writeData(m_page.header, m_page.header_len); + writeData(m_page.body, m_page.body_len); + } + + vorbis_block_init(&m_vds, &m_vb); + successful = true; } - - - AudioFileOgg::~AudioFileOgg() { - finishEncoding(); -} - - - - -inline int AudioFileOgg::writePage() -{ - int written = writeData( m_og.header, m_og.header_len ); - written += writeData( m_og.body, m_og.body_len ); - return written; -} - - - - -bool AudioFileOgg::startEncoding() -{ - vorbis_comment vc; - const char * comments = "Cool=This song has been made using LMMS"; - std::string user_comments_str(comments); - int comment_length = user_comments_str.size(); - char * user_comments = &user_comments_str[0]; - - vc.user_comments = &user_comments; - vc.comment_lengths = &comment_length; - vc.comments = 1; - vc.vendor = nullptr; - - m_channels = channels(); - - bool useVariableBitRate = getOutputSettings().getBitRateSettings().isVariableBitRate(); - bitrate_t minimalBitrate = nominalBitrate(); - bitrate_t maximumBitrate = nominalBitrate(); - - if( useVariableBitRate ) - { - minimalBitrate = minBitrate(); // min for vbr - maximumBitrate = maxBitrate(); // max for vbr - } - - - m_rate = sampleRate(); // default-samplerate - if( m_rate > 48000 ) - { - m_rate = 48000; - setSampleRate( 48000 ); - } - - m_comments = &vc; // comments for ogg-file - - // Have vorbisenc choose a mode for us - vorbis_info_init( &m_vi ); - - if( vorbis_encode_setup_managed( &m_vi, m_channels, m_rate, - ( maximumBitrate > 0 )? maximumBitrate * 1000 : -1, - nominalBitrate() * 1000, - ( minimalBitrate > 0 )? minimalBitrate * 1000 : -1 ) ) - { - printf( "Mode initialization failed: invalid parameters for " - "bitrate\n" ); - vorbis_info_clear( &m_vi ); - return false; - } - - if( useVariableBitRate ) - { - // Turn off management entirely (if it was turned on). - vorbis_encode_ctl( &m_vi, OV_ECTL_RATEMANAGE_SET, nullptr ); - } - else - { - vorbis_encode_ctl( &m_vi, OV_ECTL_RATEMANAGE_AVG, nullptr ); - } - - vorbis_encode_setup_init( &m_vi ); - - // Now, set up the analysis engine, stream encoder, and other - // preparation before the encoding begins. - vorbis_analysis_init( &m_vd, &m_vi ); - vorbis_block_init( &m_vd, &m_vb ); - - // We give our ogg file a random serial number and avoid - // 0 and UINT32_MAX which can get you into trouble. -#if (QT_VERSION >= QT_VERSION_CHECK(5,10,0)) - // QRandomGenerator::global() is already initialized, and we can't seed() it. - m_serialNo = 0xD0000000 + QRandomGenerator::global()->generate() % 0x0FFFFFFF; -#else - qsrand(time(0)); - m_serialNo = 0xD0000000 + qrand() % 0x0FFFFFFF; -#endif - ogg_stream_init( &m_os, m_serialNo ); - - // Now, build the three header packets and send through to the stream - // output stage (but defer actual file output until the main encode - // loop) - - ogg_packet header_main; - ogg_packet header_comments; - ogg_packet header_codebooks; - - // Build the packets - vorbis_analysis_headerout( &m_vd, m_comments, &header_main, - &header_comments, &header_codebooks ); - - // And stream them out - ogg_stream_packetin( &m_os, &header_main ); - ogg_stream_packetin( &m_os, &header_comments ); - ogg_stream_packetin( &m_os, &header_codebooks ); - - while (ogg_stream_flush(&m_os, &m_og)) - { - if (int ret = writePage(); ret != m_og.header_len + m_og.body_len) - { - // clean up - finishEncoding(); - return false; - } - } - - return true; + vorbis_analysis_wrote(&m_vds, 0); + ogg_stream_clear(&m_oss); + vorbis_block_clear(&m_vb); + vorbis_dsp_clear(&m_vds); + vorbis_comment_clear(&m_vc); + vorbis_info_clear(&m_vi); } void AudioFileOgg::writeBuffer(const SampleFrame* _ab, const fpp_t _frames) { - int eos = 0; + const auto vab = vorbis_analysis_buffer(&m_vds, _frames); - float * * buffer = vorbis_analysis_buffer( &m_vd, _frames * - BYTES_PER_SAMPLE * - channels() ); - for( fpp_t frame = 0; frame < _frames; ++frame ) + for (auto c = 0; c < channels(); ++c) { - for( ch_cnt_t chnl = 0; chnl < channels(); ++chnl ) + if (c < DEFAULT_CHANNELS) { - buffer[chnl][frame] = _ab[frame][chnl]; - } - } - - vorbis_analysis_wrote( &m_vd, _frames ); - - // While we can get enough data from the library to analyse, - // one block at a time... - while( vorbis_analysis_blockout( &m_vd, &m_vb ) == 1 ) - { - // Do the main analysis, creating a packet - vorbis_analysis( &m_vb, nullptr ); - vorbis_bitrate_addblock( &m_vb ); - - while( vorbis_bitrate_flushpacket( &m_vd, &m_op ) ) - { - // Add packet to bitstream - ogg_stream_packetin( &m_os, &m_op ); - - // If we've gone over a page boundary, we can do - // actual output, so do so (for however many pages - // are available) - while( !eos ) + for (auto i = std::size_t{0}; i < _frames; ++i) { - int result = ogg_stream_pageout( &m_os, - &m_og ); - if( !result ) - { - break; - } - - int ret = writePage(); - if( ret != m_og.header_len + - m_og.body_len ) - { - printf( "failed writing to " - "outstream\n" ); - return; - } - - if( ogg_page_eos( &m_og ) ) - { - eos = 1; - } + vab[c][i] = _ab[i][c]; } } + else { std::fill_n(vab[c], _frames, 0.0f); } } -} + vorbis_analysis_wrote(&m_vds, _frames); - - -void AudioFileOgg::finishEncoding() -{ - if( m_ok ) + while (vorbis_analysis_blockout(&m_vds, &m_vb) == 1) { - // just for flushing buffers... - writeBuffer(nullptr, 0); + vorbis_analysis(&m_vb, nullptr); + vorbis_bitrate_addblock(&m_vb); - // clean up - ogg_stream_clear( &m_os ); + while (vorbis_bitrate_flushpacket(&m_vds, &m_packet)) + { + ogg_stream_packetin(&m_oss, &m_packet); - vorbis_block_clear( &m_vb ); - vorbis_dsp_clear( &m_vd ); - vorbis_info_clear( &m_vi ); + while (ogg_stream_pageout(&m_oss, &m_page)) + { + writeData(m_page.header, m_page.header_len); + writeData(m_page.body, m_page.body_len); + } + } + + if (ogg_page_eos(&m_page)) { break; } } } - } // namespace lmms #endif // LMMS_HAVE_OGGVORBIS diff --git a/src/core/main.cpp b/src/core/main.cpp index f8eb0689f..995b49d2c 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -374,7 +374,7 @@ int main( int argc, char * * argv ) new gui::MainApplication(argc, argv); AudioEngine::qualitySettings qs(AudioEngine::qualitySettings::Interpolation::Linear); - OutputSettings os( 44100, OutputSettings::BitRateSettings(160, false), OutputSettings::BitDepth::Depth16Bit, OutputSettings::StereoMode::JointStereo ); + OutputSettings os(44100, 160, OutputSettings::BitDepth::Depth16Bit, OutputSettings::StereoMode::JointStereo); ProjectRenderer::ExportFileFormat eff = ProjectRenderer::ExportFileFormat::Wave; // second of two command-line parsing stages @@ -574,9 +574,7 @@ int main( int argc, char * * argv ) if( br >= 64 && br <= 384 ) { - OutputSettings::BitRateSettings bitRateSettings = os.getBitRateSettings(); - bitRateSettings.setBitRate(br); - os.setBitRateSettings(bitRateSettings); + os.setBitrate(br); } else { diff --git a/src/gui/modals/ExportProjectDialog.cpp b/src/gui/modals/ExportProjectDialog.cpp index 1f989841f..016ed447b 100644 --- a/src/gui/modals/ExportProjectDialog.cpp +++ b/src/gui/modals/ExportProjectDialog.cpp @@ -159,14 +159,11 @@ void ExportProjectDialog::startExport() const auto samplerates = std::array{44100, 48000, 88200, 96000, 192000}; const auto bitrates = std::array{64, 128, 160, 192, 256, 320}; - bool useVariableBitRate = checkBoxVariableBitRate->isChecked(); + const auto bitrate = bitrates[bitrateCB->currentIndex()]; - OutputSettings::BitRateSettings bitRateSettings(bitrates[ bitrateCB->currentIndex() ], useVariableBitRate); - OutputSettings os = OutputSettings( - samplerates[ samplerateCB->currentIndex() ], - bitRateSettings, - static_cast( depthCB->currentIndex() ), - mapToStereoMode(stereoModeComboBox->currentIndex()) ); + OutputSettings os = OutputSettings(samplerates[samplerateCB->currentIndex()], bitrate, + static_cast(depthCB->currentIndex()), + mapToStereoMode(stereoModeComboBox->currentIndex())); if (compressionWidget->isVisible()) { @@ -230,8 +227,6 @@ void ExportProjectDialog::onFileFormatChanged(int index) (exportFormat == ProjectRenderer::ExportFileFormat::Wave || exportFormat == ProjectRenderer::ExportFileFormat::Flac); - bool variableBitrateVisible = !(exportFormat == ProjectRenderer::ExportFileFormat::MP3 || exportFormat == ProjectRenderer::ExportFileFormat::Flac); - #ifdef LMMS_HAVE_SF_COMPLEVEL bool compressionLevelVisible = (exportFormat == ProjectRenderer::ExportFileFormat::Flac); compressionWidget->setVisible(compressionLevelVisible); @@ -241,7 +236,6 @@ void ExportProjectDialog::onFileFormatChanged(int index) sampleRateWidget->setVisible(sampleRateControlsVisible); bitrateWidget->setVisible(bitRateControlsEnabled); - checkBoxVariableBitRate->setVisible(variableBitrateVisible); depthWidget->setVisible(bitDepthControlEnabled); } diff --git a/src/gui/modals/export_project.ui b/src/gui/modals/export_project.ui index 9b15fa2db..b047bec08 100644 --- a/src/gui/modals/export_project.ui +++ b/src/gui/modals/export_project.ui @@ -338,13 +338,6 @@ - - - - Use variable bitrate - - - From 8821d88c098ce886ed82df048c89c0106482a702 Mon Sep 17 00:00:00 2001 From: Michael Gregorius Date: Sun, 9 Mar 2025 11:25:00 +0100 Subject: [PATCH 105/112] InstrumentSoundShaping refactoring (#7229) * Accessors for volume, cutoff, resonance Add private accessors for the volume, cutoff and resonance parameters (envelope and LFO). This makes the code less technical and more readable as it for example removes lots of static casts. The casts are now done in a special helper method that returns the parameters for a given target. * Remove EnvelopeAndLfoParameters array Remove the `EnvelopeAndLfoParameters` array and use explicit instances for volume, cutoff, resonance. This simplifies construction and initialization of the instances. Besides the array this also removes the `Target` enum and the `NumTargets` value. To simplify storage and retrieval of the parameters three private methods have been added which provide the node names of the volume, cutoff and resonance parameters. Adjust `InstrumentSoundShapingView` to the removed `NumTargets` property. * Use references instead of pointers Use references to the volume, cutoff and resonance parameters instead of pointers. * Remove friend relationship Remove the friend relationship between `InstrumentSoundShaping` and its related view by providing the models via getters. * Get rid of targetNames Get rid of `InstrumentSoundShaping::targetNames` by using translations and strings directly. Move the remaining stuff into `InstrumentSoundShapingView` until it is removed there as well. * Explicit EnvelopeAndLfoViews Remove the array of EnvelopeAndLfoViews and use dedicated instances instead. This also enables the final removal of the remaining `targetNames`. * Move the code of some getters Move the code of some getters into the header file. * Several code review changes Apply some code review proposals. Co-authored-by: Sotonye Atemie --------- Co-authored-by: Sotonye Atemie --- include/InstrumentSoundShaping.h | 40 +++-- include/InstrumentSoundShapingView.h | 8 +- src/core/InstrumentSoundShaping.cpp | 153 +++++++++--------- .../instrument/InstrumentSoundShapingView.cpp | 29 ++-- 4 files changed, 124 insertions(+), 106 deletions(-) diff --git a/include/InstrumentSoundShaping.h b/include/InstrumentSoundShaping.h index 7dfeaf58b..4bdaa9b3b 100644 --- a/include/InstrumentSoundShaping.h +++ b/include/InstrumentSoundShaping.h @@ -26,13 +26,13 @@ #define LMMS_INSTRUMENT_SOUND_SHAPING_H #include "ComboBoxModel.h" +#include "EnvelopeAndLfoParameters.h" namespace lmms { class InstrumentTrack; -class EnvelopeAndLfoParameters; class NotePlayHandle; class SampleFrame; @@ -52,14 +52,19 @@ public: void processAudioBuffer( SampleFrame* _ab, const fpp_t _frames, NotePlayHandle * _n ); - enum class Target - { - Volume, - Cut, - Resonance, - Count - } ; - constexpr static auto NumTargets = static_cast(Target::Count); + const EnvelopeAndLfoParameters& getVolumeParameters() const { return m_volumeParameters; } + EnvelopeAndLfoParameters& getVolumeParameters() { return m_volumeParameters; } + + const EnvelopeAndLfoParameters& getCutoffParameters() const { return m_cutoffParameters; } + EnvelopeAndLfoParameters& getCutoffParameters() { return m_cutoffParameters; } + + const EnvelopeAndLfoParameters& getResonanceParameters() const { return m_resonanceParameters; } + EnvelopeAndLfoParameters& getResonanceParameters() { return m_resonanceParameters; } + + BoolModel& getFilterEnabledModel() { return m_filterEnabledModel; } + ComboBoxModel& getFilterModel() { return m_filterModel; } + FloatModel& getFilterCutModel() { return m_filterCutModel; } + FloatModel& getFilterResModel() { return m_filterResModel; } f_cnt_t envFrames( const bool _only_vol = false ) const; f_cnt_t releaseFrames() const; @@ -74,22 +79,23 @@ public: return "eldata"; } +private: + QString getVolumeNodeName() const; + QString getCutoffNodeName() const; + QString getResonanceNodeName() const; private: - EnvelopeAndLfoParameters * m_envLfoParameters[NumTargets]; InstrumentTrack * m_instrumentTrack; + EnvelopeAndLfoParameters m_volumeParameters; + EnvelopeAndLfoParameters m_cutoffParameters; + EnvelopeAndLfoParameters m_resonanceParameters; + BoolModel m_filterEnabledModel; ComboBoxModel m_filterModel; FloatModel m_filterCutModel; FloatModel m_filterResModel; - - static const char *const targetNames[NumTargets][3]; - - - friend class gui::InstrumentSoundShapingView; - -} ; +}; } // namespace lmms diff --git a/include/InstrumentSoundShapingView.h b/include/InstrumentSoundShapingView.h index c9caea28c..b9e1fe82b 100644 --- a/include/InstrumentSoundShapingView.h +++ b/include/InstrumentSoundShapingView.h @@ -58,7 +58,10 @@ private: InstrumentSoundShaping * m_ss = nullptr; TabWidget * m_targetsTabWidget; - EnvelopeAndLfoView * m_envLfoViews[InstrumentSoundShaping::NumTargets]; + + EnvelopeAndLfoView* m_volumeView; + EnvelopeAndLfoView* m_cutoffView; + EnvelopeAndLfoView* m_resonanceView; // filter-stuff GroupBox * m_filterGroupBox; @@ -67,8 +70,7 @@ private: Knob * m_filterResKnob; QLabel* m_singleStreamInfoLabel; - -} ; +}; } // namespace lmms::gui diff --git a/src/core/InstrumentSoundShaping.cpp b/src/core/InstrumentSoundShaping.cpp index eca06f9a2..93f4fb45b 100644 --- a/src/core/InstrumentSoundShaping.cpp +++ b/src/core/InstrumentSoundShaping.cpp @@ -30,7 +30,6 @@ #include "BasicFilters.h" #include "embed.h" #include "Engine.h" -#include "EnvelopeAndLfoParameters.h" #include "Instrument.h" #include "InstrumentTrack.h" @@ -43,42 +42,21 @@ const float RES_MULTIPLIER = 2.0f; const float RES_PRECISION = 1000.0f; -// names for env- and lfo-targets - first is name being displayed to user -// and second one is used internally, e.g. for saving/restoring settings -const char *const InstrumentSoundShaping::targetNames[InstrumentSoundShaping::NumTargets][3] = -{ - { QT_TRANSLATE_NOOP("InstrumentSoundShaping", "VOLUME"), "vol", - QT_TRANSLATE_NOOP("InstrumentSoundShaping", "Volume") }, - { QT_TRANSLATE_NOOP("InstrumentSoundShaping", "CUTOFF"), "cut", - QT_TRANSLATE_NOOP("InstrumentSoundShaping", "Cutoff frequency") }, - { QT_TRANSLATE_NOOP("InstrumentSoundShaping", "RESO"), "res", - QT_TRANSLATE_NOOP("InstrumentSoundShaping", "Resonance") } -} ; - - - InstrumentSoundShaping::InstrumentSoundShaping( InstrumentTrack * _instrument_track ) : Model( _instrument_track, tr( "Envelopes/LFOs" ) ), m_instrumentTrack( _instrument_track ), + m_volumeParameters(1., this), + m_cutoffParameters(0., this), + m_resonanceParameters(0., this), m_filterEnabledModel( false, this ), m_filterModel( this, tr( "Filter type" ) ), m_filterCutModel( 14000.0, 1.0, 14000.0, 1.0, this, tr( "Cutoff frequency" ) ), m_filterResModel(0.5f, BasicFilters<>::minQ(), 10.f, 0.01f, this, tr("Q/Resonance")) { - for (auto i = std::size_t{0}; i < NumTargets; ++i) - { - float value_for_zero_amount = 0.0; - if( static_cast(i) == Target::Volume ) - { - value_for_zero_amount = 1.0; - } - m_envLfoParameters[i] = new EnvelopeAndLfoParameters( - value_for_zero_amount, - this ); - m_envLfoParameters[i]->setDisplayName( - tr( targetNames[i][2] ) ); - } + m_volumeParameters.setDisplayName(tr("Volume")); + m_cutoffParameters.setDisplayName(tr("Cutoff frequency")); + m_resonanceParameters.setDisplayName(tr("Resonance")); m_filterModel.addItem( tr( "Low-pass" ), std::make_unique( "filter_lp" ) ); m_filterModel.addItem( tr( "Hi-pass" ), std::make_unique( "filter_hp" ) ); @@ -119,7 +97,7 @@ float InstrumentSoundShaping::volumeLevel( NotePlayHandle* n, const f_cnt_t fram } float level; - m_envLfoParameters[static_cast(Target::Volume)]->fillLevel( &level, frame, envReleaseBegin, 1 ); + getVolumeParameters().fillLevel(&level, frame, envReleaseBegin, 1); return level; } @@ -148,6 +126,9 @@ void InstrumentSoundShaping::processAudioBuffer( SampleFrame* buffer, // only use filter, if it is really needed + auto& cutoffParameters = getCutoffParameters(); + auto& resonanceParameters = getResonanceParameters(); + if( m_filterEnabledModel.value() ) { QVarLengthArray cutBuffer(frames); @@ -162,20 +143,20 @@ void InstrumentSoundShaping::processAudioBuffer( SampleFrame* buffer, } n->m_filter->setFilterType( static_cast::FilterType>(m_filterModel.value()) ); - if( m_envLfoParameters[static_cast(Target::Cut)]->isUsed() ) + if (cutoffParameters.isUsed()) { - m_envLfoParameters[static_cast(Target::Cut)]->fillLevel( cutBuffer.data(), envTotalFrames, envReleaseBegin, frames ); + cutoffParameters.fillLevel(cutBuffer.data(), envTotalFrames, envReleaseBegin, frames); } - if( m_envLfoParameters[static_cast(Target::Resonance)]->isUsed() ) + + if (resonanceParameters.isUsed()) { - m_envLfoParameters[static_cast(Target::Resonance)]->fillLevel( resBuffer.data(), envTotalFrames, envReleaseBegin, frames ); + resonanceParameters.fillLevel(resBuffer.data(), envTotalFrames, envReleaseBegin, frames); } const float fcv = m_filterCutModel.value(); const float frv = m_filterResModel.value(); - if( m_envLfoParameters[static_cast(Target::Cut)]->isUsed() && - m_envLfoParameters[static_cast(Target::Resonance)]->isUsed() ) + if (cutoffParameters.isUsed() && resonanceParameters.isUsed()) { for( fpp_t frame = 0; frame < frames; ++frame ) { @@ -196,7 +177,7 @@ void InstrumentSoundShaping::processAudioBuffer( SampleFrame* buffer, buffer[frame][1] = n->m_filter->update( buffer[frame][1], 1 ); } } - else if( m_envLfoParameters[static_cast(Target::Cut)]->isUsed() ) + else if (cutoffParameters.isUsed()) { for( fpp_t frame = 0; frame < frames; ++frame ) { @@ -213,7 +194,7 @@ void InstrumentSoundShaping::processAudioBuffer( SampleFrame* buffer, buffer[frame][1] = n->m_filter->update( buffer[frame][1], 1 ); } } - else if( m_envLfoParameters[static_cast(Target::Resonance)]->isUsed() ) + else if(resonanceParameters.isUsed() ) { for( fpp_t frame = 0; frame < frames; ++frame ) { @@ -241,10 +222,12 @@ void InstrumentSoundShaping::processAudioBuffer( SampleFrame* buffer, } } - if( m_envLfoParameters[static_cast(Target::Volume)]->isUsed() ) + auto& volumeParameters = getVolumeParameters(); + + if (volumeParameters.isUsed()) { QVarLengthArray volBuffer(frames); - m_envLfoParameters[static_cast(Target::Volume)]->fillLevel( volBuffer.data(), envTotalFrames, envReleaseBegin, frames ); + volumeParameters.fillLevel(volBuffer.data(), envTotalFrames, envReleaseBegin, frames); for( fpp_t frame = 0; frame < frames; ++frame ) { @@ -275,19 +258,23 @@ void InstrumentSoundShaping::processAudioBuffer( SampleFrame* buffer, f_cnt_t InstrumentSoundShaping::envFrames( const bool _only_vol ) const { - f_cnt_t ret_val = m_envLfoParameters[static_cast(Target::Volume)]->PAHD_Frames(); + f_cnt_t ret_val = getVolumeParameters().PAHD_Frames(); - if( _only_vol == false ) + if (!_only_vol) { - for (auto i = static_cast(Target::Volume) + 1; i < NumTargets; ++i) + auto& cutoffParameters = getCutoffParameters(); + if (cutoffParameters.isUsed()) { - if( m_envLfoParameters[i]->isUsed() && - m_envLfoParameters[i]->PAHD_Frames() > ret_val ) - { - ret_val = m_envLfoParameters[i]->PAHD_Frames(); - } + ret_val = std::max(ret_val, cutoffParameters.PAHD_Frames()); + } + + auto& resonanceParameters = getResonanceParameters(); + if (resonanceParameters.isUsed()) + { + ret_val = std::max(ret_val, resonanceParameters.PAHD_Frames()); } } + return ret_val; } @@ -308,23 +295,33 @@ f_cnt_t InstrumentSoundShaping::releaseFrames() const return ret_val; } - if( m_envLfoParameters[static_cast(Target::Volume)]->isUsed() ) + auto& volumeParameters = getVolumeParameters(); + + if (volumeParameters.isUsed()) { - return m_envLfoParameters[static_cast(Target::Volume)]->releaseFrames(); + return volumeParameters.releaseFrames(); } - for (auto i = static_cast(Target::Volume) + 1; i < NumTargets; ++i) + auto& cutoffParameters = getCutoffParameters(); + if (cutoffParameters.isUsed()) { - if( m_envLfoParameters[i]->isUsed() ) - { - ret_val = std::max(ret_val, m_envLfoParameters[i]->releaseFrames()); - } + ret_val = std::max(ret_val, cutoffParameters.releaseFrames()); } + + auto& resonanceParameters = getResonanceParameters(); + if (resonanceParameters.isUsed()) + { + ret_val = std::max(ret_val, resonanceParameters.releaseFrames()); + } + return ret_val; } - +static void saveEnvelopeAndLFOParameters(EnvelopeAndLfoParameters& p, const QString & tagName, QDomDocument & _doc, QDomElement & _this) +{ + p.saveState(_doc, _this).setTagName(tagName); +} void InstrumentSoundShaping::saveSettings( QDomDocument & _doc, QDomElement & _this ) { @@ -333,12 +330,9 @@ void InstrumentSoundShaping::saveSettings( QDomDocument & _doc, QDomElement & _t m_filterResModel.saveSettings( _doc, _this, "fres" ); m_filterEnabledModel.saveSettings( _doc, _this, "fwet" ); - for (auto i = std::size_t{0}; i < NumTargets; ++i) - { - m_envLfoParameters[i]->saveState( _doc, _this ).setTagName( - m_envLfoParameters[i]->nodeName() + - QString( targetNames[i][1] ).toLower() ); - } + saveEnvelopeAndLFOParameters(getVolumeParameters(), getVolumeNodeName(), _doc, _this); + saveEnvelopeAndLFOParameters(getCutoffParameters(), getCutoffNodeName(), _doc, _this); + saveEnvelopeAndLFOParameters(getResonanceParameters(), getResonanceNodeName(), _doc, _this); } @@ -352,27 +346,42 @@ void InstrumentSoundShaping::loadSettings( const QDomElement & _this ) m_filterEnabledModel.loadSettings( _this, "fwet" ); QDomNode node = _this.firstChild(); - while( !node.isNull() ) + while (!node.isNull()) { - if( node.isElement() ) + if (node.isElement()) { - for (auto i = std::size_t{0}; i < NumTargets; ++i) + const auto nodeName = node.nodeName(); + if (nodeName == getVolumeNodeName()) { - if( node.nodeName() == - m_envLfoParameters[i]->nodeName() + - QString( targetNames[i][1] ). - toLower() ) - { - m_envLfoParameters[i]->restoreState( node.toElement() ); - } + getVolumeParameters().restoreState(node.toElement()); + } + else if (nodeName == getCutoffNodeName()) + { + getCutoffParameters().restoreState(node.toElement()); + } + else if (nodeName == getResonanceNodeName()) + { + getResonanceParameters().restoreState(node.toElement()); } } + node = node.nextSibling(); } } +QString InstrumentSoundShaping::getVolumeNodeName() const +{ + return getVolumeParameters().nodeName() + "vol"; +} +QString InstrumentSoundShaping::getCutoffNodeName() const +{ + return getCutoffParameters().nodeName() + "cut"; +} - +QString InstrumentSoundShaping::getResonanceNodeName() const +{ + return getResonanceParameters().nodeName() + "res"; +} } // namespace lmms diff --git a/src/gui/instrument/InstrumentSoundShapingView.cpp b/src/gui/instrument/InstrumentSoundShapingView.cpp index 45abace19..e0d6a6e98 100644 --- a/src/gui/instrument/InstrumentSoundShapingView.cpp +++ b/src/gui/instrument/InstrumentSoundShapingView.cpp @@ -48,12 +48,13 @@ InstrumentSoundShapingView::InstrumentSoundShapingView(QWidget* parent) : m_targetsTabWidget = new TabWidget(tr("TARGET"), this); - for (auto i = std::size_t{0}; i < InstrumentSoundShaping::NumTargets; ++i) - { - m_envLfoViews[i] = new EnvelopeAndLfoView(m_targetsTabWidget); - m_targetsTabWidget->addTab(m_envLfoViews[i], - tr(InstrumentSoundShaping::targetNames[i][0]), nullptr); - } + m_volumeView = new EnvelopeAndLfoView(m_targetsTabWidget); + m_cutoffView = new EnvelopeAndLfoView(m_targetsTabWidget); + m_resonanceView = new EnvelopeAndLfoView(m_targetsTabWidget); + + m_targetsTabWidget->addTab(m_volumeView, tr("VOLUME"), nullptr); + m_targetsTabWidget->addTab(m_cutoffView, tr("CUTOFF"), nullptr); + m_targetsTabWidget->addTab(m_resonanceView, tr("RESO"), nullptr); mainLayout->addWidget(m_targetsTabWidget, 1); @@ -111,14 +112,14 @@ void InstrumentSoundShapingView::setFunctionsHidden( bool hidden ) void InstrumentSoundShapingView::modelChanged() { m_ss = castModel(); - m_filterGroupBox->setModel( &m_ss->m_filterEnabledModel ); - m_filterComboBox->setModel( &m_ss->m_filterModel ); - m_filterCutKnob->setModel( &m_ss->m_filterCutModel ); - m_filterResKnob->setModel( &m_ss->m_filterResModel ); - for (auto i = std::size_t{0}; i < InstrumentSoundShaping::NumTargets; ++i) - { - m_envLfoViews[i]->setModel( m_ss->m_envLfoParameters[i] ); - } + m_filterGroupBox->setModel(&m_ss->getFilterEnabledModel()); + m_filterComboBox->setModel(&m_ss->getFilterModel()); + m_filterCutKnob->setModel(&m_ss->getFilterCutModel()); + m_filterResKnob->setModel(&m_ss->getFilterResModel()); + + m_volumeView->setModel(&m_ss->getVolumeParameters()); + m_cutoffView->setModel(&m_ss->getCutoffParameters()); + m_resonanceView->setModel(&m_ss->getResonanceParameters()); } From 6233c5b9e4ec64d40bba39d1f448ad74020148f4 Mon Sep 17 00:00:00 2001 From: Fawn Date: Tue, 11 Mar 2025 12:30:04 -0600 Subject: [PATCH 106/112] Update mute and solo buttons, add them to instrument windows (#7708) * Add mute and solo buttons to instrument windows * Change mute and solo buttons to optimized CC0 SVG assets * Icons provided by @StakeoutPunch, button backgrounds provided by @RebeccaDeField --------- Co-authored-by: Sotonye Atemie Co-authored-by: Rebecca Noel Ati Co-authored-by: Stakeout Punch --- data/themes/CMakeLists.txt | 3 +- data/themes/default/mute_active.svg | 37 ++++++++++++ data/themes/default/mute_inactive.svg | 37 ++++++++++++ data/themes/default/solo_active.svg | 37 ++++++++++++ data/themes/default/solo_inactive.svg | 37 ++++++++++++ include/InstrumentTrackWindow.h | 3 + include/SampleTrackWindow.h | 3 + include/Track.h | 2 +- include/TrackView.h | 6 +- src/gui/MixerChannelView.cpp | 12 ++-- src/gui/SampleTrackWindow.cpp | 41 +++++++++---- src/gui/instrument/InstrumentTrackWindow.cpp | 62 ++++++++++++-------- src/gui/tracks/TrackOperationsWidget.cpp | 33 +++-------- 13 files changed, 242 insertions(+), 71 deletions(-) create mode 100644 data/themes/default/mute_active.svg create mode 100644 data/themes/default/mute_inactive.svg create mode 100644 data/themes/default/solo_active.svg create mode 100644 data/themes/default/solo_inactive.svg diff --git a/data/themes/CMakeLists.txt b/data/themes/CMakeLists.txt index 10d8df727..e288329f3 100644 --- a/data/themes/CMakeLists.txt +++ b/data/themes/CMakeLists.txt @@ -1,4 +1,3 @@ INCLUDE(InstallHelpers) -INSTALL_DATA_SUBDIRS("themes" "*.png;*.css") - +INSTALL_DATA_SUBDIRS("themes" "*.png;*.svg;*.css") diff --git a/data/themes/default/mute_active.svg b/data/themes/default/mute_active.svg new file mode 100644 index 000000000..600144697 --- /dev/null +++ b/data/themes/default/mute_active.svg @@ -0,0 +1,37 @@ + + + LMMS mute button (active) + + + + + LMMS mute button (active) + + + Rebecca Noel Ati, Stakeout Punch + + + + + + + + + + + + + + + diff --git a/data/themes/default/mute_inactive.svg b/data/themes/default/mute_inactive.svg new file mode 100644 index 000000000..6042cc767 --- /dev/null +++ b/data/themes/default/mute_inactive.svg @@ -0,0 +1,37 @@ + + + LMMS mute button (inactive) + + + + + LMMS mute button (inactive) + + + Rebecca Noel Ati, Stakeout Punch + + + + + + + + + + + + + + + diff --git a/data/themes/default/solo_active.svg b/data/themes/default/solo_active.svg new file mode 100644 index 000000000..d5c151be3 --- /dev/null +++ b/data/themes/default/solo_active.svg @@ -0,0 +1,37 @@ + + + LMMS solo button (active) + + + + + LMMS solo button (active) + + + Rebecca Noel Ati, Stakeout Punch + + + + + + + + + + + + + + + diff --git a/data/themes/default/solo_inactive.svg b/data/themes/default/solo_inactive.svg new file mode 100644 index 000000000..57788c607 --- /dev/null +++ b/data/themes/default/solo_inactive.svg @@ -0,0 +1,37 @@ + + + LMMS solo button (inactive) + + + + + LMMS solo button (inactive) + + + Rebecca Noel Ati, Stakeout Punch + + + + + + + + + + + + + + + diff --git a/include/InstrumentTrackWindow.h b/include/InstrumentTrackWindow.h index d4b285ccd..5d26ba9a2 100644 --- a/include/InstrumentTrackWindow.h +++ b/include/InstrumentTrackWindow.h @@ -28,6 +28,7 @@ #include #include "ModelView.h" +#include "PixmapButton.h" #include "SerializingObject.h" #include "PluginView.h" @@ -147,6 +148,8 @@ private: Knob * m_volumeKnob; Knob * m_panningKnob; Knob * m_pitchKnob; + PixmapButton *m_muteBtn; + PixmapButton *m_soloBtn; QLabel * m_pitchLabel; LcdSpinBox* m_pitchRangeSpinBox; QLabel * m_pitchRangeLabel; diff --git a/include/SampleTrackWindow.h b/include/SampleTrackWindow.h index 4d535bfe5..01adb0080 100644 --- a/include/SampleTrackWindow.h +++ b/include/SampleTrackWindow.h @@ -28,6 +28,7 @@ #include #include "ModelView.h" +#include "PixmapButton.h" #include "SampleTrack.h" #include "SerializingObject.h" @@ -90,6 +91,8 @@ private: QLineEdit * m_nameLineEdit; Knob * m_volumeKnob; Knob * m_panningKnob; + PixmapButton *m_muteBtn; + PixmapButton *m_soloBtn; MixerChannelLcdSpinBox * m_mixerChannelNumber; EffectRackView * m_effectRack; diff --git a/include/Track.h b/include/Track.h index 52d43f6e1..a152640e1 100644 --- a/include/Track.h +++ b/include/Track.h @@ -219,9 +219,9 @@ private: protected: BoolModel m_mutedModel; + BoolModel m_soloModel; private: - BoolModel m_soloModel; bool m_mutedBeforeSolo; clipVector m_clips; diff --git a/include/TrackView.h b/include/TrackView.h index c13ba1e87..495407192 100644 --- a/include/TrackView.h +++ b/include/TrackView.h @@ -48,12 +48,12 @@ class FadeButton; class TrackContainerView; -const int DEFAULT_SETTINGS_WIDGET_WIDTH = 256; +const int DEFAULT_SETTINGS_WIDGET_WIDTH = 260; const int TRACK_OP_WIDTH = 78; // This shaves 150-ish pixels off track buttons, // ruled from config: ui.compacttrackbuttons -const int DEFAULT_SETTINGS_WIDGET_WIDTH_COMPACT = 128; -const int TRACK_OP_WIDTH_COMPACT = 62; +const int DEFAULT_SETTINGS_WIDGET_WIDTH_COMPACT = 136; +const int TRACK_OP_WIDTH_COMPACT = TRACK_OP_WIDTH; class TrackView : public QWidget, public ModelView, public JournallingObject diff --git a/src/gui/MixerChannelView.cpp b/src/gui/MixerChannelView.cpp index 315dd8bf0..1eb2fd1bb 100644 --- a/src/gui/MixerChannelView.cpp +++ b/src/gui/MixerChannelView.cpp @@ -109,21 +109,21 @@ MixerChannelView::MixerChannelView(QWidget* parent, MixerView* mixerView, int ch m_muteButton = new PixmapButton(this, tr("Mute")); m_muteButton->setModel(&mixerChannel->m_muteModel); - m_muteButton->setActiveGraphic(embed::getIconPixmap("led_off")); - m_muteButton->setInactiveGraphic(embed::getIconPixmap("led_green")); + m_muteButton->setActiveGraphic(embed::getIconPixmap("mute_active")); + m_muteButton->setInactiveGraphic(embed::getIconPixmap("mute_inactive")); m_muteButton->setCheckable(true); m_muteButton->setToolTip(tr("Mute this channel")); m_soloButton = new PixmapButton(this, tr("Solo")); m_soloButton->setModel(&mixerChannel->m_soloModel); - m_soloButton->setActiveGraphic(embed::getIconPixmap("led_red")); - m_soloButton->setInactiveGraphic(embed::getIconPixmap("led_off")); + m_soloButton->setActiveGraphic(embed::getIconPixmap("solo_active")); + m_soloButton->setInactiveGraphic(embed::getIconPixmap("solo_inactive")); m_soloButton->setCheckable(true); m_soloButton->setToolTip(tr("Solo this channel")); auto soloMuteLayout = new QVBoxLayout(); - soloMuteLayout->setContentsMargins(0, 0, 0, 0); - soloMuteLayout->setSpacing(0); + soloMuteLayout->setContentsMargins(0, 2, 0, 2); + soloMuteLayout->setSpacing(2); soloMuteLayout->addWidget(m_soloButton, 0, Qt::AlignHCenter); soloMuteLayout->addWidget(m_muteButton, 0, Qt::AlignHCenter); diff --git a/src/gui/SampleTrackWindow.cpp b/src/gui/SampleTrackWindow.cpp index 644ad291d..e8bd5970d 100644 --- a/src/gui/SampleTrackWindow.cpp +++ b/src/gui/SampleTrackWindow.cpp @@ -32,6 +32,7 @@ #include #include "EffectRackView.h" +#include "PixmapButton.h" #include "embed.h" #include "GuiApplication.h" #include "Knob.h" @@ -95,46 +96,66 @@ SampleTrackWindow::SampleTrackWindow(SampleTrackView * tv) : QString labelStyleSheet = "font-size: 10px;"; Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop; Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter; + + auto soloMuteLayout = new QVBoxLayout(); + soloMuteLayout->setContentsMargins(0, 0, 2, 0); + soloMuteLayout->setSpacing(2); + + m_muteBtn = new PixmapButton(this, tr("Mute")); + m_muteBtn->setModel(&m_track->m_mutedModel); + m_muteBtn->setActiveGraphic(embed::getIconPixmap("mute_active")); + m_muteBtn->setInactiveGraphic(embed::getIconPixmap("mute_inactive")); + m_muteBtn->setCheckable(true); + m_muteBtn->setToolTip(tr("Mute this sample track")); + soloMuteLayout->addWidget(m_muteBtn, 0, widgetAlignment); + + m_soloBtn = new PixmapButton(this, tr("Solo")); + m_soloBtn->setModel(&m_track->m_soloModel); + m_soloBtn->setActiveGraphic(embed::getIconPixmap("solo_active")); + m_soloBtn->setInactiveGraphic(embed::getIconPixmap("solo_inactive")); + m_soloBtn->setCheckable(true); + m_soloBtn->setToolTip(tr("Solo this sample track")); + soloMuteLayout->addWidget(m_soloBtn, 0, widgetAlignment); + + basicControlsLayout->addLayout(soloMuteLayout, 0, 0, 2, 1, widgetAlignment); // set up volume knob m_volumeKnob = new Knob(KnobType::Bright26, nullptr, tr("Sample volume")); m_volumeKnob->setVolumeKnob(true); m_volumeKnob->setHintText(tr("Volume:"), "%"); - basicControlsLayout->addWidget(m_volumeKnob, 0, 0); + basicControlsLayout->addWidget(m_volumeKnob, 0, 1); basicControlsLayout->setAlignment(m_volumeKnob, widgetAlignment); auto label = new QLabel(tr("VOL"), this); label->setStyleSheet(labelStyleSheet); - basicControlsLayout->addWidget(label, 1, 0); + basicControlsLayout->addWidget(label, 1, 1); basicControlsLayout->setAlignment(label, labelAlignment); - // set up panning knob m_panningKnob = new Knob(KnobType::Bright26, nullptr, tr("Panning")); m_panningKnob->setHintText(tr("Panning:"), ""); - basicControlsLayout->addWidget(m_panningKnob, 0, 1); + basicControlsLayout->addWidget(m_panningKnob, 0, 2); basicControlsLayout->setAlignment(m_panningKnob, widgetAlignment); label = new QLabel(tr("PAN"),this); label->setStyleSheet(labelStyleSheet); - basicControlsLayout->addWidget(label, 1, 1); + basicControlsLayout->addWidget(label, 1, 2); basicControlsLayout->setAlignment(label, labelAlignment); - - basicControlsLayout->setColumnStretch(2, 1); + basicControlsLayout->setColumnStretch(3, 1); // setup spinbox for selecting Mixer-channel m_mixerChannelNumber = new MixerChannelLcdSpinBox(2, nullptr, tr("Mixer channel"), m_stv); - basicControlsLayout->addWidget(m_mixerChannelNumber, 0, 3); + basicControlsLayout->addWidget(m_mixerChannelNumber, 0, 4); basicControlsLayout->setAlignment(m_mixerChannelNumber, widgetAlignment); - label = new QLabel(tr("CHANNEL"), this); + label = new QLabel(tr("CHAN"), this); label->setStyleSheet(labelStyleSheet); - basicControlsLayout->addWidget(label, 1, 3); + basicControlsLayout->addWidget(label, 1, 4); basicControlsLayout->setAlignment(label, labelAlignment); generalSettingsLayout->addLayout(basicControlsLayout); diff --git a/src/gui/instrument/InstrumentTrackWindow.cpp b/src/gui/instrument/InstrumentTrackWindow.cpp index 4df043041..d6c32a205 100644 --- a/src/gui/instrument/InstrumentTrackWindow.cpp +++ b/src/gui/instrument/InstrumentTrackWindow.cpp @@ -139,74 +139,90 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : QString labelStyleSheet = "font-size: 10px;"; Qt::Alignment labelAlignment = Qt::AlignHCenter | Qt::AlignTop; Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter; + + auto soloMuteLayout = new QVBoxLayout(); + soloMuteLayout->setContentsMargins(0, 0, 2, 0); + soloMuteLayout->setSpacing(2); + + m_muteBtn = new PixmapButton(this, tr("Mute")); + m_muteBtn->setModel(&m_track->m_mutedModel); + m_muteBtn->setActiveGraphic(embed::getIconPixmap("mute_active")); + m_muteBtn->setInactiveGraphic(embed::getIconPixmap("mute_inactive")); + m_muteBtn->setCheckable(true); + m_muteBtn->setToolTip(tr("Mute this instrument")); + soloMuteLayout->addWidget(m_muteBtn, 0, widgetAlignment); + + m_soloBtn = new PixmapButton(this, tr("Solo")); + m_soloBtn->setModel(&m_track->m_soloModel); + m_soloBtn->setActiveGraphic(embed::getIconPixmap("solo_active")); + m_soloBtn->setInactiveGraphic(embed::getIconPixmap("solo_inactive")); + m_soloBtn->setCheckable(true); + m_soloBtn->setToolTip(tr("Solo this instrument")); + soloMuteLayout->addWidget(m_soloBtn, 0, widgetAlignment); + + basicControlsLayout->addLayout(soloMuteLayout, 0, 0, 2, 1, widgetAlignment); // set up volume knob m_volumeKnob = new Knob( KnobType::Bright26, nullptr, tr( "Volume" ) ); m_volumeKnob->setVolumeKnob( true ); m_volumeKnob->setHintText( tr( "Volume:" ), "%" ); - basicControlsLayout->addWidget( m_volumeKnob, 0, 0 ); + basicControlsLayout->addWidget(m_volumeKnob, 0, 1); basicControlsLayout->setAlignment( m_volumeKnob, widgetAlignment ); auto label = new QLabel(tr("VOL"), this); - label->setStyleSheet( labelStyleSheet ); - basicControlsLayout->addWidget( label, 1, 0); - basicControlsLayout->setAlignment( label, labelAlignment ); - + label->setStyleSheet(labelStyleSheet); + basicControlsLayout->addWidget(label, 1, 1); + basicControlsLayout->setAlignment(label, labelAlignment); // set up panning knob m_panningKnob = new Knob( KnobType::Bright26, nullptr, tr( "Panning" ) ); m_panningKnob->setHintText( tr( "Panning:" ), "" ); - basicControlsLayout->addWidget( m_panningKnob, 0, 1 ); + basicControlsLayout->addWidget(m_panningKnob, 0, 2); basicControlsLayout->setAlignment( m_panningKnob, widgetAlignment ); label = new QLabel( tr( "PAN" ), this ); label->setStyleSheet( labelStyleSheet ); - basicControlsLayout->addWidget( label, 1, 1); + basicControlsLayout->addWidget(label, 1, 2); basicControlsLayout->setAlignment( label, labelAlignment ); - - basicControlsLayout->setColumnStretch(2, 1); - + basicControlsLayout->setColumnStretch(3, 1); // set up pitch knob m_pitchKnob = new Knob( KnobType::Bright26, nullptr, tr( "Pitch" ) ); m_pitchKnob->setHintText( tr( "Pitch:" ), " " + tr( "cents" ) ); - basicControlsLayout->addWidget( m_pitchKnob, 0, 3 ); + basicControlsLayout->addWidget(m_pitchKnob, 0, 4); basicControlsLayout->setAlignment( m_pitchKnob, widgetAlignment ); m_pitchLabel = new QLabel( tr( "PITCH" ), this ); m_pitchLabel->setStyleSheet( labelStyleSheet ); - basicControlsLayout->addWidget( m_pitchLabel, 1, 3); + basicControlsLayout->addWidget(m_pitchLabel, 1, 4); basicControlsLayout->setAlignment( m_pitchLabel, labelAlignment ); - // set up pitch range knob m_pitchRangeSpinBox= new LcdSpinBox( 2, nullptr, tr( "Pitch range (semitones)" ) ); - basicControlsLayout->addWidget( m_pitchRangeSpinBox, 0, 4 ); + basicControlsLayout->addWidget(m_pitchRangeSpinBox, 0, 5); basicControlsLayout->setAlignment( m_pitchRangeSpinBox, widgetAlignment ); m_pitchRangeLabel = new QLabel( tr( "RANGE" ), this ); m_pitchRangeLabel->setStyleSheet( labelStyleSheet ); - basicControlsLayout->addWidget( m_pitchRangeLabel, 1, 4); + basicControlsLayout->addWidget(m_pitchRangeLabel, 1, 5); basicControlsLayout->setAlignment( m_pitchRangeLabel, labelAlignment ); - - basicControlsLayout->setColumnStretch(5, 1); - + basicControlsLayout->setColumnStretch(6, 1); // setup spinbox for selecting Mixer-channel m_mixerChannelNumber = new MixerChannelLcdSpinBox(2, nullptr, tr("Mixer channel"), m_itv); - basicControlsLayout->addWidget( m_mixerChannelNumber, 0, 6 ); + basicControlsLayout->addWidget(m_mixerChannelNumber, 0, 7); basicControlsLayout->setAlignment( m_mixerChannelNumber, widgetAlignment ); - label = new QLabel( tr( "CHANNEL" ), this ); + label = new QLabel(tr("CHAN"), this); label->setStyleSheet( labelStyleSheet ); - basicControlsLayout->addWidget( label, 1, 6); + basicControlsLayout->addWidget(label, 1, 7); basicControlsLayout->setAlignment( label, labelAlignment ); auto saveSettingsBtn = new QPushButton(embed::getIconPixmap("project_save"), QString()); @@ -216,11 +232,11 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) : saveSettingsBtn->setToolTip(tr("Save current instrument track settings in a preset file")); - basicControlsLayout->addWidget( saveSettingsBtn, 0, 7 ); + basicControlsLayout->addWidget(saveSettingsBtn, 0, 8); label = new QLabel( tr( "SAVE" ), this ); label->setStyleSheet( labelStyleSheet ); - basicControlsLayout->addWidget( label, 1, 7); + basicControlsLayout->addWidget(label, 1, 8); basicControlsLayout->setAlignment( label, labelAlignment ); generalSettingsLayout->addLayout( basicControlsLayout ); diff --git a/src/gui/tracks/TrackOperationsWidget.cpp b/src/gui/tracks/TrackOperationsWidget.cpp index 06e434674..04b171a41 100644 --- a/src/gui/tracks/TrackOperationsWidget.cpp +++ b/src/gui/tracks/TrackOperationsWidget.cpp @@ -84,7 +84,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : auto operationsWidget = new QWidget(this); auto operationsLayout = new QHBoxLayout(operationsWidget); operationsLayout->setContentsMargins(0, 0, 0, 0); - operationsLayout->setSpacing(0); + operationsLayout->setSpacing(2); m_trackOps = new QPushButton(operationsWidget); m_trackOps->setFocusPolicy( Qt::NoFocus ); @@ -124,33 +124,14 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : return wrapperWidget; }; - auto muteWidget = buildPixmapButtonWrappedInWidget(operationsWidget, tr("Mute"), "led_off", "led_green", m_muteBtn); - auto soloWidget = buildPixmapButtonWrappedInWidget(operationsWidget, tr("Solo"), "led_red", "led_off", m_soloBtn); + auto muteWidget = buildPixmapButtonWrappedInWidget(operationsWidget, tr("Mute"), "mute_active", "mute_inactive", m_muteBtn); + auto soloWidget = buildPixmapButtonWrappedInWidget(operationsWidget, tr("Solo"), "solo_active", "solo_inactive", m_soloBtn); - operationsLayout->addWidget(m_trackOps, Qt::AlignCenter); - operationsLayout->addSpacing(5); + operationsLayout->addWidget(m_trackOps); + operationsLayout->addWidget(muteWidget); + operationsLayout->addWidget(soloWidget); - if( ConfigManager::inst()->value( "ui", - "compacttrackbuttons" ).toInt() ) - { - auto vlayout = new QVBoxLayout(); - vlayout->setContentsMargins(0, 0, 0, 0); - vlayout->setSpacing(0); - vlayout->addStretch(1); - vlayout->addWidget(muteWidget); - vlayout->addWidget(soloWidget); - vlayout->addStretch(1); - operationsLayout->addLayout(vlayout); - } - else - { - operationsLayout->addWidget(muteWidget, Qt::AlignCenter); - operationsLayout->addWidget(soloWidget, Qt::AlignCenter); - } - - operationsLayout->addStretch(1); - - layout->addWidget(operationsWidget, 0, Qt::AlignTop); + layout->addWidget(operationsWidget, 0, Qt::AlignCenter | Qt::AlignLeading); connect( this, SIGNAL(trackRemovalScheduled(lmms::gui::TrackView*)), m_trackView->trackContainerView(), From 7f2761df9b6c4e524371ca2faf79d734287b1b22 Mon Sep 17 00:00:00 2001 From: Fawn Date: Tue, 11 Mar 2025 16:53:29 -0600 Subject: [PATCH 107/112] Fix incorrect graph step size behavior (#7703) The y-axis quantization for graph values was being calculated incorrectly. This would have gone unnoticed since the only step sizes currently used are 0 (continuous) or 1. Any other values produce "sloped" quantization. This fix prevents this error from affecting any future uses of graphModel. --- include/Graph.h | 2 +- src/gui/widgets/Graph.cpp | 56 ++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/include/Graph.h b/include/Graph.h index 0f5f24524..cc87b913e 100644 --- a/include/Graph.h +++ b/include/Graph.h @@ -182,7 +182,7 @@ public: public slots: //! Set range of y values - void setRange( float _min, float _max ); + void setRange(float ymin, float ymax); void setLength( int _size ); //! Update one sample diff --git a/src/gui/widgets/Graph.cpp b/src/gui/widgets/Graph.cpp index 4e06e2f1a..de4d10792 100644 --- a/src/gui/widgets/Graph.cpp +++ b/src/gui/widgets/Graph.cpp @@ -459,39 +459,31 @@ void Graph::updateGraph() } // namespace gui -graphModel::graphModel( float _min, float _max, int _length, - Model* _parent, bool _default_constructed, float _step ) : - Model( _parent, tr( "Graph" ), _default_constructed ), - m_samples( _length ), - m_length( _length ), - m_minValue( _min ), - m_maxValue( _max ), - m_step( _step ) +graphModel::graphModel(float ymin, float ymax, int length, Model* parent, bool defaultConstructed, float step) : + Model(parent, tr("Graph"), defaultConstructed), + m_samples(length), + m_length(length), + m_minValue(ymin), + m_maxValue(ymax), + m_step(std::clamp(step, 0.f, std::abs(ymax - ymin))) { } -void graphModel::setRange( float _min, float _max ) +void graphModel::setRange(float ymin, float ymax) { - if( _min != m_minValue || _max != m_maxValue ) - { - m_minValue = _min; - m_maxValue = _max; - - if( !m_samples.isEmpty() ) - { - // Trim existing values - for( int i=0; i < length(); i++ ) - { - m_samples[i] = fmaxf( _min, fminf( m_samples[i], _max ) ); - } - } - - emit rangeChanged(); + if (ymin == m_minValue && ymax == m_maxValue) { return; } + // Step sizes less than zero or larger than the entire range of + // values are nonsense, clamp those + m_step = std::clamp(m_step, 0.f, std::abs(ymax - ymin)); + m_minValue = ymin; + m_maxValue = ymax; + // Trim existing values + for (float& sample : m_samples) { + sample = std::clamp(sample, ymin, ymax); } + emit rangeChanged(); } - - void graphModel::setLength( int _length ) { if( _length != m_length ) @@ -732,15 +724,13 @@ void graphModel::clearInvisible() emit samplesChanged( graph_length, full_graph_length - 1 ); } -void graphModel::drawSampleAt( int x, float val ) +void graphModel::drawSampleAt(int x, float val) { - //snap to the grid - val -= (m_step != 0.0) ? std::fmod(val, m_step) * m_step : 0; - + // snap to the grid + if (m_step > 0) { val = std::floor(val / m_step) * m_step; } // boundary crop - x = qMax( 0, qMin( length()-1, x ) ); - val = qMax( minValue(), qMin( maxValue(), val ) ); - + x = std::clamp(x, 0, length() - 1); + val = std::clamp(val, minValue(), maxValue()); // change sample shape m_samples[x] = val; } From 768b3b253b1474cc63596034e5cb9a736ff60b9d Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Wed, 12 Mar 2025 22:30:26 -0400 Subject: [PATCH 108/112] Fix stk/rawwaves for msys2 (#7736) --- cmake/modules/FindSTK.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/modules/FindSTK.cmake b/cmake/modules/FindSTK.cmake index 5564d24f8..8bbf3ac6c 100644 --- a/cmake/modules/FindSTK.cmake +++ b/cmake/modules/FindSTK.cmake @@ -14,7 +14,7 @@ if(STK_INCLUDE_DIRS) list(GET STK_INCLUDE_DIRS 0 STK_INCLUDE_DIR) find_path(STK_RAWWAVE_ROOT NAMES silence.raw sinewave.raw - HINTS "${STK_INCLUDE_DIR}/.." + HINTS "${STK_INCLUDE_DIR}/.." "${STK_INCLUDE_DIR}/../.." PATH_SUFFIXES share/stk/rawwaves share/libstk/rawwaves ) endif() @@ -22,6 +22,6 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(STK - REQUIRED_VARS STK_LIBRARY STK_INCLUDE_DIR + REQUIRED_VARS STK_LIBRARY STK_INCLUDE_DIR STK_RAWWAVE_ROOT # STK doesn't appear to expose its version, so we can't pass it here ) From 91f750d2c28756ca8fe6c44ddd9694e5f5aab8ec Mon Sep 17 00:00:00 2001 From: Fawn Date: Thu, 13 Mar 2025 11:12:33 -0600 Subject: [PATCH 109/112] Fix track operations widget vertical alignment (#7765) In #7708, the track operations widget was given a centered vertical alignment in order to fix an aesthetic layout issue. This is being reverted, since it is possible to resize tracks, and all the other track interface elements are top-aligned. --- src/gui/tracks/TrackOperationsWidget.cpp | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/src/gui/tracks/TrackOperationsWidget.cpp b/src/gui/tracks/TrackOperationsWidget.cpp index 04b171a41..559796b87 100644 --- a/src/gui/tracks/TrackOperationsWidget.cpp +++ b/src/gui/tracks/TrackOperationsWidget.cpp @@ -83,7 +83,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : // buttons in a layout. auto operationsWidget = new QWidget(this); auto operationsLayout = new QHBoxLayout(operationsWidget); - operationsLayout->setContentsMargins(0, 0, 0, 0); + operationsLayout->setContentsMargins(0, 3, 0, 0); operationsLayout->setSpacing(2); m_trackOps = new QPushButton(operationsWidget); @@ -131,7 +131,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : operationsLayout->addWidget(muteWidget); operationsLayout->addWidget(soloWidget); - layout->addWidget(operationsWidget, 0, Qt::AlignCenter | Qt::AlignLeading); + layout->addWidget(operationsWidget, 0, Qt::AlignTop | Qt::AlignLeading); connect( this, SIGNAL(trackRemovalScheduled(lmms::gui::TrackView*)), m_trackView->trackContainerView(), @@ -145,11 +145,6 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) : } - - - - - /*! \brief Respond to trackOperationsWidget mouse events * * If it's the left mouse button, and Ctrl is held down, and we're @@ -180,8 +175,6 @@ void TrackOperationsWidget::mousePressEvent( QMouseEvent * me ) } - - /*! * \brief Repaint the trackOperationsWidget * @@ -222,17 +215,9 @@ bool TrackOperationsWidget::confirmRemoval() mb.setCheckBox(askAgainCheckBox); mb.setDefaultButton(QMessageBox::Cancel); - int answer = mb.exec(); - - if( answer == QMessageBox::Ok ) - { - return true; - } - return false; + return mb.exec() == QMessageBox::Ok; } - - /*! \brief Clone this track * */ @@ -270,7 +255,6 @@ void TrackOperationsWidget::clearTrack() } - /*! \brief Remove this track from the track list * */ @@ -324,6 +308,7 @@ void TrackOperationsWidget::resetClipColors() Engine::getSong()->setModified(); } + /*! \brief Update the trackOperationsWidget context menu * * For all track types, we have the Clone and Remove options. @@ -390,7 +375,6 @@ void TrackOperationsWidget::toggleRecording( bool on ) } - void TrackOperationsWidget::recordingOn() { toggleRecording( true ); From 2cd4810755aecaa6572545e88975211c04d94c6d Mon Sep 17 00:00:00 2001 From: John Hunt Date: Thu, 13 Mar 2025 13:08:41 -0700 Subject: [PATCH 110/112] Optimize PNG images using ImageOptim (#7384) --- data/backgrounds/lmms_tile.png | Bin 442 -> 315 bytes data/backgrounds/newbg.png | Bin 39313 -> 17734 bytes data/backgrounds/vinnie.png | Bin 15442 -> 11347 bytes data/themes/classic/add.png | Bin 959 -> 859 bytes data/themes/classic/add_automation.png | Bin 816 -> 577 bytes data/themes/classic/add_folder.png | Bin 818 -> 728 bytes data/themes/classic/add_pattern_track.png | Bin 810 -> 620 bytes data/themes/classic/add_sample_track.png | Bin 839 -> 697 bytes data/themes/classic/analysis.png | Bin 2177 -> 1778 bytes data/themes/classic/apply-selected.png | Bin 344 -> 218 bytes data/themes/classic/apply.png | Bin 787 -> 630 bytes data/themes/classic/arp_down.png | Bin 575 -> 458 bytes data/themes/classic/arp_free.png | Bin 244 -> 136 bytes data/themes/classic/arp_random.png | Bin 487 -> 406 bytes data/themes/classic/arp_sort.png | Bin 218 -> 94 bytes data/themes/classic/arp_sync.png | Bin 251 -> 145 bytes data/themes/classic/arp_up.png | Bin 615 -> 449 bytes data/themes/classic/arp_up_and_down.png | Bin 586 -> 466 bytes data/themes/classic/automation.png | Bin 586 -> 405 bytes data/themes/classic/automation_ghost_note.png | Bin 4467 -> 247 bytes data/themes/classic/automation_track.png | Bin 519 -> 413 bytes data/themes/classic/autoscroll_off.png | Bin 517 -> 248 bytes data/themes/classic/autoscroll_on.png | Bin 545 -> 363 bytes data/themes/classic/back_to_start.png | Bin 296 -> 124 bytes data/themes/classic/back_to_zero.png | Bin 318 -> 128 bytes data/themes/classic/background_artwork.png | Bin 689 -> 233 bytes data/themes/classic/black_key.png | Bin 339 -> 300 bytes data/themes/classic/black_key_disabled.png | Bin 2159 -> 242 bytes data/themes/classic/black_key_pressed.png | Bin 348 -> 299 bytes data/themes/classic/cancel.png | Bin 1263 -> 1062 bytes data/themes/classic/chord.png | Bin 900 -> 802 bytes data/themes/classic/clear_ghost_note.png | Bin 1088 -> 833 bytes data/themes/classic/clip_rec.png | Bin 1000 -> 698 bytes data/themes/classic/clock.png | Bin 1407 -> 1106 bytes .../classic/clone_pattern_track_clip.png | Bin 614 -> 360 bytes data/themes/classic/close.png | Bin 232 -> 157 bytes data/themes/classic/colorize.png | Bin 1445 -> 1356 bytes data/themes/classic/combobox_arrow.png | Bin 287 -> 285 bytes .../classic/combobox_arrow_selected.png | Bin 250 -> 215 bytes data/themes/classic/combobox_bg.png | Bin 369 -> 271 bytes data/themes/classic/computer.png | Bin 1684 -> 1413 bytes data/themes/classic/controller.png | Bin 1285 -> 1076 bytes data/themes/classic/cpuload_bg.png | Bin 840 -> 666 bytes data/themes/classic/cpuload_leds.png | Bin 947 -> 685 bytes data/themes/classic/cursor_knife.png | Bin 414 -> 243 bytes data/themes/classic/cursor_select_left.png | Bin 206 -> 101 bytes data/themes/classic/cursor_select_right.png | Bin 193 -> 103 bytes data/themes/classic/dont_know.png | Bin 566 -> 352 bytes data/themes/classic/drum.png | Bin 619 -> 372 bytes data/themes/classic/edit_copy.png | Bin 614 -> 360 bytes data/themes/classic/edit_cut.png | Bin 1287 -> 631 bytes data/themes/classic/edit_draw.png | Bin 549 -> 234 bytes data/themes/classic/edit_draw_outvalue.png | Bin 832 -> 622 bytes data/themes/classic/edit_erase.png | Bin 1002 -> 731 bytes data/themes/classic/edit_knife.png | Bin 287 -> 205 bytes data/themes/classic/edit_merge.png | Bin 611 -> 442 bytes data/themes/classic/edit_move.png | Bin 917 -> 450 bytes data/themes/classic/edit_paste.png | Bin 865 -> 719 bytes data/themes/classic/edit_redo.png | Bin 1245 -> 1089 bytes data/themes/classic/edit_rename.png | Bin 353 -> 207 bytes data/themes/classic/edit_select.png | Bin 391 -> 188 bytes data/themes/classic/edit_tangent.png | Bin 4141 -> 285 bytes data/themes/classic/edit_undo.png | Bin 1220 -> 1080 bytes data/themes/classic/effect_plugin.png | Bin 14355 -> 13333 bytes data/themes/classic/envelope_graph.png | Bin 10402 -> 9000 bytes data/themes/classic/error.png | Bin 1251 -> 1146 bytes data/themes/classic/exit.png | Bin 1134 -> 1064 bytes data/themes/classic/exp_wave_active.png | Bin 565 -> 406 bytes data/themes/classic/exp_wave_inactive.png | Bin 510 -> 406 bytes data/themes/classic/factory_files.png | Bin 815 -> 711 bytes data/themes/classic/fader_knob.png | Bin 780 -> 609 bytes data/themes/classic/filter_2lp.png | Bin 330 -> 268 bytes data/themes/classic/filter_ap.png | Bin 188 -> 174 bytes data/themes/classic/filter_bp.png | Bin 313 -> 296 bytes data/themes/classic/filter_hp.png | Bin 252 -> 231 bytes data/themes/classic/filter_lp.png | Bin 257 -> 237 bytes data/themes/classic/filter_notch.png | Bin 317 -> 297 bytes data/themes/classic/flip_x.png | Bin 600 -> 440 bytes data/themes/classic/flip_y.png | Bin 719 -> 588 bytes data/themes/classic/folder.png | Bin 625 -> 518 bytes data/themes/classic/folder_locked.png | Bin 658 -> 533 bytes data/themes/classic/folder_opened.png | Bin 725 -> 615 bytes data/themes/classic/freeze.png | Bin 2917 -> 2874 bytes data/themes/classic/frozen.png | Bin 333 -> 279 bytes data/themes/classic/ghost_note.png | Bin 452 -> 287 bytes data/themes/classic/hand.png | Bin 1478 -> 760 bytes data/themes/classic/help.png | Bin 1287 -> 1159 bytes data/themes/classic/hint.png | Bin 1062 -> 983 bytes data/themes/classic/home.png | Bin 1312 -> 1074 bytes data/themes/classic/horizontal_slider.png | Bin 1444 -> 562 bytes data/themes/classic/hq_mode.png | Bin 968 -> 844 bytes data/themes/classic/icon.png | Bin 95342 -> 81305 bytes data/themes/classic/icon_small.png | Bin 2121 -> 1864 bytes data/themes/classic/instrument_track.png | Bin 1013 -> 719 bytes data/themes/classic/keep_stop_position.png | Bin 299 -> 120 bytes data/themes/classic/knob01.png | Bin 2293 -> 1715 bytes data/themes/classic/knob02.png | Bin 1913 -> 1383 bytes data/themes/classic/knob03.png | Bin 1120 -> 757 bytes data/themes/classic/knob05.png | Bin 2060 -> 1911 bytes data/themes/classic/lcd_11green.png | Bin 10455 -> 301 bytes data/themes/classic/lcd_11green_dot.png | Bin 5964 -> 96 bytes data/themes/classic/lcd_19green.png | Bin 3709 -> 2737 bytes data/themes/classic/lcd_19green_dot.png | Bin 1658 -> 203 bytes data/themes/classic/lcd_19pink_dot.png | Bin 1555 -> 192 bytes data/themes/classic/lcd_19red.png | Bin 7009 -> 6575 bytes data/themes/classic/lcd_19red_dot.png | Bin 1529 -> 192 bytes data/themes/classic/lcd_21pink.png | Bin 2822 -> 1930 bytes data/themes/classic/led_green.png | Bin 642 -> 538 bytes data/themes/classic/led_off.png | Bin 353 -> 184 bytes data/themes/classic/led_red.png | Bin 576 -> 505 bytes data/themes/classic/led_yellow.png | Bin 564 -> 489 bytes .../themes/classic/lfo_controller_artwork.png | Bin 15924 -> 13082 bytes data/themes/classic/lfo_d100_active.png | Bin 708 -> 536 bytes data/themes/classic/lfo_d100_inactive.png | Bin 738 -> 527 bytes data/themes/classic/lfo_graph.png | Bin 8348 -> 7505 bytes data/themes/classic/lfo_x100_active.png | Bin 772 -> 586 bytes data/themes/classic/lfo_x100_inactive.png | Bin 801 -> 591 bytes data/themes/classic/lfo_x1_active.png | Bin 665 -> 480 bytes data/themes/classic/lfo_x1_inactive.png | Bin 673 -> 486 bytes data/themes/classic/loop_points_off.png | Bin 697 -> 376 bytes data/themes/classic/loop_points_on.png | Bin 745 -> 550 bytes data/themes/classic/main_slider.png | Bin 670 -> 536 bytes data/themes/classic/master_pitch.png | Bin 540 -> 251 bytes data/themes/classic/master_volume.png | Bin 523 -> 247 bytes data/themes/classic/maximize.png | Bin 210 -> 107 bytes data/themes/classic/metronome.png | Bin 842 -> 619 bytes data/themes/classic/microtuner.png | Bin 6685 -> 168 bytes data/themes/classic/midi_cc_rack.png | Bin 554 -> 357 bytes data/themes/classic/midi_file.png | Bin 1225 -> 1168 bytes data/themes/classic/mixer.png | Bin 415 -> 215 bytes data/themes/classic/mixer_send_off.png | Bin 817 -> 389 bytes data/themes/classic/mixer_send_on.png | Bin 1476 -> 1329 bytes data/themes/classic/moog_saw_wave_active.png | Bin 555 -> 437 bytes .../themes/classic/moog_saw_wave_inactive.png | Bin 550 -> 446 bytes data/themes/classic/muted.png | Bin 1345 -> 1029 bytes data/themes/classic/new_channel.png | Bin 479 -> 248 bytes data/themes/classic/note.png | Bin 727 -> 635 bytes data/themes/classic/note_double_whole.png | Bin 1253 -> 1080 bytes data/themes/classic/note_eighth.png | Bin 258 -> 143 bytes data/themes/classic/note_half.png | Bin 255 -> 138 bytes data/themes/classic/note_none.png | Bin 1530 -> 1255 bytes data/themes/classic/note_quarter.png | Bin 215 -> 118 bytes data/themes/classic/note_sixteenth.png | Bin 273 -> 152 bytes data/themes/classic/note_thirtysecond.png | Bin 285 -> 160 bytes data/themes/classic/note_tripleteighth.png | Bin 281 -> 163 bytes data/themes/classic/note_triplethalf.png | Bin 291 -> 157 bytes data/themes/classic/note_tripletquarter.png | Bin 255 -> 137 bytes data/themes/classic/note_tripletsixteenth.png | Bin 307 -> 170 bytes .../classic/note_tripletthirtysecond.png | Bin 314 -> 176 bytes data/themes/classic/note_whole.png | Bin 251 -> 132 bytes data/themes/classic/output_graph.png | Bin 4790 -> 3819 bytes data/themes/classic/pattern_track.png | Bin 539 -> 412 bytes data/themes/classic/pattern_track_btn.png | Bin 581 -> 400 bytes data/themes/classic/pause.png | Bin 311 -> 174 bytes data/themes/classic/piano.png | Bin 350 -> 194 bytes data/themes/classic/play.png | Bin 475 -> 233 bytes data/themes/classic/playpos_marker.png | Bin 208 -> 95 bytes data/themes/classic/plugins.png | Bin 2110 -> 1921 bytes data/themes/classic/ports.png | Bin 1061 -> 809 bytes data/themes/classic/pr_black_key.png | Bin 413 -> 359 bytes data/themes/classic/pr_black_key_pressed.png | Bin 414 -> 351 bytes data/themes/classic/pr_white_key_big.png | Bin 324 -> 208 bytes .../classic/pr_white_key_big_pressed.png | Bin 369 -> 249 bytes data/themes/classic/pr_white_key_small.png | Bin 312 -> 203 bytes .../classic/pr_white_key_small_pressed.png | Bin 354 -> 243 bytes data/themes/classic/preset_file.png | Bin 2127 -> 1840 bytes .../classic/progression_cubic_hermite.png | Bin 616 -> 424 bytes data/themes/classic/progression_discrete.png | Bin 284 -> 166 bytes data/themes/classic/progression_linear.png | Bin 586 -> 405 bytes data/themes/classic/project_export.png | Bin 562 -> 322 bytes data/themes/classic/project_file.png | Bin 2132 -> 1923 bytes data/themes/classic/project_import.png | Bin 1244 -> 1065 bytes data/themes/classic/project_new.png | Bin 472 -> 286 bytes .../classic/project_new_from_template.png | Bin 502 -> 299 bytes data/themes/classic/project_notes.png | Bin 541 -> 312 bytes data/themes/classic/project_open.png | Bin 587 -> 456 bytes data/themes/classic/project_open_down.png | Bin 1193 -> 1031 bytes data/themes/classic/project_open_recent.png | Bin 725 -> 578 bytes data/themes/classic/project_save.png | Bin 865 -> 663 bytes data/themes/classic/project_saveas.png | Bin 865 -> 663 bytes data/themes/classic/proportional_snap.png | Bin 263 -> 242 bytes data/themes/classic/quantize.png | Bin 697 -> 682 bytes data/themes/classic/random_wave_active.png | Bin 587 -> 412 bytes data/themes/classic/random_wave_inactive.png | Bin 370 -> 227 bytes data/themes/classic/receive_bg_arrow.png | Bin 289 -> 189 bytes data/themes/classic/record.png | Bin 622 -> 424 bytes data/themes/classic/record_accompany.png | Bin 827 -> 635 bytes data/themes/classic/record_step_off.png | Bin 443 -> 281 bytes data/themes/classic/record_step_on.png | Bin 596 -> 409 bytes data/themes/classic/reload.png | Bin 962 -> 704 bytes data/themes/classic/restore.png | Bin 186 -> 104 bytes .../classic/round_square_wave_active.png | Bin 552 -> 425 bytes .../classic/round_square_wave_inactive.png | Bin 534 -> 412 bytes data/themes/classic/sample_file.png | Bin 1243 -> 1074 bytes data/themes/classic/sample_track.png | Bin 664 -> 547 bytes data/themes/classic/saw_wave_active.png | Bin 541 -> 399 bytes data/themes/classic/saw_wave_inactive.png | Bin 507 -> 405 bytes data/themes/classic/sbarrow_down.png | Bin 194 -> 105 bytes data/themes/classic/sbarrow_down_d.png | Bin 189 -> 104 bytes data/themes/classic/sbarrow_left.png | Bin 194 -> 96 bytes data/themes/classic/sbarrow_left_d.png | Bin 193 -> 95 bytes data/themes/classic/sbarrow_right.png | Bin 198 -> 96 bytes data/themes/classic/sbarrow_right_d.png | Bin 197 -> 95 bytes data/themes/classic/sbarrow_up.png | Bin 192 -> 104 bytes data/themes/classic/sbarrow_up_d.png | Bin 187 -> 104 bytes data/themes/classic/scale.png | Bin 936 -> 840 bytes data/themes/classic/send_bg_arrow.png | Bin 316 -> 157 bytes data/themes/classic/setup_audio.png | Bin 3838 -> 3152 bytes data/themes/classic/setup_directories.png | Bin 2411 -> 1837 bytes data/themes/classic/setup_general.png | Bin 3673 -> 2836 bytes data/themes/classic/setup_midi.png | Bin 1910 -> 1562 bytes data/themes/classic/setup_performance.png | Bin 1893 -> 1482 bytes data/themes/classic/sin_wave_active.png | Bin 576 -> 436 bytes data/themes/classic/sin_wave_inactive.png | Bin 519 -> 410 bytes data/themes/classic/songeditor.png | Bin 341 -> 243 bytes data/themes/classic/soundfont_file.png | Bin 1631 -> 1441 bytes data/themes/classic/splash.png | Bin 333123 -> 270022 bytes data/themes/classic/square_wave_active.png | Bin 531 -> 401 bytes data/themes/classic/square_wave_inactive.png | Bin 496 -> 383 bytes data/themes/classic/step_btn_add.png | Bin 514 -> 313 bytes data/themes/classic/step_btn_duplicate.png | Bin 544 -> 328 bytes data/themes/classic/step_btn_off.png | Bin 189 -> 78 bytes data/themes/classic/step_btn_off_light.png | Bin 207 -> 93 bytes data/themes/classic/step_btn_on_0.png | Bin 207 -> 102 bytes data/themes/classic/step_btn_on_200.png | Bin 171 -> 95 bytes data/themes/classic/step_btn_remove.png | Bin 360 -> 232 bytes data/themes/classic/stepper-down-press.png | Bin 510 -> 398 bytes data/themes/classic/stepper-down.png | Bin 516 -> 434 bytes data/themes/classic/stepper-left-press.png | Bin 514 -> 345 bytes data/themes/classic/stepper-left.png | Bin 548 -> 391 bytes data/themes/classic/stepper-right-press.png | Bin 519 -> 338 bytes data/themes/classic/stepper-right.png | Bin 491 -> 407 bytes data/themes/classic/stepper-up-press.png | Bin 516 -> 368 bytes data/themes/classic/stepper-up.png | Bin 528 -> 405 bytes data/themes/classic/stop.png | Bin 305 -> 160 bytes data/themes/classic/tempo_sync.png | Bin 1407 -> 1106 bytes data/themes/classic/text_block.png | Bin 633 -> 509 bytes data/themes/classic/text_bold.png | Bin 832 -> 740 bytes data/themes/classic/text_center.png | Bin 637 -> 511 bytes data/themes/classic/text_italic.png | Bin 708 -> 620 bytes data/themes/classic/text_left.png | Bin 631 -> 524 bytes data/themes/classic/text_right.png | Bin 632 -> 541 bytes data/themes/classic/text_under.png | Bin 704 -> 613 bytes data/themes/classic/track_op_grip.png | Bin 109 -> 93 bytes data/themes/classic/trackop.png | Bin 951 -> 512 bytes data/themes/classic/trackop_c.png | Bin 988 -> 859 bytes data/themes/classic/trackop_h.png | Bin 966 -> 490 bytes data/themes/classic/triangle_wave_active.png | Bin 535 -> 410 bytes .../themes/classic/triangle_wave_inactive.png | Bin 495 -> 395 bytes data/themes/classic/uhoh.png | Bin 2466 -> 1956 bytes data/themes/classic/unavailable_sound.png | Bin 4196 -> 3267 bytes data/themes/classic/unfreeze.png | Bin 1307 -> 1206 bytes data/themes/classic/usr_wave_active.png | Bin 474 -> 381 bytes data/themes/classic/usr_wave_inactive.png | Bin 490 -> 370 bytes data/themes/classic/vst_plugin_file.png | Bin 1761 -> 1557 bytes data/themes/classic/whatsthis.png | Bin 1321 -> 1222 bytes data/themes/classic/white_key.png | Bin 145 -> 110 bytes data/themes/classic/white_key_disabled.png | Bin 1198 -> 82 bytes data/themes/classic/white_key_pressed.png | Bin 305 -> 232 bytes .../classic/white_noise_wave_active.png | Bin 533 -> 406 bytes .../classic/white_noise_wave_inactive.png | Bin 461 -> 387 bytes data/themes/classic/zoom.png | Bin 1225 -> 1032 bytes data/themes/classic/zoom_x.png | Bin 1372 -> 1193 bytes data/themes/classic/zoom_y.png | Bin 1367 -> 1178 bytes data/themes/default/add.png | Bin 232 -> 102 bytes data/themes/default/add_automation.png | Bin 462 -> 162 bytes data/themes/default/add_folder.png | Bin 239 -> 96 bytes data/themes/default/add_pattern_track.png | Bin 216 -> 92 bytes data/themes/default/add_sample_track.png | Bin 261 -> 139 bytes data/themes/default/analysis.png | Bin 517 -> 237 bytes data/themes/default/apply-selected.png | Bin 277 -> 150 bytes data/themes/default/apply.png | Bin 303 -> 123 bytes data/themes/default/arp_down.png | Bin 234 -> 94 bytes data/themes/default/arp_free.png | Bin 203 -> 84 bytes data/themes/default/arp_random.png | Bin 371 -> 169 bytes data/themes/default/arp_sort.png | Bin 184 -> 105 bytes data/themes/default/arp_sync.png | Bin 196 -> 83 bytes data/themes/default/arp_up.png | Bin 226 -> 96 bytes data/themes/default/arp_up_and_down.png | Bin 268 -> 111 bytes data/themes/default/automation.png | Bin 432 -> 151 bytes data/themes/default/automation_ghost_note.png | Bin 4467 -> 247 bytes data/themes/default/automation_track.png | Bin 432 -> 151 bytes data/themes/default/autoscroll_off.png | Bin 310 -> 132 bytes data/themes/default/autoscroll_on.png | Bin 314 -> 136 bytes data/themes/default/back_to_start.png | Bin 218 -> 110 bytes data/themes/default/back_to_zero.png | Bin 243 -> 117 bytes data/themes/default/black_key.png | Bin 517 -> 217 bytes data/themes/default/black_key_disabled.png | Bin 1928 -> 229 bytes data/themes/default/black_key_pressed.png | Bin 427 -> 152 bytes data/themes/default/cancel.png | Bin 419 -> 165 bytes data/themes/default/chord.png | Bin 216 -> 89 bytes data/themes/default/clear_ghost_note.png | Bin 399 -> 263 bytes data/themes/default/clip_rec.png | Bin 746 -> 401 bytes data/themes/default/clock.png | Bin 559 -> 249 bytes .../default/clone_pattern_track_clip.png | Bin 208 -> 92 bytes data/themes/default/close.png | Bin 232 -> 157 bytes data/themes/default/closed_branch.png | Bin 288 -> 161 bytes data/themes/default/colorize.png | Bin 919 -> 706 bytes data/themes/default/combobox_arrow.png | Bin 227 -> 112 bytes .../default/combobox_arrow_selected.png | Bin 218 -> 113 bytes data/themes/default/combobox_bg.png | Bin 203 -> 114 bytes data/themes/default/computer.png | Bin 242 -> 126 bytes data/themes/default/controller.png | Bin 521 -> 297 bytes data/themes/default/cpuload_bg.png | Bin 451 -> 231 bytes data/themes/default/cpuload_leds.png | Bin 292 -> 201 bytes data/themes/default/cursor_knife.png | Bin 414 -> 243 bytes data/themes/default/cursor_select_left.png | Bin 206 -> 101 bytes data/themes/default/cursor_select_right.png | Bin 193 -> 103 bytes data/themes/default/cut_overlaps.png | Bin 7273 -> 96 bytes data/themes/default/discard.png | Bin 217 -> 95 bytes data/themes/default/dont_know.png | Bin 398 -> 244 bytes data/themes/default/edit_copy.png | Bin 208 -> 92 bytes data/themes/default/edit_cut.png | Bin 464 -> 227 bytes data/themes/default/edit_draw.png | Bin 271 -> 129 bytes data/themes/default/edit_draw_outvalue.png | Bin 763 -> 574 bytes data/themes/default/edit_draw_small.png | Bin 5367 -> 128 bytes data/themes/default/edit_erase.png | Bin 395 -> 167 bytes data/themes/default/edit_knife.png | Bin 287 -> 205 bytes data/themes/default/edit_merge.png | Bin 611 -> 442 bytes data/themes/default/edit_move.png | Bin 309 -> 134 bytes data/themes/default/edit_paste.png | Bin 267 -> 119 bytes data/themes/default/edit_redo.png | Bin 414 -> 200 bytes data/themes/default/edit_rename.png | Bin 213 -> 100 bytes data/themes/default/edit_select.png | Bin 199 -> 94 bytes data/themes/default/edit_tangent.png | Bin 467 -> 286 bytes data/themes/default/edit_undo.png | Bin 418 -> 197 bytes data/themes/default/effect_plugin.png | Bin 443 -> 306 bytes data/themes/default/env_lfo_tab.png | Bin 255 -> 147 bytes data/themes/default/envelope_graph.png | Bin 977 -> 554 bytes data/themes/default/error.png | Bin 337 -> 157 bytes data/themes/default/exit.png | Bin 327 -> 140 bytes data/themes/default/exp_wave_active.png | Bin 377 -> 176 bytes data/themes/default/exp_wave_inactive.png | Bin 358 -> 173 bytes data/themes/default/factory_files.png | Bin 343 -> 142 bytes data/themes/default/fader_knob.png | Bin 350 -> 226 bytes data/themes/default/file.png | Bin 207 -> 96 bytes data/themes/default/fill.png | Bin 405 -> 264 bytes data/themes/default/filter_2lp.png | Bin 253 -> 122 bytes data/themes/default/filter_ap.png | Bin 183 -> 104 bytes data/themes/default/filter_bp.png | Bin 290 -> 129 bytes data/themes/default/filter_hp.png | Bin 289 -> 137 bytes data/themes/default/filter_lp.png | Bin 285 -> 129 bytes data/themes/default/filter_notch.png | Bin 300 -> 137 bytes data/themes/default/flip_x.png | Bin 272 -> 113 bytes data/themes/default/flip_y.png | Bin 269 -> 114 bytes data/themes/default/folder.png | Bin 202 -> 109 bytes data/themes/default/folder_locked.png | Bin 251 -> 111 bytes data/themes/default/folder_opened.png | Bin 214 -> 100 bytes data/themes/default/fullscreen.png | Bin 568 -> 93 bytes data/themes/default/func_tab.png | Bin 179 -> 78 bytes data/themes/default/fx_tab.png | Bin 292 -> 155 bytes data/themes/default/ghost_note.png | Bin 375 -> 239 bytes data/themes/default/glue.png | Bin 407 -> 271 bytes data/themes/default/gridmode.png | Bin 482 -> 132 bytes data/themes/default/hand.png | Bin 603 -> 348 bytes data/themes/default/help.png | Bin 567 -> 293 bytes data/themes/default/hint.png | Bin 398 -> 181 bytes data/themes/default/home.png | Bin 349 -> 160 bytes data/themes/default/horizontal_slider.png | Bin 1065 -> 205 bytes data/themes/default/hq_mode.png | Bin 490 -> 264 bytes data/themes/default/icon.png | Bin 2525 -> 1261 bytes data/themes/default/icon_small.png | Bin 828 -> 442 bytes data/themes/default/ignore.png | Bin 506 -> 307 bytes data/themes/default/insert_bar.png | Bin 545 -> 105 bytes data/themes/default/instrument_track.png | Bin 202 -> 92 bytes data/themes/default/keep_stop_position.png | Bin 223 -> 110 bytes data/themes/default/knob01.png | Bin 424 -> 212 bytes data/themes/default/knob02.png | Bin 412 -> 199 bytes data/themes/default/knob03.png | Bin 309 -> 152 bytes data/themes/default/knob05.png | Bin 346 -> 174 bytes data/themes/default/lcd_11green.png | Bin 10455 -> 301 bytes data/themes/default/lcd_11green_dot.png | Bin 5964 -> 96 bytes data/themes/default/lcd_19green.png | Bin 808 -> 263 bytes data/themes/default/lcd_19green_dot.png | Bin 1331 -> 85 bytes data/themes/default/lcd_19pink_dot.png | Bin 1150 -> 85 bytes data/themes/default/lcd_19purple.png | Bin 9764 -> 263 bytes data/themes/default/lcd_19purple_dot.png | Bin 5403 -> 85 bytes data/themes/default/lcd_19red.png | Bin 799 -> 263 bytes data/themes/default/lcd_19red_dot.png | Bin 1202 -> 85 bytes data/themes/default/lcd_21pink.png | Bin 10600 -> 263 bytes data/themes/default/led_blue.png | Bin 413 -> 243 bytes data/themes/default/led_green.png | Bin 404 -> 230 bytes data/themes/default/led_off.png | Bin 485 -> 154 bytes data/themes/default/led_red.png | Bin 353 -> 217 bytes data/themes/default/led_yellow.png | Bin 413 -> 243 bytes .../themes/default/lfo_controller_artwork.png | Bin 9045 -> 5280 bytes data/themes/default/lfo_d100_active.png | Bin 406 -> 260 bytes data/themes/default/lfo_d100_inactive.png | Bin 408 -> 259 bytes data/themes/default/lfo_graph.png | Bin 590 -> 392 bytes data/themes/default/lfo_x100_active.png | Bin 514 -> 355 bytes data/themes/default/lfo_x100_inactive.png | Bin 553 -> 356 bytes data/themes/default/lfo_x1_active.png | Bin 470 -> 328 bytes data/themes/default/lfo_x1_inactive.png | Bin 507 -> 329 bytes data/themes/default/loop_point.png | Bin 360 -> 173 bytes data/themes/default/loop_points_off.png | Bin 302 -> 162 bytes data/themes/default/loop_points_on.png | Bin 266 -> 164 bytes data/themes/default/main_slider.png | Bin 310 -> 220 bytes data/themes/default/master_pitch.png | Bin 211 -> 88 bytes data/themes/default/master_volume.png | Bin 314 -> 153 bytes data/themes/default/max_length.png | Bin 192 -> 108 bytes data/themes/default/maximize.png | Bin 210 -> 107 bytes data/themes/default/metronome.png | Bin 510 -> 306 bytes data/themes/default/microtuner.png | Bin 2631 -> 138 bytes data/themes/default/midi_cc_rack.png | Bin 554 -> 357 bytes data/themes/default/midi_file.png | Bin 291 -> 144 bytes data/themes/default/midi_tab.png | Bin 170 -> 91 bytes data/themes/default/min_length.png | Bin 193 -> 107 bytes data/themes/default/misc_tab.png | Bin 188 -> 97 bytes data/themes/default/mixer.png | Bin 248 -> 120 bytes data/themes/default/mixer_send_off.png | Bin 619 -> 387 bytes data/themes/default/mixer_send_on.png | Bin 600 -> 399 bytes data/themes/default/moog_saw_wave_active.png | Bin 384 -> 182 bytes .../themes/default/moog_saw_wave_inactive.png | Bin 391 -> 180 bytes data/themes/default/muted.png | Bin 270 -> 146 bytes data/themes/default/new_channel.png | Bin 206 -> 85 bytes data/themes/default/note.png | Bin 406 -> 218 bytes data/themes/default/note_double_whole.png | Bin 209 -> 92 bytes data/themes/default/note_eight.png | Bin 199 -> 89 bytes data/themes/default/note_eighth.png | Bin 205 -> 89 bytes data/themes/default/note_half.png | Bin 198 -> 111 bytes data/themes/default/note_none.png | Bin 380 -> 193 bytes data/themes/default/note_quarter.png | Bin 183 -> 106 bytes data/themes/default/note_sixteenth.png | Bin 208 -> 87 bytes data/themes/default/note_thirtysecond.png | Bin 214 -> 93 bytes data/themes/default/note_tripleteighth.png | Bin 215 -> 104 bytes data/themes/default/note_triplethalf.png | Bin 214 -> 105 bytes data/themes/default/note_tripletquarter.png | Bin 205 -> 100 bytes data/themes/default/note_tripletsixteenth.png | Bin 221 -> 106 bytes .../default/note_tripletthirtysecond.png | Bin 223 -> 109 bytes data/themes/default/note_whole.png | Bin 187 -> 108 bytes data/themes/default/open_branch.png | Bin 298 -> 157 bytes data/themes/default/output_graph.png | Bin 357 -> 227 bytes data/themes/default/pattern_track.png | Bin 195 -> 82 bytes data/themes/default/pattern_track_btn.png | Bin 185 -> 82 bytes data/themes/default/pause.png | Bin 185 -> 87 bytes data/themes/default/piano.png | Bin 202 -> 92 bytes data/themes/default/play.png | Bin 236 -> 129 bytes data/themes/default/playpos_marker.png | Bin 208 -> 95 bytes data/themes/default/plugin_tab.png | Bin 210 -> 104 bytes data/themes/default/plugins.png | Bin 575 -> 296 bytes data/themes/default/ports.png | Bin 353 -> 176 bytes data/themes/default/pr_black_key.png | Bin 475 -> 170 bytes data/themes/default/pr_black_key_pressed.png | Bin 449 -> 160 bytes data/themes/default/pr_white_key_big.png | Bin 400 -> 89 bytes .../default/pr_white_key_big_pressed.png | Bin 478 -> 164 bytes data/themes/default/pr_white_key_small.png | Bin 388 -> 89 bytes .../default/pr_white_key_small_pressed.png | Bin 448 -> 145 bytes data/themes/default/preset_file.png | Bin 480 -> 246 bytes .../default/progression_cubic_hermite.png | Bin 434 -> 158 bytes data/themes/default/progression_discrete.png | Bin 369 -> 93 bytes data/themes/default/progression_linear.png | Bin 432 -> 151 bytes data/themes/default/project_export.png | Bin 345 -> 152 bytes data/themes/default/project_file.png | Bin 502 -> 229 bytes data/themes/default/project_import.png | Bin 379 -> 162 bytes data/themes/default/project_new.png | Bin 219 -> 101 bytes .../default/project_new_from_template.png | Bin 244 -> 114 bytes data/themes/default/project_notes.png | Bin 230 -> 111 bytes data/themes/default/project_open.png | Bin 205 -> 103 bytes data/themes/default/project_open_recent.png | Bin 414 -> 189 bytes data/themes/default/project_save.png | Bin 247 -> 114 bytes data/themes/default/project_saveas.png | Bin 247 -> 114 bytes data/themes/default/proportional_snap.png | Bin 263 -> 242 bytes data/themes/default/quantize.png | Bin 585 -> 289 bytes data/themes/default/random_wave_active.png | Bin 232 -> 110 bytes data/themes/default/random_wave_inactive.png | Bin 235 -> 111 bytes data/themes/default/receive_bg_arrow.png | Bin 4824 -> 122 bytes data/themes/default/record.png | Bin 333 -> 181 bytes data/themes/default/record_accompany.png | Bin 353 -> 191 bytes data/themes/default/record_step_off.png | Bin 375 -> 247 bytes data/themes/default/record_step_on.png | Bin 377 -> 277 bytes data/themes/default/recover.png | Bin 303 -> 123 bytes data/themes/default/reload.png | Bin 493 -> 235 bytes data/themes/default/remove_bar.png | Bin 559 -> 102 bytes data/themes/default/restore.png | Bin 186 -> 104 bytes .../default/round_square_wave_active.png | Bin 338 -> 164 bytes .../default/round_square_wave_inactive.png | Bin 335 -> 160 bytes data/themes/default/sample_file.png | Bin 361 -> 175 bytes data/themes/default/sample_track.png | Bin 238 -> 131 bytes data/themes/default/saw_wave_active.png | Bin 352 -> 169 bytes data/themes/default/saw_wave_inactive.png | Bin 360 -> 164 bytes data/themes/default/sbarrow_down.png | Bin 186 -> 94 bytes data/themes/default/sbarrow_down_d.png | Bin 160 -> 85 bytes data/themes/default/sbarrow_left.png | Bin 189 -> 89 bytes data/themes/default/sbarrow_left_d.png | Bin 136 -> 82 bytes data/themes/default/sbarrow_right.png | Bin 185 -> 89 bytes data/themes/default/sbarrow_right_d.png | Bin 180 -> 81 bytes data/themes/default/sbarrow_up.png | Bin 186 -> 93 bytes data/themes/default/sbarrow_up_d.png | Bin 136 -> 82 bytes data/themes/default/scale.png | Bin 237 -> 116 bytes data/themes/default/send_bg_arrow.png | Bin 4810 -> 123 bytes data/themes/default/setup_audio.png | Bin 1066 -> 451 bytes data/themes/default/setup_directories.png | Bin 534 -> 297 bytes data/themes/default/setup_general.png | Bin 1144 -> 448 bytes data/themes/default/setup_midi.png | Bin 440 -> 179 bytes data/themes/default/setup_performance.png | Bin 1399 -> 625 bytes data/themes/default/shadow_c.png | Bin 611 -> 342 bytes data/themes/default/shadow_p.png | Bin 604 -> 345 bytes data/themes/default/sin_wave_active.png | Bin 402 -> 188 bytes data/themes/default/sin_wave_inactive.png | Bin 398 -> 183 bytes data/themes/default/songeditor.png | Bin 199 -> 86 bytes data/themes/default/soundfont_file.png | Bin 296 -> 132 bytes data/themes/default/splash.png | Bin 112040 -> 82086 bytes data/themes/default/square_wave_active.png | Bin 222 -> 102 bytes data/themes/default/square_wave_inactive.png | Bin 224 -> 103 bytes data/themes/default/step_btn_add.png | Bin 205 -> 98 bytes data/themes/default/step_btn_duplicate.png | Bin 198 -> 95 bytes data/themes/default/step_btn_off.png | Bin 423 -> 301 bytes data/themes/default/step_btn_off_light.png | Bin 410 -> 281 bytes data/themes/default/step_btn_on_0.png | Bin 487 -> 369 bytes data/themes/default/step_btn_on_200.png | Bin 407 -> 276 bytes data/themes/default/step_btn_remove.png | Bin 194 -> 94 bytes data/themes/default/stepper-down-press.png | Bin 330 -> 230 bytes data/themes/default/stepper-down.png | Bin 389 -> 237 bytes data/themes/default/stepper-left-press.png | Bin 358 -> 246 bytes data/themes/default/stepper-left.png | Bin 375 -> 253 bytes data/themes/default/stepper-right-press.png | Bin 378 -> 247 bytes data/themes/default/stepper-right.png | Bin 382 -> 253 bytes data/themes/default/stepper-up-press.png | Bin 332 -> 230 bytes data/themes/default/stepper-up.png | Bin 379 -> 236 bytes data/themes/default/stop.png | Bin 184 -> 80 bytes data/themes/default/tempo_sync.png | Bin 559 -> 249 bytes data/themes/default/text_block.png | Bin 191 -> 83 bytes data/themes/default/text_bold.png | Bin 342 -> 159 bytes data/themes/default/text_center.png | Bin 211 -> 88 bytes data/themes/default/text_italic.png | Bin 316 -> 139 bytes data/themes/default/text_left.png | Bin 206 -> 91 bytes data/themes/default/text_right.png | Bin 207 -> 88 bytes data/themes/default/text_under.png | Bin 307 -> 150 bytes data/themes/default/tool.png | Bin 466 -> 303 bytes data/themes/default/toolbar_bg.png | Bin 201 -> 119 bytes data/themes/default/track_op_grip.png | Bin 179 -> 80 bytes data/themes/default/track_op_grip_c.png | Bin 157 -> 80 bytes data/themes/default/track_shadow_c.png | Bin 908 -> 730 bytes data/themes/default/track_shadow_p.png | Bin 976 -> 827 bytes data/themes/default/trackop.png | Bin 541 -> 229 bytes data/themes/default/triangle_wave_active.png | Bin 427 -> 191 bytes .../themes/default/triangle_wave_inactive.png | Bin 396 -> 188 bytes data/themes/default/tuning_tab.png | Bin 7016 -> 99 bytes data/themes/default/uhoh.png | Bin 1227 -> 622 bytes data/themes/default/unavailable_sound.png | Bin 634 -> 256 bytes data/themes/default/unknown_file.png | Bin 296 -> 139 bytes data/themes/default/usr_wave_active.png | Bin 217 -> 98 bytes data/themes/default/usr_wave_inactive.png | Bin 219 -> 100 bytes data/themes/default/vst_plugin_file.png | Bin 325 -> 163 bytes data/themes/default/whatsthis.png | Bin 410 -> 188 bytes data/themes/default/white_key.png | Bin 353 -> 86 bytes data/themes/default/white_key_disabled.png | Bin 1052 -> 86 bytes data/themes/default/white_key_pressed.png | Bin 440 -> 147 bytes .../default/white_noise_wave_active.png | Bin 570 -> 291 bytes .../default/white_noise_wave_inactive.png | Bin 540 -> 285 bytes data/themes/default/zoom.png | Bin 559 -> 243 bytes data/themes/default/zoom_x.png | Bin 637 -> 270 bytes data/themes/default/zoom_y.png | Bin 620 -> 265 bytes 553 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/backgrounds/lmms_tile.png b/data/backgrounds/lmms_tile.png index 07be3dd62b9fcd265fbff42a0eb8045363607741..e2a344c580fd08f9613b6ef51c877549aafbfcd3 100644 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0P3?wHke>@jRu?6^qxH>pEgoK1_*ki#46#3xk z;uum9r+a>5Zi|Bm+e1r1flCMDq*-p1S~Mwf=ofJB`{Se9ozls)t@X57%|oS$KVH5( z@2*_yWBPr)Rp=!v{_m5*+AdDYHM?a0`kvh_{=0=S&maGK99AEl_gnhS<;ib-&Fl43 zHRF${T=(&*aU&YFMM!QGO5*LfsvOoHVSa>Zqt%gDg4qshS|Y5IVmq!1oEFG-T*C=e zBAH}*WS2m;`x@SjTuGrvq6D*D)~F}Rc7zH7mAI`DPr3_atX90%2{h2`h}Qp#DXKGE Tv%J-TerND>^>bP0l+XkKvo?3< literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^4j{|{BpCXc^q7DYQT1OkxQHyj6I(ECp>$XCuUxMI?Zf#)#92XIcd6w zem^*0I%Tu%F^6l<1U_%PxBu0Aw->>0H}1)^yY_tTUulK(yY-uESHF5cf8LDSPt%f@ ztoICU;V4-5_V}&ppAk*6e>dN$s+sa!?cb%_o|4gfXU1>1I{POp`HTgh7JO-@ermdKI;Vst07Ny)J^%m! diff --git a/data/backgrounds/newbg.png b/data/backgrounds/newbg.png index 6cafbdaf4a79f8c6c43654003bbca47670217558..83f85f4b4b4b2b4444facc8dd7e4f1cb6df13a32 100644 GIT binary patch literal 17734 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 RmG1xm002ovPDHLkV1guqu$lk> literal 39313 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 M07*qoM6N<$f=Eudx&QzG diff --git a/data/backgrounds/vinnie.png b/data/backgrounds/vinnie.png index bce36a8896e252c961734a4b30cb605f97712ff2..5087b05939a37b4e22a266268612605b02774b90 100644 GIT binary patch literal 11347 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 A761SM literal 15442 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 M07*qoM6N<$f>Ly}9smFU diff --git a/data/themes/classic/add_automation.png b/data/themes/classic/add_automation.png index 58f13909b49fc7a2003c49362cc7b45b0264ec70..58b258299dcbaea87c1710ef1e1bddfe19e8de15 100644 GIT binary patch delta 553 zcmV+^0@nSo2Ehc7BYy%2NklZTy#3Q6zY^G|)*D;ezQV&-5Hi9m6Cdz`wDlRLqryAdS=DbJAZP8+s_~(y4e5|nSj{8{{RUo zb7t)0M~-mINkpVuk3l2}Nz0ZkNjQas*mxWf(IQ`Au8+H%12(7A`L=oU=3m&q{hjsm r8D(BYyw{b3#c}2nYxWdlR~XHc9PwYCV9KoNk7rvRG{FYr1K88Mw2+adER!Lfk-<&J>6`py-e=XRkH_b8kG4a@#?+S60rvI2 z17K(%j47r5u|G^wgJ?85GvLFUO_Y_DVg#Iy0vKC6gD?0Nd4XQ9Q+@-}7)oAVK9%ME zNj1COMrHZvmkD;hAs7sbv=fGVx_R`Z4FH#;0DrsP#^B%(oxuThvOS?7O;=+i!tDgB!rj`>;jU24!A9){0#65 YHWLz{ zZ}}fjFTF?;Jlp!s*nf7%bpx+ibFaJf$g`<8DN$z>4#1dOnrGW;3pUzzGiF93W@l#k zAbd+ZyVtsbsDIcm|NTR?P~mG&SqiQZrkTRpgoeaoTp_ArIzof48yIeX{`1S9zmb2Z zrchOW9R16i%iqD4OSJQWJ$~Jcqc_uT;PKsMfAG(DJooA6cn!o* zaNtI}bK$|K(KJm?o54r9{K_k@A*BZZ0dguh=W=TJ(tk6*yg>W6vbi}#3hKJYravck-=rIdzui0Y1R(=BjP5D-*z ze&rqRyUCv1dGw7eE-q$3RaI=f@y4Cc5Ku0^{BkR|-4UIcLIhkPOv+fdVu%4D6=n5- zt}I{geScN6|6zx*=OIUASTTkq0|nF|_Uk-nVr*Y1Epp_J~Td(Pc!ce~4`1AZBp nVk}>H_`VUVkqzgkX{`ST*l(%5bAPTH00000NkvXXu0mjfH7RJ` delta 796 zcmV+%1LOSI1+oT^BYyw}VoOIv0RI600RN!9r;`8x010qNS#tmY4aooi4aotowZ}{V z000McNliru-vbB?94P>IYA^r*0>4Q_K~y-)m6J`2TtyUypHo%$c4sE@K^SB}F(ZU9 z#EcUfk!;-PM(_vt2bw@Y@(*0Nb)hT4g}Bon5Z8%`sygR=>%FJW5o)8?>zVf+Gvm?0Pu$=8ip7;cI#D+Myu!=RZV^Ht zr9_O8R;$$nh7-K26FTSc-V;Iq5h~3TzTh-Q_BsdToN>+}B8UjUo3r>(C#*D)$awD= zY9y-C8$_y@iGLqnKG8ewOg#N1xyP^v4JM(ESY+#Rqo{!G<<;bKBm z?DxZc%3eum1d2lNP2q1kSe4P3>8DeYDyBm;>cxcd-G7I>?T7a`=yXt3ejOh0&EPSt zo=_b}uKuw^Yw;@H3jo)ap8F4lkY3+>Wt!}r{l`4`ewUz;6djwFp687luhMKbNh!^L zl=huFcggufKmbGp?>){rLJ>F~^r-ffW%GzQ8jZ%3Fvd7Xp~ySDbX)xLDlsKeN_g+d zInxZ8?SJMo{I%cb3YS?}Eip69jGXhol#S}Tzr2DMM?_E^)t7UQYl|Da*Sbf)-zVox zS(Yp;EKFnO5lXw=wqk7^J?bC=-pQGO^N?E7V~Pmb73Gee4&Dx-Y;b*Ri;Wkz@lJ4K zl5C)W8l<{4P;6w4BALhaw$D`T+0000*u-%gf8H2@Gm#YN~ub-#VPt4j(<%nt!)^)r1VkPo7!@KR>Kf z6s2m|uwkXFucV};2tAub+qMA(kbz+s9PaYySW_ejdj4f+iD(38ZgQsUdOM$GSv>9> z(KOADfslbJ%MkqcH+wF{BCM`sAP_nQ(w#HVqz-}6Xzzils)}B(H|)AD4+zI`gp5d* zCDHn=g#l7C(|@wFvsf&q#N%-r4>{(Q=_H9wlm$7^@H{fu!;G+|i`h`3hpzS1QJRyE z^-&Ia`0lz!J?yHZ9*<}9d@J%`i7Sm1Ufi89e(cz!uXfn5R1bUVT2~###mj4IYASAO zY~-)rya`VO0WdiMG+9pdu&1uEm6B11t4fPlk(s-W3xB>JUm@!Ef#mZf8zA=7H8wDj zNI-pkeLk{n@uEc{AQmr}502{q;o56|3HFN@d+Hk7(U~)6mbbLDkS0GfA2DJCv^F*Z z;nSC|@bT@NQeb+xfgzpOva@;f=0&$}->z=kwoSc!`Lc8S_HCE;bWWT*cWxYYJD?w! ziQI)eK~2FFNI`gh7P&voP5o*1SL7k&ah~T*=DH7g1i6>_gZhP;^XJd^w6(Q`)33Ro i`8)##1#If#d&7Uc)_b)S3@Us80000PiYy;L56Rk}^41}0;O`4X+MiVtLgq?dd;U92K*nhisV_dk

    m2>850{d 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 Dy5m-V delta 328 zcmV-O0k{6z0oVeN8Gi-<006|aY&!q|010qNS#tmY3ljhU3ljkVnw%H_000McNliru z-T@pID>3{^H2DAk0QX5mK~y-)?UgNW0znXl-y=ZMk|3)314#H0XjEl23XjI3kX0BI z!DF!mgF&~Vfso1yz*X?|V7Rco?A%>RPSH16ar4eT+1bqO1%H6DP)-@?{=j8PD@hwk z)n5*9>nZ`?T=fG~LO-~%D;^~+B|S&tTS-sWRlG^+#6TY;eR`mw=e>%VQ`*2&ei8V> zuRTx;bKOl7PjcV!3&6^N9)P-g2p7CFHuZo!urT~1@Di=g{TO0vZNyK&tFLRKff4C- z0vc93`hw$>&_QNgpIgQ>0oqC$pg41GfZJ&%Gb!OC0_~(7`J{v#@P29j?qA-L;QtSj aIrt1o@`P?0Po*Tc5r3@rN$f>`AUM6Vo*Y_${}i>dpi=>8t$eaeR0&NiD81pnnlV3u-0%eV;E z7Q%6M9Ga%nSN+$fB5*wijFJy#B^OybF?tqL4@&v zG8^9dGz97s!RT4=Sd#}QSvCUJrNNxVJSgMUJB)m)ivE^zt0{iyvTOiaETPd#Mx%v- zLiMFisItHgU1aX)kYWFzJY^O`K34^g-YT;R9%#7M71h=~O6C5fZW?cNOtpGY&Z|#4 z`BD{Kdsl6?nC6VeJA6=Mrzg7apwKDJ5@nsc7m}}4*|qCF>$$G5IPQ;**=CPN`Q%$z s0RI1#oVxFA64c{vS;uZt@=N*WA>*DE8}|@(WdHyG07*qoM6N<$g00pvyZ`_I delta 764 zcmV-2?>^(M{!5cGFdK(?t-07e!KG4Iw|esDEx0Q<4Hrwvm=$kss6C zcFx((|D3KAGwmX~@WSWn<@vww5B|I_53sA9El;6dckSeqxAVp#TFUmVf0F$(w6$ED zQk)ZP_cb}{j<^gdxz;hXlx1%Z>@Cum9M;f9Pld^1$OEIa;Y!1Cnzp9B-4d+5P=7o7 z>gkRxp}tZ&vwt8r&|2fpNLM=$UI-(+5JoJ{Ay;prSKH+4XPCBzL2u2WQiX!Te5A>~ zbf@R+Z_w+fl-7i5(p&4YBvUpl{agV=AR?Q=qy9l*CitytwUt^e)aPqoRaNdUa~dt6 zl}a!s$~~W&W?@HzJph1Wr^0Tv1!_IncAc0BmgT_3d4KSVS@`<~$xP^nM|?c=`VVk^ zbH%;993vG8%fKZhq!`p-(y5|wn$g7S6a%)B{K?A3ET^0p!14mv1P3(}L0|uf7z%tp zL7oovt^eE_crhb6N5=36)r<-pA&3eDjFEy~CqFC@rmdvWY$4Dg8Ykcc7A6Dmrgu~t z|M=BMx_^iL8&|OgChw=8%`t`o{T{)Ulq^R~5)c&#G-er`2h=oCq$0|5hzTsTbQBXW zgVNZC&u0YxNY`dNPTFW_e8*lCRU7M^ZJ` z=>As6Lv1t?<6j=miA<%<+=K3YIBU#6qx0XBiMt z5UmVG#FTbo7Z4OAg;=Ce5V24ZK}8F}6jp+mM(cot6kEueNM@ruyE{L3?onny3!80| z2fp$>aM=0O@%!_4uN<1W{<*tO=9MJAr9b8v7)Nj1v1w9bKYxQpP|rF@6=Q{Bdf31N z-oMhTvkNnqTN9?KCjBN6h9XpKM-JQcNLn83386I(kpU?Q9jwP&8=BgY3(Jc#(TJSZ znm{z6)dZyiCom}L{mNiFg}jvPM*(m^0}vSn__sei(G3%dMpbc80I99xB!_rd9hm$k z%EoJkWS})QA%DqLyX+o*_jN@XJiHQ24t`>*_)l1^75j8MooT}T0yxb-0<3-9SiRQn zZ{p`dn1V^lzwzF_PyD@e3-|(90L}lFUbH_gW5oqShxD@QcasWRKYJ^{O-AzIbaMXX zjdJSICE?*2$J;r_$d*nj0G^$bqjzSV_xhp$@c67^WGeSgDHcxbn|re;$DUq2IQ4wq bV|V%uuiURxQatkO00000NkvXXu0mjf8<5PQ delta 551 zcmV+?0@(e^1HS~2BYyw}VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-T@g792V@XBU}Ig0nAB6K~y-)-I33WjBy;tU*GRD&$BbLGlLyv4-Q+J zauZp_$(Gth?Z!b!ij$L+s{=JTIqZRQA+(DeoX|?)B&8fSN`GnWkTLA=JTvor=lT7^ z;VH%1KY(|=Z=cua^XdJDe_mqim6MlF)b^ZxWi{}%7?q0{3?(>5f?Y^hHayIn4@Et5 zlz=A~3I*eC5dlDb;@#at=W8u%Sz4~mk5KWkpjaw9bn_AIa*)9#1CkU>mti|)(CU4Y z0GxZa`S7EQX@8|yN~DzNsU#ms^jKto6K3xF(DfjQQ@<0!?rWpjg4s#Ina8>M^P940 zRGm_k%aGXhx}4T_c#DliZkDad7nyF7Fk5v8%_n p@9Qk8&mgsa&Rc38y&m)b=_kNK&H1oRvZeq4002ovPDHLkV1lcT1UUcz diff --git a/data/themes/classic/arp_free.png b/data/themes/classic/arp_free.png index 19ebc3a53feb47446abb6efe1ab76348b8364420..52cf7d8340578a560b55c0a85ca69099b07cb8c9 100644 GIT binary patch delta 118 zcmV-+0Ez$f0f+&R8E*st006c6H|hWY08dFoK~#9!W1t53&-P#Gzvh1}B&htK9a(|Q z|K9&A|F1$oAYX={3AD1v;J?rR;Qt{&==R07*qoM6N<$f~cc3YXATM delta 227 zcmeBR{K7avvYw5BfkFQB|3o0gmgMd3!tkHr6~kVore|A#BAf*tk;M!Q+`=Ht$S`Y; z1W=H@#M9T6{T?$Hr-9tF)Y=fBP@|`dV~EA+qm!-q8WaRr(|IqRyVNBeRVl>3QhmeX zLup$B?tIX^)5c`PqtD-Ic*#h%_i@QvMt+`#nwUAf2iCpjHelTBw2wi0gVqzdi#)4% zRRog+�Pp&r6o<;hg;X*<&Mt#q4qsa%$@pbRF^~T4WpoCl*~Y@18PwU*wW3=AVDf Z=W#~cKK{pceFM-n44$rjF6*2UngBh*PU`>w diff --git a/data/themes/classic/arp_random.png b/data/themes/classic/arp_random.png index 608fc6df77ca9ebf82c4ea785a701e992c7d2028..40ac8d0e99874542276fa26683c97e4193e926f2 100644 GIT binary patch delta 380 zcmV-?0fYYM1C|4jBYy#1NklHRMr-q{E!f}R283IZq$ zPi(XA(?@N(*iPD{O&Qy&o^4mpwr$(ET;pHwUe3(wq6rV|@l6eY< zB5peEa1h83jVx2c9iG$2EQMr~PTq9h9zRg)OjzAyjv>a$<$nUdDWQO}sp1`8ph-q7 z*xh8_dyh~?6K{D>#az!0p`Ft30a#+*e@|1-3yK)c7RnnH17>VE-FJvAvWCohpO9-+ zBvReL0azGf1|xPHI9b5BETmBdjZ3Ir;6w!g?7ZSLroTdJQqUnvPzkI;KDid^h!!{aGp85eoPjR27 z8;x>aQ| aW`qm7rJe?*%|cNC0000F{lyMx#@z?V_citU(>SbCQ2AOmkHLOqP&n1>Mr1EAxa7oR!wz+0?^lucT%Sm@4QMU~?%`3WpZf7hKTJ%}e1UW-)%4wdA!v!*v2qG2hnko+IbHJuj zZyXK>InQi?ya9ts62WbcL=!o6!;!0kfS?0SnaqgO3eTgJF_VcsGKp-T!s9 z8}?^5r2i2o0g&SrSnPaS&)8gJG*Jl zlo9zf{@VF&@Sb$fkSK=Y+O0-UR4%@4pYcOOLngEH4`SMw*=Ho*zW@LL07*qoM6N<$ Eg2}Yk3IG5A diff --git a/data/themes/classic/arp_sort.png b/data/themes/classic/arp_sort.png index a89bf913b996b2d52fe6f34dccd9714ec5fcb4e3..a986db41d2e920280b7a2e3b4e30e29ac95862cc 100644 GIT binary patch delta 75 zcmcb`7&k%Em4$(UVe2pRS3pYD)5S5Q;#TqknLp{j*R!;|d6Cn?H1q#n2aV=4Y8i(n e6dwOjq`|N#Cb%$x=iEM^1_n=8KbLh*2~7ZZ1RiMs delta 200 zcma#M#W+E-o{fQlLH_gqL?FeM{XE)7O>#9y1rGfu(c)345SWx~Gd{h{fr%lMMM96nI?YIX|*lRXU%4t2pP?B}S2+ zrOp3ZmP~p2SKKAEQ$^5+O)X*TZ$25b@88UuoLFzXIde2RKi)OO)I}k%bLWh9k4xR> y`t?q6IkSA~?l0+G?bUrib@S5$t{?Uu5k9J9EV$zHiNioU89ZJ6T-G@yGywpohDuie diff --git a/data/themes/classic/arp_sync.png b/data/themes/classic/arp_sync.png index c9c44a9ba9c78cfdf115635270ce42f2a482a1a0..7f5f49bbd136ded5e3aefd4a043ab7284f71bd7a 100644 GIT binary patch delta 127 zcmV-_0D%Ad0g(Za8F&N$006c6H|hWY09Z*xK~#9!WBAYZU+KT*f93z|4A{Ycng6~2 zR|2sNLJXk^!O;Riun?vuOd)h@v73WwA6BDL1QCjPftX@PVl@HP98A3kwlWanH9?uO hfFeHPFafrx2LPLU!^fx=UakND002ovPDHLkV1o2nHA4UZ delta 234 zcmbQp_?vNpWIY=L1B3kM|A|0~Ey>&6h2cNLD~7#FP0zLfMK}vQB8wRqxP?KOkzv*x z37{Z*iKnkC`#okZP6HjiO*&VALLHtijv*GO&rUYvYj)saIUZE<(@`sqLsZ{$x_Ho2 z_6s^^Ic2ZSj97W&nN)T8mQOR6F!3A^zR|!M;hFr3aZkg_Svm)H?~A*uP|R{oXH8!k zLz;Zbq+3(oUC?jh_}umEietzl(X)z^MR=q7l zuMsDQ(ZBP(J@TPwch~p5kImDScMT&4XmMuPPh?SemY>(RKYur}c(dp?pA`su;X3pG z)IOXUbS-y))oo`CsMM^hl@Qv`fvE3a{~2T`5{xy&seuc!2Uy;^V)Np)wv-PQgYhu@ z3NWaM1mgaG{cTX8NU@SjalCH>Tp!O<0XBB{7f$(D@yDI3Hzo}WE%6UPhvh#7DInpW zNR%&g6Zal)XMc%HZ12o4?IJnfdS2_1_Sw5v{4anK1myw9D*>Mu@Vi-Zz!E+LHOYE) zm2R?)$$y`hx4w6*`#ik(^p+cP?414q{FVfG#lO%0!VEgZ-v;1}`HF({<*`pCR<>EP zzs0QDXK!D1A1%I04VONCH~{g*f++<_2GSY`<%b{%&mj*9{#&z_!9-~k{PG9N#*AT6 Sg_-UE0000Fow>MDJ{mi+)NNh0iWj^;tug60L+gMU(mRQ8bTWIvF)p`dPl{+VZ+T|s4fpH2>poh(sJ6dJ22Pz9!G!Zq>Q zx&ChC?*^BW(--=OPiqO`n;eK4K+J$^G1yjoSlvA^`)mF;12vxL8%gdh9_>zJg{oLI z>R6^KmUs=29N-K#Vkj>y529z=dnfZsa{y3RcQOD-#echsr*NyimQ9_L;@{iBY+Ld}$eDhp1sEM^u6J^VTYXJ3#2BP7XiR1u*MM8o~ zqdTrhHAvBY>*4X4Jx_8k;d70;^wBUhHUvSeYcS7)qySO}5S|G^5}^$V-t^h1)tO}f d?=$@?KLFz2y)N4h)NTL(002ovPDHLkV1j&g1=0Wj diff --git a/data/themes/classic/arp_up_and_down.png b/data/themes/classic/arp_up_and_down.png index 513331df7b0c3ed8c598093a458ee22ce8adfd60..ba6a9092096d7ae179939e648c4e93ba6406792f 100644 GIT binary patch delta 441 zcmV;q0Y?7H1kwYLBYy#zNklsk3OQTxA6uLfH#`ZVnvhJICgt63pFoP4m9Aw8=%ZXRh zSlwo&5kW4ED%$$-Dw!uJ0*5dRhsHVX*{c`&`48UF9A`+pm0-Jh!*>U@+fy|xm5 ztB8=bM9>;VFkgAF%24CpgbFw^c*&!XzhwscEl}gc&>kNmoJwx^d=Up69*Jc(m&5?CW1>y;eu12wq5=<#N<1RufkfA!?ZvP- z^=?k>{WjEIt$%`6(fb54whPD(3P^_pQnre&0lSJdO}>J>jb%^5{>u(IJ>d$Q%ajLT zi}2k<(iWmX{^sps#guK5e3099sqj~!!ur40ILzf3Tl#EMO+RXb^2k5?sH>n}P3g8j zH#x@UDBIa?BpenKE=$#Xpp!cHr*p!O!|eEB74dF{$})+@((UOgw!Jr>wcjlwOybJ; jM(banBd&~Y0c%kXXRqdIO#l2500000NkvXXu0mjf9mC#O delta 562 zcmV-20?qx>1Ih%DBYyw}VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-T@g792^XJ%0d7D0oO@HK~y-)wUa$)Q(+W_pYOZ(%g;?3(|Uy_-6OcD zIEYg#Vy8+G#5yR7r4B_LGB`QaLE}($5Tt5B2PeVJAr#S7P=B2K$x=mn(Ilp6n>6?4 z-rUbYE7Z`|g1*x`obzzb;XSa45;sTf$;SoF^l)aQ8o3!@pm%5GS?w*UtnF+Ykh*_D z=h6enK8xkhB{nyq{~j88+v;y0L z{v`A%D4u@J+fKehrM1?+7WhI4-;5}qRMZ!{626g1`JrV7xorP6{*}a<*>UIi!I_~; zFDtDj`L$8Q3F?$m4d#1Y7J9s&caQ>{6>?S8Deb!vUw^m4lGl7S_H=48X(gnTQb~jY zR2Xy=?T(_+R@7Z35oW3ETB zbjxc}ODh{RPCgRbex{F$3-+;|y)>L}S^k%P0Pjht$bYF#3;+NC07*qoM6N<$f|rf^ A;s5{u diff --git a/data/themes/classic/automation.png b/data/themes/classic/automation.png index d6193e4f6b6e228355b5f5c606569348f172b60c..fc451a709827bcea3fdf58015df4caafe30daae1 100644 GIT binary patch delta 379 zcmV->0fhd_1eF7jBYy#0NklJY~c1||8e57+Sz~1Ev!E2>grlzGtAu5y3xhW?=#38Ah&`EB>49qZfxhC!WjOKgT&SlKl4 z@QJiCFfcGOFfjNrF)%P-7>11P+*6oC;#zpPx%v0&>FFiH3}R$tWVEueogyeCS(H}1 zkOw7F@EQ2`9|MD$jw54I!CZEJLGc-e#wHWO!orv>t$*#72#Y8rB;_yQVdoTJAj!bL z{}>oVB-9wvOINZnOQOPvcOzOG+<(5FtUzfz@?9L0||hkVjz)`LcD?0cHzus6RH`= z`2YWZ1}jEJ#!3bT25J=Dj4%UPs9+ca0|NsC0N~xr2@AYc9RL6T07*qoM6N<$f}7&? Ao&W#< diff --git a/data/themes/classic/automation_ghost_note.png b/data/themes/classic/automation_ghost_note.png index d14c047d7aed311ea74bb7e725bc2b1681556b4e..d4b1416f5e4b68e1ad2ff0cb253452f682bde891 100644 GIT binary patch delta 230 zcmV|g!axv3hn&F>!KCp9dIRwQ zvB{;h&JEJUTJ#=TDQGRIWrS2umW1HA*+m3jGk<5_FeC2}u%O^VMa7wdltB7n%7IVz zOvHvcPx`2siH0E$T-=GYyrM(I%1bSuyz)`YHHHl%#v)d(wO`y2cQ2iB$|Nc~8rFUkRSDSNsIH&oK z*>m^4e)o63?{~lZ?at<+!i9;N2Q>(SBs%l$OJRM#ToU5o_tE{{`LH?#N}asZnSmt0 z4n(SA5tWRAMK!LiR>dGOaBL$icf+=fk;{XsX-fTL*iMbMTVQ)`6eF)8Rca&=)~&Em zuzfGAUx!856xr+duq{6c%IAGGg4_dpBlSY3t4K@fNJ6JK!1V;Br%8e)jat$~>&-M_ zfcvXn8nZ}dT36Ct1?}4)+!kV>jby?E8@;46` zXt0V*%V)>BpL({tZtbZy;`Cs%>UDnR-|Q<-Tq=2c=i{--3$iy78D#N`1;2W3D6Q&joIZLjIOlhyg@rRn`o$L-zUdFU*{XFK=(_CRk+^4U1u-oEVz<5zx$ ztY6Z_ zc_XH2M{wV}N$$fi2E&58R4R2XrdiRaV>qz_=)%5$d|*gsb~wPWtAM1f03N|_L;ulz z2-OOl4Sn3`B3yx7P$}fE4uayH8BD%Q%O*;$&*FbxTOKw`9EpVuFv!!}gmrD0nh z#!;;TkyhEzQW!_MVi0HzI)jeD9ATlBLbEj5%pk|pOYM143fQxum68;oalEdsPFJVb zi9rueTCG-`pm2)9AOZ{3`z0of`9lxO6cG+P2(dvSAPJ&hD|0dxVvS@&Q8=$1vCkK9 zxkl;zp{NQ_4?N5Sa8gI$J|8}QMM!egLXxOK-?$>=t`7iwDF}%*K^8b_fnR!fJcWFN zMj2$6Jc2KvI0eO%=h(cGLbzb@=_fW1UVk4Bh(6pr}7J>ovWN+`b2bHC6JE?3WkvcMjHQ9Fg)ro zF6WF9k2CTA(j-#>j7u_bU1SU|YimquEr0d-^P6Tp6HE45G7IeAJB}vq>3iTD{=>lVi8b@* z-%7rga0Su#-*-lJ;CAN+JJhp|rx5BjO@B`f7d95Iefm$!VlK|uufEg!VagTZ`MzC^ zP15=4KOuL&mi$TfnKv&qn_ZurDLqlPsppZcH&tIe^GJOE=Sv>y_@L*W&%fHRdT>YJ zg^R~B?!?CRB;Q;#v@gS?EA_WL6>RQ&Y;Uuv{1;oVhO6;;zZ*Dpcj$W0E3GXnmM=T^ zoq{SyYES!)5AVPE-u0^82X{5O(WTA3IbY$X8@A3L9QyijT*>v$_qUo4Tv$~9Y)@9~ k&iTW0I=sCr)Sz;3CfYZ2w*Tk9mQ_WZjzat11?B7h4YN`c=>Px# diff --git a/data/themes/classic/automation_track.png b/data/themes/classic/automation_track.png index a7480fd70fd6faa3dca4a9915d6e155a56a4500e..fb580c89dfe9eab8d8106763a30c3b2932a59123 100644 GIT binary patch delta 387 zcmV-}0et?41f2trBYy#8NklaF)HIx`CL0?Y zOIlgm9rE!D`#gEhzW=s%PCpF|ji*w}@Bj--tB<8MQ-1C~`RD)M)Bpc(*!$+cmv7il zQ#12J4h{|+#F%4ZViJeTg8y@tU;Mx8#D5gL?eNe4aml5>%zw?7{kGEwcszMc%XeSv)P1VObAqhlNjZ= h5|;%mRKvpt002;TCkt`yelGw3002ovPDHLkV1mxV#8m(Q delta 494 zcmVCL`2q z0004|NklMU2th+`K?oSmceVscAT+7BC}ojE#*Y6_r%C ziipZY1x1zf+`M+uPgqDu^2Lki+bH&mv9WQ0g{9TU(wZqhcYmM!^MCK@|Nl4aee>VT zH|(dWnfW0H2L}#f%rP-BiNh5{>r?Wk^SSzDv;F_i%<%Uw0|OVgFhfq+Vm3`(JBx4M zf88`NFp$P)xP^sP-v9sq7cej|Xkm>5X?Z<{zyBCeFe5V?Lu7IntAksjG&={^bzNOu zOKgUlTUs~r@PCQ4GB7YOGB7asVYL9=aAa)fp28dw*TTci&A(q)S2qzkQCM2rOc4~4 zEJ`b0$b)V%3%UjPfSQgYV^YCf_C?dOXBZf<>8mO$6+e0Qa*?ozoPS*Q3~qJ~Zv4p< zpATSIL_&=ry>um;q?AhLgNILENJyy%#AeUtW?|#T>SsU{AN>1ET#Do55@JZmUBq_o z_!%bfNeUuVzq2tISw|7nN4^C_g5hSt-=Xec@TMzCV_|S*E^l&Yo9;Xs0004kNkl&iR^~X@4EZLAhLhZ@1e=vMe7=X1?)bG#bG$3^zUiKr)#O2ZO==bUM8m3Wc@` zg~G?LgaBaMwqTlOpi-%9GsaGd$ni~t&~@FltkdaO^?LnDQIse0Y#YYd z4gfYym`Eh{L{VJTH0?%J)oTC`M0EF^V{Yp!l}erTdOfq*Y(4|HC8E+)kceE}SS%(1 s$OG7z$GM&m02pJ7L}boo{(NJ90+T!ORwFM?S^xk507*qoM6N<$g5fCM?f?J) diff --git a/data/themes/classic/autoscroll_on.png b/data/themes/classic/autoscroll_on.png index d2567f25388373b7fbbae8d169226d6b29c87e57..26dd07106de99550d746757d476370c9158fffde 100644 GIT binary patch delta 337 zcmV-X0j~a`1nUBjBYy!hNkl_s^o?E{t{cm|8=byH(`4cs5HB{wD>i zw!8gMFj74Z)E*4POehAbg`3@%-5T(pSgcrS|6N8``6y6p84!D6xKKIB=)UL*xBtXo z*&Oq4(wYhffZ9rd*bQqKs+;TXRj|~!C2ygA4;xlB*ZRyi$M(NeqR|&gHQC)jEhRwg z$Up$Z0&yHREJ|;pdRaVN_mjAi^j09h7>KPIC;_Ub+DpY%WM%`IML=xEKq&y`4pAT# j2*gGVR0Lc@znB96SmDs~1slwI00000NkvXXu0mjftBRY? delta 521 zcmV+k0`~pu0-*$uBYyw{b3#c}2nYxWdle39!Z>HgOFI~XCJn4OuShs$T*u7o)F6-@N?Om<3 z9C&r>v-{?mkbf<^(t>{feM`RmeXmxi+?jn+CWC2M_|qHN;sJoT9`PwJ)LSRc#}XTg z|57HCG3J1lVPM=J+6DrEFr`Zlbv0YgUKT<;A!+>sn&!S7D!H~UcN*nJ<vdlz+#+h{MPtC2x9ONz{Jz|8c+xd5q$C#61JLD&kzotk(^uru~A1gWFj&h00000 LNkvXXu0mjft_Ufi delta 279 zcmbO>_%)r2V5`-DoZ$0h<6qGD+ zjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw=TsA#FDi(`mI@7u{6c@HZHxY`Tq z_HJL`S=iCmXSDc23Y-3f(m9F=(@aWCrq_2J664#LB;NT+mFvsCc^4K6pXsqJzIFAR zxSYPpv5e$1TUt+tU9>cx66B`nl2ID>@#fKL{o-?s2RITUx~gi_wp@#w@srJAdzWoo z@tx&IB;I?iG;YvtIKJt|W79=jPnW)6U}BgVB$QvA7H8|Sq%-5zq1pO>RO0tl?bobf ZYA!4hO#YOs5&?8FgQu&X%Q~loCIJ1>Z7Ki& diff --git a/data/themes/classic/back_to_zero.png b/data/themes/classic/back_to_zero.png index dfde88b4e588a087df4886ee1042502f3d7a2119..501bc1f0bbf60453e18f799609b1e89d70bbfa1e 100644 GIT binary patch delta 110 zcmV-!0FnQ`0)PRK8D|6l001X|)rJ5707pqgK~#9!V;CC1_`mUg+A1{CG}?yF$53b~ zWIW0EHzprNp#zI?uJKzS4}*`Q(8SaD8blD4Pm)5?ttRXl@`HzPfDa1*07{Z$<)9BN Q(f|Me07*qoM6N<$f`E)HIsgCw delta 302 zcmZo*+{ZLQvYw5BfuXlkmKR8|6gzo_Z~#FKM@k2f&spFRSX;rh<2-RqQ`pB z<{Jgs;XAt)hCUSA&~?XoV@e z`m1%;t{&{>RbH$zWuN#DoG|QRZ*)2oKCAZBeznhq)#r+L?x}{s81et@fwLd@b-4pw O$l&Sf=d#Wzp$PysiCSL( literal 689 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdl8)EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4l@>!cU%shP7X8Oxb&?0mjFX!4>nnhDM&hhKj^2erP(a6dM-znf7$h~=i+z0 zK;44a>%oQ5Uu-p1I}LZu?LEp=x^mhH>tE69PyY&gaJNX;^*D#(j;L$PndS?Xo8)<& z>^xXiOF;BcIl`cqxuScJ~fZ}O(fXKNo!RnZkIZ?X}Y zn$>uElgR$?^cC$h%iON&#VO}^cYX2LZuFzXbUy3v+9L^Ftczyv{hCzhRw#JU=|YgD zceQhONa({`k8dpZGd8}shke-;z4-rZl}f!#-b*W{s~^(hac)!);c#kHux?yhdoNac zv+VI=L(4bJ$vw++JXSFN`vp9l^Q zoVO(RYusWU; z_CUu{Y%)_ike|II{q)8ea~f5@oZ7fU_=ffIq&&`eL#5-7ycC?WO_w_em@~OQjkqH+ zG0;-XoXPdrlZZPy56i2bM#ONvnVDRuxj`N5B@vD!zXv%$Lu()SfQ)v1c5>qk(G@-C nHqN-soZigj2##fB;)!_9_gQajyHk3A$&10$)z4*}Q$iB}fKL}F diff --git a/data/themes/classic/black_key.png b/data/themes/classic/black_key.png index 93ea71bf72d576461fd5662f4e6381033d77e590..ad4b0153954d7ae07002c4243ae345189473d5f7 100644 GIT binary patch delta 241 zcmVGxv0dcj1P>pe08^*$Bd!LB<-!j6A@cbp|kFp-e!da?DEU zhw?^Sd4%%rd4}?hPbjG^1vFAA9Y%4XghCN7TWHOoi7yQWu6$VlXAK&udNZsWU$@a^ zVth17B^X6g<87+$;=08qpBZ0%l#&!ICay#AUzhYGqg4G-5BHOu+F#ra$8T9OCF2E} rd@sWv3*kx*IVa9sxFVc5uw(QEk3@6fJ{D?L00000NkvXXu0mjfN}XsK delta 279 zcmV+y0qFj$0@DJJF$)4>OGiWi|A&vvzmYB&e+P6)O+^RU1qc)!8=9Byga7~l*GWV{ zR4C7l(Ys0mK@@=DZ`KtNvJkKc*rXCKm52{uW#fn2RQTKWD~v%?^|^*TdJj^kp|a z^{v@4XWKB;Ldthv=DOFr*6jPZ>aSKf{P!0R+9O??`d0W_!*h>~`C;q{$&G}cXB+yDRo07*qoM6N<$0fMqZg2Mm+ diff --git a/data/themes/classic/black_key_disabled.png b/data/themes/classic/black_key_disabled.png index 7b73b5557a517f8840cca220e00d7aa8d339ea87..41c7483cb293be855289d8804c8ba43ab6fc8fdd 100644 GIT binary patch delta 215 zcmV;|04V?O5b^<#BYyz7NklMeJFRQjUUJ#Q%ekeB6bE1c@`FDP<+O?8}9gvxUqhc>-wveE&0_ R*wFw0002ovPDHLkV1ilmZ%F_E delta 2147 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 diff --git a/data/themes/classic/cancel.png b/data/themes/classic/cancel.png index f4b6e78f60a4383b4be4f1faf8ce12487a19ac45..26648c3172107d6d866cb29337278711a5809352 100644 GIT binary patch delta 1042 zcmV+t1nv9p38n~;BYy+!Nkl ziF{6pU)o-@+x_Ow9k`k)lg|50zqYjuuYB}TFmdO0Bp*5m-+!!GIBmB}hn&=Blv~oB*vZEP~DT?l$J{`u2WzYx>j~@$d#BgZxOn7MWWPgMR^$_}+(C36cZ^r9UqhzE> zWVE9y{WM~yRhOIx6~ze7oeOi$tSB@*Z~(MkJzxwP2)$1q1e!E~k5EtbYVb5^4F9A_ z*srP*+JUP6vl_>y!fH^i1FC8mixz7jzgS)L4dG{gV(gNhaLELAGJ zvfB|L*dQqK$tU>s(@&8?xV)Fo<9Pp~RxRuh!u;)0Sk2o;=&iD4aW8dhJa9Vkf?yf3 zNq~nLcq&ywgjwhW%jfd_V@CdvCEG&yZ#B=kMN#~hN|(mfv}tjT(7V)AhXYruJqx|nQ^f|0i1EWamnSvEjm1+ z!$U$>6KZw872)v@nAIzmN@gYPr2XYgnQ*#D5iI-VO0VTgpJOy<7|l7tuM>KUwO%2F zgm$z>s-)B^F44^rC2*hcD}-M9;tO160DmhL<+oRwFZ8oz%HTY|ewiOxM(9sADi4*) zQl1rrUn*7%*K_50b z000McNliru-U1jCG$fM5@!$Xe1bj(EK~y-)y_HRD6jcDnfAe;Bw_DhGZ6XAagGWge4{}t4fl3+$iKG(bpy@%6CPeXr@PBbI(Jhn)3wSU_Or=0S zpe?)G{erD!-^|WD56sHac=F&R@AC3{|Gb&^|ILH{=@Ecu2!??m;0HX;{C{Qz;Jw(; zFmq>kSe|3=2SVqCxVrL#_kSDgY?e|wgC-@$^fU|kJmD={ zB4^+j5Ge0B7>6s59@xL!-`tFK_by6GRI!NAU04W4_v}e&O4*O^-(P2CGRQ;%TS`nR z(SiZo4UOD5d^o#Vsn>z=aIg3`nIgoY0b# zu&f3>)_=n2!GpOi@D4ByO#JhWo$$KTFxY&v~Y)NbH5a1%&qm9212GZ?~-7z$|dfIpn+Ly4ipU6oBM5rGI)ZzV-H;h}Pi_KY}JDNCTIY2w6n; zRa3QoJtO<}<+oebULXa`IH3i=)GJDF0|qb;WG&OQ3#U#~WtwkGg-~-ssEnqmIU&?-A=ItfS~anC ztAF}hh&1pV&;a<#hA!6B^Bs)Ey1Q2}I*Of6KTs_g#2XIdR_gwuY!)>#Li^^;;p0M_ z07AghvY`(t{S{nWxp8BIJvN4sN?|+iq=iCcJ35$aYeS1hQOb1H&Q71VSj1RZz|=IP zlo)e!guA+ybWKjaa>BO11q>I!mvAoF((;s7(~y&sXiliBrUu#G&PY6-+o@FVNjTLp zG0_$1=&06B6S=TJ36Q3VZCUu5o0mL0Gqe5-oD={%U|Z_iwOK0=fKZ5%reXR06o1>= z7#SSQy`j{*PERLx!uHEUL#bR-6DktH&@>1HVAU$dFJI2?fvPy#nf)7~WbcKxT0>a?0000(v@uS?S|IuA_ei|{!-I0aFF;&@ zL3T4_a%}Cak4+@7Mrj2o>6lv<*zw=Rug9;JB^oDxk+`^{HBfl!_KW`B{Lo=@C#{+Z z74~2}4;qHQ04#r{L=vAJ{%kJu-tQ*@_(z0Oq&jSP@PDGgxsgRv@!I5Tt#qZ^UNv^G zy+s8kho<&fV~qGfEW}PFaxw{!rtpLhKPILzBuGNUjC6&2$hQzHJp$=gi2Ak(E6S{Z zXz5YHXqD^n^6!~BdyZeOv}Y!%poTIA(9Vk}{g6U4U(L2V2~wk6F*Uk!=0_&tt(H6a zS6iR8vY7-tELUe{*chkNURCg$6 zCJm*yF&fQ6&5DR@9hgW69i4dX$ERoQwW>3OG~A1fKmUzl2;JeDmkcI$A|Vtemy#_c z)TfER$%|sQB>A^JD+UQG5+E@$U5ND&Z^|$;LWwkp#s8xf000vE4~R=PTi*Zx002ov KP6b4+LSTaM&~<45 delta 878 zcmV-!1Cjiq280KYBYyw}VoOIv0RI5$0KFoD=Cl9+010qNS#tmY1u*~s1u+4)?I=M^ zxX@K~6`|NDLjQoZ>ug$t(oLls2`GXqYr!HFDy1sYohxmn$$u(XTBx*LiDDxS6-;F^ z8IxAuB$>>-4n34k9Y6KIp_P%cZKXFz-Pc#z}Yvc=Ol0%XaWrjwIFB% zdSLsx11HxHZN}vTTrNQJ9+&eF!-H#6{Pym}dEg2V0X1M5hyl$4rnI~7(o1{$_5P(B zf(Q~iT;On_2Y)ZTJo1M2yfgUK%n!H!03HBU;1N)7m$4&OB=mCY(A5RtQ{V;r7Xe>v z8rj*Q%^0A^T2%*@tR>CNRwxRpt?wnvW(k-FG^Uvp4F#ZR&!ELYCa{PQFD&!wp`ikB zLA-zyL_oZw5!KUt_!Plyfwej@^+|PN>ddBtJCML3fq%n!4?Zbm_QyY|j8A@T`(s-9 zn<^v&*aKa~*Ed}Eg>XQefV47Bjx?hB^rM^Qqt>D_a1WRzaXzi2m7b8Litf(7(yzV{^tW~j^5k^9 zxO^|VQ#}GK02L#zYy^ZW@_&g5`J6`;suNSa*N49y0>)R2b6fH# z?e05Udh<2@{_+wt+ULkGnywIlZMT_Edz#B&9oJC~!p7MXK#}fMwh@aRHRsaA107*qoM6N<$ Ef|&WDJpcdz diff --git a/data/themes/classic/clear_ghost_note.png b/data/themes/classic/clear_ghost_note.png index c9f85a2b4ab54a5b206823b56116d87a6936d8d7..a005b603496b43fa781f766f5ac563e2b5b18961 100644 GIT binary patch delta 811 zcmV+`1JwM$2*C!BBYy)3Nkl)n&nTRmHy$>m@5jpu7OsV!coPxp^CF>y=x@Q{=wCu=0d#ZZx*4Ozavs*sN#^YvG) zx^kP4PNboEL`W;|`}duxq^_uBGVr>4S9zy>`%6~{X<4WA27e)a+^$_K(P%W#&?Hz} z!_8K$g6O}sN`Ea~T1KUfjql^ffVIx#<+|qMi@^Md2w+hlJCXLt2}CV&6(H5XQk9nn z*PAz|@_@g(1#iy19zPzqTqj)c{tNf+D0}uF5?h>@2oHMpq*8%1gochR-jrJH*;CB@ zyj3K=g3zeB%71izHgu?$AbdG$R3V-Vs0-;xt`f49zDRa-^y0+nNJ}Q|i13B3zedO$ z{3io}t4*4K>*dR!lFRM!{sJp#3oY3MktnOH4S&Kq8ucSUQ{A_b&1Qfvf#;} zL0aLhcI_bO?OPCs6Z=vpy{M>FjB`5t+c#Y;-%XnabQWOh6IalSczPoi%PTA4>%4hd zA@(UaojC()g#s}3iPMFyFhNRjRP}%*%ikYvwr;JJKJ3#6Qe9l2zOcdTjc5=f-E>QF zaq-lsRDWQ9{J5^^dMj6gq^Jn$3n$)(06I787Rc9y3yYo(9;_A8+6KLO16*WKPjI?A z;J>Lz3DS|!UQsp{KoR=+Gk?SjFNSsKQ9%F zTMOOtbMaz>I~_X;bGQ`G&d68f+s(FZz42Uyz>QX|q_j_2^Xm@){8y2a^UY-A#@G0h pF(eX;R8sy7%3cG+3ESbbsKdu*m=b002ovPDHLkV1f#6oM!+4 delta 1068 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 diff --git a/data/themes/classic/clone_pattern_track_clip.png b/data/themes/classic/clone_pattern_track_clip.png index bf4b3669d816be1f834204a21be141ef63f9d3b2..c84e7ab8a4d606ceaced61a20c794791aa902d79 100644 GIT binary patch delta 344 zcmV-e0jK`v1n2^g8Gi%-001X|)rJ570WV2JK~#9!U6C$%L!h8V(ngOBIMti~gdG~b zc`^LRPe3=?*e44(o-_2YB)$4FUY_EM&jZSA58X622p(!s8diu1LlFbr8BywXBts&ymEvsr0FiVJMGQ|b(wS4hV)2xZ_Pt& qKu7o9yv!Y79WlDM2K#8G@BRT$$;;ArHWpL>0000MzCV_|S*E^l&Yo9;Xs0005wNklNSS94Y=7?);BOkIK|9zzWL6XSw=*#A*CeFIfw{aYh+o5EX$ClsmuI&I2^tu zq6E3{ZWf*g&N+PF2j?7|b9kP2lZ-K!0G?0?ueiY&bD(^2RnF)0&-?wJcDo%h#@>{G zMC9@j?4M!D)_>0fjWN(#!x-bhRUOp9OF*r)nCD{{7|K)>_|~*4b79?F=oj(P)%@ z!#IxJ_gX`1U@dJyah})f6|2<>&1Tct-ZiwBVnYalG=EK@l!BBJVHl#@?V{iBBTZAB zPNzTrJwpJHQbH*OAp{PG13H}!dc7W$Qn*|$*B}T!0r>S0Xj`>r>-8F=(FpB!8$t*O zA(Gi__8dh~NJL*sKsyh6Dc16QK4ZJxVlWt>)oMWqfh0*z)9Lj2cszzg^tH0(<#PFM zu~@tZfKea_UM$cUQ-uAVOeP!=PS1G0d0000k8uD10Axu-K~#9!z0olWfG`X|QI{UU(%e8$@Sg4M z?9ijA({~X`kkGAJlE5R7WEva~{UT^shVk#SbhIgp-ce7j6Im002ovP6b4+LSTXv*gH`G delta 215 zcmbQs_=0hQWIY=L1A}$0`!68HmgMd3!tfsi7wla=87RV8;1OBOz`%PQgc+SQW>)|O z*-JcqUD+S7i14tmGgsEV1PYaUx;TbdoW6T$BX5I(Kx?9u+k^vbYO{7M&rxSxyy9y9 zL(w)4w%*pblg;`vbAtZsIxs6I810-GGhHCye4Jt{3&*72LYEjO=kzq3UUPf(v`fsj zq7xdYWj$cndO+s@7tdCQcWUqW1RCGH*_h1`{cCIZ^Cv%#)a^IpU8MWNX_jm{&;<;h Lu6{1-oD!M<;J{Hg diff --git a/data/themes/classic/colorize.png b/data/themes/classic/colorize.png index e31f00e9ff39d15983c50e17f3f081565b6ca6c9..c4a86b9f3ff17303a41367f64789e86278f82447 100644 GIT binary patch delta 1338 zcmV-A1;zTM3(N|TBYy=GNklUkzE|_ zk2xeW%RpVSu+8b%yd;Kcf}nw*AeT;1Y^x|J6D=Y_selNUn^JC;Q7xB15mzj&r3~6a zdVBVs4rZrpF?*6<+MLt#J73@LdtdgSS=;(1kx0Z43!Imj;C~b1IPp3Azad#BAr6UZ ztLI;=sknZT8oRyJN5ETrLDca z4HXp?$jZt>LP7#Ef8kGlxsD$c%}y`e#m;W}o(Y!ytCxhwNi3c(6iQ^uhhE&0?ovWx-Dn~~~ zMld-!iLtRUsMTu7<#JS3Rw6$?-zhFGE=EsJkNyYG(-oX}iuG)!%;)nr-)w0fp$DMR zXrR~YovZEc?uJYzgG3@hZf-8}^77Ez+v~h{Gq~D82CggahTXkMA7wRdf5|NrNLkTSE}(RwJ<97qPO{EZ8JNw zm89Y+LVr2&yM&m77aV9QCy9jMBQIS?S?{yk*O9b=x-77ZiZ%{kL#BCbbym-Xz#Z8vu(Q zlaI17P=8b{W7(XvkXSoi4mV;Jtv~R_^5s@Vdw)AD77MIaD_mnYKZ3p~98KqaFxnmk zi~1s9QqT*UFe=}P8u69=Bwh6E_=1HI2lwA%>(2Q4_H=Y~XiO#(T;tGQ#YE#_$WoM^30&h``^!hfywFy0l%PP=A10+NH)SINH|0DD{R$JRgmMg;3XQgzo+U z7`k{+%hMpOuC``*c=)jA;(p4{uY2nIESe2cl}ZJ>-Ttg3kJ4bdw+hgwtS9Dc&YS?|5|K!Bjpl^2h3WV?H`Jz+z#v_P!BQ`%>i6LHK^5BC z+6H4|V>hsuO-xLTUtwY4IBlkLFi|TzTUsyQ4|R_OeSLinDp^TXRMZOQnyrkzk>c+k z+mMu0-I9``l&7cb6xrE-w5OyDRe$f^-5Sr>!K8$QOd6MV`m5;b>T>en!2=r!Ycn!3 zzT)BYyw{b3#c}2nYxWd$N%BhisP9PW=fBs0rEU9zyv>DYWEhJR^-pn;$uk4{i*izp}) zEh0jxP!TLIrMxVoS{{KSt_a0a2BnbF^4+-v6oPKv8mwf6tSNrcQdxV}PkskG?EjlA-N6KSTnV;P3+Ug=7buYN5t zOG{hAL?VAC7Jqy3&p(9M<>nMN8P!c%TSG%Vii(PmoSclv$VeppAsYR5gUCCCon5?# zrEd9|iC4T*Ou~~SmMxS>0)xR|F`Lck?(RlYQxl4diy@In5ET`L`1p8KRaM22 zP_&1MWOU6Vmdz3~z=5P!-aLQ4s7$LJ=7$$BLi)1 zZ4=LKrI#1)Vd7kh_9QWPhM3i{m4x5DhI^;3MMU66P!KY=Y{5AnADj;ez@G;W;JQ$V z9I137(tnPQ4p5rV+w&B9)xI%F!bNWYq!0@T4?gEoS0bB`rT!RbE^u(b6~-VU;)tWf zej=Fe$Ixa^DN2*c1fHs)r)4l}_M@%lbXg5Mx1FT2N&L9@LoVeAeY~uNB#{$bE+$U9 zxFFTvANRAfF)}g&o6QD`#eyM2Jus|=Z9s)*s(+nOewm&%O?-%p7ZcIM&EUXQ3Wbvs zGFGg>wH-T9k(I>{=(%ue4C`gEv_-={PzhL#7=4_A&WhuD6-(jLY-0UXjva_O6u;Na zl`F?I4Gpkbtr!~{!}MXdJchA40M!@VFwhVTtNs%0qM;3{F`(X!QrXpmBwh0S@Wf#L z#DC#~x7mhs?(VIPjg39S!^1PA-{w_6uyNHsUuVu-O+V-8}zlmL-SWHFQA*Wc6Qs0 zb9L2B&4ogtZ)Ihrm6z@dvjz6X%`o0^M`z9=RHiVr6nu`3mNJx=mv@DShrj>Qe!O+w zJi*kQ52;joo%ab|!u;pQ57gEthkr@A23`3s&{gci-(5P?*VlK2g@tW;twzrY4Gs0k z&dwg9!{m*Lm-0kO8`TG)Z}axsgY?4MwaN@XKULbcZ51&aH)j5{e0i7~V;?d44&g)i5+4(v5}!@- i$>cKu;X=$O*uTUe)^AqI%ncs^0000&94RrkVFGXU-7mD9>7U3z=vGoabF5VL{mfs}xZPI}4IJytmk#t@gl zCFC{Ty+v&plo|Ly?nX%P0!@_!`jQ>R`#?2p3>=UdFu@Um0Dp2nna;nk3jhEB07*qo IM6N<$g3p&+ZvX%Q delta 208 zcmV;>05AWY0-pkqBrE1gL_t&-m1AH)28>{cD%8t4OEHR%ft7&?NwAoEf#;@qg%%8g z3~Vq7ppi~De}LvQFwRxlv~>5EegF3UU-j0ahry9S93;#X!rvXX_TsMJK;d`heGE)7@LthC!Ku58`f^1TWB3NuV#;QM?aS!^XgY8X6{OAqW6}azB|<)?Kjx0000< KMNUMnLSTYSbzuDf diff --git a/data/themes/classic/combobox_arrow_selected.png b/data/themes/classic/combobox_arrow_selected.png index d1345bd74ae92290056cca81c401c411da179301..d302a2c17abb6236b2b00cb13d05bc12446dceee 100644 GIT binary patch delta 187 zcmV;s07U=#0oMVLB!8YsL_t(|+GC&&V8SlUid8g<51S}+u2gDYOh;HnXhle6XhmpQ zNP(m0-?xmtoWc&Gb?kYz`C@ pXW#_d0tXyGRdNhM3@oIF2mo42Duf}6BuxMS002ovPDHLkV1mJWP{IHJ delta 222 zcmV<403rX^0r~-uB!2>8OGiWi|A&vvzW@LLvq?ljR2Y?GV4w zjlqV&g25b!Z5XT=L>U-nDQ=p#_40Q_}B`Y0|mtyI2jlbF698Kl4B5JU?Dw3 Y0K7psL)Vx^3jhEB07*qoM6N<$g3#w|ApigX diff --git a/data/themes/classic/combobox_bg.png b/data/themes/classic/combobox_bg.png index 83bdb41406d798aa9e53e3dc29849453de70fac6..85fee7b2fd34b7e5e98a0a738c4ad38dd0536c24 100644 GIT binary patch delta 254 zcmV3%+f9Vdk z`=4bUV+?Qgiy(ngNTH;XEk{b@w~J!>85^;@OEgwbUVtT73?)hKW+_H}wOR-0-HyIu zqB)8`SM_lMf$FOm>ahWREKP1kuC|M9J^m}*x>b4W<{Y8`d3Qk34j>bAXi|YI2l{Bk zdC^Ok8a2(O%J}&8&rcT+9bZkD{+G*cx5`;VlthoxGm|jDafvt0$|^Kp2gY|UcGOH@ zELPZa-it$is@E_Da9+*s@#sTx7H1}huh`cw%wt*d127rE*rA-oj`EFi42a@fqWbZ9%KMMl1o*Hx00000NkvXXu0mjfVKrsFw*#n6!e4PqY7(Ob(s?Xj{;_ zz7!Olv%fke9CZ*jINO2|jr56$Mp%CM<<}|_T?k?X=e>8!vN&g3t<{xMoT?hT+jnEz z+_tTQb#?1{@7`tm=da(t6Yqoj{EIIy1c0AJx=bx5WT+mfv45MGnivJac0^_D#~_Y~ z`?0n7wMU{DlS?2OIl0`)E}u>Zr!$!`pUEVpJQ0tWjL1lON81)W{zb$|G$gtRV&Vgg zOh!AS4N@nzn8`RE8+c{{6rupPCJ>wiX(AAatVjmAS0ZJQNwRiC97&@gXvf%l9-kLN zo*`gk%d$Wsihqlg034dcWK-|wp0an55y>NtN!v%lmN<=ThCnH50^W(0C3r&u+OT9L zjQ&0#IVG4BM1#r3@Ua7JUktVdZC*PBbl3LAdy9(^4g!VvZlFiGl~b5h1PEi4u}@k; zgA$XFgbM+DMxM#ZauEaCtVm8LCI-R^4S3Bgg=5n9`+q%@83On=@wqRS)Y7qyKm71l zt5KX5#W_@~S7;C!1??d-MCS@cV+d>;dW%#@(6)+wOg`2st{|$KM?KDYN>V0x8!AKE zkcqI3V`v9?u3{k$0l{>7b$w+QN0=Q^_*IPA(ZDdFCWlhNOjt1c8R}3)<&5{j8F540 z?3miI7JrApY64eRPFiA*G4j&v13<|!MCdiE0-C^%sTs*s$MmZs;gtAA0$50HZf-5% zN{Kb}(xIgOygk#CRZ+0wz^sU(xO;-)KZY z`7(x}=%@&&6|fE53k9^lG>{;dy+;y=>=fD*ZC=-3G**zYAR2vmK%ItV5*VKj6K{xW zw13_!B#z@N&JC&aFc=C77?r4qrF1G{MXd8n`0&C12rt`?m++XJF6M^g)4Y5!pB7&Z zFqQ;C7+%}96`yVU!ZX9OZ6kcq*|u$4YumQbSN#w6`Ndn4f4*_`RI8d9NsSNAQ4po* z=&*La3nh&rjTJSHG)ar5x_kPtod*@{;(xWf?CXy|EH|$Zq;p*7_vyLi{8=5}7zZB^ ze1;l}X*tGO8+UhCXDhoH8l2pWM3WO$5Zw`@BHx4w16>zkRY_XKst^omUu9WU`S8~I z`Xsz1sKZPM17z&!=yGQCsL{@g7cU`)(%^%JE2Za9D?&?b9|9zAmzJghj*y7%he;_l^hn9eOpFti{apO642SI2~H+qT<=hK5L~ z7*Wg-Nfdr`AFR||-G(hzmKI8Rosi*xN-HJh8BuBJM#3tIglq_bkkBST zAxbp;pF4T9rLZ9Hd}T%1dSf5IAjSt6U4~wO1XX2P)|i+e3^*7A?tod#;X-^kv^MBy@;M^{Jf_(r0002ovPDHLkV1kjj Bk-Y!_ delta 1668 zcmV-~27CF13zQ9zBYyw{b3#c}2nYxWdNxj;0M@}VpR;7Vx^!@g7_qbzDNs-4}Z1LQlEUPPkpk8P^ze? zP!!*)2%?A}R*0bZ5gHQX45e){NoShO*?X`gY-IJjcQZuo{Q@Yj|D9c_ZpuQ8q;V%m+t^Uk8ows97^^C(Iy&4O zr#`DjyKNvVD~K;(NG0c*t;{L&#;D^M=7FF(zJCh>CQWWJ5G~*-;_i^DQFp^rY6Q&K z*v>%CJsX=F#MIHHL`>aSltv}Anoy(Xm?@?<)`C(p+A7{o6)~5B=0ed-Y3l@_@7dVc zAT`6GOQbMJF-}r!Qmd3Z-T)LctYnJnRDN|bxZUt|0Q!E5H{ZNUOnn8>$Egm4=6wjr z4u4I`XC+x%PbdqFlv!VxSjweL006eGT_dK5CZ)tgN=k^iR>Psb*X(R*;A3-AGfWFw zbfIfb4QgPedEWpn08lH4LTwW@VWLIMj2I&l!a`q|voMrrGsApXt@aH!%vA8!zxFuCkKV!Y zV|Q?P`Mq3NUE|El=Qwlr9N&KCTfF+p>Q{mDfbOtIVUmCXXNB2Ve)InQOZ#qm_h0&c z>pi2@VNi`jJqWFFwPwF97sjEr<$u9QbxN0BTYvpj-rW2vQHezxw4Zr%%81gSE}g zPXbqbkiwwLBP(}3^of(FuKw|*(+>DQ&zyC@&tF)p>%UhW@PGX4We5Dvr+@$IfdB3f ze{#TI{Pk}g@E3mZq67Z@AOFk&fA+Z_I^a(~^BuqE-jDbD4=z6q>>lijyL0H!%8^@_ z_Wtdur@ry7m6c<3UB|Ajqw5k~8_hxpnEP1YtJl|in)|j6@5k?%wY4=~`00sQ|3*wG_gT))iWLkGEh z`3lGGd>>b@ZSkQGyq{8(kDmAl?#`)`A43p6_u&165cuNfKT8aOhrjd%VvKy{%MWq; zfdkxq&xvl|ZA;GsdqqU#_Jhlh9b7*2&Bq>p@}}Lpy77!q2h%!^&3#Wwi|2&l=w|Jd zq>Uk+m}+bdxzYDM&wuyXer@%__by$0?d!69_)gEczmZPIfn=DDWgCz=7;gnfZ92N$ z=<2$T)eGmIOgAz<$#0O}_EXZ#=(Z!<+qv4wXpaC-0DIonzy9~v)wckb=>?3VhSjbB O0000a`~?kiR6JyMn{>fmfdI1yZMes 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 delta 818 zcmV-21I_%J1;_@FBYyw{b3#c}2nYxWdw#0K~z|U?U%udR96s& zzdBX-Hr-AuGT@A&I3W)45eBj_Ix7u=iHp2}xX}m5Hjt22l7DUXE4XX6T7Oh4U*2Klu{eDXNkMx?m#F4aL2P>L=ZUn3Pt2G zIM13!j*sJUCx4<6fQJ)+MaYSqA5JopdjJjotkiKZtK1oKF6n18`xv+(=}yUC1r{Y;1DHR0=({#v z`m03b_cowmKm)@v@z3k)X~daR=RR8K9AROkDG4?g@FB2h zX75P4`+t)7o02}<;(G`jo3NLF-$urhzn{#m+dZ}=03Ioaz^S{WttdYhmRSY(NSV{ z7dr4TNI$-O46}*W?WWc*K`_zk&7`~sy@17PN%#tGybQQ%YJcxLuq06wDyEKpezqhg zQ!%^$^Qq{F9Oepp|L+Kf1+yg#JhSPR&r~(|xbNe1V;j0VGHfr^S%?SH2(=L8Al+(DJUEnS62P zy}4^2j9nYcu;b9$G=}f?%ILf|??rntjNQ|lt?pU(;4>?HMm^nk86ZzneP2yq?RJxw zDO!3%&3`TWPYwOAQ!26?3P4yAcys^Dj-lmuUo__FjdumxKVxBgCs^rY2ho8nD{W(| zkZlFjr3%p|qKIz9c>0sX9KHY>CB=O&U!}kR0000MzCV_|S*E^l&Yo9;Xs0009pNklo39KTYmk>ofqHoB~}6rr@Z>W*~NWQ7>bi$U2*UET{Mgo&iML< zZ!S(q7#ha*^`3{%)}3)ay_$J+k1Td zaQSHJI*e~VhMF+ zf9=dC>tp@?x-qXdhsG%TtHLa&s3kCE|0%P0y{*5RSV|xc!>&%Z;^vW7Prt~5lfqf% z9n|4g?0-D6s&W)N<{LJ(OHI+(=aI8o7{X8*Q_kc%kfJwZ%7wY!ik)U-DgA7~$QhRM zId9B)pq2^qKrAum4Q1&QE2hlT9qQs;oC)(ZP-j6bAtuawrR8*BW!^h&`YblFj1@aA zeZnnKb_=#P-1~XiWo)3=w?w%au~5W?VTy7qu7A$NSMcYjI@g(1ENEE2c*~r`x^pyg z%PgS>vBumciW?SP_FN~54;G2FV}{XgDCLAkmO8f&tYDkw795A*fVT74Zb_BndQ)$RjhZ9Pks(qUT1A^fOPy;&T=*Yp1gwm6! diff --git a/data/themes/classic/cursor_knife.png b/data/themes/classic/cursor_knife.png index 23dd3331be5cc99d437605f003e7ea49a7acaf56..591df2d62a0b09d2e88a8c3845d2c5c57e2003fc 100644 GIT binary patch delta 226 zcmV<803H9H1M>lp8Gi%-007x@vVQ;o0J=#;K~#9!rO?3*gD@0>Vbeiq!de}KD@S(d zF5LtIlepsKNI(>vKWBeZ9x$UZwh|1D1a}Ti1j$4+5IoXHOh6y80g5mI5iTIY21M9^ z2pbS#10rldgawF*A}Ror5MUEb0xtRy#1|t1ZW;sAEwJ*<$Xk&gV#iP*P?&E#n#u&2 zO7j|`=W;q<&y{&|HIdH^BA-7e)_m>|QKvgqdCpFAi|AgYGCtB_pK6H>0T)GV4~WZp cEMVRH1FS0k!6UC|e*gdg07*qoM6N<$g55P$+5i9m delta 399 zcmV;A0dW5F0iFYp8Gi-<0047(dh`GQ010qNS#tmY4#NNd4#NS*Z>VGd000?uMObuG zZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0003iNklmxCvzq_y_pcf&BGNBD*xf(Q*y zhOpK~hbKX3t)C8@Z|xdPA;hlmy$Deh1yj}UcD(rjNPY+*E^XWH-h55dpe)PFIF9cC tzI^}F02X6R>X%qT@DjlMvv`u7Z_0`>c(KD_0RR9100>D%PDHLkV1jn5s!sp_ diff --git a/data/themes/classic/cursor_select_left.png b/data/themes/classic/cursor_select_left.png index eaa80e0bbe3ac8e5ded5e721e82a9dd1a8b8b338..e9fd3b933ab0c532235d1a4296e1187986ed415c 100644 GIT binary patch delta 83 zcmX@dm^wkimx%!gWER?X0x71FAirP+M#d?B*8zEQo-U3d6}OTT5;$0y*?!x<;E`sN hP%fEaRPb9?OoyQ*CTQ<88TU4jeot3Fmvv4FO#qAs7Zv~j delta 189 zcmYd2$2dWvo`a2nfuXpn>I;x!EDmyaVpw-h<|UBBlJ4m1$iT3%pZiZDE0E7w;1OBO zz`%DHgc*N_wnvIxM5dn`rXGf#Wz$-QaY eJ)@V?Lsad(kj?Smfd_&1F?hQAxvXI;x!EDmyaVpw-h<|UBBlJ4m1$iT3%pZiZDE0E7w;1OBO zz`%DHgc*j*V8C%?%m4qy(FdEFvP(T3N_wp3o~qyWeUeyX zcfVxl)Tf^%l=UmbU+!wqmDD!;$HXGwz`)3&1ttX?7C0XW@>t{IZKNb!r7vLVu}jE& U*_M*$Kr0wLUHx3vIVCg!03C2R{{R30 diff --git a/data/themes/classic/dont_know.png b/data/themes/classic/dont_know.png index db2126d93ace1cb2577e510cefa5ec65c1695b7c..7925a236a966ad38dc745348b719772529a9a63c 100644 GIT binary patch delta 326 zcmV-M0lEIR1mFUYBYy!WNkl#ydmJf-PI(pChlDZ|D}x;2!`xzNkh5+ z_BWFM8?1}^FEzpVzofJzL=yp!BA_4wwu!gf>c3*SF;o*_z=9d^gux1sLQyCA|5~^F z|7)BI`!Cv|3qRBR5|^eWLM}2O#V`zVE*uMXXyDcSA4xNsCWMm-X~v<6ux5lN5&=O? Y0K)vTO9XW2iU0rr07*qoM6N<$g3Ym?vH$=8 delta 542 zcmV+(0^$AO0=5K@BYyw}VoOIv05AZq09pV#%Xt6*010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-U1jCIW#)mpUD6K03CEiSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{Qr zNlj4iWF>9@00EjwL_t(2&yABkOCwPfhM&nK#u)KqG>X}XYky$~y9ib)c8Va_*llC8 z*jlWWh(ADtZS)UpwSpiP;BK~n+a07*qoM6N<$f@ogobpQYW diff --git a/data/themes/classic/drum.png b/data/themes/classic/drum.png index 45c7856633938b75f22a07ff4da9e485e181f7cb..d1c1f5d3d7c1f83e9becee8355e9b2d83c4b4695 100644 GIT binary patch delta 356 zcmV-q0h|8o1oQ%s8Gi!+003hO3oZZv08~&+R7L;)|1K{nEiNdcrm3N&s4Xxl?Rz5s z-7{}-ZY(b-qo=AZFemYTBme!}EiWqHI3_MHDj6CSEiNgcrl~M7DKRoCEG{W5FD5B4 zDffOM^L-e8%sAR>?fLbbhyoD&AtJU7ke7Y!(ut@6x+Yo+&E~H)%*9;fg*!(JrTgYf zb^Mm#+Bg9EUJ{@S9f$((FSaEc5A+o$G}P^NUK?M|DS!V}D0RB>HiVDXzr-mb3NU+m zsR8Zg_PWBn=Y+<9Yn*GSAIi4nKobYR70^4`x1mXB47kR*hMG(R@*)ag{soFj{W$-N z$;I+HfoZ-!G*JNl2BHPJM7J*U08JDCra$jaG<1X?R|8F`rtgGm^?s=d)!3iz#R2dt z;{oUdd{(A;&5inMZq!%v0JMMO0JH#Yx_1F$oxsoZxT?9%jr!`X0?+~+Xk9X!FRHy; rKg6l9_W^)7K#DXDkn*SQSM~k?hutjE!`ZZ<00000NkvXXu0mjfJR%F< diff --git a/data/themes/classic/edit_copy.png b/data/themes/classic/edit_copy.png index bf4b3669d816be1f834204a21be141ef63f9d3b2..c84e7ab8a4d606ceaced61a20c794791aa902d79 100644 GIT binary patch delta 344 zcmV-e0jK`v1n2^g8Gi%-001X|)rJ570WV2JK~#9!U6C$%L!h8V(ngOBIMti~gdG~b zc`^LRPe3=?*e44(o-_2YB)$4FUY_EM&jZSA58X622p(!s8diu1LlFbr8BywXBts&ymEvsr0FiVJMGQ|b(wS4hV)2xZ_Pt& qKu7o9yv!Y79WlDM2K#8G@BRT$$;;ArHWpL>0000MzCV_|S*E^l&Yo9;Xs0005wNklNSS94Y=7?);BOkIK|9zzWL6XSw=*#A*CeFIfw{aYh+o5EX$ClsmuI&I2^tu zq6E3{ZWf*g&N+PF2j?7|b9kP2lZ-K!0G?0?ueiY&bD(^2RnF)0&-?wJcDo%h#@>{G zMC9@j?4M!D)_>0fjWN(#!x-bhRUOp9OF*r)nCD{{7|K)>_|~*4b79?F=oj(P)%@ z!#IxJ_gX`1U@dJyah})f6|2<>&1Tct-ZiwBVnYalG=EK@l!BBJVHl#@?V{iBBTZAB zPNzTrJwpJHQbH*OAp{PG13H}!dc7W$Qn*|$*B}T!0r>S0Xj`>r>-8F=(FpB!8$t*O zA(Gi__8dh~NJL*sKsyh6Dc16QK4ZJxVlWt>)oMWqfh0*z)9Lj2cszzg^tH0(<#PFM zu~@tZfKea_UM$cUQ-uAVOeP!=PS1G0d0000j~WOr^9+kVfdKM-%sFzANl7S>Od+3Htoj~xZ-D<8T@-#*R`Kc;C^g#QPs&t zr0Z_vlM^A+1>c(W2N+s+*_-fd@N3OLa}`KWzv@fAg_YAkbs9VWS@^d2N0G&b<~9jr zWWe@=7%>g(4u97Ic>ESB8@^28sP2SxWtSg00000NkvXXu0mjf D6a6$e delta 1278 zcmVMzCV_|S*E^l&Yo9;Xs000DpNkl85CimvvG=GjSjkMdC zJMcZ6^L^(B-#LfFP)cENa1e1Ew{ZLR?cRxr2?ZW=3=R%fa~${Q`1tss;?cTi`0RZ4ikzp80b#*n<+uQq0u~@vuFwBdT(uabQBz@!Y zcn*l7h!jOBQcATzAW+%?s;YWsd3o6@%d)wrr>Cb-D1Tf6fYeO$cP-t4$b*Qhe=eoPQUpaE*$QRqOp`oD<+S=OQwb^Xd zx~{|g{QUCb;^HF5aeq7j0s!c`e$emt{{sNva=D1t>pe6uFmMt8;PmO!Z@OHr6OE0H zRsew6*?-y9v9YlULdZ%onG8P^9336iG);Ry7!0Za0B*P2ULuXxYgD~Fc`d%&*uREz~k{)TU%R?IUEiL06;#U2fyDR zym|BHUo6Y|lF4M@k>FPAZ_Lfjg(;=5xw#20mwyYbtgJvTmjj>AmmC`#8y7_}oJysF z_wU8qCpMeSY_V9p2q9-@XXk~wy1I`Y4hQRWI)PFO3kwUSsi~>Ityb$(7~?sc&1O!e zQrQQ5oB+6tmGoeuEDj`HLo6R1Z&DKXLRaI5(4~N6EOnZC#MU3&mL?Us1eSLk2 z!WP-~Mkvh0DiwYASxRexP& zS#~NCiCi`e;~*iV-DEP2Z+$Kx%klurvQn{FOqR=K2jh0T_hF2GEtkt$CX+cSieeql z^CuKV`6M2XtAZf>n9Jp2m0N6SX?aT&#q+AFevdK!ju7%CrL-Xyi+!8TX0J1pQfO&u z84*SCLxd2blor$J^hh)sy+;U{)OR%Pfw$Jw)O6frGMzyPv6Rx1q9{Md0C&;Jb>p;z-D%6GcTK zLMzCV_|S*E^l&Yo9;Xs0004^Nkl09g@o-;DU4R z??ZCc7_$|}@yW?#f-K9BW!d*U&u^w_`X#6#0HkTUtE#uGwLk0iI(*ZLh`c4a6byQF zTUFPrwZEp&s))QJxfl$3bW2s&=b-ONUJnL6`bJeZ=6|3cNL~vDJ^ETzZ(D2K6na`j zK9XcG=+RfIdS?#$iR9H_(4#L^_3jLMMnpc7yb=t0^o6S4v({n`dN~;M=yO%QKZBkX zkv)* Z0l&6H*$^Yw0X+Z!002ovPDHLkV1g3P?D_xz diff --git a/data/themes/classic/edit_draw_outvalue.png b/data/themes/classic/edit_draw_outvalue.png index 1cfdbf45daa208d51154bb8295c3441c65708f6e..e8534464832e45fd970d3b65ae6dc6e4ab9bb74f 100644 GIT binary patch delta 598 zcmV-c0;&DL2JQrqBYy%lNkl&Jli)}on*f2)pfm`!dM@f(oT3U04a4-3F)O!`c$QK9-d18ek|#F!<1l% zrZ^zaR8=kM)nr}gpj}M~C^ObUCS-A_t`Kr(-l9dtk_RFhq<^|SP@6PqQWiw`QkLc1 zfqH`m4Qh7o-1(l}Za?jCIF8tCwnKRC7e#TYAP9@9RH;(Xc{m3S-$WgII1g>!yg4fx zGY3wVhdSptZt~WxTa6`4mi$|~bm?D0$e*=q*Zv<{9 z8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10=-E@K~y-6oswNhQ*ju^ zpZC9c07<>!n0}rCns**2+X|4((HUw2w6(Bk!GMS8Z-q_e!?{>SNXS3NK zM3k3ON+E=q&*$fv*_@l3yJcTnUXD4cs@#3LekBwL3=a(r*^;T$T>@T(ySj2#pu^#~ z-rnARd}U=t5)tQeIj*d%w8i7`LUVJoGB`L`u&b*2r+;@~;1U;$(THL6BvYv}Fuy1h zB4~xRw6wHlv)OY*1dqofte(r|QiuqOqSV>}Al%XM1;F`U!|;J4HX z{#i{;P4#xY5s{_CjYg3HxjCRHN|V>?brF$WQIzeN>vmbw#(L~iqZVq#)# zet!Nw01yE58OBpdlo3Q4F&~t`JxDnm4g_>-(0}XomX(*6k2;-Bvd+`#bYXma{44-a zMAuIc(Zi6>cZ!G@0Q&p;EAvu*`k7AGsj9m5jk`z);240(br=A2c6P21(UQ~YtStow z0Kz0n063$n>ikmfB*mh diff --git a/data/themes/classic/edit_erase.png b/data/themes/classic/edit_erase.png index 143400a9b49fd90024c76e6b7e71dcd7ed883593..900d13d4607a7900a9a80e885b1a752b8b3a3aaf 100644 GIT binary patch delta 708 zcmV;#0z3Wc2ipaZBYy&-NklC|im_P^+WN-7qhZ}X zWBCQePKnBl;mLVy+rA5HLM6BoEf%>lOf2xxF))b?Ur@HP{354FX~fvnB6jZH3$?)x zgY7O9dOHMiJ(hTKOfLF{hD1lle4UC7l&+{sgp6H91lA3~aUG>aLVSwUl4 z53+M|seLI_1_xUqwT)%I0@KSv4Ab_zhGtRK+>6xoOn>)iP-ti+wZaTcETE>b1DV-5 zm|o~${G+68O2a|kz16$5T&SAQPRmT{?0W>l<4@ zW9Kl|Z-30k(X-c(l9ut7!mhdDexb>!=}a}v>D0wCPy*Dq53sE^b`Z9y04L6u;d*Tc zVq)XpQ^*zf+Ap;-DJ6}$THT7nr!IjK;9_|LTiHp%%IZ34)7kHWf`eCm16^t*&4@XB zwGIakoknb2JdRPD*Qhc&o8Pf)dVT&?BqSy?M?KD#(Gv1;sj9_=1^J4(LE{Of7HJ8Y q0bp*>@QBDSZm@uV`Se!(5Bml~7>HYHpy>es0000~^hayva#!ZcaWqIVb0Gj4}M5 zhp+XxO_o!t8p$^{?OcvEBn-d2!;vJZ=ZQqd*oN@?{i$c3-IY5(d4(N6^(kxK{X9#b z9A>e2(i25-sDC=YIyO`&%W^87Y|IW0orx9o0)Cjgh3nuL}=rnv%9V|j%Sr$ywf@xVOm4CKIIRK*HFIVEpr+k4x5cBu% zAv1CoyLLYZ$97;^7EIGb#au&86AxEPxH5Ht6>Fe8W6ZH_df<<8+3PrT7~MzvG4k0k za!ZR4L;;e|2T77pCrOZ`)q5}yz*{~2oT_OVpU=0Ur#t`)g@LirjHhW)bRIg4 z!ISS{{(r#(IIg>z$ny{d0iq~C6h+9gjLxoJPSK(p(8p7zlwK+tg@LipGhSHLu)p(d z44pcT#f5p;whhnozyNR@2cG942m-eI{dn_W4;NM=k5R6AQv^xsi>Q(DzV`=tBcH>K znJi8W4kH*+;JPj-wLvLe9Tp+5ECRid$ISGUXMdTM7dCB*OX-AO)YF&7M!i5tLE9T0 zI6IO-Zg~lWP}q(Q*LA@d0~iA#7Jj)ihx+>MCVVhW+LTG7i!&ejM zkbf`aK`2G}Q5iR9rt#9A7AT4a%QSfa-liT_A5IYZ6h#}~*U`m4Eb92}r|+@1y%WFQ zxs8|iv>+H(ackyk+0b*>J=eYak01bWoX{6ml=0X19pFnv9l!tl9a`J=Bcy2fcJ^x7 z(DTu4~n zy3vLt)1vWB*uMtX(YkH*PA%*|foo_pfMeAdV+?-+VGdYJ&7jut00000NkvXXu0mjf DXIsa| diff --git a/data/themes/classic/edit_knife.png b/data/themes/classic/edit_knife.png index 70b15113d1ab47359d90e3381cb87d2d25224532..b6b6bf9340be2c6e3baa0fa3bfb9399bd85e5ba9 100644 GIT binary patch delta 177 zcmV;i08am(0?h%CB!84iL_t(|+O5(t3WHD##_>+=ElTOqW3)qu9;3sf(4`$a*71R- za1~GCtVa+B@9~dL3I<~aUxr8EM?M1Ctv`-5h?5~shBz7GWQdE|FhP9q>4IG6GnZrI z@c$H4Oy<;HA{qPEU?UAgPKv3zS)o(?Z3Z1B89}ozH3cbe9x7Zo*tfFh%$*mJoQjVI ffsB$4HVN$k&mt#jzX?4W00000NkvXXu0mjfBmPW? delta 259 zcmV+e0sQ{W0iObpB!3BTNLh0L01m?d01m?e$8V@)0000PbVXQnQ*UN;cVTj60C#tH zE@^ISb7Ns}WiD@WXPfRk8UO$QtVu*cR4C7l&9M!_Knw-Ye^;;s2$Af8U=j+Ho|2N3 zsi|pT6qo}X2{8oCHwEN!iHI-XmF1^zAQ{eir;cPv*sug_nS2RjX233^`a!ux99YRv!u diff --git a/data/themes/classic/edit_merge.png b/data/themes/classic/edit_merge.png index 3e8742b86efca57563e9b1036d8fa15621987864..93addc528348ca5c866995ec87ce76f6ec6e3949 100644 GIT binary patch delta 417 zcmV;S0bc&&1iAx|BYy#bNkl0sx?}m;=(c& z{)303;gMRUNoEVN7gpE^nqh_Q$I{foa4308*;7slM+Si{GsnXt%t2yu z`>(^L0i|D=zt#AFHmHPB3ge1DQY6Er!|MGSUfW8HqRdoSjS-6OgiHJRe~9yxrnCgU zP(LV1vrvnn@PF5TOc9%YC+BBPVG*Q28Ah>6Tgc0%G%xb_{GV$o3_+zGAMiG82riak z8$~bC0x2D5zo~Ez9>PURQtsTgcQae3D~um3!G2g_%^1OaVT`8G^igK2upDEUon>JK zY}3MfsNBk;>^OYr;zp4O@dpG&1<5KK!5HxYL=gl*<}rK&HyXqj@CkGwxPNmgM99J+5krWIWD^J| zE`%B5OjY-BkxrPHsg55sbX6a|`tI%G0-)Ygm(^%qf7JKtJPiu!UEnn!unEKrdlZ-k z5^ybq&>c&uAJnAYY&yASJ9XMuP0&F70$@rHjPbcC-B(YKVOw?SpPLL-R{@N1-juAL zpX$Xid{5oT`G2+dui8tLWgieND9bDACUAL#Z2=SNY`w04uOWoqfrNG0FOBh8opNYZ z4I2LZu9EsxE%qk_D2h%9VPIKKp&hD9TCGJw*veE{0M~&>!1n_QM|$yP^U={!X002ovPDHLkV1lb#{Qm#| diff --git a/data/themes/classic/edit_move.png b/data/themes/classic/edit_move.png index 28a63417131dd3e0127bd444c344e19943759c48..2cc71d05ba8d33d4bede142d914097b91a07e6d1 100644 GIT binary patch delta 435 zcmV;k0Zjgt2f_o88Gi%-001X|)rJ570f|XOK~#9!g^^230#O{r|Iogo7E#f|oER(1 z3R)N>fs0TA2@M8BkXjUOe0?2vx|}Z&f|_AqXcA+RFAPS|86~96X@)Tc@$oy0%enX5 zKbL!Gl)Vd6)nK7n9N9f}8C;w3(lk!pkBuIF(ZjuD2+<@~u74QuT5RG6P1rj--Ngr* zi2gWRgNzzXc?wdP^kb%J>p5RW3uQIv8te}_aqC6xwwW(ML=c2g831)8R-fS}=}R#I>NtxOQ}+ zwGqb);<)T=%gVG#Fd?U$!ZT8E%BwN0>j`Z5Z0#r5q%5T<1?iBcvC6Tn`3MDwp;;&` d_-S)=_YW0C{ta)I+g|_x002ovPDHLkV1jw##V7y( delta 906 zcmV;519kku1CMzCV_|S*E^l&Yo9;Xs0009LNklbS6#so@MyvY~joIM1sDxCU5n_TV#FC|Z5=wgX6n`v2!Nba4+-<@0(n~Mv zvU^!5E2YpP1&h$qOR*QPLKj3qNNW@wNd^g;I5L0yCT|bxNQ~Al{@@40{N8)>zHi>| zfrxMw2L}i5B$LTqP1An(S}YOaN->d0+?$w~*sE5nl*{D~`}_MJT)SW@mAXGQHC422 zn_Sl=+qP+Pa(}X-Y1+f93O3;qD2j5oTCM(}>$+r`CWH_$O%ugpvB`Da$DvT@$IJ2n zK)UQ@sZ@H;7`x3mU$kxe+vetG*tU(my}g}6p)d!4GsbQb(Pm@rxegUYx$8d@(Pmp) z+b7TS;PVu_L^Ml8oAvP*3Z_!2`<(NajIo<_Md5iKgntn5Jnz3tuLI}&rKV{QFC2Mj zXy{%#o&K#@EP`{sn8{>50YIfvxn19(>$*L|!^4jaQN3~G-_{eZ~p}V zOjXr8iA3Vn?Ck7!j^jWG(bxqTV;~}!rg=`2Bnd4oEtsC3uB@!AOzFD*ipAsc-GzmP zp4QgZ#((Sh->@tTV`F27`F#FXpuN5Q4%Sr#0}Iin;=AR^RiH5?rs zozsL6V2ojAW~REfw)WbxtPVy*h{a+LMn*>d+~41CG7MwK|MJPnNzeTJe2{Yv(=;(Y zK3uCBgFBtlC|OK-~M@<#xR5&#qmg@5M*0|T8xh{s!7TXO(*0U()7KJq;8 z?8nHmtgo-H{|!I~faBxiXB!(EZ_DNKKLFkl(azam=kxjBL!rd4h{~U*3Th;b92~;Q%8NScgzJZ`woc3V*9~h@O!@~ z0DnXxk-lg&`mE7W_4$`Bhf=BZJ`e~z>FDVAMwVsNYBk8RjBq$ij^n&F3?trnlKPIm z$ll)GpR(EP;qvk_WwY5zXJ_XN0KWhjy4HdvB6N3m=Tuca2nK_50DcD0f9;L!GY|;G g089hu`&#V3UXz@9L|0U_00000NkvXXt^-0~f*@M5O#lD@ diff --git a/data/themes/classic/edit_paste.png b/data/themes/classic/edit_paste.png index 766e8632581b461ece09812ba77dff63a59ec2a8..3ec1cf37a5b62bbbc2295724e32519e97d4478e6 100644 GIT binary patch delta 696 zcmV;p0!RJf2G0eMBYy&xNkl z02cj-WmyoA=Xu(b=~_244Aa%e2aJ$J57LWPtCfxiG-<#HDSuURV`C$|FnSAj)y1;5Cs8; zkDmtZ-MxG?Dg&&|b1aI;OoSieOm=CYnQw6&~Jx zNKQ^cXlN+anP9ymWEln=$4YxvPQ`4tpu^As8eTd#7>)S+;SGula?L3jDPKzH+K%ayu2`N+BBL1ijv$N z*xb}OB|a)-D*(Cw!NI}DX&gR(`G%sx0ysPBFlE|QY}v8}dcD5eZ&zJi-PjdKAs0w5 zp9N&miv+~akPrmJP`!Uf&6%`d70HOi>+P42_;e{_!V6Ni8 eQMCQQr3U~hc4FI9P@QW40000pveBYyw{b3#c}2nYxWdQWF~*hL2v zD~b~+c44GZ5G08TCQgWxXES!@&3*55(dIFe&Z{nZ;4JRFoDbjoJ@+0ZB0S4*@(x<9 zmKb9Y5t1aqT8p)oZnv9d@48$rD*&Ab)LLVV!EqdnF&JaeTKA<=syA1kst`aah1Qxh zO^+8pk(rP@n16^MB1BR2pRoT0Ow*JkNqBu>k?Yq#U{LdNfl8_Ig?=zu^1AD1&U#TFbpXc3WQ;Sp?@IY)aVFrR^Q>H8y|A3R^v*w zn)%!d&OG#eAK&)~d>`NU349OV_whUrtrcBsu}RAFr(fXSy$#mZ)=1Oz36&0jRtjS@ zTIuX6)+V$&ZLGD32%R|Q_LnvO*#4CZuf0mE)f%YK0r-3Wuc5VXzdCeXqg=$w|h>#)#uMd#8tohn?l+<&S|s0aV_!*?-vB5Un-MW|MloPPtsBR4P#{7U_1o z#Bod%MgJ}?F21+3v-1n^iHLM^f$Qt*ax?%soen_|0N{BZaU64SaBzQVY3bVj{{GLv zry|nLt~@BLwb?{*9ET)H5E0@yrrB&Z=jZ3IwcG8VfX_rE>GN<<9Cc6YM^EYKzcw0; zy+nnDh4-zsKLR&JB<-!s1$v%0GB-C@J-)xYyW0lt0yP=nSFVSTRRx3gMWmfq^AIU^ VV%zVBXF>n~002ovPDHLkV1j*Xmk0m= diff --git a/data/themes/classic/edit_redo.png b/data/themes/classic/edit_redo.png index 45f0450282ce942502b60692c7803ab583884f3b..43c2b5c53081c6bc43cf2b509595b97af74a482f 100644 GIT binary patch delta 1069 zcmV+|1k(H63Bd@EBYy-4Nkl896pd`C+gqWNA(NH}Pu zAyf!sd#($?d^c=qqtYzL7;hb>`8(h>+<*kq$T%mZglU%bhx_++;^b-6WA!3$=itB~ zusppE7SE&A+l~XOI$*#=l!Xztf|!?|kMX7BP~)olC4bH#A(Rz{e=vNgyVO@^o(D+9}tfC$|G8GIw)u3!7(PNCQlA zFbEZAgMZ<zNxOJyip>NN~6|Q z4wf8j z2MURPH07d5A}Pn4jXnU~%3j9^qHmOxIgfC+@&aWkhS3@*bHBIqYwh#yd3Y!Ig?uUa zfqx?gbizyWc?%`Ql2!nHj&9N;J3PJb2`W5O;&HDrnK;5_@jKlGc3A7gF?8SobG3E3 zE!>bqKHWtckt2p{0Qek5wqDD6eN$Xb<2U$2U%NHa@@i&rM@{IKR#8*sE>NWoDiRlc zyj*CTtd$~|i7*xAnqc@XsNvI6w5_O{Nq-t0RTrqFZ{4dt)O}i7{bc)8Tn&)*Xhy-* zbfyyt0FDyF2o=*b`Wa39styi~-+L;3(_8!<(@N>BE#Gq$X8m!?tDCl4GlW4}fAr6x zqvlP)2&^W5WlK=+4MW6oDehMT_;r(eG*kZ7r~{oae>z6f$4Y5#eUq^<9ugBOye2Z5 njsLBv1D(CB6aNPq{wID066D}M?I5?X-nsXj(? z@y`bu0UVVX^FHhGn3B0t@6TO+b7t+Hd5Rq4o_Hte^Q6#;=FaALINXGR*f6@nNrbcz z*2?Rc&RoUK%zpyXi+6I|6>mw=DLJPNz{z?c@72Xy!We*017Y*!{RbYS-JuvFdH|-b zp(2X#FsT79Q;~J@ST3z$dg_W;%N8a93@3Yc4NeTcgilU?RH}=&q?g%(mN8i)v;Z3&cE85e*4O=#HWL~D1)o`1eXA6&MHI~9JHL?a(K7`R|S z9YP)oRP1R>%5j0Ry8*YZ)auo~qMN=KdJg6CG92L`qBmie z8OKPl2d3r+1W-WH>uU3Ky%8QX_SxPTfZ36;u}In2M8zq?!v)9H!VGLyLDK9-+!uoe z9XU6HjDMX1n2WwpFJiuEP0k>|Wx{3*mwvretNWNg6bL&;RUXDFJV;S6Q=Aj6MhyG3 zBeXbsLuBoga~UYlOCE$dYwL|8x!T9%b9Zsz6ThJO)O4LGa_mpQVxQRTLjyIbP%cr=Q| zV!BjdrDd72@HYTDE!T%-KKQ2ha!!5n+dyJ52(wd*Z*{V)a;% z``NlyNC7B=P_|twrD|#?bJ%O%7C<7m;|l;@@ZvAeP|NP1wp!U>K{Y4>F!1Hbq(B`{ z{8x4(|8!q-d*Dw|SO#Eu@+@+bvBs9S^MAR*$MT*-@{JT1P$${Z=s&e|P81xA<)5|g zE4x;4rDCJ0+K_~fRZr|E)w*S@oQ_(dNQ2=Ywu_bLh>1goKkWUseKc`4+15tas|!pM zqy|(UMb4PCe!L>?6`w`by{?qZz>u%AZ#I}d?^kr&RP^etSo(t`k460!MO09g7=K@7 zO29$!FJQQ&C(UsRf#wN ze(v!6UDXYoZ>5=|E8;$}$5ZbnB7uF0V9!X1eptB3q}Z*?ZBx}9zoK!C6#nC(X@LiD zpV)(Bo49a17)hkml??b=d6Na@0z*MnXNIDS?+*SWAbCjfHc$S3gvMJtwYl{)?+=?I oS6UZek6sdxJe2rRpx_blKlFnm`&&v)M*si-07*qoM6N<$g1c2snE(I) diff --git a/data/themes/classic/edit_rename.png b/data/themes/classic/edit_rename.png index ea8872fea61ae20585a422020c907e57dbb364f3..c850aba51205f776283709b36ecc34d6e99372b3 100644 GIT binary patch delta 179 zcmV;k08Ibk0?z@EB!8AkL_t(|0qv9l1_D7Cg;P;=s6Ae0(?P206a!jR0L2`mDHgBy z_)7@X3@!8VdB5<1X?q=};GC=InIe&DRSI9c_Xr^*Q7ttUhJJ`K;#bsAOU+kUY)Lr#HQC?0VbhTQW!Bi5oQf+R^|C9b8e>jGn}msCpGjGXGB zmfjyX$ny*=+XjE(!|`zX#oKu?+P>Ir_mHMfa3&6{mg}*{|Gprtxzh?Egla{9F?LY3 z!c32~IKyq>m_MdAPerE0XIw$!--_`M(rpDH#KxE+44EnPJa1BCAtmxgq|T3;b-r|# YU$Xc_leUj0pa1{>07*qoM6N<$f^ON1XaE2J diff --git a/data/themes/classic/edit_select.png b/data/themes/classic/edit_select.png index 842d690f1d7e47fb6db914fe9eb264186eb6473d..5f242173d3ccffdf011d44ee5e411ba49bf4eba2 100644 GIT binary patch delta 171 zcmV;c095~n1H1u{8Gi%-001X|)rJ570E0FkMCkXBl-@S|&?x{&ZD9+g3peB(EY86kk3Sv#sfyhPq03KY* z-`g$@i}3)ZpL_rY&{L}L($_&=ys-I^>*$RYetJ77i^iYl$s}fnu~sJ&dd=8fQ=RVl Z+!M-^1f1ct(>DMB002ovPDHLkV1h4dPIdqQ delta 375 zcmV--0f_#*0fz&S8Gi-<0051N9Sr~g00eVFNmK|32nc)#WQYI&010qNS#tmY4aooi z4aotowZ}{V000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs00035Nkl#R9_;&mx=2Kq#l45a zFg)@w&vOC-!f-ID(~lP^Js}Zs-}krZilP8Bp9$Zh^n`8OKJu`ts^1xB@kl=@y@Z`JF|;R9Q# Vr9bwB!C(LY002ovPDHLkV1nL!oYnvU diff --git a/data/themes/classic/edit_tangent.png b/data/themes/classic/edit_tangent.png index 438673b33a9df5bd8911668d9901c7bf4cda0249..a353e5f1efe74fc3f0bdba12c92300f2bba93d6a 100644 GIT binary patch delta 269 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 ei$IzGy*~lbx!ev!Pm#$00000 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 oT^KTtchQxBT@3S`r79_=(2}njN4hM`@ z$Y$zb2rVRHm-djZYnyr8b=_TLpZ|5uKDW#N{(m-NNdi?0%jTt*UW^AG_)I%KK0+2{ zCFz^)Q9ThhsJ)JbK~x42m8j2kdZjdN0C_vZH5o311K#)*&q`*k^7#GVUZpm1Lxv>sJ z)k}+OxqSIb%|5rk`}@D2{eS(&IpR)KI$!zK-}sxYw>y?)X&3+DVPTF6qc`jWr)|ga zUO6CH4FQe1%9vFz8rIlJJim-!jpb>8!NWfa9l{&f?xMPd1b#TMTjn)}p;3Mlq0)0T zpot)Ng#Tm6&_QCXBafZu^G0?e1K5@G)Nm0b_OJ#C6Ok}5lFnmTAh4JMJAbFefq99i zyVo5c)nUHQKI7*YY~y<_`Qf0y9zt0Sx43Au7zsijyygf&Ni@yl;{42&QHbU<9;^>M z&teG`&z}#V-!-txe!y>B$GPa;e(kOIY?E2#4?XmdJ^Spl_LqP4w|2)p57_h1J!50H zv-2C*#-)!xdeO}Oq5b@?{`wyckKcIsk%yN%@46dmwIB(cV8T+u5?-o`lhd+`#7L1t zf`fjY>mUcegRTp~J#_Q|QbQq2V&#&hbTwUme`+WxNCV<{HE7e=i$_Pf_cLd z$P3kb$$c=G6$T_Yny6*bHs1+obA+_=p{eGnSUXTKbG`I0-rM!&&X%}tV_ogl*Wa}J zKKt+|^CbJf|Ni%RtY@G6pUY6m1Ju2Za1O-_k38n<_lO@vN@ zfFY~qtj06yJYnB-(=D6?oqg$AXBne&YIm5U{Nu)Da@|dnka<=<*U={w-huC}F;#`+ zFBEdkq%DN~NH2ifds!CJD_5|t4m_@@7&Pxl2OB7u!4AVtal0 zw*P*gPp+>n9w2)k=%&i*`o!Ix&8Fhg$}uFwkb6y`J=-?-QSs%*lOjQmtsXn;fM?lk zsTa1$)?L6%XJ<%SEa>`e!d2SJ09gfypPSh^p4=JJ7ST+)pL|qdeR)vq+VRAvq^!#$ zEDIG!WL_WlP9v{Gm$!;CJ$(Jxa)OB2eA?C^uwno-I z>$CsbC)ZXM&JmddJz$vNgeN8?XPup%bmrt0cEu$mG$Jw4_%laY&*m3MU)|p$rI_c0 zm2k`c^7B!b=b)zzlZ+U##HXah&k(&PFR>D@y&tcAQt; zA+T_lI}&7I_-s^Cwjo>rQbB~^^5n^r1eahJ%z!Dd0xpPUiU9E-QVQ literal 14355 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 N002ovPDHLkV1fX2eboQ} diff --git a/data/themes/classic/envelope_graph.png b/data/themes/classic/envelope_graph.png index c6f904103e82b49630a43c31290b037cda0752d0..ec5ad084af6c56e5d04f6e44b1f2e6ae6ef8cf7a 100644 GIT binary patch literal 9000 zcmV+@BiG!CP)tcwbIhdEiprR@20!h7fBL<)0ZzI&;UUHY6;VwyVRQ|NxS4$@(An~^I&(SehrVXxg_r}yyd z?&AjG{hV;*oI?SZulyLk7mU4r&YOP2`)k^AKacm%aGqyu=NZ%YKApQbhuiMC!(qp zP$ye7Ml`)t$i37CDqYGBRzE3Cv=%8Vc1VT>(*>rDTp+_iax*9$ZBoW>)sn3s8rHyJ zR{xLT`}sS27CC%#`mJP#9-BXlKK`zpH!FxN+3H8bP75n2VusyMHlkffQ>E#^``rjr z(}n2*4g8k7g-}(|!m^liCv>=8rp%kJP-WgiOgj+`J9sUf-+l^jk-PWrXIZYBCrw>X zRE*1ZeI?jyIjy?&m6}%V=2~%vYwnlpZoO5>ezTR!6;w;tyRBZ?-fqo?db%-|dIw!k zTW#Giy9@5W>7$3x977J$LA%fsjdWs>J&hN8ML|cCj~*4l1NR=Ap1;$xhI|jL?=RRf z>Vo{c#JZUM_Z3i26>{hWmmGbCtyqK~* z_p_KjXxj7Z54WB@e{uhD_EeSSu&!6M`9f7$D7kI}P_)eaczI(;;=~|JmMqJV*vW=d zW@Z{FGxKnn;S1hB_DT!W4xBl2buC;7*-kI+Ftr=dZt@>8wG&b=DRzU{51V!6@4*m#oU*JR-F2BXc;<8`svU~gfD9+k-n-Omin3YKs64_ z0tHuo-W(?iv}hLQwav0n)^;L8Ikt5Z#0-tivmhJUx({Z7Y;2aobu%AXOopmyp_4aO z0v}m$+^Q{-QFYI|c9@+1Bc=cAF?}I&G(-)xC^Rc!SiB>G&ID-{Q?9A?m787s_ z?nk(Hn<(6=?T4*I*`%;Q9-@|imDBlg&R>l533xwna5=VhgZf+ zm+E53BWqObR3&Vv0=eJ&>=wkU8$aK9IP z@bm8<{rLMwzx?sh_dkB{^RF*_@VTAj`n+797kBc%`w1g+Qg{wW6FGR)A*IfJxN_s7 zzVD%z-v4kXU=GP`mLbQ@JCSlYoY+a`#L7XAZzONqfPXW z$m)S-uD-%({ivY>7vs)7d0!)9!J0uM%qJcyD)J6GX&LPQ>pXE9gg zU>@^=94um9k;$B<10+;bAlxL#S5($uoYnDcmE?`4s^j^RW!hObr1KTa8#+Zkq|@6I z_-xJcnoieAF=C4~SGD1Y&2LAC&A=KRp4V)?=0$_i1pTG%BuMfBnr0L})Jak6PBBDB z&p%%$YCsRanwxcJOE{ZpM*=sUTIU&j$-u>uE9^~=CeyV5XL@f5)`c%tTwz^(Msp&p zxGE>>?=D_c&CIXI0aN|qm}XTxThgrVR82P$phrZ%KEPLA)dWcqPnJ{;H% zqcob#<8;uk#@&eP(MabJFT;Z=5d+W*lCQoqe?_ji=B8^;ojSE;pR$}*AUC48O{)z; z+pM}kXor;-2=mwg?CJy@ZnDG^^(N(AQEw%N3>+cv@zEAb{1oKA9B*-FhY)Q=> zDf@D|lcs()-4TW|19y=hakiUEKc8+({F}h2(o8kC(=1Ylob4C~!_0IPW=1m6Ig(UH za=Ha(n#l2$Z~8$t0}nksBoeHZ8p_Fr#J97JR3hI*UuybtvMKQ|a(c)uP-2JJxt;+# z-#(&bXhpXv1MU=%huhVD=>KpFfi`Ya@%cMM;KushD;!69CvrZ#`U?o zzta7$_S|8u>{Tb=F*`*J7>NnmrBd&cAK9KIg0vugP~S*e<*YuuUhE>BwR z?Z38lbNb%>xqm#kcI(!)&7+rsk>Q1{+REz509n6o%*)Z};LK{*

    yuet!PO*3t0x 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 M07*qoM6N<$f&!FZp#T5? diff --git a/data/themes/classic/error.png b/data/themes/classic/error.png index 5492295e76cf7ffa015b427a68ab7213bdecbbd7..ae603f1290e6bf1b4a64b5f1536b40319e5aef6d 100644 GIT binary patch delta 1126 zcmV-s1eyEe3Hk_-BYy-zNkle+FsjesfM;`V;lgKe?9&)5_)khj`KR2A@B|J>xJQ`_Dh!sB zL@adLZD@D+T*~t&cpFmxkZ>P=pPa@99$(>3gZ=%bUCuej#((3E)7-X=7`10-O?>sM ze(~;iYyJ4gR`}c+H{(Zt*YRTjFhk!)-rnToT@F9op10nr+S@Dq^Wd^9^P3NS$oF3N zIx}fHxyJeU0zh~?;FFY3;Vpe!u**RQ+3mV(#3TrTqRKPm3V*ufIhgv^w|wU{uQ8S9 z<4YWkpFvFVK!3t<+@`?=8~gffJLPyQ)4vio4O^W3jrPKCbr)OGxt8|Si1}arLRS1Y z*J^1D58J7jNFVEKyy*QT1+gfuq^Hh9`muiBJuNK!TJ_MwZN1_~>o2~>VKskrYRb}F`MTVeFqzt-HoU4N;h#wq7;Wz_HYHZzNIq&MsOzZ9KwF9BbZ5~35h;`0rpqk{e z>2DiK#(e%!*Za-aJ_|M-cB0*G^Jv+Ar#j@$4;Er#Wp38HZ+E5YFTSq(^B*!Zqk$?X zpF}mF@_$S|H_V|MnhYI8WjN^elzn5e>DWiS-7ZI*005TfX1w_}=i5B;W&KO3&O~Ny zlG!%nI_DN5^D)$DFZpO1*!S)QKn~r5%xB zBp_X-v+_s3_zm%Z+q>}L&lO{|wm4(-2VVsHopzq1AM_?ao~i3ri4D3bP@?l=S`pnP zzMP}oVR@R7393im-f0ggI!zMoqSMbl>1F>BlV8+3M5#uGg?6vqZ}UdKeCIPv zf9!+izd*7IreDqxZ|7$LP`a4IZ^wJP41cTy^iy6>eSlgYk?qdZ7upwRr&$w$%^Rz_I+Esc~WMtS)S+$&`c zc>q8_@BO&+9G;XhG>_FlCqW4bAtiRGW;9Xg{)`vig-6XXfeeDbPeAiz4!R@v-e1aD z9jYtnAV-248stlS>!Up7@w^YS$oz){RIuqdPJS|vdlm0_BVTzFUw<7ReF4wE9hXP8 sqlV!BNI)4q*nn++vJri#BKkM^9bH$Xtvah5b^rhX07*qoM6N<$f+X!sCIA2c delta 1232 zcmV;>1TXvg2;&KmBYyx1a7bBm000fw000fw0YWI7cmMzZ2XskIMF-am8x|Ng)D3B> z00006VoOIv0RI600RN!9r;`8x1aL`2K~#9!h1GkETvZ(h@Xx(>W_D-xy)E`dw{)}6 z7Hhi}OVZe2L=bIgiDKd-#6YNQ0{ChZgGQ0Re8rd$qY^`me}4cWmC%sFACO2wv<?(XdD%-p%x3FR*v$~XC*li&H{bIyM!@F97WmR`0*Y(yqyHs;~Mv<`Ddab5Lt2@GJAf+d58ePy*$vtp$%PK`tLrVUcaPuV1K~U#SuY$iCS4wSrRWTD$mZz z_HD8-Hm0>ukX>1^JT=u;XM35a-zAOU%XD7Hk=1l;ylJPnE7ft!XKeb?*M+^Sj30kd zE-Y)RN^{e4gS%aSa7asEpK~v~prfP1%DHnYNwT?*zrD(6h~P%{=ULw#1oGEpEG$ea z^lza#uYcNcvyJzB+l9$7<5Q!8kL|MU;DdrNRJeA7<+Pz*D(dX))JD+4L4*;aeH`j$ zXIF-{)$`iA6L0^y`I75*>0H;RWBql)Yc?s>*z>K&nrNhQY2J%NU(tU4jA(pHeR@ue zD(fmd9w7HPCsuRQns!zVl3N{UbY#6X+wPN(9e>q-^DO{i`BKTB4(_*p;*{=ktUi;d z&N5$Pn)F?^g@|(WWD#WuBF&}>`I^DaMbCb7zlo7y0BMqV;@&S>RX%RRx|&>1BHKe$ zAVQWPPj84ILp6egG$u`GBuvb*?T)WnJ8%PlAPjx>p~Fgzyre*;^Kzp+A+m_6g-9?F zAb(z=Ub)<{i-bFd-1Xz%2%A`Ssbp&SB-no2o%a0Th|yABqlK_QBL*_mN0|)KD03=B zt``%`W9^zxx}4_t8^7*=Kd-q<^jJ7L7i6Kymmoe(fi2Rp{I9(iGKYpv+O! zBcyM!u#cT>+z`hEjfU|PNA>R9?aZ(46Hc6z&myKZsG55Hd4&xhH}Z$?T0Zp`i*FOg z1Qeg+;bDpaAoB%wKfp^3dMW|B$$o@<53OBf+sL#MW=T@wDwRp*|4y_>fpmn!4}bGp zR3kt#OsS9Yt=tiksjW~g6W6HMFGKI0EmHn3^JiIjht?H3FwGx__<6!IL;#5Y%K0_? z`$qQWDI_uVB`QUhXDClnzQD?Vi00`^=%&#epLmEzE0mD_KMb|w{Oba*eU#pHY%Y+= zCFEjS>J%Dur}UD>oPL?_9pd*@ib+VW_B92_V%1)@-o@=}*wMn;fGDQ8z{s1t`Xnb4 urcp%-SAzipWYCHNa)3H2SV0{LSLT0f*vnm5uQ^`;0000vZrUW zDV3ab_Au~w*LQE)lrG-B{fFYv&~{)LfL{-O@MZbJg>>-r>GW22_g_-@6KPTD7%5 zLiX$#!Deh-YJXMV_v+#ph-5Pqrk5|LedkUd6N=5vgteNj&%xG;O-=Spdq)S7v2`Q$ z7^sU4Sg{dWRMj*uI|7fBZQ9 z$OuW2*x;HiTcEWS<5w-ox^=W{-b@_F7-Ogn58I4ne}CU`>^R7L?5*MCB-gsSs16Mw zVJlzR)<(X)ot#{ItYG!W_aqeqd9&Bj4MJh$US>-vl>C-rX$cinV5Usr$a|>K+g2LIC_OJ4CZt!;_(|d7`u3pUoM=Zboo5hzRT45uW;$> zb5<Jd`H7)0#M7dzl6v;wUmn}732_P@c#&gbgVyTf+RO#B0TP4Ia5y-sO>}_RYS!NP9^>+KW~xOJDtr;*u6J znG6r@ewso)PjK*U+#m$)%>Pv=yK;nk-#kFuGcVYn)|&kAb>|J?>?5lb;xF2jfj~iwgp&m{{!~lWcl$5rFV9rA|Iu|5tIoC-j|C;ddX(9 z_S~`+E3h)_5dbaoQ=hanTXB-WrTu$&^u*_6vYI=ub&z*`!W>isa3ctXCA@(2={0zi`b^x#!7!6?tj0b5B zoIK>bMkb~ekx6>2_|URtG0^E(DxV5lWi*<9@VI)yq|lQZ^DO`8^BW*Jl-juh8V%b3 O0000(xC=n z00006VoOIv0RI600RN!9r;`8x1N%utK~#9!wUS?G990y?zx!uqcQ)CO3Qb9*q)kbe zpkNXsL>fp%(uUwejD?y8p{)=!q9{uIgNUFMD`JgLd5}{2)PJY?SZOFo6^WwO+9W16 zYr<|*MaXWlyV;%DxijOL+iY6aBI2I|A9J{Kzu)=x?BKtsAP7S3Ak|mS7zvqk=XQIu zv!~amrg~I1%Y%x6^mqGv_U#L{_4oh0y1d-Kdwe`4LFFwkO&SLe?iXEM;GXx_>2UY* zq(s5@+g3k4|9=sHAq`HRJ=+^^*a1~8XJ#I8cxt$ zOA8(u7|?&*4;L>Yy08Fln(!)DNKl(#MM~`5OFpi_U4JydZf%7smGnE3?n`vm+1IC` zbXR*S?-XNI;6edq(!!ZDu+wP@>1$(KZ!gf<31t_x{EiMJdV1h_9+XljrBd2MUJcfX zw^l(@-C|LL!n!&!f&0eBAe)->*{<$x+>~7RjSoH)LUpfJRxmd?iNJNCIgSJG&cwcy zdKKl0)_>M8cj|qp8>tYY(>JttV*3LfVM;B3C5?rTKY+@u!KI`;5`mk~p={fCBo-WN zi;EDJ1tVr5Y8ikJBu~AAJo z`vlHhy9SSvSW$s^eS~DeuZ?2*i_g*i_>&r1fq!4Q^clpZ^KgnTO2jFKAr-)4(dtzQ zfC0pZDLe>O1b6aSf9xrA3=Qj)q%HWafhXV`dj(dFfv5>Y4Dw0xOI{7;)G&3ST z`hOfGP2rpqbQb)>BQPgM(2!XqkfC+|;iIU1`2-B|(0s^0CuX|iq{i3ZMfb61LZb%9 zQa?hSJd7B(QENCFzI`=`Xfz7bG|_(KY25q9N$nL91V$Bj^Pst9k4~v|{d;8JIt1q0 zVBu^MQx2RHG$=ibNF<`~H8nTif`yz)Vt?8h3k&qV`C#DBLf2i1cY)N$IF1wB)WIr zMg#9CDxe4uCWY3U4VGmYnJdfdN#gm+^7bKv5CT`dUdI%CK7U^@912IG!D4J^Eor>T z!5u8dW6^jd77d3Y{(!GisbIkPH~p*gx~rsPF9bKpiVuE&ZK#(;7 z?w*F{1Zhf9_%kb*;P0rhwwEBP9P!a3>U`TvNtuEOE{OgLm3Gu(OhC^r8tmK1y!+wU zU_fSkdQJyk;B`Bco!7r7j3{g}A0pEcA|HE(BS~N)ruUekHm2`raZG`_OKQ&Ip3hZV zs2FLg!2pmgR$~Da=eXo87o-mj0m)=TsVIF#eKlnjC1o&xFckDufZ`A-s8R(Y090ut aaR2~MQ{WiPg*i$90000WFU8GbZ8({Xk{Qr zNlj4iWF>9@00EgvL_t(2&yA8jixfc+hTrP$nOFP4rMZxGQta^gy#d!Gl0R$a(CGI8CkDG2%Ek49)JN*H;$Q&FrL+57DoVv8A)++8 z+FhuSlBR-#L@OzAZoJ%NT1g%1>|`dLgzme}E~2xNeM|!BOLId<`^3k8@Bean$^1`_ z6YJWyc#1q!lSPH zxm+%N-^XRs>C|=IcgLZW8is*eGf=bHR21b&({x?;Jnwuy!}VUT-EM2onxZ@c;Ao{< ztyHS`_51zf@ragi%*e5U;2bSWg~C<>xbtJNoykHg{c zHJiaP*K2h_On;XGM+qUaEZfZ9Znuot_l*W)ESYU~C(DGCNU6lp!OLJg9&a`qd@S1C z7K^Aiq7(`8PN#z-M^C5Ie!sUY3#AMBLLvF*(cQA%kneW8)pFa<&rQy>5l<`y7eX=!C; zY31VV?Co#oIuxZn#&6_vx-@pIFi4!MJp1ged z@{JoeZr!?d`}XapPoF+}_Uy%r7kimB4g-T`k*AAe2#0Lw!Lxh^9YokJyg%oo%^~`6 zvfGhktMn5e{*7<+aP^8X*%JJAZnbV9--q@MuidXPOt|o~+c`kdNJ&d+!;EcGXHHyy z|1GqXZ>i?u-nJ%Fmgg5Z&I->D@O(4JQTxrB?Sa9?yv*y^gwyvogFk6TtbA0IPMt@Arne}Qv0 P(6tPnu6{1-oD!M<3}w`g diff --git a/data/themes/classic/factory_files.png b/data/themes/classic/factory_files.png index 995bb19d50863ba33b7d1b6edbe2fb79bbd837ea..d69008357f9cb2223abfbb4f22766d3e806ce8a4 100644 GIT binary patch delta 688 zcmV;h0#E&~2FC@EBYy&pNkll-k80Z<)g0Eg zZQJ;EZ0+rBH>vf`*r%OUF~;y8m=#5-NeHRUm{N->wC3l}pH#W|*}Hr9=>H1epv6x# z4g>;gIbki8N>#&X6fA1B8URB$9LD>PAK-M@K8m8~2k8ON2^J|qZ1%UVX%t!%{WyfCODgHj5{m>xj%p9GZ3p!quiL3(=@S`|1{ik}_&$Wut9vYbF9O znDCkTyTp};ADZemtGm!*(O z4v43#V5+K%#Rw{?<(NO|5dEJ$029%>b3N)7P~Ns8JK7 z2ZrH{nTyw3_s!k3r+(Vzn+fHU59^pY#Q+scfhpwXFPg*BH?cPW$ma&}kuby=lmGx= WXMrGNS9Tl#0000BYyw{b3#c}2nYxWdo53_L`q4nemd0y{;A2!Emu-8y9u1POs9MTam% zBTuy%B5LKIRTte>w{`!`{+Zb~Z>G14tbuy!3j=R>{663J{XU+}vMd}Tw`rO!gpgLt zGJVvfEh{U_wzY6*c;M3IIqXWno&u><>M;ZQY&Ki7EK44a;{aGtRTaOM7ID;Dv!p0W z62N`{b8>q;o_~Jk1m;}+3|d-Khz=3$?QPhJ|FHwefoUJWFpM4MjOkDoV>59`b_!}x zR4H~`J?DiW@L(zd^7uzwg(L_&nqI)fd;%IFIOUV!ua_~uu7a8dD5YTWL;$%10hAh< zbSh1CEeoHQhxdqrXvTs=a+QbKJ}lsHfF#LQiV<9r4SzX}B9<|pT8*p*{-9+$)IhRb1LHI_kenc#RWVeTRuMyXKgz!L8aeZ1@MXnWvP1Sm3(?j{d1 zx`CFe5V~5c%Mnk5+A(@I{h8~d!8B*YBFKj5-~)#)A&3W!|0a+v?3`-C=?17 z6JC#u)_*XVPyv9%FGx<=p3f81aYjC=S7Tu%4rm+(dfPBDn?N{Dpp&9Gv1DNK`}!FG zy$sS+0tvCmCUG|euo20jw@FIT?Vz$4(Qx{FKLnn`%xVr(VJ8SN#H|!THvU^J8Sln7 zxk!Q^U!IHP`vUa{ob)vcwVirr&qdhTu$qdayMG~#u0|bR#WZj9iAZm)l>plS!Yq=> zjXb<=$l0GaPt-}KT@>N*HaH|%#OBrxdH?F^hiGW_Tf1|kaIJ@`(H~Renx=hagA3(C zm@2RF+3>rwxgvi*t=pQz;q}<`r?*4%!O2Os|NF(u=Rz`>?jO8$dz}4OuCW66AN>VE XRT68$giso?00000NkvXXu0mjfQSWG0 diff --git a/data/themes/classic/fader_knob.png b/data/themes/classic/fader_knob.png index 93daf87fcc25fa290d256b9997061848094dc74c..d7a3a1a1480a8963f9684a7391672db63227cef6 100644 GIT binary patch delta 585 zcmV-P0=E5(2H^ydBYy%YNklb;fI=YM!E)pU-E33D!2gPF1jQ|lth*E;dmLLe?lVby|$mo?NdP@0zzkl~v9u1_YJ}a0I`zGS(&t@~{ zZ4~MpvI1TOEffk?DwWhd3hId6$PEH~_p;?r&k4YUj9e6(-Oj*&dmjE?k1&+iTHfUJ zImaKBU*|d2_;(9G`uO-}<#JgH@mVLAfb=+5U3_vn<@58W8(Q*NP$06};d@MS(k1|@ zLlh;~X+ovo1orFmZnw)HpSQzlwOVl<#wRCT)NM8!`x|}@R2|}sHv*~9lYwY}*;WJq Xso38DoZnqv00000NkvXXu0mjf@Qx-a delta 757 zcmVhyCRPh=hs078DL49j za(r@a#h!6}eeI5qkNNoc*jabZk!2ZLYi@6E)vkAX``~q5GaL?yqKGgIch>Lj?s$BB z1h@iz{}`Ubk}l!`s_idw8$cqu=i{8jYyynji>p&f%Ox zL=X|C(s){_%y(P`PQNCKOx+~wDsJUC^Ye3`o@P>O?Ptp!kC{v+-E7(N90>k($Y!HhESKGsfAzd}4*PGbYrOC5IY5#m z#BuB!*Jh8g)^<;eQi_w4UtC;Vc!eV3|6F4X<8JYo>2%s2o~9`e4}Vy%*WTyNAtJ|12d|>85prapejLbVP$R(RB6RHffSpLH;W9BirE>3 z#rUNen2A!%%3v%Y63oCwlww8(US?rMenGs75rCJ`%#g<#N#L;3{tf#s@4tc_ww#g< qM>1LP2}==E7&8vY5XZ0!p%?&z;Zf-KGvu!T00008OGiWi|A&vvzW@LM14%?dR49?9%)L&+PymME_ncFyf~74j z4W*$M@W&Uw_}_jD~WFjVrdGy;4};C zQ5vsWHMe)F)dqZhXJB18o*AH`-{3V4EccRp`SUvi3k>CKo3=;vGX_KS_BRi6ScnDI z--wwkPfa#ncqmuQnJ=*Ystx3oS`oKAA9F_xzz6r>JF$0gHT(bo002ovPDHLkV1m?; BiGKh9 diff --git a/data/themes/classic/filter_ap.png b/data/themes/classic/filter_ap.png index b7c5230d5c7cb578fee60ded0d7a76bbdcee7712..d76fb263d9219e0d121d09327a74f51c5c791c44 100644 GIT binary patch delta 9 QcmdnPxQ=mx%0#0s01)0sv382t@z@ diff --git a/data/themes/classic/filter_bp.png b/data/themes/classic/filter_bp.png index f16c7d924658580a300a6c10460747b2ef2b8749..141c9ad0dc81d8b4d0e04127754ee8ac71b908dc 100644 GIT binary patch delta 269 zcmV+o0rLL20;mFzB!BNoL_t(|+P#mlPQx$|KyPZ+D(V+F&JcftrA~B$|LW2XFoT8C z4`>&XNX;3wpOBl<|41gz*bxZ9fXjm4X1#m5gMWQ95T4{Jb+Htcs20m>bRnztupVR$ zS+twp=)UBV^(9?F676orh8wpXL;Kgm=C`4Xj4rh2cV16^D1T6Z0+p^rrTcr|MQ2^( z9!7nUwO>XBrmz00008OGiWi|A&vvzW@LL@<~KNR49?Xk1=k-Fcd)lL{=1W0>>HR zGgx9OQ+qEK7}}XyRX6}FO(K!+3XYIJg?l6uc5O3M?SScm-{$}RlMV35GXdsE?owxS zR67eBQyO_r7qPbMuExeRc0Jy1yMK>OpM4h%THl_&I6e8J zKmh_ox?q*;UtJfiwvBxo<(b#+F(TmCa>jSO%PA+>uZPmqp{p(0#%#^XE%;eZe9trZ zC{(8|$|yIwieA-0M_apF6?mtOfP+A4gK|ax;^!Xe;AKr{w2eZ?f66DOci3r)f%`TC knw;2IaTGDy>=!fn1`rhwm;JkYEC2ui07*qoM6N<$g6x8Ye*gdg diff --git a/data/themes/classic/filter_hp.png b/data/themes/classic/filter_hp.png index 845573b308e2c0f20b03c89e75ea50f69a4e884d..19488eb5181de21fc7a02d59f17a3214111a7272 100644 GIT binary patch delta 203 zcmV;+05t#n0p|gbB!8|+L_t(|+P#i34uUWghM90DoS>8e&VaIUJ3F{5F?s-;sENKB zIYK+>J?La><5H@GI`O{s%lH0Zwp#?q5dNjcC2CO{mqz!iD@J{?ZPzQ? zu3xrYzihjH+3ot}^t2Of65y=q&}Rltw)uUMTh<{Fz5z*rHjZGp8OGiWi|A&vvzW@LLwMj%lR47xujWG^_FcgO01Uumbk21g+ zP&RHSgS!%=2f&G%NNeN>bkcjkdop}mP0wLL{LC#kj#JIMT~DoPMo%5_K1}Z>scM6)(wj6d08Ye3F363%H&n`hs5ZX z<7JYQSfC}LuIW!#E+R;3@~7*T9bHp)bamO;)n#YbkmK`SNh_k4b%y`|K8tqg-O4TL aPcscP@8!Yb3jk@tztp%uEo$QeLbs6tv5CqRt%hn?voAeGxWPOX zHu-ZqcCwS35qFS)*&(ZW{jR0WNsClcb(HxlDy{aFP;t|T3rbTLRZVS6W`atleqq{v z*=-xy-!`(pZDfDjkv;7mv4(Oc=Gcq$Jjo*H(LH;RId%jm5CVJvKW#RSw(3eL00000 LNkvXXu0mjf_c34Z delta 229 zcmV8OGiWi|A&vvzW@LLx=BPqR49?Xj4={|Fcbw}1wF$FKA|9I zQ0cgx6!ywEdH}7!8BH8H0;%*KTKQuezzJ5qZTBtkr^O%;00bZq!e2f?oKsD8oDcN? zgbdOpD(0$umd}MA=qZVV=u+b{yRTjiH@tj_28knYv#P7!6<)jSxnaf1?s)cy3a5RR z%3N64G1{JN*>9hvHj1_V#;EO+M{U16X#3?sdrI!Lr{rF{C4EqxHa<2cJt6^Mf|jn? fP5M|%kst&<5*Rk-X^0{t00000NkvXXu0mjf@pxoB diff --git a/data/themes/classic/filter_notch.png b/data/themes/classic/filter_notch.png index 44e1d718b652eb58181099e1619f7cb8f0e4e6fb..97d1abd48efcb2bac27373c523b488722c1089aa 100644 GIT binary patch delta 270 zcmV+p0rCF50;vL!B!BQpL_t(|+O^CvZo)7W#&J){iXu*6J412?OH8nFFBTZuxs9rD z09a~ABF_~ZA)d%R$kgX1eF#{<1H%8!@28Kw@I{QXjOBfT#er+eXaD=V7fx4;6Ioob~SPtH6VPqiGR$c zUYtraNLO&X0b2)Xz4g#nqH2>_za1x2bu7=&4!QjmQp-rtQ&uG#_^1 z5vJ|;PPM9iqus|Ce1+>igAl;PFWDfz_9Q-VyMe~KP_V59bJ2nSWcxf+ExzMF@TY+H UiXhz-00000Ne4wvM6N<$f+#43pa1{> delta 290 zcmV+-0p0$o0=)u|B!2>8OGiWi|A&vvzW@LL_DMuRR49?Pk1=k-FcgO0l&mP?1hz9I zXRyQs8~0*?p`F{P3I~9tP9*YN!4cw#+=EPgt}SOM60Oyt{x|=hKlumvzmoui0!kMS zX{61WIEX$sxnU|>-92z%wqz=_;wU)06;)q-R#ee;l!IvIi+>4E<_o6eb$1Kxt9dEm zRHEq!E!u|mv>8R??EWyJHn*A@3N4zGhqXb{R{INElN{VAfiW_qoOUK{SFYu>;_pUsmR{#J207*qoM6N<$f?d#z&Hw-a diff --git a/data/themes/classic/flip_x.png b/data/themes/classic/flip_x.png index 1f21ad5bbea659af355d3c9d2c0d4dde4286bebb..209affb365bfe8061bba8a42330f10f538705629 100644 GIT binary patch delta 415 zcmV;Q0bu^v1h@l`BYy#ZNkl6A-(B9nK{J62Pu^f@=Od>#}9b{@=K9 zlWC+YuB#*-?3xIeF9% zaO`RO5|bC2ZhyuM6K2K$$eV0(SJ3>+jf`6s=@{+tDcAo#aUvb}?vCRPirtxzc8`=> zSB2jDmsI|zU?&4xM>t$j(7U(LP8C`i*qjLa3ksy4g)8$zjj>LynT2DGrJQj2!Wh5r zFMbM%$b=B&t6*j&9EM<+9tEkdUK+H>7rTYzve&kmo*4UUJpo>$uu<>u>;M1&002ov JPDHLkV1kx1*;D`k delta 576 zcmV-G0>AyZ1K0$RBYyw{b3#c}2nYxWd@tgx))?w-nMP~>NHqBpT9&%w06!}$tfy% zXIa+j$RT5_pnt0BYv1>ec%CO2hM`oe)zxG&d9>MVZtaHUa&A#o)#ul5J))Pd+?I6H zmg}EBc(EA$(rUG8vaai&OQq6b$8jKpfTn3+j7gPB#Z4p<7b&H$+U<6j$z;f~oqa}Q ziTiigpGMOe2SNbJg(aL^T9&tK@4ZH&u_nIJRYwDkWVaV zA9dsGwR;;cqQ@6cBjgy#IO9MFE(5qJ{i{!uQuw~FaL!EtYyF?S^Ed81juLVVJj8^C zGl}ds&7D{T{y5ql{IA@sKuiOM^8*ZjYp?wO0q6h92My$W?;cJ(n@*>LNF)Lw1UTm- zb-UfM!Z}{=JNo^>1aL6;F%B#ii!(Xgd@}VD0stJ^Ss%>6dpP5{gNKBF zb^iQ$<~Yu70E(p6TBih%Tq$J*0)h05ZpZljen=@l9N^a;K75G7hYy2u4mvPg*M$%Q z0?Ey?ZH0r0AtE32N}< zJ&@AEzZQ)ujP6|p)G!H(^LPF^&cAsng1_@eJ$-x+r;qOe7ZSFU6t0^LLij!(P)O_H zmemWAH)_>MF!tl4dfqD>JGd2lcPvs@E*|AZr?!&ECps`Q{>w8o|LhY{GbJbEa&foX%gH?Cg^+`4ruqLhjPxJ)#0KCp-&K$r9_PvtHMzSyxr6T=h}jy!o~yO`3EPfWf2#DNAhpK`cj(9Q`X) zsQjR4(Jf*jI>`b6gGf(OgQUbimX~xV%}7@KWp4nxSmv3(^;S^;0000O zpZD%st{~S^!J}#EfN^laNCy(bXrcoqE=>q=U|}$`-T5K^7cV@clVjj&dvuN z9UaGYU0*H~3Lp0+jK|}$rfEr4RY!-0hT2+NTThy%IT(pVhIL(U4244TrfIJ2Mku0_X0M~V?)oSE&IVLA3tJBlduA(S&mSx@Wcs%2&RBHX7!k(U< zFMWM|P5u4-9w7v->;6T#TqcvrFflPv&gb(&Rn@0}4YW9p;|H2;+xDi@={6CI#oV#6 zF%(6qEBljDsYEuLMUo^`RmJD?A(LE-8C`bbr6!Pj7GUZ--PWm7mLv(q4r- zMFAKX7&tJY*lMpHm@pQLxd$aP3_~aYSFTT?DBgXGs#Tk7iBkYq6#z-vWWU+IR{@Zv zO?H!S>nr5mOd-h%4QdlU-yvk#^Ghfz-qOQ+H=EC%AC`rvZ>?0yyngkFXOC~$i}SOR z>#*R0BY#Vh48ZQbndkR~gG<{Nk@Q9>G^{P4}Z>oUNC>rvM_tzB3o58 znx^KE3Pn-CSc@1!X2N@)+o41EzQyZTFYxNc(;c_2U)ih+MvWPpm#s{i{1!=&Sv(`>UTl>xNH~(^i28w?E(fE zo!p$0PIVkWBmr4(4Cd*8rPP(dPym467LC}Qz7YKTSdpPkvU zxL-b_L7NO=?IfAtCVk<+J-2H@CibdF^XI41f}A{jpdq-mM&L?_AZ*t)19)nYFb{+jcZf zLx>SmbyKC3;(z@#FdX*$JlN-8|J&m)pFZ3LNb4JCeD~T-a?a%3(X}n@QUG^RGp4D? zIE@U$z+vC>;^~t+B68c^_Yy#A5^dAawJkYky0#^yh&z;02qL&UW=5lmxCn3q*h@hI zF+^gDG-(#fxua`Zs#nGksI^j5i7^sGTxAWABnTox5Pv~JAcjDSkuGB zb1x#lf5EHczN}iYT2V8`aimtqtWxV-M|~XIo#bAzYN#1Sl~f8Mf~tbUR0>5ERm04% zTL0Vw2ec?97UI&TnGs{eaZHV=6s9s!iq68v1z?^MLI8nUos#1G25jkUnkL3+!p#11 zusnug98#%XQ8iMEhy=i?b>^m0PD}?#W8Z&%^XmDPAYnxwrS3S@=J1ZAXjugz?v9Au n1J+N-{~H4AyZa+K?K%Gfb`~WEee(sv00000NkvXXu0mjf^9K$% diff --git a/data/themes/classic/folder_locked.png b/data/themes/classic/folder_locked.png index d3e18e50bd3d6ee9cdca573e38d07ba6e6e33945..3aabecdc1ed04a255ef13db7bd40b8e41fc72caa 100644 GIT binary patch delta 508 zcmVO zc`yOm*TpmBfoU9C?4)qS&AtkkB>+lTTc**w0I(F&CV%A&aU{_X4g_>F9q zCdKBB>vx758zG7!7-OK6!n^lTk)}TLN9P4wWdRfA zOQZ#Uo delta 634 zcmV-=0)_pR1d;`iBYyw{b3#c}2nYxWd4nr*egUzwPwf}5GJja+8;A=*l8s74loYzY zH~+3h+^2~mf&-_RJDkHgbMF;Z<$sP`A1!~V=lauMi`EE9A%^he@Xf)~zX=rmUKK`* z3o8IcQBsyA)>=e_!=rZ(uPrTos>|VV(=IeFDNxUswvuguR|S5;KK9+j&o z$`WG?s;V(2Vt?@3v@LBjWjg)Fm#@=j@82HX2Pk^Z>1eb_RaH3WaL!Q_1;!WvNhuLR z5br&0+tRizug3@XMC7ij?iT>oT8g5eEK8hoT?~L2BO-#Tl5-}dgoqg64zOQ{Sgf_@ zM5?NyEK5`s?>#wZVvHDLX3hXCKp_T1q=PXAYc0;X-+ze47)0b;7mQ|5)ebY8-g`m_ zubru$`+HMYj zjy$uNbMCUHlo$*KjK^aplL@D%r(B-DWM|w0AcW9mQ`Jsv7HMs5jlp2R#>NK2;gHSE zP1)OfadRf1iUN4=QB_h(-6R6!oN>-k*EMxr15np}0d4{mA%@A}(ebUb*8cbyD;O~- zkW(hc^z#u=&@RH{@Xc)zc>whPxGg}x-+KfMXZN|f{s?3M`PX$8k;fNGFIDyVcYNCe U;%}SDPXGV_07*qoM6N<$g4dKA9{>OV diff --git a/data/themes/classic/folder_opened.png b/data/themes/classic/folder_opened.png index b7b03bb3cd885dc5b2b5173140a821e3ad355cfc..a45b01bce0a1d31a46d8ea9591822607a5bd15e5 100644 GIT binary patch delta 591 zcmV-V0t2?Q)2_z zxBn2jW*3fa!?G+qdHU?MuGA|4O$*3a9mg?}BnjduF3z04@<9MrD{?&Cd-N3l|L5U9 z*MaLe4C%s9s;v`cd4V`d5QY)_ApGC&1(==~xh;S=?BU?yqwpMC!~*eLj>KvKD65La zDS!qAgA8RL@PF44h2e}+y29GZGVa`e$R14*c{>nCE+=VwM(lko_BU1r z6%i0eA$ITHi*BbQKeO9uVGMGiSdbS5TH{m%R8=)*XQmRa$&{+=hLmA2S!1#W;vYb0 z_+rYQD<0e2(=12EzdX+c*z5TLfJh~2(mlKX;tpM^&3~7|D3+1E2_Og~L~$auSXh`x z5{At?>l%HWg$W&X(o{rWhrA-R_r|!U@r(|932`c*VmT^08A>i%9h^@80Zd#cVR@nhuVP>jKmatan~GSyP(EK7fMjRuliVVZZo3P=X{eBR&D@ dol9|c1^`j9TrqBQ-bVlc002ovPDHLkV1n)~5JUg~ delta 702 zcmV;v0zv)f1l0wQBYyw{b3#c}2nYxWdRm3=zFt{&IP9A;tUw~d;yJ6q| z;FGtfab!N9F>e}Xvl(7PM{4=YJ2sxLaxcEl^^Ngb=XS;+*U4V5fKPzxR^{Xy*-Gx8kGE9pT}1e}CeP*#JgYq85j@?hvQ_N9O}dDW(`vN|9p1hkzL@yWU_1%gOJ@@$&M;G4NE2 zl4iMD<3m6@jffCqq^>oB5Yry8)?He=GvJYKnnnTpGl`H=!uvo~RRC8j zIT!FD05BLc0Recf2V*XO`QiIRMD{HRRH{OhP&W$Xl*s=IE~g~k+buAaQnHj%5RtEd k_J4+WR!aFsUN`5z0a3ABF?J5wi2wiq07*qoM6N<$f(k1~_5c6? diff --git a/data/themes/classic/freeze.png b/data/themes/classic/freeze.png index e8f4882e285133c8babc83bf49d1f86c682890cf..e4398728adca0c4304dc6143777611fbf07ea556 100644 GIT binary patch delta 2868 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 M07*qoM6N<$f)LVk4FCWD literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}V1Q4EE0AV*@Sj@f|NsBjvL_k? z&6F$&@(X6*5|P(5wsjARNh_#o?Vq`L?T$ldu044Db)Ht)4xl2&ByV>YsnYZ(MnF!h zr;B5Vge2=hMyJCH0t_2?B%K$mTjPH5fBhAf1tAO$+zcnaR;~Z($*J&VZ*>;$mDiG6 z9@zBBzj*BzC9qq4$xb&J+pIa+X;U66p8qR-_3>_{)GvR{g)J8zxoLO3TK2od#Rogz zFKR7$FMj1}v)GZ}R*fG_zk6phD6h|cAIQ}(Cwc|L0-gi*GoslZZkPRE19T9Br>mdK II;Vst0MBKTwEzGB diff --git a/data/themes/classic/ghost_note.png b/data/themes/classic/ghost_note.png index 532245e11f5e4bd6547da4e5b54547f353a6182e..2c3ace519ebfed55a6b5becb7736cb69560abef6 100644 GIT binary patch delta 271 zcmV+q0r39B1D^tr8Gi%-003j7)b{`Y0Om+Z;n$#p6~QDr5PyPI zn86}Tg25B8nq2Sz#HI(J!Qkwg)u7;-hJjUC6w88RZZHvaxJ&t%Ok~5nD?RYs@k7qB zvZki8f?WJ2qv)?|lbzd~ie4&aBf^LW{oET4d9-aw%eVmCxqs9Go8cB`kud55hsj<8 zH{k_Gkuao=J5k>98AN4^*WiELnA~jjU8e7>h9O4cn2BGH=3x#pse(l8PR_08u3^ Vn4w9k;Q#;t00>D%PDHLkV1oNmeIx(? delta 437 zcmV;m0ZRU#0>lH58Gi-<007CV9DD!(00eVFNmK|32nc)#WQYI&010qNS#tmY4*dWC z4*dbR+SSAW000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0003&Nklfrf@^aBj2)5gP&< ziq^tWTpW7Qk|Ids{WW-Bxm*O_*VYdFxjg4Q=lt(8JU3~81-!&2ew1$$FR;+|*TzY_ zbvo8@r8Q4uX8>~_JGkCAkKoG?<~}~-eDI(UJv_viqjBCehEG_tMPxpU;%&rHDGy|fbI#}yCiF;_&)~UF@@b``)=a~ zewTWy(zeTDIo*2apCh!zDPaMe6 f4Q_K~#9!jg(nPRACr~pL1+<)KZ$X9Go%; zT9g)%C@ETrh_Zs9prRlmT0o)&3ag7Ys0b^H7RxT$DcaM_N*pOI1I4tAs7w2}KGCiY_^KsKe-bjW=-h0F)Q0+{$OvDVyD zF(k2VzT0Gk3yqmU zyCNo~vX}^e1?<_CMJ!|iw}81s@)l9sJU*#e8_#OS`YSq#ACv5aC@Gw5U=@uxn8+SR z6ULIz_+(}ig)hUetd}%-DkAw(sM-*>YL|4Vw8&4{?SJAS(|rFDKC~`@NL~OlNCI>f zH-?H!O%w4!;nBol_C52154Jf%3s^@o0AS$m85hko@|AP%Uti!M)jD{ou>YEf6}xx! zVDwBEEh;*LFxxON!(Zju<(h#q0)wVr!G(hcwF^OvfN(tqO~r>p8IE%KCL$i`mNu!C zN-38zm48wxQN62`Of4BdXF}r5N8@486{=W7D1UwMr4$P-Z9$96zPSkE zTOYblg2>{Nn0*n1-Dr%yOtMH8MA?|6O2Z6{lmEHS)Xcw|d+*tYj-g4_Rmpkz9qv7x z&-wn&`Tddkb$kFU)#idV9`dG5nU2P&YU@O z-0$}%M@L6h;D2Y}m$g>(41fLr{LSn2e&5p4@>k%i8W_Ow zHc9|qEG{mFJ32c4uyf~5kIUuKhKGk+{eJ)Mix)3`wqwVRk48pDdd{Ceebm)+X#bV<6_3LJ5XJ-NU9B6ox5`ei}E*Ff&Vm-Td?Q$uK!ua?&b#-;@ z-o2aV=4P&4yT-nK``ET^8@XJLv9U4EojWImLZP~JIvtswp3VcA-v+e&3N@x}+dZwV zts9fcB)YD1^X5%XojOG{8s*llTX;Mkwr<^u&wuBmR4Ne&1V|(j$g=G3@9$p+i~zac zL7Yw}rfEvRF~cyv38`J@M+m|G{ribTB6vI=!r?G&ZEeKk zaeusCFP3E?%Q7yP3(K-lRTW*=rJz@}P|{|-`o@Zfw?*pK!>hdDnwy`X0*&2qy{QNw#vwyP)A*8OZE_W@4nqLJ07)_;83te4Z1cO0R zsnm*}s{z$&l|rFFp-@1QB)ncPPNy>rSg%t8aOdjPt67i7BO;N=vKv+d48tIw&oeVK zgRbicA&_O6NF)N_mLzF?EfY9i^@Pjiayc4{#k%(H-Rq3U;{=02gb*t>*L9t8xqplh z0!2}fBnerTQ4|GT*Gq$ggE@!8F%D#<*F^q5E?v4bxo+J$T3cI}0p)U;d_GUPTt<>4 zR8>XOv}LPl8UTSnz^!STB7|rF>g3lzW~Qg7KWuMr-x3T4T|S==!!Rfoi!3cIEuUJJ z<>lA*@|)Z3=IPU?j!Y(_&&|y}0DmUsH{`Krv$M0_`T6v10Sz+Lv=h zQE<6j+_-VWt?T+AkbVI%g+C^fNmNx`;i8v!Vwxs}LV<~i3Hti_7Jr9^hMwm0 z`6mvC+1OEnQ0AqCz;CPQ-pkC87r(qZlKzo~# Z`#*Z)P5t9{)EfW*002ovPDHLkV1gDO)mQ)k diff --git a/data/themes/classic/help.png b/data/themes/classic/help.png index f38f9a76bc26f5072a4045bc81e6ad03669912ff..2a74431a754ff2d5db1d158189365e1fb2f1a82f 100644 GIT binary patch delta 1139 zcmV-(1dRKK3Wo`hBYy-=Nkl^E|)9`OoE{{-Pd3rPKt6TiWTVy88#HdIcsE$e65=J=)Wg`WFc)D>F0$ zBH~O_^OxI|)L(X~>w3v-8vTwy#m#R%rT%B?u~NOMm{C%pNk9j!tIj1xuZ3 zI$pZBPh@*^PKHOvBo1Wk*)@d&*&`m)w1O4VR(7s`yZat09sxm?Ii<&0t>eGA(?M>H zqY&OY8fl{@A#eONBy^2OXzLibH;o3_C$L(^u`RMnPAV~d!+3@dv$SB}6dJH9y8b-}5&3#`g!ELp!1@7}-1zN5!5Z_RqF-LV^Y@7>3{ckeK7?FO*Q z8#rE4<51Pk){9JD!!IKv{XMs*qN`WDMNaukyNVY4pnt3hQT6R88#@WU6^*bjsfS}x z4QeJ$$D=1t@Z{-JWOt2&U3v458uRS3*Yftvbj~Xo!e9t#1jj75Dy(H&7uVxgtcvPj zRZtD9?{gYfK?RPVIg3x9KB0Z)Tv+8-{qU0vHUIF91BHbpC}B-~J>8hp%jS8N_ryZKYqkg`cLu5Dui}S z8c)AQc;W|PZT(V8Sl2jEB_Q&pdPEXc$y7MdhN4ybG z)k>oHo5WaNQRh+^$x0EKRM0;5zx?0lydTTCF2nYZe-m9 z5Sd?s3A5)Swz!Ey|la`DEm$g_MgW$t{= zJD#<8DHPrP$od~hI(xDO^-Ok9g9d3)zkjN)q%>2|!0fb`9g{6?&%$>Y_DsYUmSEnp z6-X+r0E4V^L23l_O)vKm5s#pw`cPcz*wj93wyS(r6YJj_K0VYiq_6Pf+CSTLu|R! zgX+g8H$Yk;Yp|O3WvluQNHXP`EDlhi+`7d2pj zWG_A;n|>0*6Z$iTm(f)A6O&5qHB`Wv{-xw;&w%cV{|AV{^)-tf>Z1Sv002ovPDHLk FV1gekGl>8I delta 1268 zcmV0b z000McNliru-Ubl~APHcMwJZPt1e8fcK~y-)g_T=xR8t(A2l*j`8=`h0V+yS>XBZ0UtUTL1uDEY*rj$>MZ& zraXVQ2tYJ+ZuHm^k4GW{LnnRVwo~q=V88D1wo+Bq06;M2SgW;sy|^-2&1WyB|Gsl^ zIWdub7MOG$Ie&gUa`4bOU%35Mm)GYbloCj}{!2i}nv39ETD5AmlFMGr+#dg8cI?XN z*65Y3&^@QmobA|u;FDmq>!@ZJhO{jb1V@`oMVp~Q;|_@9pzb(;suERqxeR|(%;gIV z7@^kkQsUku0Qm@b*OB299eekG>~GsS0D#K6iQ%peynlD>FiyTOh>?T+I2`N2K(rkO zXLy)hguRw9(Y?M_s?xYn=xk+v?!hLwB_5AN4;}u<-w{0uNGdpo!fcGhx-oQU0QaU+ z7{7ZTrD_emyP|mcz&=pR#GTYM7$~F^L^Hf$MbUz0sqkC9SS%?3X!OM+XM@qsb5zp| z!8wHBV1GhlF<-#M{eN*`{5F1{&EQ5Ng{49s1HC=y-L(_{B&M)XU4;+=Qc6M;B_bR) zzcQT|r~XK!*%b`EPBq=f9S57rIZ_o9V>21#9RVf*izv8}NFkkFM8NMyG}HuEH#dD0 z-Q{tGTHf&N*wLoCS~@y4x4WNnM!>h}Xkh~YB!6d!KNmqqYZ$iepj@kgF$S{HH2~2) z-o1KrxL4Kv{yw6rt<1LZRN)*$T@k!B{0dr{n=v}}D{ekWfpLKF|05!r9&!bmVk#g* zLI{mHPXP;om%5|);M8l_+t-KDU#{WHOFv=Jv;gwxC`c((fP_`SIhf@@%7#M-35mYu z0Ds;+F@pH+-MH}c6@2~UWz3dq0HIGNW;@`_R#av?%gizzNnkVrQ%DTA(B)T!0XT4wGWE5A6Z0FZTNXLXNnA5ry~ z6oLrOv7s6P-Z?RX_s_hEYPpPS6SrYI3|nmk=itndW+C@SaVGI894EcDgiN!-Kz~Y9 zRSrVc!cqt##M)?c=D<)0>Z>NM{dEhI({teKf15U($@DjLUR36{Qk`;`N?VT<$p4^$;Oc zT?aB@Sw&Vile}8KTwlz64`=lr0Q;FYZ}Ymi-R+9*=~F%47$Il{phzwX%&aB3wVH%w eWdN9soc{xyTYk^_9o+K(0000+pn|79yef2SD45d+$kRMDr$FF1-+%af+n-3K`tCC@mr z=U0&fV@3816L;xzZqdi*Z+ZOu-~&Kc%~#*?|10nO!Cf!A;IdOjnkU`V2Co4ofKZdG zz;a1%oD_fQi^b2qxu9~a>q-Q$8neK7=88_;p1q^XV(*!^cEhK@>w>ANx*d)J+kh-o ztr%Z+@r#>>Y=1nKUI>(H?%#&-?>vLg@eT2I?cNQi7~EqZM*&S8(exw7YTtK?$m`jo z;F)W}_X3?Xk4C)<{63FAT;RJBGXqY|@Y=y^>)Q972$&g89}qaxG>p!GUsLrh zQ0JZ8C*aRD`{0y<9jO`Q*askY2L!i5U^|YxzxEVPwSQvrLuS4!5(az?o*+S>_Bn2vkFO()z6$gKu zbX5XhI1QvgG;EGkSfwH)0lT3EqRSj8ab_Vk3Pg5-l8#$RwXba(_`{&ir5YTwtNmzGKN^+^?TfQXjWXlQ}6 z?qEDJWqI}$$tV{m2z5Z%-5|(4We#Be(O$ciGL8aq&83<7zWe(9 zp?}jRek%)Rd?{PjjFxrFN63=-qvW2uZ~g%|Rr6C%2KDF0l14=|6`(j8CQ=b1Lk}FI z1Bs*?15%pXk_ED7&z?v+ot9)WiGC!JNYp&)*Hu8Kr3>6)!-nl#vSi8VXf!IpV32S) z%+{@2*DYPTbOR96gcjz{$;s(^^2sOvFgtYU&~;~=amIAhH17lYX?|KBs%}sh?c_RL kwH!^+ikX_Pj!7f?4K)VDcw8N8vj6}907*qoM6N<$g3p)VWB>pF delta 1042 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 Ef+84PiU0rr diff --git a/data/themes/classic/horizontal_slider.png b/data/themes/classic/horizontal_slider.png index 49d16b9d869e01d2380a90b5615d9cc6d2d10fb0..d400a3fa713f963c4b6173a2301b916967fadea8 100644 GIT binary patch delta 538 zcmV+#0_FXr3$g@|BYy$;Nkl74)1DMbTqsKw{6jv(iZ# zsg;diQ5AksS6^2W3rRQD;2+qE?bk%YqKhuRX$V26;Z5JUF*o|TJoh;7%(?fyxp68b zdJSU?uGcG~C<3G3?|<_sYJ6=Vx_F91bF!PN!ga{C{y$4syAiI#Nu7?QSPo zGz5<02r-#VP^;BYsZ`*)E?mneK}4Y}I(>h6!2_p`UgF4Tx7(6mUw`6(*V0NVc2n$G zIW3(|r%6hW)oK;N$ACBREc85&q+Ca*)8Qr^d7%GGXEGTuw^}XK>vb%b%g0upPpwNu z@2)2ikH=#KL4N?>_wNrpI1*&DSz_t2*XwapR}!8g%Qc%#*<7twNKf=z5}Hqg>Z!_1Aw7a}Yc3&ch$siVi+ zKb_BV^0Upi+YJn23e}PK^(PEbEEYk`$)?MGzsF{?Nq-!FIfX*u_h>Z2dcBt6;IJN# zM{KuS%;$5y?;U_2PN`J-Yz5(9FhFRXjdgf?3o)C`So&b&6M(<8<;47(Y)wtg%d)bv z|J$~0`=6Pa`9C>1`BOqdf*MB1Pnj}Bwz9JFWkEp!Na07ILRFlZysN8ArlO+aQhR&5 c47wZui4$+~d9yd9!Ter{{GxPyLrY6bkQqisxQ#zd*q`*i1nqJTosPzr0uz ztlrnx$}_LHBrz{J)zigR321^|W@d_&p`oR#i;*(J3ovn(~mttdZN0qkX~Ox$j9!f75< zZwhX=IOEi-4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WZnEmY$^i-lZ2;>V@SoV zmf+oew*mxY<7Y3=$WUt8BC=3vnvzKV;rbSZ9}H4I`j^}?Q3!0fbm78>U(B=Cw7gi< z+rs3!X;Fl-0E+;B^IYrXb%x#(8E+S-_nkj8w_2w$cm6|rwWpsey(cYMy&!W|fsNcj z1D>esufOVZHC>v2DM5zEOOB7-Yu)v1rf*fYQQ8&BLd^T`zc)~l;1oNp+L6U0drX3L z*Im6OL7EJu+7cR*ISrz^qb^wXj*HC4Yj-|Yy#6+5pca?!lI zJzu(xKVGQtZAGTkiuWP24)6v9if}!$IQ7&>b)ulTN>A07s=WnPa}{Qv4Jt5^irrc? z^YLogIEVGelqb#gV-E>!t+1)9i`*r*D71qvGmuN z2C;uX&pREjo1`CgnDrFb`moikoi0rGKFQ@OSR~x?Q4m;gplo-m*HWi_nKS=n#+{!S zgqd~@CT#_BK)kuMo0Rp&*QJQnm@9$ZoLr%x%eaKW_!7<`*!r_zN0-$o!)78&q Iol`;+08;c5761SM diff --git a/data/themes/classic/hq_mode.png b/data/themes/classic/hq_mode.png index ced82b2ba2b01a81a97ce28104d3e12085319c5c..027c4ab0369ed07167c3e654d12a1050834041f2 100644 GIT binary patch delta 822 zcmV-61Ihfz2h0YLBYy)ENklPh6?V)kdQ&<<(FuzUU5i&gM1RCshz%uc9wrv)LMI3v zFzjjlY^r3rQ&!yV48S$E;^*gFGzo!H^OwX!9@A?(+&xZb4qkoNbCqP%&AxU^ zLdN{`s3TbNqZ7GuqjRF}ZHjw7q6@xpw_C?C&XY zcVWSd;Y3U3Sbs5Qu7dYNPcGl;yl9SexmPcz#T!+=;)c1>6*nMPz8a1QltTniv?<0V zvEcBjo->{~;|DWm@{sD#1nbDpx2LjNsd*dkeuDONF#vc;6o_h+H-D!iR8XoxMk9^l7C3PDjO_E3n>%5ApFQp{=Qf+ii$b=aK4Ip( z(L=rg6M{=Zh)4)^QMLKw+CeZIH={qJet(`xgN7_v6tHcZ)9w9pRH;reeaFLg(Aknz z5FbRR5Pub7r5Z(mGXWCJ$IKf63+J(Lq0sd=iKB?+k9f?^Y($@z3G(@3Gbt<;8 z3Zt}7w_o6cS1>=k!=i8@_lNT+xJBerF}HMiiv@4riT&jRSZuRcqar%vv3)r6iT#-P zM=Rr*seN&o-=07*qoM6N<$g61HO A(*OVf delta 947 zcmV;k15EtP2FM4HBYyw{b3#c}2nYxWdJfK&et{)0aN^EFyW)2Y<1muX#~?kXR@dp9HlJ zio~~wQKVceNKquQSJRrPRlMpYm*n<#W@moxW|u(m>=i=4@L||t_cOCIzZqg?+>W@o zh192gK@mO!7+j!Z+nx$7xVwTO62<|%~Di0hnP4hXDY+C&1hjL%+^gQD~c$`WJ zu@gM~%LnrQO@E792IqspXNimjVuQ-vV`M?qO^Ivo$up1x<-+#eAZ6E){ktHF+l!aa z$g{XfI#$I`r{r!1zsX+l=-?CMg8V}McGhsHaP{j+MihRPKYgMe&YtUiCl7BHv0{BEZ^veEm)u8HI-hfBW z{MH>KrQRKTQQEo-3=Iedr80qzVsMU48;N#f5sk%JG_K9Hm5GL3t#}#2dUp;!1jh@& zQ44Ue4hw)f?nExk#V|37ejobpeG>J>SyyXb5|5wMp>CPU*>BD=N2}mifsF!EtO9ce zQjnAP!G9*0j5L?deZ*=dI-NLIHa2hOqMG&< zIf}K$UB@TQ_5ZEosc}&qyr=l+&`=q|j}vhdY_C2~k1_EX+Hoea~}8-!Xe{ zdb_EJDq1U$3A2$43B?S!nHV}>8Uw`XV}x?oYcp2dQ`!PR? zVIS6ny6f$B>M*?^1YReBg|!x*dwGVhqAWw+9;Kb-EqEUmdx+@W=cnw%f5f*V{{j{e Vhet6a?*ae-002ovPDHLkV1faFx;6j+ diff --git a/data/themes/classic/icon.png b/data/themes/classic/icon.png index ae9fe6a2a9f329fb005f8a5bedcf55874bba3b92..9f20d32a52e56efeca37b7b3c2c4a060a4aab55a 100644 GIT binary patch literal 81305 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 JwUkNl{{Xe*c@F>p literal 95342 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 U&9n^i#Q*>R07*qoM6N<$f@CRPtN;K2 diff --git a/data/themes/classic/icon_small.png b/data/themes/classic/icon_small.png index 522290061cd362aaa0ee6df299d545e07d6a48f1..3b1b59b0c3b3fff3d27d5eea105f0e4dd3b7f2d8 100644 GIT binary patch delta 1850 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 diff --git a/data/themes/classic/instrument_track.png b/data/themes/classic/instrument_track.png index 39dcf115bc7bbeffa9caa221810c518cbff2d1bc..f31d57b98f48a8f807926947d7d266889021e210 100644 GIT binary patch delta 696 zcmV;p0!RJz2hRnNBYy&xNklDoTI{7KlJm6mPZf5b^i{R!Bt-j6;vD!JJzBKVoJTDpZZ4GOK(xMR*Net} z`vLGU0??QjE=K^w2ZH!OfK3Vn>%p?o&}>7(^ZWPbrhjSq)7|cOUzh`H#EpHs-Q6&b zvvw}=UC=EK<%KWg`g{srw3X4yML-b8_pQO3@C+33rPy-&c?T{?5$SMEd(70(?%5MJ zXKU*JGyh?h)g;NE)N!73+!e9vPt){x3zxqrisM(l{N;Zs)#%o%u4^1J<2VY=x$u2o zv~4SfVShjlfB>gP(_4f_@j`a;}+s5{N zhXB(pLwse@de(me%d(j3y3F%D<~WYTpiR@1*fB7SlWp53h5#?s6H9r>sq4LIK)itN ecrbubFbV*$OPbsylV5fK0000Bl{C*Q|%2xdw&%=bhn8JASfUaLW)2T zB?jVr+V3sywXq{-VVg~}Q_VATX6Bu9&U^@xm}Zfty80gh02Bb&-{1c#gh>4E#Sae; zzX*~LLbSKHw~b6DgVAUN+qO}!*Rj033|W@(^74X4qk*NRC1{$4;cy7swqY0shQp!X zzqq&vS(edkHhrR+cu7mk3mx4|5MODJ3AvuUR_;r zZ*PwPSS%JA2LnM?+*>%w(i-+x6UBUx2dn5OwD``|J6`jg3| z-!}CmoVozTt9b4jcUiCmZGyJ4EJIaQpH)?buIs*ym$>8ehXe$RBuUUT&F6SL4%0Lz z?jjzKBb`qBtm`@wiA1R1ah%Apks(MXlgMN;K5Lo=UDqcHkYyRMSZpFIiULK6+-q1s zluJqa6Mv4o-m5E$60%nmC1mdjhzhe5T--ZW!3AB{4Nd5}u0P3V?8gOp<0AzGcl?nD z#_hd+&*i`DfuM+}7zQUC51AJNuWej#EEbClVPptMqCXhGFy3#vk>enlOoiMYtdB+x zQt5QyW)w&yX5KfX#Gq+-P1v@L zYPAa6woxb)5R1idetwQ_w~O`lbqFDFd3lL`zmGzpfK)1le!q`wHVcx%7jS!fYh<%o zUw_&2^D~0nY&J1FJL|J$SuhL(0N^+d-rn9q-05`u%gJ#Z^m;wa%*+4)27>`|xg1D} zPzXNr5=L?GSVnO$XFQI~0k1;{@gWDFVy`}lqXhm`fFw!3#2flzPr1_(^=C~h+C}|^7%Z35UAJduq+Gtd>#N$tJToy zbg;Iz=5x2(#p>!R0O024#uwn7g0BF6`>&Yff4|~smZ^Wq{s@@5fPVpVz=4(Mo?TM_ O00008<4X1ba4!+xRori^FYSziE46oOcMXi|K-}84B}|+Un#(I zU+THlh6SH5iX3`qD(qik7szopr E049$kp8x;= delta 282 zcmbo{fQlp|?|(7f7)bJ9&n106`5$N(Ye7S>O>_%)r2V5`-DoZ$0h<6qGD+ zjVKAuPb(=;EJ|f4FE7{2%*!rLPAo{(%P&fw{mw=TsAz?!i(`mIZ}Ol2|LvJg8HGcA zrA;U7Vv~}V&NntQyLM#hgb6lnjXga*^Xh@bbRQodwaCaw&V|}4D*cHHA{z`044(Y^ z_4W0(&Q8yDix(?%cYd-s9MI9&n0V>=`T6=YXU(dbq~yOnqVD*C0~3y)KE1m9*O!-X zmz-GKeo&r`t?gw_P7d$!KH2K_qY6%+IGF$c|G$53W8=afZ*FeBzEM*}g`c@+@zS## c1_BHs7s9=GbCr!tfUainboFyt=akR{0QshP|*;bDEdY#0p2sEXuoGY|N=cR43L(VzFWt zlh@JAi1g-aj5VtBE-ztrnGA7D*IoC=^F04N&*%63eZSw|_euA_IBBZusjH}{Xrd3I zu*%cm{o1Ui+`Xv;Z50(Y5*p=jIPQ6Ij<2g9erKv=x`_ZN+3JBYTj6@NXlZRVGbr5H z7NvIb>lIaBm%1vNo~K(F;@(f1d8IPIB|Qkk4dQb`w~P(Zt4rT$+)s))KHu8=40|## z)oxs|!st=agIt;olAqwn1;UQi+#kNi{Z(5VW<#W@aZ{`(LZ59HZ6CTxcnU07k+2}W zW6woEt9xcK6j4**du~M2&8+dYUc$2ND6>s(StNYEq>D0p8Yu7fQNf&#L3bw3Bpdt z;9ZR*B_DROWm?-rc)D>6Zb1OvcV`{80|8$7^MCZ+IFPB0)Q^i?16NwWydjog zpj_e00J(9oJ>+ll zY5gH;jeh7+%=I>%w^-ADKR+z2D(D3mPIlPZeI+%OBva(wtiI*^j3Wu8c~zG@-1m8S zeWb{Wkf~*7zY;lkH^u#T9T-^99Sh?;?u#Lmy-vKQZ8UB4rggeJC}tPCyeGob(+rQt zS9|9SMIJP!cG3LJ|D&8VAWj>k9$*x8H}Uip{KI%~UtZix`Xbg3F$>YF^hW?Qznl`` zh)~M{dTgHa7LZ-c!bImtoAxGuV`^ElyHb@y-YZQVcA@*)SyLwiH|voHm3UQWg^3dBhRZav8q3t zlRjIE#tbQ;0sY=z&ZUoa4Y1+YJ9Y%sKp(yC*lEPOQpy)yzNltwk)!7Eh{j~mAxcPT z8@0_7q90nBc30auI-;B0p$$4l*TgWTdY5w60@k-IiROG~_+Tg9D;BnX_CPF1DvQ zrkk~oirV8f$2s(kxBzLiWy-$}P^u8(^L?W5v9Di3f8@iyv!AgV{`@@KnT4l>V}@l7 zrl#fxcRT1r)NE_uePSHtv-6{_-TCrOK09^Xvwr;2fu(H_i~oR+C#nOFwd875qFjs8l^9U|6m(!wwLN7 z@j$pNeo{sa2(y*-NuGe37mZ`5=Ig(}D962SHe;2p&>XGeUa?~G%9Wpy3fd8as@Q+* F?B8@qY(D@1 delta 2282 zcmVAUF^R6p=s*OGHIe7DX)Fu(4#L?!(UG9VWM(?kJ(KC~d;8wo_nwD~o*6O7Z_tr#=rouah7`H zeC+F@@Pw3^>$s`w`56FfEv&V+XRTR!_0KQm9~k=Kqj$6z;|tarZ)>wR!(m&sM(bFm zQoY*qyfWk5wZ@FIEQ^Q3!JGY!?nwjItxq*OjPcA`vw!r;sTaEM3wq@CI~~UP0%xo> z8bx6?iVq$(5F@LXrbP0>)Z!#-No(p>h;?f$=z9JGc1ilU}KOu2c#mV{O+O zvvlUA-{eh6iJdG&kHz?L=Xh< zd>F_rg zV{=gyq1WqS(C>o_0Y^G;To;wFiY(8NCMgDk0gTqD)@o=rn_^F+d2fBHab)q;vrn{U z_P$0!EC5*iFQp&5>+Tj8{7`3QdEa$6-1w-`W`C~V@1wV|0bM9m>vim#pT~5&je27W zfgd1A6Krj4;^O)`E-Wu&u(bst3C%_WwOS2a@Rh&+?X`zz=H@RLZ5IFVo9DW_(2pOx z#}QoI77hASr7-+Lxg6fRwY7!y^)84Ad*}Aznrl9UsYU}~7@|}vLrMolkz+K95k(O; zH-9$p#vA{{>dGpVQfRkZsMqU=KbzZ5|YcCU*3jh|ypI%uMM09X{ZGUC&{sY&1D@)UAx7)=y&(Lm9 z&(su15G(*|4U93+T0?6MSPRE>0BgY*kR&OF!#-3|z;hkmoNis)S-Eh!R^Owa{`oJK ziAaV*2xbggMWJTnI6*v$QS!@}nVm)u1n`4k(i$jWi~-{ui~-gHb_cHXM0F5gW`A}X zgRMT|QH(ea!3E74gBFooWsHX;i9*gfYfiV1DW#C42>_s0uflhI1f>vKYZOHRV-18B zV4Q)0!NS5C3vDJ)tu=yD2;c3aR`0w_Zgvl5tp?*9eh>g)NYfNX8#sjh~^^gQnP~^EMrQ<54VT=K|n5Zxod0xO63#|!)PoV5FsNI2@34c^61#9fK z;gdrtrD3#ki#+!PQ9vXp3CiWnT8tSGG7BiJk>z8gSpvs%cZ0$O2WK3NGXMNF+og zh^#J(lT66F9O(eC7!HOAN&z@$s8p&DMB6GSJ<1r{erjJfER@1nyqj7AAAZEiv^4hz8dgKf1FKX;S@b~|Vq zX_{aZ$GEh)iE*BzR0`m_5}ctER4QE(WML7B(=WYXfAjo{ z7+IR__M%cb7_c1}4S&6zR8=VC`4~|&z$hMJ(C=d~h(IJ!t5xB-jxk0(e)BE2E(t;F zPki^0iv$2dh$Yu^Yu8?P!|VSzckYBk^0Vb~3H`wUmo9A~8|MfsWu!?4B7z_R!Nu+* zQc7W5j1diEB%=|S5Ga>Ra7e-$d*a%IH@qGMrBoGa=^fA0?|(e@y%tG%=*+1l`=|x2~yHptJQe; z$kC6yrHW$lk%zw7eFqc(9((+Uhml0|Ak0)9(wSryPLy1))mhAk{^_+pZd)4vuDqo z{`T_n^5+<{cZ*7ud#;DP$Wi19g_=w$As8e{NQdA^2d?Xah#N`t-2D9fFApENZIug= zYBjmm|GAg}z~evoi9CXfXS&b zr(Uf-dHBe!ukX9!sz@u;`*^% zsRP#7va!bHjE@;-u|sseG2K4dZnV0Gj~wlg5Sh|y=__CS{QKK`FRvdz^^8L#7X(q0 z1ToGS>tpsVdcE$tKj`=UYOR(wTkW*foX(83R%vCmQaz=Lr7z!q-v{6DFR!PbIU$HB zB%+WcRY*|Cg$Rt+iP9=kg&HcQBBfMx|9$to=ex{*0M`MqRa%9qd;kCd07*qoM6N<$ Eg4~ZSzyJUM diff --git a/data/themes/classic/knob02.png b/data/themes/classic/knob02.png index c4e84a314122ac491a80c59a9eedbdf1d653eede..7844ce80b1bb4defec35a0f46d4257d25036d8dc 100644 GIT binary patch delta 1365 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 diff --git a/data/themes/classic/knob03.png b/data/themes/classic/knob03.png index d620272bf7c294f57971652fc3ee25216affb976..71bf5e9b351e4b48fc3dac8af4416c496d3468bc 100644 GIT binary patch delta 734 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 delta 2047 zcmV`h$; z000N8Nkl6wpLNh+tyGU}zA7%0-YEgM1)XETU3MFKK9NgP^o!>wj*y+nL$>&d%;!&N=V< zJbpN*%WmmSzVIeb&Ya7<|NnD;UZbjfl*{8IUda#p$GtEAr@?uPTn`@EVqcwOXnvRcyX>Y1f!7O;22R z$B#Dy0yseQ9Dg7eMBuCwZPt& zAHKLYRX12Em6@I_u>R_6@dKq}@e;%-P6U-`FXMS6JOg4GIR0Pi5F#{+-Yq+TPGHe| z#Xmq`&tJB#m>4hAB#hzuPv1skV++-aj}wbH!GAf6bv6QakvQw3XU>8sqCyZ_TH3p~ z>E_K;rgDttvfi3iJ-xtEAOm>Dn1ux1eEqSjQgzx_UzhMs<|av)Bz`qO#NkA7POw&R zE(R2blT+X>dM6-iK*0tUzfxjoxJas{gJ-sW>v#8k^VZvdcA(}177%sAqUtrKQ`~sd zt$$c?ICY4VNPCGu3R{;Mcj6 z!(_9gI4gvKMO6`G&iChAPU3H!BC1#?RLisU9m{g;2jlw$ zHf{QmKRHp%59LM~$>-;^6$2`q(d=hiiXsvb7ZFsHe0GSwzCp6tkzg=4VNM0&TsrJ| zyv48Jq z|AH8>!E88_AD}QYM1JVVhwrZ{h&VJBiGw&S&k$5*v3}KDx?)LJoCWU_xM9mfJAy=J ze6s9e5*dtVFc>txUbz1);zFFYu@xLDmhnQFfuV8o6SL)C{(jfnaR!<>7rgZ7cQToV zy7u~n!}())raP)s3gUq$=Dcxm3V&S0q7p>EZB(FI8j_@!EyeRpeN$5^Su9pVK<6y* z`R{HmI_q{0oEYY7>atwUb%Yg*bz#MSn$61yw=xl+Pn^5+Z?*xBzPd#0G?68NXTrb>v42{N}|2 zzuJ4SzaRKFup5{?y&Jkmp4iskP@B-{i9EY^@51_JRI7*$aW2HU0Be21u!IdtIKPYy zE78?fv0)V#`h-E5(oBKFM~47I=aNOb_h5e(C;$UM^-S$p0Qe{6x^oI|NG#sgA73()!U(|7&3G*iknwPYHTIDh&EM(AC2F$4W4>FQZZ z(i4vKpzGO3zWhMP zqSR%hW99Ni-7OuXV^iAN(xjfJ-cWY3(AM5;awAi@yB~P*4>8aba2z-SjKt>yonJ@J zMIah@qc~{-I(XtqrVVKR;oYCz{EO#z9%`tot^MLH>(@R0{H_BrKoDy^5}W&EeD6;0 zn&&+k%`3lN92e=>EsNrQULSWgF9t8iX*LmSUx|VBOl|vuk7o0Tm>6unnA6hOojMbq dZC;qa{s(vL^fU)=RpbBw002ovPDHLkV1l?V>_Pwl diff --git a/data/themes/classic/lcd_11green.png b/data/themes/classic/lcd_11green.png index 32e923fe887c82a01bd3c2175cc0f7109d5ffc98..c46f15bb2a0a54a9ff5b69edc0696a2cc2a15a3e 100644 GIT binary patch delta 286 zcmV+(0pb4FQLO@y7=Ho-0000J8A22Q000b7OjJbx000ZsRstXm0002TCtGX)0004W zQchC?M!{ zOc4ts@&z~W8#iGD8*Ti?XFduF+KGq9 z$;aQm`CAJPMMcn{0>h3giUty}lZ+b*sK`yTRbu>~44VSous1BCb{N&t4WmmCV4w|1 zaR1KHjpLf7{I5;9%=ygy0RP*7<5?rc6I98fl#E$wZR!MgwI*6?E8}{_qSvQH4vB|5 kZpFshYKIk(_ZQSW1Kl;T3E#OY_5c6?07*qoM6N<$f}w4CKmY&$ literal 10455 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 OGSODoQ>#_63;RD*ho7?m diff --git a/data/themes/classic/lcd_11green_dot.png b/data/themes/classic/lcd_11green_dot.png index 9f5a660d33f6b0242163cee1c3eb41821ba4f92a..a8a03184017d6e4c292addc9cd021e652c8a03e2 100644 GIT binary patch delta 77 zcmX@3moP!nor!^gA*Z6M1xTrTx;TbZFeV>hnjum#QSffdj`eMdEebUphZbgCU^a1A fs_9$E#m~Ude4a0;y5h%CpcV#CS3j3^P6`GL!W_*hp%csIs8S%`Y$F+Mz4GFG{y zl5qj!pZ7>(C}FLKfTrqoe9QPv=bq<{XUw=?%(hex##K0eo@esma=V?z|lr>u1*VH{b6N2jlAY zMMO9>Fw?EEUk<7;1Jd|QRVt5vR6FwNnf83TNwMs+@#ikehUtmm%r70DUTZr();y^j z8eKM586I-!(WKt(9zrD?F1y~H_hI0}rjETO!+rOUhi`f97UeiVi{HAU`@vYnQA}w^ z&6&Y_FQSh;dTl*6^X;z4PmOJBo=q?2zp69qtUAUG4<0i#E6o>&_fL5mwz_#RmAd25 zZhV*U?BJRn?T;h9t)tBLdS|>_fT;FSp}ttndE?HgdfKR}vf6vM)>!Qj&k&Q=vWf$1 z8BGZ{6Z`0Xkq_%{?V8c=~&LvzR=(xDBF5S`@{}?pd zQ&GJ4pwEnfKIPo9Y|+EWISVF_!-r)so0dBzHkZGD`?{{25`E$+&v53ORPPImu2$d$ z?V4|@EmI?4d{?+?nOeSTY>fKUl~%wdpZ%v#5nFAipsV^59J65> z4)wUfhYLF?tC%(ID=$)(J>AJgYK2~OzXO4JOX++U0Lr;yH^Fi&v@;1wZAEEJ%8QcqzG$uQrA5o zP4PI~5mV-SjK4ZI@J@e|_c>7G`NsT~{H@M=_HwqCjLG=-nqymR zkHw6b$E|rZIJ`P0@7ZW=MteyDPR$EsoBkQK(Vckv zulet^U*WC|?R^oP(NdT`KKIJo6@y1_jVcv*ry8z4sAlAYSJytXGj^n~v^wlLr8%YE z=r&t1uDJ+@E#Z9VcO|GARmbfL8h)zi9!@`Su)VXC*g4X!zf_~BdS{&lak2JzQ9ps+ zTcETp;wEN|hvp~IokdHo)KkyrIz3H|bh}#6l%*JH{rsF!ZAp%ty)RvJa5GQ1>Piva z`^nADq~nv@;IM3gYQm;1jeiwBtKwWe(^35S>QaC@obGA)!2&PA~K| ztMc43KW^zs`gC4qQs0Nk{dPGAGK%tpmNPb4W*1q3CZ`M?%>`fos5;=$)4ZLc)lS&c|&KSX}ItC&l>s{8vs|g z;-fUmnr^kXVTwmH{Jr(n567WQh6~!AW@a<}r}r*+l2p9w+>)c~`#3r{TknuZIT|lh z>pVu>*-qev($Cz8+Xm{8@B}O^z-0j0@@dF+hW;!Fv=7#I( ze7cU4F1nq*Z7Hxxv^$2reqCU20${KN?$u3CESMF(fl44Kp)IMGG z^zm@;+pxK(@hTMY>HP)vIw862A;NJr4`@X}P~7(~Nh1J9kGXSa`XYv~bp= z6RVO!v0Bssoplz6QX-=*Jkm5?%2_7J+>Cb%Y8%%X;lDGPBYLy_*`*yPv-U4uEcY(? zbIy9q?2@-5Iwz;pO_H6RTeF}9n3Uw}pm1B>l@_Mgh|8f`+N`hDIrlglR!Y^Hd$l_1 zNSe+KtG9 zkD2;a7d=yUP`k5WqazG1PQJ8rU&+OOdEwUBQ_J%kkGBjJbuZ7I^&#GMKmFNiFJ1xO zXJeX1@qH((?E>9JUY9Y$BaP>jW_-39jq0&qt?SvAm9UU|-Nd0YFh;-VhSJrf{_-%Z zg+9#;#&U|~yJC0uCG8t7bz4~ZXI)X!Se=~PTK=at{j%wx`U96V#y+xmgB(%iq>6%5 z-V{Cjd{@;mmhHBZMjzcp`PzSaPk&*DQ(1d2y>GEzT7t_FM+~OoI&OPpZ=<}c_rN;i zRdT`WqmAQjcIdNmz^O2Oua?P8Aps#65ZR`bAquSunxmOZN3ud2T6rfO(w!;<{ z&UO|S-#(+r$1^!%Ki&4mig}gZF6j(Ct!nhieW|;nH!v$Mtxc7iv-14C%;@1abIGtR z!*kxW#%N8+{I70+MF+SqtuZ{+tN{!qKs43PCH&R zH@ysN#tz1Wrt4=^ysl7QykXza{?42#eyjsds2^{1IVsd9#Z5Qp($h-&ClCKT69Z8j(G9v*>2|Imae)40y3Vu+D5;aYYyWl3LG;SVSeoA1>(G za|4mK2Zb_SE)E3107!)PfqY>e9rM1Z6oZCYbj&)6Bf&Ay0`h}xHwz$_%}z{ka{x$X zVV0XIn2Ko#02dMgXfc<=6Vk+Vj1-rKJWIrQ3|gup3ZP@$9G%e?d;x?eC{F~4 zu{@!U1Y!ci5)y&}I8X%hd1whH;KL6R(J>fg9Q`dmZlI&%cX*!gD+>r8crg%&C*lZr zE*Jl!g-~P_jDUO%=wB^_Or$%+Gaw;9NB}}s!4OZR^CJWc{B9o@B;ZKXVS#vv191^m zA>x(zlS>;rN9XSr5(<1_ZlKf(A^Rsy5zPLZte;|&j7Zb@F%ZQ3JMK@~-*T5KBU+A* zG)q1hBni*Xl8%x1r?L1T%%VvjjSVOU0ANVQ8X6ElEZG2ru*O6~B9=|{AwkAekPP`y zet@#$2}J-8gd|W1I1WZ|03(oXY)l5QEPzbJl39o~l}a+ive`z41^|^rA(03_K&%$P zNL2!yAES~$u@EQ_^Z|V!zz_=>8M3fsHi>`*45&s}wy`0C!XmPajSZwwERbf+7jOY& zI$8a=@!zUUmcWZ35XyBlt40|5eYORg-N8)$Obe63YI{j5q{9;vtV}Uf76yM z9<=Gil-t5W#DAz%G_j&wpiL8R6R#Xtx|Gmp>7t+k;6w^SAQ)mv<3z9~hCn}n=L;db z$JcWGCWrr}6sRCTFa`k%)`vEe!|gVokb{B^F866#2@ z8X}Yx**RLtzE=1{Wton~mYGe6NL^&*CbHmjC0#j6+AKmWbO)bx||tB1-Od zmgY>|x|;o$6e9^UrsDA$yWi~#n)MOW0LUuPlJyQGzSt(y8+X2_t9z>2A4$wU)cZEe zsl&|bX3}n%VwJMIo+0^tCp*SC@P7$CoxkP!*A>R`2F#DfBt#j&g;D1&vUXp+#Dq!3J?GQAmN0u^Wy(+@;`Mk z5Pyu3IWqwOKoXqntdAuC>9<6p_d4y$#5p_(%GXKM(ExexS3*RJSRRpLRXKehJn;R;AYDUeA$j=TT5D&P0=RNCcE34EsY?=j zwKLOJKJ!|qPxGKzTVTkP|EiP*0inu$q+b?vs#O&_bU1~fa> zGd}X5eJMrT{pVAbIV-IjjgjUvyX)Jqmt(HPu$UQNSN(!rf=_=^qOZJMz799RjnOp9 zlNL)RWrfG>XOR$4c5b7ARV-$p3ssu*;y1vVE+d1@Qtu+f@}n7Jevs8H&S{wra}1{r zl&0dFCpPi;<;y~z)#y;(5Ut(^r)$}$IM15S`*$~}HD%qMu{B8@%jGYxlNL#RS;lTQZ5pX?-NQgl?0Mk27Il$_VIB+XYEle>fek3D=J9@1@x+(R3 zA6Qo$^r1A>tkr&jlyx*$7igy%D#}vMKP?BvCW`_|#dU=sdmg0ZV2B4;Gq@6PRutN1 z^w>{y!#F*G87+!{m;5xj{gmeA=J?U1(E68lXB-;`3>`*%Mm|y#hF=@LCn5+}oaC;` zL<%kI!rj(j*MpP>q^I;oqw%9>lGk4}WuCa_pu@iwyO)_^4 zu}r<#dj`x4f!!Ht`?IDBF<`2JF=_=v>#;z>O_9RmT~~4*WjJ9BD8KH)B~uJ+r<9qb z^@SG$UIFj?6DBj7`o1=-HMXo^-!C1;skjTGzgE!EUE8gsvG@oiAGL;d$60TM*MG2_ z-zAyy_?vUhZIeyjhOeYhz=@r&;wqn`TuH#ew9|Vq3B53mRy&bs>*qf{-Vojd=5J+R z`#c@0AC~g7T;GD;-0~zb@*kw&h?e;`?+fCOGkliM6KtV#9q*#dR}a;jtu(kFSwXuS zZ2Xp8ZJ8>+UA?%vU-@fdk6wV`FmSwcd(}sOv5{~T#1lo91C`N`uIemx)Lx?j5Nmv7 zF;(zTChnh$daj1j!wM(-@_UQZT8DLz#*@eQa-$u&@a-K4hy$-r3H?#KpNwO)mjilIU4g+D3$ zo1b_UIpt4`zJ`qedEIE(wuS^47SQ3c8__u!n*ncPD@?36F6pXUE}d?^gkShBWohyE zd0Tyr+UkK}ZGzF)7~e)gw;)Ot1dHF#@?;PFWP8cglg0f2V&W`Vw!5kZ>aa){?$&7p zsTkL%5>>OQZQJoJyCfifBDe&6_w6ez<7Cv(@cfO*sm_%o=^sVr6(7UbbZGR{&qP_h zmk}J#!wP>g$Jo*$_2h0pz;Cy?UafuN-EOJrD&K6Qtg`Doblp@wx2)J#-{$qZxNnoC z1@y^?sXC#3WiTN0sazQCSW|Qpa6-myV~#oqUX`nU%Qd+>E{{G5HLQ}V&O)KgMA~0r zeMM2VLs3OT4?46CeD~~qwe*JtfrPn$W<)I#p{7;%YB5;~Vne?}O0PlfVyY6`mOxW4i zN4;92@S0}%5!iTq=Q)2GSr|b^*w`66oH}<;7Y0Yr#Ni-D)$pRZZt~)yXE-7450a9sxB8073Y#BOhy#a z1;~_#Y5b?!%bNF@e9aO+bTMUnOkU|-UC@RbbOZ9Wg6`ZzcXb{>cM*`jp^lFel%Kvx zes}`ZwnS^Np3edfj+%zG88&1Sl5*alHGkZ-8T*zVhdKMo!sBwueC=$_gMwU;c$f=_c z12KY1Iof4Tw7rFgQK&K0$GmOb;O)=TLlDd92a)w03Sav}zD#-N3{J!sNWyd8NpD+A z6Vetp_{*6+d;>L%IFq#{lJ!A6w#VX=UqiwOG5P6jX_80o75a0H9 zk1amqjJr$DR6h53aJ_!Vu2euQo?Yt^-_;)F6j*c;LSlQ$W6@P(w!*Lycg4}YOuynK zwV7VN#;IwhGPP&S08B?w{1wd$z*5*9dMR*#2?tWV#l$(JpxOM2=$az-OuQfO>5dcrMHwAuSf=8 znYgc$>?22sd)xBIO;}*91lMmiZgYeDGBQ;ymdtn9t(Vo|t@yy6mkDNkvZXxw!PvRz zDnYTKde75*lxUdts@jman$0E~0T@ZL8?iYCsw^!yUu`2~x6iP?nM?Q;ou-&it3?_M zVgi%UBEu#WJ42J#3<_CT(<5BBj^t;HI<(rKyF8D!e;O&naee`f1pu;!3Z0PMhejRF zC?`$H@rAu8PLLU%Tc4Y2pXqO?cA$MXR8P*}{4y?nX?+IUTvNfCZi0_Y8o) zP2^ec$RnMdd@^SHcZnyP*^^0ZIYC#3AWJWn`h&j^=!EWp3DS|faEb&v1SEds&frTN zCztpUd+qgO>_ch2NSJgFD)io{Nw9LA<{hrY*uU< z#jBgX%yxEs3;c-)~V?bxJfIEi@XiD-P#==d1m08BEuF{KPMy0WCCIt#)h6?=MG$ zgd?d>Peoa!X})@cbN~KMf=%caVWqjg2I|vOEH{@Ee)}FmY+7spqZ6Y{Zf&5ICNB?R zmfqo#eh22a3_GAM0P2l;;4^x>3_GaUN}HrVUm`7cj52fdETnuto-(3du7h_A2QjvvWl46J*9Vj`Y_&qUPpQYVF{#^D5cQ8 zM%fzshj(%PAI_q>3a9GO*xtZ#oP1Wnj>ix1qksDhBlcM0!Yf{r|M=DCnETpW;4A76 zOz`nn{*;aW1cjy-z-(fAU{G$GI`6UL-^*xhRWR*>Ox6ms}a zFsRrB<998RBY)7r@!o5V5F%I;Nlpj)tO!jz(J1978jse>X!Qq|0<9Iwi`~gG>?-78 znCt+*nY!!D!%$*N^}y=+0r`b!U8HGc6<)`z6@Km*g~1^%IkJH_-BttTc-f8+eM=hDroh}tVC8uD-j`K zNm{da3>)-}nYvnY^DF1kms+cbfci&vu;vitM8%4 zTY@cG?D;cSaMcR6$xR&kp&uhY6uj{a)Bmvcj8pu)Gut1is)^PLd z=Xw9^Tz>#5Y{{m>JJ|lQgVEL2^>|RaxNeT$jmkr+?lAJe>LUm32Lt93Y|$bbI~!&v zp&(}m9ntlPOtsZO&HEf(KSfgrgf(OjWpwXH9@2D&k%xOwM0K>P`yL}rJt#e+Mf|2# zTnXKxY}$3QJPe90e*L2CTKo>1z0bwA91CXZ$jK^trk?0l#nl$-ZU?Tm%zI(FKOtkm z2~e9Ilq2C_a%e{<2}GHqk!1nU$vxK=`{hO}8iuxX&GD8}##+6O|!;<%8zD2zK3}(OT14>BN)-VoL=jSY@?FyxT&3=Wdiu z(=EsXC;@7!LZ{P#@Q(kO2g7E>28e0}Jvw5ppO=Ri3zYO*EWc&g+`0g&wQ8RM3bW-N zPiV8PQJGCO(aO-l^AN4gcv0zK%Vx@=k}~Tz30A4Zmd;Gw0xSf6QKm--`-pkyvuUvb z$}!*b=K951puFD#`7Oid)&;@BU)*m2w$y`Btyk~-U>+DtMz4hjdw7F^RcZ^p2P{z7 z?;y6{075>Bu)uxsTP9~^{6_LnrstveWK<_d;gRG0zd34YtROljp!a?qESO_b5LtvR z!v=@@@$~ruER@T`F#KlaEU(1H>4T-(Y$rEx*0kE}7U$ZA0C(bwZ0{Q`Fz=B7C#2 zqi0NOjkYAM@2Q|q&V#40Y>QgGhOk6Fs}$m31NSqBQDfDFVcG29{K;AL`2|p5HAd+C z^<${<6t?AJ|NZOmja!3t%dlY&Qo@gH!~6L|sJb)QZ_zwJzV2FM8&ns*X1TSDAMD@B z&F@l&>TkY+zpzrc;Q-j|9;N#mkHCqGSTD{dM)>~Y({!KOhjZ;T;%bZ9SdH#VH#wyX zv$LlG=zjJH&VOHr>+QsyY+q?Ja^0ha>7HxCM*PKVczcpP54%Qjf9Vj;+fBsP7WL~M zD}O#5w)@#5IKOuazv^yL?8y|H&z#= zeyhGZuGePaE4ER+H~!X`?hqMti}97n7)$swzDlf{Xtk&?S3VoUQ7JD;0hqIFSfg}HA>5DU3y+JxVmLiT^=nl?NSv4O2j-LPIS*dn@R zJPgzCcbo1YwoHEGdPR#ZwCMLd(vs1h#}f2b3WOG>n*;=_ufvh`e(x=Usbr=uW=XuK z6+R}c*l2$p9{Own-CVyLm4__db?1S|`S7tpY})y(V(Z?DWmlm-K9c}+R|Vf@rd2B6 ztWqZaNsuK_w>z=co}sHW{{JnYZhQTfu9U)`uA#oKkywjZs|SrPtefk1qw%3XIYhe)ms@CGqm}tdhf_7v&hQg$zv&`c zT?qCjXX^Tjn)@dD8}Egd&%r-9&dR4g0O7lCtsZ)85#2$4H!2Tly2HqW2CwTy9ygR> zixx4qc}z1s29pkYcXAphuC?K=3$so0V|gLWUY7V~B>`%41?^aH-E0HM)0N*|fZ6E& z7^X*2k2HqoL6y)Q;CG|)kkB1Q9w7A0F34{QwrCOcMt$RU5)RUhYl;oFX2~MZ$PmP zv1)_I{(c6J-R*dNJpc>Yx?lhngke-Pmqj2}4u6EGR3mT6QZpEjTyphw5tE8imxBji ow&201&FpyqEPla&;Zh{L0b*Mz`d}o{&j0`b07*qoM6N<$f|)u`761SM delta 1652 zcmV-)28;R20s0J(8Gi-<0085aIzs>e1w(pNSaechcOYb*($d$@Ah@or>C#-!tMFN5D9vDeSfxm^c`~j9AM8xG{4G= zt!JM8O!TqxGohT78844se2E~a`$~~;%Hav=VyYGR!!^H)}0%%U$tI!}u z1UFR*a@v%4zi7e4%E^YFc_HFQ*2Q@60vIRwxM{P=kSNlD$^vQvF~4o0d);xbx2R*~ zAZRjSGQxAy?5_RJEyT*P-5| z)uydAYk#LkxrtR%Yi8DMn0M*5Yj53p@1y(RAt+%w+ORVE7{eWlI;M7vc4)Xyo-*sy z*{01t$MgmIth#iyWvj2TJUAqf{?Wop^cdku2`Xhx&6buuNBRcWw(Pofw{5%cvHgu2 zJ!$&|HTs6!KchwuY6r1;>)9u25Sx8WL8qMP!G8>haU~#b2LTY84`x@VTKOP%FuMjL zDU^X4=>aF`AO-|$66>ZncAv=oBW^|Ozru}whg><({U6Ac1Koq%&$#^pweWjKksF|s zg(s$$Y!tSAMYsj`yB)hKb8RgoQTXn5J2tBe&F}i9R617Bn7Qkmh)Tz{g!tkY!Vf_6 zrGI{suj&yft4zWQ=Odg)O#GNg5tR9bU7M+U!hda0LyfG1X4?y4Lk{lM1OA(%+BDc` zd!M~KrtCd8NS0J;>}%~lX2o9sf{^VH!T+PoYe2PI_zV*0GfY9)R$Ju=gdV>~k`= zT)one<%4##>0WLx>zXxh8!&C)*k=>0Jup+ zK~yNut&lMa!axv3-|P+;NI+s|p_SO!dI2k&RDw1h#Xe>3lO`9*0a95CijcL4(IglY z$?tY~yKm-;KlU96byQVp#?Z+S7jMPWtYYQM6JyMepE}%|s1FsPf^9UmH2|w5VwFS{ zu{dp5?+*an&KER~vlpJn84}LIR%0>>JlC2-tsSJG=A_!)<&T1TEYh_&*RNIVhYHKx yoN_m>h;lpSdRzkFUGAt!3%nXn3&fuUt;QZ)nXQ-wgvGQcOqRg#fgk&#b{kzbWjK$B5WgHceIQTP#S!bz6U zKP78~891aExn&u71!u``4zI$EY(XFg{afajDs|OSdOtyCcs>k(k2)3pErTM!QsJ?`B_mfakCPPo~|2 bb~(2Nl0wC2&1~F(#xZ!h`njxgN@xNA+1N3O delta 1549 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 literal 7009 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 diff --git a/data/themes/classic/lcd_19red_dot.png b/data/themes/classic/lcd_19red_dot.png index b9137754a9006f4247e6a872e88cbbf69bea331e..bdb0edec6a30d66434f4464d1ba3187845e5ecb2 100644 GIT binary patch delta 175 zcmey#eSmR-WIZzj1H%>XQ-wgvGQcOqRe+mIl#f@8k5_`9PfAcgQcyrvSa3pIczuZ9 z$<@nwIM@ZbxrBMRMR<9Hc(_G*dEE50?X}da0=&%XSUG@(IC;7_hEy;5jV7lWF&$ aUCwQRq)_o$GaGlHaSWcWelF{r5}E+Eg)rCv delta 1522 zcmVe1k8F=SaechcOYACJg+~D!K%0V;e7rr_>#E`5pLjp7-=htr`?a2-s$3FiGpLKX>{A7nRJZ zs82(e1Ai~eoXMk5cRM9$;V@- zK8D^rKL+J^W;{IO>SIXw)lbiRif3LcpO*97`)!H-YQDc02N+XfPdM=sl8m|@FY>w@ zZbi*vXAnj-+=<7ojf^eR%%z!OA<) zzhbv%-Fv-O*MEuuDNE0y-j;HoFt7v47aE4*xE0TSOQ2LNae%Q2Hap5l6vRM#Q=v(X zHm%zZ8VIrQVn@q7fcWXF;v76c21z-EHoJt(Bo(X-uqNo{_gLuqjq7hvh382a$pmAB z8NZbDQ|Esv?}qk1(k06Eg%f0fxcF!qVI1a8jZvV0_J4z^UVLv!pLCNy5i8(KFU%DS zY`MQobfph%$>muvPIE~Q$>j4f0EpmQ5ex|!$OcK1QFdl00*)2@G(^r)xPt*w%CByu77(Fg;-Ds^fvi##`teesp{AlGsj8`K)zD^Q#njB)PL66W zUR>SWy?=Umt5QqVYSnA4QCn~bQkaH?r>GIp8k{zmZkXLLqP5Oldgwq=*C+qUnzW4CwK=-IYkSfg*u z{hl>?SUZfBJI+5?L$~{z2|DRS4`*PE3xRPz41Yk-d^pRMO5wxY;VcJZQz(Nq(nHRq z!x$JWi&!_kbN9jAZ+S~v{uOWhPt2u5-T%Q{I@CSP{mR=9tj%^$6uAVQU3f6fvXR(! z9<%x6dh6Ilk$%jkEF`{L?}o!FqiT%Aa+=!C0rt6tAstE;D>^3|c9(J3`R+Y|f4kxRIBer|OIA!uohF2@?&uCYr;ReF(-wT|VtZkdwFO`xg)$kfuWN=0MyeWs6Kn^B-g%Zyyb~!>#q6ua z5g!#Nj#`Mp8H>}Kmx;P%_L&cl4BXw5;eW4y z>&S=y2*&Rc#6ab;dU>};Lsul<)$^{Bn(VfBRYBUeTsK_4z1R#LU z4Jd9XBjPMP!5L_@0gkjl0|3+}a*cB0Io?yK~yNuV-(=#`p0_#vrR7GZNZe?q2L`+XlMpjxuU1dCE=nQG~ z1!(jIY3~PW=?ZLlK5|-OWMf-tcTII~Lu=X;YTpoS?Fnn;4QufSYV8SV@CR!125I9C zY|R{NT2Ef{2500BYswvK*c5K-3TyKPY1S5O<_vA|25ImIXn#;vSdKD(_5*451ZnIE zY@#NN;tp`%0bLk3g>I-Z}PEcH9W$y@TWlLq-6K-2WUgQpL-4SnPTWVxVWa$fRXFX;{ zPEqm(X;Vr67oYDG;@P*z!5LSEeva_k9hP)Aqe4{C2i zZ1)3c>j`V$4|35KcjgRlt9mn=XinK7V#gbcsKJ z^agA725DJgWN2@4R$E^52Wo6mZg6LIXl`+EW_4*#YV`(c@&{`12y5^OYxV_c>kMt? z4{z}ZY=7)*Ex`4Q}uVZs-ng;1qD(7jc{~ ziP9c*kv4^X4r=rVY4!$b=?-t*7;VcET=n*Bo^13~kpPa#~+tYH)LMXm@&GdxKbjZgX~R za({K{Mx5>d00de|L_t(|0i2Xof8$0J#mCp4jBLqqSh3}e6w9Fey38ADnB-+AHc^Fn^MKH{-HC1yV+Iy#hoU8=Im{&8;RO5fcDX zrh$^A(-|vZH*M;GKsu?WidjOIORA(QK-lRd?T+IhoaQ6jwo(2IzY@~v{>3FBfs8;T z!U2cp$z%x0{PH8glul>bZvPi0`N1?RENyL#1QN2jU@9(w{ZkT>;eu|~)7wq^`hTCL z129+^fB`zx(hUR2VcOl@>oF-2@E9GSBU?rh7#r_~?p-~7v^zFo3@&xt$ z-X0c6da_64={ZT|)EAPTNS3+m^{GF33Y5cXA1drFUjo7*0N@PIb7~TI#edHJFAvqv zB@H8aPNx6`!w6(Fbw1}X&)X6Mn7nZDpyri|6k=OEkFk(sr&Cd&#nPpg+~q4MLk>9g zoWobIRc{jjRsqo0LIZ0vm#PR{*KZ_m8n@8mHrz388aI9;Afywtw7(>&3^H%;%ne;aDu>Ao6HKFTSK$;UEA!3bz4X7I|Jl zd0VX~zt^iY{B8St@hcWTNBH*=U$OcX1F3$FY5KI^t3|MMjlY+=pB*#&yvwN=sQbC* zg`il*go9QENJ_oT)_OnB%xc=){LJja0`|qF`I-5-g@svp9t@TiXMbt|oQBz2Kr|t1 z9Yj|WyIR25>|8v~7$Mj-EzaU`LYO=c2Aaldfp|4r4d^-ouM@_B*O_uK0zmeVjH?9+ zUUjKdORHX=sISLAJ#FBKG$iWk%%&zBG`FS@upI?-<`R5bm#Ry+M6w8cM4mWg5()jC zh7(zoRmT9+ImSuBkm+XAUW)#nKb?IAjxm-5e<+|JLMk}9J zKt9i>-tG>zx6PGoYoqm+tAL!#|7RnOY_DXu_B1wHMXv%3ceH1#q$=>RzW-{g7gW(J zmP#cQd%Ta$QmNDSyh5SS{M8T8;wm7W<5SoByqxLi6Ktu!e}9*d5@_eFJ9zE~%S#rJ z-BB!(zl!lf1uzD@YN?9+_|wn7i2C`bAA|bor=M`DhRXqJx&dI>BESB&{DEuZALCj( zpccgcYqt&w0000O2K8_K3YQa*f)=0md7t-rpZ`Da^FHtMKJW8BKXEk{W(c{Af&c&j M07*qoM6N<$f^qVE-v9sr literal 2822 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 diff --git a/data/themes/classic/led_green.png b/data/themes/classic/led_green.png index a326b29285904f650f11bfcd9207055fe5adf6fc..b8e5474a58c8a37d25014cb26725f2c17622ce1b 100644 GIT binary patch delta 513 zcmV+c0{;Di1)2nqBYy$mNkl`84J>2HPgGy zV_pyQySF5-Or4m2|K!iusP!_Ibr4+2(gEcx98|)B;gY;Eb$?>S{{9o|+O=!keQ=+L zFCO#w?K2*Ke9oiKMqi)v;M+6qeSOUBPY=2F_AZy6-QeuK%bdJ=mSd-mbLh|^tSx)C zv)ot3ij55{JJ8JXlTEBXT~GP>I%+RBB2}EPXXU9HW*@0w^0u{%4KHS7=?t{Bk~<4b zi>+o60m_NsB!5nX1UXV{AdQqaijqWKg>j1sGB&UnZLPqL6l0Q0s3e4k7+F$mBh5kM zj+2*+&#|4fI>W>fJ0ZOsZ7uu85Mz@|DZz)`6iH%iA;EqFA0aKtD^rJqFs1nQ2WV^6 z#_WvtFJuzUEHZT!Zk%`t8z@OYl2@jV#fA~9OVHM;XnLvD4bhF!4PwrbN^`?%sk+ce z-Q{LUUKw+bR54{+2@|4AnbWcgZLN~h63QE@sR=jJxXFwCKm_lZ43VqriQn2p^7dwu zH#QT$w29cs^@R6j32uzzjRvsUY!v?@75yp~`!Rh7>KimaK{GS300000NkvXXu0mjf DKx_V( delta 618 zcmV-w0+s!m1cC*SBYyw}VoOIv0RI5$0KFoD=Cl9+010qNS#tmY4c7nw4c7reD4Tcy z000McNliru-T@B>IRJ_%btV7+0uM<_h+VOrr+x(Slcq$ORDNssej7koB=Qx)6tnVYqMfy zD=K^7U;xfJ&l6MHvQ4+#=8i6BPC)+}ykX-S8h42l2b?b{9e^NuiO5V7H*B<{Q-dLs zvwsEywxRJ3S9_}ZEmAAC0C1R?xEL2qV@*8*xuZ)4gSo%I&((5)uRXSK;0@UV7Lv)N ztf(ep6l99TF@GXqM*A5VBmVp5CtrSi#axx7)?pSIZ<}J4ePgc!KIECfO1j%jcP9&?iGCK2 zvl8|*=}(~TD`Fq;vJ1R#t|_P~WI-VnWnEJhC9ZH-V?ZI`_4G0`hjS)5P>qVZ6M@rn1_`97 zsJ67}c@G}o6^X7{r$<&=;cXzijOh_gJ==7{&3|M12SkBCt_<2duK)l507*qoM6N<$ Ef(H=@7XSbN diff --git a/data/themes/classic/led_off.png b/data/themes/classic/led_off.png index 1b564c852600bbe40368edef421f935ed88335cb..22d6eed15a1b3b17459ce5cef90e28027ab361fc 100644 GIT binary patch delta 167 zcmaFJw1aViWIY2AFuNQM15!*SL4Lsu|Dz`=Z3XfQJzX3_Di~W%Y?owW3hREmwq0iYx!tK{ T$!2pMkefVR{an^LB{Ts5vVKFo delta 337 zcmV-X0j~bI0pS9W8Gi-<001U0oQePd00v@9M??Vs0O|m}B7)|$00009a7bBm000fw z000fw0YWI7cmMzZ2XskIMF-vi4+l6jvWKwJ0002)Nkl5DpK*5{j|Z(aZnqn~cS2-F3W|uI0ZJl*nIR&dTFA_AEet^K9TDMpJpTD)D^Nt(?RNCuv54SsIH0Pi>Zrcv juYMisJkON>|CK)gG5@?x8RBJa00000NkvXXu0mjf)(4bJ diff --git a/data/themes/classic/led_red.png b/data/themes/classic/led_red.png index f48ac4850818f9d988076834d869f9c43ae30b30..1432d06ce9a0771465d1314167c95bf287872907 100644 GIT binary patch delta 480 zcmV<60U!Rr1o;DyBYy$FNklxvKX|KSKMAchAcTP6x$a|wJKf>_0G6LN->V+%Uf1aUnHc*0|H)4oUGCDY z$+Z;i>Il|D@#~aLKPDT+2i-r5ghtSL#^7}K4!eEDep zW%7oK7C!jkgSMK_E#hbz2C+4RYG_rcO{+yIMatPJ6~|m0O0moNujlyn#~=CR?YG=f zT`gzJb~4nxI217kkP9g_=Oe$L`94)&l;-K@Ulhw`WAW=xUT9yjj;y-*z$`KbpyHf4 zRt}k6_VWIkK7Uti$AfXZ;dW*fxYRAWd1D%YR5>+bA#^QUAA>$uJRJ^%!1>6mk_xdg zRt!L{|HN_bN|!*NEB?MeI5qrmV4v8IEF-fn1|YY8LMZIJZL(W5sn3nSoRi-wugxEE zCk(FCV3wJUgAq`QKEFEG;P=q{xMFwZnq8k8f6LkWu~{dXMtO>I94%&}sXtHSAPj>N z215&48!T#bwKY=q+v)7WjdbBw9zcIU`|HPT$??ad`rDqH+rRYZzrOu3pd7MhkX8VZ W12(s)-4hD{0000W delta 552 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 TAcuKD00000NkvXXu0mjfIiV|u diff --git a/data/themes/classic/lfo_d100_inactive.png b/data/themes/classic/lfo_d100_inactive.png index 239be1e006835c367a518f137dea8e0e67483b82..0060736bfc9f968dc242f1cac534090c241cae50 100644 GIT binary patch delta 502 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 bd-n84DT$07YwqW|00000NkvXXu0mjfPi$>2 literal 8348 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 FV1h(C9H{^R delta 779 zcmV+m1N8jQ1fd3yBYyx1a7bBm000XU000XU0RWnu7ytkO2XskIMF-dh7Yryg1;h;> z0000TbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAXI2&AV*0}Q14_VZU6uRmq|oHR5;7E zls!ySQ5c3lZcDL*(6mBn%TnQ12f+vlA`9A?pQc^FA7Yq{!G9<^f-?h7S_r5>T>M?s z9ZW1mOj_uzb-7(6sfF7P?S)|4d++z1I^3p8@ z0N~c-?Mqj#N`I1+6h*7eHthHB@9zt-m@Lb(Ec*fhMNvM-xFE!ZcAjr>w7g$ib2y#uwzewhbh%D!J1Osi}={xSi)kF)514U!mvJ$=%&_*~^gL zy?v8PrG|!mdwYAYU%o;lLcBaO($n1y0E{t0L?oBXB}oz??xxeNt*wMeh*c1g%3flm zD9YOEDt`cc+T1J@i^N!E13;-%(sNy1ovNzDn4)R*_4U7nj4ECtv)Swq1OQ-QaM0e= z#E1xqkQgEWFjmsDq9`245t7khC=?2Mry5qgh;(gy++wlZpPe9pRdf=I0FJ#Mp&jg4(@ZGSyoURe)?d_LcaHa8<;3>l$52R(;E zA1->mQ}?F(`};p`g!Rr57~c3fhZ{F1j+xED2M>|7#f1fq<0kLiC4Cgc0HDN}p6BO+ zThZvq=xA(vdp;P{J4fJLkQkNUvD@wbx1U2_U!PGw{`tT21KUFg1?OMz3jhEB07*qo JLggaBYy#>NklkFSUWA_x zwU;DGt#^*Xuz%%^s2IGZ8F}`cxyFFRCCD$lY7A+#&z&*V)Us=_*8YvZ&}fEm1`cG@q4HvRqfZTHmM zx9g=hz4kxscKqdw*4}SMbr5uLgCr5c?|?_--e;M?Qb3pXy*A$!M84O~`$YS8PYQ!^ x8J|wQ3EzT-$QvH{YpM0BjQ!VW|A)wb-~)W~-9Kw0cmMzZ002ovPDHLkV1jbH@In9p delta 641 zcmV-{0)GAA1DOSoBYyw}VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-T@g79~#a#JhT7+03CEiSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{Qr zNlj4iWF>9@00I3;L_t(I%e9oxYZE~f$G+1hM2WJ%4zgMS7@MDSu!Xigrg;7LKm zlZX;Lh!_7GPkJdR9)yY&M8SjL!9zi5@m!SFnuMCokKJZ>-Wv}Sw`+1Rhx!MVgfPY!V-EEG=0xN;&NLj2M#JGSiXsI-YfVH%l-XOE z_M34cGR90pB7f3a15g0IH2Pn!hUeFcXFknupHAQ3>Ye>Cf9_oofN`+;uzO;|U3^>2 zr^(Dx%8A^WIZe|zj$PMP0D_mjxr?RErD1ukyM9L%hNAi++=;^P%kt+1IjG3Npue*l z&QeyRjppR&LQMe}bi#$F>Gu8L^Nln-=^lF$cDDuqzJD#%_UjTr6vdrZZzjLS2qDIP zSySarzkRK=cgZWXb?~ak+5kB9;0J(>*T=2SKb=bD*lq!k05lUPy$ZL zws4wBGv&D@8MJpBV#74|9BE z+PfK$?|M`pwM;>DZdWNM0E}Txtcmm7k_niZC;&-Cbgx&AY{vfcPPAC;UoQL4+U{18 z>&7^WS>zzz@NUh_N&oRKvG!M5kmA?98WAyRtHfDMtTS%UlQ4T<0P6Mn;eHN{Mnl={ b(Epv^Z+oK`PY;$w00000NkvXXu0mjfbD|^? diff --git a/data/themes/classic/lfo_x1_inactive.png b/data/themes/classic/lfo_x1_inactive.png index 1947a4c932c8bf69d05a3d02fd35898c4d9e6cd6..1bc5a1b24433271fbad659286b0d3e3d85e6a68a 100644 GIT binary patch delta 461 zcmV;;0W$uf1?B^gBYy#{Nkl-CIx<;sxw>-9F8O@HvgLx;eK-|xTo@ZrJ3 zhrPcMr^B&y=~BDhPF}TIedqrDo40RUtd^5!PCt6`#J1RGG#Rt`97g<_^&2-}{GFxI zXcsM7L|&0tyw>5w`}X>EIQ_wZSS&($;xr@0N@ueeQL_El{5f=xyaK*JB9UCUd>M)> z*RM;ZQvPQ_nSV^D`F|4fayv<+Qc%>JO%9j)`9g^w0e)j)bFj!eK0Yp!$?*L^@%+`R z>C>j685?63Hp*Bc$?|9YXG}mHF7gf!kA$O9ymz|YIP0wzn&FWV_Cynn$65aF`T2+d z$g5N+pFV$ngn;Elv$07hEKw@g42c?+cy9-GaUzP?_q zP6yt;b7vpY+lvEZI1*tQ74@I-XFwru_x}!g^^=f~SQoLgi+H7^00000NkvXXu0mjf D!btNG delta 650 zcmV;50(Jf71EB?wBYyx1a7bBm000XU000XU0RWnu7ytkO2XskIMF-dh7Yr#0M7MBH z0000TbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAXI2&AV*0}Q14_VZU6uR7fD1xR5;7E zlsjlsaTLbCdy@u}A%R*lr{QMw(Sq0v>ShPi-Zo1?2wFOb#D76uR1mvmsDoCAR-wVA z@v*3DiAz$bMQUR+rHh3O!3+(An#aB8oa=Ct+)%+6^>E<-!129dKhz!F}RK+B7z&&7>{uP^K8irw80dNC2 zaq8rxK9yZtD}V0n42Q!pUH`PXxt`AhP*wHn+}v)dw4TfTwq-KSMzdL~)jGZ}S2O3% zUpPH7lF6)2OzGbb4$|qBMx$|YeEjU#SRfFnR=*X#6#irzra|p?%jfgC0es!td%pba z&b_hzJuAv915i4lolj02KfWx7+Ox*(`vM8yn45i$!_~ zz_P4<!y#c7Az`xj zV6zDIbcY?W(|*VI`ihL9S`(<$QP00000NkvXXt^-0~g4Q4@(EtDd diff --git a/data/themes/classic/loop_points_off.png b/data/themes/classic/loop_points_off.png index 924c487e879c25cd6fee42f3f4794b3f0822aa0c..e2b76cbfcd47ddc521e43639f18768b1448f5762 100644 GIT binary patch delta 360 zcmV-u0hj){1^5Dx8Gi%-001X|)rJ570Y6DZK~#9!W1tPt79vv4_ zC|e&({sj|pKvw8@Km9)pM*lbX8~q=_w?$THe?RU&1V;TgeZkjj`XcH-OvD;lq4oXH z{~#Fj-}nVbBSVt3n(@=1{}3??WQCUZegFIZ_xf)LR>r`^z@Q{&^u+5wNYo5jq4|B6 z|4#q)Vak92q+!(HiPL|V|HjA)jqh9i*L#jo22-m4#Ol8RvO>dWx=#?wkd^8_(f^2~ zQ2#Dx8B7_5(pN}vts~Bm22q9y6cm7RNPwFGH{d2IaRUHCt*DX0QL-ff0000MzCV_|S*E^l&Yo9;Xs0006uNkl#B?Hx_|4cf1z~SeWAPQs?aGE z`VYDpx|x+b5%CHRUMeUQgUKm9`A%1cIBIK)A7qvHJbA<6BphQ5jye2MH7}UWW`q9& z++F8_KA*3lY1)H-!Ahmlh0o_}a2zLZf#Gl%W3kwEKA(Sj2xb^YEgTMi4TVA+0KC`& z1wo*-S}hol$A3Q*3We8y!pi0H%V;$Ev0AOh8DsYVz};CFbQ}i=Ay6n3{Hm(H(sli6 z7gniM-X;=>H@RHyJ|P4Ukp}==-xs~0ZQB3UaWm$fv>v{?iAJ^;kU&Ufkl4bcz zI-RaXB9XIomQuR$K(`?x0wKh`0)fDZrfClaL1<{2rhmw?{4JBoJn{SeXWkqlZh&q> zN~zm$J(48xs;XWzo6Sx#ndC)L+{!qPvl~RjtuUn&y4~(wA#P|ooz7aV)+Hfi2mqf)qmiX3$|J_u zO*9%kUw@-}8?Ij&5n-`d%-Zd?i!sJ50DykKf2$~pfrvN3VDOyh`K^ZTE>lXuvMiX- z=ihf>>*@FVx69?ySS%J}%d+-^h=p zFS=T-3`G11050l1dWLP=KMuj}G}QsXJuaO0izUr*+$m#hbqMAi?>g?-zkuKUXkb!& SoMYzz0000cX8vz-bca=b6iJeEMMYxb^K%7rPnhYcIH)NGf`oH>)>!qpp4cjVY~4_wG* zdS05mCz8UNx+$D8p|VY8t`Wd2Sg>FY8>U=`zLi~+tbgG`Ce^q!Zc`wgxITa`4i?>H z)_{}=k*)&={K5nU7cNXvFO6Q~Nf!kQw=kKjba9Y)9r*dN5-wySK~y-6t<^tF6Hy!o z@b9~8uPxLPs`4)i!3Ban6Zn!wPI2l(H2Y*d8CMIemA>v?UV{~EB z7!4aS8t?#1k5JN-BJKTu@449HN&&0kCAZxBzR&x;-%IWY=NvmZgdNrVU?P!-{|~Tn zod-&>@Km=fANm*Ua9>}S6bnxgLc&#GP~Od=$)<@OrT0oL*wG8hKU201Q=u zJS4dFkB-Od`hQzSdQK(pZHrwzc`MKxAB{XnwNrsh0KA*^KGdVfw zq*AFM+bfNc>+J))e^0cWqeWvT0~$&CO|7IT<;;Junn`~ah6LUBlFog zb@mAvna?`QrK$|0TOPTxLZL_z9bU}Ne)#snG|iu@UzbkDp7Dv|P-`2Die64)TU1yE zZQX*KGk*|yrDf;-U;y4`GMQ;hEu5$uUew&2;bo~yHwU@P;OHh;&Oq#SHk+cl=xUdqxtF{dZ4JY zQ1iI1Wj@cm+zRufG+k7h$8}9KndqPMz;K=$+Dn%oPydGbQMOQ0!g*K#Jaqk1OsW`$ zQK$v;qs5iAV*uRpJL3Oh6GG}a=cQUO|M0IPJN*mz4e)ex9?2nOt^fc407*qoM6N<$ Ef~0j+4FCWD diff --git a/data/themes/classic/main_slider.png b/data/themes/classic/main_slider.png index 6f7b990a411bb5d44048ec42d14135ee9a5debb4..8065394e7d8e1a5453a633f8235ebb74250dfce0 100644 GIT binary patch delta 511 zcmV+o8)-+F22jM@$r75?^}Gp_eBV>Gb^I&$;K`-1Byc*6DN* z!&xR;d;H|a=GAkyMfU(4GP)2zgGUgRx|L-+vRdOkAI@bs#dFbV_A4@nqUrx z19V-7;&eKJ;bOut#QA&%-Q%FV_pI9$&cH#p+qDfklqA&2oI0>7l?w9tyaW$?pD#-{ zl1Sqc!Kh#=IDZrGPW56_kWLl)dcFQi)mx=f3CUzqx}Z0b_u&=_g#ucwmI@T}1@YVM zHWUx!+qMlt#;VXWnaoG(Aec-hczpZ`@99a+U2MHxm&6gRxzk#$#y+2m8jS{mAV3)L zd5BNVCVbzQyK2OY)}#aC9qC&lkw_PdMP##Cq|<4brg#ZWmytn@ics&Otc=+(47O@d zCbHdbF`Z7)>-E0qfbg3RK2U|b*=z>S^Q0=*b>X=lT#*}>+KYcHcC*<)MC&MuM2x{> z_{%TS`&26RgOX)b^>G{H-v4rU?|-}^eJ0s2sXv(4e;n?;GkpL6002ovPDHLkV1ka3 B29E#$ delta 646 zcmV;10(t$I1fB(uBYyx1a7bBm000XU000XU0RWnu7ytkO2XskIMF-vi6Al_U37u(i z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbP7)eAyR5;76lfO?J zF%-u??}%tBB?<`jmVyBbA#bZy0Maxi2!c{jDFuLY4y`qLo@0!`dyjK& zGQ6YT>jQKu0DlJu2TKnR57*Y(aBXdkg@pyuG-Vjac<&LBv5^3O3Mj-1aS?e@orqwR zDS5EJzrT2QcXzF|4p&!KnV+9WDMglLIA`hgdYqr1kIf{Y-|sUR3=k1Sgl@OXU@$1f zyWK8lXJ-K9c|I|Eet!O%rfImcvcl}_EW)z5T(jr>C;-T5C2pH%XENqcut?TCEmIl91;)d7iVi zwZ(8aL>rA#nlJ4(aU7Q>&bjd+0ov{MN8n~=W~RQpyv*F(9QAsgYPE_4pGj_~-WacGG)*b9Hr9Yc`uW=NOGf1VMmE zfC#UQJl>DZthFy+n{!y_aMogsnN(C@V`JletycSPt!)&dujA|gGadhxJ3T$!d%1gz gH^67$1OE}f0nEE;Z%P=1mjD0&07*qoM6N<$f-RvPo&W#< diff --git a/data/themes/classic/master_pitch.png b/data/themes/classic/master_pitch.png index 45e7ae1077da1dcfdb68947441344e74cfe5db79..6fa4b05756400e49358d24afb00460c5a46c7618 100644 GIT binary patch delta 234 zcmV!9JXUkQ6MKSyJ(GGS>FgxJ z>deKNi&YO`RVRBUdNl&#vD#?kwnkKFv=OU9(KpH;P@%|6tYZo-Z}&Vyg%($_yYaR6 zM+Af_B&i9+q||Cmh3HuU0LCrUVF_@;+5i9m07*qoM6N<$f-Bc*Pyhe` delta 526 zcmV+p0`dL(0h|Po8Gi-<0051N9Sr~g00eVFNmK|32nc)#WQYI&010qNS#tmY4aooi z4aotowZ}{V000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0004*Nklk0sD+YWdZI*#La9LG;FMNzTGZPilm55=ul}F^Kly*ef1m%7j~K85Mx}KI2Xqf;9#B1?ctG}ml8=c}$ZEv;g@HK0 gvXy~Ipp9Sx0G={pQuClf8UO$Q07*qoM6N<$f^=tRk^lez delta 508 zcmVMzCV_|S*E^l&Yo9;Xs0004qNklp^HQRwGN#eOaFw@p?`~XYoSx2O9#P93q{Bv zia1yyhC~xJF|SJ%drFM0AH3n-efja-yCaNND`enP_Hg*Pd9Ot>&Y}SKb##TT8FirEK)9L6t1KPIz+U<600N7ds5p7+Z^E1x* yaNXY42?1a_oxTy#%euWk{|^~sCq(oq_P+t`_ASgT<-t<`0000YA=e|1~;{yADx*0rO{an^LB{Ts5Di$8A delta 192 zcmd14#5h5+o{fQl!8+Id7m#8pcJd720D>Bhlnx-Dv%n*=n1O-!ItVj5Y0Rzw3QCr^ zMwA5SrEROIjJ;uvDld-akb*8u|_=fLGp z9_;)1J|{_QYD%ZW?25^30=p}>wXUAf!(lb+8pEoSvo;k@;G5(jHNnL|fje+QZ;j)A m0q!CJ&a=-F9)C&JcaAgA+MC_-~XYz9wPKbLh*2~7b121H8$ diff --git a/data/themes/classic/metronome.png b/data/themes/classic/metronome.png index e20815a213d787709a455823bd8dfa39f11b90fc..c8786594a386e5b3c50aef7917960b40df361589 100644 GIT binary patch delta 595 zcmV-Z0<8VY2I~ZnBYy%iNklf!z1+MvtNM$R{ynG4#Y| zXxAmX%8m=>%na|DAcD>=1qW&@Hrqc@45j&Wf3o*O7SEsc%d~e6|?oP9F!| zx^;^HGPSbia;q#?lN*V6@{o=`-8V@LK9?1iEn5b5yFCJE)Rn{D31SFV)2EnG#H3;O z=4~7-{MFYldA1 zsaf|N4hOeNuh$#3lLserojll_M=d2Zd}h7`?3GdoT2xKczgq~pwzfvhnHMvxlaGpsmPs^bH$J@kYy`W@ delta 820 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 diff --git a/data/themes/classic/midi_cc_rack.png b/data/themes/classic/midi_cc_rack.png index 1fe8bb9cb2479575cc5ecbcc0e32fc2bfca58ad4..e595816ba6d5385013663e0a7ae0f7377d41bcbc 100644 GIT binary patch delta 341 zcmV-b0jmD01myyd8Gi%-001X|)rJ570W3*GK~#9!ozhDytzj6(aeKFmHhZqc{sJa4 zl!0={N05oZDx;NhEF}YTL?+5NaLCBWz{oLKrDbA(QYH=~hu5Nh^gO+_>J{ah+=u7i zb=Py>RX>tO!>U78ZAjziP@P3DsEZX|EU3+TodW7ZT@NV9RexgtlmMLBvgM2vt#GyI zD=nm0gI8ZE5yu<#orWT~p{QH0n+)(|K)Y@05j@ly;z$OZ5B>l4Be>5-k8S>_-0zal9dP!f;-C&RH|gj6)2?Nlc4z{`|Sw8xtg%CXV22@m{V30vSkmZ z47;@%-&~uiN=~I#(S$!*+#3&_K8a4hMzCV_|S*E^l&Yo9;Xs0004}NklUzMchPCLVpr2+_Wu7qzIzV&{t@e zMl=y>L@0%SAjn#Ylah~%x#IC{9LA!4@WOr1IXw6L&VBC-|4V8`y`z>wtfbynE5`wK zsWa+N>*^}x%(-c`vz4wEJglCO?~6+C*K`q9R)2T?0$AI(-jlsdw?8`y<|xvc@u)%(CHV6p|^sQMLH0w#dPX!%yK zvY|dx=bG4^SD&gYA$BtY%lYV4&*xa1`lbPFS?$O*6@PUrKL?*pN@)#v0_*@Eb8Hu= z0-L}TFb-@0A5u!ST(b)N03N55)(;It?NqDkJ+)o!Q@^WsL(On@az#z*i27DN*>K9) zdR5&H7DqyUD8#ojtlaeIa;Fc&Oh2oG>P7W^j@8r$jXFz>pc&i?T%&#y_J2|9)NjR$ e-)8o&v=s-d=TZ@hg~xLM0000I`Vk{ diff --git a/data/themes/classic/midi_file.png b/data/themes/classic/midi_file.png index 910bdc7505f2a6bcec666fc81dc73fb5894bb366..838d83eaef44dc70c91fc6ad606ee16f83a87215 100644 GIT binary patch delta 1148 zcmV-?1cUp@36KepBYy-}NklhA9T3_!Io zg12tn0;#>deMD_-Eo2Tz&eq8!o1D%3oSYnt88ZeYB_+cEbP8V$YN%qdSVGImWHM_- z=6tug;#%rqOTXkR*T5hX0aIBfhC} zc1M6M7cgKlkbiAcev|26elzVTtNrfXyGPmG0Nu$=D8Ka5OOSj;ety2%gd7Y8p@S(9 z2!Iri$MrhZrw>35g+drLY7}C&Z`J9jRoPoECb z*s)_VapFXfCQX{e`htrWFKT4T?g)^a@X`?NPs+N#pr8P`xw+7!woL(LuqNLDj=PmoiswpZEbDNHOR}$Lw|oiji);((?F%zAiE1_sd-OvVsCGc zKwm6Mqv+`9KxJhm>YIG2atMX_pPb)|S(I*Db5L+EF>wuknY53}D>*Z8I z#6&5TbJIv9f-;E#q<~~14oIKGJ%dkYjI67rwttMp$h8oW67dA8t13`iSIyH33Pl2Y z3#!D3=H^CpcC^9Q*iEo4qJ#|8RcWn_1EC;CMG{PUQ-e0#+}G#W-pX*u@p-6w-d z;W+m1Kaid)^3I*R(z1Fw#4&E%Sd1G#ksa*C@ZrOiheM$uYjt!tfc|Gpq=q=4

    |8 zQGZa7o^)C{*U1?B^rwhGun>u49D3)!cNZig)F>?e^-JS4Pq$h&$DEXi5*>KlW3^JZgcXo&N?-+u$lYew-Sk3NALHy=bw^%FM!vQ+|GeknQ0 zzVw)m3!Q?3Wgvkr9fUN3Tv(82SS_0-4JDR)-h?}zNMxA>Mr+n}mp5X@IhxGN z$R!K1f9F|^cX>hCZ$s}*vi>&uY(}~Uq0jp%?&$)PGZr8d0s7l#`&(tSTDE?hK6N+! z&#Rg;uXC6P96WgNxbWBs6DII2=jjepsn-}4^L6#qQ%|wh+~%2`2JqSR=;FnTiy9jn zC&~i9S#Ip;WKVo2gu`L~nKNf@0Qg$?ysdOs2=@pV;r}C^{H*X9%6|b1L$wcW*;pw6 O0000C2BQ?rO|31J$*-)w*Vv(i5JVu%R|v&81fI}fL)rwa&R8eczH06IH6zain=B;qU%k!Jtyw%_OTL2qv_gu~&xNKRe>P%4#l zzAl%`bqliZuYa`{O-piUR=Ac`yNc`@unTh%?zWc(_XqL2>U8URZdc1(vb{3URRF|; zGMbEun_%(gb`4blpqUPk!#F)Mru0sO>`d<%c5F@j&d<*+x+4HiBqp?8TU!H+R|p1! zj0p`@RV`=odcADFrfJqWqVWsRxVX50o}M0b)F_@g3gnT~l zt^s;ZPEH^aiNM&{7%VO>LRVK8jE|2~{6ah)hmnyHSXo(tP$&eWqoeH1;o%_zkjv#P z^9>9P0DopbI6gkMG;8-QsS}FoB_Q0MwB~dY?)Uqzq+AkA-$;x6Qgn{a6MtEVOEnziVH?xw6srC!6k4Qu z!N8DO+uLuUO)sn)2ZI3ymTv3wsgOYcM3?0esecKo%b2OYShN*yr9ugXwzRY`riDTQ zZZtO|H#D8Dk>?^@1zKBMt%!+HQIjMhyQZZ+z%-)ia5M5XL}NGEZNuS4RQoN6Ac%Op z4U<P?8B$v&o{pJe(f`2~{bdLhQfeOci2lwIO_dmeXXRkozMadAj z8_se4X|n<)tpv9-y)ZQNot1`N`vD%;KfhdtkN+&;?aPdzQL(*YE=*OL4gqDxu%ccr zprYzfD9A8V=<>|z>VyP>MnfoILyb(!HX#oEfT(WGR*Gu^5N85WPq$O6F%fG;-G9ZX z-afCMK2i+5ngFibjLP0+owUrvPEM#?rxkZIfeeVOGOB{(Rpk(FH*vPNZ%*3dXZV_g z^OlXuc@+Ts&-NBauD`#Z^>S|JsAW3YHv&Pe+v@5n<(hw40TBUU+w^jHc(}2xt?eEj z@KmRpYVBO-p+4dA^3rp3bo3Ele=o)H-rf)Ves*^D)4{<(3fGPB`5wCYAC&?B0aD+0 UCx8rdCjbBd07*qoM6N<$f|+7I(f|Me diff --git a/data/themes/classic/mixer.png b/data/themes/classic/mixer.png index f26d53bd97d1a5e0029df9cf33654e086d77f646..1a179cc99010321f34bc25428a398c39666a8c09 100644 GIT binary patch delta 198 zcmV;%06G7k1J?nN8Gi%-001X|)rJ570G>%iK~#9!#gefJ!$1%Ow+o|4p$ZTvygJ-~ z3vg&q5w5{CxC7VVz?n0basE4`V32sENWbtf%)u|u>FD!TuVxE$SXJ82|tP07*qoM6N<$g3q>8 AEdT%j delta 400 zcmV;B0dM}-0iOeq8Gi-<0051N9Sr~g00eVFNmK|32nc)#WQYI&010qNS#tmY4aooi z4aotowZ}{V000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0003TNkl#`pIH_hU`7EHeP-9KiE< zY6i4s*2b*GI0Yz*;?kJsIe-HyAUZI{DL~USYh1KKoB||C5(L)baLxre_1@0}@BOSH z7DtTJVHl|E`hOw}!?0=V+!x}s?|aI!3_=i(BgSdhb=hd+5qO%4YjMOl<+K_V@Bn;r zTHFKBZp0DfbX?w6M2^4*@M>laK$@n}IAWXzyEkmD)z;VMZ0k7MdSl}TO$XjDMKf#7 utOD-%wpA_e_>7xcJ}jR6MU%aM0bksSvIJ{3E&u=k00{s|MNUMnLSTZblC6yZ diff --git a/data/themes/classic/mixer_send_off.png b/data/themes/classic/mixer_send_off.png index 3033c4962ac871abc3d18064610d04fa93c9a224..4a10dd337af9edd82c1db809b1c8a485c70df3a1 100644 GIT binary patch delta 373 zcmV-*0gC>y289EV8Gi%-007&S{!9P>0Zd6mK~#9!)ze)|!eAK2aX&$}<#gsOx3DNW z>ZF5`PQuDwR)mp8Q9^kz!d_5H0{0;@D5y`UeuaPI?tvbJzz*GY@a($BkKHg98_O&A z?hZUWW|<+2Lnca^6v;o5=ql)bxY(E&|H-RRZ(yU3ZHb9RN`JZ)#l%)kr6+Vw-nh&I zAtz)BB@6hx;9yYZn0c8sIaJ$CBGi)-aKi>$LU$;T#wTQ7qeV^$S<`7wN|Pg^Q)pi9 zd>(0&LQ&bE7Dc0ulrkabq=jB_hJ{a+fFe3A(a>o|ip2pPE`-*pDY{CFibnSc1S&c$ zG=af3ZGGX0nr__jtkHm~PUX{Z9l<)cLVY%Ig&GtH6)kZ|hee$xg;r=0u!O^tWQASI zvP}b@yv*)d$3Un3DU8u0Fy0qxy(Nbq4o9ZHXPk-8*w2;d8a)|~5P@G~`ImnKL!Pm% TfuyHs00000NkvXXu0mjfAbzM% delta 805 zcmV+=1KRwB1F;5>8Gi-<0042EHpc(}00v@9M??S?0GT!s)I+0000PbVXQnLvL+uWo~o;Lvm$dbY)~9 zcWHEJAV*0}P*;Ht7XSbPnMp)JR7l6|mCH*TQ5431lMERRDu4JO8yAV$_<&4ec7mWF zx)3))3&m~ds{MCbXg75y-F4Gtf~Y8paiK7Ri6FQzV49F*#+Y$3x0~jY$yltQyMAzB z<~xt?o_o)of&X|#D4mB`EcQiFl(&ka3=ZG;dW18`jz*LCIlzruCh&*gIYgA|>Z znD`33Z#J9QwtxNXg3rLGYPI??0H7$!n`W~~tJQi`P}4MNilU&ZDxpwF`c+j$RaF#4 zLDMvkuLth{)IXxbwrvA2K0eOM$_hh6Ll}m^!NCEUOh#sHZEZ0%HANzkU~_X5%d%Kp zT*P%<&d$!**w_HTvMdUP0y{f9vJoM~s1)r!vxS8POn=iPpU>0R*C)je4-YX-lX|@_ zyPKVzWp8iK*UtX_J|iO|q*5tvZ*MUS!{b*w!_h%F9Hv+-a(a3Sz`(!&0L5aFa=9$y z8jS{tM1rHEBcG^Y7+97?I2>kja?&Rn0B{^f5?5DOB$G+j*48|o&d<-Yy1I(0ssP;F z+)%64NPi}if1R3Asl?#mppOr9wzq@r?QKp@PKd|jEH5uhJ`@U}X__bb`1qJqDkT@< zD;@~QhPpM>UP1`L?(QzOZIe!?C7;XXJlhLUC={5Rnp1= z^>wbVuZc#ZG#U-b&&zf*NpFsreja00000NkvXXu0mjfu)kyM diff --git a/data/themes/classic/mixer_send_on.png b/data/themes/classic/mixer_send_on.png index 776398e9fc3ed65e2164aadc2d6407229b7f325d..0b841e1a20762226f9db5b3fb2939a8c885976fa 100644 GIT binary patch delta 1311 zcmV+)1>pL`3$Y52BYy<=NklAv) zJ+~qL7l5mwKf5dE{}qdV`{56Wl1C1=79v<{!4pIT1e|jS)%|KKuW@efIPXR!SH5E` zn8oMT+V>s!!hh4B4mi2R2c9G|Z~XBG5uPx}Qwpt7p;v991SP5hR~vvxO;|LmjVrfm zKlj*SbB)Oi7>l!2Bj0<^_ucau{*_iDp^``R(*cFmcq0KS@=+yFDP*{L&0r1=F13hX z-Ul<#m6;0!N{F^d?BR?>4+2;04x|Da}b{4kAHMB(ITzF6sRF^Zx&3Tfq9Ao=C?t>DkK<8fdOUCZ7k?Zchl~XVHF~xMB)lawyMjMhJpJLPN?~DVo zWI*Tl=ehEUe}Hop*cv<0h*MFcV-XGqzCr~a8=iD4WMG*2>_J?TqkJK1M$CTi1k<1T z4<^Y7!hewFbtByHpxr1>5kw(jBf<+jqGn9;^~8CX8-qaq=y{K|~0f4Yoez zHrQUli8uWUFYrlE&Ju4NXYE7x;gyZ3x?d5-F*5i2XD1R?-eoJ5JOKd{6ewovk>;p% z>K(t~+~@wz=*`x$<=MBZp6M*ZdV-5QfGU;A3(kM$?@Zi(Cy2vpQ@vZH`J9(vvEkRE(aMtNIe*qV@`p6rGfGwqI49pq`*qL?xcL4*F*rPp%?+-w;9wjWR-^~1bFca1q{Xgu3cO}mRipXBAb%pL zg^IMi8X@HlWBA>t3w$(v*82xzTQt;4d<-;;t=u_tqr=H<3%1W@DQn? zR-^`1*yV#l6f9hc%t5QNS0%K$#%YH$uDth+{{T`>XIpwB(tXKy-ffI|G$IosfKVs( zYVd*_EXH&Qf|Dx!0@Ud`CAJ=zu76Jc@tc4B=8pqhHOt&Ed4n7T$`a*!;}XXKBYrH} zYcS3VVy_S{Zi(`Q&^2f{jo*v_NNq-*L2e6#u1l__uHVe)&7>5{ciLnw9VBkwk|xWe zzW6AXNG6v|;sE>D5BphAYp@ph3yZo1^GZ%$s^8gmv3g^ybF>Up!k*)v$ delta 1459 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 VB2MgzfeZiu002ovPDHLkV1l>~-BSPn diff --git a/data/themes/classic/moog_saw_wave_inactive.png b/data/themes/classic/moog_saw_wave_inactive.png index c77d73a0e15c47fe4f0e4f0799716529cae7ff00..c7ae2523e9a3a409165b821c7d63300d9aa2c4c6 100644 GIT binary patch delta 431 zcmV;g0Z{&?1ik~18Gix*0059Gx`qG%0fk9KK~#7FVjv9wSRexrg`qf(|1X!)^lZvz zE9m}%fSr05sRVYe3smdfl-iZerGr9%Kph1HD8(s&K<$8_00BqfzU6(`^LxMFXMBIp zw(a3?I3AB@v)Oz;|G9$#S2Qt#kW40TYQ0_`37Qu4wlA{YIm~ zRpZ5|u^N8u^}ZI11-$F^I-O1($N8{r#+YFkTumerx~``vg?&68H=E7na{26b)9EyQ zrn>$Ffvd8j$g&cDjJvMudA|sEKA+!8CG;@?IJp`LM?j%a@I23P+)A}_I-QEe*Ki~Z zZ~(4Kk`#?a+kfrO;c&?1^0|B-MW@q_MPs4_L`f96N(jkjvlwFuO;a^hwJdA9-CFOK zs%eCTNGQZrMOIp^)_%XwWHN#v1O)-{YK&n&ybSUNg92BvDZFO0iO>OmAaMKqNN<`| z*k;v4pR1J8-EK!y)aQHfac%`7mdoYka{0f&z(9ms{V4qWfTRKj(9+WK_4NgkP^FQ? Z0RRq(*#uizRw4iZ002ovPDHLkV1m*z&iMcU literal 550 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh3?wzC-F?i!z-STR6XFWwDkvx@D=R50E32uh zsi~=IXlQC^f`FEmmX5Zzjt&s%=;`b0>j4Q6Z3qNLKnNm$zyt(LO-xPU*xbUx!W>AL zTUvpjy@S24udkn(}%y)dFDHt@Lzp4B?0lJ?+VT$UubU!E}l4Yq4DlT37!+`fuMMp3n8}Vo1U2vqt-x z#MAxc4{QADUR3EE<}y{MrXo+&Qo+S{SG|DEdj9D3nnFiUKi7Ze8|K!WKIeVH-bbQ^ zE$*?|FGFVUUu15P#>wRoy=n3Tg_!tw)gP~S9o~De>QhCdQJv-~DEU z&S>Q~evrYEFs-gCG4GSGL(6X``5@Qiclw&Oj0gV53n!TH%mzA|!PC{xWt~$(695B+ B#FEX<7uAkq!Bd)GT_BlJBI^gVlaz7L& z>gYU`laTnc%*twKpq!i!(DjV?4F)NQigNiB7B=gIo7;iy4u1}Z+w}F>L^}T!4-Tho8ps#X(aqSJFc(b-`+gqnv+eYxW&1c)TZQE@7 zY}>YV-*?1*mQmpT8o|$*C`?rZZ6|Mt^5! zX5Llr-AfHDE`NS?p`zl-t(uxU>Y}2fzsAQ;CHIq!z&JiC1@!CaXgt)7s3TD$kspyw zY;3H0!}|5qrD@ZsRh5-*NQ?F#Eh#xodVhXnZmuTP)3YCW&Wi(MQ0OU+k4hQn|3vZZ z2S-FiOqe=l%3DD1_Up%iyQiiu9LeXe#NV?el1;W&R)623=QNm1AA>4QNVpdt8+$b- zCgu{+e)0f6G&J<@xVX5@0zUsH1LeSgq6pHmUTamV-GEnxgp459BrLcb)6W%)pK7&Q z3K}?YAeMDxWMt$vtwuxXL!s`4g)abQdY?2+EFQUyY|r0GNpr~mzv;l(Q>>IiBzkNB zo);YzwSUVHdVcn7N+y#%CilAn3WmC{umY<%md{^}>pC!&A48J}g%9+>)>c;YdrPI~ z457Hsfd6J^@TRUV9N?8oUz@3tlHOmSL?i)h&z`t=@)zA<|hQEUW zchX&iO#xDYw1NY}`)CD*#}4Z7FTZeL1E@*x z$Cj3M6o=t)t+-WNn}y+(CnnzSE|or5Tu|_AQGWij)k@{bztYo>kR865k&*GtEcnYW zT_4rejRm+OICw0E#~EaiOtuQ%hfT4M5WA;DT>=9GcTJi!>4QmdYwNd%OG-A*kxDn( zSbte{=hh8EN+D3-eb^LG{XK=HqoShDtS6S%2NS5`c1_K^&3SoyQ#?HfF)<+Fz_1}w z3V{Oe!=`W)pnA^)>Ox4ZrsOi&lZis%0zh}<=WBkBi<^Oy5q-m1niZlCDTP2mD_~PN z3d@f@#Y+8{lJaj`L&K|bmFf)!j!FTw;%V`^Gu3*T40=Q#QVM|rIBd!WJk|+fgMJoy zhB8w4T#^X!@D9HYrJ)SnW`>bY2XLV+@g9iELE{L3S~ArGGfJAgGnC4(El8jdg4{ zb?jmyRhW2TOQ#~pV4F5;q9!()X6B>$I)-zSb8>RtT_ka~whZ>(9p3l+-iP=9JpVtT zl;Zy^LWn>qmDbwl*8KC#83w^%KY;FHsnnCxG+h}~-M9A3} zl%`h)kBsd8Tb4fx<@0u*D8@hc`{!e_ECZ;iQMPt>AAdM|_;ACWv9SUNunwNLz1P_} zENPmF5ORT1I=>w3^|s|TZGR}AxBvL`>HPOko;(9k0uTc5D}ap4<+^ije7vRg(Ia>a z1|}j&OICxS(Zq55-j0qY0j0eKUzffFp!G?sjjlW0-w}5K>Vb4EBd5X~$S3vgt{=TyQ#_ zTL7d(q0n?!SJ%ek7{>4_^mZ~CKJD|(xAQ#r!{Fcs8_!$z*lhjRqS2w+ zQ*_4)g_felQa^d|Vlx2Tx^>HO?AWmnIgZ0B8@- zn*o>^0LW>Yn*nHv((G~;sBK4k!Y0N83Y&H+HDAeaGY3;<*l#kevi z1b@H@kH_9G2060PzP>SY20BzF0{pCNQ0Cd1!D3==+WLX42IRMxw2oD~L zBH=|*y>aA7db1!HD5Y3OhpL(gVkVYteGEx2H;9878@QP9}i`-*=0;RGV)fuP=6Rs zt7_wTAn-ubbrryGOzpr_By#UqZ)oRv4ppC0O0|WBh2hcB(WI{H zAOQJpaBye5Q26+9KJU1?xETB^n|%Rb3BbK&{n$i^)!Wy1es4#|CXNucSS~AxV(|~R z$#iq8(KuJnF!Yl^;C<2KIV~(EZy}X*Q2?mA=Bg8f5VE0;VfO8@ z+4_4;rX~l^o2!XJRFcH7EQ^;G7l%@kbgBBLO8~A=N;5ARYYkIE2mvqzU?>oPxmrY0 ls~G?ul}OJ5xVLgN{R5OiS&(8+QW*dM002ovPDHLkV1f%(YZd?i diff --git a/data/themes/classic/new_channel.png b/data/themes/classic/new_channel.png index 8a27695df8ef862d618eec3247a9896465d68264..8ca7bf13e4827748154e10279e835f63f3fe0f65 100644 GIT binary patch delta 231 zcmV0F3@o%#bDO;T!T<&I5 z;AS*9nCqpzQAm*9qgQb9NqiDlK^NE4A#dCS!ytmb-*)+Pr-T2Qv>T^(YP*4)31hml zm{34`7M3$%L>Csl4W)7m>C8exg0Wbde0pA0V8Gi-<0051N9Sr~g00eVFNmK|32nc)#WQYI&010qNS#tmY4aooi z4aotowZ}{V000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs00048NklTu?+twry`6$5}Xzv#@P@D6FQ2;)#f_wSNDx!!PjoD~E9$b2^=}?=l#IH~Q08N)d)307@x<4&aH1n_kjd zk28&Y4jYZe)_-+fJFnPox2e@?0EA)4X0tIW`o6zE91hQEPYs8bWks!4%OGg2IUbMM z`trO|sR%Fxt_71M$)5LJBuN60HP;YSN<9TZU=Zr{I@M}5JvZEb?pcQ8{342?m)UIQ zagIi(+wJz7%_ac5-H!Qu{sx#;b2^5g)_N==es0SH`bih$0C)wK+`v^1^AnJd#s!x5 zoRmV8PReSv+OOAZ0f^(+D!X4OnD$gDHRK$PLXQ0VKlTS_QKylmN!NL+(a`}Ab%q%*B-vxy?=H&SCF8g z2D={l4JxYvKj(lezr7!(6k&bad(Q&cOjA?}Qo?x)!~ZQbAEW>5-v{7BDo{w@T=U!G zZRMF+a4pnIOBAMsNgzrAAVAY1O;C<3;NVw7b)-ocPM;(3FZzqdX^w1$t+2TOKSe@F z4Ld%>I#@pZB7Z7Sj;2<~OUic&6p;g^Uu>BS4IB*ooM-4p>Y*+YTA=XEE{-h2WKGgn zs6^A0C-MIm$)<-xLl&-_7>;Ps2RRtB8!)7(e%&TLz>?LDdGRb^)oHzJI3Zy46oR$!N(m)gU0K=7iU@+{EL`Z~IJ8t37NuHY9h?I|jxU3pwXh|_ z|6NQ@?@Gn6HFnNf*NP~0vULEO# xaDirN%15J0SBs~q#z!*=7dr~6NTswWxFcGp4y)fWc_#n>002ovPDHLkV1ie{9kBoa delta 704 zcmV;x0zdux1lI+SBYyw}VoOIv0RI600RN!9r;`8x010qNS#tmY1u*~s1u+4)?I=e8|DB20%S=rlCMkKtO;f zAtWF{AW1+#f*>UP17HwXa43Qy1Pr1E1ffA8Fn9!nDrA#}Qh(Y)dw1OKelv*swrsd- z_d3anot=I5-I>{Ug`GoyiRp_+*To6qT`yCK&f>4Pn_ri2105g(LV4p(;SXLpStcQTy$(Jvx%LI+Bd0e7Zh|Yx=DMGnjpGmC!ACKlShy z@Bvr>x=9VVt$zdo#p79e{pB<8II7Bl=V#__Ol7NU0Q-PRU=zsezyg9e2RHx^YyitZ z3sA7KJ_SZ%jU)^a_HP@3TR0c|isKG7*lU0IscLk&?w(K1!URVHrd_zASjVFP~vtq11;%N5H8 zf{QrJcFcv|K!<3B<{DKG1efqo$uV3jvVi3Q?N?j{S>G4gzqebTxd+gw*7Cq^BB{XU z;xM-0$L?P^EUCloN!V>9fJ+aJ7iZ^hnl!vL##55<6hGSRDJ^uMtJQ+XPR*>GcyNh) zwJm-u#eX^1b1@N;i6)jCRw(%0krQ!l5;ZK&*wjD`Q$@Q0Q^V8{8R#Y3gEi>7sZCP! zlvxqbZa{p|I|t|%WE&ZAXG3Mxwhh->SU$dR_Z`VZYA#K1O^-A@;su-_BB&Z4Pd|B8 zvCOOvEWj8r13ZiF;DIYtZ&0spaKVl4phQ4Zh{BT*cmaI(RA zw|1NLUhVd5+qP}nwr$(CZCl$O>)Yi1)9;;;@B1YgJii$U$Uq@9pwhogdpuAEbHpz+ zCgcCFSOXS_gSzZsNBhQmZ@Jn5=N-P=u~(mb^l?|6bl9<%pMS95-pB5{eyl2<#-3^r zBsuy2B9O?_0B}b4SaqdjYxP=I$R0FQE^CU+G(`g{<3Lq)rub}Pa{TApPuuM9eSZA$ z#}ecwDH@*?{=<8NRa$Xp-P~!q$(PXPq?eSb^7CG4>J6zZ|18gXGu#Qp?8->S4BKwN z3A7nzppH$>-hcbR5jSly{Y6O_nE~GKMhFFP5M|rt?qFNwE@t`Y5XMcQ1|&h8NQyaH zODlcV%Y^qBcpRBV;fSSCD**kHCAN$lLU zc<$(BH|txtE7y6%3Tv8ftbvRhfW_7JXpeqc&qMAlt9gq*xV^v8Gl%*+ymW%U*>gvD zi(I$)-Bv1IBmoVmyxiK4?>|vIY?czMcDw*H1+tn}U?v4BQhfXM1<6BCeb%u*yUia$lR6H4kw0-lNsvXfI zZEgiZQ~YV=lgaD#Z_AHXnTcuH(Oj>RFFsYRywCJwIxaG<820(;z0Vnq;ZX>;fku#O z7)md_+5>xj-FNpUzO`w3bIl zN6N}|ONlcAIJI7dx=VUTe(B(}*n{sB_J4hj@5FC%+VP!N&^dx&vsFN`FNEUHf7^in z&qQ?SvJN_I22cnSRO=hGtj167zE>zl!OQqgigri)ZbQmLfa&y84VqEfJZ943pXNg3 zx%{_lB|uTtfmYzsx1JobfF_ZkK>3gR9?-=FejRcpgrAk;H@t34aMlu#u`sgFFx*g+Pq7 zrBvy!bk+Uow(RU|XLjcL;9WB|kl>?gX%g%`v-yg<@j3KLOC0pJJVU)9-BwsFgbi=Q?*DvO0l7C463xY!KZ5kE-Uc<|+U&2BH z7vo1Tn4SS(37%a~tSo3$*~aPyeM|j&%y3SoKD~SxfKfb!x0x~kKbDrn5TQ|AOD6=U zIRJS9;ssy;R6%DD3h`lk<7S-rr5C^*kz*4P6aWxXw=G#-^GNffrCK<|9Fm>xA3huZ zX830SbAJNJ761%@4?qw>DN_EznulX`Rn0-4Cfl>-t&yV_`g5bHKLE@V08#0I$TGUC zv1e&r{pNbTiqvQ^gcJ?ALY|LJjQ0<8oqo-@nVc4r!bR~?>6MnJLK|wj8zQxlx?mM5 z17(mXL&BKN4V}CC_D|j49%on;YLfS?>}4UPJ%7r=$v^^qQrzy3^5D204%Kjtt;X7t z_V`!V`$Y37fUw-P`gy4%@_ta&{9#iaU{kqMO2Ro`6)4YBU2bwK)yK?gc8e$nI*!s> z?HN96T_ruEd-4;RxS&F<-_+8u{@urqPTPst;E9V*8()l^1>mARyiDEOdJYl^$pdrU z*?)tBy`r%Ipl|#5*`0J<ne`G7XcIbvb)*@H-Ko29NwPOMe#yWMcqruF{Ue55SAnGvs%cs1RM^}SQnk^nV!Ns*FOW0 zAs*G#0QgXW0A^8u1xswBQQS(8N=s6a7Z9$B-(0crMFp^mQsLG9#d_})h06ormGxpy wQPaFRF1gF?4uk@Q5sCU|=-_VaDxmHG+VG z>?NMQuI%@i1chZKTAs#&4CwcCaSX9IeRi@TU$cP#3wyWHd`_>Y_8(Msy?x-m;+y@%8K64UCOw&Z7SWp`nL7%Lk&x~G8(duF4)s>Hu13fk(OEOgxzNfjuNDB^#^CAd=d#Wzp$Pya|6m9J diff --git a/data/themes/classic/note_half.png b/data/themes/classic/note_half.png index 46e9d461c67a63a190df16f4a7636617dad0d8c1..27dd7e8d237d1c4e7c9ed6b8d75c3150488014ed 100644 GIT binary patch delta 120 zcmV-;0Ehqo0g3^T8F2&v006c6H|hWY08vRqK~#9!W55Ir#~c0wp#=jj0F(s5hEWAr z6f`h4m^VN`1xx{|v>sF#0UNLxTMjnkM8iMq3idex)U0Mzvl#R_wDx1T_f)^A{h ahyws-U4B79`znY40000Eak-ar*5fL%t>l0oVId>zNlC1zbGUt7E@Z{UgV= zGA7x%?i&xMDGDDt)~WhYb@rQg=l7gRF@NBYeo0v4@y1D4&fa8{UwU(X?gLSkpWJ1N z7VGL_82lWP*WK51)H&DiZn>a}?}3a>+!u~rWxjk}kcZzhTzNmEet!Z>(SknN+(Q3- kO-q<08YXDW``pTZXtsRhbN03^K!-7Sy85}Sb4q9e02c~dtpET3 diff --git a/data/themes/classic/note_none.png b/data/themes/classic/note_none.png index 8a82a4ae6274f4f1475abc2e5d2f2636cbf25270..3418ee8f7524d122886706e0f71ee0d11ecd3c02 100644 GIT binary patch delta 1236 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 P00000NkvXXu0mjf#X<6I diff --git a/data/themes/classic/note_quarter.png b/data/themes/classic/note_quarter.png index 44fb49e6ca4cc9b11a68fd023fd737ee1508d7e5..3976fc09e74f86266a875032705d9883d24ee111 100644 GIT binary patch delta 99 zcmcc4ST;d2mW6?VVe2pRS3t_v)5S5Q;#Tqj7T)91|CkrDGV3u+VL8|q$ofPxV+Vss z%Yk|U){ILEi55pf8nis;a6WsHXVIv%_Wl75L3ReeiFMbUm#X&y4Px+g^>bP0l+XkK DzUCtR delta 197 zcmXTB&NxA`o{fQlLH_gqL?FeM|H(?D8gCb5n0T@z-kD>jN9L81OWxv zOFVsD+3zt43d;#B6mI(t6iV@QaSX9Iot&b;WMX0>lb(>Up`l1uT1v|Az>^sg9n4}L zIs7S{NxTO*-FPKT8ybOt)qB(40|yS+FX&hMGatyGxPW`XtgjnZB&%Fw{WYcSpzDg_ nkBx7C>`4GBD&Xo*e diff --git a/data/themes/classic/note_sixteenth.png b/data/themes/classic/note_sixteenth.png index a41d39a18d065dae498d0ca811e55ea92b735961..5a33aeb1bcf57db6d69eb83902d028a5ba057c00 100644 GIT binary patch delta 134 zcmV;10D1qB0+<1i8Gi%-006c6H|hWY0AEQ&K~#9!V?YKCj1Bq?{}B+#V?&6h2cL4F4((#GEjuGz$3Dlfq~T!gc-NL)d&I# zvX^-Jy0YJ65)_tW3R?AjKTv3%r;B5V#p$J!t@)ZAcwFu)sqFAs6jIHeH>Kp=B26BJQ=N=T;e=(*- xLQUeiMnc<^@rno716m>Tb>IPRUGeKo{M5PIO6?Ki&j0`b00>D%PDHLkV1h(!Jlp^P delta 269 zcmV+o0rLK!0i6Pn8Gi-<001BJ|6u?C00v@9M??Vs0RI60puMM)00009a7bBm000Fs z000Fs0k`caQUCw|2XskIMF-vj5fdFP(pH%z00020NkltlY!LhvOp?$4@DUuSssJ0{?tipwfoH(SSQ#eO#-Y-% zFZM@Z1-yV$?x_)!mS(fg1oRLbi~_m|jO;Ij#^LDgTNOxp)@&#CDsa)NAlg%t1^Fnj z@(k>4mvt$IJA^((M6QkkOU8&M=_)0eEZJ z(PRxN0#W}0DD!t7i0_Sn3qLh%{sz9qE0&oZHR#c}VueY+01E&B07*qoM6N<$f(nK_ APXGV_ delta 265 zcmZ3?IFo6DWIY=L1B3kM|A|0~Ey>&6h2cL4F4((#GEjuGz$3Dlfq~T!gc-NL)d&I# zvX^-Jy0YJ65)f9GZuq%%0Z?d}r;B5V#p$Dy427Bu1YF~1%yD0H#7|$~+?Vq#t-2){ zOVtmlWvDrr1pQbw_syUA`%g+ezvJO@dt2J7dR1PBqjOd-Sse{kb<@Tld~YJ2 zDP(R~sA2MHisN0zz3crCNUnI(RnQqXsm7?1xl7Yg!nS=5i_7CZyhZubulTB&{n-?+ zapS~)-kdF^saNC~KN~tGrJmi+d1`I`hYy9pF+s|28l#=|+^T0{TWV4-ys%3U=wt>@ MS3j3^PD}|+01S(3R{#J2 diff --git a/data/themes/classic/note_triplethalf.png b/data/themes/classic/note_triplethalf.png index 73aa6e24ba737b7cd19044ec8b8ef07ec45b3d46..9b10fc9dcd4909052614ebccfe4b8c9b1963ddfa 100644 GIT binary patch delta 140 zcmV;70CWGN0-XVn8Gi%-006c6H|hWY0Axu-K~#9!WAObCgA7p6aJ=C^5L!UFzW>1h zS;2oWY=A2OLaYktZGtau1qeW61r3Z1<_!=~0aJh~tp^oGzy@r_mV?bW(eMwug8fjo uIyMt70CoLCvBDhP?I%#A^&1!=;s73SvrCb!69)hQ002ovP6b4+LSTa4+cjVS delta 275 zcmbQsxR_~zWIY=L1B3kM|A|0~Ey>&6h2cL4F4((#GEjuGz$3Dlfq~T!gc-NL)d&I# zvX^-Jy0YJ65)jtYVtC4T87Q>D)5S5w;`Gr;yZM?N1YG&s?q7_MT$8gkV&CykQNL8b z1>Csx^TmrlBGwsY=E5wD(tevxo;!E$>>i=#^)bHPn{~IsG~Yf+?%;GL5m!O` z=aqi!Gk3mk)Y!n`XxrFalWH*ar?E%9N!}cX>XiDg31N*}wia@3VB~xD)7a|(yZ+m0 zzFLk!ydlTRS^WOlG*)e3IqZAsW=DL(cZo)>2uADqf#TQiX?jF4>o3SRZ?eC{u;r=| W^TvI%5AXn8&*16m=d#Wzp$PyTk!!gC diff --git a/data/themes/classic/note_tripletquarter.png b/data/themes/classic/note_tripletquarter.png index 7ddc3e2926e96c3cbc90a39559d56af0b4a6a01d..69726fd807c2a8c38807433416c330aaf3d2a7da 100644 GIT binary patch delta 119 zcmV--0Eqwp0f_;S8E^yu006c6H|hWY08mLpK~#9!WAObCgA7p6aJ=C^5L!UFzW>1h zS;2oWY=A2OLaYktZGtau1qd+k3K}i|1tIVsL;;#KNEi+=6`)EIXM#Dp8&04|>o+h$ Z!~q7Rv)~GvpuzwE002ovPDHLkV1ii_D)j&W delta 238 zcmeBV{LeT+vYw5BfkFQB|3o0gmgMd3!tfsi7wla=87RV8;1OBOz`$wgTe~DWM4f1ZG&6h2cL4F4((#GEjuGz$3Dlfq~T!gc-NL)d&I# zvX^-Jy0YJ65)jrmdHj*-BT(por;B5V#p$J!ZTXrU1X}kS&VG?<5_Uv8;6UY;*?#8_ zi^UxbXk5PVaGNUgJ0{Ncv;J1*-~Y2l#Py#BV|GAt2A2I4!U*?m~HSr}~lDQwW{y^vjH zTiLzpn;)t&vOUss{x;6Np51=RANMA* n-BN9=`XMt*^UA7OHvbuQb8Uk;ZQafTeZ%1C>gTe~DWM4fr|ore diff --git a/data/themes/classic/note_tripletthirtysecond.png b/data/themes/classic/note_tripletthirtysecond.png index aa89e6f7b838fed0993fc89dcd06ba7298582db6..5ceff23d9003977caa296926de03921f2e328b82 100644 GIT binary patch delta 159 zcmV;Q0AT;R0JW w$s3XV2_85WWFsKA*8weXD*3h-5viuwpVKo$r;~pIY5)KL07*qoM6N<$f_?gW#Q*>R diff --git a/data/themes/classic/note_whole.png b/data/themes/classic/note_whole.png index a9b8af4a08c35dc098509d0ce6d36b2b7c611b72..4c31b12f73eaeee989cb39c6707010c6b6a9317c 100644 GIT binary patch delta 114 zcmey(*upqLGMj~gfuU~M6MrD(?djqeQgJJJfpA7b&V$2DKLxq|J#Od|$TXkB_0L&k zN0a3@UNMggdmggyV)8R7uT>6ZY&*YCNmJp8M>J5y!JgoZAHAH7zt}k$82Z2VP3fDx R^E}X422WQ%mvv4FO#tOMEmHsh delta 234 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 literal 4790 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 delta 514 zcmV+d0{#7*1DgbpBYyw}VoOIv0RI5$0KFoD=Cl9+010qNS#tmY4aooi4aotowZ}{V z000McNliru-UA8=1~J5_(Rcs=0jNntK~zY`?UT()!$1^;Piu;s5NO4MQbKh1x8$krY7jUB#T6Iw&+JGjLn7>XlQ5SXwQ-70DH!j4xx|eS*hnYDC z_^&@-1>UsVZKG1DFh2XfUm}ET4Tr;iWqa4qn=Qc}N28K)bGucyhA5ZIXR4~koY}Um z^m@G-pB3I{n#Ocp*ZFLkW;7TKIso>o%Qd#Xu_@T?)n#Oy9Cf1kxzlE|saC61jWbHA z1z-ug1}dpF}Cpf&SJ&{b6q#|Jdbh1 z#Bp5AbkVf-KEB^n>=1x0VF0j`!MeYjgFLU};=G@mk$Z(YYK_&i#ib>YgS+d2VjmxT z&Ox5n0qo~yq@iqyPW_ diff --git a/data/themes/classic/pattern_track_btn.png b/data/themes/classic/pattern_track_btn.png index f67714607da8eb6acbb0cddffafb734e6319fa16..dd08693a743e51f5eb073651a147e9fde1b7c090 100644 GIT binary patch delta 374 zcmV-+0g3*_1ds!eBYy!`Nkl0#pIOiJdDu9>Ag49h90 z2r}Hg5(+4mOjsHQq9D930fZC^V&q0H@rOzOc-5Lho0qM-n}1uJCFGF}OD%h!qhT@q(a(?q?#?=}AZ(OuUq z2i2s?IdwUGvaKP`aJL*(LE>O-7lTy(J&5m-|32-iqxf$QS5$@k4kJJa{OA^nVNV)aGDXAr@A%P&c#N z{g=tkIv(OqNr>Ym9y+Ia=b87%z&tagl)@@UWuuYDNR?BKM8g|Kq5Izz0SWy&6(^MaMI-L>#1^|;Z#_i}v zvnb%22_feCq?8o^cP!8I#XvpJk_5Lm*Sd~FKDTcn5CC8doWu)(LGW~7mSxQIJRc7? zUKGVzxhY9vCf$h-HDkGynuTGQMo}aI5CG(PUI747N`HZfdI0Y5Z&UyrE2YMdv4{DG zMMkTBDO7*=aj9$S+t-Uur?b@2tBox*cec-8Y;I}~fBzgX|MaNI8ZVnmT_d8yZnwMC zQB>_SXJ^-X^`@;oOgNu;XmZWuXdLjlzDb(QJT$pxQYs4gTwj(X003rk%^1izP!zfr vWuVD5lP05o1D>W~pgj~q{3jl+{DZv*a!zI=r12xr00000NkvXXu0mjf1sL{? diff --git a/data/themes/classic/pause.png b/data/themes/classic/pause.png index 719f67675b31b5319745e83a2551c65ae8a1ad50..69f286515e76366a2fe8eef626617d1a5c76a06f 100644 GIT binary patch delta 157 zcmV;O0Al~Q0*bBbs@T`4|;{=y#cDgV@9>QQ0uEcv#5QNk>nlMW(HoB_PpardXUMAkkvF zVkElaEG`(xtF4m+AT6gx@!dV@h!a{~#`n`I_D4pda;K4e^A=-wXnb^~@CU)_00000 LNkvXXu0mjf&?`fU delta 295 zcmZ3-xSeT&WIY=L14D18EH98^DR%M<;Q)dfj+71{pR>RtvY3H^_aq22uHSmx2Pi06 z;u=vBoS#-wo>-L1P+nfHmzkGcoSayYs+V7sKKq@G6j0F?PZ!4!i{7(S9JyKycwA=} zim}cVeiC)h{h5tzsJPsM3r$f;X{s~0+-BBWow;9I@#o(b)dOdiEt3nq{Enk0uXn4N zqSD$riMBMExtNNWK5N<>PK< rQ#Y1pa}=T(Ui3?4@cj9E>>mRo|0&s7^S$GNK49>4^>bP0l+XkKD|m9q diff --git a/data/themes/classic/piano.png b/data/themes/classic/piano.png index 22523893e25006e0846704d31513da3e0973b7d5..2d39ccebc8c09ca3a8b7f0fd72a9036e0dfd13b7 100644 GIT binary patch delta 177 zcmV;i08anj0>S~18Gi%-001X|)rJ570EtONK~#9!V;BN}(fB`c>X;z3Cc_;#iB05e z6Hwt=Ae3Vehm%DZA|L=Ykq-!AMzCV_|S*E^l&Yo9;Xs0002nNkluwc=qIvY9wZ zLt_k#F^WYbn^D5^Ji*MUs!DMbe#$5zGh-}2jruT6f+*X1tx^yYbfPzV7; gbT1{P|M$T@0egpId*qEh$N&HU07*qoM6N<$g5Z;oTmS$7 diff --git a/data/themes/classic/play.png b/data/themes/classic/play.png index 81d25ba4a92fee5e6b75eaff8eb794e47b54193e..b16db0897e240239eb11057c332513505a3f364f 100644 GIT binary patch delta 216 zcmV;}04M+31L*;f8Gi%-001X|)rJ570I*3!K~#9!wbHQ)!Y~wt;ea?O1zT&B(kdt& z9K}T^7r{-3ZjOS3n_I!jr|^k~ip=($1qY<7_flO)a zg(XT982j*)uBh81Q__tmbOyIW>bjiL5oQ}CDzb4x2iUDJR8c(>k7x_K1>~#y6c-VF zprkd-<``&n7dLVGf-x<@<%k)DwP5H+40H5dh@nOuMy|Cg6S)^K@-6()XTJfH1&eRG SiF3{X0000B delta 460 zcmV;-0W<#T0owzR8Gi-<0051N9Sr~g00eVFNmK|32nc)#WQYI&010qNS#tmY4aooi z4aotowZ}{V000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs00044Nkl7qi=RQg2%zvGHfj)v@7bhWtAg%S! zjkh)D-UvBeOi7xgjnQwtAHU(Aa~Ki9C3AIA?Kj96ySXS>tJU6`&F0fNa0)aGgB-^h z=(_$<70&#jWm(Yg_pcqt85o9fGR%@wHceCXdc8)n;CUX5$757VxvSOck%+!ZgY9-( zbi3U~UU5F3!+&HlK`EuX*=!2o6sYUE=yW={V4THb0n_OerIaq`JOih|R;wj!+x`=b zvs^A=Hk+YR%H8dDKd_c8MNtI%{l1I`N+}>Bb~qgF0N|c6_Dn?lWYG70Sg+SI2!c@% z1TO#(0)UF&Ghi5oxsVV7IOh@(lh8W=42j6k1-E7(YSMjfH`Mq3$7nJCIWIba4!+xYc^fk(a?hfJO1o>^#;SqvO)=TZ|preI}f| eHG$J8Q`+u-?!x$0nce+B9SokXelF{r5}E+D9vVXc delta 190 zcma#Qz&Js&o{fQl;mV8SJV1)EILO_JVcj{Imp~3%lDE4HkOqRE&b#Y@6lZ})WHAE+ zt04$8Zhxy01QcX1@$_|NzriWaqpbem9@A~0P=Ke4V~EE2r58N;4j6DaU(8?k@b~=5 zdaGPqv#bQdbk?Xh8yVl6!>}b&k7OsGEKRI6N)&D&y jy~K5$68{Au1`CF_$JsqHmRuD88qVP9>gTe~DWM4fpRYjh diff --git a/data/themes/classic/plugins.png b/data/themes/classic/plugins.png index 5ba9bc3c90e74d1d35f3122aa28cda84e107782b..ccd8e238bbfc9e98cd9f2a562f896cbde4018b2a 100644 GIT binary patch delta 1907 zcmV-(2aNc>5P=VnBYy`-Nklsqzf=19BHb&RB?Yp+^M~ly~w#{qX zwr}rbJnfF1ysE8KJv~XLN2}9)o~o$M`J<{{g9G5bpZelay*;rp-y!w4-+pHX5d5F8 z!oVe$e6T+@7`{C|G~K#uCW^;)xcM#N!Dg7Eg>x(__7T{g+3h5lq*_FNipzX8LDf`RY*y#R}IGaM3U4I-Y%P=6{G6k!*vj>1BNPJ|;7X)?j+ znspp~{Hfu-SmKz}YtNkqyln!wLFiY&W&lH{(c(y2|GXhq;ObTE52x8An^|J&jaPX1 z-dj`;<#Xxx03R}sJ?W$qgb*JTLMt!-X)}kx`NOQh#Uo%H{FkLdo@%K8g0L#0>6^A_ z35$TBHGc+yn%lOu!huTfnrM68Z^K|1Ci?)i@cJGY?}Z+VgTb`S_S^v_C<4u(MK2%} z3IWE-^qw(*!j^t`CM&Zr)GozDFFcin&HeDvF%AaXYMV2`)uNJq;48|xGO(Y#j_#-! zfEJMr$YrB&V!UnYz6IFS2Ok=P;RpwUWtkYJfqypOK(H+A%hA{KkZq}L#+Ve{&<7U` z!}e;szOBXIEK2bNEH)uzYE!Ql;rN6!mxc?6IS@?KYG=a*EWbnC^AMI$hl_~YaBdtt zp?S|dT(?H2+CU3$ufS_XI5`1*Hq?A@0=Rh=u3QD*I*KkllEyTQwgFrR-!k`!dzOcZ z(0^&lIPi}dy6{3?b-xmEC7;c~OOhX-Xt&H;MMza(s?334oY^*Dy0}W*^F2+^RYpux z8aU8K+*yIkMqqap9nlh$Jl!8f7lk|K!52q#1Dd!<1D=jv6W{eP41)tg0O=;|&<5C3 zLt(D2%YpvdN>RY4KqA4+BN{}6L(!H z?mEhV5Q5D|AIkypz@lolF1%WRy)`-!3WwFrxq8i7CMGv>_IVfb(NBGmAP^l*h%SNa znJP7{s0AnkS6uy0b<@qx?4`f2kN#Lp-+Xb&M1n+8QjV?n`uqFo>FFU9i4qQlF@Nn4 zuIo{6G^p1b)arFTwpgoo8(7YQX=nprD3`6f|6T9N- zOXG$z?0Y_r6m=YjMzg6h+A`s)68pH4s?U5M5r{4W>KJxCcezFNsi<~``jMjRS(vV? zvm{WTTb62AWngY@hGcROU#`_`I)5}BN12(M-plsX+k|Cy21eH6i;itb2ZENEyWEIA znjX`8cJbU(kMi{653^_2PPurKMx!ayt5f^-TW|2opZ$;<{`yC5{QDnyUtaxvWg=-jQNtWQ57dNlrTHBu+T~I4t3{4Vb3k(+yRBSvR>z ziTUZ>3=a=8K0dAlTC7(JRI63hP`h^Rpi(I_G&IE6*cithcO08HZ>Cbpt1MY|s3k%; z99G|H(FH*8L zh(sdF?7+YP!myNq%B4#;#1Dd8p%bW@w`663(I tfQ`U8!0~|77U>cy0Nw$NX`v&)zX0?(J7`FVhu8oB002ovPDHLkV1m}yquu}j delta 2098 zcmV-22+j9_555qPBYyw{b3#c}2nYxWd4Z_#Sh$mR;<@&)q662)SPVrhcX zc!_+WgzxzXk&NLSSZACuZqaC6)y7t}*40?YA6Z3Jb$=FbT)1$->;ZWA+~fD9gUp-h zOg0?^!Qxn{eDt-KUtr<-)r0XviBOQw7bup-DHO*k6iXBeMe>Cr*<69_SPtp=#7Ysz z3S&&{;FDUt{^(23|F-4>oIQKC;Dv=hAVeAj#+WR?>eAw!{d;f%_j-+Xt4X`n1g^p1 zG_3S*yMHYRL-P3|Q`1K{edhjPEMNRg_5HWM0DK?;lubPcoCFYwjUK@N4E?W^_qIK8 zXirl-7*MaR@!`dP@yd&TL`q52SpPoojQrfa_kP|v_q20~^44z)=8omz%HFm|C&4?o zXS*5EZ8yOY0HKsd`p!9=vsmYF*5aJS_r1LYhkw&BogUS5K1>8~Y%FQ>1RTx4U0KL@ z2SP|sj_NVsoK1wS#afHimQ*UW*Mlbx!2{z-{ZtO#ti!|Q(NfH1;f*?+%)t+54+QYN z5u5~-h+2!W24fA@CIEYkJeq;|d{RG|gV$^D*c9AT7(xAQ1x}2?GqX?$_XY4giI8Fl z5PyT+5;g{7l6uPbAe1nhf#YNFNCmERN9$V&;Zh6kDZ=UiQZj-1cMHxG;q`U+>OL_7 zNI7!ASAb`Bh-;1W9KPq{3O+nk0PT|FugmbQ>BMS5B79{7-fzLZMHus8(?D$D`CIUf zL-6eU?dq?tBgM#D9~EOfxh<|ejl?B3)qi5Ruxl^)XOu*LY(ZIgs{!vc;74<#koivw zsvGcOXI}@zmqq|mp)kgvjZO}&Fj^y}MC_M{pKQQmlW@H|oY5MzbrK&fm9+h78O*`E z$j(uH6d0*TvzHz?5aNJbcEI`ot_}fiY$oTWUa}kvuiv2vIZ8u6jupa_XiwvL3V$sn zIEN78V2HOPxVo{ctpT<8j=}&F&{rF$73Qh-2b7W@+IjSE?TnglWbnXE09ebpXH`gC@xUt4! z^!t6Z-2t$&vT$+g@R7d&-`;L@4izinUK?-}3I(R7rkI_bC7n*Qyu3`i-6E6CA*GKH z0?+dZ!;ng)LJ$P3MqT>-0j0_zKDu?Cm6a7d&!gLm8K_YT`v9AmpJtuBgb>@0FQqkG z>AEG5$z&*%O0-%nI)71;R?-hBlqP7kTCARK>9`C~sw{TbNaCuJ&)p9<-8Iy4#$!Z4&>uTyKZ=oufWk_?zXb3aQ9*SL9e zkVH?B=RdmzAcSOm`Z&$i zn|OSV9Dmi<*E%Gdvn6?iZPj}~ZFt<=orbYd{ilPl_;;YR1J1=tcUsLT+Gw|; zcDvbZ)@#xF%B@DX+v)8P*%C593#bo;)^~_*46j?j?)f$pLWujm_|W%?<;h=k+O1nF zw{8UMYs(!q7^r<_q=3eb!MB9!z+lJy+x>QbY3~6TLMwQ{-N0Gk3=r=S*(uZn^gdvF cgbphI1*&=&l*Iw_@&Et;07*qoM6N<$g2=lTaR2}S diff --git a/data/themes/classic/ports.png b/data/themes/classic/ports.png index de903626210696f1d8b3325f5317b3050e68fcc7..b788a9e1a2e24ecc3da87bfa090d3b0a6958113a 100644 GIT binary patch delta 797 zcmV+&1LFLp2&o2;8Gi-<006|aY&!q|0`N&hK~#7Fv{VCdq)il@-?nWVh4aO>jb&`x zwpEC2+qUhbbhhW-Y-~?ef12K&-Y0aTi^*hu$Y3xy=yW=pmX_9g$0kgrQa=JwDj)~& z2vA3ZrKYC#!Ep-XWz+%gfIi=mh0V>)M?5?{u$7e+*45R$s(-4gO5AI$@T#h+o=-|j zy0{(UdG=EGsLsC#a~XaBpjC!z*ZS zZ(n`(%=U~2L3=cb`cN^7+~8PANogJuiJhIDF^J&w^mGhv?sj)~_Y!n=b`B&bC*$>i zeHNs%rH4@jvVTRtqSGMx#s*=CXRf5AB$ktt!_v~ykBD<_Zte)6yhrfkk3W72A&LNA z;${F>A2`o~>lXl=dnNA)Kp*X6f!K>^3gw_-2t^O7+bo<*LZPXtiJ{a6C=?1gz+g8$ zUtix>Vq#(n{_6TG7iAz{`1A$f?e)SmS6A1|Ha0e_P=AmEl$DjSl$4auPNMeq_RmH{ zL}V5g7UGKfiaWrS+){1;TUc07P>@v>GBPs6IeD(yNjN+_+%GRL54W_m;FOegVL-uu3j7GxMI9m>8+|7kBJDh%E*Z zmX($5T7OQW$!5`zkPz{#tgOexDTqH*P*5<3&o3XOrHOm9&HUoxV#lVYCJeEC0>5>I zPp|DcD@Z8x_4P@7uaYD}(>Sf?LX+@SS64qsOiYY7Ha2#FPjBrtD`<9hc8f$*NJt1n zyjjlq`1sOSc)h*7=bSQXTtB$&`Q(#Ne%hDl z=2@YlqCnmmARet!P9wY9bJPbVWIqf1Fa{{m>i1|UucvUM3K0YIf1_oa&00000NkvXXu0mjfC!&1( literal 1061 zcmX|94NO~A6u$h`!l>N_j&-ex5(PI(s%Bf58b_g}d!alFl+xNl3#Bczk)Q%2K}z{q zINd0XfEPfxyVSFNyxVG`$ZG?P7cw9ak+VJRfx~Zut zv~gG*#`X2}hK7d28f9l^dy{9o2x&ALsIs!Ma&vQYa&jUfBB1Q-?1Y$?muIzFDHIBg zMpG)4E|&|PLCed_Jv}{8s#GcfQ79Bnr?aW4DJ?AxN;aDfTXMM^`j7x1B+1Fiki)}d zG9flMH$#Lo5CKFi7JH!#2o3|n`1ttP*jPqJMqyzgbZj=8Kp^mf4T*L8Py+wFE>85$bGFw9^uK#tZCfHST$p2=u$Z=aZ$0Cu$G?bp`U3WY*I zUR+#6E`)BOj*bp+04^dh3rb2#BoYY-C@(LE!+O0Qc!933uMc>;y1Jlg`^g3-00OvY zGMT2Qr!5u>=#QZr62~82m*$O zhk+4P&Cbrw&CSiv&pRBBD?V5k%u-*Nf~O*1U;h9Cfk+HILL!mLM?*qFUpNtVib{Ji zJUlWw`s`cp#xmns7?#2pioJtVsx+E>VE(YE=yJ&?TCGl3S#?EUQ~!BG!xvv046X2+ zboUrdW{U;PADNt*nQ>lUT3%WC?Zyq)?{_xuZavu9dE|C`JiEJ(AMZWc-`{_FaBwj5 z^Nt50A3DZj@=vbFWz#+^{x<;@V*NJje8hI3{MglVQ5Fd)K1TI-1OC~($cXuB}ud*&Ak^{>-&ug-Sl=$s94UsB~l7+bWL(zijUP_gB)n1S3z1-%q@%2*}o)9q1p<;ym1^ zYmTnveb65j_73;1BdT>XIOm5|!jJ#h?W~LCnY){!?}LNu(q4|M`R?KSf82UwVD(ex zBps)n_K)trhcnu9=NlWttB#wOQX?asZ#F*v6}w(vSrC80?b>KOe(f_1xsQl-dy+9Z OOcG&ioMnoWRsIJ!M93Tf diff --git a/data/themes/classic/pr_black_key.png b/data/themes/classic/pr_black_key.png index 7d9c6ea9d0244f4d438020739cb9e48bc47029eb..7301f2ade03e8799433cb97c7d51383e65042b2f 100644 GIT binary patch delta 319 zcmV-F0l@y91Lp#eF@FhgNLh0L01FcU01FcV0GgZ_0003DNklm|sY3Vrguuj$Qg30Wj&1F_#o@u@P6;+&()L6bnM@rGHY( RjBx+}002ovPDHLkV1fj3iA(?h delta 354 zcmV-o0iFKm0-XbpF$)4>OGiWi|A&vvzmYB%e*gz`Nliru*#!s`9wl(wpzHtu0U=35 zK~y-)t&}@X1ThSTKPM4Tp^O4#i2cX0bkbU)@b6f3YdzI39p|sZd#r3hf zV8R|F7JQ;)Wcj|-z#>?bEC({BB?uP7Od(^o3Rw5N_RMV8Y%}C|PdEVF9p6P4wbE5> z=vw2lPuOI{4j_a6MDNU*3rGJ-c7%rSjlc%{0su5&xdZmL(_Gd7Q)nQS#!Ky>|3^E#kB{ekx&a&leHwNny*?V+JC-k*W9eRsY-Goqc{P3 zb_``Br8i}puS)NJY7w8rz=Wi~3ZEG0=)1uPrPbUSnIr^4_>B)da@83bAR*D?lniu4 z&x?Oxw>vVBXfyoA5YKKl(m^blH|N3A#H-6qU(4gF$FDWotec8)vhHlNIQLioO&XY@ zWs4||ydW4S1Tdo0x1H`^l7D8*A~`fY_wL*kF7;8!zPptT`2rR3e{R;vl>z_&002ov JPDHLkV1k8@jDr9G delta 355 zcmV-p0i6Ed0-ghqF$)4>OGiWi|A&vvzmYB%e*gz`Nliru*#!s`9~nlk?J58O0U}96 zK~y-)t<<}2R51_+;Lk@V8&QBjBvrJ#L=iPDmm&ofUD`D1@-n>Unn>_V$Vv^-fVen&)C0bevciT+ikfHM`d?tZ=Lx3uKr|f%5L{XFkHzMjQ@X>n%(Olz~rj=8T-z)n##2-qvs193%o&G_p9$U2D z0dq8tW3>zuP*ALQb2B`6aa;EdrSorH66W?ars`!=*)Z^#Js({3xhx$}SO8z84DiF* zoBGtqp#%56x7o%M15ev*j9txLww6|AO}Xof+(Or1wth3udh=?R&wFf$`qIyiwX(oz zSsIsK`(GFAd+sH|PJg0rCMLn_jW*ZflI~74;4gzGd9ZK=J-7e>002ovPDHLkV1jz` Bqn-c& diff --git a/data/themes/classic/pr_white_key_big.png b/data/themes/classic/pr_white_key_big.png index 724e82b263d013bffb42a27367a16f5a154e0ce4..9d4ff22c79d85883037368950747e1a461cbef45 100644 GIT binary patch delta 180 zcmV;l089VG0?+}FB!8DlL_t(|0b*%!0JKZiXb8qI82-`+cOAL^bl!Tx9Owhuk8-6!=W3o0Ow^DSbES4o;lTj2bvYO0AaEdeSS}$4T;PG97;=ateGvTt z#eR^&`1v5^ft_5RFbne;$ni3(dwyUMzO4G3J5NrB9AIQ1do7mt9QO(ScY*Id8B|TL i+tMX>opFE{ozo5b#$3Dnv_H+)=@)6;QbNR+#~%loYLVK+nu5axkqsr7d483za;;00000NkvXXu0mjf%V>3Q diff --git a/data/themes/classic/pr_white_key_big_pressed.png b/data/themes/classic/pr_white_key_big_pressed.png index 37d62e5fb5561f3b61cbdd9d6660814f85a7770b..5061ad45d6873b81de8939b9b9a74622a2dd632b 100644 GIT binary patch delta 221 zcmV<303!eK0{H=uB!9q3L_t(|0o2gb0fR9R0N}gYdatoc2h3WvHOJ2+SL>R$I_4Lk zXanuyO#ye^^9Wy}wIrqF07c8eAR=D}_bqss&`K()y$y;IMWX=@+;qWsHBideQh5s$ zl~5)bGyrTHpWOjUDtC;c9xJ4S0icU*2DqZ6zayMJie|i!305QDW(J4@b`M1>QOJY> zuK@_Y4SeAbobI=8@Xr9q?XVj#nhxmd0)zpaQUbsdiGou3DJvH{BNIyDi^M@P6uS}t X`ObS=2bQ*Q00000NkvXXu0mjf9=TlK delta 342 zcmV-c0jd7^0r3KmB!2;OQb$4nuFf3k00009a7bBm000XT000XT0n*)m`~Uy|2XskI zMF-gh2oxY3ZW}Y10000TbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAXI2&AV*0}Q14_V zZU6uP0%A)?L;(MXkIcUS007KML_t(I%iWaC3c@f9$CGYjZhzvC9X*I3?p1uiJl9n4 z;=!xWU|pNmi<5RM3Vty35}J?xlKv?{T7v}(jsf4jMY<)%Xv?g3NR`A0v0DfJ33>^` znzd<;NOPN}0{e|1jB2yY%4lv5NQ<}_M;M&cz1Gb#E7pA3BP~beBobin><5xK6xNCr z%PrC>D~kk!%}>Lcx`6WrsmjYD7M}q;eZtoP185-Yp(prd0O)_wVEBLV_5`v<%4XAc oBfYkjPf4Dl@Rl$5rWbIXEBVfQThs>v_W%F@07*qoM6N<$f+10l2LJ#7 diff --git a/data/themes/classic/pr_white_key_small.png b/data/themes/classic/pr_white_key_small.png index fa07d6a9d00c82d2235e12a57f75375081b0a2d4..3cd9626b11256985f8527ace0d9e378916ca7689 100644 GIT binary patch delta 175 zcmV;g08sz90?PrAB!7}gL_t(|0qxSY0YWhl2H^klA|1L048VR&M~i#=YFr|?yXzO1 zyXq*3+i)3=b#Vo2?6~_mE)qdpFH`11cQiJTn~c?Ac_O&go0;kh&b$GxVf2K@7;fUg zaHD^M*C!y{Tn8Mssj!#DF?!5s0ylmsD)xWDF~(?Xbky=*T__CpekDOThR8Y7@A78K d680jTV+3G#M7gMxv2p+a002ovPDHLkV1mVaP<{Xa delta 285 zcmV+&0pkA40k{H?B!2;OQb$4nuFf3k00009a7bBm000XT000XT0n*)m`~Uy|2XskI zMF-gh2oxazV*y^50000TbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAXI2&AV*0}Q14_V zZU6uP0%A)?L;(MXkIcUS005IoL_t(I%VTU|pbRi}>FRtZM}OnLzyE;f#WlwMM1BhF zzp{sMN(AR0G)Mi1U^oZHV`TV`koyY;Z%;5zizLtPKVb0VIE4m$KQU^+Fff2B=^*?w zJC5u^(15>x7>_efcDg0Zid_j_1OEQ~^Y8B;;fsvjnhYFFSTi~+Bi`)%@9+Qrf0@rS j)-n9Up^%ZNuoeISc?6GB_e`Sh00000NkvXXu0mjfssMCr diff --git a/data/themes/classic/pr_white_key_small_pressed.png b/data/themes/classic/pr_white_key_small_pressed.png index 93fe7ceb4b7fc78e81e49ae02c89181628dcd3e2..6dc865e728232149af8e2935cd2ee1882375f6ac 100644 GIT binary patch delta 215 zcmV;|04V?B0`mcoB!9X|L_t(|0b-o&&hQ@ykq8D0)0rv`OuK;%}AT|t(-Y|@*-SqH_&owTS;RSnm`~bmY#00^N R3ta#J002ovPDHLkV1i79WGVmv delta 327 zcmV-N0l5D20pbFXB!2;OQb$4nuFf3k00009a7bBm000XT000XT0n*)m`~Uy|2XskI zMF-gh2oxb500%No0000TbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAXI2&AV*0}Q14_V zZU6uP0%A)?L;(MXkIcUS006y7L_t(I%hi)z3W87&h0n|#$$v1{)dJgCJE+Gt5Twpe z4;rbdAV$!6xNwKV$2kKdry~M^-h<({n~W{)8fJPHTq;ULlV%KgeKO3{)$5y}@_ffM zp8(?otwBvqoiYJuWs!Kk$48?sfvPqB*b6u>N@)QxWu69vY2%IYPQXbrp$W?}fDq;+ zEFfYgUJVH5;6NY}^b}Yx!A1=L6hBWuTLJOq9sCu5-hi6#7#-8nO}}PlYU*_oTsJj1 ZJOL;P#TZYS^Edzi002ovPDHLkV1f&{dS3tl diff --git a/data/themes/classic/preset_file.png b/data/themes/classic/preset_file.png index 53a0d1159ec2073301f3497b5820ee7b0eeb712e..c9cbc2447d6da60f9b3e6fd3ea7057f05c62a521 100644 GIT binary patch delta 1826 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 delta 592 zcmV-W0hBYyw{b3#c}2nYxWdpey;LuGIOdv+fLM*iJ9*Y;TQG0}2{E|1kmoLBk^S<|pa}F;{s6QYgIu1xq z!bBo*Q4R!`_bR&)Syr}cwQ8P-FBb}hA4djLso@n#R&rC<7F46x!q=_Oc=Ia1U;4QI zyAjenqcJU&<~7C#8*lgWE(b6f7t{TFIqWCVUmh29m$jky(RbbM9|h1xd^ z!{~GoZk~uVfmN#ybGP%V9B2h&_-&;xXMGpOW9C*SM3uKi6iP167{1z<=7Kx(rF zX8*Z4Ju&CoDQ};sRbQ_Wk;ysVukTTm;DbtK*9RaX0Dl0p|GlnEFNmklboYeA{m<%O zK`a*2naw7DZUt8$$d63!k))kEdo?mJ_|!q8(Wt64wY*G@W}N58U4hI7lwb$4cc1$^ zyTX&Em3U`aR;DS~^0w#PNbm5ao00>H0ARDmBLo0B(2DD~R;Bf|Rde&x#*^;8A<0Tj z3%3317D+@Wq3a?)lIg4fAOHY12XN^39vy5@{|o4HDDFY86Fy$DJOhby4kB6v;6+Zs e0Ywim0Kfqe%f<(2YruH`0000rfEwEzGB delta 256 zcmV+b0ssD{0h|JmB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01e3i01e3jueHZa0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$QnMp)JR5*>*)jbLVK@0`p z_hfD~Ig=LgC1>69tW;|y8DYD=I00000fhd_1eF7jBYy#0NklJY~c1||8e57+Sz~1Ev!E2>grlzGtAu5y3xhW?=#38Ah&`EB>49qZfxhC!WjOKgT&SlKl4 z@QJiCFfcGOFfjNrF)%P-7>11P+*6oC;#zpPx%v0&>FFiH3}R$tWVEueogyeCS(H}1 zkOw7F@EQ2`9|MD$jw54I!CZEJLGc-e#wHWO!orv>t$*#72#Y8rB;_yQVdoTJAj!bL z{}>oVB-9wvOINZnOQOPvcOzOG+<(5FtUzfz@?9L0||hkVjz)`LcD?0cHzus6RH`= z`2YWZ1}jEJ#!3bT25J=Dj4%UPs9+ca0|NsC0N~xr2@AYc9RL6T07*qoM6N<$f}7&? Ao&W#< diff --git a/data/themes/classic/project_export.png b/data/themes/classic/project_export.png index 13c0b9d08aea4fd505cd0446a032ca06965ac7b0..c479abfc38e7e479f1b99955295b1c352e61dcb6 100644 GIT binary patch delta 306 zcmV-20nPrh1i}K48Gi%-007}WPaFUM0SQS&K~#9!U5>v>!$1Iszq?i)Ty=L*qz@n# zaS?nAM;)9*L?5BhM-X%ooQl4HLJn|92bF~6@-v6y0xh8Y6#B$yEiSmDh^CJt`loSDAc&E*^AAf;QE>n~kFVr1|6#1`; zPhj(;=_D+WdVykrO>iWc<&E-Ib~!$9W%x@8mXJH1`Nje&kABlcZS5Ae^r{zix-@J; z%$Sloa}c&VME)7`lq~QW?i`Q$jIG15#cUoHS&jBif*u24sF9u&=t`%$Q9s%^U=2Jy zJ!+U4XrPB^^DB^b$hkkexc&FCyM06xL%|GMzCV_|S*E^l&Yo9;Xs00056NklmTM`=lfyI3ADiwjTjOiJ5V`-7uX_v0ANgxm*H?SN>=@C`~34tk>(n<{Ow9aU6q) z5XZ3r0QP&f*=)*RDvD64Q~=;M7z};_xO1N85D`?X)qhe@yrB-S5lg@=aAY zEFusQbUGcxaa;g28V$5st$VN6OBRbormDXIfadeL`h|4PVYl1ia5$jZY@$}Hz4!b5 zWHy_pzw|?x?>Oo7i-wOq@tk|N+i{O% z02*cxI;I(?opbr2Qi=u%d5g>IP0+ZHKD>fJj2QQoZ*Uz5JFd6(Q+PJMo! z1oq3!%0NLuo@N+^BTkiY;MrSLey0s_M;wj`A`*$9r>g@)0|PP^i!KOc=kU(cP5_0=Ps>c0$Jc=;_y&u6629J-*k zdS#_4g{XA9Os$}>NJ~ymg3D#HI60% zsliJZ&irw6l=3e%b~fcdI?=FDk(!sTBg?C+_=4jTn3=bq~5tR zv(n-B`FO?z&76eUL`QokR;*YpLZM)2^~xo`)K#xq1E7KUgXktK)z9IM_LdKb-^H4vQw0D?K2@)|=fPkQvuDp2 zizoiFP8Eu$ZL!y}hxn>gFX2X7AtC(f;eI<;%sQ`SS!V zK)Bs5!tKB|xe@xsL&K_U2eBoatz8Jup#Gk}) zg7{PsCx&}_IzI>o$FAmlw9W{ZgF)?86@bYPY=8j>3H1z{m`8M~gwqSvmOxT+AAh&m zMZ(l)XHgqY1(X4PV7L-ORYUz#Dq%s)I5bEOWk93cHnl+Kzp4r-!9>QZvMxeM=}eAp zFmP}?4E;YUU<*mugm91qux<=UXF_n!6&m2OZRp0@T>zaQ1m9+at>7xZ@B6A`yO=E z~t@rtjW#E-R;b?&emxE^Y$Zj=!8hD0MFjJP6>-l`2BwD zzQ^wR4m)gb1Omwy7ZuNH+I_EsPT`hKDZc%#N0C6I*XO(8=wpsH&%59PGk?FZ5QY-w z9iVF(q)-OvLCv1U8H;ePR1_B%#gRt+ilOM9t#pW^?Ja;Vt)?0rml7dYb#)KVq1wiZkdEHIc~|Ikj~cR*&CCscn+IJ zb*4B>gp#WhF!x*ahnWcel7Bj?<&>wMW58KY zE<%||Y>CPv64!tTg~vv{0Q8Aj6DoqCAZn{B1%+nE^S{>x9SZWGYy%H3?Rzi-XxKtBe0yJaL4Ml>2jI1)iqLp>JEnJqioTDz)N zFMWM@Xh6M){O_o#Tz_6SJT$mpLv3x_laD?kfB618gef1diIL%9eDUc=@|`zdMR!+c zJ-s2npx!T_6ZsYEZ*tFG`ybxF@4-jgN1kw&+~>ff>|OUdC{$8f@hyP6iF1fD!ocKV z5M`O!d9RdKY#7>T(=Fr2oqUF*Ja&Fz$)L{{cpt!B#EGn%_-=ac^LTw*(6Rf)p8FmW zrE#&_?Rgl$b;S0Be;W6KPWb8jduHbr{9RaF8cj{h_=DEieE=>cHeo$N`(N%;=(yaQ v#%qZ~h)lx7%)%rxN%%08Z%@vjSjB$<|ADxFEdwLO00000NkvXXu0mjfwim?s delta 2120 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 diff --git a/data/themes/classic/project_new_from_template.png b/data/themes/classic/project_new_from_template.png index 1353505b9b4e5206882792c47f10284e4d23c75d..ef59238b6274d27c3411f72c2db8e08f39f3098f 100644 GIT binary patch delta 283 zcmV+$0p$Mn1FHg%8Gi%-001X|)rJ570P;yhK~#9!oshc?!Y~v?uR|n;Kw=g|K@U{y zK*0zgDhf7W4Mw2g-;s)sn1LYiNgnUT!8XJ+oFh9auCAZ0F36!02nn9-BX^7pC0l@; z040RH0!NDzRIH9Eqf3aK6a<(^9}e`Yu=9$sL*Jq zjB!QG?xWfe>#tzq935xTLsTDPhI6sev`XJ8YS@^|l2){#t;m1V9XhDO$DHQ0prvSI hUdm`0n;iR>7Zh9aoP7-6+!O!+002ovPDHLkV1hr|efIzW delta 487 zcmV!t8Gi-<0051N9Sr~g00eVFNmK|32nc)#WQYI&010qNS#tmY4aooi z4aotowZ}{V000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0004VNkltV@{`&(dQ4eWUU1erS}*kthJpQ zQU_>^fiVWw+62>Yc@4?5BR5SWi^T#&)QP&=?FK=E4r7d9W{3!4jFW&r0TtR#F{V!B z*Xt!jlonnmXn*ha;c!S}Mt7N+6UZ2Y7~@+_x$OmtNOGvL6{a;i^6hpLB1*?22WoU? zhW8#J1guu8FA@2k?NHjd)NqpGTMySHB|8jx^mH=rsTU002ovPDHLkV1ni9&G!HR diff --git a/data/themes/classic/project_notes.png b/data/themes/classic/project_notes.png index 6991b3a7ea49c40907396487c7ade957740b0e9c..130adddceb980c7dc89cc6f184005facbf09f599 100644 GIT binary patch delta 296 zcmV+@0oVSW1h@i_8Gi%-001X|)rJ570RKruK~#9!b&pL-1ThdsU#3TxwWuJtbtf)7 zgdn}uGk6L?Y48f(LBT@^E?v0ll|P6ej9YtPuqQEAI!z@*zK?=olXO+Fu8Kt(YUW z;DTo3<{$xk=}N$WI_5}DH7LG5SV!-7FrNWb#9TVSCcVY-!t*v)$!aks&X{y{hB_=d zxlzUjxNP(lWS1Sb*en>;>W+nMzCV_|S*E^l&Yo9;Xs0004+Nkl1~DBNPoa0V5vk9)JkE6?8i(R z=d!n+hYk!JdpE!P&&Q5pW~64VWn&DO88JqL5D-Fu_rBzE*6DPb%=|0y8kuRWVT?he z(SR`qTI)(zN*M*^#Z_C6|i=&)A2c-PO#QuwOTEDz25LHh3S?NbIxJA z-7fn5{t&?DHDKkoN$;{RR^mCp4a(DT~M9<0i7tHW<4Y& Ri2wiq00>D%PDHLkV1jD8=A-}s diff --git a/data/themes/classic/project_open.png b/data/themes/classic/project_open.png index 7188b389496d3959299385aed55817edc43bcaca..c42872df0671473d2b36d0fcef47138e2bfa58f6 100644 GIT binary patch delta 431 zcmV;g0Z{(S1jqxBBYy#pNklNtQDHiGs5FKGo2CKD6o3BzKs`IjhsD%Dk>t8! z3$rm4C@WJblw=Ckd@`V}PJs%ws~rZ-9z1$fK6vn;iJ~ZlsoRx~g36nCi9=_czi{2u(+)!v|j6ezkaox=_7Tmnkb4WZgUmE0evHj`VM2Gu0+(9TTexrJUJqXH5|~$ z6lNWi9D~M5tU){2>ArQKLX8I`6PR4T-bzTftDfAlx+tzr6fBgmOum0+Ubvh1~!E002ovPDHLkV1k={%ryW2 delta 563 zcmV-30?hr$1Iq-EBYyw{b3#c}2nYxWde;D0TMXiofD&kV(`H(u}F z2}YV7ukHE#^VqxM?$oy1?L5YayQ8Y)oXI)Ub=|~E-+H~i=kC8texR`s0x?EXO2ilm zAuPIxAR+*->ipCK%ft`@W;RJ)@|mEv!^|jUI0V`UoGCOjR26r}%w`GgPW}s6pzXme zf%XD(&bT`vgnw~?0x#Asa1f}fBS=IrvxyhjK4^M^vPc@oMcmBFn{8j@#i!0~<;&A5p8 zcn_^w*}Q+(A=d6bZBcDGJo*QE3;rYZqXru#&3K z?PMLHy)3%Y*Uke-mhu?002ovPDHLkV1jm6 B1@`~| diff --git a/data/themes/classic/project_open_down.png b/data/themes/classic/project_open_down.png index 057c6269f71756fc74a7664ebc540ccbdab1c836..d1e17debba351a79f7ce5860d80f53868e84139b 100644 GIT binary patch delta 1010 zcmV7d;4yBzy&f@O0t)|L!KV?BayEeTpK%j-#_5GWUb4Em(6_E|c>fRie5E{|KWIF10 z1~_lm$B&tDwfKeOAN_MA#&Y0mkyn&q+uze$f3;GrS`}cek@^n+?z~ zERL;1E;cRH+JCi(Y*s24+;P_v<(TVnNen9a@Y!7_owgxBy>3v9QhY&fF}8NSnIOj> zu{Q^vAP|(-KCx3Z+Zev&9$MS zW^@P0h8L&g;Y2LbA>VY6rsgm^;s$8h3?tg1tm|0U_@PD5G=Hy}h z?(_SGre<+)144U%pI2&peMnfzUDDaULu_WP0sdUclt0#yo&jlA`|LaK`6K7NFaHBE z#y=yXd*61;MJrxJ1@8kGnJPs#jm-{Sg(+fAT{1cwcpV@fIY?C7mnLlUR}o}p#qMS5q~fL_G^fi_FW@X8hbt53JRzxA#EZ6b5ger zK?EmdFs*11rPQ^K-BGKh)oQfuRS7pma4@6ai*o{@4Z$&A6yt(;!BIq{39_=fMz24> z(Ale|I(EmD(%&h_!Anc(xIq>yEB&PHQjuAQQGXx&t;LZJNA2{ zO@9#W?H$Z(gCIz)jBe6R%XbeBZg_^3m369KA5w(EMxsgzqB3?@DgIPkw3mVuF(&tw z)C)9(?(P+V0A!h5DuwlWnKpzt2Nc#iSH41#?*Y<3~1&OCW0> z@c@Nx0^%;JF?=5*@!R!M)SO^SgK5>QTWi5lTz31AcnKO)_%Vkq zW9$h>9}<-+ejNwBYyw^b5ch_0Itp)=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L z00VXa00VXbebs`@00007bV*G`2iOG-6BQ6VQHT}*00b#XL_t(o!^M}si(FL{$3N%X zd*7RxY}Q|iASjq-1z9^mkZlxF*w_gcA+3Le|AUQ13OljWLVvIjL@XpWqD?G>0kJTI zXu?XC-TCq6-g7M8?9Pv!ncWRh4-D^e-kbCNo?rK#EB$_-W!c%;5kPpd;{AT#mzA2i$ImIqX(Kb8OdUHVs|W}n z9s-&(BGP(0ea^4d9YiQ0oPaGyX4&pq0yjU?Z_K#<#)rQW{`h(=sEFXIh|f|P%|ITn zOil=xas92=5>kvm^{F<*YY1%eRxU_nAqA7-*cftIEPu9Tua`m20V;3a{OH^A(mUMv zROwdI|K$Dh$|(ZP*q|7t_yYKRh0lXsgviS;Z1LDmPTF=gfoynjN}ja9OQ7q(&qJi-36t!I z8=&ip(0_|#b1XN3Zz8cQX2zsAf^Uuh=Hy~$=5`bK{O)-yxfm1&w}nk{fxyE-gO4YK zLEZ?ut{C0h=&d4fFvyfgW2819&1~;}@a3bN^EUs3#261EqFXoK-5Yoj6}$srWU3S| zZgH-_UFT9{PE#^E3wR+g{{ENymm_Iw^3~77!+#J$5WHg!;u9`k>Yjhnm<#p%dR~r( zV_Xs{;7BQ@93K6>AEKr05uwsp*SHlFP*Xy>0D<|+b~{Bxa8d@-YN}95)2OBGQPiq8 ztfE$Rm2lIxP0Z-jaSlM%oUe}gA}}t97aVQR5O)T{5p}1F&H7(3Rjqo%m{K}SL9XVLRF7Az~Bq^m)vmGABlrJZkrLDp91j)X3_;WpuD&`@`}Xf?CvS+FdcQaX&?IvvD{ z=ev~{CXm20bi0dQ>rxQRr>&SAcfq400^)*;gBOOwF}juyjI5Lz-V_f0)?#CcnZw2$l zAPCYZo$4HIIG^{>?sA@CFc?$S9Y_(%strIT1yQNveymb_P+YW5L5kS)y^`uMn~~Re zuSoko%k;!6jGH53w}WfiIQF^(t&%>78shytF;z@T0aGxC(WAdEe)Et()(+xfwSVWc znOodNHHP~!67P*mQFDS#({5VLdiJ6uP+ZRZNW27%Dcp~5z!SEZRWh3=ET4z8Ct<807*qoM6N<$f|oZrY5)KL diff --git a/data/themes/classic/project_open_recent.png b/data/themes/classic/project_open_recent.png index 4e57b3b827f951618f08bbf9f42eb2aaf6441d6a..bba9d4a80ed9270ec3b32edca7e1b1a7ae9fa89b 100644 GIT binary patch delta 554 zcmV+_0@eN11;PZ7BYy%3Nkl3`SO?EdiAbM~r=z)ceHdfYJ3)UjG zf{hT6K$=u3#8R|LVAs;&~oO zm?MO+lbI`x9g<}vDSN;Xm8MF{DS$J?i@Cy@fICLSFR=WWWgr)h`oQ@h!)cWycduUI zW?RHMar-}^Qi{p9TTGHka83jQ!o1|`7jAf;;9Mv<9?WH0Ym13lIkxqCIRoL4@kd~I z&26o?>I-ltnSX|f@O=-!O@i~@B{UeJm9AIH;OwRv9~T1OL>S(A{jLMxG7%H^_G;*C z$qi3NKDg2!<>9**Mq%~P27q70bz-L|G!mZ9rfVe+XCvTLiPmbd`1JP80|4iU9szel zx70Qbp>bSDY{+EVxpm_?p91o@g+&>QoUptY*OnP0wSPoWgfI*d1c8BnehHHm8(M0$ z8miSQDwRquE|<%?-|s&LFyBu@E96TgNfMqp-EOzjZns|o*jlxrnMP=(yE@d$saosi_CX>nM@pzoWYi2YW sZPx4crz1<*U+g1-xa8m>aTo`kf0rlW-8$fA4gdfE07*qoM6N<$g3AH~1ONa4 delta 702 zcmV;v0zv)41l0wQBYyw{b3#c}2nYxWd5{MR7!Os7{T7s=$BLpOnCTW6&wKi#NM1K$tM9hI8TxD?<{s2)# z646S}$O#v{-Pzfhc^0`jle>!~_~0=+J8wVlJMYb`5)pP=nx?HJNu~h2_Y_5ebB>}Y zD2jr1X4x>Ft_LGRE?@#1xiG&nH}g^r0<$b@jg5^>0XXOOz_v5PyN)3f2m&Q%i?2aD ztCAzRu$2d9HGlh9k|b!YQA+jwyKx9`G=U4_jx!-mZ(q4Q54-@512>0&Ap}AQc<+aj zq;BWk$#IR2Nj`tdfIGdAxzZ@0_Z|`Hd$jm8Vq4q2aeQdad*82}_nr_!A6!Xx!hg8G zNpzAZ;CgTRYN#pgcDt1%$&}W5k7DN>9h39EV=w~a2!AD)n~$m6lJewqE_Cz2`F|=L zR9Q(hr^*Qm_!Si2)I@orGC2+W1g_q?IP+x)7$I?t9-DQnq?j$k=~CcWu=Ydq`CZ`L z%G}IjfT5<5oyKPeSskalu`iw`JfNhe?|9z*>t^O4irc9{~BG6e^_<5xU)OA7-tkR;#V8 zuC6{~=h_`kAvp?+Hr6jfH#avo-!3dH)OxVrqhJ6-cUdW=flDJ| k1$ZMOo&8`Vf&XiN0Av=^%~lwT`2YX_07*qoM6N<$f`9)yIRF3v diff --git a/data/themes/classic/project_save.png b/data/themes/classic/project_save.png index 83c7fd7bd459eec8a82559546a9af1e4f32abe83..9d985928534503a9d73c8cd2756b204a6a546b5d 100644 GIT binary patch delta 639 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 b7^&kMy&Ccl%Qj#;00000NkvXXu0mjfd1PN_ delta 246 zcmVRqZB%|b(EEpp6QU1g%aXnzM0|BU3U*uwtlz`R&| z{W%%LpsiltEsJ6ZE>2f)l#G+!8y<&Rhp^kbUQb;!Y*q?l6W>yRx!(1W_7m6JeoA-y4>iNK9PLo0`E+R?j zdM<{rBvo*ncz;woXct5O2u;**kyIkBk=AikOa&gUlY+wzd}3%ApqU3`6NieW%`K+l zK1w*q273?#;DaT`8DWkvmaY*@aZX~`gv$;V0W_UO`~(Pt?XZq1EJP5E(+a}F00|L< zSRja4Ppv>=0;aJgbe!l`AYOpY{<63U*?atDk``vduIgR>znh&)57E1eg zNg=y%Dy*cjk?o|ilXxQ0fDi#DlJ#DfMA1VdU+uuA;$jo=#)%;U2r$JsA>6q6gO^_l st0|~BaN$G;g3Pl3L>ni-IP-r23#*%^{mm&!01E&B07*qoM6N<$g4F#szW@LL delta 673 zcmV;S0$%;91-S)~B!7TOL_t&-8KuEnNK*kEz~SFHyQovC30Yz*RwQKxA)=6U!6z{& zQ+&{ntRO)uL&}GOf+FZaC@f3CO0CFBO41Y~jSPbZB9uWFGczer(Q<00bN^1~tmOrt z`abwSvPh0diwuZYCZ<13RSYCyLS-ScQwC&?;l`t@2}ET+*?%K{dEFyFC&Xu{J0*d| zn3zpA%A{yKlar#Eb5piv}9GLLSL%VsljX=$L5Qzj2rtf>1C>k!Ys9&PEKnMHKhzED9L;TU8>GGg+gBFU}MkqeYcKcw5=tf36t3MZv9(C7?Pv5xONR-I2Tow(Z@)+O~ad zGfs-J-y(Uh*m;BW?wp!p)YbJLeLZvIdPS0CrBW#ti*zR2dGC*`Z6M(oOu4_NqqS7C z+3eALKL79Ezu&)q)7e`1`uMc|^tk@`xc20rR-Jl}XgC~x`+xTBt5>h+jLmi)9#z*g#6(U@#1+@tBo0hxKg`QC3_fE8A40LHrg2%31WY z=eOI)-7rCVGuQ}-B#A!n{%N(#n5n73GZ* ryNbHE+iZx!!E#}Fyb^A1Iq-E8Gi-<0019IEztk~00DDSM?wIu&K&6g000JJOGiWi{{a60|De66 zlK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^RZ1_A*c06z!p{{R309dt!lbVF}# zZDnqB07G(RVRU6=Aa`kWXdqN*WgtgMO;GP-C2jx!0isDnL4Q;z&z+L7ZWBQehQHa{ z*pBa<05&*^Tv(A1$_rR-XpwjWNjNQl+kE}bB-VgHo9n+qaQwc z8UCaQL5yG%Pj}`?V!^Lk$cG#;;O<)%S;>Ii8k|QNr!NC+r?m-x^x}dlF{t+WlOzCm zxy3SD0=pQ1q9>rxe>0>1b`C%hf~o^*bzZTZ7OO)G(0_o3I{>u4M=lHOWkG8%fTQL{dy-B&HtRax6mnv%!BkT9ta z2p7G1{p!U`AUB|<0tjck+PL}EbRgHIvZx^o&;-sSi>kU%diyU%d)Xf0dqmFH6}zJPTx0s8#Z-?yh@@ zIy&}1u7rk0&?_Ja(9p02az#~Djs0U|{f$*sEr48AGdS=7a`TV@02CBaoaLh1^8f$< M07*qoM6N<$fn+a delta 354 zcmaFN_=#zPWIYQ51H)Fwr%^zPu{g-xiDBJ2nU_EgQ z0^-XbJ$du&X~}o3IjpYXj;ze8s;?A0_gS!5-z>K+cwpOk?G$UD@0F&g3)@v+{0{SA zEqkM%_$*|#=-n!jh!fKb6n0%MRw=us-y7op^6-KF>Q3fV_UkcT2e-y3v(JCAQE}Ex zMNz?M*Oi6r$16VdxV3sUZuYBgZsl34(RD9Yl9TCq+r2f(;oTW|c~1f!IJPl~F9`Tt yzVzaQqgT|t)=PzWY^iShUvk$>&>~XupZI})ELh8ow7}ta$pS_Nfy0S&_C8+wy}sZ2 zmIKF+6;^g&O7P(*XcL^dsj+Luz7F(g7av3Me6z%x3vsF N;OXk;vd$@?2>?GMOW^&kwQO56_`*twt2-iG>LF0qQgYG!QvYS)?X z*Zw_Ww4b|svFQR)zrYL3%jFVY@4fPR;k4iPzQkQIlbm+%MEc?t4NXuGc6wiUHrsWs`88BuC(mDdxt6{^{rJs{@dOY_{Ai1)|7ASzA4v%?qu+E^>bP0 Hl+XkKS8r+; diff --git a/data/themes/classic/record.png b/data/themes/classic/record.png index 9c478745bf822457bce68f9d82d07250832cb570..e6f550cbe8a085ab86b9844aea4a4cd226189b00 100644 GIT binary patch delta 399 zcmV;A0dW5A1gHa$BYy#JNklZ`%OY1cVgV-Q3kQ_;d zc}YroM5?L1oa*TKe}k{@|1JLhAPi=M#KP6o-nog3`x0$flD78urS9(kS9*G4#UQyv zZSCI{!ou+cy&0;a@^Ti?74w{(@nVpgAZ6vxf^2L$I1Tidmw)f8GdBJ|*~W$_3{q<) zCUyv@l^v^rfy&BP+e}UWcbJ(Gg+Xe)6ckF=ruoA0*ehLa#v(?o8=MafOYTadJU*R;+TUNF&NkxTd13_xdL`9E- zyo@v1_$Vm6%YRZ;C1@B(jhDRq7d9rQW^kn70#3jj5U8Z|8=s*dIglE8ZtlfEEv4XO zgAbSibAY$J{AZAtveCi}CD%PDHLkV1kghx?BJN delta 598 zcmV-c0;&C|1MUQnBYyw{b3#c}2nYxWdhje%$li3z1S{k)aFK{s)+vHBr^|!jqMi!*nLIo2Il3 z08EGu^ZiD<-#<9%b_a3)k+>f28^)emC>&QSm2yQg7hxpWL+4kLCtznw) z{tE6J#@=eNSbu-Hww8;aKNARn=Iw28VVbW#Th{SRu&V0?L({(Qtgn}6VUy_l>+9i% zo0}IuJnu_1KGnn0^77#`RV{mr!JEs4+0rz{91M;KAv;n^?*T|tsoflm^42jC+@$}VGxuqYWy6#yHtAeR!3m!#PHh<|VoR-^A}kn@hmd5I*%Bmgf6 zoXN4Nt>m0HTp<##&J_aoXmkm{j0JzX?m;IAY?0u>5K_Wq%sK1zngG7Vf+yYX;Fs&x z+MEaTP$4DSoCoKYRriJH12~Q5Vz1uwQmLjZ%InAJw34S3QBUQ#Op`I^+_LIdj&lLv zjg<2HTu%@HirMVeQ&m0E^7+m2(SXmnV~<9cXT4r?yt22G*jx|*2q9U7hjs(^N5e$e kv(xByBnJN_3x8mL13cdIU-U-QK>z>%07*qoM6N<$f*B7V1ONa4 diff --git a/data/themes/classic/record_accompany.png b/data/themes/classic/record_accompany.png index 005a1c18c82ae8c9051e0f5dbc498dfc37bd9b1c..7b21162e94ec6148b245e39d0da6a5618e5a4450 100644 GIT binary patch delta 611 zcmV-p0-XK32Kxk%BYy%yNklG&BB0|1RmqYLqiZd74NNJt9HvL~t%cjma5(Yk(koM}Fv>~g(C zFphaxRzYZ4R`RG(qrl;Cq?Z>DB4of=!+3SFM~~clLx;kn;eW$zFn*$Y_qGAQhdToYRtlC)al2DGuQ(hQ{| z&{Z{mxX%Ztdh~#cy?a;5*`7UNsH*-*2n}s&3pGtko-=0-R7Ssk{lHRH7~*!rk&YeV zSeGu9vb9yKynl`ymqeED47RptQOrO^`ALN{8Br9Id(*Y34J~LxSrDMJ zEW=W-7gqWG#SD;T6fRiRVrH6VUYo?kCphIwg)Z7yVA=fkl2ok-S>$#@UqXI`1_tiHO(`Qp zQDS0ZW@KdKGc_ve`Vd7)!v@vKu#OQGbs48i3AKeqqKJryXEYOg+C-VvG9h6h?fnN% zX>qwV!(2QZS)ptN#j+1}P*6}xc@ZTZ3lY2l?N~Mm7rj3rKM{=MniWoSQK78l`KlnQ x_{N1&dQ)an{w)iN6QN>k7zHfIpg~(=0|2VE2gQH-#U%g$002ovPDHLkV1i$79ccgn delta 805 zcmV+=1KRxi1iJ>1BYyw{b3#c}2nYxWdGtaZhX4fZf0wrYEBxsRhAt3Y=tMw2B>7kH+!GnTcdw=UeucasH!5%FA19}jl z7ScemMMx~9@!-LAjf;Uz%&t#nv(K;Ond!kz*@WF9C7B zLW~?ID5R9_VzKyBv)TOG7_)n{U~YW8@KHYhjcr*MrEQl0_Oh&*Y5jYn)4Bb}+qdmQ z;LOa7nw_03EPpRAM^O~r?}e{UOkBx(-uGWjO;sie1>3RSPiS9jHk8u8t*>wG#__dZ z8;ysDz=ef{0zkD|Wo2b03d8XJIon>G^8I`B)6-)I(9!H`%`dguZnf3A`DALiR=csbx_aHWETNJF&$b87?DNUVk$;^y{`REj{nbj6XQEQ6sQLN% zLcijAy-xM{b3V!CxHL945Z($yy;!d=J=xyA>SS3)r_ zm>V6%JpvEeww0IiEO5cmS`P#d;`=`S`SWaUZt}zH*PM1;KJ$Itp4m#v8U`vK1Rf+w z5;Cnx_kZ^ZlZ3q0bMJ_rngfSqQOQ;x%z#Uj$OFvgH(*?SB~v6UYJAC*0f9?KFJ_L{7f~r4;JjJ2Ne%xa|7_ApmU*Z{m1oEeMu?`XNv$ zMXS|H;y8X<5@LNkm;1^VV)(zXdKiW;lzNbAy?+Hfc6y;Gik?PMv;8QJ0S(}1V@v>W((^t&Qz(3w zm-4LJ?KU+gY^Uj~wIEpPcJ{~^Qv(pd2yp8t)Egm$3tRvyz)*KN0_wnHW6Zy&DvU7* jAs+mG(Eo`z?l0gUXpwDvzkb+m00000NkvXXu0mjfI#Q2B diff --git a/data/themes/classic/record_step_off.png b/data/themes/classic/record_step_off.png index 8da17a91009f9ee65a28f29d4e8d2ce3ea073eb0..0b2b9b1b29f546f1ce919bd76092a96f358e1892 100644 GIT binary patch delta 265 zcmV+k0rvj81DOJl8Gi%-001X|)rJ570N_bPK~#9!wUWCI0YMmr2`U8*ad`zgy+o(l zgh!E$=rwdYi9#!~4W7djh-kJ`h@fF+K9j6*8zPE5?R+!;`Oln4xH{&9D?Q~aUwXnl z=DuLUkz1Z5x5D{=$v)VUJ?k|9PPC{}Btd}&Qvl(-c)Ja4y?QJiIb*Ghn)%h&oBI4ir+O0x71hb{ZtcoE+;ww P000022mu4J zQKEMC>4ew`c2)tc?R1dAX-3V#VqAjr&oHWOJlKf8rW zE-Vb}z2~00_uG-?JRR5~=q)QvIQk_0>go#AkJQ!ba^b9ZshHN5vdriAyt z=bUTg67$}llQX>cXPM3t`2(N{>;N0UBCrnZ19zjOsZOo6)zp~HS}jNqN^!<+9REX#MU~g9yLjq zl3pb_NrU(;70;ScJC02TG6$L1OaS{nLc9hPfn}fuoFxDsnPC6PulF05!~a}ga}{6X W!Cx|U4_gla00000k|W8m zKk4cIe}#lz|7T$Mj}3$5Kx&9G?61Fn7epgr3{=}m&}DE9TwGuOM@1F?&&jd>Ur{0b zzrLRJe|fpo|Mc{r{|*kTVCq16aE2MOH$jHsvmDv`Si=+)*ncQqs;=e-YqYlB^q-ga z<9}AxU;kxg@Ba7jnEk(?zyw(>NH2zgpcq6}1o9r(Ku^yZ|CyQp;0sHTUJL_4$pS^8 ztLuDVxG{s|K&}ObrPKe2i1PoMnrG1s1nI?RAOg$F-~JyQ-10vw%kzI_r6@=p&=SV~ zzP=L)7>MvPPI%17_zxJnD?n<2hKr$lnQ){O73qM(Pe$hce-@VC|GBw8|F^Q*40R

    k~81JneNBYyw}VoOIv0RI4D0Akz7W61yj010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru;s^~89S10E+4=wg0pUqRK~y-)&6Lec8&MR+e`692Nwj6uGK2)tg&^2n zK_L*NAQ-4jAQXa-U2#BMhz%`4Xg1xnxal&qP)avlxMtAtKWMi)}N@Zf!L&*j{6-i4bUO23D*d|nHhW=^S8=9J^(c>tN7{vy%np%sh0 zk8E%MzH$}YFmy*%s{+z%IjUN<4MV>Yn4{}2`vF}5*7X;jlx@S%eWlVz079V#>GU&H z^(&Fc4~B;RV1HTToSx2ebd=@b;30rx7-@g0^r>ghTr^i!9(ytQm;PBkueI+7+MA$h z<_2oDu};S12X^i~~rqsL1m2t4jf$WOB#TCW_LMg@q3QQYhSU*(aIY zxgd%}qlc~vo11q@rAowNzwrBQLZNe-%`gCigXb>AyK{Tl#?vyZtC@bb>2K^rVwc(3 zcZ`mHCN&VKV%rfcE6&Nu1NQcwP_N(iH1>6Uy=xy1|7U#NsQ3$`99L@r8~-lFl^)&A?SSseagp;WP4Y2$EEW$SoMEK{vva|PqfEG*r=%S30gH4ZKw zCpGn2AYFsjsJM1>l&^10lBa8goIU*S(ip4}&=mWsOdygB%YQD?-)qsaH!7*sX$m0vv6l-d}8hb4}W4NPEo*+VHC3Xl%4J|n{D3|2!&SI<-W`mIq)uJ#qY>#b1UZte6GV;4+Wg_;L2{Z(XfFyti{QkTJP-@b7IUx#W P00000NkvXXu0mjfZbe0+ delta 941 zcmV;e15*6J1;PiABYyw{b3#c}2nYxWd$m(GYfGX0+=d${xDi4jOCJ!DW&y>xhb0>>MvU=cVt-V_L;%f=Q-Hb!t^EKCHU6k7U&4qDo8j}OYMv&=nklAGL{bMEJ!d(S!dC=p>R z#k8d~z`U74DOKWhx!>8Y>$O&^?p8`!l8MB8Vr_M1bv6FcN;Gmk=e}H5wmV&Y?ux3n zJl>94lSw0$N`I41rvVTVejOc&%=|X_WjM6dFCxZ6ffZFX1Ky{6&sXoNEm{l&GB-ws zW6?L5<6`g2uS>%LPt0t#^lj+xM|sDN;;!yzo~zFo23Ia! zm`WtpMu9UT^1XB+#j=FttXSsK+f7!N||(9UMaxZ z+G;%8bpWlZde_K%CqFe>S`UUaO&b9E0mnx49vlv5>4~nx$JUO%^qLeE+ph!1MdV*; zqm{Tyub9o|lm7<;DjS zwSTdxrN7PFxo0W3XiVR|ebX?EDPR~jspT9Xcg^m{zOg$?9JPBNcRNeV^}vGP7&`my z@1do@=fGtVxd0FOZ61)qhW*X;`<~cem`EnMcKPS{STsBc+y#d2AO46Q)|Hi4 zp0ilCrQ-2;EEZkjfRO#covBp-u}@O1TaS?83{1OT{*7`Xrd delta 169 zcmd1U#W+Eto`a2nfx$Z0{TGm8OY(MiVfYV%3-&Ib3>4uk@Q5sCVBozD!i-KDvnzmt z>?NMQuIvw3M0i*fFP8ik0SdW$x;TbdoK8-V2x}0We&jz8JidD31jqH$F2U-Lia8a- zC#5oS?|j(6vqDHs=g2L#VpX&2nMh>n$La3wj0zXqDg N;OXk;vd$@?2>^zkJAVKG diff --git a/data/themes/classic/round_square_wave_active.png b/data/themes/classic/round_square_wave_active.png index 0dfe2093ad23eeea618fbf881acb8ae549e695b4..a74444281e990081d917657b0caf3892764513ad 100644 GIT binary patch delta 400 zcmV;B0dM}O1gQg%BYy#KNkl^>0amBIs@g%ryCM&%om(S4u|lqe>rDuw{=t=6_f?e|I$O6b?PDE-$V> z@81wi%Xn6Kty@S$D!@`HAfxrgc6f$@si>I!jPS)EGw4nTqH$Z6%=x0xTbD;KSII2< z87rjE9kP9eF0S6Zd2{k>V_492!|Mh!0TGEqWIQ=211jjgZ_x7RT;H!s)yHaYnb-@; z$V5u2l%tr@^?%0D`1NO0)Epi;cH{&#K)@d%If{uD*K?-+xvcEoQfXa2zo$ST5Q^hH zCkgzh1P$-C0P@x4DIji5>f#XPZ%N=csJ>dw?9^|z4UoNXXozbzL6MP=6$9gE6w0n= ue*xc_WKXP`6kczB`;|Tn$>d1l006Hh_O*oseIft=00{s|MNUMnLSTYS8Nmbq delta 528 zcmV+r0`L8)1E>U$BYyw}VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-T@g7CMkbo&=>#!03CEiSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{Qr zNlj4iWF>9@00E3iL_t(2&yAALY7=1;#m}AjCQWFmDN?WvsDG<&`~z-;Ko@-kL3{$= zBEF4Vm*Q3gU04ti=|(J+B9>T9W-=y|^!x5T*F^$m;lkhc{x}>i2l#IUz+fet+<`wR}u(d|VXA%zN5QPoJbC97u@U+2J1eY6Go{LY3KLdNBJod6(wuD73uAJ6sx zcp(z$zmu6kTqvG7TvjS7?Ytbx&j zkOJ86w-3+5dp9x0c<)09rIeTCoMVhiDb6`#Y(p2(THDhCz?^ffh1q*=t)-NN5dZWb zc$IQ@&W$l@tyln_ukkTRZ4ijU@KvOxC1Ow-;v%I%uhEFvM1SnWj%vDe-AO@+kb)=h zQo3~0QAN+tUo)lcF5l?Sdyh|j;;p>q=g+fHUDvg@+l^(}wwuFuQrDOI7>C1KUDrr7rfC?aaXO{LFbFkClJ)v&v3LMs7(tDq@X{jj&93W&T9&2b z>{M0LG}ZS5&U?8Z1gLRgxO!YUj`OP?j~~h$N1^l;Dy39W=4i*^gisk{MN!BTp65Z` z@4cD)hnXx?{5VtsUPzW@ZQG){2X|v!3ZY`BIF7$2nx;Wo*5-EP1_y~-sFEaMo81qX gqLuz5)aUE?1{|B_MO#T^2mk;807*qoM6N<$g4OoC4gdfE delta 509 zcmVPx#32;bRa{vGf6951U69E94oEQKA00(qQ zO+^RT2^9hWGLt=Y&;S4c9dt!lbVF}#ZDnqB07G(RVRU6=Aa`kWXdqN*WgtgMO;GP- zC2jx!0e?wEK~yNujgm2L;$Ren$N%p@sL(p>1+0}IqTvP{0e@{ey3H|YI1DuvNE`vt zg~Uk46$&h}D8UlM_CN1!fvc_Z+WAJB(Hr2~=K+|{=KyZETdh{B*Xzw@)AxM=P$72*lK7g_;?}BH%AP9QBp67Y0S`>w<8e`Hl1>ghN?REh2Jb!qo`PLVa&1RFP z>C;n-be-qU`hR_0p-Gb5zP?CWW2`lKo-dcnxApqD(-GA$41*s*g&JexI0n=MTCJaD zSso65<2XL-KNV;^HeO%S; zB0>>SRf>`np>q;#qS0tnp#Z}07sb(0l>k)4IiVxPWpeyRTttVl)jPyH)}ELEZ!!np#y&(~wH1A&O%3@qdxTy@a<$Y2@)zWK~dP z8LFZ{A=Z1vlTof^xR^Pf~6h+IRd>yQ+_6IJr@x2u?h}2;DD4Prp_rW zEIze+aJD{^DPZNL#g+$8n1-z^&RZH|R{z4n{B?krSa)y?f%f)x*#J@Mni`BjR^}0;T=8*m5f++E6&6MDTWt0vKa(9LI<8=T+e%PJp{H9k6ZISW#X9 zQ4svVXpDKa%w}-u*|KbZ1u!39gq}lz@Oge=o`3(>jo$%9`MRg4GYkei{%~DC#I!7! zrpccJ2|JPqML16Iez3oncc6>kB9?%z8?XNS)6aS|x!f?^ra&HSm?S}1p@d}zA~p*N zWqP_hEJM$B02qlSpos1Z9e@4deDV2bRJg~-l2^oocyQDKf`|WCBJ2q9%g;YxW@^$k z^nV-|_>1s1SYT{yY=Bv8pNAf}&;Iq7U&3(ahZ{bTgtg! z00v{9hEr3cpHY>EUvu@9?2g-RW#i-H|BS!E;S#G1#njXkUVZ5~_SS1JvW11&Crr~A z0Pr+nts{Tk=SE>+#THsZeo)o4y>{DUPk*$uw8~Xg)hH`3gJs$n86Cms=qLvI`&j2+ zf5J5M?-v(lKcUJO0X##jZxU|M!Ie^z$^8>*;)GN>Q?F`?O3!tRgMSP2mT64txuwxu zcIoFZxP$nZm<+@7atTD5Xd@0I&Ll1-E+H-?jwSXZ>cU|a;@mi{Nc0~$#8~A7ju%z+ Y-%>be5p_JnzW@LL07*qoM6N<$g0!Of(*OVf delta 1224 zcmV;(1ULJ#2-^veBYyw{b3#c}2nYxWd1q<2ZHTe%hV0JFnRD@BX0~Z#vYWCb2Yw85=JNggzH`p+oFUd)w5#>$=Ef zv&f_~N%!l7kbfOrXsZK)J4A2}M+j)8lI~rTY^wuYI1rA2BLoC*Ew}apI08Zl2*JSx z+kXHdI0TO&4#WW(XV0V9e*iAPIfvj3j2*xypqxYS!~q6Mo4>xz4sbBW!59Oh2LQkr zYXoH!WWNC@C7_IgQ3^&VDA{KK(8PKILI|*P1#YxGm4D*N$w_*5eefA6kv38l>3TZ&E|6NoI2Ud&!0b+8R$QbTrSHgB`ISJLZwivdAL(5 z4c?so>3{vDGmv@DNh23)giZI0qpFN^4ka;W`4R z2T!55x7WS<*9z*s4-3Fr3$(D=`CovcC!cz^Q0Tt&=EOugpFaX2I9x}>03ymw0xJI2 zh)wS*bRkvuQTIGpYhkQu3b1V!^bHK0qlCUaF@Nz^`cOv>JYL_0Bj7p?QmzBed85cA z*;;F1O(bee6xKWj00kR6`^>YfP$+=2xU4dUWTWA@4hSI)(L~G`18oe9HV^gf8Gv&( zcIJs8(I_aCf-(w9DF`J{Nxz{+BbiX1ru@nOHoOAp$Ak2NFRbA!7&`Mj)Yj5K3v3 z?i8i()rtUC_5>iP`Jy=YyS_R7qcz4tYkvc!6l5482p%{P$PhBz3K2UJD$LIOihurI zGrm_Z0+_SA{QYbLD3{AiN~#OjKKvm3ZFV*mR|tYAd%pn@JR%;&d~pubH?D`3`|H<~ zQuhEX@8$s639is{>=nVqXCoscc=hsYJfF`;15s;)p@Nh$h6>>O0ajO6as9h*)PF+p zHmcQsKlSUiIRKwnYs-%X004&%cb{=n{3FM8UwZC^7cn?^n)medB45Zu1|e3;D=3%C zSX%s3&ClIN;CsJpRPTSUl-dCBIe>-T>~9JH0ECc?lTMGNoYX`no9lPnRJS#zGrm}n zfxqU}H_P?f=1eSH1aJeuS~KyM06}610w4q6c>sL?@&Jw?S_J9<*5kMZ;2r?mig?Qa mkANi0J&(iRa!bp?N&62O%XjfNQ+#~@00008- diff --git a/data/themes/classic/sample_track.png b/data/themes/classic/sample_track.png index d459e7fa51852dd4cc706fbadc4e382f348804a1..9c2c9f67ecf28add4fea9092cfe10af5574205b2 100644 GIT binary patch delta 523 zcmV+m0`&cu1)~IzBYy$vNkl2E^+~&VzYI zSErOpB3jjGAqfE^V}dvU!X^>wmI3ACG+HP$7Md&+O(X;nG=EbE2u;*N0yJF%{lloE zh724y(9C2q-2t@Y^R**Kj(mn{AVCNL5Na0^kr*~^@ZrN-L+t~%d5ecQX&dMgig>oeD=9-^vVH{ z)-L>@xtpRTU4JJU<2sl|AqyjG!pK;Ng9vdL0gyO%kMWf`mzvZ)ZlPwX~2Vd?Es)y2-6lL|%wUwK7&D5ubw?uwx$p{kMe_CfmgJ zCr+BA;GdKzaD0Sbpsr(|2_i*l*9Z6W%l9V$_%&9WzJH?zZOHU4EfNcRmN2M7+%?sz z$Pd7i0$lu0ke&ufB)uf| z-q|;w-+6r4_x)D@PVxUI>r@Ykr~qIL)0@%15r5+@bCUmco4sOx0TPw>FSx-W4*&oF N07*qoLrX}b3JON)zXW|-TwxPQbb9NhzOuZ0t_n=Jzjqt3aA1_7)OX25fBlAID|po zAq@qBFhGV74}ZKib8~ZXk|ZaAMv^4&+U@pEPf$=w4K*A9iim10p1Z+Rc&~EiXhWJu zLSK*K?EQ9rcKPDAOeY<$L=A%t0GF1QlGc@l$L{L%LU^q?QE7}5#u46oOrgPk%WXU?rmLW-#O(=o^Z!sLQl! zu?ho%Fdzs+1Sp-Ov<_z-rQ6%B!w-?{GZarQB8Ujyd#vu6nM`8}gVh$REzVeMVWDet z_Kl{`P_%of9(_(rSK^GtWSSz)(OH4XG&a}0;}?eNldavIZ$DlDdB4=YKFpqgK7s(H-Uq_hsJEhaC}X#sDy%VcGe1djudBYy!_Nkl@?&0a><>T!I18!kHx)c4l9|m!}3Nk8ji;Ro}DK$j}hJW^E>Y283T~54beMC06 zv%U^gDYAhoH8wN?0b@fT(6cd-YqICO=?g?ahC-Dc+p_?r0+>>LeSJLxeQirar4%!% zHangZUQ!))K(>yRp+cSw>vMmFJPW8&U|48b=u0)&aNO_#BB?rSAXi6QS65p{F2{=X zslQx~8C0okrf!*dt2Ng#5AkMe`9xDSGaXGBkjXLwnkth8GnM6uANzG5@oEbdBTY3_ zAQNZAam5=*LX}D;8%jm#E9$E$t0*ah0feEVtfZ)`Difd!B%w+bhyYNfk;DN2kv6c( Te!8o500000NkvXXu0mjfN^_)! delta 516 zcmV+f0{i`s1DynrBYyw}VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-T@g7CjcbMc{Kn403CEiSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{Qr zNlj4iWF>9@00DtXL_t(2&yAA1P8(4WhW|O|tnJ-(5(DBQLVuGqkw_aMSwI04v~;2O zWAFw%2SP#=lt@UFsY4UeM061am-Sxlwa?6?SO-xu<>=F={~rzT<{ z>1LEk1uQrK;#mnGRRPC#xEDQqe-B{sEHh)xHbN21vU*`9aA-zfgYoB1wj0k~q@6$G z=yqCsiR%|Z4lgD?LsVNu$zjQ3Teex(K04#vzG>Wd%@JCL?R7F))Au0+L zdYX1_%HXzITUvDh+SdsHeJy*LT-?pHIkf}O@Au#GF8=_+M$sq`8Oxyn0000|Vz-%tMIoXa`)-q%{6ABZS%!hmy5z!;NKsSm~*}lM3gZ` zYwe!OtJF7*SMTreI6?@|)=DW#sXe8XGR7`Kd=-lX($drC&VQW?V1W!YECj+R{4Qlv z8aMYUDtGlNv4f_n>;+P~NYv}}6lnv3b^)lO9%7F%C!PNcpK<A z_%IPX&kKS8*Z)jY-}l#by2M6*Axx~}s)KaL~IGJzU~aWig?<5K$7 zw%s_6ZPy{Yj((e@>Avr2k_eO#V%v80u70`RRfVIj6QYwSj)BHeB+!tBP16j+0QY?# zl~q+!H4V-}wrv|@p+K?bvMfbWptSO#DERq+<03kwTNODii&D;pbIdwY9-fB(S1z_75e z$jHd3=;+wk*o1_Hl$7N9l$4aT^z@93jLgg|2+YpO$;r;n$<4{l%gf8n&Cky-Dk>}~ zDXFZitgf!E0fO3^x_Th2Yiw+6YHDh3ZfKIWeB#83Q>RXy zK6B>s<;yp2+_-u3=B-<|o<4p0?Af#D&!4||@#6LC*Kgju`I7%A2N*;%JzX3_IAlW) z9_%|9Aky&g{}sU{GX!*Wx|U8=|M1V>(QVa6#U)Z9?=8!x9sYh$Jn?pRHd95$yq!Xe zW^?b@y)fijW@kgmm)0WfRAI)FuZzW}+)~|`XC-gb&bZWbkLTu|KU@1W8bg=d#Wzp$P!vsoC}b diff --git a/data/themes/classic/sbarrow_down.png b/data/themes/classic/sbarrow_down.png index 56fa504c143dc37f7762f749bbe1ed5796aa757a..38c681f03b2a9915cd989ca8007d039bc16835b3 100644 GIT binary patch delta 86 zcmX@am^nc*fQ5m9K|SqV9*{Edba4!+xTShHkc&Y;fZ^iF#%Eo3PF!5#vG3ZnaQ^m( qXPIX|JjvUAdn$KAY1Gd*4E*V=f?Hop+|35+W$<+Mb6Mw<&;$T@c_Fv} delta 176 zcmc~i#5h5+o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~p?k1ny9iLo-_yl0gyXvDv5kUF4h*gbZ6(gkQQWOp=QB|)B#HZ4 zL2L|*aSB_~f}Brro|_VnNt?f64zr(Me|=Jl)`3Q0*6$m?*IkQJ*QwZYEl$sK-t~IM YiXy?3cSk%o1I=deboFyt=akR{0D)~fCjbBd diff --git a/data/themes/classic/sbarrow_down_d.png b/data/themes/classic/sbarrow_down_d.png index f8c54f32f5022ced37d7daf7cfc0af167d3fa6c8..899fb1526569189f47fbc1f3d8903b180f613a4a 100644 GIT binary patch delta 85 zcmdnXm@z@ppM`;eK|SqV9+1-aba4!+xW#&qk(WV%gW=%v3&$1OV+$5ZFWh^$sHU&= oWreKp;cqwC5_b7A9AN#x*m{}UrTzH@b)Z%TPgg&ebxsLQ0O|lAKmY&$ delta 171 zcmd1U%Q!)@o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~XPkRi_ajiq%hSa%gyXvDF>ApF0}+OUtsxp7?JdhW^-nBHDwrV0 z80c{DgC@uIH>HAx$p>0n79W51Iy28!Y|f6^s@|)%p0ZT$iSX9ky}x6|zk0?wT|z3F T*SFaKjb-q3^>bP0l+XkKo`5*N diff --git a/data/themes/classic/sbarrow_left.png b/data/themes/classic/sbarrow_left.png index d50031e30b0bed5015c5de47e0b14de2554df6b9..38bd05d0a42ca4148bc6007f2ad52a3a523ae24b 100644 GIT binary patch delta 77 zcmX@am@q-oorQscK|SqV9*FXEaSW-rmCV3stG1VI?{@{az4yZR{;&Ek`SqHyg`okn fqVOb*Nl^?@&v=WERa(3NYGLqn^>bP0l+XkK@?9GR delta 176 zcmYc|#5h5+o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~VS4F_z7tT$-_yl0gyXvInT5QE19%uNeoqci<*wk?W)>-3xamMk z+0;d6E)?!@J!${)M5DA?=+*~Es?QWWJixYil~&#!fy=79e$SrCZ?jQ}Y1i-RGw1KT Z|6g65mqGaQUu~e-44$rjF6*2UngDl&J}3YH diff --git a/data/themes/classic/sbarrow_left_d.png b/data/themes/classic/sbarrow_left_d.png index fe246df0523bcd45a959e067b31ae6dd3104555a..7496655f1baa9c48e686d6b98644a973e949fb90 100644 GIT binary patch delta 76 zcmX@e7(YSMjfH`MK|SqV9*|P=ba4!+xRuPnXzONczBf&Q*<gTe~DWM4fuCp3n delta 175 zcmaz)$T&f=o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~r#h2!#sZ*_pQnps2*-8ZGaGpiG4QZne6DgPp_5N@tGS2c#4`t% zoH@Y6^Fa5~5AW-9{Or%H(kgh=At-*Y!Xe};yQcLt#cS{Wr9NxBKIJsm-M{D0yuV|g Zf94JM#~TeV7XpoD@O1TaS?83{1ORI6K{EgV diff --git a/data/themes/classic/sbarrow_right.png b/data/themes/classic/sbarrow_right.png index 2112ec1da82785cc72f33633d77881830503e1d3..28e65ab8ca5f7e02f3a6f6b90f6efcdc83f0e6d3 100644 GIT binary patch delta 77 zcmX@cm@q-oorQscK|SqV9*FXEaSW-rm3*Ok{q+UMk1#M*{crrRI?lG^XYl*o_r&-1 fSG}I-DwxIi^M&Bnj!K~gKrIZOu6{1-oD!M)^mS#w%gw=~p|T@{e*;h`*we)^gyXvI;fbdU*Nd4At-o4*x%DOL fi_ipD!7N6nwcIYEb~fLDIv6}%{an^LB{Ts5?@1b! delta 179 zcmaz)$~Zx?o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~&$vg>*8nIKq@J3FiKmpbR2Y<7LZAcJY&vH21XM@Js zEzP87+c@^AYeJn8X)N6&k!%j4PODjr(>W<2GxrST#D|tq7kD$i onOw~HzD+u6?moZl9R>w|oxOSP{1eD#0%~ROboFyt=akR{0K4`b`~Uy| delta 174 zcmc~ez&Js&o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~AlFz;ka&kdLw6x0|V>D?Of^{>}j`;>c8l^IBCtp zQ#U;ho_V4dsV>FV<~Ql@$Bpg0^P^s0iTXWFMT1%IPrwJc4N32=_iRgTe~DWM4fs)#)A diff --git a/data/themes/classic/sbarrow_up_d.png b/data/themes/classic/sbarrow_up_d.png index f80d6b39baec84acc43ff82c8751337864646b28..2fd977ffe877e5bc47d73074288e565c9a7724aa 100644 GIT binary patch delta 85 zcmdnZm@z@ppM`;eK|SqV9+1-aba4!+xW#&qk(WV%gW=%v3&$1OV+$5ZFWk#~fR$lJ op0Ghqe{OqtHGN+hA1>f_3BM8057f%w>FVdQ&MBb@0G@jtbpQYW delta 169 zcmd1U%{W1_o{fQlp*LUcDUf1I@^*J&*v_EM;3IJD^g*BqXMsm#F#`j)FbFd;%$g$s z6l5>)^mS#w%gw=~FK}&P?jfL%ho_5U2*-8PGlqf<1|lpMr!z=BdURevA@xEdAIk$F z#z4li>9g@hX?LOML(b8-`UY5t*pZSO`CuNkau8{sNg zJ6PMsZ`mqxw1x#?R^P+f$|Jthy_DMrc=$=*o3f~j4&?KEC~ zre;bVs!L_inN!x!c8cY)Z4-QctbFhimwbCQvU^WnrtT(4b&`qpRsMx`-}@=USSrCDfaW4%Nkg``|s8 zqfKIuhQt-Vm!gGl&DIPR$#z#*qSpNjwk`>+VcN;N?}Ru5DOiZ*)d(0}a@{Aw>$jwF zW2Z5Zr4kKf!GDD!QbJ6AcWCjK^0JvW(MH$Vum+wqaii-|D8oqB8F;lN$5rlrbN)M_ zIsF(w6Sb13X4)GyNk^UbJ94a_^}@L*4(bV0vM?NlO&kmo1lDQXT8poTJ+v6Wb+n(F zV&U5O+|W_CuKzLP^u(>VY5c)oG>7KWoB_v;*E98Du766dWFwS63&D&s}qClGSzx1UMG@2&TR9Ztyb#c;r zq6WH}&VQi;X$Tcakc*=p!)s=*={a>!Uv}4a_{o+NKm==_`*~yCk{u7n$+wV?*Zs67 zzV~PssZ8jvhkSK0LQ@JJtBfsLn6k?TnDnaPBe^+^9qyyX+`#rzJ*5=dcMR9NgfGY4 z&qcgJ<+zq|cr_<)x)Y3#1$WWDT=$e8TE4IX8h=7oh(4o0t)#X`QWO5$Bk_G*EF7W^ zhvo>{;&sT`(@J2+Vz@sZukz@=s%`s&Lks9;I-d@skyIu@H*wTV&(NFHmx{TKN}g(IckTpK w6)Q)*X#`ECnKV0^Mbl^u4aj}#e@74i0EK-P+WzF|EC2ui07*qoM6N<$f|WX#6#xJL delta 915 zcmV;E18n@r2B-&+BYyw}VoOIv0RI600RN!9r;`8x010qNS#tmY1u*~s1u+4)?I= zma7A{&rURU9)ElTU=Pp$x`P7S5CS0&0KWl8fF6(mf)8^c3jh%?4BT@AN?{0q_W+Y7 zvXiB@1d!O`d%hS4F<{*QYz62ooxeVx_wrqPZy!LML24GU1~CE<=4XEp;Mbzm15ejs zSu_hIz^FKLK}3>A%IcGM{eIvoa0OU!>#!Udee?MRSAVai7(uK7BiO`&z}2t+IGJ~{ z?}1g-+H1`2YFq8c*o;hU^DiHLk9ceYCb5{i&ITQNcPuw@gbvDJ%hk4*>rGhc#9i zfT`KJJb%xt<2yiGLA{z6*3+2K^CaWLTkTMEoXXZsw~mC|2hmm7(mMrxP|@{?mbCu7 zaqRx3#hHn7?<3A)B2yS>1>+3oroTZ~l9vq2n5_*=1E?#5nif0-Y*QVx%ETD>09epy zT?X!`wxPWYlyQ&_?^L~5s2{57k_6K+VeL*Q|C(^yK2}S?e~xAIkcl0 z_WU$MzM5fTS41nenA8z`Alf*@ck*EdybIg|Rw{-qRaW$fqYl6gC!F4XFau5iss787 z@!{#cR}P?zR)AXyUb645HSHmAfKbFI1Af#&Js{Y6G@U=3Bii3q;JjiUj{^gt>%*3J zc7G+n2{A$$uk_hQ2*tcu&kgApt-ip^f8CzCcJln(?$6&YjEgKrqlFRqedIGQ}R!>H8mwQH8mAd4%UdUx+P?`Fez^^ lacZ2%6!%*~W`PL|8-G$*l!z+fpN=?tU07WZ@Q=xnp=na}b3Jg1?rq8gCU{p-BA`u|RUN7uDBQPu6**O<95K$YbxcUHw^&(ju9 z-TrdN&ljaLi{CG~Y3cFq-@VeAwgvyLeSg12XdP3mqgBId$MULjwFL2qsrTl(bVpUr g>@(NbQ2NAJw^C=7`AeIvKo>K3y85}Sb4q9e0NA-}DF6Tf diff --git a/data/themes/classic/setup_audio.png b/data/themes/classic/setup_audio.png index c928c72ef7c18caabff27440ff70361696ebb46f..204c855ea29c208efd907548467049b53e6c1afc 100644 GIT binary patch delta 3148 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 AE&u=k diff --git a/data/themes/classic/setup_directories.png b/data/themes/classic/setup_directories.png index 82a467fbd2e697407529a5323cd49a7554dd2da6..5aa4b06615071f80a1a52f61de63713c48762f70 100644 GIT binary patch delta 1823 zcmV+)2jKYY60Hu9BYy_;Nkl#&w#reX`8e)lCbL1CDI znL%#y%fRIE-uK;i&$;JZJ{XK)$>Z&wXvM$y!4Mn}Z?!pAynm``QN*$a0|NukAts)e z92pbeaPsqfI)3I$va@&iV+e_#v~qD|w1kQ8Voh?o%*@Op`n?x#VZnAl7BmQ?quM5r?;;)=kWvqL82-qR1v;@^NVr$c#VrEqG1mnJSeEGttFXE z#?jEwKqVz5uOB{q*al*{bgom7Nb@J&z?Q|sl2?rgRSwN zz|tb2D1U_ZW#`g?!zTue_e`In(W6K6)gr#2pun%NuuvwENT|NPzDE+*B++LFjxYmi zf!)jA!RZbjKX#yLQ>Un?sJODSlIrT}dL<<_m9qBd(4K=w)W-JRSu}}na|tqr_1nOU z7cbTn7Z=M|-dDudt=nkF?md*XFGsDcP1(?n0)OyWzr;hhA+k;@oBitQYK3HEX41y3 zJ1Jw&LAA3aGP=26`vVN*m6esfVg~vmJ3E__*KeZTS^G7@oVoMM(K~plBHj+-|3>B^ zWys6RqlBas`Xpno#+c^p_Dtz|3F5D@w24nr2C-O7>ryw+j$K(AWAnCM#OK@IfV`0k z#eY{+RQLlK3N-2q1UW5>ilUVXNwjTehNeMKr*}@6F!7?Iw5eNFRaJq4j1a&IdHnb> ziGo8Yacv51*}h9_M8}Hd=9ZQ{_YXBSHE9S+8Jk%}u$pIKfPmJfrnBs$brviXNK8%5 z!n%pa%$s6Uk}`qVd3)vR)vNUJ0)I+L+kZ&uo3;%KX&bhXg~fzh-8MOh{{m~j{rU6f zq=?wqI7&_5%x*GhI5;}h=;-LMH!z$N-`w0h4V9*x2}ISY5V1I(lG8R&%KD9if`_M< zbkwL(iQVcXRFr=ra66woc|v`$dUYbLUXx7gQqr}K-`x4_dV2bMAlc;q<%32z{)hD^>ep9dtcqftXDQQ;CHO z1IWo~8bvOP9tgOP;EjQSA%8m~bpXTrb(C*xY;wWQ&aO&TBku0*gt)<*i0l`vG&eFb zx~Cvrsx)}G+1K{=_BBC4LZwYio;;aCL&ItD;s}*se=}~}_!2zVmrIvw9Ft5;Oun(V zcTmcRKoCe%rc9ym@I^`!78Z_NZ^6=K5SK1BG;EMszjbtUtQ87H3V%)b`T3EHiz{X| zOey$$Ybi?OI6On23tA12DKPT=)TvGq7*P-p9yDv#>^|QZa(z3_K)2(*W}J9!jgccq zI$~*ELgtZ(M8Q3Zb8v7Ve}Dg8#d~;o{)=3H3b*4c5U+6~&M

    +1a__Z6oY=TU%R} zV&4((>+Aalx&BAoVt*=^aRz%}%Xfv5pIuyBx*1{1%*Mus0s;hG-*ImR`wcsJb_Y7( z{TVRg0VBVf17j1P=lv$C4hq^qm@6kkOGLoR5C*l-2IH5jqx{{#8crGP>8?|T3M N002ovPDHLkV1i8&n9KkG delta 2401 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 literal 3673 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 diff --git a/data/themes/classic/setup_midi.png b/data/themes/classic/setup_midi.png index 80cb45e01dbb79927fb5d4dd23d21e4a8f66a3da..06b7729586ae53b35022a8d19080a5b677354d5e 100644 GIT binary patch delta 1546 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 i8XE#?jST^{#=il&0AxHd$EAq?00003 diff --git a/data/themes/classic/setup_performance.png b/data/themes/classic/setup_performance.png index 6233e742e4aa7619e14a09baf87e59794195110b..abbd81d87819882751cc9109205db6c71ed3360d 100644 GIT binary patch delta 1465 zcmV;q1xEVi4$2FVBYy>vNkl-#-Tzb<3S{|N{R875Ci-6>B@-K9uM+pS1U->Xc? z*sDs;*sn^>+OJN{KA=v`I;cs@KBP|1IjqgdJ)+6XJF3md*MDm>^9|a}JfnMnXdO&d zmW}>a(Uodm>38%Z>T9CUUnI3j>*v-^PAy?B8?(1}^ztfhFn!_Y{!j!<{8f=A^HzQF z5K5N8RQ`bZBMggN*8j+PG(dL|^*2F8{z#(7zLUs5DD*5$6AoCg(cdDpp#0f^P#QA; zLqz_BM0jzf2Y+RFyz(%QC1C#8+S+3|&~lT#}gZwIg!fqz0hyw6S@8V02aOp#xcXt8+x zSH4KP0$+UqyV0g*9vBWq3A6|;(f7b<6c`eI4u(dO>z>Wx?=T* zJS(e8WVygLQ9a#iTN4PeBrt;e4%73OsO>MnUO`ttQ!jjX_z9TOb`kBrtY={ ze-f*VFkOVXFDqVbNu?{}pd1ZTgn1_Dv(SJ4Nq-~^iMR}Nr2ss@d~tU3%xXG*#;5Vd zi->}V{I0}M-36pc&bSRzl>k1^testBn96~j z)u&3cDkwSqlr}N#q$VNxm?kdKC=L!i*>L!{_e_yrlPK=cD%Ymd%k28i9;MW%cR#U8joWb*tKEn#U-^oQx9=4g?!tC|pMr)h?$3a- znCTd%1a&`J7iU3n0+E$KlzBHYw49IEAa{tw&}ZM?bq2*nm|i1&qDw8 zyS@t)s>3ieloL0ww@|!0sie~Fq>_qv2rWiVc+Hd`XJOPH0}=;?;uraNY7dCj*Z?Ym zm6cVMMgxYwC1--1g^94}Q^&^R4S%d`z!Kn8EC`aI;3YGUo?I3M)WQN=M$e(aI!|*PA}X%y?fJ3 zW6sBw&rgcaD|+K26iuU-#xkWM0-1cXKqA{nFO5r0T--eR!GB?;u{?<-SIYkghC0g2 TrRbdR00000NkvXXu0mjfBQMeH delta 1879 zcmV-d2dMbU3*`=wBYyw{b3#c}2nYxWd|$+e+1rR;^=Q7`0X0 zDz0_I1;koK1d9+^E4v{vq6mcK-Tuhp3xq=6i}=l4l6%R#`+e`6bI-Yl7-O&(h)DD^ zY~@4t65tm(bY1se?$IC+5fKOB1)Q9mMuv?U?{Af) zX^~lcn2~q+{PV(F*Y`uOzXCufWPi~D`pSbp41RrV&$j%ZVEofUM7>&tw508Ko>W%u z2Jl$uX(-BthzK4&(xF|ub+dFIYlAG^>BM&{N~;w2zX6~S;yNaXwLqZ%(ANUYZ`p*l z=ol@LzJGtGrYt9OBY?jcW1JWQq6A2T!xl!yPIhnQK0M!Nu+&yl{6L?5`uN2L!;$%1 z%>IB#0dC$tqk8soHP2g;HNA1ux=yRbsl?R^Wl3QofHHej0fJ+Ii2C{jg$}gl??7wc z2Y|DieyAzGe{U6lyJGyF55X4bKVabe=qc}b5`XW6X%htGr(JF+xRG{1uhpi)hEkzD z2o~V(?H$|OTWXlJ6TtPF$GEg}YnHmA>{kG4z_M}`V+=t8h^WW7IrD=%lDq&Q`~0b= z-FrGahrJoQjR5eE9d$*S6A{f|j6D>>MUa5rQt7nlNmHc%S0XS1$S7j;%(*Ua%$z%z z0e|3(LCpYE7ASOwS1i5+pa&6ArOUeXz|&_V4V09G=vDQ2FjRrurErP<2Tq7@L4 z%xpe|h{&Ojk8fDJnU^o3#k#Jk5eE_$6;vtm;sIoJY9@B|=rD}930?1&D>22k}hs^?d`}@ud8Gk;?v7-UZ2Lo_&lwRQhi zTiRkhB7!V5{HR;M{(&6F7-M=pIF2>cKkE`R=Yycgm`P41qKp@;rg81yKF#I5JGRs* zm74)5?UBoDvH)WYMD*Unyj*t}PD2g=CkqQt42m8ZNgyyVt0i>)^{Wl(2lu7aDSwr_ z0My#6nP9UEF~)R6q~t9*`pARFIJ>$T`SO^P!4fq^1-cWPeoR+YJWK@euf56$K;SXT z-`~q$z944SydcYD{6fStwF8x0o<`Sc|hcite1z!=zn2xQzNY1yucWe5*AmKWM{4dkO6=rONiwTK%@ow z50Eb%Hfgf6$zk}(i#P`PkSJ#_dC*TyO^xgII;~Ex=k$!z>+&+vp{cGMMnoF1MiDH4 zh`gpQ_%zBv;$Zdv5{U${a~HT8j!tX1?iH2YSvXF?Cv43;sc~Kk5 zi(kw!7+fp!-0Aw8DTfa}QP%7SpnhdHG9v0G4U~^}adorseT(1l)(Ajx_Fe6ToxfbH ztti_J!*%l2-N-y;{vXH9nICBNGT)-5NB~ro73@gj>ddN=!qpJjMrpOBkY{-fkf#O> zi4HV4iUEU0k8_QRiE}ZP5r3RfKz&^uwk}$Dzc?prA%GiV+bAs|$O6@+#Z#(FiwBtI zj*gClgQJJ<;)eqPXl`!Cu4SK<7UyIw25{5f^In(3K-5PVQ+wPK{so zu1=^b%)GM0{rW764xF^Xk#$r+=S6v%5~CNe1xbB~%b*h!)UKCYu)$HLR(m0#3QURhaLRaFHfD=I2V zOH1?e@_-5=BO{rBO24!IxuN%EukV}P-mkA}fBeSs8wmdX{rd+DAPk@~kkTg-UoY5v zkvqX8f1L5O`TN`aZ{ESchYueJq%s&N7^sL= znz3E;1|lFsQC|(JQ~?{1(@~a)&;=qO1IUFcjU)~L02F8{tZp<^XQ%)G002ovPDHLk FV1l*dy@mh) delta 552 zcmV+@0@wYt1Hc53BYyw}VoOIv00000008+zyMF)x010qNS#tmY3ljhU3ljkVnw%H_ z000McNliru-T@g7C>tp^tQG(O03CEiSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{Qr zNlj4iWF>9@00E>)L_t(2&yCW}Y7=1;2H^M1&o`N9!0@ z+McYd@B3@xR#bUJq^hdQ%vDttMNyVz0KkUsbSFQ2WQn}{Z##Dmu9`U!k%%xeGdt%1 z1OUFT6$cM#<9}V~f!;ru_~-M%*k7EgYST2j-S4di0M2*K;Ca^U6@YfTD`$_d@W)waf4)egszlW9t$F~c(bh>#vj&-qPAdS# zEx(G{2|MTNmSj5t03X2mB#DkJSttqpW~g2~S&5Eq^na}pAio=aeKy#79eM!by_}}b zsT0SP*XC0RpuBDBHe8HyGg2Q*HBD1hRZ&q@QEw`6nmz5B<9XflevNv`%gM&L698c5 zOSNPiezrij*fvB2Ao@@&)g(z20#?C7R?2Fxl-X`tZMLqx_!+;M-Rxh#tjb>)@v95} q%mOfnr6K0LY->0i{_9P)m-`Qe^XQ~N%*ti}0000<(Qa z2rV+aK@g-sZzc@^QVXDSG(jC_^_q56=>0; zM~{Hqw6wI?xVYHZ*yxz(u&{7{e}AabckkZy_V(F3*gH7b_w@AKx^*ifBg4eh6wnA6 zrX5SbNio(ge;D_27xOiuqpa8nx^0 z*^$be>zPp0XdivTXl>ih^ITOIiZD%2QNth<2wM)gJH|LZ_+wXw0a zwXt`wcW|)x_xBGA3kQP8$jIoJ=vW|#i;Is>0K%li#FUiel$4aTw6u(jjGUaDs;a8m z+S;b3rj}L^Xaj-v_O`YTAm{{wj;^k*?(XiMo}S)bAOeEEzP|p6lO|4|K7G!dISUsq zT)cSkk|j%4ty;Bu&FXdQ)@|6ZVbi8fn>TOXzJ2@t{re9dJb38P;Uh(}qzy?g)u{f7@9-gSQ|0EW>bPZ!4!4%yIy zzFAC;0u2|}*E_uRG+_x5U==TJ$SL~YouX{0;W#(*xJ1dWRhxR>A7noM+nejC!_p^e zLaR3Jz9V8RtfZMbzpifLzjZE)@@m&E-#s&;}0`mcoB!9X|L_t(|0b>|}z`)S(qlLBI6Lbs`XJTUd$i>C=1R3k<>V8&K zRQ$}#%liZwgVcfz1Zj>=E&Pv;O)acGFf%iM5D*afkBnVhT)vo@nSIvN)BBH%ftGy$ z8dr+XK#+|fMgNg7$iT10#>SsCH8uYuV-5}ukotVEmqD%p8BlM%iQR0Ih004H|UZF@5 R@$>)y002ovPDHLkV1oWEWR(B_ delta 314 zcmV-A0mc6F0o4MKB!2{RLP=Bz2nYy#2xN!=000SaNLh0L01e3i01e3jueHZa0000P zbVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$Q(n&-?R5*?8l)VbVKoEpy zHN=Z>Sf;Q{XQlXTKBT4ENgg1@60T2LzR}_U} z=Aki$MdZqzb2B3VAQ1r(tpKGNklztU2m%8>KO%TR9;^5=U`UwWdZ!kwyg@z zxeh5sQK6^`5+4>GTtEnpxrG?9848wInzCHUuc<+*@>KIx!+$VdxZ|$7f=$h>YGF~a zpVW07IF9RMJ9JG@jQ?!=*A#6T9Wo@~sq^v$e(CH9Yie?0Wprlx4Cj0rK$y6oAVp)Y~O^BBa?rhiGkiOoIJ8GGBP}{z;&D+0Go)5 zghj}*N|ly2RDT7twXa@!`PJ--igGZ<5R1jIXyJTkXlRJ5ss>e6{A$n)8vb2+Lgy4iAkYoU=d-tFJ{5Rt#Km7?9i!XR^|2|y2 zc%f@(pl=M=wlxf3F@NDjj)YPT6cpq?@W(&>DJx)_ zesb4UaXA#SBa@RSrza=&0oXw>T%80FBgPWR(;6VBzyH;*eht$wz%;Mi43=$EmH7mK zvqX2&B3Ew&a~QC5%FD{2>pB=`WI%=Mx`J^L1rQ;GYj1(6YtHEGa4gd`qP|_9zf`P7ZIQ-+viVAQ|m3^U9r7GkB z$jW#HT!-yDbLK2K=l=eyWTLsbSud}sYzB}+C>b>ni^g{C-m^Cr?`W>yWd8E!KO!e5 zucNKwr?<)fzmZD5ql$`(oWhdwu6N#fr|9QD`+pe}!0&K}j~v4{i`hFf(_VBK~MeX?Zs19KuJSr>oPMo}N4npl?nCbTIu4 zn%I+_n-@BV;htoqYm{!#R!pZ;9+7f&Q1n175!BGIgC zE@7}N3!@{$2wglcc5T_g$V4o81i|?g#KcB8W7)nwL|m z7S}XA;<|4C)Wq11SZwB!Z0)-U7gCBONVF2|L?aQnK@Xvvh!Fk6exfV&p+reBqDpS0 egoI0y^d0X~Z*{L8wQK~z|UwUccVY>=o}P_jZG zAru5cMU`j;s@jrJ8YOAtRCOFVcE0U=*&ffl`*m2nXJ_n8Q-b0noq2cWUETTL|2^m2 z|4|}BI~y7rnJ9OZ4-4!!CL0PN#H;U=(kQJ^#diTD2qK~FS{tkhyousZS)~3Fx0^At zqxN!VSLMa;9Dh1g{%mcR-rC!TQX1zh);g?p7;CZC7EgyU`Pdj!JT0r6yLjQ_aQ@tx zY-#cCUmGjSlOcp<;4UzHAArHZ;cr*EyI%asPk+|g-P40}9_Jj^Ig|oWtZlv6Jpv+f zpBrPjer1lS$)hJoVR%AaL%%_Qdf6w&HvU}dlC3Oa1#hp(6gQa z?Vg*M_-eB6iG6sVFZkYx<4jF`JU4&+>gyWi&>D>by@9#_0f7(*fP?@Nu+}w<$rgZP zz=CWDlz(*qwruHn{>cLeI!bAZ_a5go7pA98eR1)F<;AB|P)g#s(af5pX-b+Tq-jE5Z=Wug zJ1Ri5=>SUQ(%j6<3~3URrU^+LGcd4Cm&)aCpkvbkIO~s3PM#x#fYurvX==4vJUCRX z0TtGjpiKbKY&73~=iPrb^Rns?5xz3t{A4dT`1l~V+ia#Fvv-Mt*QmIT@DwC!q;v|n@XC205n5;?G;wHPu~%Pt<(DO`H6nr!e(g>$)?(K#p2DpmTOAvNF_z328jS`E z3-g>l`F=Kk{pyDwO`d*AMAl`~eU#45o`3({!otGomk$5fe0X+}<$4|OJRt-^2zl*a zw}t#esTS7?trc;S(APh}Q{OmP>a28+_xBI|Tq%`4kO2UtRH-($_h_}c{pl!9wk2t* zOQkZa{%J?xy?3A6yC?4L>o1rwT)TROf4=#8{nE_&gVx&rtd`}rdO$=nrPL2DOn;sG z67U6}mxrhWJ4PR`)t48)_w|F{jFkeV6#d%<*}Anaz1h+ABWrK}ki4?C2halIIPh;C zGW}*}rq$@K-NTpXW}hB;Y^TbP2CBo`lewAcF<_5U>Xe9t2d0&XcoDH8Vjj{nYuw-N z+`e@$>Xo9mZyRx%>;xX8h`&dk*MF<#t-n#P*KO->JzKVdumu>VV0F^~SZ8jmtkiv; zGXerhS|Wsy06m)yz&Y=%v6AaU3J_~jB3T`58h{Y8ZmpDR6{(Fz6Rovrows=mSU(WO zQ51p@B=`C2R}hgafT0l7pO}UK!^5?mX&U#DCZtJ{^OhteBrPNsX2D{?T7N8{B)rhS zZLl+hfP{bq;qu%?yS%)37P$JU0IJpMxK29W?d+;Z6vrxxBjPAVYmL$oT0zk$fCwQG zk`NJ+gvfikyLzI>$M&q1@cA3pxI8x#vPSbP@DYW!Yzv@&WMrhAcD(V-vxmC&?i*K1 zsiGfH(9)1e(U61?2oeZBtbg?fxvKU!?^#-2;vav1&EC0n^O$pH0hn&f!1nFiJB{a1 zIZ1wXVB%{%qqSWsGbR@&#YKZ^=?Pl`EZ^z91|`cf?%ck`>zO?vGqf!3= zcn!F-DsI)59Xonc0AR&0CO8fi4qaiy~EW!`qV5+A)#Go^j|c;olNO@w!{Dc N002ovPDHLkV1j>a7P0^U diff --git a/data/themes/classic/splash.png b/data/themes/classic/splash.png index a3b58d5f2cb7e7965b631e479b4f57afa659e619..70c17f8693dd5902bad9a15bd5f991151264e44b 100644 GIT binary patch literal 270022 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 z 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%0Ar|Uz`e%xDk~hi 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 Y7lp@3pfv$_uK)l507*qoM6N<$g3H8uG5`Po literal 333123 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 )7!uRs3y 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%0DE_|`Eh4ya+jRtlMl*6z!#VRJn8#e;jVWy_vd9} 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